summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/amrnb/common/src/q_plsf_3_tbl.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-12-08 15:40:06 -0800
committerAndreas Huber <andih@google.com>2009-12-10 12:23:55 -0800
commit4f1efc098cb5791c3e9f483f2af84aef70d2d0a0 (patch)
treea2873e84aed3eecb1198f85954e24cddb1bdc380 /media/libstagefright/codecs/amrnb/common/src/q_plsf_3_tbl.cpp
parentc54176addef15699a518b69cd6bbd40ffc95e72e (diff)
downloadframeworks_av-4f1efc098cb5791c3e9f483f2af84aef70d2d0a0.zip
frameworks_av-4f1efc098cb5791c3e9f483f2af84aef70d2d0a0.tar.gz
frameworks_av-4f1efc098cb5791c3e9f483f2af84aef70d2d0a0.tar.bz2
Initial check in of AMR (NB and WB) decoders based on PV source code.
Diffstat (limited to 'media/libstagefright/codecs/amrnb/common/src/q_plsf_3_tbl.cpp')
-rw-r--r--media/libstagefright/codecs/amrnb/common/src/q_plsf_3_tbl.cpp2096
1 files changed, 2096 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/amrnb/common/src/q_plsf_3_tbl.cpp b/media/libstagefright/codecs/amrnb/common/src/q_plsf_3_tbl.cpp
new file mode 100644
index 0000000..56c13e7
--- /dev/null
+++ b/media/libstagefright/codecs/amrnb/common/src/q_plsf_3_tbl.cpp
@@ -0,0 +1,2096 @@
+/* ------------------------------------------------------------------
+ * Copyright (C) 1998-2009 PacketVideo
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ * -------------------------------------------------------------------
+ */
+/****************************************************************************************
+Portions of this file are derived from the following 3GPP standard:
+
+ 3GPP TS 26.073
+ ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec
+ Available from http://www.3gpp.org
+
+(C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC)
+Permission to distribute, modify and use this file under the standard license
+terms listed above has been obtained from the copyright holder.
+****************************************************************************************/
+/*
+
+ Filename: /audio/gsm_amr/c/src/q_plsf_3_tbl.c
+
+------------------------------------------------------------------------------
+ REVISION HISTORY
+
+ Description: Created this file from the reference, q_plsf_3_tbl.tab
+
+ Description: Added #ifdef __cplusplus and removed "extern" from table
+ definition.
+
+ Description: Put "extern" back.
+
+ Who: Date:
+ Description:
+
+------------------------------------------------------------------------------
+ MODULE DESCRIPTION
+
+------------------------------------------------------------------------------
+*/
+
+/*----------------------------------------------------------------------------
+; INCLUDES
+----------------------------------------------------------------------------*/
+#include "q_plsf_3_tbl.h"
+
+/*--------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+; MACROS
+; [Define module specific macros here]
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+; DEFINES
+; [Include all pre-processor statements here. Include conditional
+; compile variables also.]
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+; LOCAL FUNCTION DEFINITIONS
+; [List function prototypes here]
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+; LOCAL VARIABLE DEFINITIONS
+; [Variable declaration - defined here and used outside this module]
+----------------------------------------------------------------------------*/
+/*
+********************************************************************************
+*
+* GSM AMR-NB speech codec R98 Version 7.5.0 March 2, 2001
+* R99 Version 3.2.0
+* REL-4 Version 4.0.0
+*
+********************************************************************************
+*
+* File : q_plsf_3.tab
+* Purpose : Table for routine LSF VQ.
+* $Id $
+*
+********************************************************************************
+*/
+
+
+/* initalization table for MA predictor in dtx mode */
+const Word16 past_rq_init[80] =
+{
+ -258, -318, -439, -634, -656, -773, -711, -502, -268, -193,
+ -2, 125, 122, -39, -9, 105, 129, 283, 372, 575,
+ -277, -324, -197, -487, -445, -362, -292, -27, 177, 543,
+ 342, 517, 516, 130, 27, -104, -120, -140, -74, -56,
+ -564, -943, -1520, -965, -814, -526, -322, -2, 159, 657,
+ -312, -284, -386, -597, -493, -526, -418, -229, 105, 449,
+ -557, -870, -1075, -919, -950, -752, -709, -316, 62, 486,
+ -314, -191, -203, -330, -160, -103, -51, 131, 338, 515
+};
+
+
+const Word16 mean_lsf_3[10] =
+{
+ 1546,
+ 2272,
+ 3778,
+ 5488,
+ 6972,
+ 8382,
+ 10047,
+ 11229,
+ 12766,
+ 13714
+};
+
+
+const Word16 pred_fac_3[10] =
+{
+ 9556,
+ 10769,
+ 12571,
+ 13292,
+ 14381,
+ 11651,
+ 10588,
+ 9767,
+ 8593,
+ 6484
+};
+
+
+
+/* first codebook from IS641 */
+
+const Word16 dico1_lsf_3[DICO1_SIZE*3] =
+{
+ 6, 82, -131,
+ 154, -56, -735,
+ 183, -65, -265,
+ 9, -210, -361,
+ 113, 718, 1817,
+ 1010, 1214, 1573,
+ 857, 1333, 2276,
+ 827, 1568, 1933,
+ 717, 1989, 2206,
+ 838, 1172, 1823,
+ 721, 1000, 2154,
+ 286, 476, 1509,
+ -247, -531, 230,
+ 147, -82, 569,
+ 26, -177, -944,
+ -27, -273, 692,
+ -164, -264, -183,
+ 224, 790, 1039,
+ 899, 946, 601,
+ 485, 771, 1150,
+ 524, 677, 903,
+ -140, 375, 778,
+ 410, 676, 429,
+ 301, 530, 1009,
+ 719, 646, 38,
+ 226, 367, 40,
+ 145, -45, -505,
+ 290, 121, -121,
+ 302, 127, 166,
+ -124, -383, -956,
+ -358, -455, -977,
+ 715, 878, 894,
+ 978, 923, 211,
+ 477, 272, 64,
+ 188, -78, 17,
+ -143, -65, 38,
+ 643, 586, 621,
+ -134, -426, -651,
+ 347, 545, 2820,
+ 1188, 2726, 2442,
+ 142, -80, 1735,
+ 283, 130, 461,
+ -262, -399, -1145,
+ -411, 155, 430,
+ 329, 375, 779,
+ 53, -226, -139,
+ -129, -236, 1682,
+ 285, 744, 1327,
+ 738, 697, 1664,
+ 312, 409, 266,
+ 325, 720, 135,
+ 1, 221, 453,
+ 8, 203, 145,
+ 299, 640, 760,
+ 29, 468, 638,
+ 103, 429, 379,
+ 420, 954, 932,
+ 1326, 1210, 1258,
+ 704, 1012, 1152,
+ -166, -444, -266,
+ -316, -130, -376,
+ 191, 1151, 1904,
+ -240, -543, -1260,
+ -112, 268, 1207,
+ 70, 1062, 1583,
+ 278, 1360, 1574,
+ -258, -272, -768,
+ 19, 563, 2240,
+ -3, -265, 135,
+ -295, -591, -388,
+ 140, 354, -206,
+ -260, -504, -795,
+ -433, -718, -1319,
+ 109, 331, 962,
+ -429, -87, 652,
+ -296, 426, 1019,
+ -239, 775, 851,
+ 489, 1334, 1073,
+ -334, -332, 25,
+ 543, 1206, 1807,
+ 326, 61, 727,
+ 578, 849, 1405,
+ -208, -277, 329,
+ -152, 64, 669,
+ -434, -678, -727,
+ -454, -71, 251,
+ 605, 480, 254,
+ -482, 11, 996,
+ -289, 395, 486,
+ 722, 1049, 1440,
+ -30, -316, -786,
+ -106, -115, -619,
+ 861, 1474, 1412,
+ 1055, 1366, 1184,
+ 812, 1237, 925,
+ 42, -251, -576,
+ 342, 141, -454,
+ -168, -80, 1359,
+ -342, -656, -1763,
+ 100, 821, 725,
+ 990, 747, 800,
+ 332, 440, 568,
+ 663, 379, 852,
+ 112, 165, -369,
+ 597, 910, 282,
+ -8, 834, 1281,
+ -352, 572, 695,
+ 462, 2246, 1806,
+ 345, 190, 1374,
+ 416, 915, 2166,
+ 168, -82, 280,
+ -516, -446, 840,
+ 47, 533, 44,
+ -362, -711, -1143,
+ 22, 193, 1472,
+ -85, 233, 1813,
+ -62, 579, 1504,
+ 550, 944, 1749,
+ 723, 650, 1148,
+ 972, 884, 1395,
+ -425, 643, 0,
+ 1000, 952, 1098,
+ 249, 1446, 672,
+ -334, -87, 2172,
+ -554, 1882, 2672,
+ 140, 1826, 1853,
+ 920, 1749, 2590,
+ 1076, 1933, 2038,
+ -137, -443, -1555,
+ 1269, 1174, 468,
+ -493, -122, 1521,
+ -451, 1033, 1214,
+ 482, 1695, 1118,
+ 815, 649, 384,
+ -446, -692, 107,
+ -319, -605, -118,
+ -207, -505, 525,
+ -468, -12, 2736,
+ 75, 1934, 1305,
+ 880, 2358, 2267,
+ 1285, 1575, 2004,
+ -48, -304, -1186,
+ -435, -461, -251,
+ -366, -404, -547,
+ -289, -605, -597,
+ -538, -810, -165,
+ -120, 3, 356,
+ 639, 1241, 1502,
+ 96, 177, 750,
+ -435, -585, -1174,
+ -356, 109, -79,
+ -485, 288, 2005,
+ 9, 1116, 731,
+ 880, 2134, 946,
+ -265, 1585, 1065,
+ 1157, 1210, 843,
+ -498, -668, 431,
+ 374, 321, -229,
+ 1440, 2101, 1381,
+ 449, 461, 1155,
+ -105, 39, -384,
+ -263, 367, 182,
+ -371, -660, 773,
+ -188, 1151, 971,
+ 1333, 1632, 1435,
+ 774, 1267, 1221,
+ -482, -832, -1489,
+ -237, -210, 860,
+ 890, 1615, 1064,
+ 472, 1062, 1192,
+ 185, 1077, 989,
+ -568, -992, -1704,
+ -449, -902, -2043,
+ -142, -377, -458,
+ -210, -554, -1029,
+ -11, 1133, 2265,
+ -329, -675, -893,
+ -250, 657, 1187,
+ 519, 1510, 1779,
+ 520, 539, 1403,
+ 527, 1421, 1302,
+ -563, -871, -1248,
+ -147, -463, 879,
+ -76, 2334, 2840,
+ 563, 2573, 2385,
+ 632, 1926, 2920,
+ 719, 2023, 1840,
+ -545, -723, 1108,
+ 129, -125, 884,
+ 1417, 1632, 925,
+ -94, 1566, 1751,
+ -341, 1533, 1551,
+ 591, 395, -274,
+ -76, 981, 2831,
+ 153, 2985, 1844,
+ 1032, 2565, 2749,
+ 1508, 2832, 1879,
+ 791, 1199, 538,
+ -190, -453, 1489,
+ -278, -548, 1158,
+ -245, 1941, 2044,
+ 1024, 1560, 1650,
+ 512, 253, 466,
+ -62, -323, 1151,
+ -473, -376, 507,
+ -433, 1380, 2162,
+ 899, 1943, 1445,
+ 134, 704, 440,
+ 460, 525, -28,
+ -450, 279, 1338,
+ 0, 971, 252,
+ -445, -627, -991,
+ -348, -602, -1424,
+ 398, 712, 1656,
+ -107, 314, -178,
+ 93, 2226, 2238,
+ 518, 849, 656,
+ -462, -711, -447,
+ 174, -34, 1191,
+ -119, 42, 1005,
+ -372, 274, 758,
+ 1036, 2352, 1838,
+ 675, 1724, 1498,
+ 430, 1286, 2133,
+ -129, -439, 0,
+ -373, 800, 2144,
+ 6, 1587, 2478,
+ 478, 596, 2128,
+ -428, -736, 1505,
+ 385, 178, 980,
+ 139, 449, 1225,
+ -526, -842, -982,
+ 145, 1554, 1242,
+ 623, 1448, 656,
+ 349, 1016, 1482,
+ 31, -280, 415,
+ -316, 724, 1641,
+ 360, 1058, 556,
+ -436, -358, 1201,
+ -355, 1123, 1939,
+ 401, 1584, 2248,
+ -527, -1012, 355,
+ 233, 238, 2233,
+ -550, -897, -639,
+ -365, -501, 1957,
+ 389, 1860, 1621,
+ 162, 1132, 1264,
+ -237, 1174, 1390,
+ -640, -411, 116,
+ -228, 1694, 2298,
+ 1639, 2186, 2267,
+ 562, 1273, 2658,
+ 323, 338, 1774,
+ 578, 1107, 852,
+ 22, 594, 934,
+ -143, 718, 446
+};
+
+
+/* second codebook from IS641 */
+
+const Word16 dico2_lsf_3[DICO2_SIZE*3] =
+{
+ 50, 71, -9,
+ -338, -698, -1407,
+ 102, -138, -820,
+ -310, -469, -1147,
+ 414, 67, -267,
+ 1060, 814, 1441,
+ 1548, 1360, 1272,
+ 1754, 1895, 1661,
+ 2019, 2133, 1820,
+ 1808, 2318, 1845,
+ 644, -93, 454,
+ 858, 329, -136,
+ 489, -258, -128,
+ -198, -745, -41,
+ -52, -265, -985,
+ 346, 137, 479,
+ -1741, -748, -684,
+ -1163, -1725, -367,
+ -895, -1145, -784,
+ -488, -946, -968,
+ -85, -390, -725,
+ 215, -340, -171,
+ 1020, 916, 1969,
+ 564, 179, 746,
+ 662, 977, 1734,
+ 887, 622, 914,
+ 939, 856, 1165,
+ 309, 688, 803,
+ 917, 161, 570,
+ 118, -20, -283,
+ -816, -42, 204,
+ -1228, -325, -462,
+ -963, -202, -143,
+ -988, -484, -361,
+ -702, -978, -477,
+ -302, -790, -1188,
+ -100, -786, -1088,
+ -1054, -947, -1684,
+ -202, -843, -782,
+ -1039, -1378, -901,
+ -624, -110, -85,
+ 356, 213, -10,
+ -493, 364, 774,
+ 425, 822, 479,
+ -83, 557, 520,
+ -992, -1560, -572,
+ -603, -741, -26,
+ -502, -638, -903,
+ 209, 306, 147,
+ -316, -593, -596,
+ -85, -211, -225,
+ -918, -529, 117,
+ 233, -439, -738,
+ 1101, 751, 633,
+ 1457, 1716, 1511,
+ 1765, 1457, 910,
+ 1122, 1156, 849,
+ 1354, 868, 470,
+ -871, -1150, -1796,
+ -871, -861, -992,
+ -118, 155, 212,
+ -1051, -849, -606,
+ -1117, -1849, -2750,
+ -1019, -1427, -1869,
+ 370, -184, -414,
+ 959, 493, 104,
+ 958, 1039, 543,
+ 154, 653, 201,
+ 1249, 507, 150,
+ 663, 503, 230,
+ 623, 777, 675,
+ 659, 88, -110,
+ 843, 244, 224,
+ 382, 541, 302,
+ 724, 433, 666,
+ 1166, 734, 341,
+ -138, 20, -397,
+ -1183, -424, -46,
+ -321, -352, -124,
+ 1333, 1021, 1080,
+ 262, 366, 723,
+ 922, 283, -551,
+ 31, -636, -611,
+ -689, -697, -415,
+ -952, -779, -201,
+ -1329, -598, -359,
+ -953, -1285, 166,
+ 493, 305, 221,
+ 846, 703, 610,
+ 840, 936, 774,
+ -723, -1324, -1261,
+ -357, -1025, -1388,
+ -1096, -1376, -365,
+ -1416, -1881, -608,
+ -1798, -1727, -674,
+ -545, -1173, -703,
+ 678, 786, 148,
+ -123, 696, 1288,
+ 644, 350, -10,
+ 414, 614, 15,
+ 137, 344, -211,
+ -814, -1512, -819,
+ -391, -930, -588,
+ 47, -591, -898,
+ -909, -1097, -163,
+ -1272, -1167, -157,
+ -1464, -1525, -389,
+ -1274, -1188, -624,
+ 671, 213, 454,
+ 124, -274, -525,
+ -729, -496, -152,
+ -1344, 122, 135,
+ -2905, -589, -394,
+ -1728, 441, -50,
+ 1476, 904, 787,
+ 316, 236, -440,
+ -347, 217, 413,
+ -911, -917, 121,
+ -455, -932, 202,
+ -92, -465, -375,
+ 488, 390, 474,
+ 876, 729, 316,
+ -1815, -1312, -669,
+ 87, 962, 432,
+ 563, -249, -1058,
+ 250, 285, 1105,
+ 1141, 427, 696,
+ -1038, -1664, -1582,
+ -948, 346, 160,
+ -309, -272, -858,
+ 670, 624, 1250,
+ -944, -408, -666,
+ -606, -320, -384,
+ -492, 230, 65,
+ 334, -50, -16,
+ -16, -690, -1397,
+ 1791, 1716, 1399,
+ 2478, 2063, 1404,
+ 1245, 1471, 1426,
+ -382, -1037, -2,
+ 173, -398, 1145,
+ 1491, 2024, 1801,
+ 772, 1274, 1506,
+ 1429, 1735, 2001,
+ 1079, 1218, 1273,
+ -1154, -1851, -1329,
+ -808, -1133, -1096,
+ -451, -1033, -1722,
+ 65, 578, -84,
+ -1476, -2434, -1778,
+ -765, -1366, -494,
+ -218, -594, -931,
+ 337, -236, 562,
+ 2357, 2662, 1938,
+ 1489, 1276, 874,
+ 189, 358, 374,
+ -1519, -2281, -2346,
+ -967, -1271, -2095,
+ -628, -1188, -1542,
+ 1661, 1043, 546,
+ 565, 1061, 732,
+ -64, -836, -434,
+ -436, -96, 203,
+ 1078, 1216, 1636,
+ 907, 1534, 986,
+ 326, 965, 845,
+ 142, -84, 197,
+ 470, 2379, 1570,
+ 1133, 470, 1214,
+ 395, 1376, 1200,
+ 1125, 1042, 348,
+ -543, -1234, -376,
+ -215, -181, 481,
+ -1947, -1621, -210,
+ -750, -1185, 390,
+ 29, -399, 27,
+ 820, 1236, 755,
+ 695, 979, 409,
+ -174, 1197, 1035,
+ 912, 1356, 1846,
+ -992, -1437, 484,
+ -1485, -1700, 208,
+ -412, 1204, 1432,
+ -271, 896, 1144,
+ -416, 1777, 1434,
+ -1696, -2644, -204,
+ -1789, -1551, 1033,
+ -1656, -1559, 1303,
+ -1253, -1589, 1081,
+ -669, -1095, -66,
+ -682, 320, -345,
+ 659, 305, 1069,
+ -1292, -804, -19,
+ -1635, -1291, 29,
+ -1683, -497, 71,
+ -287, -7, -100,
+ -494, -962, -237,
+ 852, 1881, 1740,
+ -1217, -1387, 227,
+ -660, 302, 373,
+ 96, 1087, 1257,
+ -1074, -1669, 160,
+ 485, 2076, 1798,
+ -934, -220, 552,
+ -596, -612, 237,
+ 336, 1720, 879,
+ 643, 629, 434,
+ 1267, 522, 1633,
+ 15, 244, -441,
+ 1475, 717, 184,
+ 1819, 1590, 1709,
+ 988, 261, 937,
+ 2093, 2345, 1520,
+ 2139, 1858, 1606,
+ -577, -579, -1203,
+ -956, 135, -488,
+ -464, 51, -338,
+ -629, -348, -723,
+ 1146, 2073, 1442,
+ 2192, 1466, 911,
+ -1444, -1572, -2278,
+ 1400, 710, 1297,
+ 1335, 633, 928,
+ 1434, 2194, 2594,
+ 2422, 2204, 1881,
+ 982, 2242, 1854,
+ 380, 792, 1145,
+ -63, -539, 414,
+ -252, -964, -314,
+ -1261, -683, -780,
+ -831, -526, -1005,
+ -1666, -1135, -424,
+ -1611, -452, -299,
+ 1268, 1048, 642,
+ 1147, 853, 856,
+ -675, -336, 139,
+ 2268, 1343, 1418,
+ 29, 768, 797,
+ -1224, 423, 564,
+ -1318, -1082, 245,
+ -1302, -812, 573,
+ -1298, -1617, 646,
+ -968, 834, 723,
+ 993, 1652, 2027,
+ -191, -817, 432,
+ 662, 60, 198,
+ 626, 997, 1330,
+ 1648, 1963, 1289,
+ -1597, -93, -45,
+ -1088, 37, -84,
+ 1653, 2607, 2337,
+ 1065, 2040, 2377,
+ 1139, 2326, 2118,
+ 859, 357, 1510,
+ 664, 1227, 1099,
+ 479, 1360, 912,
+ 1897, 1754, 2019,
+ 1168, 1909, 1784,
+ 399, 34, 256,
+ -593, -304, -1053,
+ 547, 1694, 1407,
+ 647, -99, -341,
+ 1492, 1647, 1190,
+ 38, -644, -212,
+ 395, 846, 222,
+ -704, -765, -716,
+ -724, -1964, -2804,
+ -150, 291, -82,
+ 1233, 1459, 1007,
+ -140, -155, 153,
+ 439, 297, 1568,
+ -1529, -410, -636,
+ 1536, 455, -237,
+ -1328, -139, -260,
+ 531, 554, 868,
+ 269, 1264, 606,
+ -233, 883, 463,
+ 742, 600, -120,
+ -73, 421, 212,
+ -439, -58, 804,
+ -1286, -1241, 728,
+ 294, -490, 50,
+ -591, -905, -1254,
+ 42, -687, 147,
+ -25, 273, 596,
+ -311, 1213, 601,
+ -754, 849, 584,
+ 429, 607, 587,
+ -602, -166, 461,
+ -796, -823, 777,
+ 1380, 910, 1755,
+ 119, 1417, 972,
+ -219, -880, -1596,
+ -1049, -1010, 438,
+ -713, -1379, 78,
+ 0, -447, -1179,
+ -1136, -1319, -1573,
+ 2248, 1767, 1309,
+ 946, 1583, 1432,
+ 1150, 482, 436,
+ -469, -1108, 618,
+ -447, -966, 1088,
+ -1252, -1515, -114,
+ -1104, -2008, -579,
+ 210, 613, 497,
+ -1975, -1437, 642,
+ -1269, -856, 1011,
+ -1646, -1185, 1063,
+ -1555, -672, 1204,
+ -1692, -1114, 623,
+ -979, -1326, -1277,
+ 539, -147, 894,
+ -1354, -897, -434,
+ 888, 475, 428,
+ 153, -384, 338,
+ -1492, -511, 359,
+ -974, -1115, -470,
+ 105, -550, 677,
+ -937, -1145, 877,
+ 380, -260, 210,
+ 1685, 924, 1256,
+ 1775, 1190, 1095,
+ 1419, 631, 533,
+ 627, 299, -347,
+ -411, -534, 647,
+ -650, 29, -595,
+ -378, -1367, 1563,
+ 1402, 1121, 1465,
+ 1089, 1410, 648,
+ -2096, -1090, -6,
+ 311, -194, -869,
+ -639, -831, 416,
+ -1162, -1224, 1349,
+ -1247, -941, 1813,
+ -2193, -1987, 453,
+ -619, -1367, -956,
+ -1606, -1972, -1507,
+ -1175, -1057, -1104,
+ -377, 601, 201,
+ 1876, 825, 374,
+ -430, -1323, 29,
+ -1397, -1249, -1331,
+ -1007, -1504, 960,
+ -1401, -2009, 197,
+ -1379, -1949, -236,
+ -1077, 123, 422,
+ 615, 1269, 546,
+ -306, 1526, 904,
+ 1194, 1788, 1177,
+ -626, -884, -1526,
+ 199, 766, 1504,
+ -1065, 862, 197,
+ -1034, -1773, -887,
+ -800, 145, 599,
+ -1134, -519, 626,
+ -1205, -1926, 500,
+ -910, -1041, -1395,
+ -1476, -1567, -969,
+ -523, 842, 34,
+ 1794, 646, 862,
+ -1207, -1888, -1002,
+ -78, -9, -672,
+ 1044, 759, 80,
+ -600, 1139, 1019,
+ 57, 2000, 1422,
+ -833, 1414, 1121,
+ -1202, 1630, 1260,
+ -461, 1420, 1244,
+ 1537, 975, 253,
+ -283, 324, -359,
+ 599, -195, 106,
+ 588, 62, -587,
+ -757, 645, 205,
+ 51, 1201, 758,
+ -1209, 673, -390,
+ -624, 1581, 941,
+ -151, 1023, 735,
+ 2820, 1301, 690,
+ -302, 524, -99,
+ -900, -1588, -1189,
+ 1084, 251, 238,
+ 2014, 1792, 1010,
+ 1245, 1633, 1741,
+ -1227, -1540, -1208,
+ -621, 456, -109,
+ 40, -65, 788,
+ -805, -699, -1350,
+ -583, 904, 832,
+ -801, 532, 594,
+ 1972, 1408, 1351,
+ -1177, -1880, -2114,
+ -773, 568, 948,
+ -1015, 1079, 1260,
+ -1111, 482, -130,
+ 1778, 1044, 780,
+ -1491, 245, 912,
+ -316, -1141, -917,
+ -536, -1442, -2346,
+ -785, -1546, -1988,
+ -2003, 257, 909,
+ -1849, -633, -1209,
+ -1538, -1918, -1054,
+ 1606, 2239, 1576,
+ -567, -1500, -1544,
+ -1279, 195, 1369,
+ -817, 293, 1219,
+ -525, 630, 1197,
+ -1698, -2425, -1840,
+ -303, 731, 747,
+ -1169, -251, 269,
+ -950, -75, 1684,
+ -1182, -453, 1005,
+ -1599, 585, 378,
+ -2075, -571, -427,
+ -529, -1159, -1171,
+ -283, -205, -564,
+ -796, 1246, 717,
+ 2277, 927, 539,
+ -454, 559, 440,
+ -717, 1460, 1615,
+ -1030, 1052, 1610,
+ -1169, -138, 847,
+ 226, 39, -612,
+ -1251, -106, -729,
+ -651, 968, 1302,
+ -714, -636, 1727,
+ 353, 1069, 410,
+ -798, -156, 1099,
+ -574, 918, 446,
+ -1310, 1012, 466,
+ 1408, 1591, 765,
+ 1429, 1380, 1757,
+ 1949, 1956, 2378,
+ 1578, 2047, 2148,
+ 916, 98, -7,
+ 1893, 1418, 2141,
+ 348, 1405, 1579,
+ 152, 1134, 1801,
+ -267, 154, 1395,
+ -1166, 469, 1054,
+ -1142, -405, -1073,
+ -1341, -2264, -1581,
+ -364, 869, 1706,
+ -1162, 549, 1550,
+ -1225, -1932, -1666,
+ -1485, -1977, -2055,
+ -1727, -906, -98,
+ -1897, 233, 1492,
+ 892, 108, -331,
+ -1728, -1170, -1700,
+ -1060, 1980, 1790,
+ -1070, -1741, -1909,
+ -11, 1539, 1317,
+ -1600, 94, 497,
+ 421, 443, -197,
+ -1578, -349, -994,
+ -599, -539, 1140,
+ -965, -1419, -129,
+ -1341, 175, -447,
+ -375, 1311, 2055,
+ -371, -650, -307,
+ -1073, 605, 365,
+ -2057, -113, 430,
+ 652, 914, 967,
+ -1012, -1586, -2323,
+ 1505, 1248, 559,
+ 262, -486, -401,
+ -1727, 1342, 1546,
+ 50, 56, 432,
+ -330, 119, -604,
+ -1517, -1080, -810,
+ 946, 1127, 1055,
+ -1400, -1703, -1712,
+ -1270, -704, -1317,
+ 807, 1821, 1143,
+ 2760, 1606, 2171,
+ 1120, 409, -150,
+ -147, 404, 959,
+ 2439, 1911, 2189,
+ -906, -141, -866,
+ -904, -142, -458,
+ -557, -708, -1679,
+ -830, -1431, -1583,
+ -1842, -1346, -1086,
+ -1604, -272, 915,
+ -1196, 772, 1056,
+ -638, -1234, -1897,
+ -500, -81, -822,
+ -1289, -1613, -735,
+ -117, 785, 168,
+ -1090, 1133, 922,
+ -1096, -746, 1384,
+ 287, -547, -1063,
+ -1376, -2201, -1204,
+ -2176, -1570, -1757,
+ -1511, -2241, -771,
+ -1737, 1099, 830,
+ -1588, 724, 1243,
+ -1542, 693, 805,
+ -1690, -240, 1665,
+ -1700, -4, -668,
+ 2149, 816, 1042,
+ -818, -1841, 22,
+ -764, -507, 449,
+ -1151, -617, 289,
+ -843, -1596, -240,
+ 498, -234, -657,
+ -752, 480, 1678,
+ -319, -481, 193,
+ -811, 171, -119,
+ -2128, -202, -848,
+ 1717, 1140, 1700
+};
+
+
+/* third codebook from IS641 */
+
+const Word16 dico3_lsf_3[DICO3_SIZE*4] =
+{
+ 67, -17, 66, -12,
+ -1690, -581, -104, -272,
+ -1076, -1186, -1845, -376,
+ -1140, -926, -420, -58,
+ -259, -656, -1134, -553,
+ 1788, 1227, 455, 129,
+ 462, 441, -240, -528,
+ 840, 514, 130, -75,
+ 1114, 623, 153, 216,
+ 1068, 564, -6, -276,
+ 1119, 727, 190, -68,
+ 704, 306, 119, -264,
+ 329, 61, -100, 156,
+ 364, 123, 183, -208,
+ -171, -123, 220, -65,
+ -306, -62, 402, 17,
+ -660, -938, -266, 0,
+ 385, 235, 276, 285,
+ 320, 268, -336, -200,
+ -724, 17, -84, 381,
+ -544, 429, 494, 519,
+ -117, 288, 304, 329,
+ 643, 157, 701, 508,
+ 1200, 625, 796, 608,
+ 998, 421, 492, 632,
+ 1204, 780, 446, 132,
+ 1257, 844, 547, 449,
+ 829, 658, 541, 470,
+ 1132, 1258, 918, 639,
+ 547, 51, 423, 279,
+ 9, 392, 83, 94,
+ 542, 543, 229, -147,
+ -198, 129, 194, -185,
+ -863, -1321, -302, 30,
+ -597, -629, -19, 114,
+ -900, -1081, 466, 353,
+ -1483, -1573, 15, -143,
+ -1708, -2059, -751, 196,
+ -1876, -2067, -642, -258,
+ -2335, -1470, -450, -564,
+ -584, -186, -872, -414,
+ -1805, -988, -1125, -1310,
+ -726, -1129, 28, 169,
+ -1039, -864, -718, -246,
+ 484, 36, -233, -49,
+ 265, 67, 289, 467,
+ 178, 543, 810, 540,
+ 84, 282, 672, 703,
+ -975, -777, 129, 287,
+ -938, -227, 955, 595,
+ -1617, -289, 836, 649,
+ -1847, -215, 1106, 718,
+ -2034, -1085, 650, 440,
+ -2101, -529, 907, 575,
+ -2011, -336, 670, 204,
+ -2389, -692, 360, 137,
+ -2156, -2204, -9, 280,
+ -266, 119, 39, 193,
+ 78, -59, -120, 226,
+ -975, -858, -781, -1095,
+ -619, -413, -451, -842,
+ -1216, -1321, -813, -883,
+ -1376, -1615, -394, -428,
+ -737, -1113, -549, -790,
+ -880, -975, -967, -642,
+ -985, -886, -1273, -1361,
+ -473, -804, -1401, -1407,
+ 160, -265, -919, -275,
+ -248, -250, -718, -380,
+ 97, -103, -375, -229,
+ -415, -193, -135, -555,
+ 628, 361, 119, 216,
+ 579, 364, 391, 209,
+ 634, 522, -154, -148,
+ 526, 389, 170, 33,
+ 105, 267, 64, 380,
+ -1503, -1000, -30, -369,
+ -1070, 58, 647, 223,
+ -1520, -291, 621, 307,
+ -1531, 156, 762, 404,
+ -2029, 141, 734, 499,
+ -1849, -650, 306, 512,
+ -187, -104, -59, 438,
+ 134, -230, 156, -186,
+ -61, -260, -16, 10,
+ -569, -3, -421, -297,
+ -1725, -521, -346, 178,
+ -1362, -59, -44, 157,
+ -2146, -461, -470, -349,
+ -2170, -1, -369, -121,
+ -1579, -373, -900, -1015,
+ -1117, -591, -613, -784,
+ -561, 122, -75, -449,
+ -4, -171, -123, -372,
+ 192, 168, -76, -132,
+ 252, -107, 340, 210,
+ 392, 509, 272, 181,
+ -109, 145, 218, 119,
+ -416, -263, 485, 265,
+ -181, -8, -286, 226,
+ -244, -218, 69, -290,
+ -158, 191, -1, -64,
+ -592, -90, 213, -96,
+ 255, 435, 178, -80,
+ -369, -18, -33, -80,
+ -42, 415, 140, -222,
+ 1143, 651, 649, 329,
+ 767, 556, 249, 235,
+ 948, 413, 442, 279,
+ 141, 339, 356, 557,
+ -470, -170, 99, 237,
+ -569, -800, 352, 565,
+ 282, 473, 470, 332,
+ -199, -690, -1284, -917,
+ -193, -426, -800, -1122,
+ -26, -371, -490, -193,
+ 637, 595, 519, 330,
+ 408, -115, 79, 12,
+ 477, 87, -103, -376,
+ -666, -347, -277, -291,
+ -510, -481, 169, 297,
+ -829, -738, -205, -171,
+ -320, -540, 328, 283,
+ -859, -958, 442, -2,
+ 556, 686, 130, 56,
+ 1383, 1012, 755, 427,
+ 612, 741, 628, 553,
+ -339, -796, 134, 277,
+ -633, -1085, -2, -246,
+ -880, -1035, -1607, -1064,
+ -994, -474, -1138, -488,
+ -414, -795, 73, -206,
+ -8, -139, 439, 204,
+ -176, -578, 23, 131,
+ -269, -757, -191, 245,
+ -109, -338, 112, 316,
+ 120, -406, -118, 611,
+ -180, -186, -645, 115,
+ -173, 34, -518, -489,
+ -151, 61, -583, -844,
+ 220, -138, -681, -1020,
+ 391, -17, -598, -321,
+ 157, -295, 129, 155,
+ -926, -875, -987, 285,
+ 241, -83, -125, -125,
+ 620, 597, 432, 92,
+ 393, 78, 409, 61,
+ -393, -739, -413, -748,
+ 83, 54, 361, 27,
+ -1084, 130, -337, -694,
+ -1565, 297, 318, -19,
+ -1873, 36, 51, -317,
+ -2323, -246, 231, -84,
+ -2306, -783, 40, -179,
+ -2233, -930, -474, -462,
+ -754, -86, -288, -626,
+ -2411, -455, -63, 171,
+ -1099, -1094, -26, -143,
+ -1193, -455, -406, -381,
+ -605, -210, -96, -51,
+ -580, -476, -276, -15,
+ -1195, -634, -1203, -881,
+ -378, -221, -669, -952,
+ 594, 178, -403, -676,
+ 763, 327, 601, 290,
+ 172, 300, 203, 157,
+ -56, -336, 356, 24,
+ -228, -296, -259, -29,
+ -186, 263, 416, 14,
+ -353, 373, -12, -216,
+ 257, 96, 174, 57,
+ -1526, -616, -954, -499,
+ -497, -152, -333, 125,
+ 105, 200, 179, -97,
+ -331, -224, 765, 697,
+ 760, 256, 301, 59,
+ 455, -85, 204, 288,
+ -514, 240, 251, -109,
+ 256, 417, -34, -413,
+ 101, 430, 384, 156,
+ -31, -10, 206, 426,
+ 589, 145, 143, 71,
+ 808, 906, 333, 349,
+ 986, 938, 589, 331,
+ 1300, 824, 187, 509,
+ 1062, 653, 379, 466,
+ 1462, 937, 401, 274,
+ 787, 861, 265, 2,
+ 609, 553, 28, 305,
+ 926, 340, 106, 386,
+ 241, -267, -147, 225,
+ -178, -534, 347, 502,
+ -643, -381, 397, 30,
+ -651, -733, -435, 398,
+ -407, -726, -484, -248,
+ -789, -914, -438, -476,
+ -498, -390, 75, -295,
+ -964, -590, -606, 150,
+ -121, -49, -155, -78,
+ 935, 550, 389, 38,
+ -321, 127, 424, 315,
+ -285, -113, 283, 259,
+ 658, 203, 322, 486,
+ 903, 505, 748, 417,
+ 611, 423, 555, 512,
+ 239, -83, -578, -19,
+ -339, -731, 349, 13,
+ -934, -1399, -114, -360,
+ 107, 692, 182, 90,
+ -1243, -1538, -1551, -725,
+ -568, -903, -1363, -525,
+ -517, -853, -861, -1004,
+ -168, -690, -835, 63,
+ -137, -556, -547, 144,
+ -286, -817, 485, 319,
+ -147, -408, 526, 246,
+ -347, -434, 297, -28,
+ -290, -471, -1110, -1285,
+ -460, -359, -988, -794,
+ 1347, 1299, 690, 523,
+ 1216, 1068, 1094, 757,
+ 825, 1140, 752, 494,
+ 1252, 1365, 1195, 898,
+ 521, 1053, 532, 432,
+ -334, -216, -313, -263,
+ -160, 52, -472, -155,
+ 127, 136, -380, 44,
+ 851, 410, -162, -489,
+ 123, -255, -796, -667,
+ 1090, 917, 789, 493,
+ 1397, 1197, 558, 202,
+ -51, -118, -342, -701,
+ 83, 108, -42, -441,
+ 61, 95, 287, 256,
+ -27, 89, 524, 531,
+ 351, 227, 592, 545,
+ 697, 155, -164, 307,
+ 638, 274, -489, -50,
+ 754, 240, -166, -124,
+ -116, -579, -1212, -63,
+ 190, -295, -1040, -1296,
+ 147, -376, -177, -113,
+ 841, 1241, 1051, 668,
+ 2, 293, 551, 304,
+ -1096, -953, -248, 376,
+ -750, -965, 87, 516,
+ -275, -516, 689, 391,
+ -379, -643, 876, 594,
+ -390, -1013, -645, 573,
+ -107, -568, -689, -826,
+ -1025, -27, -328, -203,
+ 861, 749, 548, 233,
+ -1660, -1043, 451, 108,
+ -660, -620, 430, 236,
+ 21, -396, -1158, -631,
+ 1372, 1298, 967, 577,
+ 1125, 1125, 589, 454,
+ -323, -865, -467, 153,
+ -468, -699, -804, -509,
+ -392, -718, -204, -35,
+ -603, -1093, -567, -162,
+ -505, -1004, -102, 350,
+ 219, 224, 423, 252,
+ 395, 591, 608, 363,
+ -746, -96, 373, 172,
+ 171, 295, 714, 339,
+ 233, 77, 107, 277,
+ 157, 153, -499, -356,
+ 1547, 1073, 576, 494,
+ -292, -339, -504, -592,
+ -903, -72, -619, -481,
+ -1594, -1117, -567, -254,
+ -793, -507, -564, -291,
+ -492, -532, 502, 560,
+ -382, 427, 600, 230,
+ -227, 477, 251, 75,
+ 285, 842, 813, 476,
+ -1310, -1333, 186, 377,
+ -587, -917, 643, 381,
+ -1186, -553, 411, 82,
+ -1127, -820, -174, -540,
+ -604, 119, 543, 205,
+ -380, 657, 909, 567,
+ 112, -298, -374, 114,
+ -857, -251, 56, 159,
+ 401, 345, -34, -140,
+ -111, -607, 41, 614,
+ 355, -114, -77, 474,
+ 578, 56, 1450, 924,
+ 1098, 1420, 741, 400,
+ 246, 22, 588, 313,
+ -121, 327, 831, 472,
+ -1138, -608, 856, 552,
+ -1241, -1072, 638, 600,
+ -358, 254, -333, -303,
+ -646, 739, 358, 74,
+ 1226, 1671, 1221, 849,
+ 2241, 1624, 983, 636,
+ 1841, 1477, 749, 384,
+ 350, 263, 87, 128,
+ -1902, -941, -144, -64,
+ -1734, -255, 288, -31,
+ -2644, -1238, 366, 235,
+ -1643, -1092, -1344, -304,
+ -541, -1075, -1116, 123,
+ -1178, -252, -816, -180,
+ -1016, 533, 565, 233,
+ -487, -430, -188, 334,
+ 867, 1236, 534, 171,
+ -1590, -1607, 635, 630,
+ -2196, 310, 924, 412,
+ -2358, -328, 956, 529,
+ -2639, -377, 630, 278,
+ -2602, 317, 799, 299,
+ -2406, 133, 340, 31,
+ -2156, -1468, 131, 125,
+ -1184, -490, -139, 46,
+ -744, 447, 891, 564,
+ 67, -451, 646, 604,
+ -553, -429, -876, 396,
+ 162, -66, 1305, 915,
+ 479, 579, 1088, 794,
+ 450, 278, 566, 324,
+ -1057, -154, 148, -177,
+ -2545, 168, 1070, 592,
+ -2351, -42, 819, 345,
+ -2344, -707, 721, 250,
+ -2175, -1497, -309, 122,
+ -78, -73, 120, 173,
+ -4, 262, -263, -261,
+ -431, -64, -405, -732,
+ -2609, 116, -83, -193,
+ -1525, -944, -477, -725,
+ -508, 307, 170, 172,
+ 832, 417, 832, 686,
+ -225, 177, 894, 818,
+ -482, -389, 1279, 1039,
+ -383, 201, -350, 40,
+ 730, 635, 226, 526,
+ 503, 462, 338, 398,
+ 535, 714, 40, -282,
+ 1482, 1471, 1085, 731,
+ 1561, 1072, 909, 693,
+ 1419, 1282, 889, 879,
+ 1153, 728, 1186, 840,
+ -226, 1130, 949, 689,
+ -494, -986, -1556, -128,
+ -568, -721, -713, -26,
+ 317, 524, 70, 135,
+ -405, -865, -1766, -652,
+ -174, -801, 885, 773,
+ -153, -91, 1099, 751,
+ -506, -1149, 853, 646,
+ 241, 782, 519, 539,
+ 1853, 1700, 1101, 684,
+ -1249, -1486, -464, 188,
+ -893, -1409, -1312, -341,
+ -135, 438, -175, 18,
+ 1111, 976, 319, 208,
+ -1430, -1768, 83, 458,
+ -530, -1000, 307, 129,
+ -840, -15, -29, -356,
+ -911, -924, -1147, -242,
+ -119, -528, 127, -133,
+ -761, -765, 190, -83,
+ -315, 895, 522, 231,
+ -222, 102, -63, -428,
+ 316, 699, 379, 70,
+ 25, 716, 314, -108,
+ 507, 874, 566, 238,
+ 108, 941, 519, 195,
+ 425, -60, -427, 257,
+ 139, -103, -630, 446,
+ 334, 370, 412, 48,
+ -172, -690, -283, 557,
+ 187, -286, 158, 483,
+ 140, 270, -344, -631,
+ 924, 579, -116, 132,
+ 142, 466, -68, -64,
+ 230, -145, -302, -542,
+ -803, -912, 1018, 737,
+ -773, 1015, 630, 297,
+ -2596, 95, 445, 336,
+ -2122, 491, 510, 191,
+ -1253, 161, -2, -324,
+ -1450, -633, -712, -105,
+ -842, -254, -411, 100,
+ -640, -290, 1010, 763,
+ -650, 313, 1169, 730,
+ 140, 505, 1030, 766,
+ 772, 287, 1067, 823,
+ 495, 749, 305, 323,
+ -164, 462, 78, 399,
+ -342, -874, 69, 597,
+ -16, 620, 621, 337,
+ -138, -444, -265, 218,
+ 84, -450, 953, 666,
+ -222, -803, 541, 604,
+ -921, -1376, 244, 116,
+ -841, -723, 630, 588,
+ 140, 663, 294, 368,
+ 935, 1046, 881, 759,
+ 1746, 1464, 916, 628,
+ 436, 963, 281, 1,
+ -119, 74, 542, 213,
+ 1, -567, 301, 241,
+ 260, 435, 222, 396,
+ 936, 957, 1108, 703,
+ 510, 506, 808, 478,
+ 601, 694, 960, 620,
+ 972, 741, 980, 600,
+ 834, 717, 767, 684,
+ 643, 972, 935, 638,
+ 501, 661, 720, 851,
+ -105, -632, -303, -117,
+ -429, 130, 789, 442,
+ -522, -188, 704, 373,
+ -759, 42, 814, 523,
+ -531, -1137, 373, 578,
+ -682, -1203, -455, 285,
+ -1163, -1577, -1098, 44,
+ 81, -82, 712, 363,
+ 477, 246, 954, 622,
+ 1604, 1622, 1277, 891,
+ 1409, 859, 924, 892,
+ 774, 1041, 947, 1142,
+ 40, -546, -75, 288,
+ -616, -106, -697, -26,
+ -169, -160, -891, -739,
+ -279, -384, -1029, -350,
+ 1781, 1308, 1046, 816,
+ 1580, 1533, 1472, 1178,
+ 1505, 1076, 1216, 899,
+ 890, 904, 564, 654,
+ 920, 692, 1021, 856,
+ -493, 132, 177, 505,
+ 71, 195, -28, 97,
+ 456, 351, -164, 88,
+ 439, 278, -40, 350,
+ 1395, 949, 234, -95,
+ -805, -472, 38, -163,
+ 367, -98, 489, 523,
+ 1025, 1178, 1212, 906,
+ 319, 1314, 814, 461,
+ -123, -543, -804, 447,
+ -748, -324, -897, -1127,
+ -737, -501, -789, -713,
+ 715, 777, 1239, 922,
+ 1949, 1939, 1368, 865,
+ 730, 880, 758, 388,
+ -871, 454, 17, -251,
+ -381, -810, -1583, 239,
+ -521, -966, -792, 259,
+ -890, -1358, -770, -73,
+ 166, 349, -212, 323,
+ -840, -301, 473, 435,
+ -679, -464, 728, 351,
+ -156, -199, 667, 432,
+ 29, -252, 415, 480,
+ -731, -379, 145, 559,
+ -528, -631, -1158, -159,
+ 445, 273, 123, 639,
+ 373, -126, 800, 568,
+ 84, -162, 720, 712,
+ -830, -536, -185, 222,
+ 408, 452, 501, 771,
+ -897, -1355, -67, 442,
+ -792, -1406, 566, 602,
+ 167, -326, 509, 330,
+ -95, -626, -730, -344,
+ 1668, 1217, 779, 455,
+ 1316, 828, 584, 719,
+ 404, -31, 1013, 789,
+ 89, 107, 891, 549,
+ 871, 1581, 917, 671,
+ 866, 1479, 1289, 854,
+ 391, 1068, 1122, 812,
+ 78, -562, 345, 563,
+ 429, -103, 417, 787,
+ -122, -437, 411, 788,
+ -913, -417, 602, 754,
+ -226, -16, 151, 760,
+ -700, 118, -104, -14,
+ -1128, 48, 284, 393,
+ -390, -419, -639, -116,
+ -910, 306, 316, -13,
+ 1207, 984, 821, 669,
+ -1195, -693, 140, -213,
+ -884, -416, -199, -558,
+ -616, 245, -404, -664,
+ 262, 56, -617, -724,
+ -85, -491, -320, -656,
+ -570, -831, -129, -528,
+ -1506, -63, -367, -385,
+ -358, -321, 4, 51,
+ -366, -214, 319, 511,
+ 146, 671, -17, -291,
+ -110, 464, -139, -496,
+ -202, 220, -312, -631,
+ -660, -73, -655, -820,
+ -662, -653, -1288, -857,
+ -430, -953, -959, -264,
+ -49, -468, -72, -381,
+ -350, -563, -193, -407,
+ 55, -408, -803, 11,
+ -309, 649, 188, -198,
+ -512, 461, -79, -458,
+ -1318, -263, -134, -523,
+ -1657, -435, -495, -765,
+ 57, -347, -414, 434,
+ -1141, -242, -664, -857,
+ 34, -68, -707, -338
+};
+
+
+
+/* third codebook for MR475, MR515 */
+
+const Word16 mr515_3_lsf[MR515_3_SIZE*4] =
+{
+ 419, 163, -30, -262,
+ -455, -789, -1430, -721,
+ 1006, 664, 269, 25,
+ 619, 260, 183, 96,
+ -968, -1358, -388, 135,
+ -693, 835, 456, 154,
+ 1105, 703, 569, 363,
+ 1625, 1326, 985, 748,
+ -220, 219, 76, -208,
+ -1455, -1662, 49, 149,
+ -964, -172, -752, -336,
+ 625, 209, -250, -66,
+ -1017, -838, -2, 317,
+ -2168, -1485, -138, 123,
+ -1876, -2099, -521, 85,
+ -967, -366, -695, -881,
+ -921, -1011, -763, -949,
+ -124, -256, -352, -660,
+ 178, 463, 354, 304,
+ -1744, -591, -282, 79,
+ -2249, 175, 867, 499,
+ -138, -180, -181, -21,
+ -2291, -1241, -460, -520,
+ -771, 451, -10, -308,
+ 271, -65, 4, 214,
+ -279, -435, -43, -348,
+ -670, 35, -65, -211,
+ 806, 535, 85, 297,
+ 57, 239, 722, 493,
+ 225, 661, 840, 547,
+ -540, -376, 14, 349,
+ 469, 721, 331, 162,
+ -544, -752, -62, -10,
+ 398, -88, 724, 701,
+ -19, -533, -94, 601,
+ 136, -71, -681, -747,
+ -166, -344, 261, -50,
+ 161, -52, 485, 337,
+ -1675, 50, 190, -93,
+ -2282, -231, -194, -82,
+ -95, -595, -154, 128,
+ 894, 501, 588, 457,
+ -345, 206, 122, 110,
+ -631, -227, -569, 3,
+ 408, 239, 397, 226,
+ -197, -2, 128, 491,
+ 1281, 904, 292, 215,
+ 538, 306, 259, 509,
+ -677, -1047, 13, 321,
+ -679, -588, -358, -212,
+ -558, 243, 646, 479,
+ 486, 342, 634, 532,
+ 107, 802, 331, 136,
+ -112, -398, -1031, -286,
+ -326, -705, 288, 272,
+ 1299, 1144, 1178, 860,
+ -423, 121, -385, -148,
+ -295, -302, -834, -819,
+ 16, -24, -201, -476,
+ 555, 91, -245, 294,
+ -38, -379, -962, -1221,
+ -1191, -1518, -273, -395,
+ -390, -1013, -645, 573,
+ -1843, -1030, 505, 468,
+ 744, 947, 609, 493,
+ -689, -1172, -628, -135,
+ -1026, 195, 411, 196,
+ 1582, 1147, 575, 337,
+ -1239, -777, -648, -142,
+ 595, 825, 967, 735,
+ -1206, -970, -81, -342,
+ -745, 13, -72, 375,
+ 454, 19, 1407, 921,
+ -1647, -172, 861, 562,
+ 928, 1537, 1063, 740,
+ -2472, -952, 264, 82,
+ -502, -965, -1334, 123,
+ 867, 1236, 534, 171,
+ -2320, -460, 780, 363,
+ -1190, -617, 252, -61,
+ -174, 34, 1011, 788,
+ -2333, 247, 423, 153,
+ -16, -355, 262, 449,
+ -1576, -1073, -544, -371,
+ -615, -305, 1051, 805,
+ 687, 528, 6, -182,
+ 935, 875, 1002, 809,
+ 199, 257, 126, 76,
+ -584, -1138, 599, 556,
+ -1105, -1391, -1591, -519,
+ -977, -1325, 108, 347,
+ -722, -975, 365, 101,
+ -145, 681, 249, -153,
+ 0, -334, -570, 159,
+ 412, 285, -336, -617,
+ -953, -966, 887, 689,
+ -1251, 84, -185, -398,
+ -592, 433, 1044, 653,
+ 85, 329, -40, 361,
+ -433, -705, 466, 574,
+ -154, 654, 592, 290,
+ -167, 72, 349, 175,
+ 674, 297, 977, 720,
+ 1235, 1204, 757, 488,
+ -400, -269, 538, 372,
+ -1350, -1387, -1194, -91,
+ 1262, 876, 775, 700,
+ -599, -38, -430, -722,
+ 1976, 1630, 991, 608,
+ 111, 276, -226, -96,
+ -947, -388, -11, -7,
+ -303, -531, -839, 338,
+ 1734, 1710, 1405, 1013,
+ -516, -855, -645, 210,
+ -688, -416, 513, 230,
+ -822, -637, -1146, -320,
+ -952, -658, -694, 183,
+ -114, -623, 818, 674,
+ -191, -204, 731, 635,
+ 51, 1221, 883, 576,
+ -954, -431, 826, 598,
+ -342, -755, -900, -407,
+ -1126, -354, -206, -512,
+ -547, -810, -357, -620,
+ 66, 515, -73, -410,
+ -872, -945, -1444, -1227,
+ 191, -17, -544, -231,
+ -1540, -544, -901, -886
+};
+
+/* first codebook for MR795 */
+
+const Word16 mr795_1_lsf[MR795_1_SIZE*3] =
+{
+ -890, -1550, -2541,
+ -819, -970, 175,
+ -826, -1234, -762,
+ -599, -22, 634,
+ -811, -987, -902,
+ -323, 203, 26,
+ -383, -235, -781,
+ -399, 1262, 906,
+ -932, -1399, -1380,
+ -624, 93, 87,
+ -414, -539, -691,
+ 37, 633, 510,
+ -387, -476, -1330,
+ 399, 66, 263,
+ -407, -49, -335,
+ -417, 1041, 1865,
+ -779, -1089, -1440,
+ -746, -858, 832,
+ -581, -759, -371,
+ -673, -506, 2088,
+ -560, -634, -1179,
+ 271, 241, 14,
+ -438, -244, -397,
+ 463, 1202, 1047,
+ -606, -797, -1438,
+ -51, -323, 481,
+ -224, -584, -527,
+ 494, 881, 682,
+ -433, -306, -1002,
+ 554, 659, 222,
+ 171, -160, -353,
+ 681, 1798, 1565,
+ -852, -1181, -1695,
+ -336, -666, 114,
+ -581, -756, -744,
+ -195, 375, 497,
+ -465, -804, -1098,
+ 154, 282, -131,
+ -50, -191, -719,
+ 323, 732, 1542,
+ -722, -819, -1404,
+ 105, -250, 185,
+ -178, -502, -742,
+ 321, 510, 1111,
+ -323, -567, -966,
+ 127, 484, 338,
+ -160, 52, -338,
+ 732, 1367, 1554,
+ -626, -802, -1696,
+ -286, -586, 676,
+ -695, -343, -370,
+ -490, 295, 1893,
+ -630, -574, -1014,
+ -80, 645, -69,
+ -6, -318, -364,
+ 782, 1450, 1038,
+ -313, -733, -1395,
+ 120, 60, 477,
+ -264, -585, -123,
+ 711, 1245, 633,
+ -91, -355, -1016,
+ 771, 758, 261,
+ 253, 81, -474,
+ 930, 2215, 1720,
+ -808, -1099, -1925,
+ -560, -782, 169,
+ -804, -1074, -188,
+ -626, -55, 1405,
+ -694, -716, -1194,
+ -660, 354, 329,
+ -514, -55, -543,
+ 366, 1033, 1182,
+ -658, -959, -1357,
+ -55, -184, 93,
+ -605, -286, -662,
+ 404, 449, 827,
+ -286, -350, -1263,
+ 628, 306, 227,
+ -16, 147, -623,
+ 186, 923, 2146,
+ -674, -890, -1606,
+ -443, -228, 339,
+ -369, -790, -409,
+ 231, 86, 1469,
+ -448, -581, -1061,
+ 594, 450, -177,
+ -124, -170, -447,
+ 671, 1159, 1404,
+ -476, -667, -1511,
+ -77, -138, 716,
+ -177, -372, -381,
+ 451, 934, 915,
+ -250, -432, -822,
+ 272, 828, 446,
+ 26, 19, -31,
+ 698, 1692, 2168,
+ -646, -977, -1924,
+ -179, -473, 268,
+ -379, -745, -691,
+ 11, 127, 1033,
+ -488, -917, -825,
+ 61, 323, 135,
+ 147, -145, -686,
+ 685, 786, 1682,
+ -506, -848, -1297,
+ 35, 90, 222,
+ -23, -346, -670,
+ 455, 591, 1287,
+ -203, -593, -1086,
+ 652, 352, 437,
+ 39, 63, -457,
+ 841, 1265, 2105,
+ -520, -882, -1584,
+ -328, -711, 1421,
+ -596, -342, -70,
+ 209, 173, 1928,
+ -423, -598, -921,
+ 421, 605, -38,
+ -2, -245, -127,
+ 896, 1969, 1135,
+ -379, -518, -1579,
+ 173, 118, 753,
+ -55, -381, -52,
+ 985, 1021, 753,
+ -2, -291, -891,
+ 753, 992, 423,
+ 264, 131, -196,
+ 895, 2274, 2543,
+ -635, -1088, -2499,
+ -529, -982, 526,
+ -764, -830, -548,
+ -436, 316, 599,
+ -675, -940, -746,
+ -57, 236, -11,
+ -201, -81, -798,
+ 16, 845, 1558,
+ -737, -985, -1212,
+ -468, 17, 290,
+ -279, -584, -700,
+ 183, 822, 705,
+ -265, -492, -1187,
+ 421, 152, 468,
+ -390, 166, -268,
+ 39, 1550, 1868,
+ -635, -966, -1571,
+ -453, -492, 910,
+ -284, -1027, -75,
+ -181, -133, 1852,
+ -445, -624, -1174,
+ 420, 367, -49,
+ -389, -212, -169,
+ 707, 1073, 1208,
+ -539, -710, -1449,
+ 83, -163, 484,
+ -236, -543, -355,
+ 338, 1175, 814,
+ -246, -309, -958,
+ 606, 760, 60,
+ 166, -8, -163,
+ -306, 1849, 2563,
+ -747, -1025, -1783,
+ -419, -446, 209,
+ -718, -566, -534,
+ -506, 693, 857,
+ -463, -697, -1082,
+ 325, 431, -206,
+ -15, -8, -763,
+ 545, 919, 1518,
+ -611, -783, -1313,
+ 256, -55, 208,
+ -165, -348, -662,
+ 321, 680, 930,
+ -326, -429, -951,
+ 484, 446, 570,
+ -197, 72, -73,
+ 909, 1455, 1741,
+ -563, -737, -1974,
+ -124, -416, 718,
+ -478, -404, -314,
+ -16, 446, 1636,
+ -551, -537, -750,
+ -58, 638, 214,
+ 55, -185, -271,
+ 1148, 1301, 1212,
+ -483, -671, -1264,
+ 117, 285, 543,
+ -204, -391, -111,
+ 513, 1538, 854,
+ -114, -190, -978,
+ 877, 595, 464,
+ 260, 260, -311,
+ 748, 2283, 2216,
+ -517, -945, -2171,
+ -326, -708, 378,
+ -812, -691, -232,
+ -560, 687, 1409,
+ -732, -690, -836,
+ -359, 645, 386,
+ -265, 62, -678,
+ 145, 1644, 1208,
+ -555, -988, -1233,
+ -78, 14, 114,
+ -327, -358, -489,
+ 392, 677, 697,
+ -201, -236, -1140,
+ 693, 449, 178,
+ -243, 256, -433,
+ 611, 1385, 2456,
+ -612, -901, -1464,
+ -307, -17, 499,
+ -315, -667, -254,
+ 256, 428, 1463,
+ -486, -422, -1056,
+ 655, 370, 18,
+ -102, -185, -276,
+ 755, 1578, 1335,
+ -488, -603, -1418,
+ 182, -93, 870,
+ -73, -458, -348,
+ 835, 862, 957,
+ -282, -333, -746,
+ 547, 839, 428,
+ 273, -89, 13,
+ 940, 1708, 2576,
+ -418, -1084, -1758,
+ -44, -358, 259,
+ -497, -643, -560,
+ 99, 557, 961,
+ -421, -766, -917,
+ 295, 326, 184,
+ 175, 15, -626,
+ 532, 878, 1981,
+ -443, -768, -1275,
+ 221, 156, 268,
+ 39, -363, -505,
+ 695, 772, 1140,
+ -162, -459, -912,
+ 709, 444, 658,
+ 25, 303, -312,
+ 1268, 1410, 1715,
+ -297, -766, -1836,
+ -263, -108, 1070,
+ -406, -13, -129,
+ 57, 438, 2734,
+ -374, -487, -835,
+ 304, 696, 164,
+ 104, -235, 5,
+ 1611, 1900, 1399,
+ -229, -582, -1325,
+ 405, 192, 817,
+ -87, -438, 111,
+ 1028, 1199, 993,
+ 68, -175, -934,
+ 1033, 1117, 451,
+ 478, 200, -248,
+ 2127, 2696, 2042,
+ -835, -1323, -2131,
+ -799, -692, 466,
+ -812, -1032, -469,
+ -622, 288, 920,
+ -701, -841, -1070,
+ -411, 512, 8,
+ -390, -91, -744,
+ -30, 1043, 1161,
+ -822, -1148, -1156,
+ -294, -46, 110,
+ -411, -374, -678,
+ 214, 531, 668,
+ -406, -420, -1194,
+ 487, 232, 303,
+ -318, 91, -472,
+ 123, 1232, 2445,
+ -722, -952, -1495,
+ -738, -675, 1332,
+ -543, -606, -211,
+ -95, -98, 1508,
+ -549, -514, -1193,
+ 473, 211, 73,
+ -288, -112, -389,
+ 537, 1332, 1258,
+ -567, -755, -1545,
+ 71, -283, 632,
+ -170, -481, -493,
+ 681, 1002, 817,
+ -356, -331, -877,
+ 419, 706, 346,
+ 241, -34, -326,
+ 377, 1950, 1883,
+ -727, -1075, -1625,
+ -233, -543, 116,
+ -524, -806, -585,
+ -73, 478, 729,
+ -288, -925, -1143,
+ 173, 447, -52,
+ 68, -229, -606,
+ 449, 529, 1797,
+ -591, -875, -1363,
+ 183, -144, 324,
+ -103, -452, -666,
+ 623, 488, 1176,
+ -238, -511, -1004,
+ 326, 552, 458,
+ 136, 108, -319,
+ 626, 1343, 1883,
+ -490, -646, -1730,
+ -186, -449, 984,
+ -738, -76, -170,
+ -550, 755, 2560,
+ -496, -510, -947,
+ 210, 694, -52,
+ 84, -322, -199,
+ 1090, 1625, 1224,
+ -376, -603, -1396,
+ 343, 74, 632,
+ -175, -502, -32,
+ 972, 1332, 734,
+ 52, -295, -1113,
+ 1065, 918, 160,
+ 393, 107, -397,
+ 1214, 2649, 1741,
+ -632, -1201, -1891,
+ -719, -277, 353,
+ -651, -880, -122,
+ -211, 209, 1338,
+ -562, -714, -1059,
+ -208, 388, 159,
+ -320, -61, -551,
+ 293, 1092, 1443,
+ -648, -865, -1253,
+ -49, -143, 305,
+ -401, -227, -585,
+ 561, 532, 927,
+ -117, -443, -1188,
+ 507, 436, 292,
+ -79, 233, -458,
+ 671, 1025, 2396,
+ -633, -842, -1525,
+ -308, -286, 640,
+ -373, -621, -407,
+ 418, 253, 1305,
+ -315, -581, -1137,
+ 572, 685, -281,
+ 61, -68, -371,
+ 991, 1101, 1498,
+ -493, -683, -1362,
+ -47, 164, 704,
+ -256, -314, -268,
+ 631, 949, 1052,
+ -118, -348, -833,
+ 68, 1180, 568,
+ 152, 117, 34,
+ 1113, 1902, 2239,
+ -601, -959, -1706,
+ -143, -489, 480,
+ -332, -655, -574,
+ 54, 353, 1192,
+ -462, -652, -796,
+ 150, 549, 112,
+ 195, -111, -515,
+ 679, 1108, 1647,
+ -558, -749, -1217,
+ -9, 272, 341,
+ -53, -265, -535,
+ 489, 843, 1298,
+ -120, -482, -1032,
+ 632, 543, 408,
+ 179, 306, -526,
+ 1124, 1464, 2244,
+ -417, -786, -1562,
+ -224, -384, 1364,
+ -377, -459, -25,
+ 385, 489, 2174,
+ -332, -651, -829,
+ 544, 553, 61,
+ 22, -113, -89,
+ 1128, 1725, 1524,
+ -216, -373, -1653,
+ 161, 316, 908,
+ -165, -222, -67,
+ 1362, 1175, 789,
+ 73, -252, -767,
+ 738, 932, 616,
+ 362, 246, -126,
+ 787, 2654, 3027,
+ -691, -1106, -2190,
+ -565, -588, 524,
+ -590, -979, -490,
+ -263, 397, 982,
+ -577, -837, -945,
+ -22, 435, -49,
+ -190, -118, -629,
+ -88, 1240, 1513,
+ -636, -1051, -1019,
+ -291, 189, 259,
+ -257, -470, -629,
+ 145, 945, 894,
+ -326, -364, -1094,
+ 543, 260, 630,
+ -202, 189, -209,
+ 357, 1379, 2091,
+ -569, -1075, -1449,
+ -714, -239, 919,
+ -420, -705, -84,
+ -109, -114, 2407,
+ -413, -529, -1177,
+ 482, 368, 131,
+ -186, -72, -131,
+ 861, 1255, 1220,
+ -611, -658, -1341,
+ 227, -121, 631,
+ -176, -489, -218,
+ 745, 1175, 957,
+ -321, -148, -936,
+ 671, 966, 216,
+ 340, -3, -143,
+ 469, 1848, 2437,
+ -729, -961, -1683,
+ -213, -254, 321,
+ -511, -438, -521,
+ -126, 725, 903,
+ -340, -685, -1032,
+ 316, 480, 20,
+ 23, -89, -551,
+ 353, 1051, 1789,
+ -544, -757, -1364,
+ 298, -25, 436,
+ -100, -392, -519,
+ 467, 754, 1078,
+ -210, -398, -1078,
+ 620, 658, 630,
+ 33, 147, -178,
+ 921, 1687, 1921,
+ -325, -528, -1978,
+ 2, -285, 910,
+ -371, -490, -230,
+ 0, 597, 2010,
+ -496, -395, -834,
+ 37, 945, 245,
+ 181, -160, -144,
+ 1481, 1373, 1357,
+ -355, -601, -1270,
+ 298, 322, 672,
+ -193, -336, 77,
+ 1089, 1533, 922,
+ 177, -39, -1125,
+ 996, 781, 536,
+ 456, 366, -432,
+ 1415, 2440, 2279,
+ -466, -758, -2325,
+ -303, -509, 387,
+ -727, -557, 66,
+ -145, 643, 1248,
+ -544, -676, -916,
+ -225, 862, 588,
+ -152, 40, -533,
+ 423, 1423, 1558,
+ -572, -843, -1145,
+ -128, 85, 461,
+ -238, -257, -584,
+ 605, 748, 861,
+ 24, -202, -1409,
+ 797, 487, 303,
+ -181, 364, -182,
+ 616, 1378, 2942,
+ -494, -852, -1441,
+ -292, 61, 812,
+ -84, -723, -182,
+ 555, 532, 1506,
+ -365, -493, -1057,
+ 822, 588, 11,
+ -14, -18, -230,
+ 1001, 1401, 1451,
+ -474, -569, -1292,
+ 302, 62, 1062,
+ -70, -376, -222,
+ 982, 974, 1149,
+ -196, -234, -795,
+ 479, 1098, 499,
+ 362, 58, 70,
+ 1147, 2069, 2857,
+ -487, -878, -1824,
+ 73, -288, 348,
+ -358, -500, -508,
+ 199, 721, 1242,
+ -78, -697, -795,
+ 361, 536, 196,
+ 374, 110, -735,
+ 847, 1051, 1896,
+ -366, -713, -1182,
+ 315, 320, 429,
+ 72, -215, -450,
+ 759, 886, 1363,
+ -30, -428, -834,
+ 861, 627, 796,
+ 118, 468, -279,
+ 1355, 1883, 1893,
+ -188, -642, -1612,
+ 63, -175, 1198,
+ -418, -211, 51,
+ 414, 587, 2601,
+ -234, -557, -858,
+ 424, 889, 222,
+ 136, -101, 83,
+ 1413, 2278, 1383,
+ -84, -445, -1389,
+ 414, 313, 1045,
+ 29, -343, 65,
+ 1552, 1647, 980,
+ 183, -91, -829,
+ 1273, 1413, 360,
+ 553, 272, -107,
+ 1587, 3149, 2603
+};
+
+
+