summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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];