From 4257b804e2354db07e66ebfd966d7d13f49c7895 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 21 Mar 2013 13:54:04 +0100 Subject: ffmpeg: Replace -deinterlace (which was broken by the buffer ref stuff) with yadif injection Signed-off-by: Michael Niedermayer --- ffmpeg_filter.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'ffmpeg_filter.c') diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c index 056b1df1c1..654c19d4c3 100644 --- a/ffmpeg_filter.c +++ b/ffmpeg_filter.c @@ -604,6 +604,24 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter, pad_idx = 0; } + if (do_deinterlace) { + AVFilterContext *yadif; + + snprintf(name, sizeof(name), "deinterlace input from stream %d:%d", + ist->file_index, ist->st->index); + if ((ret = avfilter_graph_create_filter(&yadif, + avfilter_get_by_name("yadif"), + name, "", NULL, + fg->graph)) < 0) + return ret; + + if ((ret = avfilter_link(yadif, 0, first_filter, pad_idx)) < 0) + return ret; + + first_filter = yadif; + pad_idx = 0; + } + if ((ret = avfilter_link(ifilter->filter, 0, first_filter, pad_idx)) < 0) return ret; return 0; -- cgit v1.2.3