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