Mercurial > libavcodec.hg
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 } |