ffmpeg: use framerate not fieldrate as filter input.
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 14 Oct 2012 22:14:43 +0000 (00:14 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 14 Oct 2012 22:40:36 +0000 (00:40 +0200)
Fixes a problem described in Ticket1065

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg_filter.c

index 436cdf2..d0f25d8 100644 (file)
@@ -558,6 +558,13 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
     int pad_idx = in->pad_idx;
     int ret;
 
+    if (!ist->framerate.num) {
+        AVRational codec_fr = av_inv_q(ist->st->codec->time_base);
+        codec_fr.den *= ist->st->codec->ticks_per_frame;
+        if(av_q2d(codec_fr) < av_q2d(fr)*0.7)
+            fr = codec_fr;
+    }
+
     if (ist->st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) {
         ret = sub2video_prepare(ist);
         if (ret < 0)