[NUT-devel] r20926 - trunk/DOCS/tech/nut.txt

Oded Shimon ods15 at ods15.dyndns.org
Wed Nov 15 20:22:05 CET 2006


On Wed, Nov 15, 2006 at 04:50:13PM +0100, Michael Niedermayer wrote:
> Hi
> 
> On Wed, Nov 15, 2006 at 01:47:07PM -0000, Måns Rullgård wrote:
> [...]
> > >> I wasn't aware that NUT was intended exclusively for software decoders
> > >> with huge buffers.
> > >>
> > >> > additionally having audio and video with arbitrary delay will not reduce
> > >> > the problem but rather make it worse (i think you agree here?)
> > >> >
> > >> > and specifying exactly what delay there should be would again not really
> > >> > change a thing or?
> > >>
> > >> The spec could allow for a constant offset between streams, possibly
> > >> specified in a header field.  I can't think of a case where variable
> > >> delay would make sense.
> > >
> > > and a constant delay (which doesnt match _your_ decoder) would help?
> > > how? or should every nut file contain a arbitrary delay at the users
> > > discretion, mpeg doesnt do that either it specifies the vbv rules
> > > and decoders be it hw or sw are then designed to somehow demux and
> > > decode the result, if they need extra buffering to deal with it
> > > (every sw decoder i know of does) so be it
> > 
> > These cheap hardware decoders will of course not be able to handle *any*
> > stream.  The difference between MPEG and NUT is that it is possible to
> > create a valid MPEG stream with the necessary constraints.  The data sheet
> > for a decoder tells you what the requirements are, and you can then make
> > sure that the streams meet those requirements, or choose a decoder that
> > can handle your streams.
> > 
> > MPEG is often used in closed systems, or in systems will very well defined
> > constraints.  I see no reason why (a future, complete) NUT wouldn't be
> > suitable as a base format in such systems.
> 
> well, is the dts ordering the only thing preventing use of nut in such
> a system?
> would addition of a delay field to each stream header which would then
> be added to all timestamps in that stream solve the issue?
> would a maximum 250ms on such a field be enough?
> and some additional rule like delay MUST be 0 unless the file is encoded
> for a specific specification requireing a larger delay?

BTW, I'm against this - if nothing else, we spent a lot of time 
calculating and figuring out the syncpoint stuff to make sure exact 
seeking always works. If we did this, we'd have to revisit the issue and 
make sure nothing breaks. BTW, a fake large decode_delay for the audio 
stream causes an audio preload. but it is ofcourse illegal.

- ods15



More information about the NUT-devel mailing list