Use frame linesize in Interplay Video block copying function
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 27 Dec 2009 08:38:07 +0000 (08:38 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 27 Dec 2009 08:38:07 +0000 (08:38 +0000)
Originally committed as revision 20929 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/interplayvideo.c

index 967bb51..d1dbc1a 100644 (file)
@@ -87,7 +87,7 @@ typedef struct IpvideoContext {
 static int copy_from(IpvideoContext *s, AVFrame *src, int delta_x, int delta_y)
 {
     int current_offset = s->pixel_ptr - s->current_frame.data[0];
-    int motion_offset = current_offset + delta_y * s->stride + delta_x;
+    int motion_offset = current_offset + delta_y * s->current_frame.linesize[0] + delta_x;
     if (motion_offset < 0) {
         av_log(s->avctx, AV_LOG_ERROR, " Interplay video: motion offset < 0 (%d)\n", motion_offset);
         return -1;
@@ -96,7 +96,7 @@ static int copy_from(IpvideoContext *s, AVFrame *src, int delta_x, int delta_y)
             motion_offset, s->upper_motion_limit_offset);
         return -1;
     }
-    s->dsp.put_pixels_tab[1][0](s->pixel_ptr, src->data[0] + motion_offset, s->stride, 8);
+    s->dsp.put_pixels_tab[1][0](s->pixel_ptr, src->data[0] + motion_offset, s->current_frame.linesize[0], 8);
     return 0;
 }