[MPlayer-dev-eng] Lots of stuff for NUT

Michael Niedermayer michaelni at gmx.at
Sat Dec 31 22:54:16 CET 2005


Hi

On Sat, Dec 31, 2005 at 04:30:20PM -0500, Rich Felker wrote:
> On Sat, Dec 31, 2005 at 09:34:03PM +0100, Michael Niedermayer wrote:
> > > > hmm, why not simply make larger decode_delay illegal?
> 
> Impossible; it's not known. What if I set B frame strategy to 1, and
> the encoder decides never to use a B frame? Then my file is illegal!
> Or, even if it does eventually use a B frame, the partly written file
> is illegal until it gets to the B frame. Any law that can only be
> evaluated by looking globally at the file rather than locally at all
> parts is inherently broken.

no, thats wrong, in mpeg1/2/4 theres a flag (low_delay) in the header 
which specifies the delay, if low_delay=0 b frames are allowed but even if
there are none the delay is still 1 not 0, having the demuxer produce 
dts=pts frames in this case is _wrong_

furthermore using mts ordering does not remove the need to know decode
delay exactly as decode_delay is needed for calculating DTS

PTS:                56789
DTS decode_delay=0  56789
DTS decode_delay=1  45678
DTS decode_delay=2  34567

[...]
-- 
Michael




More information about the MPlayer-dev-eng mailing list