[Ffmpeg-devel] PTS Confusion (was: ffmpeg-devel Digest, Vol 4, Issue 34)
Sat Jul 16 09:42:21 CEST 2005
On Saturday 16 July 2005 03:16, Kenneth Aafl?y wrote:
> l?rdag 16. juli 2005, 01:04, skrev Michael Niedermayer:
> > the pts of a frame which is output by the decoder is the dts of the
> > packet which has been input and its also the reordered pts of the packet
> > some formats like mpeg also allow these values to have discontinuities
> > which have to be detected and dealt with for example by using
> > AVPacket.duration
> > also note that AVPacket.duration is not always available although it
> > should be available for mpeg1/2 and summing AVPacket.duration over
> > several packets will be inaccurate just in case you are planing to try
> > that ...
> What is inaccurate in adding the duration together?
> Is it not the duration of the frame?
yes and no, duration is calculated based upon the timebase / framerate and the
number of fields in a frame for mpeg1/2, if this is summed up over many it
could be slightly different from the pts/dts values and so it would ruin AV
sync sometimes if you would ignore pts/dts and just use duration
> Currently I'm syncing against the dts value from libavcodec,
> as that is the one with the least sporadic deviations.
libavformat just outputs whats in the file and fills in missing information
where its not too complicated, and its much easier to fill in missing dts
values then missing pts, later would require to read several frames ahead
which currently isnt supported
but using dts is fine for decoding, after all they are identical to the
reordered pts values
PS: no need to CC me, iam subscribed, yes really i cant belive it myself
More information about the ffmpeg-devel