[Ffmpeg-cvslog] r8419 - trunk/ffplay.c

Uoti Urpala uoti.urpala
Fri Mar 16 01:28:02 CET 2007

On Fri, 2007-03-16 at 00:39 +0100, michael wrote:
> support reordering pts in the decoder (this might be equivalent to mplayers -correct-pts mode)

It's not equivalent. Adding a mode like this to MPlayer for lavc
decoders and demuxers that are known to output proper pts might be
useful though.

What the current MPlayer code does is basically a reorder buffer to
calculate dts, but one which is not assumed to have a constant size in
advance. pts are added to the buffer when a frame is fed to the decoder
and the smallest pts is taken out when the decoder outputs a frame. The
buffer size has an upper limit based on decoder delay information
(avctx->has_b_frames) to avoid increasing delay in case some input
frames never produce output. This method works even if some demuxer
still reorders pts like the old timing code required, and mostly works
even if a decoder doesn't help tracking pts (perhaps delays frames
unnecessarily if there's no information whether a frame was dropped or
is being delayed - for most decoders it should be possible to at least
add a low upper limit).

More information about the ffmpeg-cvslog mailing list