[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