📄 l3table.cpp
字号:
/* * l3table.cpp * * Contains tables for MPEG Audio Layer III decoding * * Last modified : 08/02/97 */#include "all.h"#include "l3table.h"
#ifdef __WIN32__
#pragma warning (disable: 4305)
#endif
extern int32 slen[2][16] ={ {0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4}, {0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3}};extern int32 pretab[22] ={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0};extern struct SBI sfBandIndex[6] ={ {{0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576}, {0,4,8,12,18,24,32,42,56,74,100,132,174,192}}, {{0,6,12,18,24,30,36,44,54,66,80,96,114,136,162,194,232,278,330,394,464,540,576}, {0,4,8,12,18,26,36,48,62,80,104,136,180,192}}, {{0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576}, {0,4,8,12,18,26,36,48,62,80,104,134,174,192}}, {{0,4,8,12,16,20,24,30,36,44,52,62,74,90,110,134,162,196,238,288,342,418,576}, {0,4,8,12,16,22,30,40,52,66,84,106,136,192}}, {{0,4,8,12,16,20,24,30,36,42,50,60,72,88,106,128,156,190,230,276,330,384,576}, {0,4,8,12,16,22,28,38,50,64,80,100,126,192}}, {{0,4,8,12,16,20,24,30,36,44,54,66,82,102,126,156,194,240,296,364,448,550,576}, {0,4,8,12,16,22,30,42,58,78,104,138,180,192}}};extern real two_to_negative_half_pow[64] ={ 1.0000000000E+00f, 7.0710678119E-01f, 5.0000000000E-01f, 3.5355339059E-01f, 2.5000000000E-01f, 1.7677669530E-01f, 1.2500000000E-01f, 8.8388347648E-02f, 6.2500000000E-02f, 4.4194173824E-02f, 3.1250000000E-02f, 2.2097086912E-02f, 1.5625000000E-02f, 1.1048543456E-02f, 7.8125000000E-03f, 5.5242717280E-03f, 3.9062500000E-03f, 2.7621358640E-03f, 1.9531250000E-03f, 1.3810679320E-03f, 9.7656250000E-04f, 6.9053396600E-04f, 4.8828125000E-04f, 3.4526698300E-04f, 2.4414062500E-04f, 1.7263349150E-04f, 1.2207031250E-04f, 8.6316745750E-05f, 6.1035156250E-05f, 4.3158372875E-05f, 3.0517578125E-05f, 2.1579186438E-05f, 1.5258789062E-05f, 1.0789593219E-05f, 7.6293945312E-06f, 5.3947966094E-06f, 3.8146972656E-06f, 2.6973983047E-06f, 1.9073486328E-06f, 1.3486991523E-06f, 9.5367431641E-07f, 6.7434957617E-07f, 4.7683715820E-07f, 3.3717478809E-07f, 2.3841857910E-07f, 1.6858739404E-07f, 1.1920928955E-07f, 8.4293697022E-08f, 5.9604644775E-08f, 4.2146848511E-08f, 2.9802322388E-08f, 2.1073424255E-08f, 1.4901161194E-08f, 1.0536712128E-08f, 7.4505805969E-09f, 5.2683560639E-09f, 3.7252902985E-09f, 2.6341780319E-09f, 1.8626451492E-09f, 1.3170890160E-09f, 9.3132257462E-10f, 6.5854450798E-10f, 4.6566128731E-10f, 3.2927225399E-10f};extern real t_43[8192] ={ 0.000000, 1.000000, 2.519842, 4.326749, 6.349604, 8.549880, 10.902724, 13.390518, 16.000000, 18.720754, 21.544347, 24.463781, 27.473142, 30.567351, 33.741992, 36.993181, 40.317474, 43.711787, 47.173345, 50.699631, 54.288352, 57.937408, 61.644865, 65.408941, 69.227979, 73.100443, 77.024898, 81.000000, 85.024491, 89.097188, 93.216975, 97.382800, 101.593667, 105.848633, 110.146801, 114.487321, 118.869381, 123.292209, 127.755065, 132.257246, 136.798076, 141.376907, 145.993119, 150.646117, 155.335327, 160.060199, 164.820202, 169.614826, 174.443577, 179.305980, 184.201575, 189.129918, 194.090580, 199.083145, 204.107210, 209.162385, 214.248292, 219.364564, 224.510845, 229.686789, 234.892058, 240.126328, 245.389280, 250.680604, 256.000000, 261.347174, 266.721841, 272.123723, 277.552547, 283.008049, 288.489971, 293.998060, 299.532071, 305.091761, 310.676898, 316.287249, 321.922592, 327.582707, 333.267377, 338.976394, 344.709550, 350.466646, 356.247482, 362.051866, 367.879608, 373.730522, 379.604427, 385.501143, 391.420496, 397.362314, 403.326427, 409.312672, 415.320884, 421.350905, 427.402579, 433.475750, 439.570269, 445.685987, 451.822757, 457.980436, 464.158883, 470.357960, 476.577530, 482.817459, 489.077615, 495.357868, 501.658090, 507.978156, 514.317941, 520.677324, 527.056184, 533.454404, 539.871867, 546.308458, 552.764065, 559.238575, 565.731879, 572.243870, 578.774440, 585.323483, 591.890898, 598.476581, 605.080431, 611.702349, 618.342238, 625.000000, 631.675540, 638.368763, 645.079578, 651.807891, 658.553612, 665.316653, 672.096925, 678.894340, 685.708813, 692.540258, 699.388593, 706.253733, 713.135597, 720.034104, 726.949174, 733.880729, 740.828689, 747.792979, 754.773522, 761.770242, 768.783065, 775.811917, 782.856726, 789.917420, 796.993927, 804.086177, 811.194101, 818.317630, 825.456695, 832.611230, 839.781167, 846.966442, 854.166988, 861.382741, 868.613637, 875.859614, 883.120608, 890.396558, 897.687403, 904.993081, 912.313534, 919.648701, 926.998523, 934.362944, 941.741904, 949.135347, 956.543216, 963.965455, 971.402010, 978.852824, 986.317844, 993.797016, 1001.290286, 1008.797602, 1016.318911, 1023.854161, 1031.403302, 1038.966281, 1046.543049, 1054.133555, 1061.737750, 1069.355585, 1076.987011, 1084.631981, 1092.290445, 1099.962357, 1107.647670, 1115.346337, 1123.058312, 1130.783550, 1138.522004, 1146.273630, 1154.038383, 1161.816220, 1169.607095, 1177.410967, 1185.227790, 1193.057524, 1200.900125, 1208.755551, 1216.623760, 1224.504712, 1232.398364, 1240.304677, 1248.223610, 1256.155123, 1264.099175, 1272.055728, 1280.024742, 1288.006179, 1296.000000, 1304.006166, 1312.024641, 1320.055385, 1328.098362, 1336.153535, 1344.220866, 1352.300320, 1360.391859, 1368.495449, 1376.611053, 1384.738635, 1392.878162, 1401.029597, 1409.192905, 1417.368054, 1425.555007, 1433.753732, 1441.964195, 1450.186361, 1458.420199, 1466.665675, 1474.922755, 1483.191409, 1491.471603, 1499.763305, 1508.066484, 1516.381107, 1524.707144, 1533.044563, 1541.393333, 1549.753423, 1558.124804, 1566.507443, 1574.901312, 1583.306381, 1591.722619, 1600.149996, 1608.588485, 1617.038055, 1625.498677, 1633.970323, 1642.452964, 1650.946572, 1659.451118, 1667.966574, 1676.492913, 1685.030106, 1693.578126, 1702.136946, 1710.706539, 1719.286878, 1727.877935, 1736.479684, 1745.092099, 1753.715153, 1762.348820, 1770.993074, 1779.647889, 1788.313239, 1796.989100, 1805.675444, 1814.372248, 1823.079487, 1831.797134, 1840.525165, 1849.263556, 1858.012283, 1866.771320, 1875.540644, 1884.320231, 1893.110056, 1901.910095, 1910.720326, 1919.540725, 1928.371268, 1937.211932, 1946.062693, 1954.923530, 1963.794418, 1972.675336, 1981.566261, 1990.467169, 1999.378040, 2008.298850, 2017.229578, 2026.170201, 2035.120698, 2044.081047, 2053.051227, 2062.031215, 2071.020990, 2080.020532, 2089.029819, 2098.048830, 2107.077544, 2116.115940, 2125.163998, 2134.221697, 2143.289017, 2152.365936, 2161.452435, 2170.548495, 2179.654093, 2188.769212, 2197.893830, 2207.027929, 2216.171488, 2225.324488, 2234.486909, 2243.658733, 2252.839939, 2262.030510, 2271.230425, 2280.439666, 2289.658214, 2298.886050, 2308.123156, 2317.369513, 2326.625102, 2335.889905, 2345.163905, 2354.447082, 2363.739418, 2373.040896, 2382.351497, 2391.671205, 2401.000000, 2410.337866, 2419.684784, 2429.040737, 2438.405709, 2447.779680, 2457.162635, 2466.554556, 2475.955426, 2485.365228, 2494.783945, 2504.211560, 2513.648057, 2523.093418, 2532.547627, 2542.010668, 2551.482524, 2560.963179, 2570.452617, 2579.950820, 2589.457774, 2598.973461, 2608.497867, 2618.030975, 2627.572769, 2637.123233, 2646.682352, 2656.250110, 2665.826492, 2675.411482, 2685.005064, 2694.607223, 2704.217944, 2713.837212, 2723.465012, 2733.101328, 2742.746145, 2752.399449, 2762.061224, 2771.731456, 2781.410129, 2791.097231, 2800.792744, 2810.496656, 2820.208951, 2829.929616, 2839.658635, 2849.395994, 2859.141679, 2868.895677, 2878.657972, 2888.428550, 2898.207399, 2907.994503, 2917.789849, 2927.593423, 2937.405211, 2947.225199, 2957.053374, 2966.889722, 2976.734230, 2986.586884, 2996.447670, 3006.316576, 3016.193588, 3026.078692, 3035.971875, 3045.873125, 3055.782428, 3065.699771, 3075.625140, 3085.558524, 3095.499909, 3105.449282, 3115.406631, 3125.371943, 3135.345204, 3145.326403, 3155.315526, 3165.312562, 3175.317497, 3185.330320, 3195.351017, 3205.379577, 3215.415987, 3225.460235, 3235.512308, 3245.572195, 3255.639884, 3265.715361, 3275.798616, 3285.889637, 3295.988410, 3306.094926, 3316.209171, 3326.331133, 3336.460802, 3346.598165, 3356.743211, 3366.895929, 3377.056305, 3387.224330, 3397.399991, 3407.583277, 3417.774177, 3427.972680, 3438.178773, 3448.392446, 3458.613687, 3468.842486, 3479.078831, 3489.322711, 3499.574115, 3509.833032, 3520.099451, 3530.373360, 3540.654750, 3550.943609, 3561.239927, 3571.543692, 3581.854894, 3592.173522, 3602.499566, 3612.833015, 3623.173857, 3633.522084, 3643.877683, 3654.240646, 3664.610960, 3674.988617, 3685.373604, 3695.765913, 3706.165533, 3716.572453, 3726.986664, 3737.408154, 3747.836915, 3758.272936, 3768.716206, 3779.166716, 3789.624455, 3800.089415, 3810.561584, 3821.040953, 3831.527512, 3842.021251, 3852.522160, 3863.030230, 3873.545451, 3884.067812, 3894.597305, 3905.133920, 3915.677647, 3926.228477, 3936.786399, 3947.351405, 3957.923485, 3968.502630, 3979.088830, 3989.682075, 4000.282357, 4010.889666, 4021.503992, 4032.125327, 4042.753661, 4053.388986, 4064.031291, 4074.680568, 4085.336807, 4096.000000, 4106.670137, 4117.347210, 4128.031209, 4138.722126, 4149.419951, 4160.124676, 4170.836292, 4181.554789, 4192.280159, 4203.012394, 4213.751484, 4224.497421, 4235.250196, 4246.009800, 4256.776225, 4267.549462, 4278.329502, 4289.116337, 4299.909959, 4310.710358, 4321.517527, 4332.331456, 4343.152138, 4353.979564, 4364.813725, 4375.654614, 4386.502221, 4397.356539, 4408.217559, 4419.085273, 4429.959673, 4440.840751, 4451.728498, 4462.622906, 4473.523967, 4484.431673, 4495.346016, 4506.266988, 4517.194581, 4528.128786, 4539.069597, 4550.017004, 4560.970999, 4571.931576, 4582.898726, 4593.872441, 4604.852714,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -