From 8e5e84c2a2a21a979b48e80c5a8dd44754ab3f21 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 21 Jan 2014 18:31:54 +0100 Subject: [PATCH] avformat/mov: Ignore the last frame for duration and fps calculation if it looks suspect The used heuristic will potentially need to be finetuned Fixes daemon404s fps.mov Signed-off-by: Michael Niedermayer --- libavformat/mov.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 413a508b64..a24df84b54 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1940,6 +1940,12 @@ static int mov_read_stts(MOVContext *c, AVIOContext *pb, MOVAtom atom) av_dlog(c->fc, "sample_count=%d, sample_duration=%d\n", sample_count, sample_duration); + if ( i+1 == entries + && i + && sample_count == 1 + && total_sample_count > 100 + && sample_duration/10 > duration / total_sample_count) + sample_duration = duration / total_sample_count; duration+=(int64_t)sample_duration*sample_count; total_sample_count+=sample_count; }