[NUT-devel] CVS: main/DOCS/tech mpcf.txt,1.117,1.118
Oded Shimon
ods15 at ods15.dyndns.org
Thu Mar 2 12:25:38 CET 2006
On Thu, Mar 02, 2006 at 11:55:41AM +0100, Michael Niedermayer wrote:
> On Thu, Mar 02, 2006 at 10:38:54AM +0200, Oded Shimon wrote:
> > On Wed, Mar 01, 2006 at 03:19:40PM +0100, Michael Niedermayer CVS wrote:
> > > comments, flames?
> >
> > I'm not strongly against anything here, but it would've been better if you
> > would have showed the patch (and resolved conflicts) before committing... :/
>
> i did post a patch and adapted it based on comments ...
Yes but there was obviously still some controversy over some parts of the
patch when you committed..
> > > +file:
> > > + file_id_string
> > > + while(bytes_left > 8){
> >
> > I'm a bit weirded out by this, In a very extreme and silly example, in a
> > truncated NUT file you could loose the last frame because it (and the
> > frame header) was smaller than 8 bytes...
>
> cut randomly -> u very likely loose something as it has been cut in the middle
> cut after a frame -> why dont you just add 8 zero bytes then too if you
> already do parse things?
> anyway, if you and rich want we could add the thing back in the index but
> before the reserved bytes and store a index packet with 0 syncpoints and
> reserved_bytes always none at the end or do you have a alternative idea?
No real ideas, and I agree that my example was very silly. I just don't
like special casing demuxing right before the end. The demuxer should
always base demuxing on the next startcode/framecode ...
> > > @@ -474,12 +508,15 @@
> > > 1 is_key if set, frame is keyframe
> > > 2 end_of_relevance if set, stream has no relevance on
> > > presentation. (EOR)
> > > + 4 has_checksum if set then the frame header contains a checksum
> >
> > Like I said, this should be a NUT flag...
>
> and i disagree
You lost me on this one.. Is it because of coded_stream_flags ?.. It might
be a good idea to modify that so it can accept NUT flags as well, but
has_checksum is very obviously a NUT flag, not a stream flag..
> > > EOR frames MUST be zero-length and must be set keyframe.
> > > All streams SHOULD end with EOR, where the pts of the EOR indicates the
> > > end presentation time of the final frame.
> > > An EOR set stream is unset by the first content frames.
> > > EOR can only be unset in streams with zero decode_delay .
> > > + has_checksum must be set if the frame is larger then 2*max_distance or its
> >
> > I still feel this should be a seperate variable, the only reason you gave
> > so far against it is that poor demuxers won't be able to decide... And IMO
> > that's a very poor argument...
>
> every additional field adds complexity, what do we gain here with that field?
> personally i would fix max_distance and not store it at all, as i fear people
> will set it to random values
?
if (frame_size > 2*nut->max_distance)
if (frame_size > sc->max_size)
I fail to see the added complexity...
As for what do we gain - more freedom to the muxer, and the ability of
limiting for ex. audio to a very small size and not increasing overhead,
and limiting video to slightly higher to avoid additional overhead...
- ods15
More information about the NUT-devel
mailing list