Operands of '+' are not necessarily evaluated in order so r15311 was pointless.
authorRobert Swain <robert.swain@gmail.com>
Sat, 13 Sep 2008 20:22:31 +0000 (20:22 +0000)
committerRobert Swain <robert.swain@gmail.com>
Sat, 13 Sep 2008 20:22:31 +0000 (20:22 +0000)
Splitting the assignment onto two lines should resolve the order issue.

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

libavcodec/aac.c

index ace82ab..0e2db12 100644 (file)
@@ -597,7 +597,8 @@ 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]    = swb_offset[get_bits(gb, 6)] + get_bits(gb, 5);
+    pulse->pos[0]    = swb_offset[get_bits(gb, 6)];
+    pulse->pos[0]   += 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];