From ffc2b3412c8e18edf8f57e0469099b9817f1ab54 Mon Sep 17 00:00:00 2001
From: Justin Ruggles <justin.ruggles@gmail.com>
Date: Mon, 25 Aug 2008 00:15:29 +0000
Subject: [PATCH] right shift the values by 8 in GAQ remap "B" table. data now
 fits in int8_t.

Originally committed as revision 14958 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/ac3dec_data.c | 21 +++++++++++----------
 libavcodec/ac3dec_data.h |  2 +-
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/libavcodec/ac3dec_data.c b/libavcodec/ac3dec_data.c
index a04bbc0c53e..bb688bc1bf4 100644
--- a/libavcodec/ac3dec_data.c
+++ b/libavcodec/ac3dec_data.c
@@ -87,18 +87,19 @@ const int16_t ff_eac3_gaq_remap_2_4_a[9][2] = {
 /**
  * Table E3.6, Gk=2 & Gk=4, B
  * Large mantissa inverse quantization, negative mantissa remapping offsets
+ * Table values from the spec are right-shifted by 8 to simplify calculations.
  * ff_eac3_gaq_remap_3_4_b[hebap-8][Gk=2,4]
  */
-const int16_t ff_eac3_gaq_remap_2_4_b[9][2] = {
-    {  -5461, -1170},
-    { -11703, -4915},
-    { -14199, -6606},
-    { -15327, -7412},
-    { -15864, -7805},
-    { -16126, -7999},
-    { -16255, -8096},
-    { -16320, -8144},
-    { -16352, -8168}
+const int8_t ff_eac3_gaq_remap_2_4_b[9][2] = {
+    { -22,  -5 },
+    { -46, -20 },
+    { -56, -26 },
+    { -60, -29 },
+    { -62, -31 },
+    { -63, -32 },
+    { -64, -32 },
+    { -64, -32 },
+    { -64, -32 },
 };
 
 static const int16_t vq_hebap1[4][6] = {
diff --git a/libavcodec/ac3dec_data.h b/libavcodec/ac3dec_data.h
index 19c5f462a0f..7f4e9d52ac3 100644
--- a/libavcodec/ac3dec_data.h
+++ b/libavcodec/ac3dec_data.h
@@ -29,7 +29,7 @@ extern const uint8_t ff_eac3_hebap_tab[64];
 extern const uint8_t ff_eac3_bits_vs_hebap[20];
 extern const int16_t ff_eac3_gaq_remap_1[12];
 extern const int16_t ff_eac3_gaq_remap_2_4_a[9][2];
-extern const int16_t ff_eac3_gaq_remap_2_4_b[9][2];
+extern const int8_t  ff_eac3_gaq_remap_2_4_b[9][2];
 
 extern const int16_t (*ff_eac3_vq_hebap[8])[6];
 extern const uint8_t ff_eac3_frm_expstr[32][6];
-- 
GitLab