[FFmpeg-devel] About guess_correct_pts / AVFrame.best_effort_timestamp

John Cox jc
Wed Feb 16 19:23:56 CET 2011

>On Wed, 16 Feb 2011, M?ns Rullg?rd wrote:
>> A VFR stream obviously needs timestamps.  I'm not aware of any
>> VFR-capable container providing only DTS.  In fact, I'm not aware of
>> _any_ container providing only DTS.  Even if such a container did exist,
>> DTS is not PTS.  PTS can, of course be derived from DTS, decoder delay,
>> and frame reordering, but that is not what any code in ffmpeg does, at
>> least not correctly.
>I'm not sure if any such formats exist though, I'm just trying to make 
>sure my knowledge of the subject is right.
>As far as I understand, DTS'es shouldn't be reordered? The definition I 
>saw is that whatever comes out from an ideal, instanteous decoder, when 
>fed with a packet at time DTS, should be displayed at that particular 

No.  At least not of you are using DTS in the sense it is defined in H.222.  An
"instantaneous decoder" is one that takes no time processing a frame.  A frame
may be delayed or reordered by such a decoder.  If you put a frame in at time
DTS you would expect it to come out at time PTS.  In the decode pipeline DTS
has no useful meaning after the decode stage.


John Cox

More information about the ffmpeg-devel mailing list