gsm: Move requant_tab table to the gsm tables file
authorDiego Biurrun <diego@biurrun.de>
Sat, 4 Jun 2016 14:53:54 +0000 (16:53 +0200)
committerDiego Biurrun <diego@biurrun.de>
Tue, 7 Jun 2016 11:22:22 +0000 (13:22 +0200)
This avoids duplicating the table in the gsm template file.
Also adjust the table type to uint8_t to save space.

libavcodec/gsmdec_data.c
libavcodec/gsmdec_data.h
libavcodec/gsmdec_template.c

index c9b3183..71f788e 100644 (file)
@@ -26,6 +26,13 @@ const uint16_t ff_gsm_long_term_gain_tab[4] = {
     3277, 11469, 21299, 32767
 };
 
+const uint8_t ff_gsm_requant_tab[4][8] = {
+    { 0 },
+    { 0, 7 },
+    { 0, 2, 5, 7 },
+    { 0, 1, 2, 3, 4, 5, 6, 7 }
+};
+
 const int16_t ff_gsm_dequant_tab[64][8] = {
     {   -28,    -20,    -12,     -4,      4,     12,     20,     28},
     {   -56,    -40,    -24,     -8,      8,     24,     40,     56},
index f5581d5..f301f56 100644 (file)
@@ -38,6 +38,7 @@ typedef struct GSMContext {
 } GSMContext;
 
 extern const uint16_t ff_gsm_long_term_gain_tab[4];
+extern const uint8_t ff_gsm_requant_tab[4][8];
 extern const int16_t ff_gsm_dequant_tab[64][8];
 
 extern const int* const ff_gsm_apcm_bits[][4];
index 0b54dc5..2794bd1 100644 (file)
 #include "gsm.h"
 #include "gsmdec_data.h"
 
-static const int requant_tab[4][8] = {
-    { 0 },
-    { 0, 7 },
-    { 0, 2, 5, 7 },
-    { 0, 1, 2, 3, 4, 5, 6, 7 }
-};
-
 static void apcm_dequant_add(GetBitContext *gb, int16_t *dst, const int *frame_bits)
 {
     int i, val;
@@ -42,7 +35,7 @@ static void apcm_dequant_add(GetBitContext *gb, int16_t *dst, const int *frame_b
     const int16_t *tab = ff_gsm_dequant_tab[maxidx];
     for (i = 0; i < 13; i++) {
         val = get_bits(gb, frame_bits[i]);
-        dst[3*i] += tab[requant_tab[frame_bits[i]][val]];
+        dst[3 * i] += tab[ff_gsm_requant_tab[frame_bits[i]][val]];
     }
 }