diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
index 9631b408d1c218546ce91a1cf17bc68bbf0ebb54..26bae0efd73b821d0d71e0555ac0ca5e18c1e84d 100644
--- a/libavfilter/vf_yadif.c
+++ b/libavfilter/vf_yadif.c
@@ -150,7 +150,7 @@ static AVFilterBufferRef *get_video_buffer(AVFilterLink *link, int perms, int w,
 {
     AVFilterBufferRef *picref;
     int width = FFALIGN(w, 32);
-    int height= FFALIGN(h+6, 32);
+    int height= FFALIGN(h+2, 32);
     int i;
 
     picref = avfilter_default_get_video_buffer(link, perms, width, height);
@@ -159,7 +159,7 @@ static AVFilterBufferRef *get_video_buffer(AVFilterLink *link, int perms, int w,
     picref->video->h = h;
 
     for (i = 0; i < 3; i++)
-        picref->data[i] += 3 * picref->linesize[i];
+        picref->data[i] += picref->linesize[i];
 
     return picref;
 }