changeset 7891:13ee9bb85721 libavcodec

Zero 'idx' for each iteration of the coupling gain loop and as it is only used within this loop, we can move its declaration there too. This fixes bitstream desync when decoding streams containing CCEs. Based on a patch by Alex Converse (alex converse gmail com)
author superdump
date Thu, 18 Sep 2008 16:02:51 +0000
parents 20dd4e5e5aa6
children 59e42f624d4d
files aac.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/aac.c	Thu Sep 18 15:48:37 2008 +0000
+++ b/aac.c	Thu Sep 18 16:02:51 2008 +0000
@@ -950,7 +950,7 @@
  */
 static int decode_cce(AACContext * ac, GetBitContext * gb, ChannelElement * che) {
     int num_gain = 0;
-    int c, g, sfb, ret, idx = 0;
+    int c, g, sfb, ret;
     int sign;
     float scale;
     SingleChannelElement * sce = &che->ch[0];
@@ -985,6 +985,7 @@
         return ret;
 
     for (c = 0; c < num_gain; c++) {
+        int idx = 0;
         int cge = 1;
         int gain = 0;
         float gain_cache = 1.;