q_plsf_5_tbl.cpp revision 4f1efc098cb5791c3e9f483f2af84aef70d2d0a0
1/* ------------------------------------------------------------------
2 * Copyright (C) 1998-2009 PacketVideo
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 * express or implied.
14 * See the License for the specific language governing permissions
15 * and limitations under the License.
16 * -------------------------------------------------------------------
17 */
18/****************************************************************************************
19Portions of this file are derived from the following 3GPP standard:
20
21    3GPP TS 26.073
22    ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec
23    Available from http://www.3gpp.org
24
25(C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC)
26Permission to distribute, modify and use this file under the standard license
27terms listed above has been obtained from the copyright holder.
28****************************************************************************************/
29/*
30
31 Filename: /audio/gsm_amr/c/src/q_plsf_5_tbl.c
32
33------------------------------------------------------------------------------
34 REVISION HISTORY
35
36 Description: Created this file from the reference, q_plsf_5_tbl.tab
37
38 Description: Changed #defines of DICO_SIZE to DICO_5_SIZE, to avoid name
39 conflicts.
40
41 Description: Added #ifdef __cplusplus and removed "extern" from table
42              definition.
43
44 Description: Put "extern" back.
45
46 Who:                       Date:
47 Description:
48
49------------------------------------------------------------------------------
50 MODULE DESCRIPTION
51
52------------------------------------------------------------------------------
53*/
54
55/*----------------------------------------------------------------------------
56; INCLUDES
57----------------------------------------------------------------------------*/
58#include "typedef.h"
59
60/*--------------------------------------------------------------------------*/
61#ifdef __cplusplus
62extern "C"
63{
64#endif
65
66    /*----------------------------------------------------------------------------
67    ; MACROS
68    ; [Define module specific macros here]
69    ----------------------------------------------------------------------------*/
70
71    /*----------------------------------------------------------------------------
72    ; DEFINES
73    ; [Include all pre-processor statements here. Include conditional
74    ; compile variables also.]
75    ----------------------------------------------------------------------------*/
76#define NB_QUA_PITCH 16
77#define NB_QUA_CODE 32
78
79
80#define DICO1_5_SIZE  128
81#define DICO2_5_SIZE  256
82#define DICO3_5_SIZE  256
83#define DICO4_5_SIZE  256
84#define DICO5_5_SIZE  64
85
86    /*----------------------------------------------------------------------------
87    ; LOCAL FUNCTION DEFINITIONS
88    ; [List function prototypes here]
89    ----------------------------------------------------------------------------*/
90
91    /*----------------------------------------------------------------------------
92    ; LOCAL VARIABLE DEFINITIONS
93    ; [Variable declaration - defined here and used outside this module]
94    ----------------------------------------------------------------------------*/
95    /* LSF means ->normalize frequency domain */
96
97    extern const Word16 mean_lsf_5[10] =
98    {
99        1384,
100        2077,
101        3420,
102        5108,
103        6742,
104        8122,
105        9863,
106        11092,
107        12714,
108        13701
109    };
110
111    extern const Word16 dico1_lsf_5[DICO1_5_SIZE * 4] =
112    {
113        -451, -1065, -529, -1305,
114        -450, -756, -497, -863,
115        -384, -619, -413, -669,
116        -317, -538, -331, -556,
117        -414, -508, -424, -378,
118        -274, -324, -434, -614,
119        -226, -500, -232, -514,
120        -263, -377, -298, -410,
121        -151, -710, -174, -818,
122        -149, -412, -156, -429,
123        -288, -462, -186, -203,
124        -170, -302, -191, -321,
125        -131, -147, -297, -395,
126        -228, -214, -245, -192,
127        -67, -316, -71, -327,
128        -104, -205, -94, -183,
129        -143, -38, -193, -95,
130        16, -76, -124, -248,
131        23, -237, 24, -244,
132        18, -136, 44, -111,
133        -33, -24, -25, 0,
134        149, 19, 23, -143,
135        158, -169, 174, -181,
136        133, -55, 165, -26,
137        111, 84, 98, 75,
138        87, 183, -115, -11,
139        -8, 130, 11, 170,
140        254, 77, 205, 17,
141        183, 112, 262, 194,
142        202, 287, 95, 189,
143        -42, -105, 234, 179,
144        39, 186, 163, 345,
145        332, 199, 299, 161,
146        -54, 285, -78, 281,
147        -133, 141, -182, 111,
148        249, 341, 271, 364,
149        93, 403, 75, 391,
150        92, 510, -138, 220,
151        -185, -29, -34, 361,
152        -115, 320, 3, 554,
153        99, 286, 218, 591,
154        -245, 406, -268, 453,
155        0, 580, 25, 606,
156        275, 532, 148, 450,
157        -73, 739, -285, 518,
158        -288, 94, -203, 674,
159        -140, -74, 205, 714,
160        -114, 299, 176, 923,
161        182, 557, 240, 705,
162        -16, 513, 485, 593,
163        293, 384, 451, 617,
164        -38, 50, 563, 529,
165        303, 209, 459, 363,
166        433, 452, 450, 454,
167        367, 606, 477, 741,
168        432, 353, 368, 267,
169        361, 716, 273, 583,
170        453, 166, 510, 172,
171        201, 629, 274, 191,
172        568, 639, 302, 298,
173        634, 387, 643, 350,
174        587, 560, 612, 565,
175        600, 788, 487, 672,
176        512, 1015, 321, 333,
177        357, 854, -125, 413,
178        474, 712, 17, -151,
179        564, 285, 270, -241,
180        971, 889, 489, 220,
181        510, 896, 549, 924,
182        327, 825, 290, 911,
183        540, 1108, 158, 805,
184        199, 957, 511, 730,
185        100, 874, 13, 791,
186        435, 632, 676, 972,
187        249, 900, 467, 1218,
188        781, 1074, 585, 785,
189        -23, 669, 267, 1043,
190        619, 1084, 615, 1145,
191        622, 905, 916, 1049,
192        80, 331, 584, 1075,
193        89, 639, 988, 961,
194        770, 720, 798, 699,
195        492, 447, 899, 627,
196        271, 1188, 725, 1333,
197        87, 603, 832, 1603,
198        616, 1127, 890, 1505,
199        1000, 1156, 866, 1009,
200        995, 827, 1149, 858,
201        817, 1450, 773, 1320,
202        500, 1389, 312, 1153,
203        -20, 1084, 64, 1283,
204        2, 1172, 399, 1869,
205        514, 1706, 502, 1636,
206        886, 1522, 416, 600,
207        1131, 1350, 1275, 1390,
208        889, 1795, 914, 1766,
209        227, 1183, 1250, 1826,
210        505, 1854, 919, 2353,
211        -199, 431, 152, 1735,
212        -213, -28, 392, 1334,
213        -153, -52, 978, 1151,
214        -323, -400, 813, 1703,
215        -136, 84, 1449, 2015,
216        -331, -143, -137, 1192,
217        -256, 534, -157, 1031,
218        -307, -439, 542, 731,
219        -329, -420, -97, 616,
220        -362, -168, -322, 366,
221        -247, -110, -211, 89,
222        -196, -309, 20, 59,
223        -364, -463, -286, 89,
224        -336, 175, -432, 141,
225        -379, -190, -434, -196,
226        -79, 150, -278, -227,
227        -280, 166, -555, -422,
228        -155, 541, -366, 54,
229        -29, -83, -301, -774,
230        186, 628, -397, -264,
231        242, 293, -197, -585,
232        124, 410, 53, -133,
233        10, 340, -570, -1065,
234        65, -446, 68, -493,
235        383, 937, -357, -711,
236        -359, -250, -677, -1068,
237        292, -26, 363, 6,
238        607, 1313, -127, -10,
239        1513, 1886, 713, 972,
240        1469, 2181, 1443, 2016
241    };
242
243    extern const Word16 dico2_lsf_5[DICO2_5_SIZE * 4] =
244    {
245        -1631, -1600, -1796, -2290,
246        -1027, -1770, -1100, -2025,
247        -1277, -1388, -1367, -1534,
248        -947, -1461, -972, -1524,
249        -999, -1222, -1020, -1172,
250        -815, -987, -992, -1371,
251        -1216, -1006, -1289, -1094,
252        -744, -1268, -755, -1293,
253        -862, -923, -905, -984,
254        -678, -1051, -685, -1050,
255        -1087, -985, -1062, -679,
256        -989, -641, -1127, -976,
257        -762, -654, -890, -806,
258        -833, -1091, -706, -629,
259        -621, -806, -640, -812,
260        -775, -634, -779, -543,
261        -996, -565, -1075, -580,
262        -546, -611, -572, -619,
263        -760, -290, -879, -526,
264        -823, -462, -795, -253,
265        -553, -415, -589, -439,
266        -533, -340, -692, -935,
267        -505, -772, -702, -1131,
268        -263, -306, -971, -483,
269        -445, -74, -555, -548,
270        -614, -129, -693, -234,
271        -396, -246, -475, -250,
272        -265, -404, -376, -514,
273        -417, -510, -300, -313,
274        -334, -664, -463, -814,
275        -386, -704, -337, -615,
276        -234, -201, -233, -239,
277        -167, -567, -203, -619,
278        -147, -415, -115, -352,
279        -166, -750, -171, -761,
280        -270, -879, -264, -903,
281        -367, -744, 43, -475,
282        14, -653, 43, -670,
283        11, -448, -59, -521,
284        -126, -119, -155, -613,
285        -42, -863, -27, -931,
286        136, -483, 183, -468,
287        55, -298, 55, -304,
288        313, -609, 313, -720,
289        322, -167, 100, -541,
290        -3, -119, -111, -187,
291        233, -236, 260, -234,
292        26, -165, 134, -45,
293        -40, -549, 360, -203,
294        378, -388, 450, -383,
295        275, 20, 182, -103,
296        246, -111, 431, 37,
297        462, -146, 487, -157,
298        -284, -59, 503, -184,
299        24, 53, -3, 54,
300        122, 259, 333, 66,
301        484, 104, 436, 68,
302        195, 116, 190, 206,
303        269, -9, 482, 352,
304        382, 285, 399, 277,
305        452, 256, 69, 186,
306        13, 297, -13, 259,
307        -95, 30, 56, 394,
308        196, 425, 205, 456,
309        281, 577, 15, 191,
310        375, 290, 407, 576,
311        -56, 227, 544, 405,
312        0, 549, -92, 528,
313        -229, 351, -245, 338,
314        -362, 435, 167, 527,
315        -75, 302, 91, 824,
316        129, 599, 496, 679,
317        186, 749, 153, 737,
318        -281, 600, -348, 615,
319        -236, 769, 41, 881,
320        38, 890, -220, 841,
321        -357, 883, -393, 903,
322        -634, 474, -444, 850,
323        -175, 678, -493, 242,
324        -519, 785, -714, 582,
325        -541, 366, -543, 434,
326        -597, 500, -765, 222,
327        -702, 917, -743, 962,
328        -869, 501, -899, 548,
329        -379, 200, -435, 157,
330        -819, 214, -861, 157,
331        -614, 40, -632, 94,
332        -883, -54, -741, 516,
333        -501, 298, -614, -171,
334        -870, -161, -865, -23,
335        -818, 93, -1015, -267,
336        -662, -359, -549, 2,
337        -442, -121, -377, 0,
338        -227, 33, -414, -126,
339        -129, 212, -934, 34,
340        -1082, -282, -1119, -268,
341        -710, -825, -420, -191,
342        -1076, -928, -917, -93,
343        -628, -358, 97, 7,
344        -206, -393, -101, 24,
345        -203, 38, -168, 83,
346        -599, -423, -279, 426,
347        -700, 118, -75, 206,
348        -981, -673, -680, 417,
349        -367, 37, -279, 474,
350        -129, -318, 319, 296,
351        -626, -39, 343, 602,
352        -696, -39, -303, 940,
353        104, 233, -380, 137,
354        -36, 269, -75, -214,
355        120, 43, -529, -477,
356        459, 164, -202, -229,
357        -49, -167, 609, 792,
358        98, -220, 915, 148,
359        293, 283, 869, 91,
360        575, 394, 326, -78,
361        717, 67, 365, -323,
362        616, -36, 731, 27,
363        619, 238, 632, 273,
364        448, 99, 801, 476,
365        869, 273, 685, 64,
366        789, 72, 1021, 217,
367        793, 459, 734, 360,
368        646, 480, 360, 322,
369        429, 464, 638, 430,
370        756, 363, 1000, 404,
371        683, 528, 602, 615,
372        655, 413, 946, 687,
373        937, 602, 904, 604,
374        555, 737, 786, 662,
375        467, 654, 362, 589,
376        929, 710, 498, 478,
377        415, 420, 693, 883,
378        813, 683, 781, 925,
379        913, 939, 726, 732,
380        491, 853, 531, 948,
381        734, 963, 315, 808,
382        761, 755, 1144, 760,
383        655, 1076, 826, 1057,
384        1091, 838, 1003, 808,
385        1047, 1133, 659, 1101,
386        992, 1050, 1074, 1075,
387        971, 694, 1226, 1054,
388        571, 841, 884, 1404,
389        1379, 1096, 1080, 861,
390        1231, 735, 1284, 760,
391        1272, 991, 1367, 1053,
392        1257, 700, 1050, 534,
393        988, 453, 1264, 599,
394        1140, 679, 1621, 815,
395        1384, 521, 1317, 393,
396        1564, 805, 1448, 686,
397        1068, 648, 875, 307,
398        1083, 361, 1047, 317,
399        1417, 964, 675, 571,
400        1152, 79, 1114, -47,
401        1530, 311, 1721, 314,
402        1166, 689, 514, -94,
403        349, 282, 1412, 328,
404        1025, 487, -65, 57,
405        805, 970, 36, 62,
406        769, -263, 791, -346,
407        637, 699, -137, 620,
408        534, 541, -735, 194,
409        711, 300, -268, -863,
410        926, 769, -708, -428,
411        506, 174, -892, -630,
412        435, 547, -1435, -258,
413        621, 471, -1018, -1368,
414        -393, 521, -920, -686,
415        -25, 20, -982, -1156,
416        340, 9, -1558, -1135,
417        -352, 48, -1579, -402,
418        -887, 6, -1156, -888,
419        -548, -352, -1643, -1168,
420        -159, 610, -2024, -963,
421        -225, 193, -1656, -1960,
422        -245, -493, -964, -1680,
423        -936, -635, -1299, -1744,
424        -1388, -604, -1540, -835,
425        -1397, -135, -1588, -290,
426        -1670, -712, -2011, -1632,
427        -1663, -27, -2258, -811,
428        -1157, 184, -1265, 189,
429        -1367, 586, -2011, 201,
430        -790, 712, -1210, 3,
431        -1033, 808, -1251, 830,
432        -111, 635, -1636, 447,
433        -463, -949, -445, -928,
434        -504, -1162, -501, -1211,
435        144, -351, -372, -1052,
436        -283, -1059, -279, -1123,
437        -575, -1438, -587, -1614,
438        -935, -984, 229, 690,
439        -921, -719, -403, 1362,
440        -685, -465, 874, 397,
441        -509, -46, 317, 1334,
442        -485, 456, 813, 439,
443        -411, 339, 898, 1067,
444        -425, 46, 1441, 497,
445        -909, -800, 1465, 1046,
446        -254, -321, 1430, 1165,
447        68, 350, 1034, 666,
448        370, 11, 1311, 790,
449        143, 232, 1041, 1562,
450        -114, 663, 1616, 1078,
451        454, 579, 1275, 1040,
452        -76, 909, 752, 1067,
453        153, 512, 348, 1214,
454        614, 385, 1843, 808,
455        269, 1034, 203, 1086,
456        652, 1017, 1783, 1130,
457        429, 1327, 387, 1384,
458        -49, 1183, -72, 1215,
459        -416, 1001, 544, 1749,
460        -352, 1223, -502, 1199,
461        -589, 569, -227, 1630,
462        -142, 1578, -230, 1715,
463        -714, 1288, -838, 1398,
464        1131, 1357, -208, 1232,
465        437, 965, -929, 818,
466        811, 1410, 859, 1507,
467        164, 1212, 1387, 1793,
468        484, 1874, 456, 2063,
469        996, 1170, 1326, 1402,
470        1316, 1360, 1135, 1262,
471        1234, 1618, 1361, 1768,
472        1421, 1227, 1584, 1347,
473        854, 672, 1685, 1566,
474        1139, 1270, 2016, 1825,
475        1773, 1581, 1532, 1460,
476        1487, 946, 1659, 1021,
477        1744, 1212, 1392, 977,
478        1772, 1161, 1826, 1164,
479        1718, 1429, 1973, 1591,
480        1185, 864, 2132, 1061,
481        1799, 814, 1838, 757,
482        2104, 1315, 2054, 1258,
483        2113, 915, 2331, 930,
484        1467, 1147, 2590, 1439,
485        2245, 1744, 2090, 1620,
486        2358, 1454, 2666, 1506,
487        1876, 1837, 2070, 1975,
488        1739, 1577, 682, 1289,
489        1584, 2045, 1454, 2098,
490        2498, 2004, 2711, 2066,
491        726, 1588, 2756, 2336,
492        228, 847, 2456, 1659,
493        36, 301, 1942, 1957,
494        -446, -96, 2154, 1396,
495        1533, 1101, 14, 608,
496        -923, -732, 1383, 1982,
497        1345, 952, -680, 321,
498        1281, 1268, -1594, 365,
499        941, 946, -1737, -822,
500        2374, 2787, 1821, 2788
501    };
502
503    extern const Word16 dico3_lsf_5[DICO3_5_SIZE * 4] =
504    {
505        -1812, -2275, -1879, -2537,
506        -1640, -1848, -1695, -2004,
507        -1220, -1912, -1221, -2106,
508        -1559, -1588, -1573, -1556,
509        -1195, -1615, -1224, -1727,
510        -1359, -1151, -1616, -1948,
511        -1274, -1391, -1305, -1403,
512        -1607, -1179, -1676, -1311,
513        -1443, -1478, -1367, -898,
514        -1256, -1059, -1331, -1134,
515        -982, -1133, -1149, -1504,
516        -1080, -1308, -1020, -1183,
517        -980, -1486, -967, -1495,
518        -988, -922, -1047, -1077,
519        -838, -1179, -858, -1222,
520        -1131, -1041, -1064, -767,
521        -872, -1157, -701, -880,
522        -706, -906, -774, -1016,
523        -578, -1080, -801, -1478,
524        -591, -1111, -592, -1146,
525        -713, -1388, -640, -1376,
526        -597, -1059, -416, -903,
527        -686, -832, -661, -708,
528        -444, -868, -490, -921,
529        -374, -776, -619, -1170,
530        -585, -549, -769, -795,
531        -435, -659, -530, -741,
532        -498, -837, -357, -597,
533        -279, -871, -243, -887,
534        -282, -665, -280, -667,
535        -165, -560, -394, -903,
536        -362, -410, -448, -583,
537        -409, -574, -313, -357,
538        -637, -548, -570, -436,
539        -896, -504, -382, -757,
540        -58, -481, -165, -618,
541        -191, -374, -234, -382,
542        -222, -683, -25, -480,
543        -418, -359, -730, -353,
544        -324, -157, -432, -322,
545        -394, -303, -284, -104,
546        -601, -289, -556, -196,
547        -588, -150, -659, -608,
548        -473, -24, -68, -448,
549        -474, -8, -506, -45,
550        -748, -184, -844, -252,
551        -901, -91, -584, -97,
552        -652, 138, -764, -131,
553        -678, -12, -670, 165,
554        -259, -3, -840, -107,
555        -909, 37, -992, 44,
556        -854, -415, -839, 13,
557        -1001, -271, -1026, -309,
558        -798, -478, -832, -488,
559        -943, 168, -1112, -387,
560        -1185, -101, -1183, -40,
561        -941, -316, -1030, -770,
562        -1044, -625, -1081, -538,
563        -1224, -299, -1312, -436,
564        -1197, -663, -1167, -161,
565        -1216, -690, -1237, -831,
566        -1432, -720, -1403, -493,
567        -898, -740, -922, -801,
568        -1102, -402, -1579, -964,
569        -1061, -638, -1269, -1438,
570        -1499, -934, -1502, -895,
571        -1598, -564, -1723, -717,
572        -606, -597, -1166, -1085,
573        -1369, -468, -1946, -1493,
574        -1838, -953, -1932, -931,
575        -1499, -188, -1635, -421,
576        -1457, -338, -1448, -22,
577        -1942, -422, -2006, -249,
578        -496, -114, -1910, -755,
579        -1289, 174, -1451, -109,
580        -482, -257, -1221, -508,
581        -1617, 151, -1694, 208,
582        -654, 107, -1651, 29,
583        -1141, 279, -1215, 306,
584        -1228, -506, -730, -175,
585        -1236, -101, -969, 551,
586        -870, 278, -823, 315,
587        -563, 376, -1051, 228,
588        -507, 280, -599, 281,
589        -758, 253, -305, 379,
590        -755, -134, -611, 660,
591        -824, 536, -817, 646,
592        -413, 49, -341, 177,
593        -453, 526, -482, 589,
594        -71, 339, -657, 264,
595        -244, 295, -237, 315,
596        -387, 569, -506, -9,
597        -377, 14, -160, 661,
598        -216, 40, -308, -46,
599        95, 214, -242, 167,
600        -86, 192, -56, 27,
601        -76, 31, 36, 309,
602        -106, -182, -113, 74,
603        -441, -22, 23, 139,
604        81, -11, 44, 15,
605        -87, -137, -118, -207,
606        -158, -58, 272, -92,
607        -156, -441, 8, -136,
608        128, -221, 101, -218,
609        40, -197, -76, -456,
610        9, -445, 33, -423,
611        226, 60, 73, -222,
612        156, -399, 280, -318,
613        245, -341, 166, -499,
614        339, -190, 327, -219,
615        325, -137, -89, -596,
616        100, -627, 144, -677,
617        487, 28, 252, -391,
618        214, -41, 282, -28,
619        99, -286, 331, 49,
620        459, -388, 565, -369,
621        436, 28, 336, -9,
622        397, -167, 618, 34,
623        596, -17, 561, -140,
624        299, 79, 522, 125,
625        203, 2, 244, 288,
626        255, 211, 175, 82,
627        596, 187, 517, 108,
628        381, 255, 365, 297,
629        497, 352, 327, -82,
630        25, 210, 371, 245,
631        261, 3, 545, 449,
632        140, 294, 44, 295,
633        212, 347, 244, 494,
634        331, 528, 201, 307,
635        349, 411, 613, 284,
636        614, 413, 464, 322,
637        624, 397, 97, 200,
638        -160, 384, 149, 362,
639        495, 525, 269, 585,
640        33, 491, -121, 433,
641        427, 611, 498, 516,
642        171, 443, 497, 666,
643        440, 275, 566, 575,
644        146, 639, 155, 670,
645        -33, 173, 212, 696,
646        -166, 601, -191, 695,
647        -489, 503, 175, 742,
648        214, 476, 372, 1083,
649        578, 530, 586, 777,
650        425, 874, 315, 841,
651        374, 848, -165, 565,
652        35, 991, -39, 1062,
653        329, 712, 786, 840,
654        645, 795, 661, 676,
655        571, 918, 632, 1079,
656        673, 817, 318, 388,
657        874, 1012, 564, 848,
658        880, 620, 557, 479,
659        671, 453, 692, 468,
660        840, 642, 844, 645,
661        506, 428, 897, 567,
662        837, 387, 962, 499,
663        691, 561, 939, 926,
664        783, 296, 790, 268,
665        1028, 530, 874, 329,
666        548, 143, 675, 291,
667        503, 66, 1041, 359,
668        786, 97, 805, 33,
669        837, 470, 511, 49,
670        1092, 327, 1174, 323,
671        3, 242, 872, 474,
672        689, 429, 1329, 678,
673        1042, 620, 1109, 664,
674        321, 193, 889, 950,
675        1153, 874, 893, 635,
676        877, 862, 948, 913,
677        1293, 665, 1320, 639,
678        997, 793, 1402, 1030,
679        1176, 1012, 1110, 959,
680        1410, 925, 1403, 915,
681        543, 862, 1116, 1222,
682        835, 1190, 835, 1190,
683        959, 1148, 1147, 1376,
684        1300, 1193, 1415, 1231,
685        1335, 1341, 746, 1092,
686        1711, 1283, 1389, 1073,
687        1334, 1566, 1153, 1475,
688        1645, 1137, 1825, 1220,
689        1056, 1382, 1521, 1730,
690        1632, 1545, 1620, 1542,
691        855, 1596, 865, 1667,
692        693, 885, 1716, 1519,
693        1167, 1296, 2209, 1760,
694        1952, 1493, 2020, 1482,
695        1534, 1866, 1694, 2008,
696        1566, 748, 1761, 825,
697        294, 1392, 1084, 2058,
698        621, 1315, 365, 1287,
699        198, 1028, 488, 1408,
700        249, 403, 1014, 1561,
701        324, 363, 1645, 1044,
702        193, 367, 2034, 1859,
703        -251, 579, 750, 994,
704        -243, 30, 1325, 879,
705        -28, -169, 624, 917,
706        -453, 159, 186, 1370,
707        -614, 6, 537, 392,
708        -94, -291, 781, 229,
709        -128, -298, 245, 491,
710        -701, -648, 972, 789,
711        -501, -640, 178, 255,
712        -365, -390, -255, 317,
713        -958, -294, -191, 228,
714        -775, -447, 157, -237,
715        -657, -720, -407, 92,
716        -117, -611, 334, -230,
717        -679, -1084, -144, -317,
718        -901, -861, -738, -360,
719        -85, -727, -90, -787,
720        100, -22, -391, -263,
721        -56, -73, -337, -754,
722        5, -189, -706, -624,
723        89, -344, -135, -1113,
724        -353, -237, -684, -1135,
725        -275, -1102, -269, -1203,
726        152, 145, -722, -1232,
727        49, 80, -1248, -776,
728        -248, 391, -732, -547,
729        469, 218, -255, -864,
730        69, 366, -166, -485,
731        -688, 191, -1212, -1196,
732        -170, -169, -1308, -1631,
733        321, 470, -1419, -1243,
734        -64, 272, -1361, -248,
735        492, 565, -721, -609,
736        195, 485, -573, -133,
737        427, 202, -171, -118,
738        199, 575, 2, -31,
739        694, 755, -1366, -39,
740        552, 557, -489, 271,
741        680, 537, 13, -453,
742        855, 954, -133, -52,
743        -81, 738, -1169, 637,
744        1055, 1059, -95, 676,
745        1259, 1081, 489, 305,
746        -449, 954, -534, 996,
747        -969, 866, -1058, 1059,
748        -1294, 618, -1416, 617,
749        -458, 1366, -159, 1821,
750        -774, -528, -14, 1110,
751        -1202, -901, -772, 433,
752        -1256, -1255, -1011, -302,
753        -602, -585, -759, -1618,
754        -760, -1549, -840, -1921,
755        -816, -539, -1769, -2235,
756        -227, -36, -2034, -1831,
757        -2107, -1126, -2471, -1816,
758        -1470, 252, -2701, -415,
759        -571, -467, 1509, 1554,
760        2180, 1975, 2326, 2020
761    };
762
763    extern const Word16 dico4_lsf_5[DICO4_5_SIZE * 4] =
764    {
765        -1857, -1681, -1857, -1755,
766        -2056, -1150, -2134, -1654,
767        -1619, -1099, -1704, -1131,
768        -1345, -1608, -1359, -1638,
769        -1338, -1293, -1325, -1265,
770        -1664, -1649, -1487, -851,
771        -1346, -1832, -1413, -2188,
772        -1282, -681, -1785, -1649,
773        -966, -1082, -1183, -1676,
774        -1054, -1073, -1142, -1158,
775        -1207, -744, -1274, -997,
776        -934, -1383, -927, -1416,
777        -1010, -1305, -783, -955,
778        -1049, -900, -993, -817,
779        -737, -823, -972, -1189,
780        -738, -1094, -738, -1154,
781        -784, -801, -810, -786,
782        -892, -520, -1000, -818,
783        -644, -965, -577, -882,
784        -541, -694, -671, -917,
785        -595, -642, -646, -615,
786        -956, -621, -925, -515,
787        -727, -483, -815, -485,
788        -840, -578, -440, -713,
789        -578, -325, -657, -670,
790        -386, -570, -441, -666,
791        -514, -787, -392, -529,
792        -522, -453, -487, -423,
793        -616, -585, -617, -157,
794        -662, -268, -680, -348,
795        -322, -323, -632, -444,
796        -304, -430, -332, -458,
797        -277, -468, -659, -793,
798        -319, -636, -227, -554,
799        -373, -347, -334, -210,
800        -456, -192, -530, -242,
801        -216, -198, -366, -370,
802        -338, -161, -409, -748,
803        -107, -380, -294, -643,
804        -223, -665, -234, -741,
805        -141, -496, -130, -510,
806        -139, -327, -172, -305,
807        -306, -580, -164, -263,
808        -262, -172, -67, -402,
809        31, -366, -10, -436,
810        -86, -527, 71, -377,
811        -22, -609, -12, -678,
812        -67, -319, 63, -191,
813        35, -181, -39, -242,
814        126, -167, -140, -544,
815        155, -297, 174, -297,
816        38, -8, 117, -380,
817        197, -452, 240, -522,
818        223, -103, 110, -187,
819        87, -155, 169, -47,
820        157, 26, -83, -100,
821        128, 80, 209, -62,
822        6, 7, 22, 5,
823        318, -20, 248, -45,
824        -200, -63, 156, -69,
825        250, -183, 369, -126,
826        -113, -76, -142, -122,
827        -64, -254, -31, 35,
828        -177, -71, -7, 171,
829        93, 27, 108, 212,
830        -330, -209, -123, -70,
831        -279, 95, -96, 20,
832        -188, -61, -314, 87,
833        -300, -78, -354, -134,
834        11, 122, -140, 122,
835        -275, 152, -293, 140,
836        -82, 138, -321, -111,
837        -480, -156, -359, 76,
838        -254, -40, -635, -96,
839        -522, 79, -507, 8,
840        -268, 303, -539, 68,
841        -446, 61, -522, 306,
842        111, 189, -435, 122,
843        -379, 166, -571, -398,
844        -632, -74, -747, -95,
845        -455, 194, -952, 83,
846        -798, 192, -755, 192,
847        -781, -162, -619, 234,
848        -663, -297, -488, -109,
849        -964, -132, -838, -68,
850        -843, 58, -1112, -86,
851        -805, -299, -944, -253,
852        -778, -50, -965, -549,
853        -352, -98, -992, -343,
854        -1117, -315, -1117, -307,
855        -1155, -374, -637, -230,
856        -1166, -43, -1299, -100,
857        -925, -393, -1274, -600,
858        -689, -130, -1479, -312,
859        -1321, -254, -1464, -442,
860        -1292, -613, -1261, -503,
861        -1501, -368, -1322, 26,
862        -1432, -66, -1743, -161,
863        -1644, -467, -1760, -548,
864        -1393, -568, -1556, -871,
865        -1495, -1034, -1387, -571,
866        -1917, -528, -1783, -123,
867        -1897, -231, -2054, -323,
868        -2052, -906, -1976, -567,
869        -1917, -620, -2047, -989,
870        -1077, -370, -2031, -704,
871        -2355, -749, -2740, -1089,
872        -1909, 159, -2012, 248,
873        -626, -123, -2339, -962,
874        -669, -408, -1379, -1174,
875        -452, -364, -1044, -735,
876        -132, 183, -1620, -752,
877        -547, -307, -777, -1261,
878        -98, 41, -880, -1091,
879        -257, 97, -1602, -1833,
880        31, -26, -644, -561,
881        -180, -546, -385, -1095,
882        -410, -802, -414, -827,
883        -457, -970, -490, -1109,
884        -215, -916, -144, -937,
885        -493, -1269, -517, -1507,
886        181, 101, -332, -889,
887        -836, -937, -559, -429,
888        -629, -547, -183, -337,
889        -545, -82, -250, -286,
890        5, -132, -348, -252,
891        -293, -472, -158, 100,
892        -29, 197, -236, -424,
893        -861, -213, -140, -7,
894        -427, -443, 187, -97,
895        -684, -736, -293, 258,
896        -368, -152, -150, 392,
897        -609, 175, -142, 299,
898        -138, 152, -119, 329,
899        -486, -52, 293, 198,
900        -183, 117, 175, 331,
901        -58, -274, 231, 300,
902        -288, 330, -305, 372,
903        -111, 409, -9, 423,
904        83, 256, 67, 367,
905        -19, 248, 91, 113,
906        -35, 406, -191, 154,
907        238, 296, 5, 197,
908        141, 221, 313, 198,
909        211, 421, 244, 334,
910        88, 426, -243, 454,
911        202, 552, -5, 403,
912        291, 185, 219, 301,
913        251, 138, 128, 69,
914        197, 288, -140, -61,
915        188, 361, 197, 598,
916        442, 273, 290, 143,
917        472, 482, 157, 370,
918        415, 321, 372, 385,
919        402, 552, 155, 24,
920        550, 263, -11, 21,
921        360, 227, 147, -254,
922        424, 97, 366, -13,
923        375, 141, 449, 232,
924        396, 507, 474, 272,
925        701, 324, 362, -47,
926        587, 148, 543, 69,
927        400, -51, 561, 59,
928        220, -10, 352, 147,
929        206, 211, 653, 185,
930        563, 297, 565, 284,
931        594, 121, 766, 192,
932        398, 118, 642, 434,
933        233, 264, 481, 467,
934        129, -165, 699, 239,
935        90, 26, 342, 474,
936        -55, 27, 388, 94,
937        -172, 0, 725, 379,
938        -60, 337, 370, 465,
939        95, 319, 806, 595,
940        78, 260, 497, 851,
941        210, 560, 458, 574,
942        -464, 202, 497, 625,
943        -202, 152, 48, 712,
944        -20, 566, 100, 715,
945        455, 468, 411, 605,
946        319, 646, 195, 615,
947        401, 538, 680, 739,
948        201, 667, 434, 954,
949        454, 425, 646, 491,
950        606, 681, 416, 508,
951        497, 822, 426, 815,
952        660, 647, 628, 716,
953        697, 466, 618, 457,
954        685, 460, 365, 309,
955        721, 567, 836, 601,
956        609, 300, 825, 459,
957        943, 687, 681, 533,
958        915, 598, 591, 243,
959        876, 451, 874, 420,
960        786, 317, 732, 220,
961        922, 317, 1108, 367,
962        531, 466, 1028, 649,
963        1053, 615, 1034, 553,
964        829, 602, 1021, 799,
965        927, 803, 878, 763,
966        799, 496, 1373, 773,
967        585, 770, 803, 930,
968        1099, 793, 1222, 862,
969        1209, 895, 1025, 727,
970        772, 845, 1172, 1115,
971        867, 1021, 830, 1013,
972        841, 910, 506, 703,
973        1239, 1077, 620, 819,
974        1196, 1083, 1155, 1081,
975        1142, 907, 1547, 1121,
976        1309, 648, 1343, 612,
977        1484, 988, 1479, 937,
978        985, 1328, 955, 1341,
979        429, 910, 841, 1338,
980        564, 1179, 412, 1156,
981        1427, 1320, 1434, 1330,
982        640, 760, 1726, 1410,
983        190, 555, 1073, 1005,
984        426, 257, 839, 980,
985        235, 231, 1520, 1167,
986        109, 293, 1014, 1569,
987        305, 142, 1148, 539,
988        -291, -108, 1213, 972,
989        22, -216, 667, 828,
990        -482, 438, 453, 1431,
991        -581, -422, 789, 387,
992        -358, -454, 174, 780,
993        -36, -372, 390, -134,
994        -629, 160, -306, 751,
995        -1258, -331, 177, 522,
996        -248, 574, -251, 639,
997        -531, 407, -596, 394,
998        -419, 789, -617, 801,
999        -986, 399, -857, 727,
1000        -7, 518, -703, 310,
1001        -1143, -24, -1002, 287,
1002        -960, 363, -1299, 312,
1003        -1534, 245, -1557, 305,
1004        28, 153, -859, -175,
1005        -33, 332, -1398, -154,
1006        212, 410, -593, -197,
1007        -1092, -704, -904, -65,
1008        282, 367, -918, -686,
1009        345, 93, -258, -357,
1010        696, 644, -693, -28,
1011        448, 493, -273, 193,
1012        527, 546, -243, -513,
1013        384, -136, 273, -353,
1014        512, -142, 537, -198,
1015        941, 750, 83, 248,
1016        578, 861, -56, 592,
1017        842, 44, 892, 24,
1018        33, 890, -16, 982,
1019        831, 1398, 1535, 1898,
1020        1716, 1376, 1948, 1465
1021    };
1022
1023    extern const Word16 dico5_lsf_5[DICO5_5_SIZE * 4] =
1024    {
1025        -1002, -929, -1096, -1203,
1026        -641, -931, -604, -961,
1027        -779, -673, -835, -788,
1028        -416, -664, -458, -766,
1029        -652, -521, -662, -495,
1030        -1023, -509, -1023, -428,
1031        -444, -552, -368, -449,
1032        -479, -211, -1054, -903,
1033        -316, -249, -569, -591,
1034        -569, -275, -541, -191,
1035        -716, -188, -842, -264,
1036        -333, -248, -318, -228,
1037        -275, 1, -567, -228,
1038        -115, -221, -238, -374,
1039        -197, -507, -222, -579,
1040        -258, -432, -61, -244,
1041        -345, 2, -338, 39,
1042        -215, -169, -58, 0,
1043        -56, -6, -203, -131,
1044        1, -186, -5, -211,
1045        6, -380, 11, -418,
1046        -116, 131, -134, 113,
1047        89, -4, 71, -2,
1048        -19, -192, 262, 24,
1049        189, 151, -133, -109,
1050        186, -153, 166, -219,
1051        37, 139, 193, 171,
1052        337, 124, 158, -61,
1053        141, 226, -13, 190,
1054        231, 34, 354, 109,
1055        316, 201, 244, 164,
1056        330, -85, 390, -84,
1057        254, 327, 257, 335,
1058        491, 147, 476, 105,
1059        54, 77, 437, 370,
1060        421, 314, 449, 342,
1061        329, 126, 673, 292,
1062        571, 388, 243, 193,
1063        653, 320, 621, 280,
1064        194, 380, 517, 581,
1065        45, 323, 111, 422,
1066        489, 395, 734, 534,
1067        622, 546, 486, 502,
1068        318, 572, 189, 550,
1069        385, 422, -157, 153,
1070        -125, 382, -197, 386,
1071        -263, 334, 228, 697,
1072        -188, 1, 51, 297,
1073        -507, 213, -376, 397,
1074        -24, 255, -547, 89,
1075        -502, -94, 387, 179,
1076        -620, 68, -684, 112,
1077        -642, -350, -260, 172,
1078        -438, -324, 264, 648,
1079        -964, -4, -1121, 7,
1080        -134, 134, -1133, -306,
1081        143, 96, -420, -497,
1082        -1221, -350, -1527, -685,
1083        -161, 72, 873, 691,
1084        732, 283, 921, 353,
1085        334, 475, 1095, 821,
1086        864, 524, 843, 497,
1087        714, 711, 788, 750,
1088        1076, 714, 1204, 753
1089    };
1090
1091    /*--------------------------------------------------------------------------*/
1092#ifdef __cplusplus
1093}
1094#endif
1095
1096/*
1097------------------------------------------------------------------------------
1098 FUNCTION NAME:
1099------------------------------------------------------------------------------
1100 INPUT AND OUTPUT DEFINITIONS
1101
1102 Inputs:
1103    None
1104
1105 Outputs:
1106    None
1107
1108 Returns:
1109    None
1110
1111 Global Variables Used:
1112    None
1113
1114 Local Variables Needed:
1115    None
1116
1117------------------------------------------------------------------------------
1118 FUNCTION DESCRIPTION
1119
1120 None
1121
1122------------------------------------------------------------------------------
1123 REQUIREMENTS
1124
1125 None
1126
1127------------------------------------------------------------------------------
1128 REFERENCES
1129
1130 [1] q_plsf_5.tab,  UMTS GSM AMR speech codec, R99 - Version 3.2.0, March 2, 2001
1131
1132------------------------------------------------------------------------------
1133 PSEUDO-CODE
1134
1135
1136------------------------------------------------------------------------------
1137 RESOURCES USED [optional]
1138
1139 When the code is written for a specific target processor the
1140 the resources used should be documented below.
1141
1142 HEAP MEMORY USED: x bytes
1143
1144 STACK MEMORY USED: x bytes
1145
1146 CLOCK CYCLES: (cycle count equation for this function) + (variable
1147                used to represent cycle count for each subroutine
1148                called)
1149     where: (cycle count variable) = cycle count for [subroutine
1150                                     name]
1151
1152------------------------------------------------------------------------------
1153 CAUTION [optional]
1154 [State any special notes, constraints or cautions for users of this function]
1155
1156------------------------------------------------------------------------------
1157*/
1158
1159/*----------------------------------------------------------------------------
1160; FUNCTION CODE
1161----------------------------------------------------------------------------*/
1162
1163
1164