/* * =================================================================== * TS 26.104 * R99 V3.5.0 2003-03 * REL-4 V4.4.0 2003-03 * REL-5 V5.1.0 2003-03 * 3GPP AMR Floating-point Speech Codec * =================================================================== * */ /* * rom_dec.h * * * Project: * AMR Floating-Point Codec * * Contains: * This file contains all the tables needed by AMR decoder functions. * */ #ifndef _ROM_DEC_H_ #define _ROM_DEC_H_ /* * include files */ #include"typedef.h" #include"interf_rom.h" /* * definition of constants */ #define M 10 /* Order of LP filter */ #define MP1 (M+1) /* Order of LP filter + 1 */ #define L_WINDOW 240 /* Window size in LP analysis */ #define L_NEXT 40 /* Overhead in LP analysis */ #define LTPG_MEM_SIZE 5 /* number of stored past LTP coding gains + 1 */ #define N_FRAME 7 /* old pitch gains in average calculation */ #define DTX_HIST_SIZE 8 /* DTX history size */ #define L_TOTAL 320 /* Total size of speech buffer. */ #define L_FRAME 160 /* Frame size */ #define L_FRAME_BY2 80 /* Frame size divided by 2 */ #define L_SUBFR 40 /* Subframe size */ #define L_CODE 40 /* codevector length */ #define PIT_MAX 143 /* Maximum pitch lag */ #define PIT_MIN 20 /* Minimum pitch lag */ #define PIT_MIN_MR122 18 /* Minimum pitch lag (MR122 mode) */ #define L_INTERPOL (10+1) /* Length of filter for interpolation */ #define NPRED 4 /* number of prediction taps */ #define SHARPMIN 0 /* Minimum value of pitch sharpening */ #define MAX_PRM_SIZE 57 /* max. num. of params */ #define L_INTER_SRCH 4 /* Length of filter for CL LTP search interpolation */ #define GP_CLIP 0.95F /* Pitch gain clipping */ #define UP_SAMP_MAX 6 #define NB_TRACK 5 /* number of tracks */ #define NB_TRACK_MR102 4 /* number of tracks mode mr102 */ #define STEP 5 /* codebook step size */ #define STEP_MR102 4 /* codebook step size mode mr102 */ #define NC M/2 /* Order of LP filter divided by 2 */ /* vad */ #define COMPLEN 9 /* Number of sub-bands used by VAD */ #define L_ENERGYHIST 60 #define L_CBGAINHIST 7 #define PHDGAINMEMSIZE 5 #define MIN_ENERGY -14336 /* 14 Q10 */ #define MIN_ENERGY_MR122 -2381 /* 14 / (20*log10(2)) Q10 */ #define PN_INITIAL_SEED 0x70816958L /* Pseudo noise generator seed value */ #define MIN_16 (Word16)-32768 #define MAX_16 (Word16)0x7fff #define MAX_32 (Word32)0x7fffffffL #define EXPCONST 5243 /* 0.16 in Q15 */ #define DTX_MAX_EMPTY_THRESH 50 #define DTX_ELAPSED_FRAMES_THRESH (24 + 7 -1) #define LSF_GAP 205 /* Minimum distance between LSF after quantization; 50 Hz = 205 */ #define LSP_PRED_FAC_MR122 21299 /* MR122 LSP prediction factor (0.65 Q15) */ #define POS_CODE 8191 #define NEG_CODE 8191 #define NMAX 9 /* largest N used in median calculation */ #define MEAN_ENER_MR122 783741L /* 36/(20*log10(2)) (Q17) */ #define SHARPMAX 13017 /* Maximum value of pitch sharpening */ #define FRAMEENERGYLIMIT 17578 /* 150 */ #define LOWERNOISELIMIT 20 /* 5 */ #define UPPERNOISELIMIT 1953 /* 50 */ #define AZ_SIZE (4*M+4) /* Size of array of LP filters in 4 subfr.s */ #define AGC_FAC 29491 /* Factor for automatic gain control 0.9 */ #define PHDGAINMEMSIZE 5 #define PHDTHR1LTP 9830 /* 0.6 in Q14 */ #define PHDTHR2LTP 14746 /* 0.9 in Q14 */ #define ONFACTPLUS1 16384 /* 2.0 in Q13 */ #define ONLENGTH 2 #define DTX_HANG_CONST 7 /* yields eight frames of SP HANGOVER */ /* number of parameters */ #define PRMNO_MR475 17 #define PRMNO_MR515 19 #define PRMNO_MR59 19 #define PRMNO_MR67 19 #define PRMNO_MR74 19 #define PRMNO_MR795 23 #define PRMNO_MR102 39 #define PRMNO_MR122 57 #define PRMNO_MRDTX 5 /* * tables */ /* level adjustment for different modes Q11 */ static const Word16 dtx_log_en_adjust[9] = { - 1023, /* MR475 */ - 878, /* MR515 */ - 732, /* MR59 */ - 586, /* MR67 */ - 440, /* MR74 */ - 294, /* MR795 */ - 148, /* MR102 */ 0, /* MR122 */ 0, /* MRDTX */ }; /* attenuation factors for codebook gain */ static const Word32 cdown[7] = { 32767, 32112, 32112, 32112, 32112, 32112, 22937 }; /* attenuation factors for adaptive codebook gain */ static const Word32 pdown[7] = { 32767, 32112, 32112, 26214, 9830, 6553, 6553 }; /* algebraic code book gain MA predictor coefficients */ static const Word32 pred[NPRED] = { 5571, 4751, 2785, 1556 }; /* algebraic code book gain MA predictor coefficients (MR122) */ static const Word32 pred_MR122[NPRED] = { 44, 37, 22, 12 }; static const Word32 gamma4_gamma3_MR122[M] = { 22938, 16057, 11240, 7868, 5508, 3856, 2699, 1889, 1322, 925 }; static const Word32 gamma3[M] = { 18022, 9912, 5451, 2998, 1649, 907, 499, 274, 151, 83 }; static const Word32 gamma4_MR122[M] = { 24576, 18432, 13824, 10368, 7776, 5832, 4374, 3281, 2461, 1846 }; /* adaptive codebook gain quantization table (MR122, MR795) */ #define NB_QUA_PITCH 16 static const Word32 qua_gain_pitch[NB_QUA_PITCH] = { 0, 3277, 6556, 8192, 9830, 11469, 12288, 13107, 13926, 14746, 15565, 16384, 17203, 18022, 18842, 19661 }; /* fixed codebook gain quantization table (MR122, MR795) */ #define NB_QUA_CODE 32 static const Word32 qua_gain_code[NB_QUA_CODE * 3] = { /* gain factor (g_fac) and quantized energy error (qua_ener_MR122, qua_ener) * are stored: * * qua_ener_MR122 = log2(g_fac) (not the rounded floating point value, but * the value the original EFR algorithm * calculates from g_fac [using Log2]) * qua_ener = 20*log10(g_fac); (rounded floating point value) * * * g_fac (Q11), * qua_ener_MR122 (Q10), * qua_ener (Q10) */ 159, - 3776, - 22731, 206, - 3394, - 20428, 268, - 3005, - 18088, 349, - 2615, - 15739, 419, - 2345, - 14113, 482, - 2138, - 12867, 554, - 1932, - 11629, 637, - 1726, - 10387, 733, - 1518, - 9139, 842, - 1314, - 7906, 969, - 1106, - 6656, 1114, - 900, - 5416, 1281, - 694, - 4173, 1473, - 487, - 2931, 1694, - 281, - 1688, 1948, - 75, - 445, 2241, 133, 801, 2577, 339, 2044, 2963, 545, 3285, 3408, 752, 4530, 3919, 958, 5772, 4507, 1165, 7016, 5183, 1371, 8259, 5960, 1577, 9501, 6855, 1784, 10745, 7883, 1991, 11988, 9065, 2197, 13231, 10425, 2404, 14474, 12510, 2673, 16096, 16263, 3060, 18429, 21142, 3448, 20763, 27485, 3836, 23097 }; /* gray coding table */ static const Word8 gray[8] = { 0, 1, 3, 2, 6, 4, 5, 7 }; /* gray decoding table */ static const Word32 dgray[8] = { 0, 1, 3, 2, 5, 6, 4, 7 }; /* table[i] = sqrt((i+16)*2^-6) * 2^15, i.e. sqrt(x) scaled Q15 */ static const Word32 sqrt_table[49] = { 16384, 16888, 17378, 17854, 18318, 18770, 19212, 19644, 20066, 20480, 20886, 21283, 21674, 22058, 22435, 22806, 23170, 23530, 23884, 24232, 24576, 24915, 25249, 25580, 25905, 26227, 26545, 26859, 27170, 27477, 27780, 28081, 28378, 28672, 28963, 29251, 29537, 29819, 30099, 30377, 30652, 30924, 31194, 31462, 31727, 31991, 32252, 32511, 32767 }; static const Word32 inv_sqrt_table[49] = { 32767, 31790, 30894, 30070, 29309, 28602, 27945, 27330, 26755, 26214, 25705, 25225, 24770, 24339, 23930, 23541, 23170, 22817, 22479, 22155, 21845, 21548, 21263, 20988, 20724, 20470, 20225, 19988, 19760, 19539, 19326, 19119, 18919, 18725, 18536, 18354, 18176, 18004, 17837, 17674, 17515, 17361, 17211, 17064, 16921, 16782, 16646, 16514, 16384 }; /* table used inbase 2 logharithm computation */ static const Word32 log2_table[33] = { 0, 1455, 2866, 4236, 5568, 6863, 8124, 9352, 10549, 11716, 12855, 13967, 15054, 16117, 17156, 18172, 19167, 20142, 21097, 22033, 22951, 23852, 24735, 25603, 26455, 27291, 28113, 28922, 29716, 30497, 31266, 32023, 32767 }; /* table used in 2 to the power computation */ static const Word32 pow2_table[33] = { 16384, 16743, 17109, 17484, 17867, 18258, 18658, 19066, 19484, 19911, 20347, 20792, 21247, 21713, 22188, 22674, 23170, 23678, 24196, 24726, 25268, 25821, 26386, 26964, 27554, 28158, 28774, 29405, 30048, 30706, 31379, 32066, 32767 }; /* table of cos(x) */ static const Word32 cos_table[65] = { 32767, 32729, 32610, 32413, 32138, 31786, 31357, 30853, 30274, 29622, 28899, 28106, 27246, 26320, 25330, 24279, 23170, 22006, 20788, 19520, 18205, 16846, 15447, 14010, 12540, 11039, 9512, 7962, 6393, 4808, 3212, 1608, 0, - 1608, - 3212, - 4808, - 6393, - 7962, - 9512, - 11039, - 12540, - 14010, - 15447, - 16846, - 18205, - 19520, - 20788, - 22006, - 23170, - 24279, - 25330, - 26320, - 27246, - 28106, - 28899, - 29622, - 30274, - 30853, - 31357, - 31786, - 32138, - 32413, - 32610, - 32729, - 32768 }; /* slope used to compute y = acos(x) */ static const Word32 acos_slope[64] = { - 26887, - 8812, - 5323, - 3813, - 2979, - 2444, - 2081, - 1811, - 1608, - 1450, - 1322, - 1219, - 1132, - 1059, - 998, - 946, - 901, - 861, - 827, - 797, - 772, - 750, - 730, - 713, - 699, - 687, - 677, - 668, - 662, - 657, - 654, - 652, - 652, - 654, - 657, - 662, - 668, - 677, - 687, - 699, - 713, - 730, - 750, - 772, - 797, - 827, - 861, - 901, - 946, - 998, - 1059, - 1132, - 1219, - 1322, - 1450, - 1608, - 1811, - 2081, - 2444, - 2979, - 3813, - 5323, - 8812, - 26887 }; /* All impulse responses are in Q15 */ /* phase dispersion impulse response (MR795) */ static const Word32 ph_imp_low_MR795[] = { 26777, 801, 2505, - 683, - 1382, 582, 604, - 1274, 3511, - 5894, 4534, - 499, - 1940, 3011, - 5058, 5614, - 1990, - 1061, - 1459, 4442, - 700, - 5335, 4609, 452, - 589, - 3352, 2953, 1267, - 1212, - 2590, 1731, 3670, - 4475, - 975, 4391, - 2537, 949, - 1363, - 979, 5734 }; /* phase dispersion impulse response (MR795) */ static const Word32 ph_imp_mid_MR795[] = { 30274, 3831, - 4036, 2972, - 1048, - 1002, 2477, - 3043, 2815, - 2231, 1753, - 1611, 1714, - 1775, 1543, - 1008, 429, - 169, 472, - 1264, 2176, - 2706, 2523, - 1621, 344, 826, - 1529, 1724, - 1657, 1701, - 2063, 2644, - 3060, 2897, - 1978, 557, 780, - 1369, 842, 655 }; /* phase dispersion impulse response (MR475 - MR67) */ static const Word32 ph_imp_low[] = { 14690, 11518, 1268, - 2761, - 5671, 7514, - 35, - 2807, - 3040, 4823, 2952, - 8424, 3785, 1455, 2179, - 8637, 8051, - 2103, - 1454, 777, 1108, - 2385, 2254, - 363, - 674, - 2103, 6046, - 5681, 1072, 3123, - 5058, 5312, - 2329, - 3728, 6924, - 3889, 675, - 1775, 29, 10145 }; /* phase dispersion impulse response (MR475 - MR67) */ static const Word32 ph_imp_mid[] = { 30274, 3831, - 4036, 2972, - 1048, - 1002, 2477, - 3043, 2815, - 2231, 1753, - 1611, 1714, - 1775, 1543, - 1008, 429, - 169, 472, - 1264, 2176, - 2706, 2523, - 1621, 344, 826, - 1529, 1724, - 1657, 1701, - 2063, 2644, - 3060, 2897, - 1978, 557, 780, - 1369, 842, 655 }; /* initialization table for the MA predictor in DTX */ #define PAST_RQ_INIT_SIZE 8 /* initalization table for MA predictor in dtx mode */ static const Word32 past_rq_init[80] = { - 258, - 318, - 439, - 634, - 656, - 773, - 711, - 502, - 268, - 193, - 2, 125, 122, - 39, - 9, 105, 129, 283, 372, 575, - 277, - 324, - 197, - 487, - 445, - 362, - 292, - 27, 177, 543, 342, 517, 516, 130, 27, - 104, - 120, - 140, - 74, - 56, - 564, - 943, - 1520, - 965, - 814, - 526, - 322, - 2, 159, 657, - 312, - 284, - 386, - 597, - 493, - 526, - 418, - 229, 105, 449, - 557, - 870, - 1075, - 919, - 950, - 752, - 709, - 316, 62, 486, - 314, - 191, - 203, - 330, - 160, - 103, - 51, 131, 338, 515 }; #define ALPHA 29491 #define ONE_ALPHA 3277 /* LSF means (not in MR122) */ static const Word32 mean_lsf_3[10] = { 1546, 2272, 3778, 5488, 6972, 8382, 10047, 11229, 12766, 13714 }; #define ALPHA_122 31128 #define ONE_ALPHA_122 1639 /* LSF means ->normalize frequency domain */ static const Word32 mean_lsf_5[10] = { 1384, 2077, 3420, 5108, 6742, 8122, 9863, 11092, 12714, 13701 }; /* LSF prediction factors (not in MR122) */ static const Word32 pred_fac[10] = { 9556, 10769, 12571, 13292, 14381, 11651, 10588, 9767, 8593, 6484 }; #define DICO1_SIZE_3 256 #define DICO2_SIZE_3 512 #define DICO3_SIZE_3 512 /* 1st LSF quantizer (not in MR122 and MR795) */ static const Word32 dico1_lsf_3[] = { 6, 82, - 131, 154, - 56, - 735, 183, - 65, - 265, 9, - 210, - 361, 113, 718, 1817, 1010, 1214, 1573, 857, 1333, 2276, 827, 1568, 1933, 717, 1989, 2206, 838, 1172, 1823, 721, 1000, 2154, 286, 476, 1509, - 247, - 531, 230, 147, - 82, 569, 26, - 177, - 944, - 27, - 273, 692, - 164, - 264, - 183, 224, 790, 1039, 899, 946, 601, 485, 771, 1150, 524, 677, 903, - 140, 375, 778, 410, 676, 429, 301, 530, 1009, 719, 646, 38, 226, 367, 40, 145, - 45, - 505, 290, 121, - 121, 302, 127, 166, - 124, - 383, - 956, - 358, - 455, - 977, 715, 878, 894, 978, 923, 211, 477, 272, 64, 188, - 78, 17, - 143, - 65, 38, 643, 586, 621, - 134, - 426, - 651, 347, 545, 2820, 1188, 2726, 2442, 142, - 80, 1735, 283, 130, 461, - 262, - 399, - 1145, - 411, 155, 430, 329, 375, 779, 53, - 226, - 139, - 129, - 236, 1682, 285, 744, 1327, 738, 697, 1664, 312, 409, 266, 325, 720, 135, 1, 221, 453, 8, 203, 145, 299, 640, 760, 29, 468, 638, 103, 429, 379, 420, 954, 932, 1326, 1210, 1258, 704, 1012, 1152, - 166, - 444, - 266, - 316, - 130, - 376, 191, 1151, 1904, - 240, - 543, - 1260, - 112, 268, 1207, 70, 1062, 1583, 278, 1360, 1574, - 258, - 272, - 768, 19, 563, 2240, - 3, - 265, 135, - 295, - 591, - 388, 140, 354, - 206, - 260, - 504, - 795, - 433, - 718, - 1319, 109, 331, 962, - 429, - 87, 652, - 296, 426, 1019, - 239, 775, 851, 489, 1334, 1073, - 334, - 332, 25, 543, 1206, 1807, 326, 61, 727, 578, 849, 1405, - 208, - 277, 329, - 152, 64, 669, - 434, - 678, - 727, - 454, - 71, 251, 605, 480, 254, - 482, 11, 996, - 289, 395, 486, 722, 1049, 1440, - 30, - 316, - 786, - 106, - 115, - 619, 861, 1474, 1412, 1055, 1366, 1184, 812, 1237, 925, 42, - 251, - 576, 342, 141, - 454, - 168, - 80, 1359, - 342, - 656, - 1763, 100, 821, 725, 990, 747, 800, 332, 440, 568, 663, 379, 852, 112, 165, - 369, 597, 910, 282, - 8, 834, 1281, - 352, 572, 695, 462, 2246, 1806, 345, 190, 1374, 416, 915, 2166, 168, - 82, 280, - 516, - 446, 840, 47, 533, 44, - 362, - 711, - 1143, 22, 193, 1472, - 85, 233, 1813, - 62, 579, 1504, 550, 944, 1749, 723, 650, 1148, 972, 884, 1395, - 425, 643, 0, 1000, 952, 1098, 249, 1446, 672, - 334, - 87, 2172, - 554, 1882, 2672, 140, 1826, 1853, 920, 1749, 2590, 1076, 1933, 2038, - 137, - 443, - 1555, 1269, 1174, 468, - 493, - 122, 1521, - 451, 1033, 1214, 482, 1695, 1118, 815, 649, 384, - 446, - 692, 107, - 319, - 605, - 118, - 207, - 505, 525, - 468, - 12, 2736, 75, 1934, 1305, 880, 2358, 2267, 1285, 1575, 2004, - 48, - 304, - 1186, - 435, - 461, - 251, - 366, - 404, - 547, - 289, - 605, - 597, - 538, - 810, - 165, - 120, 3, 356, 639, 1241, 1502, 96, 177, 750, - 435, - 585, - 1174, - 356, 109, - 79, - 485, 288, 2005, 9, 1116, 731, 880, 2134, 946, - 265, 1585, 1065, 1157, 1210, 843, - 498, - 668, 431, 374, 321, - 229, 1440, 2101, 1381, 449, 461, 1155, - 105, 39, - 384, - 263, 367, 182, - 371, - 660, 773, - 188, 1151, 971, 1333, 1632, 1435, 774, 1267, 1221, - 482, - 832, - 1489, - 237, - 210, 860, 890, 1615, 1064, 472, 1062, 1192, 185, 1077, 989, - 568, - 992, - 1704, - 449, - 902, - 2043, - 142, - 377, - 458, - 210, - 554, - 1029, - 11, 1133, 2265, - 329, - 675, - 893, - 250, 657, 1187, 519, 1510, 1779, 520, 539, 1403, 527, 1421, 1302, - 563, - 871, - 1248, - 147, - 463, 879, - 76, 2334, 2840, 563, 2573, 2385, 632, 1926, 2920, 719, 2023, 1840, - 545, - 723, 1108, 129, - 125, 884, 1417, 1632, 925, - 94, 1566, 1751, - 341, 1533, 1551, 591, 395, - 274, - 76, 981, 2831, 153, 2985, 1844, 1032, 2565, 2749, 1508, 2832, 1879, 791, 1199, 538, - 190, - 453, 1489, - 278, - 548, 1158, - 245, 1941, 2044, 1024, 1560, 1650, 512, 253, 466, - 62, - 323, 1151, - 473, - 376, 507, - 433, 1380, 2162, 899, 1943, 1445, 134, 704, 440, 460, 525, - 28, - 450, 279, 1338, 0, 971, 252, - 445, - 627, - 991, - 348, - 602, - 1424, 398, 712, 1656, - 107, 314, - 178, 93, 2226, 2238, 518, 849, 656, - 462, - 711, - 447, 174, - 34, 1191, - 119, 42, 1005, - 372, 274, 758, 1036, 2352, 1838, 675, 1724, 1498, 430, 1286, 2133, - 129, - 439, 0, - 373, 800, 2144, 6, 1587, 2478, 478, 596, 2128, - 428, - 736, 1505, 385, 178, 980, 139, 449, 1225, - 526, - 842, - 982, 145, 1554, 1242, 623, 1448, 656, 349, 1016, 1482, 31, - 280, 415, - 316, 724, 1641, 360, 1058, 556, - 436, - 358, 1201, - 355, 1123, 1939, 401, 1584, 2248, - 527, - 1012, 355, 233, 238, 2233, - 550, - 897, - 639, - 365, - 501, 1957, 389, 1860, 1621, 162, 1132, 1264, - 237, 1174, 1390, - 640, - 411, 116, - 228, 1694, 2298, 1639, 2186, 2267, 562, 1273, 2658, 323, 338, 1774, 578, 1107, 852, 22, 594, 934, - 143, 718, 446 }; /* 2nd LSF quantizer (not in MR122) */ static const Word32 dico2_lsf_3[] = { 50, 71, - 9, - 338, - 698, - 1407, 102, - 138, - 820, - 310, - 469, - 1147, 414, 67, - 267, 1060, 814, 1441, 1548, 1360, 1272, 1754, 1895, 1661, 2019, 2133, 1820, 1808, 2318, 1845, 644, - 93, 454, 858, 329, - 136, 489, - 258, - 128, - 198, - 745, - 41, - 52, - 265, - 985, 346, 137, 479, - 1741, - 748, - 684, - 1163, - 1725, - 367, - 895, - 1145, - 784, - 488, - 946, - 968, - 85, - 390, - 725, 215, - 340, - 171, 1020, 916, 1969, 564, 179, 746, 662, 977, 1734, 887, 622, 914, 939, 856, 1165, 309, 688, 803, 917, 161, 570, 118, - 20, - 283, - 816, - 42, 204, - 1228, - 325, - 462, - 963, - 202, - 143, - 988, - 484, - 361, - 702, - 978, - 477, - 302, - 790, - 1188, - 100, - 786, - 1088, - 1054, - 947, - 1684, - 202, - 843, - 782, - 1039, - 1378, - 901, - 624, - 110, - 85, 356, 213, - 10, - 493, 364, 774, 425, 822, 479, - 83, 557, 520, - 992, - 1560, - 572, - 603, - 741, - 26, - 502, - 638, - 903, 209, 306, 147, - 316, - 593, - 596, - 85, - 211, - 225, - 918, - 529, 117, 233, - 439, - 738, 1101, 751, 633, 1457, 1716, 1511, 1765, 1457, 910, 1122, 1156, 849, 1354, 868, 470, - 871, - 1150, - 1796, - 871, - 861, - 992, - 118, 155, 212, - 1051, - 849, - 606, - 1117, - 1849, - 2750, - 1019, - 1427, - 1869, 370, - 184, - 414, 959, 493, 104, 958, 1039, 543, 154, 653, 201, 1249, 507, 150, 663, 503, 230, 623, 777, 675, 659, 88, - 110, 843, 244, 224, 382, 541, 302, 724, 433, 666, 1166, 734, 341, - 138, 20, - 397, - 1183, - 424, - 46, - 321, - 352, - 124, 1333, 1021, 1080, 262, 366, 723, 922, 283, - 551, 31, - 636, - 611, - 689, - 697, - 415, - 952, - 779, - 201, - 1329, - 598, - 359, - 953, - 1285, 166, 493, 305, 221, 846, 703, 610, 840, 936, 774, - 723, - 1324, - 1261, - 357, - 1025, - 1388, - 1096, - 1376, - 365, - 1416, - 1881, - 608, - 1798, - 1727, - 674, - 545, - 1173, - 703, 678, 786, 148, - 123, 696, 1288, 644, 350, - 10, 414, 614, 15, 137, 344, - 211, - 814, - 1512, - 819, - 391, - 930, - 588, 47, - 591, - 898, - 909, - 1097, - 163, - 1272, - 1167, - 157, - 1464, - 1525, - 389, - 1274, - 1188, - 624, 671, 213, 454, 124, - 274, - 525, - 729, - 496, - 152, - 1344, 122, 135, - 2905, - 589, - 394, - 1728, 441, - 50, 1476, 904, 787, 316, 236, - 440, - 347, 217, 413, - 911, - 917, 121, - 455, - 932, 202, - 92, - 465, - 375, 488, 390, 474, 876, 729, 316, - 1815, - 1312, - 669, 87, 962, 432, 563, - 249, - 1058, 250, 285, 1105, 1141, 427, 696, - 1038, - 1664, - 1582, - 948, 346, 160, - 309, - 272, - 858, 670, 624, 1250, - 944, - 408, - 666, - 606, - 320, - 384, - 492, 230, 65, 334, - 50, - 16, - 16, - 690, - 1397, 1791, 1716, 1399, 2478, 2063, 1404, 1245, 1471, 1426, - 382, - 1037, - 2, 173, - 398, 1145, 1491, 2024, 1801, 772, 1274, 1506, 1429, 1735, 2001, 1079, 1218, 1273, - 1154, - 1851, - 1329, - 808, - 1133, - 1096, - 451, - 1033, - 1722, 65, 578, - 84, - 1476, - 2434, - 1778, - 765, - 1366, - 494, - 218, - 594, - 931, 337, - 236, 562, 2357, 2662, 1938, 1489, 1276, 874, 189, 358, 374, - 1519, - 2281, - 2346, - 967, - 1271, - 2095, - 628, - 1188, - 1542, 1661, 1043, 546, 565, 1061, 732, - 64, - 836, - 434, - 436, - 96, 203, 1078, 1216, 1636, 907, 1534, 986, 326, 965, 845, 142, - 84, 197, 470, 2379, 1570, 1133, 470, 1214, 395, 1376, 1200, 1125, 1042, 348, - 543, - 1234, - 376, - 215, - 181, 481, - 1947, - 1621, - 210, - 750, - 1185, 390, 29, - 399, 27, 820, 1236, 755, 695, 979, 409, - 174, 1197, 1035, 912, 1356, 1846, - 992, - 1437, 484, - 1485, - 1700, 208, - 412, 1204, 1432, - 271, 896, 1144, - 416, 1777, 1434, - 1696, - 2644, - 204, - 1789, - 1551, 1033, - 1656, - 1559, 1303, - 1253, - 1589, 1081, - 669, - 1095, - 66, - 682, 320, - 345, 659, 305, 1069, - 1292, - 804, - 19, - 1635, - 1291, 29, - 1683, - 497, 71, - 287, - 7, - 100, - 494, - 962, - 237, 852, 1881, 1740, - 1217, - 1387, 227, - 660, 302, 373, 96, 1087, 1257, - 1074, - 1669, 160, 485, 2076, 1798, - 934, - 220, 552, - 596, - 612, 237, 336, 1720, 879, 643, 629, 434, 1267, 522, 1633, 15, 244, - 441, 1475, 717, 184, 1819, 1590, 1709, 988, 261, 937, 2093, 2345, 1520, 2139, 1858, 1606, - 577, - 579, - 1203, - 956, 135, - 488, - 464, 51, - 338, - 629, - 348, - 723, 1146, 2073, 1442, 2192, 1466, 911, - 1444, - 1572, - 2278, 1400, 710, 1297, 1335, 633, 928, 1434, 2194, 2594, 2422, 2204, 1881, 982, 2242, 1854, 380, 792, 1145, - 63, - 539, 414, - 252, - 964, - 314, - 1261, - 683, - 780, - 831, - 526, - 1005, - 1666, - 1135, - 424, - 1611, - 452, - 299, 1268, 1048, 642, 1147, 853, 856, - 675, - 336, 139, 2268, 1343, 1418, 29, 768, 797, - 1224, 423, 564, - 1318, - 1082, 245, - 1302, - 812, 573, - 1298, - 1617, 646, - 968, 834, 723, 993, 1652, 2027, - 191, - 817, 432, 662, 60, 198, 626, 997, 1330, 1648, 1963, 1289, - 1597, - 93, - 45, - 1088, 37, - 84, 1653, 2607, 2337, 1065, 2040, 2377, 1139, 2326, 2118, 859, 357, 1510, 664, 1227, 1099, 479, 1360, 912, 1897, 1754, 2019, 1168, 1909, 1784, 399, 34, 256, - 593, - 304, - 1053, 547, 1694, 1407, 647, - 99, - 341, 1492, 1647, 1190, 38, - 644, - 212, 395, 846, 222, - 704, - 765, - 716, - 724, - 1964, - 2804, - 150, 291, - 82, 1233, 1459, 1007, - 140, - 155, 153, 439, 297, 1568, - 1529, - 410, - 636, 1536, 455, - 237, - 1328, - 139, - 260, 531, 554, 868, 269, 1264, 606, - 233, 883, 463, 742, 600, - 120, - 73, 421, 212, - 439, - 58, 804, - 1286, - 1241, 728, 294, - 490, 50, - 591, - 905, - 1254, 42, - 687, 147, - 25, 273, 596, - 311, 1213, 601, - 754, 849, 584, 429, 607, 587, - 602, - 166, 461, - 796, - 823, 777, 1380, 910, 1755, 119, 1417, 972, - 219, - 880, - 1596, - 1049, - 1010, 438, - 713, - 1379, 78, 0, - 447, - 1179, - 1136, - 1319, - 1573, 2248, 1767, 1309, 946, 1583, 1432, 1150, 482, 436, - 469, - 1108, 618, - 447, - 966, 1088, - 1252, - 1515, - 114, - 1104, - 2008, - 579, 210, 613, 497, - 1975, - 1437, 642, - 1269, - 856, 1011, - 1646, - 1185, 1063, - 1555, - 672, 1204, - 1692, - 1114, 623, - 979, - 1326, - 1277, 539, - 147, 894, - 1354, - 897, - 434, 888, 475, 428, 153, - 384, 338, - 1492, - 511, 359, - 974, - 1115, - 470, 105, - 550, 677, - 937, - 1145, 877, 380, - 260, 210, 1685, 924, 1256, 1775, 1190, 1095, 1419, 631, 533, 627, 299, - 347, - 411, - 534, 647, - 650, 29, - 595, - 378, - 1367, 1563, 1402, 1121, 1465, 1089, 1410, 648, - 2096, - 1090, - 6, 311, - 194, - 869, - 639, - 831, 416, - 1162, - 1224, 1349, - 1247, - 941, 1813, - 2193, - 1987, 453, - 619, - 1367, - 956, - 1606, - 1972, - 1507, - 1175, - 1057, - 1104, - 377, 601, 201, 1876, 825, 374, - 430, - 1323, 29, - 1397, - 1249, - 1331, - 1007, - 1504, 960, - 1401, - 2009, 197, - 1379, - 1949, - 236, - 1077, 123, 422, 615, 1269, 546, - 306, 1526, 904, 1194, 1788, 1177, - 626, - 884, - 1526, 199, 766, 1504, - 1065, 862, 197, - 1034, - 1773, - 887, - 800, 145, 599, - 1134, - 519, 626, - 1205, - 1926, 500, - 910, - 1041, - 1395, - 1476, - 1567, - 969, - 523, 842, 34, 1794, 646, 862, - 1207, - 1888, - 1002, - 78, - 9, - 672, 1044, 759, 80, - 600, 1139, 1019, 57, 2000, 1422, - 833, 1414, 1121, - 1202, 1630, 1260, - 461, 1420, 1244, 1537, 975, 253, - 283, 324, - 359, 599, - 195, 106, 588, 62, - 587, - 757, 645, 205, 51, 1201, 758, - 1209, 673, - 390, - 624, 1581, 941, - 151, 1023, 735, 2820, 1301, 690, - 302, 524, - 99, - 900, - 1588, - 1189, 1084, 251, 238, 2014, 1792, 1010, 1245, 1633, 1741, - 1227, - 1540, - 1208, - 621, 456, - 109, 40, - 65, 788, - 805, - 699, - 1350, - 583, 904, 832, - 801, 532, 594, 1972, 1408, 1351, - 1177, - 1880, - 2114, - 773, 568, 948, - 1015, 1079, 1260, - 1111, 482, - 130, 1778, 1044, 780, - 1491, 245, 912, - 316, - 1141, - 917, - 536, - 1442, - 2346, - 785, - 1546, - 1988, - 2003, 257, 909, - 1849, - 633, - 1209, - 1538, - 1918, - 1054, 1606, 2239, 1576, - 567, - 1500, - 1544, - 1279, 195, 1369, - 817, 293, 1219, - 525, 630, 1197, - 1698, - 2425, - 1840, - 303, 731, 747, - 1169, - 251, 269, - 950, - 75, 1684, - 1182, - 453, 1005, - 1599, 585, 378, - 2075, - 571, - 427, - 529, - 1159, - 1171, - 283, - 205, - 564, - 796, 1246, 717, 2277, 927, 539, - 454, 559, 440, - 717, 1460, 1615, - 1030, 1052, 1610, - 1169, - 138, 847, 226, 39, - 612, - 1251, - 106, - 729, - 651, 968, 1302, - 714, - 636, 1727, 353, 1069, 410, - 798, - 156, 1099, - 574, 918, 446, - 1310, 1012, 466, 1408, 1591, 765, 1429, 1380, 1757, 1949, 1956, 2378, 1578, 2047, 2148, 916, 98, - 7, 1893, 1418, 2141, 348, 1405, 1579, 152, 1134, 1801, - 267, 154, 1395, - 1166, 469, 1054, - 1142, - 405, - 1073, - 1341, - 2264, - 1581, - 364, 869, 1706, - 1162, 549, 1550, - 1225, - 1932, - 1666, - 1485, - 1977, - 2055, - 1727, - 906, - 98, - 1897, 233, 1492, 892, 108, - 331, - 1728, - 1170, - 1700, - 1060, 1980, 1790, - 1070, - 1741, - 1909, - 11, 1539, 1317, - 1600, 94, 497, 421, 443, - 197, - 1578, - 349, - 994, - 599, - 539, 1140, - 965, - 1419, - 129, - 1341, 175, - 447, - 375, 1311, 2055, - 371, - 650, - 307, - 1073, 605, 365, - 2057, - 113, 430, 652, 914, 967, - 1012, - 1586, - 2323, 1505, 1248, 559, 262, - 486, - 401, - 1727, 1342, 1546, 50, 56, 432, - 330, 119, - 604, - 1517, - 1080, - 810, 946, 1127, 1055, - 1400, - 1703, - 1712, - 1270, - 704, - 1317, 807, 1821, 1143, 2760, 1606, 2171, 1120, 409, - 150, - 147, 404, 959, 2439, 1911, 2189, - 906, - 141, - 866, - 904, - 142, - 458, - 557, - 708, - 1679, - 830, - 1431, - 1583, - 1842, - 1346, - 1086, - 1604, - 272, 915, - 1196, 772, 1056, - 638, - 1234, - 1897, - 500, - 81, - 822, - 1289, - 1613, - 735, - 117, 785, 168, - 1090, 1133, 922, - 1096, - 746, 1384, 287, - 547, - 1063, - 1376, - 2201, - 1204, - 2176, - 1570, - 1757, - 1511, - 2241, - 771, - 1737, 1099, 830, - 1588, 724, 1243, - 1542, 693, 805, - 1690, - 240, 1665, - 1700, - 4, - 668, 2149, 816, 1042, - 818, - 1841, 22, - 764, - 507, 449, - 1151, - 617, 289, - 843, - 1596, - 240, 498, - 234, - 657, - 752, 480, 1678, - 319, - 481, 193, - 811, 171, - 119, - 2128, - 202, - 848, 1717, 1140, 1700 }; /* 3rd LSF quantizer (not in MR122, MR515 and MR475) */ static const Word32 dico3_lsf_3[] = { 67, - 17, 66, - 12, - 1690, - 581, - 104, - 272, - 1076, - 1186, - 1845, - 376, - 1140, - 926, - 420, - 58, - 259, - 656, - 1134, - 553, 1788, 1227, 455, 129, 462, 441, - 240, - 528, 840, 514, 130, - 75, 1114, 623, 153, 216, 1068, 564, - 6, - 276, 1119, 727, 190, - 68, 704, 306, 119, - 264, 329, 61, - 100, 156, 364, 123, 183, - 208, - 171, - 123, 220, - 65, - 306, - 62, 402, 17, - 660, - 938, - 266, 0, 385, 235, 276, 285, 320, 268, - 336, - 200, - 724, 17, - 84, 381, - 544, 429, 494, 519, - 117, 288, 304, 329, 643, 157, 701, 508, 1200, 625, 796, 608, 998, 421, 492, 632, 1204, 780, 446, 132, 1257, 844, 547, 449, 829, 658, 541, 470, 1132, 1258, 918, 639, 547, 51, 423, 279, 9, 392, 83, 94, 542, 543, 229, - 147, - 198, 129, 194, - 185, - 863, - 1321, - 302, 30, - 597, - 629, - 19, 114, - 900, - 1081, 466, 353, - 1483, - 1573, 15, - 143, - 1708, - 2059, - 751, 196, - 1876, - 2067, - 642, - 258, - 2335, - 1470, - 450, - 564, - 584, - 186, - 872, - 414, - 1805, - 988, - 1125, - 1310, - 726, - 1129, 28, 169, - 1039, - 864, - 718, - 246, 484, 36, - 233, - 49, 265, 67, 289, 467, 178, 543, 810, 540, 84, 282, 672, 703, - 975, - 777, 129, 287, - 938, - 227, 955, 595, - 1617, - 289, 836, 649, - 1847, - 215, 1106, 718, - 2034, - 1085, 650, 440, - 2101, - 529, 907, 575, - 2011, - 336, 670, 204, - 2389, - 692, 360, 137, - 2156, - 2204, - 9, 280, - 266, 119, 39, 193, 78, - 59, - 120, 226, - 975, - 858, - 781, - 1095, - 619, - 413, - 451, - 842, - 1216, - 1321, - 813, - 883, - 1376, - 1615, - 394, - 428, - 737, - 1113, - 549, - 790, - 880, - 975, - 967, - 642, - 985, - 886, - 1273, - 1361, - 473, - 804, - 1401, - 1407, 160, - 265, - 919, - 275, - 248, - 250, - 718, - 380, 97, - 103, - 375, - 229, - 415, - 193, - 135, - 555, 628, 361, 119, 216, 579, 364, 391, 209, 634, 522, - 154, - 148, 526, 389, 170, 33, 105, 267, 64, 380, - 1503, - 1000, - 30, - 369, - 1070, 58, 647, 223, - 1520, - 291, 621, 307, - 1531, 156, 762, 404, - 2029, 141, 734, 499, - 1849, - 650, 306, 512, - 187, - 104, - 59, 438, 134, - 230, 156, - 186, - 61, - 260, - 16, 10, - 569, - 3, - 421, - 297, - 1725, - 521, - 346, 178, - 1362, - 59, - 44, 157, - 2146, - 461, - 470, - 349, - 2170, - 1, - 369, - 121, - 1579, - 373, - 900, - 1015, - 1117, - 591, - 613, - 784, - 561, 122, - 75, - 449, - 4, - 171, - 123, - 372, 192, 168, - 76, - 132, 252, - 107, 340, 210, 392, 509, 272, 181, - 109, 145, 218, 119, - 416, - 263, 485, 265, - 181, - 8, - 286, 226, - 244, - 218, 69, - 290, - 158, 191, - 1, - 64, - 592, - 90, 213, - 96, 255, 435, 178, - 80, - 369, - 18, - 33, - 80, - 42, 415, 140, - 222, 1143, 651, 649, 329, 767, 556, 249, 235, 948, 413, 442, 279, 141, 339, 356, 557, - 470, - 170, 99, 237, - 569, - 800, 352, 565, 282, 473, 470, 332, - 199, - 690, - 1284, - 917, - 193, - 426, - 800, - 1122, - 26, - 371, - 490, - 193, 637, 595, 519, 330, 408, - 115, 79, 12, 477, 87, - 103, - 376, - 666, - 347, - 277, - 291, - 510, - 481, 169, 297, - 829, - 738, - 205, - 171, - 320, - 540, 328, 283, - 859, - 958, 442, - 2, 556, 686, 130, 56, 1383, 1012, 755, 427, 612, 741, 628, 553, - 339, - 796, 134, 277, - 633, - 1085, - 2, - 246, - 880, - 1035, - 1607, - 1064, - 994, - 474, - 1138, - 488, - 414, - 795, 73, - 206, - 8, - 139, 439, 204, - 176, - 578, 23, 131, - 269, - 757, - 191, 245, - 109, - 338, 112, 316, 120, - 406, - 118, 611, - 180, - 186, - 645, 115, - 173, 34, - 518, - 489, - 151, 61, - 583, - 844, 220, - 138, - 681, - 1020, 391, - 17, - 598, - 321, 157, - 295, 129, 155, - 926, - 875, - 987, 285, 241, - 83, - 125, - 125, 620, 597, 432, 92, 393, 78, 409, 61, - 393, - 739, - 413, - 748, 83, 54, 361, 27, - 1084, 130, - 337, - 694, - 1565, 297, 318, - 19, - 1873, 36, 51, - 317, - 2323, - 246, 231, - 84, - 2306, - 783, 40, - 179, - 2233, - 930, - 474, - 462, - 754, - 86, - 288, - 626, - 2411, - 455, - 63, 171, - 1099, - 1094, - 26, - 143, - 1193, - 455, - 406, - 381, - 605, - 210, - 96, - 51, - 580, - 476, - 276, - 15, - 1195, - 634, - 1203, - 881, - 378, - 221, - 669, - 952, 594, 178, - 403, - 676, 763, 327, 601, 290, 172, 300, 203, 157, - 56, - 336, 356, 24, - 228, - 296, - 259, - 29, - 186, 263, 416, 14, - 353, 373, - 12, - 216, 257, 96, 174, 57, - 1526, - 616, - 954, - 499, - 497, - 152, - 333, 125, 105, 200, 179, - 97, - 331, - 224, 765, 697, 760, 256, 301, 59, 455, - 85, 204, 288, - 514, 240, 251, - 109, 256, 417, - 34, - 413, 101, 430, 384, 156, - 31, - 10, 206, 426, 589, 145, 143, 71, 808, 906, 333, 349, 986, 938, 589, 331, 1300, 824, 187, 509, 1062, 653, 379, 466, 1462, 937, 401, 274, 787, 861, 265, 2, 609, 553, 28, 305, 926, 340, 106, 386, 241, - 267, - 147, 225, - 178, - 534, 347, 502, - 643, - 381, 397, 30, - 651, - 733, - 435, 398, - 407, - 726, - 484, - 248, - 789, - 914, - 438, - 476, - 498, - 390, 75, - 295, - 964, - 590, - 606, 150, - 121, - 49, - 155, - 78, 935, 550, 389, 38, - 321, 127, 424, 315, - 285, - 113, 283, 259, 658, 203, 322, 486, 903, 505, 748, 417, 611, 423, 555, 512, 239, - 83, - 578, - 19, - 339, - 731, 349, 13, - 934, - 1399, - 114, - 360, 107, 692, 182, 90, - 1243, - 1538, - 1551, - 725, - 568, - 903, - 1363, - 525, - 517, - 853, - 861, - 1004, - 168, - 690, - 835, 63, - 137, - 556, - 547, 144, - 286, - 817, 485, 319, - 147, - 408, 526, 246, - 347, - 434, 297, - 28, - 290, - 471, - 1110, - 1285, - 460, - 359, - 988, - 794, 1347, 1299, 690, 523, 1216, 1068, 1094, 757, 825, 1140, 752, 494, 1252, 1365, 1195, 898, 521, 1053, 532, 432, - 334, - 216, - 313, - 263, - 160, 52, - 472, - 155, 127, 136, - 380, 44, 851, 410, - 162, - 489, 123, - 255, - 796, - 667, 1090, 917, 789, 493, 1397, 1197, 558, 202, - 51, - 118, - 342, - 701, 83, 108, - 42, - 441, 61, 95, 287, 256, - 27, 89, 524, 531, 351, 227, 592, 545, 697, 155, - 164, 307, 638, 274, - 489, - 50, 754, 240, - 166, - 124, - 116, - 579, - 1212, - 63, 190, - 295, - 1040, - 1296, 147, - 376, - 177, - 113, 841, 1241, 1051, 668, 2, 293, 551, 304, - 1096, - 953, - 248, 376, - 750, - 965, 87, 516, - 275, - 516, 689, 391, - 379, - 643, 876, 594, - 390, - 1013, - 645, 573, - 107, - 568, - 689, - 826, - 1025, - 27, - 328, - 203, 861, 749, 548, 233, - 1660, - 1043, 451, 108, - 660, - 620, 430, 236, 21, - 396, - 1158, - 631, 1372, 1298, 967, 577, 1125, 1125, 589, 454, - 323, - 865, - 467, 153, - 468, - 699, - 804, - 509, - 392, - 718, - 204, - 35, - 603, - 1093, - 567, - 162, - 505, - 1004, - 102, 350, 219, 224, 423, 252, 395, 591, 608, 363, - 746, - 96, 373, 172, 171, 295, 714, 339, 233, 77, 107, 277, 157, 153, - 499, - 356, 1547, 1073, 576, 494, - 292, - 339, - 504, - 592, - 903, - 72, - 619, - 481, - 1594, - 1117, - 567, - 254, - 793, - 507, - 564, - 291, - 492, - 532, 502, 560, - 382, 427, 600, 230, - 227, 477, 251, 75, 285, 842, 813, 476, - 1310, - 1333, 186, 377, - 587, - 917, 643, 381, - 1186, - 553, 411, 82, - 1127, - 820, - 174, - 540, - 604, 119, 543, 205, - 380, 657, 909, 567, 112, - 298, - 374, 114, - 857, - 251, 56, 159, 401, 345, - 34, - 140, - 111, - 607, 41, 614, 355, - 114, - 77, 474, 578, 56, 1450, 924, 1098, 1420, 741, 400, 246, 22, 588, 313, - 121, 327, 831, 472, - 1138, - 608, 856, 552, - 1241, - 1072, 638, 600, - 358, 254, - 333, - 303, - 646, 739, 358, 74, 1226, 1671, 1221, 849, 2241, 1624, 983, 636, 1841, 1477, 749, 384, 350, 263, 87, 128, - 1902, - 941, - 144, - 64, - 1734, - 255, 288, - 31, - 2644, - 1238, 366, 235, - 1643, - 1092, - 1344, - 304, - 541, - 1075, - 1116, 123, - 1178, - 252, - 816, - 180, - 1016, 533, 565, 233, - 487, - 430, - 188, 334, 867, 1236, 534, 171, - 1590, - 1607, 635, 630, - 2196, 310, 924, 412, - 2358, - 328, 956, 529, - 2639, - 377, 630, 278, - 2602, 317, 799, 299, - 2406, 133, 340, 31, - 2156, - 1468, 131, 125, - 1184, - 490, - 139, 46, - 744, 447, 891, 564, 67, - 451, 646, 604, - 553, - 429, - 876, 396, 162, - 66, 1305, 915, 479, 579, 1088, 794, 450, 278, 566, 324, - 1057, - 154, 148, - 177, - 2545, 168, 1070, 592, - 2351, - 42, 819, 345, - 2344, - 707, 721, 250, - 2175, - 1497, - 309, 122, - 78, - 73, 120, 173, - 4, 262, - 263, - 261, - 431, - 64, - 405, - 732, - 2609, 116, - 83, - 193, - 1525, - 944, - 477, - 725, - 508, 307, 170, 172, 832, 417, 832, 686, - 225, 177, 894, 818, - 482, - 389, 1279, 1039, - 383, 201, - 350, 40, 730, 635, 226, 526, 503, 462, 338, 398, 535, 714, 40, - 282, 1482, 1471, 1085, 731, 1561, 1072, 909, 693, 1419, 1282, 889, 879, 1153, 728, 1186, 840, - 226, 1130, 949, 689, - 494, - 986, - 1556, - 128, - 568, - 721, - 713, - 26, 317, 524, 70, 135, - 405, - 865, - 1766, - 652, - 174, - 801, 885, 773, - 153, - 91, 1099, 751, - 506, - 1149, 853, 646, 241, 782, 519, 539, 1853, 1700, 1101, 684, - 1249, - 1486, - 464, 188, - 893, - 1409, - 1312, - 341, - 135, 438, - 175, 18, 1111, 976, 319, 208, - 1430, - 1768, 83, 458, - 530, - 1000, 307, 129, - 840, - 15, - 29, - 356, - 911, - 924, - 1147, - 242, - 119, - 528, 127, - 133, - 761, - 765, 190, - 83, - 315, 895, 522, 231, - 222, 102, - 63, - 428, 316, 699, 379, 70, 25, 716, 314, - 108, 507, 874, 566, 238, 108, 941, 519, 195, 425, - 60, - 427, 257, 139, - 103, - 630, 446, 334, 370, 412, 48, - 172, - 690, - 283, 557, 187, - 286, 158, 483, 140, 270, - 344, - 631, 924, 579, - 116, 132, 142, 466, - 68, - 64, 230, - 145, - 302, - 542, - 803, - 912, 1018, 737, - 773, 1015, 630, 297, - 2596, 95, 445, 336, - 2122, 491, 510, 191, - 1253, 161, - 2, - 324, - 1450, - 633, - 712, - 105, - 842, - 254, - 411, 100, - 640, - 290, 1010, 763, - 650, 313, 1169, 730, 140, 505, 1030, 766, 772, 287, 1067, 823, 495, 749, 305, 323, - 164, 462, 78, 399, - 342, - 874, 69, 597, - 16, 620, 621, 337, - 138, - 444, - 265, 218, 84, - 450, 953, 666, - 222, - 803, 541, 604, - 921, - 1376, 244, 116, - 841, - 723, 630, 588, 140, 663, 294, 368, 935, 1046, 881, 759, 1746, 1464, 916, 628, 436, 963, 281, 1, - 119, 74, 542, 213, 1, - 567, 301, 241, 260, 435, 222, 396, 936, 957, 1108, 703, 510, 506, 808, 478, 601, 694, 960, 620, 972, 741, 980, 600, 834, 717, 767, 684, 643, 972, 935, 638, 501, 661, 720, 851, - 105, - 632, - 303, - 117, - 429, 130, 789, 442, - 522, - 188, 704, 373, - 759, 42, 814, 523, - 531, - 1137, 373, 578, - 682, - 1203, - 455, 285, - 1163, - 1577, - 1098, 44, 81, - 82, 712, 363, 477, 246, 954, 622, 1604, 1622, 1277, 891, 1409, 859, 924, 892, 774, 1041, 947, 1142, 40, - 546, - 75, 288, - 616, - 106, - 697, - 26, - 169, - 160, - 891, - 739, - 279, - 384, - 1029, - 350, 1781, 1308, 1046, 816, 1580, 1533, 1472, 1178, 1505, 1076, 1216, 899, 890, 904, 564, 654, 920, 692, 1021, 856, - 493, 132, 177, 505, 71, 195, - 28, 97, 456, 351, - 164, 88, 439, 278, - 40, 350, 1395, 949, 234, - 95, - 805, - 472, 38, - 163, 367, - 98, 489, 523, 1025, 1178, 1212, 906, 319, 1314, 814, 461, - 123, - 543, - 804, 447, - 748, - 324, - 897, - 1127, - 737, - 501, - 789, - 713, 715, 777, 1239, 922, 1949, 1939, 1368, 865, 730, 880, 758, 388, - 871, 454, 17, - 251, - 381, - 810, - 1583, 239, - 521, - 966, - 792, 259, - 890, - 1358, - 770, - 73, 166, 349, - 212, 323, - 840, - 301, 473, 435, - 679, - 464, 728, 351, - 156, - 199, 667, 432, 29, - 252, 415, 480, - 731, - 379, 145, 559, - 528, - 631, - 1158, - 159, 445, 273, 123, 639, 373, - 126, 800, 568, 84, - 162, 720, 712, - 830, - 536, - 185, 222, 408, 452, 501, 771, - 897, - 1355, - 67, 442, - 792, - 1406, 566, 602, 167, - 326, 509, 330, - 95, - 626, - 730, - 344, 1668, 1217, 779, 455, 1316, 828, 584, 719, 404, - 31, 1013, 789, 89, 107, 891, 549, 871, 1581, 917, 671, 866, 1479, 1289, 854, 391, 1068, 1122, 812, 78, - 562, 345, 563, 429, - 103, 417, 787, - 122, - 437, 411, 788, - 913, - 417, 602, 754, - 226, - 16, 151, 760, - 700, 118, - 104, - 14, - 1128, 48, 284, 393, - 390, - 419, - 639, - 116, - 910, 306, 316, - 13, 1207, 984, 821, 669, - 1195, - 693, 140, - 213, - 884, - 416, - 199, - 558, - 616, 245, - 404, - 664, 262, 56, - 617, - 724, - 85, - 491, - 320, - 656, - 570, - 831, - 129, - 528, - 1506, - 63, - 367, - 385, - 358, - 321, 4, 51, - 366, - 214, 319, 511, 146, 671, - 17, - 291, - 110, 464, - 139, - 496, - 202, 220, - 312, - 631, - 660, - 73, - 655, - 820, - 662, - 653, - 1288, - 857, - 430, - 953, - 959, - 264, - 49, - 468, - 72, - 381, - 350, - 563, - 193, - 407, 55, - 408, - 803, 11, - 309, 649, 188, - 198, - 512, 461, - 79, - 458, - 1318, - 263, - 134, - 523, - 1657, - 435, - 495, - 765, 57, - 347, - 414, 434, - 1141, - 242, - 664, - 857, 34, - 68, - 707, - 338 }; #define MR515_3_SIZE 128 /* 3rd LSF quantizer (MR515 and MR475) */ static const Word32 mr515_3_lsf[] = { 419, 163, - 30, - 262, - 455, - 789, - 1430, - 721, 1006, 664, 269, 25, 619, 260, 183, 96, - 968, - 1358, - 388, 135, - 693, 835, 456, 154, 1105, 703, 569, 363, 1625, 1326, 985, 748, - 220, 219, 76, - 208, - 1455, - 1662, 49, 149, - 964, - 172, - 752, - 336, 625, 209, - 250, - 66, - 1017, - 838, - 2, 317, - 2168, - 1485, - 138, 123, - 1876, - 2099, - 521, 85, - 967, - 366, - 695, - 881, - 921, - 1011, - 763, - 949, - 124, - 256, - 352, - 660, 178, 463, 354, 304, - 1744, - 591, - 282, 79, - 2249, 175, 867, 499, - 138, - 180, - 181, - 21, - 2291, - 1241, - 460, - 520, - 771, 451, - 10, - 308, 271, - 65, 4, 214, - 279, - 435, - 43, - 348, - 670, 35, - 65, - 211, 806, 535, 85, 297, 57, 239, 722, 493, 225, 661, 840, 547, - 540, - 376, 14, 349, 469, 721, 331, 162, - 544, - 752, - 62, - 10, 398, - 88, 724, 701, - 19, - 533, - 94, 601, 136, - 71, - 681, - 747, - 166, - 344, 261, - 50, 161, - 52, 485, 337, - 1675, 50, 190, - 93, - 2282, - 231, - 194, - 82, - 95, - 595, - 154, 128, 894, 501, 588, 457, - 345, 206, 122, 110, - 631, - 227, - 569, 3, 408, 239, 397, 226, - 197, - 2, 128, 491, 1281, 904, 292, 215, 538, 306, 259, 509, - 677, - 1047, 13, 321, - 679, - 588, - 358, - 212, - 558, 243, 646, 479, 486, 342, 634, 532, 107, 802, 331, 136, - 112, - 398, - 1031, - 286, - 326, - 705, 288, 272, 1299, 1144, 1178, 860, - 423, 121, - 385, - 148, - 295, - 302, - 834, - 819, 16, - 24, - 201, - 476, 555, 91, - 245, 294, - 38, - 379, - 962, - 1221, - 1191, - 1518, - 273, - 395, - 390, - 1013, - 645, 573, - 1843, - 1030, 505, 468, 744, 947, 609, 493, - 689, - 1172, - 628, - 135, - 1026, 195, 411, 196, 1582, 1147, 575, 337, - 1239, - 777, - 648, - 142, 595, 825, 967, 735, - 1206, - 970, - 81, - 342, - 745, 13, - 72, 375, 454, 19, 1407, 921, - 1647, - 172, 861, 562, 928, 1537, 1063, 740, - 2472, - 952, 264, 82, - 502, - 965, - 1334, 123, 867, 1236, 534, 171, - 2320, - 460, 780, 363, - 1190, - 617, 252, - 61, - 174, 34, 1011, 788, - 2333, 247, 423, 153, - 16, - 355, 262, 449, - 1576, - 1073, - 544, - 371, - 615, - 305, 1051, 805, 687, 528, 6, - 182, 935, 875, 1002, 809, 199, 257, 126, 76, - 584, - 1138, 599, 556, - 1105, - 1391, - 1591, - 519, - 977, - 1325, 108, 347, - 722, - 975, 365, 101, - 145, 681, 249, - 153, 0, - 334, - 570, 159, 412, 285, - 336, - 617, - 953, - 966, 887, 689, - 1251, 84, - 185, - 398, - 592, 433, 1044, 653, 85, 329, - 40, 361, - 433, - 705, 466, 574, - 154, 654, 592, 290, - 167, 72, 349, 175, 674, 297, 977, 720, 1235, 1204, 757, 488, - 400, - 269, 538, 372, - 1350, - 1387, - 1194, - 91, 1262, 876, 775, 700, - 599, - 38, - 430, - 722, 1976, 1630, 991, 608, 111, 276, - 226, - 96, - 947, - 388, - 11, - 7, - 303, - 531, - 839, 338, 1734, 1710, 1405, 1013, - 516, - 855, - 645, 210, - 688, - 416, 513, 230, - 822, - 637, - 1146, - 320, - 952, - 658, - 694, 183, - 114, - 623, 818, 674, - 191, - 204, 731, 635, 51, 1221, 883, 576, - 954, - 431, 826, 598, - 342, - 755, - 900, - 407, - 1126, - 354, - 206, - 512, - 547, - 810, - 357, - 620, 66, 515, - 73, - 410, - 872, - 945, - 1444, - 1227, 191, - 17, - 544, - 231, - 1540, - 544, - 901, - 886 }; #define MR795_1_SIZE 512 /* 1st LSF quantizer (MR795) */ static const Word32 mr795_1_lsf[] = { - 890, - 1550, - 2541, - 819, - 970, 175, - 826, - 1234, - 762, - 599, - 22, 634, - 811, - 987, - 902, - 323, 203, 26, - 383, - 235, - 781, - 399, 1262, 906, - 932, - 1399, - 1380, - 624, 93, 87, - 414, - 539, - 691, 37, 633, 510, - 387, - 476, - 1330, 399, 66, 263, - 407, - 49, - 335, - 417, 1041, 1865, - 779, - 1089, - 1440, - 746, - 858, 832, - 581, - 759, - 371, - 673, - 506, 2088, - 560, - 634, - 1179, 271, 241, 14, - 438, - 244, - 397, 463, 1202, 1047, - 606, - 797, - 1438, - 51, - 323, 481, - 224, - 584, - 527, 494, 881, 682, - 433, - 306, - 1002, 554, 659, 222, 171, - 160, - 353, 681, 1798, 1565, - 852, - 1181, - 1695, - 336, - 666, 114, - 581, - 756, - 744, - 195, 375, 497, - 465, - 804, - 1098, 154, 282, - 131, - 50, - 191, - 719, 323, 732, 1542, - 722, - 819, - 1404, 105, - 250, 185, - 178, - 502, - 742, 321, 510, 1111, - 323, - 567, - 966, 127, 484, 338, - 160, 52, - 338, 732, 1367, 1554, - 626, - 802, - 1696, - 286, - 586, 676, - 695, - 343, - 370, - 490, 295, 1893, - 630, - 574, - 1014, - 80, 645, - 69, - 6, - 318, - 364, 782, 1450, 1038, - 313, - 733, - 1395, 120, 60, 477, - 264, - 585, - 123, 711, 1245, 633, - 91, - 355, - 1016, 771, 758, 261, 253, 81, - 474, 930, 2215, 1720, - 808, - 1099, - 1925, - 560, - 782, 169, - 804, - 1074, - 188, - 626, - 55, 1405, - 694, - 716, - 1194, - 660, 354, 329, - 514, - 55, - 543, 366, 1033, 1182, - 658, - 959, - 1357, - 55, - 184, 93, - 605, - 286, - 662, 404, 449, 827, - 286, - 350, - 1263, 628, 306, 227, - 16, 147, - 623, 186, 923, 2146, - 674, - 890, - 1606, - 443, - 228, 339, - 369, - 790, - 409, 231, 86, 1469, - 448, - 581, - 1061, 594, 450, - 177, - 124, - 170, - 447, 671, 1159, 1404, - 476, - 667, - 1511, - 77, - 138, 716, - 177, - 372, - 381, 451, 934, 915, - 250, - 432, - 822, 272, 828, 446, 26, 19, - 31, 698, 1692, 2168, - 646, - 977, - 1924, - 179, - 473, 268, - 379, - 745, - 691, 11, 127, 1033, - 488, - 917, - 825, 61, 323, 135, 147, - 145, - 686, 685, 786, 1682, - 506, - 848, - 1297, 35, 90, 222, - 23, - 346, - 670, 455, 591, 1287, - 203, - 593, - 1086, 652, 352, 437, 39, 63, - 457, 841, 1265, 2105, - 520, - 882, - 1584, - 328, - 711, 1421, - 596, - 342, - 70, 209, 173, 1928, - 423, - 598, - 921, 421, 605, - 38, - 2, - 245, - 127, 896, 1969, 1135, - 379, - 518, - 1579, 173, 118, 753, - 55, - 381, - 52, 985, 1021, 753, - 2, - 291, - 891, 753, 992, 423, 264, 131, - 196, 895, 2274, 2543, - 635, - 1088, - 2499, - 529, - 982, 526, - 764, - 830, - 548, - 436, 316, 599, - 675, - 940, - 746, - 57, 236, - 11, - 201, - 81, - 798, 16, 845, 1558, - 737, - 985, - 1212, - 468, 17, 290, - 279, - 584, - 700, 183, 822, 705, - 265, - 492, - 1187, 421, 152, 468, - 390, 166, - 268, 39, 1550, 1868, - 635, - 966, - 1571, - 453, - 492, 910, - 284, - 1027, - 75, - 181, - 133, 1852, - 445, - 624, - 1174, 420, 367, - 49, - 389, - 212, - 169, 707, 1073, 1208, - 539, - 710, - 1449, 83, - 163, 484, - 236, - 543, - 355, 338, 1175, 814, - 246, - 309, - 958, 606, 760, 60, 166, - 8, - 163, - 306, 1849, 2563, - 747, - 1025, - 1783, - 419, - 446, 209, - 718, - 566, - 534, - 506, 693, 857, - 463, - 697, - 1082, 325, 431, - 206, - 15, - 8, - 763, 545, 919, 1518, - 611, - 783, - 1313, 256, - 55, 208, - 165, - 348, - 662, 321, 680, 930, - 326, - 429, - 951, 484, 446, 570, - 197, 72, - 73, 909, 1455, 1741, - 563, - 737, - 1974, - 124, - 416, 718, - 478, - 404, - 314, - 16, 446, 1636, - 551, - 537, - 750, - 58, 638, 214, 55, - 185, - 271, 1148, 1301, 1212, - 483, - 671, - 1264, 117, 285, 543, - 204, - 391, - 111, 513, 1538, 854, - 114, - 190, - 978, 877, 595, 464, 260, 260, - 311, 748, 2283, 2216, - 517, - 945, - 2171, - 326, - 708, 378, - 812, - 691, - 232, - 560, 687, 1409, - 732, - 690, - 836, - 359, 645, 386, - 265, 62, - 678, 145, 1644, 1208, - 555, - 988, - 1233, - 78, 14, 114, - 327, - 358, - 489, 392, 677, 697, - 201, - 236, - 1140, 693, 449, 178, - 243, 256, - 433, 611, 1385, 2456, - 612, - 901, - 1464, - 307, - 17, 499, - 315, - 667, - 254, 256, 428, 1463, - 486, - 422, - 1056, 655, 370, 18, - 102, - 185, - 276, 755, 1578, 1335, - 488, - 603, - 1418, 182, - 93, 870, - 73, - 458, - 348, 835, 862, 957, - 282, - 333, - 746, 547, 839, 428, 273, - 89, 13, 940, 1708, 2576, - 418, - 1084, - 1758, - 44, - 358, 259, - 497, - 643, - 560, 99, 557, 961, - 421, - 766, - 917, 295, 326, 184, 175, 15, - 626, 532, 878, 1981, - 443, - 768, - 1275, 221, 156, 268, 39, - 363, - 505, 695, 772, 1140, - 162, - 459, - 912, 709, 444, 658, 25, 303, - 312, 1268, 1410, 1715, - 297, - 766, - 1836, - 263, - 108, 1070, - 406, - 13, - 129, 57, 438, 2734, - 374, - 487, - 835, 304, 696, 164, 104, - 235, 5, 1611, 1900, 1399, - 229, - 582, - 1325, 405, 192, 817, - 87, - 438, 111, 1028, 1199, 993, 68, - 175, - 934, 1033, 1117, 451, 478, 200, - 248, 2127, 2696, 2042, - 835, - 1323, - 2131, - 799, - 692, 466, - 812, - 1032, - 469, - 622, 288, 920, - 701, - 841, - 1070, - 411, 512, 8, - 390, - 91, - 744, - 30, 1043, 1161, - 822, - 1148, - 1156, - 294, - 46, 110, - 411, - 374, - 678, 214, 531, 668, - 406, - 420, - 1194, 487, 232, 303, - 318, 91, - 472, 123, 1232, 2445, - 722, - 952, - 1495, - 738, - 675, 1332, - 543, - 606, - 211, - 95, - 98, 1508, - 549, - 514, - 1193, 473, 211, 73, - 288, - 112, - 389, 537, 1332, 1258, - 567, - 755, - 1545, 71, - 283, 632, - 170, - 481, - 493, 681, 1002, 817, - 356, - 331, - 877, 419, 706, 346, 241, - 34, - 326, 377, 1950, 1883, - 727, - 1075, - 1625, - 233, - 543, 116, - 524, - 806, - 585, - 73, 478, 729, - 288, - 925, - 1143, 173, 447, - 52, 68, - 229, - 606, 449, 529, 1797, - 591, - 875, - 1363, 183, - 144, 324, - 103, - 452, - 666, 623, 488, 1176, - 238, - 511, - 1004, 326, 552, 458, 136, 108, - 319, 626, 1343, 1883, - 490, - 646, - 1730, - 186, - 449, 984, - 738, - 76, - 170, - 550, 755, 2560, - 496, - 510, - 947, 210, 694, - 52, 84, - 322, - 199, 1090, 1625, 1224, - 376, - 603, - 1396, 343, 74, 632, - 175, - 502, - 32, 972, 1332, 734, 52, - 295, - 1113, 1065, 918, 160, 393, 107, - 397, 1214, 2649, 1741, - 632, - 1201, - 1891, - 719, - 277, 353, - 651, - 880, - 122, - 211, 209, 1338, - 562, - 714, - 1059, - 208, 388, 159, - 320, - 61, - 551, 293, 1092, 1443, - 648, - 865, - 1253, - 49, - 143, 305, - 401, - 227, - 585, 561, 532, 927, - 117, - 443, - 1188, 507, 436, 292, - 79, 233, - 458, 671, 1025, 2396, - 633, - 842, - 1525, - 308, - 286, 640, - 373, - 621, - 407, 418, 253, 1305, - 315, - 581, - 1137, 572, 685, - 281, 61, - 68, - 371, 991, 1101, 1498, - 493, - 683, - 1362, - 47, 164, 704, - 256, - 314, - 268, 631, 949, 1052, - 118, - 348, - 833, 68, 1180, 568, 152, 117, 34, 1113, 1902, 2239, - 601, - 959, - 1706, - 143, - 489, 480, - 332, - 655, - 574, 54, 353, 1192, - 462, - 652, - 796, 150, 549, 112, 195, - 111, - 515, 679, 1108, 1647, - 558, - 749, - 1217, - 9, 272, 341, - 53, - 265, - 535, 489, 843, 1298, - 120, - 482, - 1032, 632, 543, 408, 179, 306, - 526, 1124, 1464, 2244, - 417, - 786, - 1562, - 224, - 384, 1364, - 377, - 459, - 25, 385, 489, 2174, - 332, - 651, - 829, 544, 553, 61, 22, - 113, - 89, 1128, 1725, 1524, - 216, - 373, - 1653, 161, 316, 908, - 165, - 222, - 67, 1362, 1175, 789, 73, - 252, - 767, 738, 932, 616, 362, 246, - 126, 787, 2654, 3027, - 691, - 1106, - 2190, - 565, - 588, 524, - 590, - 979, - 490, - 263, 397, 982, - 577, - 837, - 945, - 22, 435, - 49, - 190, - 118, - 629, - 88, 1240, 1513, - 636, - 1051, - 1019, - 291, 189, 259, - 257, - 470, - 629, 145, 945, 894, - 326, - 364, - 1094, 543, 260, 630, - 202, 189, - 209, 357, 1379, 2091, - 569, - 1075, - 1449, - 714, - 239, 919, - 420, - 705, - 84, - 109, - 114, 2407, - 413, - 529, - 1177, 482, 368, 131, - 186, - 72, - 131, 861, 1255, 1220, - 611, - 658, - 1341, 227, - 121, 631, - 176, - 489, - 218, 745, 1175, 957, - 321, - 148, - 936, 671, 966, 216, 340, - 3, - 143, 469, 1848, 2437, - 729, - 961, - 1683, - 213, - 254, 321, - 511, - 438, - 521, - 126, 725, 903, - 340, - 685, - 1032, 316, 480, 20, 23, - 89, - 551, 353, 1051, 1789, - 544, - 757, - 1364, 298, - 25, 436, - 100, - 392, - 519, 467, 754, 1078, - 210, - 398, - 1078, 620, 658, 630, 33, 147, - 178, 921, 1687, 1921, - 325, - 528, - 1978, 2, - 285, 910, - 371, - 490, - 230, 0, 597, 2010, - 496, - 395, - 834, 37, 945, 245, 181, - 160, - 144, 1481, 1373, 1357, - 355, - 601, - 1270, 298, 322, 672, - 193, - 336, 77, 1089, 1533, 922, 177, - 39, - 1125, 996, 781, 536, 456, 366, - 432, 1415, 2440, 2279, - 466, - 758, - 2325, - 303, - 509, 387, - 727, - 557, 66, - 145, 643, 1248, - 544, - 676, - 916, - 225, 862, 588, - 152, 40, - 533, 423, 1423, 1558, - 572, - 843, - 1145, - 128, 85, 461, - 238, - 257, - 584, 605, 748, 861, 24, - 202, - 1409, 797, 487, 303, - 181, 364, - 182, 616, 1378, 2942, - 494, - 852, - 1441, - 292, 61, 812, - 84, - 723, - 182, 555, 532, 1506, - 365, - 493, - 1057, 822, 588, 11, - 14, - 18, - 230, 1001, 1401, 1451, - 474, - 569, - 1292, 302, 62, 1062, - 70, - 376, - 222, 982, 974, 1149, - 196, - 234, - 795, 479, 1098, 499, 362, 58, 70, 1147, 2069, 2857, - 487, - 878, - 1824, 73, - 288, 348, - 358, - 500, - 508, 199, 721, 1242, - 78, - 697, - 795, 361, 536, 196, 374, 110, - 735, 847, 1051, 1896, - 366, - 713, - 1182, 315, 320, 429, 72, - 215, - 450, 759, 886, 1363, - 30, - 428, - 834, 861, 627, 796, 118, 468, - 279, 1355, 1883, 1893, - 188, - 642, - 1612, 63, - 175, 1198, - 418, - 211, 51, 414, 587, 2601, - 234, - 557, - 858, 424, 889, 222, 136, - 101, 83, 1413, 2278, 1383, - 84, - 445, - 1389, 414, 313, 1045, 29, - 343, 65, 1552, 1647, 980, 183, - 91, - 829, 1273, 1413, 360, 553, 272, - 107, 1587, 3149, 2603 }; #define DICO1_SIZE_5 128 #define DICO2_SIZE_5 256 #define DICO3_SIZE_5 256 #define DICO4_SIZE_5 256 #define DICO5_SIZE_5 64 /* 1st LSF quantizer (MR122) */ static const Word32 dico1_lsf_5[DICO1_SIZE_5 * 4] = { - 451, - 1065, - 529, - 1305, - 450, - 756, - 497, - 863, - 384, - 619, - 413, - 669, - 317, - 538, - 331, - 556, - 414, - 508, - 424, - 378, - 274, - 324, - 434, - 614, - 226, - 500, - 232, - 514, - 263, - 377, - 298, - 410, - 151, - 710, - 174, - 818, - 149, - 412, - 156, - 429, - 288, - 462, - 186, - 203, - 170, - 302, - 191, - 321, - 131, - 147, - 297, - 395, - 228, - 214, - 245, - 192, - 67, - 316, - 71, - 327, - 104, - 205, - 94, - 183, - 143, - 38, - 193, - 95, 16, - 76, - 124, - 248, 23, - 237, 24, - 244, 18, - 136, 44, - 111, - 33, - 24, - 25, 0, 149, 19, 23, - 143, 158, - 169, 174, - 181, 133, - 55, 165, - 26, 111, 84, 98, 75, 87, 183, - 115, - 11, - 8, 130, 11, 170, 254, 77, 205, 17, 183, 112, 262, 194, 202, 287, 95, 189, - 42, - 105, 234, 179, 39, 186, 163, 345, 332, 199, 299, 161, - 54, 285, - 78, 281, - 133, 141, - 182, 111, 249, 341, 271, 364, 93, 403, 75, 391, 92, 510, - 138, 220, - 185, - 29, - 34, 361, - 115, 320, 3, 554, 99, 286, 218, 591, - 245, 406, - 268, 453, 0, 580, 25, 606, 275, 532, 148, 450, - 73, 739, - 285, 518, - 288, 94, - 203, 674, - 140, - 74, 205, 714, - 114, 299, 176, 923, 182, 557, 240, 705, - 16, 513, 485, 593, 293, 384, 451, 617, - 38, 50, 563, 529, 303, 209, 459, 363, 433, 452, 450, 454, 367, 606, 477, 741, 432, 353, 368, 267, 361, 716, 273, 583, 453, 166, 510, 172, 201, 629, 274, 191, 568, 639, 302, 298, 634, 387, 643, 350, 587, 560, 612, 565, 600, 788, 487, 672, 512, 1015, 321, 333, 357, 854, - 125, 413, 474, 712, 17, - 151, 564, 285, 270, - 241, 971, 889, 489, 220, 510, 896, 549, 924, 327, 825, 290, 911, 540, 1108, 158, 805, 199, 957, 511, 730, 100, 874, 13, 791, 435, 632, 676, 972, 249, 900, 467, 1218, 781, 1074, 585, 785, - 23, 669, 267, 1043, 619, 1084, 615, 1145, 622, 905, 916, 1049, 80, 331, 584, 1075, 89, 639, 988, 961, 770, 720, 798, 699, 492, 447, 899, 627, 271, 1188, 725, 1333, 87, 603, 832, 1603, 616, 1127, 890, 1505, 1000, 1156, 866, 1009, 995, 827, 1149, 858, 817, 1450, 773, 1320, 500, 1389, 312, 1153, - 20, 1084, 64, 1283, 2, 1172, 399, 1869, 514, 1706, 502, 1636, 886, 1522, 416, 600, 1131, 1350, 1275, 1390, 889, 1795, 914, 1766, 227, 1183, 1250, 1826, 505, 1854, 919, 2353, - 199, 431, 152, 1735, - 213, - 28, 392, 1334, - 153, - 52, 978, 1151, - 323, - 400, 813, 1703, - 136, 84, 1449, 2015, - 331, - 143, - 137, 1192, - 256, 534, - 157, 1031, - 307, - 439, 542, 731, - 329, - 420, - 97, 616, - 362, - 168, - 322, 366, - 247, - 110, - 211, 89, - 196, - 309, 20, 59, - 364, - 463, - 286, 89, - 336, 175, - 432, 141, - 379, - 190, - 434, - 196, - 79, 150, - 278, - 227, - 280, 166, - 555, - 422, - 155, 541, - 366, 54, - 29, - 83, - 301, - 774, 186, 628, - 397, - 264, 242, 293, - 197, - 585, 124, 410, 53, - 133, 10, 340, - 570, - 1065, 65, - 446, 68, - 493, 383, 937, - 357, - 711, - 359, - 250, - 677, - 1068, 292, - 26, 363, 6, 607, 1313, - 127, - 10, 1513, 1886, 713, 972, 1469, 2181, 1443, 2016 }; /* 2nd LSF quantizer (MR122) */ static const Word32 dico2_lsf_5[DICO2_SIZE_5 * 4] = { - 1631, - 1600, - 1796, - 2290, - 1027, - 1770, - 1100, - 2025, - 1277, - 1388, - 1367, - 1534, - 947, - 1461, - 972, - 1524, - 999, - 1222, - 1020, - 1172, - 815, - 987, - 992, - 1371, - 1216, - 1006, - 1289, - 1094, - 744, - 1268, - 755, - 1293, - 862, - 923, - 905, - 984, - 678, - 1051, - 685, - 1050, - 1087, - 985, - 1062, - 679, - 989, - 641, - 1127, - 976, - 762, - 654, - 890, - 806, - 833, - 1091, - 706, - 629, - 621, - 806, - 640, - 812, - 775, - 634, - 779, - 543, - 996, - 565, - 1075, - 580, - 546, - 611, - 572, - 619, - 760, - 290, - 879, - 526, - 823, - 462, - 795, - 253, - 553, - 415, - 589, - 439, - 533, - 340, - 692, - 935, - 505, - 772, - 702, - 1131, - 263, - 306, - 971, - 483, - 445, - 74, - 555, - 548, - 614, - 129, - 693, - 234, - 396, - 246, - 475, - 250, - 265, - 404, - 376, - 514, - 417, - 510, - 300, - 313, - 334, - 664, - 463, - 814, - 386, - 704, - 337, - 615, - 234, - 201, - 233, - 239, - 167, - 567, - 203, - 619, - 147, - 415, - 115, - 352, - 166, - 750, - 171, - 761, - 270, - 879, - 264, - 903, - 367, - 744, 43, - 475, 14, - 653, 43, - 670, 11, - 448, - 59, - 521, - 126, - 119, - 155, - 613, - 42, - 863, - 27, - 931, 136, - 483, 183, - 468, 55, - 298, 55, - 304, 313, - 609, 313, - 720, 322, - 167, 100, - 541, - 3, - 119, - 111, - 187, 233, - 236, 260, - 234, 26, - 165, 134, - 45, - 40, - 549, 360, - 203, 378, - 388, 450, - 383, 275, 20, 182, - 103, 246, - 111, 431, 37, 462, - 146, 487, - 157, - 284, - 59, 503, - 184, 24, 53, - 3, 54, 122, 259, 333, 66, 484, 104, 436, 68, 195, 116, 190, 206, 269, - 9, 482, 352, 382, 285, 399, 277, 452, 256, 69, 186, 13, 297, - 13, 259, - 95, 30, 56, 394, 196, 425, 205, 456, 281, 577, 15, 191, 375, 290, 407, 576, - 56, 227, 544, 405, 0, 549, - 92, 528, - 229, 351, - 245, 338, - 362, 435, 167, 527, - 75, 302, 91, 824, 129, 599, 496, 679, 186, 749, 153, 737, - 281, 600, - 348, 615, - 236, 769, 41, 881, 38, 890, - 220, 841, - 357, 883, - 393, 903, - 634, 474, - 444, 850, - 175, 678, - 493, 242, - 519, 785, - 714, 582, - 541, 366, - 543, 434, - 597, 500, - 765, 222, - 702, 917, - 743, 962, - 869, 501, - 899, 548, - 379, 200, - 435, 157, - 819, 214, - 861, 157, - 614, 40, - 632, 94, - 883, - 54, - 741, 516, - 501, 298, - 614, - 171, - 870, - 161, - 865, - 23, - 818, 93, - 1015, - 267, - 662, - 359, - 549, 2, - 442, - 121, - 377, 0, - 227, 33, - 414, - 126, - 129, 212, - 934, 34, - 1082, - 282, - 1119, - 268, - 710, - 825, - 420, - 191, - 1076, - 928, - 917, - 93, - 628, - 358, 97, 7, - 206, - 393, - 101, 24, - 203, 38, - 168, 83, - 599, - 423, - 279, 426, - 700, 118, - 75, 206, - 981, - 673, - 680, 417, - 367, 37, - 279, 474, - 129, - 318, 319, 296, - 626, - 39, 343, 602, - 696, - 39, - 303, 940, 104, 233, - 380, 137, - 36, 269, - 75, - 214, 120, 43, - 529, - 477, 459, 164, - 202, - 229, - 49, - 167, 609, 792, 98, - 220, 915, 148, 293, 283, 869, 91, 575, 394, 326, - 78, 717, 67, 365, - 323, 616, - 36, 731, 27, 619, 238, 632, 273, 448, 99, 801, 476, 869, 273, 685, 64, 789, 72, 1021, 217, 793, 459, 734, 360, 646, 480, 360, 322, 429, 464, 638, 430, 756, 363, 1000, 404, 683, 528, 602, 615, 655, 413, 946, 687, 937, 602, 904, 604, 555, 737, 786, 662, 467, 654, 362, 589, 929, 710, 498, 478, 415, 420, 693, 883, 813, 683, 781, 925, 913, 939, 726, 732, 491, 853, 531, 948, 734, 963, 315, 808, 761, 755, 1144, 760, 655, 1076, 826, 1057, 1091, 838, 1003, 808, 1047, 1133, 659, 1101, 992, 1050, 1074, 1075, 971, 694, 1226, 1054, 571, 841, 884, 1404, 1379, 1096, 1080, 861, 1231, 735, 1284, 760, 1272, 991, 1367, 1053, 1257, 700, 1050, 534, 988, 453, 1264, 599, 1140, 679, 1621, 815, 1384, 521, 1317, 393, 1564, 805, 1448, 686, 1068, 648, 875, 307, 1083, 361, 1047, 317, 1417, 964, 675, 571, 1152, 79, 1114, - 47, 1530, 311, 1721, 314, 1166, 689, 514, - 94, 349, 282, 1412, 328, 1025, 487, - 65, 57, 805, 970, 36, 62, 769, - 263, 791, - 346, 637, 699, - 137, 620, 534, 541, - 735, 194, 711, 300, - 268, - 863, 926, 769, - 708, - 428, 506, 174, - 892, - 630, 435, 547, - 1435, - 258, 621, 471, - 1018, - 1368, - 393, 521, - 920, - 686, - 25, 20, - 982, - 1156, 340, 9, - 1558, - 1135, - 352, 48, - 1579, - 402, - 887, 6, - 1156, - 888, - 548, - 352, - 1643, - 1168, - 159, 610, - 2024, - 963, - 225, 193, - 1656, - 1960, - 245, - 493, - 964, - 1680, - 936, - 635, - 1299, - 1744, - 1388, - 604, - 1540, - 835, - 1397, - 135, - 1588, - 290, - 1670, - 712, - 2011, - 1632, - 1663, - 27, - 2258, - 811, - 1157, 184, - 1265, 189, - 1367, 586, - 2011, 201, - 790, 712, - 1210, 3, - 1033, 808, - 1251, 830, - 111, 635, - 1636, 447, - 463, - 949, - 445, - 928, - 504, - 1162, - 501, - 1211, 144, - 351, - 372, - 1052, - 283, - 1059, - 279, - 1123, - 575, - 1438, - 587, - 1614, - 935, - 984, 229, 690, - 921, - 719, - 403, 1362, - 685, - 465, 874, 397, - 509, - 46, 317, 1334, - 485, 456, 813, 439, - 411, 339, 898, 1067, - 425, 46, 1441, 497, - 909, - 800, 1465, 1046, - 254, - 321, 1430, 1165, 68, 350, 1034, 666, 370, 11, 1311, 790, 143, 232, 1041, 1562, - 114, 663, 1616, 1078, 454, 579, 1275, 1040, - 76, 909, 752, 1067, 153, 512, 348, 1214, 614, 385, 1843, 808, 269, 1034, 203, 1086, 652, 1017, 1783, 1130, 429, 1327, 387, 1384, - 49, 1183, - 72, 1215, - 416, 1001, 544, 1749, - 352, 1223, - 502, 1199, - 589, 569, - 227, 1630, - 142, 1578, - 230, 1715, - 714, 1288, - 838, 1398, 1131, 1357, - 208, 1232, 437, 965, - 929, 818, 811, 1410, 859, 1507, 164, 1212, 1387, 1793, 484, 1874, 456, 2063, 996, 1170, 1326, 1402, 1316, 1360, 1135, 1262, 1234, 1618, 1361, 1768, 1421, 1227, 1584, 1347, 854, 672, 1685, 1566, 1139, 1270, 2016, 1825, 1773, 1581, 1532, 1460, 1487, 946, 1659, 1021, 1744, 1212, 1392, 977, 1772, 1161, 1826, 1164, 1718, 1429, 1973, 1591, 1185, 864, 2132, 1061, 1799, 814, 1838, 757, 2104, 1315, 2054, 1258, 2113, 915, 2331, 930, 1467, 1147, 2590, 1439, 2245, 1744, 2090, 1620, 2358, 1454, 2666, 1506, 1876, 1837, 2070, 1975, 1739, 1577, 682, 1289, 1584, 2045, 1454, 2098, 2498, 2004, 2711, 2066, 726, 1588, 2756, 2336, 228, 847, 2456, 1659, 36, 301, 1942, 1957, - 446, - 96, 2154, 1396, 1533, 1101, 14, 608, - 923, - 732, 1383, 1982, 1345, 952, - 680, 321, 1281, 1268, - 1594, 365, 941, 946, - 1737, - 822, 2374, 2787, 1821, 2788 }; /* 3rd LSF quantizer (MR122) */ static const Word32 dico3_lsf_5[DICO3_SIZE_5 * 4] = { - 1812, - 2275, - 1879, - 2537, - 1640, - 1848, - 1695, - 2004, - 1220, - 1912, - 1221, - 2106, - 1559, - 1588, - 1573, - 1556, - 1195, - 1615, - 1224, - 1727, - 1359, - 1151, - 1616, - 1948, - 1274, - 1391, - 1305, - 1403, - 1607, - 1179, - 1676, - 1311, - 1443, - 1478, - 1367, - 898, - 1256, - 1059, - 1331, - 1134, - 982, - 1133, - 1149, - 1504, - 1080, - 1308, - 1020, - 1183, - 980, - 1486, - 967, - 1495, - 988, - 922, - 1047, - 1077, - 838, - 1179, - 858, - 1222, - 1131, - 1041, - 1064, - 767, - 872, - 1157, - 701, - 880, - 706, - 906, - 774, - 1016, - 578, - 1080, - 801, - 1478, - 591, - 1111, - 592, - 1146, - 713, - 1388, - 640, - 1376, - 597, - 1059, - 416, - 903, - 686, - 832, - 661, - 708, - 444, - 868, - 490, - 921, - 374, - 776, - 619, - 1170, - 585, - 549, - 769, - 795, - 435, - 659, - 530, - 741, - 498, - 837, - 357, - 597, - 279, - 871, - 243, - 887, - 282, - 665, - 280, - 667, - 165, - 560, - 394, - 903, - 362, - 410, - 448, - 583, - 409, - 574, - 313, - 357, - 637, - 548, - 570, - 436, - 896, - 504, - 382, - 757, - 58, - 481, - 165, - 618, - 191, - 374, - 234, - 382, - 222, - 683, - 25, - 480, - 418, - 359, - 730, - 353, - 324, - 157, - 432, - 322, - 394, - 303, - 284, - 104, - 601, - 289, - 556, - 196, - 588, - 150, - 659, - 608, - 473, - 24, - 68, - 448, - 474, - 8, - 506, - 45, - 748, - 184, - 844, - 252, - 901, - 91, - 584, - 97, - 652, 138, - 764, - 131, - 678, - 12, - 670, 165, - 259, - 3, - 840, - 107, - 909, 37, - 992, 44, - 854, - 415, - 839, 13, - 1001, - 271, - 1026, - 309, - 798, - 478, - 832, - 488, - 943, 168, - 1112, - 387, - 1185, - 101, - 1183, - 40, - 941, - 316, - 1030, - 770, - 1044, - 625, - 1081, - 538, - 1224, - 299, - 1312, - 436, - 1197, - 663, - 1167, - 161, - 1216, - 690, - 1237, - 831, - 1432, - 720, - 1403, - 493, - 898, - 740, - 922, - 801, - 1102, - 402, - 1579, - 964, - 1061, - 638, - 1269, - 1438, - 1499, - 934, - 1502, - 895, - 1598, - 564, - 1723, - 717, - 606, - 597, - 1166, - 1085, - 1369, - 468, - 1946, - 1493, - 1838, - 953, - 1932, - 931, - 1499, - 188, - 1635, - 421, - 1457, - 338, - 1448, - 22, - 1942, - 422, - 2006, - 249, - 496, - 114, - 1910, - 755, - 1289, 174, - 1451, - 109, - 482, - 257, - 1221, - 508, - 1617, 151, - 1694, 208, - 654, 107, - 1651, 29, - 1141, 279, - 1215, 306, - 1228, - 506, - 730, - 175, - 1236, - 101, - 969, 551, - 870, 278, - 823, 315, - 563, 376, - 1051, 228, - 507, 280, - 599, 281, - 758, 253, - 305, 379, - 755, - 134, - 611, 660, - 824, 536, - 817, 646, - 413, 49, - 341, 177, - 453, 526, - 482, 589, - 71, 339, - 657, 264, - 244, 295, - 237, 315, - 387, 569, - 506, - 9, - 377, 14, - 160, 661, - 216, 40, - 308, - 46, 95, 214, - 242, 167, - 86, 192, - 56, 27, - 76, 31, 36, 309, - 106, - 182, - 113, 74, - 441, - 22, 23, 139, 81, - 11, 44, 15, - 87, - 137, - 118, - 207, - 158, - 58, 272, - 92, - 156, - 441, 8, - 136, 128, - 221, 101, - 218, 40, - 197, - 76, - 456, 9, - 445, 33, - 423, 226, 60, 73, - 222, 156, - 399, 280, - 318, 245, - 341, 166, - 499, 339, - 190, 327, - 219, 325, - 137, - 89, - 596, 100, - 627, 144, - 677, 487, 28, 252, - 391, 214, - 41, 282, - 28, 99, - 286, 331, 49, 459, - 388, 565, - 369, 436, 28, 336, - 9, 397, - 167, 618, 34, 596, - 17, 561, - 140, 299, 79, 522, 125, 203, 2, 244, 288, 255, 211, 175, 82, 596, 187, 517, 108, 381, 255, 365, 297, 497, 352, 327, - 82, 25, 210, 371, 245, 261, 3, 545, 449, 140, 294, 44, 295, 212, 347, 244, 494, 331, 528, 201, 307, 349, 411, 613, 284, 614, 413, 464, 322, 624, 397, 97, 200, - 160, 384, 149, 362, 495, 525, 269, 585, 33, 491, - 121, 433, 427, 611, 498, 516, 171, 443, 497, 666, 440, 275, 566, 575, 146, 639, 155, 670, - 33, 173, 212, 696, - 166, 601, - 191, 695, - 489, 503, 175, 742, 214, 476, 372, 1083, 578, 530, 586, 777, 425, 874, 315, 841, 374, 848, - 165, 565, 35, 991, - 39, 1062, 329, 712, 786, 840, 645, 795, 661, 676, 571, 918, 632, 1079, 673, 817, 318, 388, 874, 1012, 564, 848, 880, 620, 557, 479, 671, 453, 692, 468, 840, 642, 844, 645, 506, 428, 897, 567, 837, 387, 962, 499, 691, 561, 939, 926, 783, 296, 790, 268, 1028, 530, 874, 329, 548, 143, 675, 291, 503, 66, 1041, 359, 786, 97, 805, 33, 837, 470, 511, 49, 1092, 327, 1174, 323, 3, 242, 872, 474, 689, 429, 1329, 678, 1042, 620, 1109, 664, 321, 193, 889, 950, 1153, 874, 893, 635, 877, 862, 948, 913, 1293, 665, 1320, 639, 997, 793, 1402, 1030, 1176, 1012, 1110, 959, 1410, 925, 1403, 915, 543, 862, 1116, 1222, 835, 1190, 835, 1190, 959, 1148, 1147, 1376, 1300, 1193, 1415, 1231, 1335, 1341, 746, 1092, 1711, 1283, 1389, 1073, 1334, 1566, 1153, 1475, 1645, 1137, 1825, 1220, 1056, 1382, 1521, 1730, 1632, 1545, 1620, 1542, 855, 1596, 865, 1667, 693, 885, 1716, 1519, 1167, 1296, 2209, 1760, 1952, 1493, 2020, 1482, 1534, 1866, 1694, 2008, 1566, 748, 1761, 825, 294, 1392, 1084, 2058, 621, 1315, 365, 1287, 198, 1028, 488, 1408, 249, 403, 1014, 1561, 324, 363, 1645, 1044, 193, 367, 2034, 1859, - 251, 579, 750, 994, - 243, 30, 1325, 879, - 28, - 169, 624, 917, - 453, 159, 186, 1370, - 614, 6, 537, 392, - 94, - 291, 781, 229, - 128, - 298, 245, 491, - 701, - 648, 972, 789, - 501, - 640, 178, 255, - 365, - 390, - 255, 317, - 958, - 294, - 191, 228, - 775, - 447, 157, - 237, - 657, - 720, - 407, 92, - 117, - 611, 334, - 230, - 679, - 1084, - 144, - 317, - 901, - 861, - 738, - 360, - 85, - 727, - 90, - 787, 100, - 22, - 391, - 263, - 56, - 73, - 337, - 754, 5, - 189, - 706, - 624, 89, - 344, - 135, - 1113, - 353, - 237, - 684, - 1135, - 275, - 1102, - 269, - 1203, 152, 145, - 722, - 1232, 49, 80, - 1248, - 776, - 248, 391, - 732, - 547, 469, 218, - 255, - 864, 69, 366, - 166, - 485, - 688, 191, - 1212, - 1196, - 170, - 169, - 1308, - 1631, 321, 470, - 1419, - 1243, - 64, 272, - 1361, - 248, 492, 565, - 721, - 609, 195, 485, - 573, - 133, 427, 202, - 171, - 118, 199, 575, 2, - 31, 694, 755, - 1366, - 39, 552, 557, - 489, 271, 680, 537, 13, - 453, 855, 954, - 133, - 52, - 81, 738, - 1169, 637, 1055, 1059, - 95, 676, 1259, 1081, 489, 305, - 449, 954, - 534, 996, - 969, 866, - 1058, 1059, - 1294, 618, - 1416, 617, - 458, 1366, - 159, 1821, - 774, - 528, - 14, 1110, - 1202, - 901, - 772, 433, - 1256, - 1255, - 1011, - 302, - 602, - 585, - 759, - 1618, - 760, - 1549, - 840, - 1921, - 816, - 539, - 1769, - 2235, - 227, - 36, - 2034, - 1831, - 2107, - 1126, - 2471, - 1816, - 1470, 252, - 2701, - 415, - 571, - 467, 1509, 1554, 2180, 1975, 2326, 2020 }; /* 4th LSF quantizer (MR122) */ static const Word32 dico4_lsf_5[DICO4_SIZE_5 * 4] = { - 1857, - 1681, - 1857, - 1755, - 2056, - 1150, - 2134, - 1654, - 1619, - 1099, - 1704, - 1131, - 1345, - 1608, - 1359, - 1638, - 1338, - 1293, - 1325, - 1265, - 1664, - 1649, - 1487, - 851, - 1346, - 1832, - 1413, - 2188, - 1282, - 681, - 1785, - 1649, - 966, - 1082, - 1183, - 1676, - 1054, - 1073, - 1142, - 1158, - 1207, - 744, - 1274, - 997, - 934, - 1383, - 927, - 1416, - 1010, - 1305, - 783, - 955, - 1049, - 900, - 993, - 817, - 737, - 823, - 972, - 1189, - 738, - 1094, - 738, - 1154, - 784, - 801, - 810, - 786, - 892, - 520, - 1000, - 818, - 644, - 965, - 577, - 882, - 541, - 694, - 671, - 917, - 595, - 642, - 646, - 615, - 956, - 621, - 925, - 515, - 727, - 483, - 815, - 485, - 840, - 578, - 440, - 713, - 578, - 325, - 657, - 670, - 386, - 570, - 441, - 666, - 514, - 787, - 392, - 529, - 522, - 453, - 487, - 423, - 616, - 585, - 617, - 157, - 662, - 268, - 680, - 348, - 322, - 323, - 632, - 444, - 304, - 430, - 332, - 458, - 277, - 468, - 659, - 793, - 319, - 636, - 227, - 554, - 373, - 347, - 334, - 210, - 456, - 192, - 530, - 242, - 216, - 198, - 366, - 370, - 338, - 161, - 409, - 748, - 107, - 380, - 294, - 643, - 223, - 665, - 234, - 741, - 141, - 496, - 130, - 510, - 139, - 327, - 172, - 305, - 306, - 580, - 164, - 263, - 262, - 172, - 67, - 402, 31, - 366, - 10, - 436, - 86, - 527, 71, - 377, - 22, - 609, - 12, - 678, - 67, - 319, 63, - 191, 35, - 181, - 39, - 242, 126, - 167, - 140, - 544, 155, - 297, 174, - 297, 38, - 8, 117, - 380, 197, - 452, 240, - 522, 223, - 103, 110, - 187, 87, - 155, 169, - 47, 157, 26, - 83, - 100, 128, 80, 209, - 62, 6, 7, 22, 5, 318, - 20, 248, - 45, - 200, - 63, 156, - 69, 250, - 183, 369, - 126, - 113, - 76, - 142, - 122, - 64, - 254, - 31, 35, - 177, - 71, - 7, 171, 93, 27, 108, 212, - 330, - 209, - 123, - 70, - 279, 95, - 96, 20, - 188, - 61, - 314, 87, - 300, - 78, - 354, - 134, 11, 122, - 140, 122, - 275, 152, - 293, 140, - 82, 138, - 321, - 111, - 480, - 156, - 359, 76, - 254, - 40, - 635, - 96, - 522, 79, - 507, 8, - 268, 303, - 539, 68, - 446, 61, - 522, 306, 111, 189, - 435, 122, - 379, 166, - 571, - 398, - 632, - 74, - 747, - 95, - 455, 194, - 952, 83, - 798, 192, - 755, 192, - 781, - 162, - 619, 234, - 663, - 297, - 488, - 109, - 964, - 132, - 838, - 68, - 843, 58, - 1112, - 86, - 805, - 299, - 944, - 253, - 778, - 50, - 965, - 549, - 352, - 98, - 992, - 343, - 1117, - 315, - 1117, - 307, - 1155, - 374, - 637, - 230, - 1166, - 43, - 1299, - 100, - 925, - 393, - 1274, - 600, - 689, - 130, - 1479, - 312, - 1321, - 254, - 1464, - 442, - 1292, - 613, - 1261, - 503, - 1501, - 368, - 1322, 26, - 1432, - 66, - 1743, - 161, - 1644, - 467, - 1760, - 548, - 1393, - 568, - 1556, - 871, - 1495, - 1034, - 1387, - 571, - 1917, - 528, - 1783, - 123, - 1897, - 231, - 2054, - 323, - 2052, - 906, - 1976, - 567, - 1917, - 620, - 2047, - 989, - 1077, - 370, - 2031, - 704, - 2355, - 749, - 2740, - 1089, - 1909, 159, - 2012, 248, - 626, - 123, - 2339, - 962, - 669, - 408, - 1379, - 1174, - 452, - 364, - 1044, - 735, - 132, 183, - 1620, - 752, - 547, - 307, - 777, - 1261, - 98, 41, - 880, - 1091, - 257, 97, - 1602, - 1833, 31, - 26, - 644, - 561, - 180, - 546, - 385, - 1095, - 410, - 802, - 414, - 827, - 457, - 970, - 490, - 1109, - 215, - 916, - 144, - 937, - 493, - 1269, - 517, - 1507, 181, 101, - 332, - 889, - 836, - 937, - 559, - 429, - 629, - 547, - 183, - 337, - 545, - 82, - 250, - 286, 5, - 132, - 348, - 252, - 293, - 472, - 158, 100, - 29, 197, - 236, - 424, - 861, - 213, - 140, - 7, - 427, - 443, 187, - 97, - 684, - 736, - 293, 258, - 368, - 152, - 150, 392, - 609, 175, - 142, 299, - 138, 152, - 119, 329, - 486, - 52, 293, 198, - 183, 117, 175, 331, - 58, - 274, 231, 300, - 288, 330, - 305, 372, - 111, 409, - 9, 423, 83, 256, 67, 367, - 19, 248, 91, 113, - 35, 406, - 191, 154, 238, 296, 5, 197, 141, 221, 313, 198, 211, 421, 244, 334, 88, 426, - 243, 454, 202, 552, - 5, 403, 291, 185, 219, 301, 251, 138, 128, 69, 197, 288, - 140, - 61, 188, 361, 197, 598, 442, 273, 290, 143, 472, 482, 157, 370, 415, 321, 372, 385, 402, 552, 155, 24, 550, 263, - 11, 21, 360, 227, 147, - 254, 424, 97, 366, - 13, 375, 141, 449, 232, 396, 507, 474, 272, 701, 324, 362, - 47, 587, 148, 543, 69, 400, - 51, 561, 59, 220, - 10, 352, 147, 206, 211, 653, 185, 563, 297, 565, 284, 594, 121, 766, 192, 398, 118, 642, 434, 233, 264, 481, 467, 129, - 165, 699, 239, 90, 26, 342, 474, - 55, 27, 388, 94, - 172, 0, 725, 379, - 60, 337, 370, 465, 95, 319, 806, 595, 78, 260, 497, 851, 210, 560, 458, 574, - 464, 202, 497, 625, - 202, 152, 48, 712, - 20, 566, 100, 715, 455, 468, 411, 605, 319, 646, 195, 615, 401, 538, 680, 739, 201, 667, 434, 954, 454, 425, 646, 491, 606, 681, 416, 508, 497, 822, 426, 815, 660, 647, 628, 716, 697, 466, 618, 457, 685, 460, 365, 309, 721, 567, 836, 601, 609, 300, 825, 459, 943, 687, 681, 533, 915, 598, 591, 243, 876, 451, 874, 420, 786, 317, 732, 220, 922, 317, 1108, 367, 531, 466, 1028, 649, 1053, 615, 1034, 553, 829, 602, 1021, 799, 927, 803, 878, 763, 799, 496, 1373, 773, 585, 770, 803, 930, 1099, 793, 1222, 862, 1209, 895, 1025, 727, 772, 845, 1172, 1115, 867, 1021, 830, 1013, 841, 910, 506, 703, 1239, 1077, 620, 819, 1196, 1083, 1155, 1081, 1142, 907, 1547, 1121, 1309, 648, 1343, 612, 1484, 988, 1479, 937, 985, 1328, 955, 1341, 429, 910, 841, 1338, 564, 1179, 412, 1156, 1427, 1320, 1434, 1330, 640, 760, 1726, 1410, 190, 555, 1073, 1005, 426, 257, 839, 980, 235, 231, 1520, 1167, 109, 293, 1014, 1569, 305, 142, 1148, 539, - 291, - 108, 1213, 972, 22, - 216, 667, 828, - 482, 438, 453, 1431, - 581, - 422, 789, 387, - 358, - 454, 174, 780, - 36, - 372, 390, - 134, - 629, 160, - 306, 751, - 1258, - 331, 177, 522, - 248, 574, - 251, 639, - 531, 407, - 596, 394, - 419, 789, - 617, 801, - 986, 399, - 857, 727, - 7, 518, - 703, 310, - 1143, - 24, - 1002, 287, - 960, 363, - 1299, 312, - 1534, 245, - 1557, 305, 28, 153, - 859, - 175, - 33, 332, - 1398, - 154, 212, 410, - 593, - 197, - 1092, - 704, - 904, - 65, 282, 367, - 918, - 686, 345, 93, - 258, - 357, 696, 644, - 693, - 28, 448, 493, - 273, 193, 527, 546, - 243, - 513, 384, - 136, 273, - 353, 512, - 142, 537, - 198, 941, 750, 83, 248, 578, 861, - 56, 592, 842, 44, 892, 24, 33, 890, - 16, 982, 831, 1398, 1535, 1898, 1716, 1376, 1948, 1465 }; /* 5th LSF quantizer (MR122) */ static const Word32 dico5_lsf_5[DICO5_SIZE_5 * 4] = { - 1002, - 929, - 1096, - 1203, - 641, - 931, - 604, - 961, - 779, - 673, - 835, - 788, - 416, - 664, - 458, - 766, - 652, - 521, - 662, - 495, - 1023, - 509, - 1023, - 428, - 444, - 552, - 368, - 449, - 479, - 211, - 1054, - 903, - 316, - 249, - 569, - 591, - 569, - 275, - 541, - 191, - 716, - 188, - 842, - 264, - 333, - 248, - 318, - 228, - 275, 1, - 567, - 228, - 115, - 221, - 238, - 374, - 197, - 507, - 222, - 579, - 258, - 432, - 61, - 244, - 345, 2, - 338, 39, - 215, - 169, - 58, 0, - 56, - 6, - 203, - 131, 1, - 186, - 5, - 211, 6, - 380, 11, - 418, - 116, 131, - 134, 113, 89, - 4, 71, - 2, - 19, - 192, 262, 24, 189, 151, - 133, - 109, 186, - 153, 166, - 219, 37, 139, 193, 171, 337, 124, 158, - 61, 141, 226, - 13, 190, 231, 34, 354, 109, 316, 201, 244, 164, 330, - 85, 390, - 84, 254, 327, 257, 335, 491, 147, 476, 105, 54, 77, 437, 370, 421, 314, 449, 342, 329, 126, 673, 292, 571, 388, 243, 193, 653, 320, 621, 280, 194, 380, 517, 581, 45, 323, 111, 422, 489, 395, 734, 534, 622, 546, 486, 502, 318, 572, 189, 550, 385, 422, - 157, 153, - 125, 382, - 197, 386, - 263, 334, 228, 697, - 188, 1, 51, 297, - 507, 213, - 376, 397, - 24, 255, - 547, 89, - 502, - 94, 387, 179, - 620, 68, - 684, 112, - 642, - 350, - 260, 172, - 438, - 324, 264, 648, - 964, - 4, - 1121, 7, - 134, 134, - 1133, - 306, 143, 96, - 420, - 497, - 1221, - 350, - 1527, - 685, - 161, 72, 873, 691, 732, 283, 921, 353, 334, 475, 1095, 821, 864, 524, 843, 497, 714, 711, 788, 750, 1076, 714, 1204, 753 }; /* Scaling factors for the lsp variability operation */ static const Word16 lsf_hist_mean_scale[M] = { 20000, 20000, 20000, 20000, 20000, 18000, 16384, 8192, 0, 0 }; /* * The tables contains the following data: * * g_pitch (Q14), * g_fac (Q12), (g_code = g_code0*g_fac), * qua_ener_MR122 (Q10), (log2(g_fac)) * qua_ener (Q10) (20*log10(g_fac)) * * The log2() and log10() values are calculated on the fixed point value * (g_fac Q12) and not on the original floating point value of g_fac * to make the quantizer/MA predictdor use corresponding values. */ #define MR475_VQ_SIZE 256 /* The table contains the following data: * * g_pitch(0) (Q14) for sub- * g_fac(0) (Q12) frame 0 and 2 * g_pitch(1) (Q14) for sub- * g_fac(2) (Q12) frame 1 and 3 * */ static const Word32 table_gain_MR475[MR475_VQ_SIZE * 4] = { /* * g_pit(0), * g_fac(0), * g_pit(1), * g_fac(1) */ 812, 128, 542, 140, 2873, 1135, 2266, 3402, 2067, 563, 12677, 647, 4132, 1798, 5601, 5285, 7689, 374, 3735, 441, 10912, 2638, 11807, 2494, 20490, 797, 5218, 675, 6724, 8354, 5282, 1696, 1488, 428, 5882, 452, 5332, 4072, 3583, 1268, 2469, 901, 15894, 1005, 14982, 3271, 10331, 4858, 3635, 2021, 2596, 835, 12360, 4892, 12206, 1704, 13432, 1604, 9118, 2341, 3968, 1538, 5479, 9936, 3795, 417, 1359, 414, 3640, 1569, 7995, 3541, 11405, 645, 8552, 635, 4056, 1377, 16608, 6124, 11420, 700, 2007, 607, 12415, 1578, 11119, 4654, 13680, 1708, 11990, 1229, 7996, 7297, 13231, 5715, 2428, 1159, 2073, 1941, 6218, 6121, 3546, 1804, 8925, 1802, 8679, 1580, 13935, 3576, 13313, 6237, 6142, 1130, 5994, 1734, 14141, 4662, 11271, 3321, 12226, 1551, 13931, 3015, 5081, 10464, 9444, 6706, 1689, 683, 1436, 1306, 7212, 3933, 4082, 2713, 7793, 704, 15070, 802, 6299, 5212, 4337, 5357, 6676, 541, 6062, 626, 13651, 3700, 11498, 2408, 16156, 716, 12177, 751, 8065, 11489, 6314, 2256, 4466, 496, 7293, 523, 10213, 3833, 8394, 3037, 8403, 966, 14228, 1880, 8703, 5409, 16395, 4863, 7420, 1979, 6089, 1230, 9371, 4398, 14558, 3363, 13559, 2873, 13163, 1465, 5534, 1678, 13138, 14771, 7338, 600, 1318, 548, 4252, 3539, 10044, 2364, 10587, 622, 13088, 669, 14126, 3526, 5039, 9784, 15338, 619, 3115, 590, 16442, 3013, 15542, 4168, 15537, 1611, 15405, 1228, 16023, 9299, 7534, 4976, 1990, 1213, 11447, 1157, 12512, 5519, 9475, 2644, 7716, 2034, 13280, 2239, 16011, 5093, 8066, 6761, 10083, 1413, 5002, 2347, 12523, 5975, 15126, 2899, 18264, 2289, 15827, 2527, 16265, 10254, 14651, 11319, 1797, 337, 3115, 397, 3510, 2928, 4592, 2670, 7519, 628, 11415, 656, 5946, 2435, 6544, 7367, 8238, 829, 4000, 863, 10032, 2492, 16057, 3551, 18204, 1054, 6103, 1454, 5884, 7900, 18752, 3468, 1864, 544, 9198, 683, 11623, 4160, 4594, 1644, 3158, 1157, 15953, 2560, 12349, 3733, 17420, 5260, 6106, 2004, 2917, 1742, 16467, 5257, 16787, 1680, 17205, 1759, 4773, 3231, 7386, 6035, 14342, 10012, 4035, 442, 4194, 458, 9214, 2242, 7427, 4217, 12860, 801, 11186, 825, 12648, 2084, 12956, 6554, 9505, 996, 6629, 985, 10537, 2502, 15289, 5006, 12602, 2055, 15484, 1653, 16194, 6921, 14231, 5790, 2626, 828, 5615, 1686, 13663, 5778, 3668, 1554, 11313, 2633, 9770, 1459, 14003, 4733, 15897, 6291, 6278, 1870, 7910, 2285, 16978, 4571, 16576, 3849, 15248, 2311, 16023, 3244, 14459, 17808, 11847, 2763, 1981, 1407, 1400, 876, 4335, 3547, 4391, 4210, 5405, 680, 17461, 781, 6501, 5118, 8091, 7677, 7355, 794, 8333, 1182, 15041, 3160, 14928, 3039, 20421, 880, 14545, 852, 12337, 14708, 6904, 1920, 4225, 933, 8218, 1087, 10659, 4084, 10082, 4533, 2735, 840, 20657, 1081, 16711, 5966, 15873, 4578, 10871, 2574, 3773, 1166, 14519, 4044, 20699, 2627, 15219, 2734, 15274, 2186, 6257, 3226, 13125, 19480, 7196, 930, 2462, 1618, 4515, 3092, 13852, 4277, 10460, 833, 17339, 810, 16891, 2289, 15546, 8217, 13603, 1684, 3197, 1834, 15948, 2820, 15812, 5327, 17006, 2438, 16788, 1326, 15671, 8156, 11726, 8556, 3762, 2053, 9563, 1317, 13561, 6790, 12227, 1936, 8180, 3550, 13287, 1778, 16299, 6599, 16291, 7758, 8521, 2551, 7225, 2645, 18269, 7489, 16885, 2248, 17882, 2884, 17265, 3328, 9417, 20162, 11042, 8320, 1286, 620, 1431, 583, 5993, 2289, 3978, 3626, 5144, 752, 13409, 830, 5553, 2860, 11764, 5908, 10737, 560, 5446, 564, 13321, 3008, 11946, 3683, 19887, 798, 9825, 728, 13663, 8748, 7391, 3053, 2515, 778, 6050, 833, 6469, 5074, 8305, 2463, 6141, 1865, 15308, 1262, 14408, 4547, 13663, 4515, 3137, 2983, 2479, 1259, 15088, 4647, 15382, 2607, 14492, 2392, 12462, 2537, 7539, 2949, 12909, 12060, 5468, 684, 3141, 722, 5081, 1274, 12732, 4200, 15302, 681, 7819, 592, 6534, 2021, 16478, 8737, 13364, 882, 5397, 899, 14656, 2178, 14741, 4227, 14270, 1298, 13929, 2029, 15477, 7482, 15815, 4572, 2521, 2013, 5062, 1804, 5159, 6582, 7130, 3597, 10920, 1611, 11729, 1708, 16903, 3455, 16268, 6640, 9306, 1007, 9369, 2106, 19182, 5037, 12441, 4269, 15919, 1332, 15357, 3512, 11898, 14141, 16101, 6854, 2010, 737, 3779, 861, 11454, 2880, 3564, 3540, 9057, 1241, 12391, 896, 8546, 4629, 11561, 5776, 8129, 589, 8218, 588, 18728, 3755, 12973, 3149, 15729, 758, 16634, 754, 15222, 11138, 15871, 2208, 4673, 610, 10218, 678, 15257, 4146, 5729, 3327, 8377, 1670, 19862, 2321, 15450, 5511, 14054, 5481, 5728, 2888, 7580, 1346, 14384, 5325, 16236, 3950, 15118, 3744, 15306, 1435, 14597, 4070, 12301, 15696, 7617, 1699, 2170, 884, 4459, 4567, 18094, 3306, 12742, 815, 14926, 907, 15016, 4281, 15518, 8368, 17994, 1087, 2358, 865, 16281, 3787, 15679, 4596, 16356, 1534, 16584, 2210, 16833, 9697, 15929, 4513, 3277, 1085, 9643, 2187, 11973, 6068, 9199, 4462, 8955, 1629, 10289, 3062, 16481, 5155, 15466, 7066, 13678, 2543, 5273, 2277, 16746, 6213, 16655, 3408, 20304, 3363, 18688, 1985, 14172, 12867, 15154, 15703, 4473, 1020, 1681, 886, 4311, 4301, 8952, 3657, 5893, 1147, 11647, 1452, 15886, 2227, 4582, 6644, 6929, 1205, 6220, 799, 12415, 3409, 15968, 3877, 19859, 2109, 9689, 2141, 14742, 8830, 14480, 2599, 1817, 1238, 7771, 813, 19079, 4410, 5554, 2064, 3687, 2844, 17435, 2256, 16697, 4486, 16199, 5388, 8028, 2763, 3405, 2119, 17426, 5477, 13698, 2786, 19879, 2720, 9098, 3880, 18172, 4833, 17336, 12207, 5116, 996, 4935, 988, 9888, 3081, 6014, 5371, 15881, 1667, 8405, 1183, 15087, 2366, 19777, 7002, 11963, 1562, 7279, 1128, 16859, 1532, 15762, 5381, 14708, 2065, 20105, 2155, 17158, 8245, 17911, 6318, 5467, 1504, 4100, 2574, 17421, 6810, 5673, 2888, 16636, 3382, 8975, 1831, 20159, 4737, 19550, 7294, 6658, 2781, 11472, 3321, 19397, 5054, 18878, 4722, 16439, 2373, 20430, 4386, 11353, 26526, 11593, 3068, 2866, 1566, 5108, 1070, 9614, 4915, 4939, 3536, 7541, 878, 20717, 851, 6938, 4395, 16799, 7733, 10137, 1019, 9845, 964, 15494, 3955, 15459, 3430, 18863, 982, 20120, 963, 16876, 12887, 14334, 4200, 6599, 1220, 9222, 814, 16942, 5134, 5661, 4898, 5488, 1798, 20258, 3962, 17005, 6178, 17929, 5929, 9365, 3420, 7474, 1971, 19537, 5177, 19003, 3006, 16454, 3788, 16070, 2367, 8664, 2743, 9445, 26358, 10856, 1287, 3555, 1009, 5606, 3622, 19453, 5512, 12453, 797, 20634, 911, 15427, 3066, 17037, 10275, 18883, 2633, 3913, 1268, 19519, 3371, 18052, 5230, 19291, 1678, 19508, 3172, 18072, 10754, 16625, 6845, 3134, 2298, 10869, 2437, 15580, 6913, 12597, 3381, 11116, 3297, 16762, 2424, 18853, 6715, 17171, 9887, 12743, 2605, 8937, 3140, 19033, 7764, 18347, 3880, 20475, 3682, 19602, 3380, 13044, 19373, 10526, 23124 }; /* table used in 'high' rates: MR67 MR74 */ #define VQ_SIZE_HIGHRATES 128 static const Word32 table_gain_highrates[VQ_SIZE_HIGHRATES * 4] = { /* * Note: every 4th value (qua_ener) contains the original values from IS641 * to ensure bit-exactness; however, they are not exactly the * rounded value of (20*log10(g_fac)) */ /* * g_pit, * g_fac, * qua_ener_MR122, * qua_ener */ 577, 662, - 2692, - 16214, 806, 1836, - 1185, - 7135, 3109, 1052, - 2008, - 12086, 4181, 1387, - 1600, - 9629, 2373, 1425, - 1560, - 9394, 3248, 1985, - 1070, - 6442, 1827, 2320, - 840, - 5056, 941, 3314, - 313, - 1885, 2351, 2977, - 471, - 2838, 3616, 2420, - 777, - 4681, 3451, 3096, - 414, - 2490, 2955, 4301, 72, 434, 1848, 4500, 139, 836, 3884, 5416, 413, 2484, 1187, 7210, 835, 5030, 3083, 9000, 1163, 7002, 7384, 883, - 2267, - 13647, 5962, 1506, - 1478, - 8900, 5155, 2134, - 963, - 5800, 7944, 2009, - 1052, - 6335, 6507, 2250, - 885, - 5327, 7670, 2752, - 588, - 3537, 5952, 3016, - 452, - 2724, 4898, 3764, - 125, - 751, 6989, 3588, - 196, - 1177, 8174, 3978, - 43, - 260, 6064, 4404, 107, 645, 7709, 5087, 320, 1928, 5523, 6021, 569, 3426, 7769, 7126, 818, 4926, 6060, 7938, 977, 5885, 5594, 11487, 1523, 9172, 10581, 1356, - 1633, - 9831, 9049, 1597, - 1391, - 8380, 9794, 2035, - 1033, - 6220, 8946, 2415, - 780, - 4700, 10296, 2584, - 681, - 4099, 9407, 2734, - 597, - 3595, 8700, 3218, - 356, - 2144, 9757, 3395, - 277, - 1669, 10177, 3892, - 75, - 454, 9170, 4528, 148, 891, 10152, 5004, 296, 1781, 9114, 5735, 497, 2993, 10500, 6266, 628, 3782, 10110, 7631, 919, 5534, 8844, 8727, 1117, 6728, 8956, 12496, 1648, 9921, 12924, 976, - 2119, - 12753, 11435, 1755, - 1252, - 7539, 12138, 2328, - 835, - 5024, 11388, 2368, - 810, - 4872, 10700, 3064, - 429, - 2580, 12332, 2861, - 530, - 3192, 11722, 3327, - 307, - 1848, 11270, 3700, - 150, - 904, 10861, 4413, 110, 663, 12082, 4533, 150, 902, 11283, 5205, 354, 2132, 11960, 6305, 637, 3837, 11167, 7534, 900, 5420, 12128, 8329, 1049, 6312, 10969, 10777, 1429, 8604, 10300, 17376, 2135, 12853, 13899, 1681, - 1316, - 7921, 12580, 2045, - 1026, - 6179, 13265, 2439, - 766, - 4610, 14033, 2989, - 465, - 2802, 13452, 3098, - 413, - 2482, 12396, 3658, - 167, - 1006, 13510, 3780, - 119, - 713, 12880, 4272, 62, 374, 13533, 4861, 253, 1523, 12667, 5457, 424, 2552, 13854, 6106, 590, 3551, 13031, 6483, 678, 4084, 13557, 7721, 937, 5639, 12957, 9311, 1213, 7304, 13714, 11551, 1532, 9221, 12591, 15206, 1938, 11667, 15113, 1540, - 1445, - 8700, 15072, 2333, - 832, - 5007, 14527, 2511, - 723, - 4352, 14692, 3199, - 365, - 2197, 15382, 3560, - 207, - 1247, 14133, 3960, - 50, - 300, 15102, 4236, 50, 298, 14332, 4824, 242, 1454, 14846, 5451, 422, 2542, 15306, 6083, 584, 3518, 14329, 6888, 768, 4623, 15060, 7689, 930, 5602, 14406, 9426, 1231, 7413, 15387, 9741, 1280, 7706, 14824, 14271, 1844, 11102, 13600, 24939, 2669, 16067, 16396, 1969, - 1082, - 6517, 16817, 2832, - 545, - 3283, 15713, 2843, - 539, - 3248, 16104, 3336, - 303, - 1825, 16384, 3963, - 49, - 294, 16940, 4579, 165, 992, 15711, 4599, 171, 1030, 16222, 5448, 421, 2537, 16832, 6382, 655, 3945, 15745, 7141, 821, 4944, 16326, 7469, 888, 5343, 16611, 8624, 1100, 6622, 17028, 10418, 1379, 8303, 15905, 11817, 1565, 9423, 16878, 14690, 1887, 11360, 16515, 20870, 2406, 14483, 18142, 2083, - 999, - 6013, 19401, 3178, - 375, - 2257, 17508, 3426, - 264, - 1589, 20054, 4027, - 25, - 151, 18069, 4249, 54, 326, 18952, 5066, 314, 1890, 17711, 5402, 409, 2461, 19835, 6192, 610, 3676, 17950, 7014, 795, 4784, 21318, 7877, 966, 5816, 17910, 9289, 1210, 7283, 19144, 9290, 1210, 7284, 20517, 11381, 1510, 9089, 18075, 14485, 1866, 11234, 19999, 17882, 2177, 13108, 18842, 32764, 3072, 18494 }; /* table used in 'low' rates: MR475, MR515, MR59 */ #define VQ_SIZE_LOWRATES 64 static const Word32 table_gain_lowrates[VQ_SIZE_LOWRATES * 4] = { /* * g_pit, * g_fac, * qua_ener_MR122, * qua_ener */ 10813, 28753, 2879, 17333, 20480, 2785, - 570, - 3431, 18841, 6594, 703, 4235, 6225, 7413, 876, 5276, 17203, 10444, 1383, 8325, 21626, 1269, - 1731, - 10422, 21135, 4423, 113, 683, 11304, 1556, - 1430, - 8609, 19005, 12820, 1686, 10148, 17367, 2498, - 731, - 4398, 17858, 4833, 244, 1472, 9994, 2498, - 731, - 4398, 17530, 7864, 964, 5802, 14254, 1884, - 1147, - 6907, 15892, 3153, - 387, - 2327, 6717, 1802, - 1213, - 7303, 18186, 20193, 2357, 14189, 18022, 3031, - 445, - 2678, 16711, 5857, 528, 3181, 8847, 4014, - 30, - 180, 15892, 8970, 1158, 6972, 18022, 1392, - 1594, - 9599, 16711, 4096, 0, 0, 8192, 655, - 2708, - 16305, 15237, 13926, 1808, 10884, 14254, 3112, - 406, - 2444, 14090, 4669, 193, 1165, 5406, 2703, - 614, - 3697, 13434, 6553, 694, 4180, 12451, 901, - 2237, - 13468, 12451, 2662, - 637, - 3833, 3768, 655, - 2708, - 16305, 14745, 23511, 2582, 15543, 19169, 2457, - 755, - 4546, 20152, 5079, 318, 1913, 6881, 4096, 0, 0, 20480, 8560, 1089, 6556, 19660, 737, - 2534, - 15255, 19005, 4259, 58, 347, 7864, 2088, - 995, - 5993, 11468, 12288, 1623, 9771, 15892, 1474, - 1510, - 9090, 15728, 4628, 180, 1086, 9175, 1433, - 1552, - 9341, 16056, 7004, 793, 4772, 14827, 737, - 2534, - 15255, 15073, 2252, - 884, - 5321, 5079, 1228, - 1780, - 10714, 13271, 17326, 2131, 12827, 16547, 2334, - 831, - 5002, 15073, 5816, 518, 3118, 3932, 3686, - 156, - 938, 14254, 8601, 1096, 6598, 16875, 778, - 2454, - 14774, 15073, 3809, - 107, - 646, 6062, 614, - 2804, - 16879, 9338, 9256, 1204, 7251, 13271, 1761, - 1247, - 7508, 13271, 3522, - 223, - 1343, 2457, 1966, - 1084, - 6529, 11468, 5529, 443, 2668, 10485, 737, - 2534, - 15255, 11632, 3194, - 367, - 2212, 1474, 778, - 2454, - 14774 }; static const Word32 inter6[61] = { 29443, 28346, 25207, 20449, 14701, 8693, 3143, - 1352, - 4402, - 5865, - 5850, - 4673, - 2783, - 672, 1211, 2536, 3130, 2991, 2259, 1170, 0, - 1001, - 1652, - 1868, - 1666, - 1147, - 464, 218, 756, 1060, 1099, 904, 550, 135, - 245, - 514, - 634, - 602, - 451, - 231, 0, 191, 308, 340, 296, 198, 78, - 36, - 120, - 163, - 165, - 132, - 79, - 19, 34, 73, 91, 89, 70, 38, 0 }; /* * window for non-MR122 modesm; uses 40 samples lookahead * used only in BuildCNParam */ static const Word32 window_200_40[L_WINDOW] = { 2621, 2623, 2629, 2638, 2651, 2668, 2689, 2713, 2741, 2772, 2808, 2847, 2890, 2936, 2986, 3040, 3097, 3158, 3223, 3291, 3363, 3438, 3517, 3599, 3685, 3774, 3867, 3963, 4063, 4166, 4272, 4382, 4495, 4611, 4731, 4853, 4979, 5108, 5240, 5376, 5514, 5655, 5800, 5947, 6097, 6250, 6406, 6565, 6726, 6890, 7057, 7227, 7399, 7573, 7750, 7930, 8112, 8296, 8483, 8672, 8863, 9057, 9252, 9450, 9650, 9852, 10055, 10261, 10468, 10677, 10888, 11101, 11315, 11531, 11748, 11967, 12187, 12409, 12632, 12856, 13082, 13308, 13536, 13764, 13994, 14225, 14456, 14688, 14921, 15155, 15389, 15624, 15859, 16095, 16331, 16568, 16805, 17042, 17279, 17516, 17754, 17991, 18228, 18465, 18702, 18939, 19175, 19411, 19647, 19882, 20117, 20350, 20584, 20816, 21048, 21279, 21509, 21738, 21967, 22194, 22420, 22644, 22868, 23090, 23311, 23531, 23749, 23965, 24181, 24394, 24606, 24816, 25024, 25231, 25435, 25638, 25839, 26037, 26234, 26428, 26621, 26811, 26999, 27184, 27368, 27548, 27727, 27903, 28076, 28247, 28415, 28581, 28743, 28903, 29061, 29215, 29367, 29515, 29661, 29804, 29944, 30081, 30214, 30345, 30472, 30597, 30718, 30836, 30950, 31062, 31170, 31274, 31376, 31474, 31568, 31659, 31747, 31831, 31911, 31988, 32062, 32132, 32198, 32261, 32320, 32376, 32428, 32476, 32521, 32561, 32599, 32632, 32662, 32688, 32711, 32729, 32744, 32755, 32763, 32767, 32767, 32741, 32665, 32537, 32359, 32129, 31850, 31521, 31143, 30716, 30242, 29720, 29151, 28538, 27879, 27177, 26433, 25647, 24821, 23957, 23055, 22117, 21145, 20139, 19102, 18036, 16941, 15820, 14674, 13505, 12315, 11106, 9879, 8637, 7381, 6114, 4838, 3554, 2264, 971}; /* comparision optimization tables */ /* definition of bad speech */ static const UWord8 table_speech_bad[9] = {0, 0, 1, 1, 0, 0, 0, 1, 0}; static const UWord8 table_SID[9] = {0, 0, 0, 0, 1, 1, 1, 0, 0}; static const UWord8 table_DTX[9] = {0, 0, 0, 0, 1, 1, 1, 1, 0}; static const UWord8 table_mute[9] = {0, 0, 0, 0, 1, 0, 1, 1, 0}; /* track start positions for fixed codebook routines */ static const Word8 startPos[16] = { 0, 2, 0, 3, 0, 2, 0, 3, 1, 3, 2, 4, 1, 4, 1, 4 }; #endif