lavfi/pad: fix horizontal/vertical shift confusion.
authorClément Bœsch <ubitux@gmail.com>
Mon, 18 Mar 2013 07:51:55 +0000 (08:51 +0100)
committerClément Bœsch <ubitux@gmail.com>
Mon, 18 Mar 2013 07:51:55 +0000 (08:51 +0100)
libavfilter/vf_pad.c

index 3f4a4f0..4e1e3b0 100644 (file)
@@ -282,7 +282,7 @@ static int buffer_needs_copy(PadContext *s, AVFrame *frame, AVBufferRef *buf)
         int vsub = s->draw.vsub[planes[i]];
 
         uint8_t *start = frame->data[planes[i]];
-        uint8_t *end   = start + (frame->height >> hsub) *
+        uint8_t *end   = start + (frame->height >> vsub) *
                                  frame->linesize[planes[i]];
 
         /* amount of free space needed before the start and after the end
@@ -301,9 +301,9 @@ static int buffer_needs_copy(PadContext *s, AVFrame *frame, AVBufferRef *buf)
 
 #define SIGN(x) ((x) > 0 ? 1 : -1)
         for (j = 0; j < FF_ARRAY_ELEMS(planes) && planes[j] >= 0; j++) {
-            int hsub1 = s->draw.hsub[planes[j]];
+            int vsub1 = s->draw.vsub[planes[j]];
             uint8_t *start1 = frame->data[planes[j]];
-            uint8_t *end1   = start1 + (frame->height >> hsub1) *
+            uint8_t *end1   = start1 + (frame->height >> vsub1) *
                                        frame->linesize[planes[j]];
             if (i == j)
                 continue;