aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2008-08-25 00:15:29 +0000
committerJustin Ruggles <justin.ruggles@gmail.com>2008-08-25 00:15:29 +0000
commitffc2b3412c8e18edf8f57e0469099b9817f1ab54 (patch)
treee200ccccced4d4e15849773c075816aa8e6598b7
parent8bc98ba92b5c3df4180bc09393a6e3517467fe76 (diff)
downloadffmpeg-ffc2b3412c8e18edf8f57e0469099b9817f1ab54.tar.gz
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
-rw-r--r--libavcodec/ac3dec_data.c21
-rw-r--r--libavcodec/ac3dec_data.h2
2 files changed, 12 insertions, 11 deletions
diff --git a/libavcodec/ac3dec_data.c b/libavcodec/ac3dec_data.c
index a04bbc0c53..bb688bc1bf 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 19c5f462a0..7f4e9d52ac 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];