q_plsf_5.tab 26 KB

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