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

Rich Felker dalias at aerifal.cx
Sat Dec 31 22:30:20 CET 2005


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.

> > Unofrtunately, it's non-trivial to know it in advance with an H.264 file.. 
> > atleast not when remuxing. You'll most likely nees 2-pass.
> 
> hmm, if true that sucks, can any of the x264 devels confirm this? iam too
> lazy to decrypt the h.264 spec ATM and maybe someone already knows the awnser
> 
> btw, mts will need 2pass too if decode delay isnt known

No, upper bound on decode delay is always known and this is all that's
needed. Anyway the encoder always knows the exact mts of a frame as
soon as it outputs it (it's the minimum pts of all frames still
buffered inside the encoder).

> you cant take the minimum PTS of n packets if you dont know some value
> m which is >=n well you know one the whole file (= 2pass)

Right, but you do know an upper bound. There has to be such a bound or
files will be unplayable. Anyway you also need to know the bound with
dts method, so this is not an issue of dts vs mts.

Rich




More information about the MPlayer-dev-eng mailing list