ac3enc: remove right shifting from lshift_tab() and make lshift unsigned.
authorJustin Ruggles <justin.ruggles@gmail.com>
Thu, 10 Feb 2011 21:15:01 +0000 (21:15 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 11 Feb 2011 01:54:10 +0000 (02:54 +0100)
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d4582889eefeee4dd23face9e74b2829dbaaeae5)

libavcodec/ac3enc_fixed.c

index 90e148b..ff400b8 100644 (file)
@@ -286,19 +286,15 @@ static int log2_tab(int16_t *tab, int n)
  * Left-shift each value in an array by a specified amount.
  * @param tab    input array
  * @param n      number of values in the array
- * @param lshift left shift amount. a negative value means right shift.
+ * @param lshift left shift amount
  */
-static void lshift_tab(int16_t *tab, int n, int lshift)
+static void lshift_tab(int16_t *tab, int n, unsigned int lshift)
 {
     int i;
 
     if (lshift > 0) {
         for (i = 0; i < n; i++)
             tab[i] <<= lshift;
-    } else if (lshift < 0) {
-        lshift = -lshift;
-        for (i = 0; i < n; i++)
-            tab[i] >>= lshift;
     }
 }