comparison aac.c @ 7855:9a135b6a1dc7 libavcodec

Correct order of parsing for pulse scalefactor band and offset to match the specification. Patch by Alex Converse (alex converse gmail com)
author superdump
date Sat, 13 Sep 2008 18:47:43 +0000
parents a6afd0f2a849
children 0882c93a0c11
comparison
equal deleted inserted replaced
7854:e5e3c56c358c 7855:9a135b6a1dc7
595 * Decode pulse data; reference: table 4.7. 595 * Decode pulse data; reference: table 4.7.
596 */ 596 */
597 static void decode_pulses(Pulse * pulse, GetBitContext * gb, const uint16_t * swb_offset) { 597 static void decode_pulses(Pulse * pulse, GetBitContext * gb, const uint16_t * swb_offset) {
598 int i; 598 int i;
599 pulse->num_pulse = get_bits(gb, 2) + 1; 599 pulse->num_pulse = get_bits(gb, 2) + 1;
600 pulse->pos[0] = get_bits(gb, 5) + swb_offset[get_bits(gb, 6)]; 600 pulse->pos[0] = swb_offset[get_bits(gb, 6)] + get_bits(gb, 5);
601 pulse->amp[0] = get_bits(gb, 4); 601 pulse->amp[0] = get_bits(gb, 4);
602 for (i = 1; i < pulse->num_pulse; i++) { 602 for (i = 1; i < pulse->num_pulse; i++) {
603 pulse->pos[i] = get_bits(gb, 5) + pulse->pos[i-1]; 603 pulse->pos[i] = get_bits(gb, 5) + pulse->pos[i-1];
604 pulse->amp[i] = get_bits(gb, 4); 604 pulse->amp[i] = get_bits(gb, 4);
605 } 605 }