[NUT-devel] Issues
Oded Shimon
ods15 at ods15.dyndns.org
Fri Mar 3 19:43:50 CET 2006
On Fri, Mar 03, 2006 at 07:21:08PM +0100, Michael Niedermayer wrote:
> Hi
>
> On Fri, Mar 03, 2006 at 07:31:12PM +0200, Oded Shimon wrote:
> > The controversies so far...
> >
> > 1. checksum in frame headers/syncpoints
> > I did very much like the elegance with the syncpoints, however I did not
> > like the hacks in code to accomplish this (frame header parser in
> > find_syncpoint, put_frame using put_syncpoint to a temporary buffer,
> > demuxing frame header is dependant of "saw syncpoint" context).
> > So I have no strong feelings either way with this. I do have a small
> > proposal for overhead reduction in new method (if it's stupid say so and
> > I'll drop it) - has_checksum being implicit by the rules it is manditory
> > for - so you can save frame codes or a byte for coded flags... Come to
> > think of it, the frame header for a frame that needs has_checksum is large
> > already anyway...
>
> iam weakly against the implicit checksum without a flag, why:
> * if by whatever reason a past timestamp is messed up the implicit rule
> would be messed up too
> * no way to add extra checksums if theres no flag
I still intend to have the flag... Just automatically set it on
> > 2. limiting max_distance, max_frame_size
> > I say, keep them VLC, but add a MUST in spec regarding their value... Using
> > 'u(16)' is as silly as using it for the 'tmp_mul' vars in the main header
> > which also have a MUST restriction...
>
> well, iam certainly in favor of MUST restrictions on these values though i
> would prefer choosing a type which makes it impossible to violate the
> restriction
> maybe saying that a (de)muxer MUST treat a value outside the 1...x range as x
> would be a compromise
No objection
> > 3. prefix/compression for frames
> > Not sure if this is an actual controversy, possibly the flamewar going on
> > has nothing to do with this (let's keep mplayer g5926 flames for another
> > mailing list :).
> >
> > I'm quite against the prefix stuff, for a completely other reason - it's a
> > silly complexity for something that does not belong in the container. If
> > you're gonna do this, you might as well compress the frames with bzip2
> > while you're at it. underhead is nice, but not that nice, this will be
> > nothing but a legacy feature in the future...
>
> you think all the new stuff the standard comitees will produce wont
> have redundant startcodes?
Everybody will use Snow! :P
Saddens me that they still haven't been obsoleted...
> > 4. Info frames/streams/packets
> > The first problem: limiting positions where info frames/packets should be
> > Michael you said you're strongly against this, but you also said a muxer
> > should place them sanely and the demuxer should not go crazy looking for
> > them. IMO there should be rules that you can't just put the frames/packets
> > all over the place as you please, and I'd like to find the best ones that
> > stay fully featured while still allowing the demuxer to not have to search
> > everywhere for them.
>
> ok
>
> > Second problem: dump info streams?
> > There is some advantage to this - info frames don't really have stream like
> > behavior, unless you repeat them often. A NUT-aware streaming server could
> > give the info frame relavent to current position just once, and not be
> > wasteful and repeat often or at all... Info streams can work if you put an
> > EOR closely after the frame, but that is not semantically correct...
>
> iam strongly against EOR tricks ...
Yeah I said myself, it's just not right.
> > What I hate about dumping info streams though is some complication to my
> > demuxer api (each call can give a frame or a packet, instead of always a
> > frame), and, if we do dump info streams, I very much want a restriction
> > that info packets that are global (chapter_id >=0 ?) can only come after
> > main headers, and not wherever...
>
> i have no strong oppinion on mainheader-infopacket relative ordering as long
> as it doesnt depend on info packet contents
I'm somewhat confused by that statement.. You mean, you don't mind a rule
"all info packets must come after main headers", but against "all info
packets with X must come after main headers".
Well, OK, how do you feel about:
all info packets must come after main headers
all info frames must be hapter_id < 0
And...
all info frames must have chapter_start<=pts<=chapter_end .
I think these are all the restrictions I'm interested in.
- ods15
More information about the NUT-devel
mailing list