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
pull/126/head
Justin Ruggles 16 years ago
parent 8bc98ba92b
commit ffc2b3412c
  1. 21
      libavcodec/ac3dec_data.c
  2. 2
      libavcodec/ac3dec_data.h

@ -87,18 +87,19 @@ const int16_t ff_eac3_gaq_remap_2_4_a[9][2] = {
/** /**
* Table E3.6, Gk=2 & Gk=4, B * Table E3.6, Gk=2 & Gk=4, B
* Large mantissa inverse quantization, negative mantissa remapping offsets * 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] * ff_eac3_gaq_remap_3_4_b[hebap-8][Gk=2,4]
*/ */
const int16_t ff_eac3_gaq_remap_2_4_b[9][2] = { const int8_t ff_eac3_gaq_remap_2_4_b[9][2] = {
{ -5461, -1170}, { -22, -5 },
{ -11703, -4915}, { -46, -20 },
{ -14199, -6606}, { -56, -26 },
{ -15327, -7412}, { -60, -29 },
{ -15864, -7805}, { -62, -31 },
{ -16126, -7999}, { -63, -32 },
{ -16255, -8096}, { -64, -32 },
{ -16320, -8144}, { -64, -32 },
{ -16352, -8168} { -64, -32 },
}; };
static const int16_t vq_hebap1[4][6] = { static const int16_t vq_hebap1[4][6] = {

@ -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 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_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_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 int16_t (*ff_eac3_vq_hebap[8])[6];
extern const uint8_t ff_eac3_frm_expstr[32][6]; extern const uint8_t ff_eac3_frm_expstr[32][6];

Loading…
Cancel
Save