[SCM] libav/experimental: In yadif filter, use current frame when previous is missing, better results for the first frame

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:16:14 UTC 2013


The following commit has been merged in the experimental branch:
commit 48f7f29f52f3eeff2b200943834ac1e7461536e7
Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
Date:   Sun Sep 26 00:56:26 2010 +0000

    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

diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
index 96cf73a..fe4cb96 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);
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list