Files
2025-08-27 09:51:58 +01:00

13311 lines
127 KiB
C

/*
* ===================================================================
* TS 26.104
* REL-5 V5.4.0 2004-03
* REL-6 V6.1.0 2004-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