From d4582889eefeee4dd23face9e74b2829dbaaeae5 Mon Sep 17 00:00:00 2001
From: Justin Ruggles <justin.ruggles@gmail.com>
Date: Thu, 10 Feb 2011 21:15:01 +0000
Subject: [PATCH] ac3enc: remove right shifting from lshift_tab() and make
 lshift unsigned.

Signed-off-by: Mans Rullgard <mans@mansr.com>
---
 libavcodec/ac3enc_fixed.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c
index 90e148b9496..ff400b8aaff 100644
--- a/libavcodec/ac3enc_fixed.c
+++ b/libavcodec/ac3enc_fixed.c
@@ -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;
     }
 }
 
-- 
GitLab