[Ffmpeg-devel] [RFC] mp4 object types comments

Måns Rullgård mans
Sat Mar 24 15:44:41 CET 2007


Baptiste Coudurier <baptiste.coudurier at smartjog.com> writes:

> Hi
>
> M?ns Rullg?rd wrote:
>> Baptiste Coudurier <baptiste.coudurier at smartjog.com> writes:
>> 
>>> Hi
>>>
>>> Here are some modifications to mp4 object types Im not sure, can someone
>>> confirm that 13818-3 can be decoded with MP2 id ?
>> 
>> 13818-3 extends 11172-3 (MPEG1 audio) with lower sampling rates and
>> more channels.  An 11172-3 decoder will correctly decode basic stereo
>> from a 13818-3 stream.  There are 3 defined layers corresponding to
>> those in 11172-3.
>> 
>>> Index: libavformat/isom.c
>>> ===================================================================
>>> --- libavformat/isom.c	(revision 8491)
>>> +++ libavformat/isom.c	(working copy)
>>> @@ -25,7 +25,7 @@
>>>  #include "riff.h"
>>>  #include "isom.h"
>>>  
>>> -/* http://gpac.sourceforge.net/tutorial/mediatypes.htm */
>>> +/* http://www.mp4ra.org */
>>>  const AVCodecTag ff_mov_obj_type[] = {
>>>      { CODEC_ID_MPEG4     ,  32 },
>>>      { CODEC_ID_H264      ,  33 },
>> 
>> This hunk is OK, assuming the URL is relevant.
>> 
>>> @@ -39,10 +39,10 @@
>>>      { CODEC_ID_AAC       , 102 }, /* MPEG2 AAC Main */
>>>      { CODEC_ID_AAC       , 103 }, /* MPEG2 AAC Low */
>>>      { CODEC_ID_AAC       , 104 }, /* MPEG2 AAC SSR */
>>> -    { CODEC_ID_MP3       , 105 },
>>> -    { CODEC_ID_MPEG1VIDEO, 106 },
>>> -    { CODEC_ID_MP2       , 107 },
>>> -    { CODEC_ID_MJPEG     , 108 },
>>> +    { CODEC_ID_MP2       , 105 }, /* 13818-3 */
>>> +    { CODEC_ID_MPEG1VIDEO, 106 }, /* 11172-2 */
>>> +    { CODEC_ID_MP3       , 107 }, /* 11172-3 */
>>> +    { CODEC_ID_MJPEG     , 108 }, /* 10918-1 */
>>>      { CODEC_ID_PCM_S16LE , 224 },
>>>      { CODEC_ID_VORBIS    , 221 },
>>>      { CODEC_ID_QCELP     , 225 },
>> 
>> This mixes addition of comments with actual changes.  The added
>> comments are fine.  The changed codec IDs are not.  All MPEG audio
>> should use CODEC_ID_MP3.  Please make it so, but add the other two
>> comments separately.
>
> Yes. About codec_id, are you sure?

See the comment in avcodec.h, line 210.

> Different tags are needed if codec_id is MP2 or MP3, and when stream
> copying codec_id is not changed/altered.

Both 11172-3 and 13818-3 define layers 1, 2 and 3.  The tag does not
specify which layer is used, only which standard, so CODEC_ID_MP3 is
the only safe choice.  As 13818-3 is an extension to 11172-3, it
should really be assigned its own codec_id.  Until we have a decoder
for these extensions, the best choice is to use CODEC_ID_MP3.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list