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