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 <michaelni@gmx.at>
pull/54/head
Michael Niedermayer 11 years ago
parent 76421982d0
commit 8e5e84c2a2
  1. 6
      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;
}

Loading…
Cancel
Save