[FFmpeg-cvslog] ffmpeg: Improve filter input fps selection heuristic.
Michael Niedermayer
git at videolan.org
Sun Dec 16 05:22:14 CET 2012
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Dec 16 05:09:23 2012 +0100| [718eab527b9af53582c0370e28967e20df991364] | committer: Michael Niedermayer
ffmpeg: Improve filter input fps selection heuristic.
This fixes a broken file that has a incorrect timebase at the codec level.
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=718eab527b9af53582c0370e28967e20df991364
---
ffmpeg_filter.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c
index db95c2f..f550bd4 100644
--- a/ffmpeg_filter.c
+++ b/ffmpeg_filter.c
@@ -562,8 +562,10 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
if (!ist->framerate.num && ist->st->codec->ticks_per_frame>1) {
AVRational codec_fr = av_inv_q(ist->st->codec->time_base);
+ AVRational avg_fr = ist->st->avg_frame_rate;
codec_fr.den *= ist->st->codec->ticks_per_frame;
- if(codec_fr.num>0 && codec_fr.den>0 && av_q2d(codec_fr) < av_q2d(fr)*0.7)
+ if ( codec_fr.num>0 && codec_fr.den>0 && av_q2d(codec_fr) < av_q2d(fr)*0.7
+ && fabs(1.0 - av_q2d(av_div_q(avg_fr, fr)))>0.1)
fr = codec_fr;
}
More information about the ffmpeg-cvslog
mailing list