[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