[MPlayer-dev-eng] NUT cleanup
Rich Felker
dalias at aerifal.cx
Sat Sep 10 00:39:08 CEST 2005
On Fri, Sep 09, 2005 at 10:12:59PM +0200, Michael Niedermayer wrote:
> > 2. Info packet position? Presumably now they can go anywhere, but this
> > doesn't seem useful since we have info streams.. Can we restrict
> > them to go at the beginning right after the main headers, so that
> > the demuxer can actually find them? And at most one info packet per
> > stream, plus at most one global info packet?
>
> i dont like this
then how in the world is the player supposed to find them? the problem
is just like the problem we were having with those stupid gaps... it's
a linear search. and the worst part is, if there's no definitive way
to find the info packet _at startup_, it's impossible for the player
to select the right language the user wants! the result? players will
simply choose not to implement proper stream selection. :((((
as far as i can tell, the info streamtype provides a perfectly good
way to mux time-dependent info packets into the file. if
time-dependent info packets are stored the same as the file-global
info packet at the beginning of the file, it makes it impossible to
repeat the file-global info along with headers for redundancy (it
would appear as if it beloned to a specific time..).
> > B. We can't ever add new "well known" fields to this table, even if
> > we add new standard fields to the NUT spec, since old demuxers
> > won't be able to translate the integer codes to key/type pairs.
> > Even if you don't care about old demuxers knowing the key name,
> > they _MUST_ know the type to know whether to parse the value as
> > "v" or "vb". Thus the savings are limited to the few fields
> > already in the table...
>
> we could add reserved fields or say even == v / odd == vb
But still the demuxer won't be able to map them into names, so the
player won't know what to do with these new fields..
> > IMO it would be much more beneficial to just use short efficient
> > keys (like "lang" instead of "Language", etc.) whenever they're
> > clear.
>
> hmm lets see how much space we loose in worst case, lets assume the
> info packets are repeated every second and we have 1video 1audio 1subtitle
> stream (more wouldnt be realistic for a very low bitrate stream)
> Author,Title,Copyright,Description 35byte/sec
> Encoder,Language,Disposition 3*29byte/sec
> -> 122 byte/sec = 976bit/sec ~ 1kbit/sec iam not so sure this is
> insgnificant for very low bitrate
That's why I said we should shorten the strings to reasonable
abbreviations. Unlike a fixed number<-->longstring mapping, this would
be extensible.
Also 1 second is a very very frequent repetition. Will you really have
such a small video keyframe interval? If so, don't expect to get
tolerable quality with < 100 kbit.
Perhaps I'm not understanding your example and your intent very well,
so could you explain more..?
rich
More information about the MPlayer-dev-eng
mailing list