avcodec/ac3enc: Fix invalid shift
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 19 Sep 2019 22:17:06 +0000 (00:17 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 20 Sep 2019 21:26:34 +0000 (23:26 +0200)
Fixes the FATE-tests unknown_layout-ac3, ac3-fixed-encode, ac3-encode
and eac3-encode. It furthermore fixes the ac3-encoder bugs mentioned in
tickets #7994, #8144 and #8159.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/ac3enc.c

index f1c95ce..76872a8 100644 (file)
@@ -1065,7 +1065,7 @@ static int bit_alloc(AC3EncodeContext *s, int snr_offset)
 {
     int blk, ch;
 
 {
     int blk, ch;
 
-    snr_offset = (snr_offset - 240) << 2;
+    snr_offset = (snr_offset - 240) * 4;
 
     reset_block_bap(s);
     for (blk = 0; blk < s->num_blocks; blk++) {
 
     reset_block_bap(s);
     for (blk = 0; blk < s->num_blocks; blk++) {