[FFmpeg-devel] [RFC] Issue with "standard" FPS/timebase detection
Thu Feb 11 10:18:18 CET 2010
In the "101fps" file, tb_unreliable gets triggered because of the
framerate being >= 101. The if(duration_count[i] &&
tb_unreliable(st->codec) code in libavformat then proceeds to run,
resulting in a framerate of 1/12, which obviously doesn't make any
sense whatsoever and is rather broken.
I understand the basic idea behind what the duration error code is
doing, but I don't understand why it's giving such a weird result.
The primary reason seems to be the multiply in double error=
duration_error[i][j] * get_std_framerate(j); , which results in a bias
towards very small framerate values. But even if I remove that, it
still comes up with an extremely weird fps (695/12). Something is off
in the error calculation, but I don't fully understand it enough to
judge what it is.
As this is Michael's code, I figure he can probably offer the best
insight on what's going on here.
More information about the ffmpeg-devel