[FFmpeg-devel] About guess_correct_pts / AVFrame.best_effort_timestamp

Martin Storsjö martin
Wed Feb 16 18:32:59 CET 2011


On Wed, 16 Feb 2011, M?ns Rullg?rd wrote:

> Nicolas George <nicolas.george at normalesup.org> writes:
> 
> > L'octidi 28 pluvi?se, an CCXIX, M?ns Rullg?rd a ?crit?:
> >> AVI doesn't have timestamps, so the first decoded frame has PTS 0, and
> >> the following ones increment it by 1/framerate.  Simple.
> >
> > Are you saying that Mr X should put a special case in his code for AVI?
> 
> No, he should put a special case for no PTS on an input frame:
> 
> pts = frame.pkt_pts != AV_NOPTS_VALUE? frame.pkt_pts : prev_pts + 1/framerate;
> prev_pts = pts;
> 
> This code will always work.

Wouldn't this break for VFR-streams? That is, shouldn't it prefer 
frame.pkt_dts over the calculated pts, if pkt_dts is present (and 
reliable, assuming that all guessing code is disabled).

// Martin



More information about the ffmpeg-devel mailing list