# HG changeset patch # User jbr # Date 1219623329 0 # Node ID 880c701c3dcf00e1f8f1b954869696de2813b0e9 # Parent c4b959c09dfffc4394092ad08df1d74f8489c3d1 right shift the values by 8 in GAQ remap "B" table. data now fits in int8_t. diff -r c4b959c09dff -r 880c701c3dcf ac3dec_data.c --- a/ac3dec_data.c Sun Aug 24 22:57:25 2008 +0000 +++ b/ac3dec_data.c Mon Aug 25 00:15:29 2008 +0000 @@ -87,18 +87,19 @@ /** * 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 -r c4b959c09dff -r 880c701c3dcf ac3dec_data.h --- a/ac3dec_data.h Sun Aug 24 22:57:25 2008 +0000 +++ b/ac3dec_data.h Mon Aug 25 00:15:29 2008 +0000 @@ -29,7 +29,7 @@ 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];