[Ffmpeg-cvslog] r8212 - trunk/libavformat/movenc.c

Alex Beregszaszi alex
Sun Mar 4 16:21:37 CET 2007


Hi,

> >>>> -    put_be16(pb, track->mode == MODE_MOV ? track->enc->channels : 2); /* Number of channels */
> >>>> -    /* FIXME 8 bit for 'raw ' in mov */
> >>>> -    put_be16(pb, 16); /* Reserved */
> >>>> +    if (track->mode == MODE_MOV) {
> >>>> +        put_be16(pb, track->enc->channels);
> >>>> +        put_be16(pb, 16); /* FIXME 8 bit for 'raw ' in mov */
> >>>> +        put_be16(pb, track->audio_vbr ? -2 : 0); /* compression ID */
> >>>> +    } else { /* reserved for mp4/3gp */
> >>>> +        put_be16(pb, 2);
> >>> I think this should be changed to track->enc->channels and the next
> >>> field to track->enc->bits_per_sample.
> >> NO !!! these fields are reserved for mp4/3gp.
> > 
> > Reserved to be set to 2 or zero? If the former, what happens in a mono
> > 3gp file? Thats just plain broken.
> 
> That's ISO specs period. ISO media is derivated from and NOT mov that's
> all.
> 
> Reserved to be 2. I already spent some time looking at specs.
> Information is somewhere else, like in decoder specific atom (esds, or damr)

This design is similar to Matroska. Hide everything in per-format
extradata headers. Based on that ISO likes such crap, Matroska has a
shiny future.

--
Alex Beregszaszi






More information about the ffmpeg-cvslog mailing list