www.pudn.com > g729Decoder.rar > Tab_ld8a.asm
;================================================
; File Name
; ----------
; TAB_LD8K.ASM
;
; Brief Description of the Code:
; ------------------------------
; This file contains all the tables used by the coder.
;
; Ref
; ---
; TAB_LD8a.C
;================================================
.include ../include/const.h
.data
;----------------------------------------------
; Hamming_cos window[240] for LPC analysis.
;----------------------------------------------
HamWindow:
.word 2621, 2623, 2629, 2638, 2651, 2668, 2689, 2713, 2741, 2772
.word 2808, 2847, 2890, 2936, 2986, 3040, 3097, 3158, 3223, 3291
.word 3363, 3438, 3517, 3599, 3685, 3774, 3867, 3963, 4063, 4166
.word 4272, 4382, 4495, 4611, 4731, 4853, 4979, 5108, 5240, 5376
.word 5514, 5655, 5800, 5947, 6097, 6250, 6406, 6565, 6726, 6890
.word 7057, 7227, 7399, 7573, 7750, 7930, 8112, 8296, 8483, 8672
.word 8863, 9057, 9252, 9450, 9650, 9852, 10055, 10261, 10468, 10677
.word 10888, 11101, 11315, 11531, 11748, 11967, 12187, 12409, 12632, 12856
.word 13082, 13308, 13536, 13764, 13994, 14225, 14456, 14688, 14921, 15155
.word 15389, 15624, 15859, 16095, 16331, 16568, 16805, 17042, 17279, 17516
.word 17754, 17991, 18228, 18465, 18702, 18939, 19175, 19411, 19647, 19882
.word 20117, 20350, 20584, 20816, 21048, 21279, 21509, 21738, 21967, 22194
.word 22420, 22644, 22868, 23090, 23311, 23531, 23749, 23965, 24181, 24394
.word 24606, 24816, 25024, 25231, 25435, 25638, 25839, 26037, 26234, 26428
.word 26621, 26811, 26999, 27184, 27368, 27548, 27727, 27903, 28076, 28247
.word 28415, 28581, 28743, 28903, 29061, 29215, 29367, 29515, 29661, 29804
.word 29944, 30081, 30214, 30345, 30472, 30597, 30718, 30836, 30950, 31062
.word 31170, 31274, 31376, 31474, 31568, 31659, 31747, 31831, 31911, 31988
.word 32062, 32132, 32198, 32261, 32320, 32376, 32428, 32476, 32521, 32561
.word 32599, 32632, 32662, 32688, 32711, 32729, 32744, 32755, 32763, 32767
.word 32767, 32741, 32665, 32537, 32359, 32129, 31850, 31521, 31143, 30716
.word 30242, 29720, 29151, 28538, 27879, 27177, 26433, 25647, 24821, 23957
.word 23055, 22117, 21145, 20139, 19102, 18036, 16941, 15820, 14674, 13505
.word 12315, 11106, 9879, 8637, 7381, 6114, 4838, 3554, 2264, 971
;----------------------------------------------------
; Word16 coef[2][2]
; [0][0] [0][1] [1][0] [1][1] */
; Q10 Q14 Q16 Q19 */
;
;----------------------------------------------------
coef:
.word 31881 , 26416
.word 31548 , 27816
;----------------------------------------------------
; [0][0] [0][1] [1][0] [1][1]
; Q26 Q30 Q32 Q35
; Word32 L_coef[2][2] = {
; 2089405952L , 1731217536L
; 2067549984L , 1822990272L }
;
; .word 31881, 52736
; .word 26416, 18560
;
; .word 31548, 20256
; .word 27816, 40896
;----------------------------------------------------
L_coef:
.long 2089405952 , 1731217536
.long 2067549984 , 1822990272
;*-----------------------------------------------------*
;| Table of lag_window for autocorrelation. |
;| noise floor = 1.0001 = (0.9999 on r[1] ..r[10]) |
;| Bandwidth expansion = 60 Hz |
;| |
;| Special double precision format. See "oper_32b.c" |
;| |
;| lag_wind[0] = 1.00000000 (not stored) |
;| lag_wind[1] = 0.99879038 |
;| lag_wind[2] = 0.99546897 |
;| lag_wind[3] = 0.98995781 |
;| lag_wind[4] = 0.98229337 |
;| lag_wind[5] = 0.97252619 |
;| lag_wind[6] = 0.96072036 |
;| lag_wind[7] = 0.94695264 |
;| lag_wind[8] = 0.93131179 |
;| lag_wind[9] = 0.91389757 |
;| lag_wind[10]= 0.89481968 |
;-----------------------------------------------------*/
LagWin:
.long 2144886007, 2137753334, 2125918208, 2109458948, 2088484089
.long 2063131262, 2033565308, 1999976839, 1962580086, 1921610629
LagWin_h:
.word 32728, 32619, 32438, 32187, 31867, 31480, 31029, 30517, 29946, 29321
LagWin_l:
.word 11904, 17280, 30720, 25856, 24192, 28992, 24384, 7360, 19520, 14784
;-----------------------------------------------------
; Tables for function Lsf_lsp() and Lsp_lsf()
;-----------------------------------------------------
;-- table[65] of cos(x) in Q15 --
CosTable:
.word 32767, 32729, 32610, 32413, 32138, 31786, 31357, 30853
.word 30274, 29622, 28899, 28106, 27246, 26320, 25330, 24279
.word 23170, 22006, 20788, 19520, 18205, 16846, 15447, 14010
.word 12540, 11039, 9512, 7962, 6393, 4808, 3212, 1608
.word 0, -1608, -3212, -4808, -6393, -7962, -9512, -11039
.word -12540, -14010, -15447, -16846, -18205, -19520, -20788, -22006
.word -23170, -24279, -25330, -26320, -27246, -28106, -28899, -29622
.word -30274, -30853, -31357, -31786, -32138, -32413, -32610, -32729
.word -32768
;-- slope[64] in Q12 used to compute y = acos(x) --
SlopeACosQ12:
.word -26887, -8812, -5323, -3813, -2979, -2444, -2081, -1811
.word -1608, -1450, -1322, -1219, -1132, -1059, -998, -946
.word -901, -861, -827, -797, -772, -750, -730, -713
.word -699, -687, -677, -668, -662, -657, -654, -652
.word -652, -654, -657, -662, -668, -677, -687, -699
.word -713, -730, -750, -772, -797, -827, -861, -901
.word -946, -998, -1059, -1132, -1219, -1322, -1450, -1608
.word -1811, -2081, -2444, -2979, -3813, -5323, -8812, -26887
;-- slope[64] in Q19 used to compute y = cos(x) --
SlopeCosQ19:
.word -632, -1893, -3150, -4399, -5638, -6863, -8072, -9261
.word -10428, -11570, -12684, -13767, -14817, -15832, -16808, -17744
.word -18637, -19486, -20287, -21039, -21741, -22390, -22986, -23526
.word -24009, -24435, -24801, -25108, -25354, -25540, -25664, -25726
.word -25726, -25664, -25540, -25354, -25108, -24801, -24435, -24009
.word -23526, -22986, -22390, -21741, -21039, -20287, -19486, -18637
.word -17744, -16808, -15832, -14817, -13767, -12684, -11570, -10428
.word -9261, -8072, -6863, -5638, -4399, -3150, -1893, -632
;-- lsp code book <../f7s55m1.v2> --
;-- Word16 lspcb1[NC0][M] ---------------
LspCb1Q13
.word 1486, 2168, 3751, 9074, 12134, 13944, 17983, 19173, 21190, 21820
.word 1730, 2640, 3450, 4870, 6126, 7876, 15644, 17817, 20294, 21902
.word 1568, 2256, 3088, 4874, 11063, 13393, 18307, 19293, 21109, 21741
.word 1733, 2512, 3357, 4708, 6977, 10296, 17024, 17956, 19145, 20350
.word 1744, 2436, 3308, 8731, 10432, 12007, 15614, 16639, 21359, 21913
.word 1786, 2369, 3372, 4521, 6795, 12963, 17674, 18988, 20855, 21640
.word 1631, 2433, 3361, 6328, 10709, 12013, 13277, 13904, 19441, 21088
.word 1489, 2364, 3291, 6250, 9227, 10403, 13843, 15278, 17721, 21451
.word 1869, 2533, 3475, 4365, 9152, 14513, 15908, 17022, 20611, 21411
.word 2070, 3025, 4333, 5854, 7805, 9231, 10597, 16047, 20109, 21834
.word 1910, 2673, 3419, 4261, 11168, 15111, 16577, 17591, 19310, 20265
.word 1141, 1815, 2624, 4623, 6495, 9588, 13968, 16428, 19351, 21286
.word 2192, 3171, 4707, 5808, 10904, 12500, 14162, 15664, 21124, 21789
.word 1286, 1907, 2548, 3453, 9574, 11964, 15978, 17344, 19691, 22495
.word 1921, 2720, 4604, 6684, 11503, 12992, 14350, 15262, 16997, 20791
.word 2052, 2759, 3897, 5246, 6638, 10267, 15834, 16814, 18149, 21675
.word 1798, 2497, 5617, 11449, 13189, 14711, 17050, 18195, 20307, 21182
.word 1009, 1647, 2889, 5709, 9541, 12354, 15231, 18494, 20966, 22033
.word 3016, 3794, 5406, 7469, 12488, 13984, 15328, 16334, 19952, 20791
.word 2203, 3040, 3796, 5442, 11987, 13512, 14931, 16370, 17856, 18803
.word 2912, 4292, 7988, 9572, 11562, 13244, 14556, 16529, 20004, 21073
.word 2861, 3607, 5923, 7034, 9234, 12054, 13729, 18056, 20262, 20974
.word 3069, 4311, 5967, 7367, 11482, 12699, 14309, 16233, 18333, 19172
.word 2434, 3661, 4866, 5798, 10383, 11722, 13049, 15668, 18862, 19831
.word 2020, 2605, 3860, 9241, 13275, 14644, 16010, 17099, 19268, 20251
.word 1877, 2809, 3590, 4707, 11056, 12441, 15622, 17168, 18761, 19907
.word 2107, 2873, 3673, 5799, 13579, 14687, 15938, 17077, 18890, 19831
.word 1612, 2284, 2944, 3572, 8219, 13959, 15924, 17239, 18592, 20117
.word 2420, 3156, 6542, 10215, 12061, 13534, 15305, 16452, 18717, 19880
.word 1667, 2612, 3534, 5237, 10513, 11696, 12940, 16798, 18058, 19378
.word 2388, 3017, 4839, 9333, 11413, 12730, 15024, 16248, 17449, 18677
.word 1875, 2786, 4231, 6320, 8694, 10149, 11785, 17013, 18608, 19960
.word 679, 1411, 4654, 8006, 11446, 13249, 15763, 18127, 20361, 21567
.word 1838, 2596, 3578, 4608, 5650, 11274, 14355, 15886, 20579, 21754
.word 1303, 1955, 2395, 3322, 12023, 13764, 15883, 18077, 20180, 21232
.word 1438, 2102, 2663, 3462, 8328, 10362, 13763, 17248, 19732, 22344
.word 860, 1904, 6098, 7775, 9815, 12007, 14821, 16709, 19787, 21132
.word 1673, 2723, 3704, 6125, 7668, 9447, 13683, 14443, 20538, 21731
.word 1246, 1849, 2902, 4508, 7221, 12710, 14835, 16314, 19335, 22720
.word 1525, 2260, 3862, 5659, 7342, 11748, 13370, 14442, 18044, 21334
.word 1196, 1846, 3104, 7063, 10972, 12905, 14814, 17037, 19922, 22636
.word 2147, 3106, 4475, 6511, 8227, 9765, 10984, 12161, 18971, 21300
.word 1585, 2405, 2994, 4036, 11481, 13177, 14519, 15431, 19967, 21275
.word 1778, 2688, 3614, 4680, 9465, 11064, 12473, 16320, 19742, 20800
.word 1862, 2586, 3492, 6719, 11708, 13012, 14364, 16128, 19610, 20425
.word 1395, 2156, 2669, 3386, 10607, 12125, 13614, 16705, 18976, 21367
.word 1444, 2117, 3286, 6233, 9423, 12981, 14998, 15853, 17188, 21857
.word 2004, 2895, 3783, 4897, 6168, 7297, 12609, 16445, 19297, 21465
.word 1495, 2863, 6360, 8100, 11399, 14271, 15902, 17711, 20479, 22061
.word 2484, 3114, 5718, 7097, 8400, 12616, 14073, 14847, 20535, 21396
.word 2424, 3277, 5296, 6284, 11290, 12903, 16022, 17508, 19333, 20283
.word 2565, 3778, 5360, 6989, 8782, 10428, 14390, 15742, 17770, 21734
.word 2727, 3384, 6613, 9254, 10542, 12236, 14651, 15687, 20074, 21102
.word 1916, 2953, 6274, 8088, 9710, 10925, 12392, 16434, 20010, 21183
.word 3384, 4366, 5349, 7667, 11180, 12605, 13921, 15324, 19901, 20754
.word 3075, 4283, 5951, 7619, 9604, 11010, 12384, 14006, 20658, 21497
.word 1751, 2455, 5147, 9966, 11621, 13176, 14739, 16470, 20788, 21756
.word 1442, 2188, 3330, 6813, 8929, 12135, 14476, 15306, 19635, 20544
.word 2294, 2895, 4070, 8035, 12233, 13416, 14762, 17367, 18952, 19688
.word 1937, 2659, 4602, 6697, 9071, 12863, 14197, 15230, 16047, 18877
.word 2071, 2663, 4216, 9445, 10887, 12292, 13949, 14909, 19236, 20341
.word 1740, 2491, 3488, 8138, 9656, 11153, 13206, 14688, 20896, 21907
.word 2199, 2881, 4675, 8527, 10051, 11408, 14435, 15463, 17190, 20597
.word 1943, 2988, 4177, 6039, 7478, 8536, 14181, 15551, 17622, 21579
.word 1825, 3175, 7062, 9818, 12824, 15450, 18330, 19856, 21830, 22412
.word 2464, 3046, 4822, 5977, 7696, 15398, 16730, 17646, 20588, 21320
.word 2550, 3393, 5305, 6920, 10235, 14083, 18143, 19195, 20681, 21336
.word 3003, 3799, 5321, 6437, 7919, 11643, 15810, 16846, 18119, 18980
.word 3455, 4157, 6838, 8199, 9877, 12314, 15905, 16826, 19949, 20892
.word 3052, 3769, 4891, 5810, 6977, 10126, 14788, 15990, 19773, 20904
.word 3671, 4356, 5827, 6997, 8460, 12084, 14154, 14939, 19247, 20423
.word 2716, 3684, 5246, 6686, 8463, 10001, 12394, 14131, 16150, 19776
.word 1945, 2638, 4130, 7995, 14338, 15576, 17057, 18206, 20225, 20997
.word 2304, 2928, 4122, 4824, 5640, 13139, 15825, 16938, 20108, 21054
.word 1800, 2516, 3350, 5219, 13406, 15948, 17618, 18540, 20531, 21252
.word 1436, 2224, 2753, 4546, 9657, 11245, 15177, 16317, 17489, 19135
.word 2319, 2899, 4980, 6936, 8404, 13489, 15554, 16281, 20270, 20911
.word 2187, 2919, 4610, 5875, 7390, 12556, 14033, 16794, 20998, 21769
.word 2235, 2923, 5121, 6259, 8099, 13589, 15340, 16340, 17927, 20159
.word 1765, 2638, 3751, 5730, 7883, 10108, 13633, 15419, 16808, 18574
.word 3460, 5741, 9596, 11742, 14413, 16080, 18173, 19090, 20845, 21601
.word 3735, 4426, 6199, 7363, 9250, 14489, 16035, 17026, 19873, 20876
.word 3521, 4778, 6887, 8680, 12717, 14322, 15950, 18050, 20166, 21145
.word 2141, 2968, 6865, 8051, 10010, 13159, 14813, 15861, 17528, 18655
.word 4148, 6128, 9028, 10871, 12686, 14005, 15976, 17208, 19587, 20595
.word 4403, 5367, 6634, 8371, 10163, 11599, 14963, 16331, 17982, 18768
.word 4091, 5386, 6852, 8770, 11563, 13290, 15728, 16930, 19056, 20102
.word 2746, 3625, 5299, 7504, 10262, 11432, 13172, 15490, 16875, 17514
.word 2248, 3556, 8539, 10590, 12665, 14696, 16515, 17824, 20268, 21247
.word 1279, 1960, 3920, 7793, 10153, 14753, 16646, 18139, 20679, 21466
.word 2440, 3475, 6737, 8654, 12190, 14588, 17119, 17925, 19110, 19979
.word 1879, 2514, 4497, 7572, 10017, 14948, 16141, 16897, 18397, 19376
.word 2804, 3688, 7490, 10086, 11218, 12711, 16307, 17470, 20077, 21126
.word 2023, 2682, 3873, 8268, 10255, 11645, 15187, 17102, 18965, 19788
.word 2823, 3605, 5815, 8595, 10085, 11469, 16568, 17462, 18754, 19876
.word 2851, 3681, 5280, 7648, 9173, 10338, 14961, 16148, 17559, 18474
.word 1348, 2645, 5826, 8785, 10620, 12831, 16255, 18319, 21133, 22586
.word 2141, 3036, 4293, 6082, 7593, 10629, 17158, 18033, 21466, 22084
.word 1608, 2375, 3384, 6878, 9970, 11227, 16928, 17650, 20185, 21120
.word 2774, 3616, 5014, 6557, 7788, 8959, 17068, 18302, 19537, 20542
.word 1934, 4813, 6204, 7212, 8979, 11665, 15989, 17811, 20426, 21703
.word 2288, 3507, 5037, 6841, 8278, 9638, 15066, 16481, 21653, 22214
.word 2951, 3771, 4878, 7578, 9016, 10298, 14490, 15242, 20223, 20990
.word 3256, 4791, 6601, 7521, 8644, 9707, 13398, 16078, 19102, 20249
.word 1827, 2614, 3486, 6039, 12149, 13823, 16191, 17282, 21423, 22041
.word 1000, 1704, 3002, 6335, 8471, 10500, 14878, 16979, 20026, 22427
.word 1646, 2286, 3109, 7245, 11493, 12791, 16824, 17667, 18981, 20222
.word 1708, 2501, 3315, 6737, 8729, 9924, 16089, 17097, 18374, 19917
.word 2623, 3510, 4478, 5645, 9862, 11115, 15219, 18067, 19583, 20382
.word 2518, 3434, 4728, 6388, 8082, 9285, 13162, 18383, 19819, 20552
.word 1726, 2383, 4090, 6303, 7805, 12845, 14612, 17608, 19269, 20181
.word 2860, 3735, 4838, 6044, 7254, 8402, 14031, 16381, 18037, 19410
.word 4247, 5993, 7952, 9792, 12342, 14653, 17527, 18774, 20831, 21699
.word 3502, 4051, 5680, 6805, 8146, 11945, 16649, 17444, 20390, 21564
.word 3151, 4893, 5899, 7198, 11418, 13073, 15124, 17673, 20520, 21861
.word 3960, 4848, 5926, 7259, 8811, 10529, 15661, 16560, 18196, 20183
.word 4499, 6604, 8036, 9251, 10804, 12627, 15880, 17512, 20020, 21046
.word 4251, 5541, 6654, 8318, 9900, 11686, 15100, 17093, 20572, 21687
.word 3769, 5327, 7865, 9360, 10684, 11818, 13660, 15366, 18733, 19882
.word 3083, 3969, 6248, 8121, 9798, 10994, 12393, 13686, 17888, 19105
.word 2731, 4670, 7063, 9201, 11346, 13735, 16875, 18797, 20787, 22360
.word 1187, 2227, 4737, 7214, 9622, 12633, 15404, 17968, 20262, 23533
.word 1911, 2477, 3915, 10098, 11616, 12955, 16223, 17138, 19270, 20729
.word 1764, 2519, 3887, 6944, 9150, 12590, 16258, 16984, 17924, 18435
.word 1400, 3674, 7131, 8718, 10688, 12508, 15708, 17711, 19720, 21068
.word 2322, 3073, 4287, 8108, 9407, 10628, 15862, 16693, 19714, 21474
.word 2630, 3339, 4758, 8360, 10274, 11333, 12880, 17374, 19221, 19936
.word 1721, 2577, 5553, 7195, 8651, 10686, 15069, 16953, 18703, 19929
;-- Word16 lspcb2[NC1][M] --
LspCb2Q13:
.word -435, -815, -742, 1033, -518, 582, -1201, 829, 86, 385
.word -833, -891, 463, -8, -1251, 1450, 72, -231, 864, 661
.word -1021, 231, -306, 321, -220, -163, -526, -754, -1633, 267
.word 57, -198, -339, -33, -1468, 573, 796, -169, -631, 816
.word 171, -350, 294, 1660, 453, 519, 291, 159, -640, -1296
.word -701, -842, -58, 950, 892, 1549, 715, 527, -714, -193
.word 584, 31, -289, 356, -333, -457, 612, -283, -1381, -741
.word -109, -808, 231, 77, -87, -344, 1341, 1087, -654, -569
.word -859, 1236, 550, 854, 714, -543, -1752, -195, -98, -276
.word -877, -954, -1248, -299, 212, -235, -728, 949, 1517, 895
.word -77, 344, -620, 763, 413, 502, -362, -960, -483, 1386
.word -314, -307, -256, -1260, -429, 450, -466, -108, 1010, 2223
.word 711, 693, 521, 650, 1305, -28, -378, 744, -1005, 240
.word -112, -271, -500, 946, 1733, 271, -15, 909, -259, 1688
.word 575, -10, -468, -199, 1101, -1011, 581, -53, -747, 878
.word 145, -285, -1280, -398, 36, -498, -1377, 18, -444, 1483
.word -1133, -835, 1350, 1284, -95, 1015, -222, 443, 372, -354
.word -1459, -1237, 416, -213, 466, 669, 659, 1640, 932, 534
.word -15, 66, 468, 1019, -748, 1385, -182, -907, -721, -262
.word -338, 148, 1445, 75, -760, 569, 1247, 337, 416, -121
.word 389, 239, 1568, 981, 113, 369, -1003, -507, -587, -904
.word -312, -98, 949, 31, 1104, 72, -141, 1465, 63, -785
.word 1127, 584, 835, 277, -1159, 208, 301, -882, 117, -404
.word 539, -114, 856, -493, 223, -912, 623, -76, 276, -440
.word 2197, 2337, 1268, 670, 304, -267, -525, 140, 882, -139
.word -1596, 550, 801, -456, -56, -697, 865, 1060, 413, 446
.word 1154, 593, -77, 1237, -31, 581, -1037, -895, 669, 297
.word 397, 558, 203, -797, -919, 3, 692, -292, 1050, 782
.word 334, 1475, 632, -80, 48, -1061, -484, 362, -597, -852
.word -545, -330, -429, -680, 1133, -1182, -744, 1340, 262, 63
.word 1320, 827, -398, -576, 341, -774, -483, -1247, -70, 98
.word -163, 674, -11, -886, 531, -1125, -265, -242, 724, 934
;-- Word16 fg[2][MA_NP][M], Q15 --
;fg:
; .word 8421, 9109, 9175, 8965, 9034, 9057, 8765, 8775, 9106, 8673
; .word 7018, 7189, 7638, 7307, 7444, 7379, 7038, 6956, 6930, 6868
; .word 5472, 4990, 5134, 5177, 5246, 5141, 5206, 5095, 4830, 5147
; .word 4056, 3031, 2614, 3024, 2916, 2713, 3309, 3237, 2857, 3473
; .word 7733, 7880, 8188, 8175, 8247, 8490, 8637, 8601, 8359, 7569
; .word 4210, 3031, 2552, 3473, 3876, 3853, 4184, 4154, 3909, 3968
; .word 3214, 1930, 1313, 2143, 2493, 2385, 2755, 2706, 2542, 2919
; .word 3024, 1592, 940, 1631, 1723, 1579, 2034, 2084, 1913, 2601
;-- Word16 fg[2][M][MA_NP], Q15 --
fg:
.word 8421, 7018, 5472, 4056
.word 9109, 7189, 4990, 3031
.word 9175, 7638, 5134, 2614
.word 8965, 7307, 5177, 3024
.word 9034, 7444, 5246, 2916
.word 9057, 7379, 5141, 2713
.word 8765, 7038, 5206, 3309
.word 8775, 6956, 5095, 3237
.word 9106, 6930, 4830, 2857
.word 8673, 6868, 5147, 3473
.word 7733, 4210, 3214, 3024
.word 7880, 3031, 1930, 1592
.word 8188, 2552, 1313, 940
.word 8175, 3473, 2143, 1631
.word 8247, 3876, 2493, 1723
.word 8490, 3853, 2385, 1579
.word 8637, 4184, 2755, 2034
.word 8601, 4154, 2706, 2084
.word 8359, 3909, 2542, 1913
.word 7569, 3968, 2919, 2601
;-- C code : Word16 fg_sum[2][M], Q15 --
fg_sum:
.word 7798, 8447, 8205, 8293, 8126, 8477, 8447, 8703, 9043, 8604
.word 14585, 18333, 19772, 17344, 16426, 16459, 15155, 15220, 16043, 15708
;-- C code : Word16 fg_sum_inv[2][M], Q12 --
fg_sum_inv_Q12
.word 17210, 15888, 16357, 16183, 16516, 15833, 15888, 15421, 14840, 15597
.word 9202, 7320, 6788, 7738, 8170, 8154, 8856, 8818, 8366, 8544
;*-------------------------------------------------------------
;* Table for az_lsf()
;*
;* Vector grid[GRID_POINTS+1] is in Q15
;*
;* grid[0] = 1.0;
;* grid[grid_points+1] = -1.0;
;* for (i = 1; i < grid_points; i++)
;* grid[i] = cos((6.283185307*i)/(2.0*grid_points));
;*
;*-------------------------------------------------------------
Grid:
.word 32760, 32703, 32509, 32187, 31738, 31164
.word 30466, 29649, 28714, 27666, 26509, 25248
.word 23886, 22431, 20887, 19260, 17557, 15786
.word 13951, 12062, 10125, 8149, 6140, 4106
.word 2057, 0, -2057, -4106, -6140, -8149
.word -10125, -12062, -13951, -15786, -17557, -19260
.word -20887, -22431, -23886, -25248, -26509, -27666
.word -28714, -29649, -30466, -31164, -31738, -32187
.word -32509, -32703, -32760
; .word 32760, 32723, 32588, 32364, 32051, 31651
; .word 31164, 30591, 29935, 29196, 28377, 27481
; .word 26509, 25465, 24351, 23170, 21926, 20621
; .word 19260, 17846, 16384, 14876, 13327, 11743
; .word 10125, 8480, 6812, 5126, 3425, 1714
; .word 0, -1714, -3425, -5126, -6812, -8480
; .word -10125, -11743, -13327, -14876, -16384, -17846
; .word -19260, -20621, -21926, -23170, -24351, -25465
; .word -26509, -27481, -28377, -29196, -29935, -30591
; .word -31164, -31651, -32051, -32364, -32588, -32723
; .word -32760
;
EndOfGrid:
.word 1
;-----------------------------------------------------
; Tables for pitch related routines .
;-----------------------------------------------------
;-------------------------------------
; 1/3 resolution interpolation filter (-3 dB at 3600 Hz) in Q15
; Word16 inter_3[FIR_SIZE_ANA] in C code
;
; Coefficients in floating point
;
; 0.900839
; 0.760084, 0.424082, 0.084078,
; -0.105570, -0.121120, -0.047624,
; 0.016285, 0.031217, 0.015738,
; 0.000000, -0.005925, 0.000000
;-------------------------------------
Intpl_3
.word 29519
.word 24906, 13896, 2755
.word -3459, -3969, -1561
.word 534, 1023, 516
.word 0, -194, 0
;-------------------------------------
; 1/3 resolution interpolation filter (-3 dB at 3600 Hz) in Q15
; Word16 inter_3l[FIR_SIZE_SYN] in C code
;
; Coefficients in floating point
;
; 0.898517,
; 0.769271, 0.448635, 0.095915,
; -0.134333, -0.178528, -0.084919,
; 0.036952, 0.095533, 0.068936,
; -0.000000, -0.050404, -0.050835,
; -0.014169, 0.023083, 0.033543,
; 0.016774, -0.007466, -0.019340,
; -0.013755, 0.000000, 0.009400,
; 0.009029, 0.002381, -0.003658,
; -0.005027, -0.002405, 0.001050,
; 0.002780, 0.002145, 0.000000
;
;-------------------------------------
Intpl_3l:
.word 29443
.word 25207, 14701, 3143
.word -4402, -5850, -2783
.word 1211, 3130, 2259
.word 0, -1652, -1666
.word -464, 756, 1099
.word 550, -245, -634
.word -451, 0, 308
.word 296, 78, -120
.word -165, -79, 34
.word 91, 70, 0
;-----------------------------------------------------
; Tables for gain related routines .
;-----------------------------------------------------
;------------------------------
; MA gain prediction coeff ={0.68, 0.58, 0.34, 0.19} in Q13
; C code : Word16 pred[4]
;------------------------------
PredCoefQ13:
.word 5571, 4751, 2785, 1556
;-- Word16 gbk1[NCODE1][2] --
;--- Q14 Q13 --
gbk1Q13Q14:
.word 1 , 1516
.word 1551 , 2425
.word 1831 , 5022
.word 57 , 5404
.word 1921 , 9291
.word 3242 , 9949
.word 356 , 14756
.word 2678 , 27162
;-- Word16 gbk2[NCODE2][2] --
;-- Q14 Q13 --
gbk2Q14Q13:
.word 826 , 2005
.word 1994 , 0
.word 5142 , 592
.word 6160 , 2395
.word 8091 , 4861
.word 9120 , 525
.word 10573 , 2966
.word 11569 , 1196
.word 13260 , 3256
.word 14194 , 1630
.word 15132 , 4914
.word 15161 , 14276
.word 15434 , 237
.word 16112 , 3392
.word 17299 , 1861
.word 18973 , 5935
;-- Word16 map1[NCODE1] --
map1:
.word 5, 1, 4, 7, 3, 0, 6, 2
;-- Word16 map2[NCODE2] --
map2:
.word 4, 6, 0, 2,12,14, 8,10,15,11, 9,13, 7, 3, 1, 5
;-- Word16 thr1[NCODE1-NCAN1] in Q14 --
Thr1Q14:
.word 10808, 12374, 19778, 32567
;-- Word16 thr2[NCODE2-NCAN2] in Q15 --
Thr2:
.word 14087, 16188, 20274, 21321, 23525, 25232, 27873, 30542
;-- Word16 imap1[NCODE1] --
imap1:
.word 5, 1, 7, 4, 2, 0, 6, 3
;-- Word16 imap2[NCODE2] --
imap2:
.word 2,14, 3,13, 0,15, 1,12, 6,10, 7, 9, 4,11, 5, 8
;-----------------------------------------------------
; Table for routine pst().
;-----------------------------------------------------
;-- Word16 tab_hup_s[SIZ_TAB_HUP_S] --
tab_hup_s:
.word -188, 2873, 31650, -1597, -484, 7041, 28469
.word -2147, -933, 12266, 23705, -1992, -1492, 18050
.word 18050, -1492, -1992, 23705, 12266, -933, -2147
.word 28469, 7041, -484, -1597, 31650, 2873, -188
;-- Word16 tab_hup_l[SIZ_TAB_HUP_L] --
tab_hup_l
.word -40, 72, -156, 315, -579, 1023, -1874, 4439, 31915, -3390
.word 1595, -887, 501, -266, 130, -59, -77, 147, -317, 631
.word -1150, 2030, -3773, 9639, 29436, -5579, 2727, -1527, 859, -453
.word 218, -101, -106, 212, -455, 892, -1614, 2850, -5392, 15206
.word 25569, -6549, 3303, -1860, 1041, -543, 258, -122, -123, 253
.word -538, 1044, -1876, 3319, -6414, 20676, 20676, -6414, 3319, -1876
.word 1044, -538, 253, -123, -122, 258, -543, 1041, -1860, 3303
.word -6549, 25569, 15206, -5392, 2850, -1614, 892, -455, 212, -106
.word -101, 218, -453, 859, -1527, 2727, -5579, 29436, 9639, -3773
.word 2030, -1150, 631, -317, 147, -77, -59, 130, -266, 501
.word -887, 1595, -3390, 31915, 4439, -1874, 1023, -579, 315, -156
.word 72, -40
;-----------------------------------------------------
; Tables for routines post_pro() & pre_proc().
;-----------------------------------------------------
;-- post filter coefficients (fc = 100 Hz) in Q13 --
;-- Word16 b100[3], a100[3] --
b100_Q13:
.word 7699, -15398, 7699
a100_Q13:
.word 8192, 15836, -7667
;-- pre filter coefficients (fc = 140 Hz, coeff. b[] is divided by 2) in Q12 --
b140_Q12:
.word 1899, -3798, 1899
a140_Q12:
.word 4096, 7807, -3733
b140_Q13:
.word 3798, -7596, 3798
a140_Q13:
.word 8192, 15613, -7466
;-----------------------------------------------------
; Tables for routine bits().
;-----------------------------------------------------
;-- Word16 bitsno[PRM_SIZE] --
BitsNo:
.word 1+NC0_B ; MA + 1st stage
.word NC1_B*2 ; 2nd stage
.word 8,1, 13,4, 7 ; first subframe
.word 5, 13,4, 7 ; second subframe
;-----------------------------------------------------
; Table for routine Pow2().
;-----------------------------------------------------
;-- Word16 tabpow[33] ---
Pow2Table:
.word 16384, 16743, 17109, 17484, 17867, 18258, 18658, 19066
.word 19484, 19911, 20347, 20792, 21247, 21713, 22188, 22674
.word 23170, 23678, 24196, 24726, 25268, 25821, 26386, 26964
.word 27554, 28158, 28774, 29405, 30048, 30706, 31379, 32066, 32767
;-----------------------------------------------------
; Table for routine Log2().
;
; Word16 tablog[33]
;-----------------------------------------------------
Log2Table:
.word 0, 1455, 2866, 4236, 5568, 6863, 8124, 9352
.word 10549, 11716, 12855, 13967, 15054, 16117, 17156, 18172
.word 19167, 20142, 21097, 22033, 22951, 23852, 24735, 25603
.word 26455, 27291, 28113, 28922, 29716, 30497, 31266, 32023, 32767
;-----------------------------------------------------
; Table for routine Inv_sqrt().
;
; Word16 tabsqr[49]
;-----------------------------------------------------
InvSqrtTable:
.word 32767, 31790, 30894, 30070, 29309, 28602, 27945
.word 27330, 26755, 26214, 25705, 25225, 24770, 24339
.word 23930, 23541, 23170, 22817, 22479, 22155, 21845
.word 21548, 21263, 20988, 20724, 20470, 20225, 19988
.word 19760, 19539, 19326, 19119, 18919, 18725, 18536
.word 18354, 18176, 18004, 17837, 17674, 17515, 17361
.word 17211, 17064, 16921, 16782, 16646, 16514, 16384
;-----------------------------------------------------
; Table for taming procedure test_err.
;
; Word16 tab_zone[PIT_MAX+L_INTERPOL-1]
;-----------------------------------------------------
tab_zone:
.word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
.word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1
.word 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
.word 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2
.word 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
.word 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
.word 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
CorrLoop1:
.word 237, 236, 235, 234, 233, 232, 231, 230, 229, 228
; PI*(float)(j+1)/(float)(M+1)
PrevLspVectQ13:
.word 2339, 4679, 7018, 9358, 11698, 14037, 16377, 18717, 21056, 23396
Random_seed:
.word 21845
.def HamWindow
.def LagWin
.def LagWin_h
.def LagWin_l
.def CosTable
.def CosTable
.def SlopeACosQ12
.def SlopeACosQ12
.def SlopeCosQ19
.def LspCb1Q13
.def LspCb2Q13
.def fg
.def fg_sum
.def fg_sum_inv_Q12
.def Grid
.def Intpl_3
.def Intpl_3l
.def PredCoefQ13
.def gbk1Q13Q14
.def gbk2Q14Q13
.def map1
.def map2
.def coef
.def L_coef
.def Thr1Q14
.def Thr2
.def imap1
.def imap2
.def tab_hup_s
.def tab_hup_l
.def b100_Q13
.def a100_Q13
.def b140_Q12
.def a140_Q12
.def b140_Q13
.def a140_Q13
.def BitsNo
.def Pow2Table
.def Log2Table
.def InvSqrtTable
.def tab_zone
.def CorrLoop1
.def PrevLspVectQ13
.def Random_seed