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)