[FFmpeg-devel] [PATCH] lavf: inspect more frames when the time base is unreliable

Måns Rullgård mans
Sat Jan 29 14:41:15 CET 2011

Anssi Hannula <anssi.hannula at iki.fi> writes:

> On 29.01.2011 06:45, M?ns Rullg?rd wrote:
>> Anssi Hannula <anssi.hannula at iki.fi> writes:
>>> 23.976 fps H.264 Matroska files are usually detected as 24 fps
>>> (r_frame_rate) by av_find_stream_info(). Fix that by inspecting the
>>> timestamps of 30 frames instead of just 20 for video codecs with
>>> unreliable time base.
>> In my experience most matroska files have correct timing information
>> in the headers.  It sounds me more like the "clever" estimation code
>> is hallucinating inaccuracies where none exist.
> Yes, the timing information is correct in the headers.
> The timing estimation code is triggered simply because codec_id ==
> CODEC_ID_H264,

So remove that ugly hack, and all will be fine.

> and the timings simply can't be estimated correctly in just 20
> frames by the current algorithm with only millisecond-precision
> timestamps.

Nor should they.  The frame duration from the header should be used.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list