Mercurial > libavcodec.hg
comparison mpeg4audio.c @ 11387:c7ed26e2011f libavcodec
Add support for non-backwards compatible signaled parametric stereo.
This is done without breaking W6132 Annex YYYY draft MP3onMP4 which also uses AOT 29.
Samples:
http://samples.mplayerhq.hu/A-codecs/AAC/aacPlusDecoderCheckPackage_v2.1/bitstreams/File7.3gp
http://samples.mplayerhq.hu/MPEG-4/mp3on4/id5_1.mp4
author | alexc |
---|---|
date | Sun, 07 Mar 2010 17:55:23 +0000 |
parents | 95f3daa991a2 |
children | 2dc5036a8d18 |
comparison
equal
deleted
inserted
replaced
11386:0262869c11a9 | 11387:c7ed26e2011f |
---|---|
86 c->sample_rate = get_sample_rate(&gb, &c->sampling_index); | 86 c->sample_rate = get_sample_rate(&gb, &c->sampling_index); |
87 c->chan_config = get_bits(&gb, 4); | 87 c->chan_config = get_bits(&gb, 4); |
88 if (c->chan_config < FF_ARRAY_ELEMS(ff_mpeg4audio_channels)) | 88 if (c->chan_config < FF_ARRAY_ELEMS(ff_mpeg4audio_channels)) |
89 c->channels = ff_mpeg4audio_channels[c->chan_config]; | 89 c->channels = ff_mpeg4audio_channels[c->chan_config]; |
90 c->sbr = -1; | 90 c->sbr = -1; |
91 if (c->object_type == AOT_SBR) { | 91 if (c->object_type == AOT_SBR || (c->object_type == AOT_PS && |
92 // check for W6132 Annex YYYY draft MP3onMP4 | |
93 !(show_bits(&gb, 3) & 0x03 && !(show_bits(&gb, 9) & 0x3F)))) { | |
92 c->ext_object_type = c->object_type; | 94 c->ext_object_type = c->object_type; |
93 c->sbr = 1; | 95 c->sbr = 1; |
94 c->ext_sample_rate = get_sample_rate(&gb, &c->ext_sampling_index); | 96 c->ext_sample_rate = get_sample_rate(&gb, &c->ext_sampling_index); |
95 c->object_type = get_object_type(&gb); | 97 c->object_type = get_object_type(&gb); |
96 if (c->object_type == AOT_ER_BSAC) | 98 if (c->object_type == AOT_ER_BSAC) |