[FFmpeg-devel] MOV Muxer fix to respect the standard

François Revol revol
Fri May 22 15:33:25 CEST 2009


> >> From what I recall, in many places MOV does use PASCAL strings 
> > > (length 
> >> + non \0), while MP4 changed this to be C strings (\0 terminated), 
> >> which is about the only significant difference (sometimes I 
> > > wondered if 
> >> it's not just to crash MOV parsers).
> >>
> >> I don't have time, but you'll definitely want to check both QT and 
> > > MP4 
> >> specs for this.
> >>     
> >
> > ISO 14496-12 says null-terminated string, and QT says "counted
> > string", so they are incompatible.  Of course, any size/termination 
> > is
> > unnecessary since the string is the last element of the box and the
> > box size is known.  Fools writing specs again...
> >
> >   
> Fortunaletly, the box size is known otherwise any MP4/3GP/MOVdemuxer 
> will fail to parse a file. However, There is a problem if the MOV 
> backend of libavformat really want to be fully compliant with the 
> following standards ISO 14496-12 and MOV.
> What I propose is to generate a correct 'hdlr' box depending on the 
> file 
> format: name handler with PASCAL strings for MOV files and C strings 
> for 
> 3GP/MP4 files.
> 
> What do you think about this?

+1

Fran?ois.



More information about the ffmpeg-devel mailing list