From 48f7f29f52f3eeff2b200943834ac1e7461536e7 Mon Sep 17 00:00:00 2001
From: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Date: Sun, 26 Sep 2010 00:56:26 +0000
Subject: [PATCH] In yadif filter, use current frame when previous is missing,
 better results for the first frame

Originally committed as revision 25202 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavfilter/vf_yadif.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
index 96cf73a3772..fe4cb9601ae 100644
--- a/libavfilter/vf_yadif.c
+++ b/libavfilter/vf_yadif.c
@@ -197,13 +197,12 @@ static void start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
     yadif->cur  = yadif->next;
     yadif->next = picref;
 
-    if (!yadif->prev)
-        yadif->prev = avfilter_get_video_buffer(link, AV_PERM_WRITE | AV_PERM_PRESERVE |
-                                                AV_PERM_REUSE, link->w, link->h);
-
     if(!yadif->cur)
         return;
 
+    if (!yadif->prev)
+        yadif->prev = avfilter_ref_buffer(yadif->cur, AV_PERM_READ);
+
     yadif->out = avfilter_get_video_buffer(ctx->outputs[0], AV_PERM_WRITE | AV_PERM_PRESERVE |
                                        AV_PERM_REUSE, link->w, link->h);
 
-- 
GitLab