Mercurial > libavcodec.hg
diff ac3dec_data.c @ 8136:3085502c4f33 libavcodec
add support for spectral extension
| author | jbr |
|---|---|
| date | Thu, 13 Nov 2008 03:18:13 +0000 |
| parents | dc1a7a6ec58d |
| children | f17b1eb9ccd1 |
line wrap: on
line diff
--- a/ac3dec_data.c Thu Nov 13 03:18:07 2008 +0000 +++ b/ac3dec_data.c Thu Nov 13 03:18:13 2008 +0000 @@ -1127,6 +1127,52 @@ 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
