Correct order of parsing for pulse scalefactor band and offset to match the
authorAlex Converse <alex.converse@gmail.com>
Sat, 13 Sep 2008 18:47:43 +0000 (18:47 +0000)
committerRobert Swain <robert.swain@gmail.com>
Sat, 13 Sep 2008 18:47:43 +0000 (18:47 +0000)
specification.

Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15311 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/aac.c

index b924e7b..ace82ab 100644 (file)
@@ -597,7 +597,7 @@ static int decode_scalefactors(AACContext * ac, float sf[120], GetBitContext * g
 static void decode_pulses(Pulse * pulse, GetBitContext * gb, const uint16_t * swb_offset) {
     int i;
     pulse->num_pulse = get_bits(gb, 2) + 1;
-    pulse->pos[0]    = get_bits(gb, 5) + swb_offset[get_bits(gb, 6)];
+    pulse->pos[0]    = swb_offset[get_bits(gb, 6)] + get_bits(gb, 5);
     pulse->amp[0]    = get_bits(gb, 4);
     for (i = 1; i < pulse->num_pulse; i++) {
         pulse->pos[i] = get_bits(gb, 5) + pulse->pos[i-1];