📄 ac3dec_data.c
字号:
/* * AC3 and E-AC3 decoder tables * Copyright (c) 2007 Bartlomiej Wolowiec <bartek.wolowiec@gmail.com> * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *//** * @file ac3dec_data.c * tables taken directly from AC3 spec. */#include "ac3dec_data.h"#include "ac3.h"const uint8_t ff_eac3_hebap_tab[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19,};const uint8_t ff_eac3_bits_vs_hebap[20] = { 0, 2, 3, 4, 5, 7, 8, 9, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16,};/** * Table E3.6, Gk=1 * No gain (Gk=1) inverse quantization, remapping scale factors * ff_eac3_gaq_remap[hebap+8] */const int16_t ff_eac3_gaq_remap_1[12] = { 4681, 2185, 1057, 520, 258, 129, 64, 32, 16, 8, 2, 0};/** * Table E3.6, Gk=2 & Gk=4, A * Large mantissa inverse quantization, remapping scale factors * ff_eac3_gaq_remap_2_4_a[hebap-8][Gk=2,4] */const int16_t ff_eac3_gaq_remap_2_4_a[9][2] = { { -10923, -4681 }, { -14043, -6554 }, { -15292, -7399 }, { -15855, -7802 }, { -16124, -7998 }, { -16255, -8096 }, { -16320, -8144 }, { -16352, -8168 }, { -16368, -8180 }};/** * Table E3.6, Gk=2 & Gk=4, B * Large mantissa inverse quantization, negative mantissa remapping offsets * 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}};static const int16_t vq_hebap1[4][6] = {{ 7167, 4739, 1106, 4269, 10412, 4820},{ -5702, -3187, -14483, -1392, -2027, 849},{ 633, 6199, 7009, -12779, -2306, -2636},{ -1468, -7031, 7592, 10617, -5946, -3062},};static const int16_t vq_hebap2[8][6] = {{ -12073, 608, -7019, 590, 4000, 869},{ 6692, 15689, -6178, -9239, -74, 133},{ 1855, -989, 20596, -2920, -4475, 225},{ -1194, -3901, -821, -6566, -875, -20298},{ -2762, -3181, -4094, -5623, -16945, 9765},{ 1547, 6839, 1980, 20233, -1071, -4986},{ 6221, -17915, -5516, 6266, 358, 1162},{ 3753, -1066, 4283, -3227, 15928, 10186},};static const int16_t vq_hebap3[16][6] = {{ -10028, 20779, 10982, -4560, 798, -68},{ 11050, 20490, -6617, -5342, -1797, -1631},{ 3977, -542, 7118, -1166, 18844, 14678},{ -4320, -96, -7295, -492, -22050, -4277},{ 2692, 5856, 5530, 21862, -7212, -5325},{ -135, -23391, 962, 8115, -644, 382},{ -1563, 3400, -3299, 4693, -6892, 22398},{ 3535, 3030, 7296, 6214, 20476, -12099},{ 57, -6823, 1848, -22349, -5919, 6823},{ -821, -3655, -387, -6253, -1735, -22373},{ -6046, 1586, -18890, -14392, 9214, 705},{ -5716, 264, -17964, 14618, 7921, -337},{ -110, 108, 8, 74, -89, -50},{ 6612, -1517, 21687, -1658, -7949, -246},{ 21667, -6335, -8290, -101, -1349, -22},{ -22003, -6476, 7974, 648, 2054, -331},};static const int16_t vq_hebap4[32][6] = {{ 6636, -4593, 14173, -17297, -16523, 864},{ 3658, 22540, 104, -1763, -84, 6},{ 21580, -17815, -7282, -1575, -2078, -320},{ -2233, 10017, -2728, 14938, -13640, -17659},{ -1564, -17738, -19161, 13735, 2757, 2951},{ 4520, 5510, 7393, 10799, 19231, -13770},{ 399, 2976, -1099, 5013, -1159, 22095},{ 3624, -2359, 4680, -2238, 22702, 3765},{ -4201, -8285, -6810, -12390, -18414, 15382},{ -5198, -6869, -10047, -8364, -16022, -20562},{ -142, -22671, -368, 4391, -464, -13},{ 814, -1118, -1089, -22019, 74, 1553},{ -1618, 19222, -17642, -13490, 842, -2309},{ 4689, 16490, 20813, -15387, -4164, -3968},{ -3308, 11214, -13542, 13599, -19473, 13770},{ 1817, 854, 21225, -966, -1643, -268},{ -2587, -107, -20154, 376, 1174, -304},{ -2919, 453, -5390, 750, -22034, -978},{ -19012, 16839, 10000, -3580, 2211, 1459},{ 1363, -2658, -33, -4067, 1165, -21985},{ -8592, -2760, -17520, -15985, 14897, 1323},{ 652, -9331, 3253, -14622, 12181, 19692},{ -6361, 5773, -15395, 17291, 16590, -2922},{ -661, -601, 1609, 22610, 992, -1045},{ 4961, 9107, 11225, 7829, 16320, 18627},{ -21872, -1433, 138, 1470, -1891, -196},{ -19499, -18203, 11056, -516, 2543, -2249},{ -1196, -17574, 20150, 11462, -401, 2619},{ 4638, -8154, 11891, -15759, 17615, -14955},{ -83, 278, 323, 55, -154, 232},{ 7788, 1462, 18395, 15296, -15763, -1131},};static const int16_t vq_hebap5[128][6] = {{ -3394, -19730, 2963, 9590, 4660, 19673},{ -15665, -6405, 17671, 3860, -8232, -19429},{ 4467, 412, -17873, -8037, 691, -17307},{ 3580, 2363, 6886, 3763, 6379, -20522},{ -17230, -14133, -1396, -23939, 8373, -12537},{ -8073, -21469, -15638, 3214, 8105, -5965},{ 4343, 5169, 2683, -16822, -5146, -16558},{ 6348, -10668, 12995, -25500, -22090, 4091},{ -2880, -8366, -5968, -17158, -2638, 23132},{ -5095, -14281, -22371, 21741, 3689, 2961},{ -2443, -17739, 25155, 2707, 1594, 7},{ -18379, 9010, 4270, 731, -426, -640},{ -23695, 24732, 5642, 612, -308, -964},{ -767, 1268, 225, 1635, 173, 916},{ 5455, 6493, 4902, 10560, 23041, -17140},{ 17219, -21054, -18716, 4936, -3420, 3357},{ -1390, 15488, -21946, -14611, 1339, 542},{ -6866, -2254, -12070, -3075, -19981, -20622},{ -1803, 11775, 1343, 8917, 693, 24497},{ -21610, 9462, 4681, 9254, -7815, 15904},{ -5559, -3018, -9169, -1347, -22547, 12868},{ -366, 5076, -1727, 20427, -283, -2923},{ -1886, -6313, -939, -2081, -1399, 3513},{ -3161, -537, -5075, 11268, 19396, 989},{ 2345, 4153, 5769, -4273, 233, -399},{ -21894, -1138, -16474, 5902, 5488, -3211},{ 10007, -12530, 18829, 20932, -1158, 1790},{ -1165, 5014, -1199, 6415, -8418, -21038},{ 1892, -3534, 3815, -5846, 16427, 20288},{ -2664, -11627, -4147, -18311, -22710, 14848},{ 17256, 10419, 7764, 12040, 18956, 2525},{ -21419, -18685, -10897, 4368, -7051, 4539},{ -1574, 2050, 5760, 24756, 15983, 17678},{ -538, -22867, 11067, 10301, 385, 528},{ -8465, -3025, -16357, -23237, 16491, 3654},{ 5840, 575, 11890, 1947, 25157, 6653},{ 6625, -3516, -1964, 3850, -390, -116},{ 18005, 20900, 14323, -7621, -10922, 11802},{ -4857, -2932, -13334, -7815, 21622, 2267},{ -579, -9431, -748, -21321, 12367, 8265},{ -8317, 1375, -17847, 2921, 9062, 22046},{ 18398, 8635, -1503, -2418, -18295, -14734},{ -2987, 15129, -3331, 22300, 13878, -13639},{ 5874, -19026, 15587, 11350, -20738, 1971},{ 1581, -6955, -21440, 2455, 65, 414},{ 515, -4468, -665, -4672, 125, -19222},{ 21495, -20301, -1872, -1926, -211, -1022},{ 5189, -12250, -1775, -23550, -4546, 5813},{ 321, -6331, 14646, 6975, -1773, 867},{ -13814, 3180, 7927, 444, 19552, 3146},{ -6660, 12252, -1972, 17408, -24280, -12956},{ -745, 14356, -1107, 23742, -9631, -18344},{ 18284, -7909, -7531, 19118, 7721, -12659},{ 1926, 15101, -12848, 2153, 21631, 1864},{ -2130, 23416, 17056, -15597, -1544, 87},{ 8314, -11824, 14581, -20591, 7891, -2099},{ 19600, 22814, -17304, -2040, 285, -3863},{ -8214, -18322, 10724, -13744, -13469, -1666},{ 14351, 4880, -20034, 964, -4221, -180},{ -24598, -16635, 19724, 5925, 4777, 4414},{ -2495, 23493, -16141, 2918, -1038, -2010},{ 18974, -2540, 13343, 1405, -6194, -1136},{ 2489, 13670, 22638, -7311, -129, -2792},{ -13962, 16775, 23012, 728, 3397, 162},{ 3038, 993, 8774, -21969, -6609, 910},{ -12444, -22386, -2626, -5295, 19520, 9872},{ -1911, -18274, -18506, -14962, 4760, 7119},{ 8298, -2978, 25886, 7660, -7897, 1020},{ 6132, 15127, 18757, -24370, -6529, -6627},{ 7924, 12125, -9459, -23962, 5502, 937},{ -17056, -5373, 2522, 327, 1129, -390},{ 15774, 19955, -10380, 11172, -3107, 14853},{ -11904, -8091, -17928, -22287, -17237, -6803},{ -12862, -2172, -6509, 5927, 12458, -22355},{ -497, 322, 1038, -6643, -5404, 20311},{ 1083, -22984, -8494, 12130, -762, 2623},{ 5067, 19712, -1901, -30, -325, 85},{ 987, -5830, 4212, -9030, 9121, -25038},{ -7868, 7284, -12292, 12914, -21592, 20941},{ -1630, -7694, -2187, -8525, -5604, -25196},{ -6668, 388, -22535, 1526, 9082, 193},{ -7867, -22308, 5163, 362, 944, -259},{ 3824, -11850, 7591, -23176, 25342, 23771},{ -10504, 4123, -21111, 21173, 22439, -838},{ -4723, 21795, 6184, -122, 1642, -717},{ 24504, 19887, -2043, 986, 7, -55},{ -27313, -135, 2437, 259, 89, 307},{ 24446, -3873, -5391, -820, -2387, 361},{ 5529, 5784, 18682, 242, -21896, -4003},{ 22304, 4483, 722, -12242, 7570, 15448},{ 8673, 3009, 20437, 21108, -21100, -3080},{ -1132, 2705, -1825, 5420, -785, 18532},{ 16932, -13517, -16509, -14858, -20327, -14221},{ 2219, 1380, 21474, -1128, 327, 83},{ -2177, 21517, -3856, -14180, -204, -2191},{ 953, -9426, 15874, -10710, -3231, 21030},{ -421, -1377, 640, -8239, -20976, 2174},{ 4309, 18514, -9100, -18319, -15518, 3704},{ -5943, 449, -8387, 1075, -22210, -4992},{ 2953, 12788, 18285, 1430, 14937, 21731},{ -2913, 401, -4739, -20105, 1699, -1147},{ 3449, 5241, 8853, 22134, -7547, 1451},{ -2154, 8584, 18120, -15614, 19319, -5991},{ 3501, 2841, 5897, 6397, 8630, 23018},{ 2467, 2956, 379, 5703, -22047, -2189},{ -16963, -594, 18822, -5295, 1640, 774},{ 2896, -1424, 3586, -2292, 19910, -1822},{ -18575, 21219, -14001, -12573, 16466, 635},{ -1998, -19314, -16527, 12208, -16576, -7854},{ -9674, 1012, -21645, 2883, -12712, 2321},{ -1005, 471, -3629, 8045, -11087, 25533},{ 4141, -21472, -2673, 756, -663, -523},{ 6490, 8531, 19289, 18949, 6092, -9347},{ 16965, 24599, 14024, 10072, -536, -10438},{ -8147, 2145, -23028, -17073, 5451, -4401},{ -14873, 20520, -18303, -9717, -11885, -17831},{ -2290, -14120, 2070, 22467, 1671, 725},{ -8538, 14629, 3521, -20577, 6673, 8200},{ 20248, 4410, -1366, -585, 1229, -2449},{ 7467, -7148, 13667, -8246, 22392, -17320},{ -1932, 3875, -9064, -3812, 958, 265},{ -4399, 2959, -15911, 19598, 4954, -1105},{ 18009, -9923, -18137, -3862, 11178, 5821},{ -14596, -1227, 9660, 21619, 11228, -11721},{ -721, -1700, 109, -2142, 61, -6772},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -