diff options
author | Diego Biurrun <diego@biurrun.de> | 2016-06-04 16:53:54 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2016-06-07 13:22:22 +0200 |
commit | 81f769fa129edc51c28285649c2df6da717e718f (patch) | |
tree | 07c0e4d4d0826b9cd82f1daf3ae7de5a3da0c851 | |
parent | 42dc214323637464759354912e18b2bee1884dd1 (diff) | |
download | ffmpeg-81f769fa129edc51c28285649c2df6da717e718f.tar.gz |
gsm: Move requant_tab table to the gsm tables file
This avoids duplicating the table in the gsm template file.
Also adjust the table type to uint8_t to save space.
-rw-r--r-- | libavcodec/gsmdec_data.c | 7 | ||||
-rw-r--r-- | libavcodec/gsmdec_data.h | 1 | ||||
-rw-r--r-- | libavcodec/gsmdec_template.c | 9 |
3 files changed, 9 insertions, 8 deletions
diff --git a/libavcodec/gsmdec_data.c b/libavcodec/gsmdec_data.c index c9b3183a55..71f788e8cc 100644 --- a/libavcodec/gsmdec_data.c +++ b/libavcodec/gsmdec_data.c @@ -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}, diff --git a/libavcodec/gsmdec_data.h b/libavcodec/gsmdec_data.h index f5581d53ba..f301f56079 100644 --- a/libavcodec/gsmdec_data.h +++ b/libavcodec/gsmdec_data.h @@ -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]; diff --git a/libavcodec/gsmdec_template.c b/libavcodec/gsmdec_template.c index 0b54dc54ce..2794bd1132 100644 --- a/libavcodec/gsmdec_template.c +++ b/libavcodec/gsmdec_template.c @@ -28,13 +28,6 @@ #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]]; } } |