Do not copy more data than needed
authorVitor Sessak <vitor1001@gmail.com>
Fri, 15 Feb 2008 21:42:01 +0000 (21:42 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Fri, 15 Feb 2008 21:42:01 +0000 (21:42 +0000)
Commited in SoC by Vitor Sessak on 2008-02-15 21:11:35

Originally committed as revision 12061 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavfilter/avfilter.c

index 2582276..0182e47 100644 (file)
@@ -20,6 +20,7 @@
  */
 
 #include "avfilter.h"
+#include "imgconvert.h"
 
 /** list of registered filters */
 struct FilterList
@@ -261,10 +262,13 @@ void avfilter_draw_slice(AVFilterLink *link, int y, int h)
         }
 
         for(i = 0; i < 4; i ++) {
+            int planew =
+                ff_get_plane_bytewidth(link->format, link->cur_pic->w, i);
+
             if(!src[i]) continue;
 
             for(j = 0; j < h >> (i==0 ? 0 : vsub); j ++) {
-                memcpy(dst[i], src[i], link->cur_pic->linesize[i]);
+                memcpy(dst[i], src[i], planew);
                 src[i] += link->srcpic ->linesize[i];
                 dst[i] += link->cur_pic->linesize[i];
             }