[FFmpeg-cvslog] vsrc_testsrc: do not assume non-padded lines in test_fill_picture()

Stefano Sabatini git at videolan.org
Sun Oct 23 23:56:17 CEST 2011


ffmpeg | branch: master | Stefano Sabatini <stefasab at gmail.com> | Sun Oct 23 23:51:33 2011 +0200| [42d44ec306d0656ace5cea63867f70fa686141cb] | committer: Stefano Sabatini

vsrc_testsrc: do not assume non-padded lines in test_fill_picture()

In particular, fix sliding color bar with padded data, for example with
testsrc,pad=iw+200:ih.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=42d44ec306d0656ace5cea63867f70fa686141cb
---

 libavfilter/vsrc_testsrc.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c
index 2447cb3..47b045a 100644
--- a/libavfilter/vsrc_testsrc.c
+++ b/libavfilter/vsrc_testsrc.c
@@ -283,7 +283,7 @@ static void test_fill_picture(AVFilterContext *ctx, AVFilterBufferRef *picref)
     }
 
     /* draw sliding color line */
-    p = data + picref->linesize[0] * height * 3/4;
+    p0 = p = data + picref->linesize[0] * height * 3/4;
     grad = (256 * test->nb_frame * test->time_base.num / test->time_base.den) %
         GRADIENT_SIZE;
     rgrad = 0;
@@ -311,8 +311,9 @@ static void test_fill_picture(AVFilterContext *ctx, AVFilterBufferRef *picref)
         if (grad >= GRADIENT_SIZE)
             grad -= GRADIENT_SIZE;
     }
+    p = p0;
     for (y = height / 8; y > 0; y--) {
-        memcpy(p, p - picref->linesize[0], 3 * width);
+        memcpy(p+picref->linesize[0], p, 3 * width);
         p += picref->linesize[0];
     }
 



More information about the ffmpeg-cvslog mailing list