]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/ac3dec_data.c
eac3dec: use 16-bit pre-mantissas instead of 24-bit in AHT decoding. it is
[ffmpeg] / libavcodec / ac3dec_data.c
index fb21888c783340c571cc7686a22fb1e60b0545da..b9f98f904e5491175ef4ba30db0866eaf7cd23b2 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 /**
- * @file ac3dec_data.c
+ * @file libavcodec/ac3dec_data.c
  * tables taken directly from the AC-3 spec.
  */
 
@@ -87,19 +87,18 @@ 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 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 },
+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 }
 };
 
 static const int16_t vq_hebap1[4][6] = {
@@ -1127,52 +1126,6 @@ const uint8_t ff_eac3_frm_expstr[32][6] = {
 const uint8_t ff_eac3_default_cpl_band_struct[18] =
 { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1 };
 
- /**
- * Table E2.15 Default Spectral Extension Banding Structure
- */
-const uint8_t ff_eac3_default_spx_band_struct[17] =
-{ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 };
-
-/**
- * Table E.25: Spectral Extension Attenuation Table
- * 24-bit fixed-point version of the floating-point table in the specification.
- * ff_eac3_spx_atten_tab[code][bin]=lrint(pow(1<<(bin+1),(code+1)/-15.0)*(1<<23));
- */
-const int32_t ff_eac3_spx_atten_tab[32][3] = {
-    { 8009792, 7648083, 7302707 },
-    { 7648083, 6972929, 6357376 },
-    { 7302707, 6357376, 5534417 },
-    { 6972929, 5796163, 4817990 },
-    { 6658043, 5284492, 4194304 },
-    { 6357376, 4817990, 3651354 },
-    { 6070287, 4392670, 3178688 },
-    { 5796163, 4004896, 2767209 },
-    { 5534417, 3651354, 2408995 },
-    { 5284492, 3329021, 2097152 },
-    { 5045853, 3035144, 1825677 },
-    { 4817990, 2767209, 1589344 },
-    { 4600417, 2522926, 1383604 },
-    { 4392670, 2300209, 1204498 },
-    { 4194304, 2097152, 1048576 },
-    { 4004896, 1912021,  912838 },
-    { 3824041, 1743232,  794672 },
-    { 3651354, 1589344,  691802 },
-    { 3486464, 1449041,  602249 },
-    { 3329021, 1321123,  524288 },
-    { 3178688, 1204498,  456419 },
-    { 3035144, 1098167,  397336 },
-    { 2898081, 1001224,  345901 },
-    { 2767209,  912838,  301124 },
-    { 2642246,  832255,  262144 },
-    { 2522926,  758786,  228210 },
-    { 2408995,  691802,  198668 },
-    { 2300209,  630732,  172951 },
-    { 2196335,  575052,  150562 },
-    { 2097152,  524288,  131072 },
-    { 2002448,  478005,  114105 },
-    { 1912021,  435808,   99334 }
-};
-
 /**
  * Table of bin locations for rematrixing bands
  * reference: Section 7.5.2 Rematrixing : Frequency Band Definitions