[FFmpeg-devel] About guess_correct_pts / AVFrame.best_effort_timestamp
Wed Feb 16 16:52:30 CET 2011
L'octidi 28 pluvi?se, an CCXIX, M?ns Rullg?rd a ?crit?:
> How did you obtain those timestamps?
The transcode line I pasted plus ffprobe, plus awk to keep only the
timestamps in the output of ffprobe.
> Whatever the answer, they are
> different from the original. They should not be.
The original declares time_base = 1/1000 and frame_rate = 24000/1001.
The transcoded declares time_base = 1/24000, and same frame_rate.
The timestamps in the input are rounded to the insufficient accuracy of its
The timestamps in the output are perfect.
> Good would be equal. These are not equal, and therefore not good.
This is not merely good, this is better: it does not dumbly copies the
timestamps, it unrounds them and restores them to their perfect accuracy.
This is not good, this is better.
> The timestamp of a decoded frame is _exactly_ what the container says it
> is, nothing else.
Except that containers can say it in various ways.
> The current code mangles the values from the
> container in unpredictable ways.
This is not true. Please read the code before making such statements.
> If an API function does something, that something is part of the API.
So if a new function gets committed with a stupid bug, the bug becomes part
of the API and should not be fixed? This is stupid.
The API is what the documentation says.
> There is an "algorithm" where there should be none.
How do you select which one, among the PTS and the DTS from the container,
should be used?
> I did exactly that and convinced several others.
Then why are they still discussing the question with me?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 198 bytes
Desc: Digital signature
More information about the ffmpeg-devel