diff wmadec.c @ 10653:50c21a46538f libavcodec

Fix apparent 10l typos introduced in r8627. These typos moved the exponent pointer too far ahead. Fixes issue1055.
author michael
date Sun, 06 Dec 2009 23:51:51 +0000
parents 559ba9eabaff
children 2dbb341a14ba
line wrap: on
line diff
--- a/wmadec.c	Sun Dec 06 15:39:25 2009 +0000
+++ b/wmadec.c	Sun Dec 06 23:51:51 2009 +0000
@@ -630,7 +630,7 @@
 
                 /* compute power of high bands */
                 exponents = s->exponents[ch] +
-                    (s->high_band_start[bsize]<<bsize);
+                    (s->high_band_start[bsize]<<bsize>>esize);
                 last_high_band = 0; /* avoid warning */
                 for(j=0;j<n1;j++) {
                     n = s->exponent_high_bands[s->frame_len_bits -
@@ -646,11 +646,11 @@
                         last_high_band = j;
                         tprintf(s->avctx, "%d: power=%f (%d)\n", j, exp_power[j], n);
                     }
-                    exponents += n<<bsize;
+                    exponents += n<<bsize>>esize;
                 }
 
                 /* main freqs and high freqs */
-                exponents = s->exponents[ch] + (s->coefs_start<<bsize);
+                exponents = s->exponents[ch] + (s->coefs_start<<bsize>>esize);
                 for(j=-1;j<n1;j++) {
                     if (j < 0) {
                         n = s->high_band_start[bsize] -
@@ -672,7 +672,7 @@
                             *coefs++ =  noise *
                                 exponents[i<<bsize>>esize] * mult1;
                         }
-                        exponents += n<<bsize;
+                        exponents += n<<bsize>>esize;
                     } else {
                         /* coded values + small noise */
                         for(i = 0;i < n; i++) {
@@ -681,7 +681,7 @@
                             *coefs++ = ((*coefs1++) + noise) *
                                 exponents[i<<bsize>>esize] * mult;
                         }
-                        exponents += n<<bsize;
+                        exponents += n<<bsize>>esize;
                     }
                 }