Home | History | Annotate | Download | only in src
      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 /****************************************************************************************
     19 Portions 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)
     26 Permission to distribute, modify and use this file under the standard license
     27 terms 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
     62 extern "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