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.173 22 ANSI-C code for the Adaptive Multi-Rate - Wideband (AMR-WB) speech codec 23 Available from http://www.3gpp.org 24 25 (C) 2007, 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 * qpisf_2s_tab.cpp 31 *-------------------------------------------------------------------* 32 * Quantization tables for two-stage of ISFs (split by 2 in 1st stage) 33 * Version whith prediction MU = 0.25 34 *-------------------------------------------------------------------*/ 35 36 #include "qisf_ns.h" 37 #include "qpisf_2s.h" 38 39 40 41 42 /* means of ISFs */ 43 const int16 mean_isf[ORDER] = 44 { 45 46 738, 1326, 2336, 3578, 4596, 5662, 6711, 7730, 47 8750, 9753, 10705, 11728, 12833, 13971, 15043, 4037 48 }; 49 50 /* 46 bits */ 51 /* 52 * isf codebooks: two-stage VQ with split-by-5 in 2nd stage 53 * 54 * codebook vector dimension number of vectors 55 * ~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ 56 * 1_1 9 256 57 * 1_2 7 256 58 * 2_1 3 64 59 * 2_2 3 128 60 * 2_3 3 128 61 * 2_4 3 32 62 * 2_5 4 32 63 */ 64 65 /* 66 * 1st stage codebook; 1st split: isf0 to isf8 67 */ 68 69 const int16 dico1_isf[SIZE_BK1*9] = 70 { 71 72 579, 1081, 1035, 390, 3, -263, -198, -82, 38, 73 18, -68, -12, 313, 761, 405, 249, 111, -76, 74 740, 1263, 1292, 1006, 997, 1019, 1017, 976, 923, 75 -91, 827, 948, 648, 613, 535, 522, 490, 421, 76 41, -44, -281, -472, 652, 534, 193, 135, -90, 77 41, -121, -356, -60, 663, 307, 61, -48, -344, 78 557, 946, 1049, 867, 846, 990, 1112, 1262, 1241, 79 -118, -204, 328, 512, 870, 793, 610, 402, 186, 80 156, 293, 74, -338, -475, -897, -594, -161, -497, 81 226, 131, -138, 307, 169, -271, -164, -387, -624, 82 62, -32, -61, -252, -541, -828, -1027, -523, -662, 83 102, -61, 141, 112, -270, -251, -541, 25, -150, 84 6, -132, -356, -686, -96, -322, -522, -31, -326, 85 -36, -209, -521, -229, 307, -132, -5, -99, -384, 86 60, -51, -237, -668, -973, -407, -708, -75, -172, 87 26, -138, -266, 111, -302, 43, -278, -356, -359, 88 570, 822, 496, -154, -312, -92, 137, 279, 371, 89 -146, 368, 409, 68, 6, 77, 167, 202, 162, 90 633, 898, 996, 756, 662, 683, 783, 909, 996, 91 -103, 294, 607, 415, 483, 462, 480, 431, 408, 92 -120, -338, -612, -524, 584, 331, 92, 433, 276, 93 -178, -293, -154, -41, 269, 100, -9, 213, 160, 94 830, 736, 278, 820, 1254, 686, 712, 1039, 473, 95 -218, -304, 463, 454, 397, 273, 202, 286, 273, 96 -232, 7, 6, -388, -472, -427, -378, -167, -100, 97 -294, -183, 134, -47, 101, -88, -84, -117, -3, 98 57, 17, -202, -634, -989, -1119, -533, 176, -36, 99 120, -28, 23, 111, -319, 318, -22, -77, 266, 100 -271, -464, -434, -658, -640, -385, -385, -99, -69, 101 -198, -259, -266, -44, -39, -139, -137, 171, 66, 102 9, -145, -377, -846, -1000, -111, -325, 342, 135, 103 -81, -286, -380, 192, -57, 307, 76, -24, -140, 104 677, 702, 247, 56, 249, 141, -105, -236, -99, 105 36, -39, -69, 348, 198, -93, 322, 91, -72, 106 503, 885, 1508, 1307, 1282, 1172, 1119, 1209, 1061, 107 416, 719, 989, 1227, 1001, 1052, 954, 741, 1044, 108 -127, -376, -657, 139, 623, 223, 501, 306, 220, 109 -113, -384, -796, 504, 438, 85, 213, -83, -194, 110 585, 1132, 1233, 1091, 1247, 1433, 1512, 1448, 1314, 111 -174, -422, 7, 1155, 1089, 1182, 1003, 945, 806, 112 8, -126, -317, -103, -351, -695, -98, -268, -537, 113 33, -103, -290, 167, -39, -407, 44, -208, -375, 114 104, -23, -64, -291, -637, -851, -1084, -61, -112, 115 -75, -306, -434, 218, -148, -354, -680, -133, -216, 116 -121, -377, -718, -97, -130, -361, -156, -379, -599, 117 -56, -254, -586, 235, 157, -214, 11, -260, -149, 118 -124, -267, -397, -580, -593, -527, -805, -385, 346, 119 -193, -440, -708, -351, -141, -255, -499, -147, -185, 120 448, 660, 494, 208, 509, 461, 338, 291, 149, 121 -223, 88, 335, 159, 212, 191, 286, 308, 205, 122 -31, 469, 803, 659, 619, 658, 843, 987, 1113, 123 -171, -242, 514, 362, 295, 524, 552, 694, 585, 124 -64, -308, -448, -21, 284, 786, 446, 289, 92, 125 -218, -390, -7, 169, 206, 330, 352, 408, 358, 126 -36, 702, 959, 859, 861, 1115, 1269, 1357, 1305, 127 -133, -341, -65, 678, 417, 440, 486, 518, 780, 128 33, -44, -191, -344, -461, -755, -201, 217, -31, 129 -353, -547, -44, 123, -61, -68, -79, 29, 60, 130 73, -57, -406, -766, -1243, -1203, 240, 400, 165, 131 -73, -282, -601, -213, -171, -375, 332, 35, -103, 132 -29, -207, -553, -476, -638, -908, 172, -22, -135, 133 -192, -239, -164, -103, -111, -47, 153, 125, 110, 134 -1, -203, -570, -1030, -1424, -535, 155, 1, 147, 135 -333, -653, -865, -197, -158, -21, -44, 95, 108, 136 389, 588, 490, 33, -237, -524, -628, -136, -260, 137 40, -177, -462, 453, 862, 380, 131, -130, -405, 138 842, 1678, 1841, 1549, 1474, 1256, 1082, 905, 742, 139 370, 1216, 1768, 1633, 1212, 636, 22, -330, 71, 140 -76, -281, -741, -742, 898, 619, 277, 71, -222, 141 -32, -265, -556, -25, 994, 682, 305, 126, -165, 142 73, 738, 893, 968, 993, 1768, 2273, 1840, 1391, 143 -69, -349, -585, 234, 1158, 903, 626, 510, 251, 144 -1, -99, -272, -210, -603, -351, -540, -811, -383, 145 -16, -230, -504, 410, 149, -205, -343, -651, -639, 146 103, -9, -227, -205, -562, -781, -1079, -1208, -156, 147 143, 63, -135, -67, -317, -602, -784, -1154, -640, 148 -144, -391, -674, -622, -200, -254, -660, -947, -395, 149 -40, -250, -625, 27, 543, 94, -131, -386, -673, 150 -123, -371, -757, -451, -564, -614, -415, -711, -35, 151 -116, -309, -593, -268, 239, -33, -338, -650, -135, 152 94, 251, 554, 57, -312, -423, -154, -57, 235, 153 -268, -71, 381, 114, -44, -87, 125, 173, 133, 154 1513, 1714, 1238, 534, 276, 315, 461, 459, 508, 155 -131, -19, 1149, 670, 486, 356, 309, 369, 296, 156 -223, -501, -899, -722, -70, 6, 131, 310, 394, 157 -99, -303, -517, 249, 64, -53, 135, -11, 453, 158 -147, -399, -730, -401, 817, 738, 802, 749, 575, 159 -154, -435, -739, 800, 593, 366, 529, 318, 326, 160 -224, 45, -39, -387, -515, -518, -608, -384, -321, 161 -315, -377, 143, -101, -113, -377, -177, -144, -12, 162 117, 40, -239, -651, -1051, -581, -737, -990, -328, 163 26, -50, -157, -23, -453, -283, -531, -546, 192, 164 -252, -501, -743, -589, -627, -499, -328, -118, -72, 165 -324, -494, -244, -306, -144, -177, -262, -135, -78, 166 -36, -234, -519, -961, -1290, -314, -479, -371, -45, 167 -95, -292, -535, -8, -300, 112, -164, -277, 198, 168 -99, -128, 880, 836, 579, 351, 23, -95, -217, 169 -27, -258, 124, 1011, 597, 425, 144, 7, -73, 170 421, 1293, 1640, 1623, 1742, 1617, 1499, 1284, 1006, 171 -95, 752, 1680, 1569, 1618, 1436, 1200, 980, 712, 172 -69, -300, -683, -435, 1132, 899, 504, 332, 109, 173 -74, -323, -637, 563, 1074, 608, 371, 105, -49, 174 -78, 831, 1194, 1110, 1378, 1481, 1492, 1365, 1217, 175 -259, -121, 1440, 1334, 1628, 1490, 1438, 1223, 933, 176 -82, -306, -613, -222, -378, -675, -545, -671, -845, 177 53, -124, -347, 422, 52, -125, -270, -529, 9, 178 79, -89, -320, -662, -999, -1199, -1243, -676, -297, 179 -68, -273, -611, 137, -146, -397, -627, -845, -220, 180 -112, -346, -797, -826, 234, -132, -188, -278, -522, 181 -159, -405, -734, -419, 293, 74, -167, -167, 184, 182 -153, -437, -833, -1080, -336, -472, -561, -340, -253, 183 -169, -423, -820, -904, -131, -19, -346, -604, 31, 184 33, -31, 312, 62, -148, 49, -59, 564, 486, 185 -306, -333, 194, -44, 67, 72, 147, 205, 243, 186 -207, -49, 1360, 983, 969, 991, 1014, 1110, 973, 187 -211, -172, 883, 627, 711, 674, 705, 798, 746, 188 -88, -325, -763, -974, 687, 908, 514, 382, 172, 189 -292, -612, -805, 63, 131, 270, 259, 352, 348, 190 -235, -84, 955, 818, 1120, 1289, 1559, 1480, 1285, 191 -180, -461, -614, 657, 691, 745, 854, 783, 713, 192 -97, -309, -477, -614, -777, -734, -768, -526, -472, 193 -344, -476, -35, -169, 49, -77, -150, -240, -141, 194 -52, -268, -639, -919, -1278, -1113, -342, -333, -151, 195 -68, -242, -585, -73, -209, -478, -159, -429, 133, 196 -197, -499, -1005, -1268, -272, -224, -105, -67, 17, 197 -363, -618, -414, -116, -62, 20, 10, 116, 108, 198 -195, -475, -906, -1260, -891, -441, -277, -142, -28, 199 -226, -519, -950, -700, -275, -266, -116, -105, 82, 200 404, 511, 520, 327, 17, -194, -333, -536, -586, 201 -114, -130, 276, 237, 204, 342, 135, -16, -111, 202 670, 1208, 1168, 860, 742, 601, 528, 403, 309, 203 397, 621, 966, 752, 579, 398, 400, 329, 252, 204 191, 180, -137, -467, 272, 106, -95, 17, -192, 205 -80, -290, -626, 194, 598, 196, 21, -281, 77, 206 510, 864, 1108, 807, 939, 902, 925, 717, 481, 207 137, 367, 534, 764, 670, 382, 296, 153, 84, 208 303, 497, 144, -85, -125, -539, -482, -464, -764, 209 233, 347, 68, -147, 169, -210, -242, -226, -482, 210 307, 422, 154, -175, -386, -722, -724, -904, -1015, 211 309, 308, 160, -60, -470, -420, -598, -791, -219, 212 68, 121, -137, -560, -146, -446, -515, -494, -729, 213 130, 53, -227, 46, 474, 32, -161, -192, -490, 214 213, 164, -71, -465, -876, -161, -456, -587, -48, 215 218, 117, 39, 177, -194, -88, -226, -418, 50, 216 210, 547, 569, 279, 121, -44, -50, 10, -84, 217 58, 140, 182, -5, 267, 117, 106, 211, 198, 218 539, 835, 913, 719, 617, 544, 591, 565, 642, 219 153, 559, 872, 460, 222, 108, 188, 180, 183, 220 158, 119, 284, -153, -271, 229, 87, 110, -57, 221 -183, 82, 118, 21, 13, 40, 118, 191, 185, 222 162, 889, 654, 108, -34, 244, 488, 561, 532, 223 163, 56, 609, 341, 50, 329, 68, 266, 218, 224 100, 206, 18, -304, -107, -436, -487, -65, -306, 225 -86, 154, 134, -30, -45, -73, -104, -80, -96, 226 245, 330, 10, -440, -849, -1082, 79, 40, -265, 227 196, 372, 272, -181, -493, -389, 275, 80, -59, 228 2, -12, -246, -505, -100, -436, 21, -187, -431, 229 -221, -48, 36, -271, -186, -147, -109, 26, 71, 230 213, 140, 72, -351, -620, -84, -363, 69, 46, 231 91, 167, -3, -95, -99, -105, -48, 114, 147, 232 259, 249, 172, 607, 406, 52, 59, -189, -320, 233 115, -85, -54, 574, 128, 226, -59, -253, 130, 234 -62, 1033, 1308, 1035, 1127, 1098, 1029, 961, 823, 235 39, 364, 757, 940, 728, 660, 659, 583, 770, 236 -115, -338, -760, -471, 394, 37, 441, 178, 6, 237 -57, -305, -525, 796, 453, 188, -4, -114, 248, 238 71, 444, 797, 731, 1096, 1157, 1222, 1029, 811, 239 135, 359, 551, 425, 749, 815, 874, 704, 502, 240 132, 247, 0, -206, -449, -750, -258, -514, -633, 241 248, 249, 91, 121, -195, -499, -90, -282, -435, 242 78, 20, -277, -623, -983, -1224, -415, -458, -639, 243 347, 509, 208, -179, -464, -728, -76, -237, -486, 244 -103, -343, -756, -713, -265, -609, -191, -398, -636, 245 -121, -383, -749, 567, 252, -36, -354, -417, -50, 246 204, 100, -149, -650, -1081, -47, -7, -263, 111, 247 -46, -180, -267, -324, -562, -394, -692, 398, 292, 248 482, 670, 683, 624, 442, 165, 116, 36, -149, 249 108, 247, 291, 247, 355, 122, 109, 224, 296, 250 -14, 945, 990, 801, 755, 815, 847, 913, 892, 251 292, 349, 725, 482, 388, 329, 429, 620, 667, 252 -34, 197, 213, -127, 84, 494, 620, 575, 375, 253 126, 207, 172, 167, 362, 202, 296, 395, 455, 254 -6, 250, 539, 467, 636, 801, 1149, 1287, 1118, 255 27, 240, 369, 280, 440, 411, 634, 892, 953, 256 159, 170, -58, -395, -797, -690, 77, -211, -334, 257 -5, -28, -13, -74, -335, -603, 300, 88, -205, 258 82, -33, -364, -698, -1203, -1153, 110, -146, -289, 259 113, 1, -243, -588, -994, -496, 414, 160, 42, 260 -56, -247, -440, -693, -996, -479, 11, -178, -357, 261 -151, -353, -327, -211, -340, 141, 65, 425, 453, 262 34, -169, -455, -932, -1215, 138, 499, 256, 324, 263 68, 139, -15, -547, -478, 17, 306, 502, 481, 264 -32, -134, 445, 129, -143, -244, -503, -507, -599, 265 61, -140, -345, 496, 458, -2, 20, -227, -514, 266 394, 1765, 1666, 1339, 1117, 806, 642, 479, 380, 267 215, 519, 920, 1053, 1090, 791, 528, 290, 155, 268 -54, -233, -647, -602, 639, 294, -2, -167, -442, 269 -78, -315, -791, -113, 820, 403, 158, -116, -356, 270 529, 1851, 2003, 1228, 622, -41, -416, 344, 819, 271 -105, -379, -236, 1224, 893, 749, 568, 356, 214, 272 -17, -199, -144, 50, -283, -247, -578, -846, -1087, 273 69, -11, -381, -206, 209, -284, -387, -416, -716, 274 39, -5, -145, -374, -682, -909, -1074, -1169, -1066, 275 287, 226, 67, -221, -662, -171, -421, -642, -707, 276 -132, -348, -538, -448, -20, -4, -354, -748, -933, 277 4, -75, -289, -598, 317, 52, -208, -297, -559, 278 -88, -264, -358, -589, -631, -248, -523, -822, -1071, 279 70, -8, 54, -314, -515, 92, -146, -274, -493, 280 199, 62, 391, 158, -141, 71, -219, -203, -207, 281 152, 40, 329, 162, -29, 48, -149, 108, 127, 282 635, 1058, 883, 492, 372, 312, 317, 274, 241, 283 267, 722, 1256, 882, 625, 248, 8, -81, -60, 284 -58, -138, -291, -600, -12, -2, -39, 147, 117, 285 -107, -345, -513, 459, 76, 92, -272, 388, 262, 286 362, 516, 203, -409, -716, -831, -331, 185, 209, 287 -117, -391, -298, 671, 292, 538, 257, 166, -38, 288 -102, -319, -194, -283, -573, -262, -579, -219, -444, 289 -235, 78, 11, -168, -101, -229, -263, -321, -123, 290 70, 50, -170, -599, -996, -588, -263, -516, -455, 291 394, 363, 229, -136, -538, 21, -183, -348, -201, 292 -124, -368, -640, -879, -847, -209, -409, -494, -515, 293 -127, -341, -541, -425, -510, -10, -252, -473, -291, 294 84, -69, -201, -676, -868, 103, -311, -132, -320, 295 5, -173, -188, -297, -628, 197, -57, 7, -11, 296 49, -160, 56, 558, 111, 33, -311, -440, -463, 297 -1, -246, -307, 862, 453, 139, -170, -355, -232, 298 279, 966, 1642, 1478, 1463, 1123, 795, 525, 339, 299 -197, -38, 1702, 1331, 1252, 950, 692, 504, 426, 300 -108, -344, -861, -1172, 444, 354, 88, -46, -220, 301 -53, -321, -494, 1113, 744, 364, 198, -34, -75, 302 457, 955, 1177, 1214, 1427, 1457, 1345, 917, 539, 303 -69, 199, 897, 1140, 1343, 1183, 977, 742, 522, 304 122, 44, -269, 27, -155, -562, -307, -590, -773, 305 154, 42, -160, 252, -129, -305, -471, -733, -371, 306 135, 185, -82, -416, -722, -913, -504, -743, -880, 307 149, 214, -84, -329, -680, -835, -426, -661, -81, 308 -128, -380, -735, -998, -337, 17, -182, -467, -697, 309 -84, -290, -510, -592, 13, 440, 154, -38, -279, 310 70, -61, -246, -727, -1047, -80, -381, -535, -704, 311 178, -2, -146, -670, -938, 482, 138, 63, 65, 312 -11, 15, 772, 443, 142, -20, -209, -126, -161, 313 -32, -249, 95, 552, 124, 30, -343, 82, -86, 314 148, 751, 1515, 1105, 867, 606, 474, 448, 399, 315 -163, -257, 899, 1097, 906, 751, 502, 390, 294, 316 -51, -258, -447, -806, -368, 763, 464, 364, 183, 317 -166, -374, -367, 87, 35, 399, 418, 856, 833, 318 -205, -310, 588, 778, 785, 1065, 1118, 1245, 1157, 319 -173, -312, 107, 345, 400, 790, 870, 1113, 1001, 320 -7, -120, -387, -410, -614, -943, -226, -384, -491, 321 -203, -288, -51, -331, -90, -178, -408, -573, -338, 322 56, -29, -273, -627, -1041, -798, -247, -467, 148, 323 66, -2, -205, -205, -575, -349, -57, -352, -58, 324 -45, -225, -471, -924, -497, 77, -32, 44, -135, 325 -277, -491, -497, -502, -424, -202, -137, 77, 96, 326 26, -179, -469, -1008, -1260, 262, -35, -132, -259, 327 -66, -232, -447, -533, -789, -191, -100, -267, 364 328 }; 329 330 /*------------------------------------------------* 331 * 1st stage codebook; 2nd split: isf9 to isf15 332 *------------------------------------------------*/ 333 334 const int16 dico2_isf[SIZE_BK2*7] = 335 { 336 337 1357, 1313, 1136, 784, 438, 181, 145, 338 636, 648, 667, 568, 442, 217, 362, 339 427, 440, 674, 524, 332, 117, -417, 340 121, 295, 468, 465, 230, 44, -221, 341 -147, -240, 149, 80, 390, 278, 106, 342 -418, -556, 552, 511, 235, 144, -95, 343 43, 193, 274, 150, 67, 34, -273, 344 -43, -126, 171, 416, 282, 63, -354, 345 -372, -86, -344, -108, -94, -182, -89, 346 -600, -840, -200, 465, 258, -11, -253, 347 -48, 329, 97, -290, -543, -795, -354, 348 -570, -117, 187, 10, -133, -416, -76, 349 -618, -129, -247, -371, 45, -76, 277, 350 -1022, -1079, 126, 474, 254, 127, 52, 351 -281, 76, -167, -361, -283, -551, -283, 352 -119, -52, -1, 134, -32, -204, -415, 353 1064, 827, 637, 684, 464, 209, 12, 354 482, 416, 449, 371, 335, 294, 194, 355 719, 576, 365, 135, 113, 91, -199, 356 298, 176, 493, 366, 194, 163, 36, 357 -35, -236, -259, -36, -4, 99, 152, 358 -98, -306, -27, 228, 90, 111, -86, 359 91, 13, -211, -258, -106, 86, -64, 360 73, -35, -57, -31, 162, 35, -192, 361 -109, -335, -629, -66, -61, -128, 322, 362 -495, -669, -728, 193, 31, -220, 122, 363 324, 95, -89, -91, -409, -710, -154, 364 0, -234, 92, 33, -343, -609, -220, 365 -343, -408, -476, -655, -153, 82, 222, 366 -490, -745, -255, 49, -48, 135, -127, 367 119, -67, -328, -390, -272, -545, -56, 368 -57, -130, -10, -7, -164, -47, -22, 369 984, 1064, 961, 568, 210, -27, 16, 370 811, 691, 754, 514, 224, -35, 166, 371 662, 704, 618, 386, 57, -211, -257, 372 510, 359, 418, 393, 91, -144, -18, 373 -193, -31, -27, 223, 89, -143, 24, 374 -112, -98, 471, 319, 185, 3, 175, 375 252, 146, -47, 272, 48, -211, -234, 376 146, 69, 203, 364, 68, -52, 51, 377 -259, -478, -697, -349, -758, -501, 63, 378 -501, -769, -289, 79, -311, -497, -106, 379 251, 53, -235, -469, -895, -884, 145, 380 -416, -551, 140, -133, -523, -775, 44, 381 -326, -423, -713, -497, -86, -431, 99, 382 -757, -772, -160, -76, -46, -32, 379, 383 85, -35, -200, -401, -663, -1040, -247, 384 -180, -330, -92, -376, 27, -183, -110, 385 1279, 1086, 781, 502, 324, 164, 157, 386 682, 466, 449, 277, 146, 28, 409, 387 635, 472, 390, 107, -232, -538, -139, 388 196, 396, 332, 213, 209, -29, -81, 389 150, -95, -312, 76, -77, -320, -50, 390 46, 9, 47, 175, 139, 30, 384, 391 218, 206, -24, -250, -96, -276, -183, 392 26, 119, 38, 14, -4, -133, -52, 393 -477, -614, -987, -715, -631, -813, 200, 394 -744, -1009, -1065, -745, -631, -171, 18, 395 -137, -251, -483, -613, -980, -1203, 12, 396 -605, -767, -562, -686, -1088, -515, 58, 397 -202, -428, -782, -1072, -96, -234, -179, 398 -480, -709, -1070, -897, -131, -92, 321, 399 -145, -193, -512, -729, -572, -765, -210, 400 -331, -585, -525, -631, -281, -208, -303, 401 1165, 1104, 939, 828, 716, 426, 155, 402 6, -109, 820, 778, 415, 113, -27, 403 381, 339, 314, 265, 121, -9, -474, 404 -373, 47, 584, 442, 99, -231, -113, 405 -496, -38, -285, 262, 305, 170, 4, 406 -587, -556, 69, 66, 471, 354, 13, 407 -138, 70, -18, 106, 67, 167, -302, 408 -445, -141, 185, 191, 151, 83, -133, 409 -257, -521, -720, -198, 134, -46, -182, 410 -819, -1168, -777, 512, 359, 95, -113, 411 137, -2, -74, -138, -401, -114, -371, 412 -242, -466, 204, 223, -31, -212, -192, 413 -532, -637, -466, -686, 256, 277, -139, 414 -1141, -1244, -381, -75, -54, 14, 88, 415 -311, 115, -143, -499, -343, 124, -416, 416 -616, -147, -135, 43, -4, 121, -369, 417 835, 783, 641, 390, 355, 350, 64, 418 72, 194, 443, 467, 436, 219, 372, 419 464, 369, 192, 4, -156, -72, -226, 420 57, 206, 303, 205, 188, 101, 265, 421 -40, -205, -488, -184, 276, 64, -26, 422 -217, -433, -297, 137, 328, 308, -289, 423 378, 81, -308, -465, 57, -37, 227, 424 -100, 24, -36, -151, 199, 8, 143, 425 -426, -697, -1059, -133, 388, 161, 321, 426 -644, -1023, -1271, 39, 66, -123, 70, 427 372, 177, -173, -556, -553, -304, -189, 428 -117, -369, -425, -122, -462, -152, -73, 429 -649, -850, -1189, -767, 497, 360, 222, 430 -798, -1139, -1455, -190, 430, 234, 179, 431 42, -94, -405, -692, 38, -202, -246, 432 -169, -366, -290, -88, -64, 32, -292, 433 1010, 923, 938, 710, 465, 230, 342, 434 217, 300, 1054, 675, 68, -458, -179, 435 78, 453, 316, 18, -237, -496, -243, 436 167, 21, 424, 215, -91, -303, -170, 437 -290, -81, -70, -67, 40, 54, -59, 438 -353, -427, -90, 53, 94, 9, 54, 439 -28, 318, 283, 15, -240, -58, 79, 440 -75, -121, 229, 35, 58, 6, -133, 441 -351, -514, -744, -834, -705, -137, 164, 442 -1124, -1388, -1055, -230, -73, 40, 36, 443 -163, -233, -532, -785, -1170, -697, 96, 444 -788, -959, -246, -430, -624, -165, -8, 445 -856, -540, -630, -907, -337, -70, 76, 446 -937, -1042, -659, -733, -208, 199, -26, 447 -523, 78, -98, -501, -869, -890, -81, 448 -624, -703, -45, -348, -25, 87, -186, 449 1005, 823, 546, 249, 90, -22, 207, 450 298, 397, 381, 319, 200, 62, 303, 451 473, 379, 133, -247, -632, -441, 75, 452 284, 208, 391, 115, -25, 44, 95, 453 -72, 79, -95, -63, -129, -293, 203, 454 -164, -349, 115, 122, 69, -1, 378, 455 348, 170, 99, 58, -179, -302, 188, 456 -190, -2, 150, 23, -51, -11, 216, 457 -615, -863, -1090, -1427, -802, -48, -6, 458 -961, -1276, -1548, -727, -58, 56, 223, 459 -124, -255, -561, -988, -1277, -148, -82, 460 -480, -660, -891, -1191, -1339, -325, 20, 461 -621, -917, -1296, -1350, 264, 289, 50, 462 -844, -1022, -1345, -1329, -293, 46, 278, 463 -260, -468, -829, -1176, -533, -560, -78, 464 -215, -484, -822, -1233, -791, 15, -138, 465 1301, 1317, 1262, 1048, 716, 357, -64, 466 578, 824, 925, 802, 630, 362, 102, 467 470, 925, 767, 514, 327, 190, -112, 468 225, 492, 495, 437, 598, 384, -45, 469 43, 82, -42, 175, 519, 342, -64, 470 -304, -154, 159, 576, 403, 221, 327, 471 214, 244, 122, -62, 312, 92, -160, 472 218, 208, 310, 268, 306, 323, -199, 473 -285, -269, -79, -124, -143, -153, 236, 474 -205, -384, -426, 344, 59, -185, -184, 475 -272, 247, 126, -210, -518, -468, 78, 476 -99, -120, 502, 160, -280, -557, 304, 477 -423, -17, -283, -443, 215, 212, -140, 478 -564, -684, -228, 510, 361, 130, 323, 479 -428, 335, 98, -65, 36, -215, -246, 480 -362, 51, 364, -16, -234, 150, -165, 481 914, 883, 751, 653, 676, 464, -153, 482 631, 545, 535, 720, 596, 360, -81, 483 783, 712, 512, 439, 341, 251, -391, 484 497, 417, 249, 372, 295, 173, -193, 485 128, -110, -385, 93, 39, 173, -231, 486 216, -59, -253, 462, 389, 154, 69, 487 455, 270, -4, -337, -49, 233, -322, 488 307, 143, 53, 218, 128, 236, -156, 489 -37, -186, -240, -411, -110, 9, 399, 490 -140, -365, -628, 258, 380, 214, 277, 491 131, 454, 177, -285, -520, 108, -214, 492 77, -141, 201, -123, -490, -131, 60, 493 -14, -194, -521, -741, 273, 362, -33, 494 -362, -566, -287, -228, 161, 237, 317, 495 -269, 195, -75, -375, -204, 11, 77, 496 -128, -264, -156, -223, -475, 265, 27, 497 1238, 1147, 916, 689, 432, 210, -280, 498 800, 664, 879, 726, 411, 160, -164, 499 454, 686, 536, 275, 147, 46, 111, 500 303, 486, 512, 355, 241, 181, -69, 501 79, 92, 29, 147, 233, 52, 17, 502 -171, 289, 131, 439, 271, 3, -10, 503 413, 241, 144, 174, 155, -2, 14, 504 58, 217, 247, 219, 149, 175, -18, 505 228, -8, -240, -206, -513, -191, 202, 506 -96, -272, -454, 33, -300, -575, 46, 507 -10, -108, -246, -347, -770, -535, 9, 508 -326, -430, -61, -321, -704, -299, 201, 509 -1, -280, -603, -419, -185, 18, -36, 510 -516, -522, -379, -291, -181, -97, 27, 511 -159, -313, -525, -224, -510, -831, -197, 512 -292, -459, -59, -310, -562, -143, -351, 513 1066, 912, 631, 389, 207, 86, -224, 514 596, 512, 596, 505, 314, 122, -48, 515 787, 861, 441, -93, -303, 33, -190, 516 257, 469, 337, 51, 15, 298, -93, 517 295, 73, -119, 25, 36, 23, 108, 518 -28, -3, -32, 114, 21, 185, 107, 519 482, 305, 15, -279, -319, 52, 96, 520 226, 46, 115, 72, -136, 133, -125, 521 18, -207, -559, -590, -503, -482, 321, 522 -571, -789, -951, -172, -441, -538, 113, 523 181, 14, -310, -641, -1001, -202, 159, 524 -136, -393, -433, -513, -911, -144, -22, 525 72, -265, -706, -954, -159, 53, 332, 526 -338, -591, -852, -383, -395, 56, 44, 527 43, -158, -464, -897, -631, -157, -294, 528 -161, -128, -328, -573, -483, -125, 11, 529 1017, 906, 1051, 1005, 679, 341, -102, 530 359, 334, 1567, 1314, 723, 105, 10, 531 -65, 726, 529, 301, 220, 43, -273, 532 -510, 436, 719, 566, 358, 179, 114, 533 -560, 298, 133, -120, 342, 225, 14, 534 -899, -101, 217, 617, 400, 146, -58, 535 -41, 352, 82, -196, 39, 121, -167, 536 -212, 59, 447, 284, 423, 250, -169, 537 -371, -484, -596, 30, -41, 249, 22, 538 -372, -650, -794, 477, 445, 216, -79, 539 -352, 275, 17, -443, -929, 92, 19, 540 -699, -696, 431, 264, -49, -310, 182, 541 -978, -217, -430, -400, 101, 261, 72, 542 -929, -889, -357, -13, 463, 378, 236, 543 -826, 56, 30, -299, -360, -128, -51, 544 -878, -299, -111, 75, 65, 36, 3, 545 817, 368, -25, 354, 697, 591, -173, 546 309, 212, 222, 751, 484, 140, -56, 547 593, 379, 70, -8, 258, 180, 110, 548 165, -46, 255, 297, 219, 273, 105, 549 160, -70, -358, -181, 379, 330, 319, 550 -238, -369, -198, 740, 580, 319, -143, 551 201, 109, -202, -456, 328, 276, -141, 552 203, 170, 111, 42, 207, 360, 188, 553 -345, -399, -513, -233, 650, 422, 81, 554 -635, -961, -1220, 463, 539, 204, 209, 555 202, -25, -194, -498, -787, 193, -143, 556 -449, -538, 195, -106, -331, 68, 62, 557 -228, -477, -840, -576, 317, 128, 283, 558 -671, -937, -807, -114, 391, 335, -62, 559 246, 2, -314, -679, -303, 180, -88, 560 -107, -272, 90, -198, -28, 290, -112, 561 885, 1149, 1021, 712, 496, 281, -83, 562 269, 492, 787, 643, 347, 70, 124, 563 336, 636, 499, 92, -229, -179, 191, 564 26, 402, 564, 340, 149, -11, 135, 565 -440, 561, 470, 204, -72, -186, 140, 566 -720, 14, 355, 229, 68, -133, 465, 567 110, 310, 103, 12, 106, 29, 158, 568 -178, 113, 161, 142, 121, 115, 27, 569 -651, -414, -645, -152, -164, -13, -429, 570 -639, -944, -681, -104, -81, 52, -189, 571 -663, -164, -316, -683, -954, -205, -83, 572 -609, -669, -172, -517, -694, 283, -80, 573 -646, -152, -383, -678, -246, -40, -143, 574 -747, -796, -745, -390, -98, 43, 275, 575 -599, -199, -398, -433, -436, -538, 31, 576 -1107, -568, -376, -265, -126, -21, 1, 577 847, 573, 308, 392, 305, 101, 55, 578 273, 293, 201, 267, 346, 201, 123, 579 727, 480, 226, 2, -65, -138, 164, 580 273, 208, 173, 292, 12, 253, 174, 581 340, 207, 180, 88, 116, 46, 475, 582 -460, -166, -30, 13, 110, 173, 396, 583 137, 88, 43, -137, -94, 34, 284, 584 96, -14, 226, 40, 63, 70, 130, 585 -467, -735, -1012, -1174, -307, 305, -67, 586 -612, -920, -1146, -567, -8, 92, -25, 587 -182, -271, -492, -754, -857, 287, -75, 588 -494, -787, -689, -683, -709, 137, -326, 589 -288, -550, -903, -1105, 334, 321, -62, 590 -354, -653, -834, -445, 1, 377, -152, 591 -162, -306, -608, -937, -297, 247, -192, 592 -234, -477, -244, -488, -266, 342, -332 593 }; 594 595 /* 596 * 2nd stage codebook; 1st split: isf2_0 to isf2_2 597 */ 598 599 600 const int16 dico21_isf[SIZE_BK21*3] = 601 { 602 603 329, 409, 249, 604 -33, 505, 160, 605 -29, -14, 582, 606 -262, 127, 354, 607 145, 237, 175, 608 -152, 245, 122, 609 27, 42, 340, 610 -84, -93, 311, 611 285, 222, -156, 612 47, -43, -504, 613 234, 121, 385, 614 104, -317, 45, 615 176, 195, 8, 616 104, -59, -94, 617 177, 53, 192, 618 -34, -127, 152, 619 570, 277, -34, 620 -67, -329, -639, 621 -157, -272, 462, 622 -177, -462, 198, 623 322, 179, 115, 624 -386, 171, 19, 625 19, -12, 195, 626 -120, -252, 201, 627 304, 36, -336, 628 -128, -221, -380, 629 171, -185, 296, 630 -242, -312, 23, 631 198, 39, 16, 632 -3, -177, -111, 633 111, -93, 76, 634 -92, -223, 4, 635 177, 406, -44, 636 -168, 380, -149, 637 -4, 273, 331, 638 -420, 513, 277, 639 21, 247, 47, 640 -58, 131, -2, 641 -3, 134, 180, 642 -145, 40, 175, 643 189, 74, -145, 644 -27, -45, -325, 645 370, -114, -21, 646 -83, -415, -173, 647 77, 95, -51, 648 -40, -30, -67, 649 71, 88, 86, 650 -35, -98, 14, 651 69, 197, -334, 652 -196, 79, -231, 653 -348, -137, 218, 654 -352, -89, -85, 655 47, 201, -130, 656 -165, 37, -15, 657 -43, 3, 86, 658 -161, -108, 79, 659 83, 21, -237, 660 -81, -149, -238, 661 150, -186, -251, 662 -186, -249, -162, 663 -19, 66, -139, 664 -26, -50, -181, 665 24, 11, 0, 666 -130, -105, -98 667 }; 668 669 670 671 /* 672 * 2nd stage codebook; 2nd split: isf2_3 to isf2_5 673 */ 674 675 676 const int16 dico22_isf[SIZE_BK22*3] = 677 { 678 679 -127, 310, 42, 680 -242, 197, 5, 681 -151, 84, -17, 682 -214, 127, -149, 683 -247, -131, 159, 684 -268, -267, -95, 685 -217, 1, -79, 686 -271, -80, -185, 687 -45, 436, 159, 688 165, 199, 391, 689 -33, 81, 187, 690 -66, -42, 355, 691 -298, -57, 343, 692 -108, -537, 226, 693 -144, -23, 193, 694 176, -402, 87, 695 53, 296, 25, 696 -84, 253, -104, 697 -58, 105, -126, 698 -169, 174, -314, 699 -48, 44, -294, 700 -164, -417, -242, 701 -139, 3, -194, 702 -155, -207, -211, 703 119, 322, 213, 704 333, 50, 380, 705 237, 247, -2, 706 466, -16, 201, 707 238, -255, -107, 708 67, -440, -149, 709 122, -88, -139, 710 88, -247, -73, 711 -41, 231, 167, 712 -62, 155, 16, 713 -65, 16, 77, 714 -68, -2, -63, 715 -151, -300, 160, 716 -18, -333, 54, 717 -56, -94, 5, 718 2, -190, 14, 719 92, 148, 209, 720 108, 9, 272, 721 108, 35, 110, 722 142, -85, 145, 723 47, -157, 279, 724 3, -320, 246, 725 43, -72, 68, 726 86, -217, 135, 727 36, 140, 79, 728 56, 175, -49, 729 26, 45, 3, 730 73, 55, -101, 731 109, -183, -242, 732 -4, -283, -242, 733 48, -68, -48, 734 -6, -153, -122, 735 161, 196, 96, 736 232, 80, 190, 737 165, 97, 11, 738 258, -31, 71, 739 267, -77, -91, 740 311, -209, 87, 741 152, -14, -22, 742 150, -149, 9, 743 -324, 557, 187, 744 -384, 307, 46, 745 -251, 27, 77, 746 -365, 77, -52, 747 -482, -84, 160, 748 -424, -515, -64, 749 -294, -120, -4, 750 -476, -116, -109, 751 -97, 318, 365, 752 106, 627, 445, 753 -190, 120, 287, 754 -146, 65, 619, 755 -427, 242, 363, 756 -361, -371, 432, 757 -347, 102, 168, 758 -629, 195, -14, 759 -65, 476, -47, 760 -297, 320, -168, 761 -55, 356, -264, 762 -391, 82, -286, 763 -51, -31, -556, 764 -178, -399, -586, 765 -205, -49, -360, 766 -343, -238, -337, 767 220, 457, 58, 768 561, 467, 259, 769 340, 270, -168, 770 450, 77, -280, 771 60, 167, -413, 772 133, -252, -492, 773 216, 157, -290, 774 282, 0, -495, 775 -226, 293, 183, 776 -157, 135, 122, 777 -158, -59, 39, 778 -133, -118, -97, 779 -332, -309, 113, 780 -160, -425, -6, 781 -149, -211, 24, 782 -80, -277, -90, 783 -11, 125, 338, 784 130, -71, 465, 785 5, -45, 184, 786 237, -95, 253, 787 -139, -197, 297, 788 -19, -300, 511, 789 -63, -152, 139, 790 250, -289, 336, 791 124, 339, -150, 792 34, 176, -208, 793 171, 166, -116, 794 94, 38, -229, 795 75, -65, -339, 796 -78, -205, -385, 797 0, -30, -163, 798 -56, -110, -242, 799 321, 244, 194, 800 505, 238, -1, 801 317, 116, 65, 802 309, 88, -74, 803 452, -51, -50, 804 334, -217, -290, 805 211, 41, -152, 806 238, -55, -260 807 }; 808 809 810 /* 811 * 2nd stage codebook; 3rd split: isf2_6 to isf2_8 812 */ 813 814 815 const int16 dico23_isf[SIZE_BK23*3] = 816 { 817 818 -10, 151, 359, 819 136, 298, 223, 820 255, -104, 290, 821 423, 6, 183, 822 -270, -269, -98, 823 -52, -82, 13, 824 -82, -274, -97, 825 90, -246, -72, 826 -299, -70, 421, 827 -88, 365, 430, 828 187, -318, 381, 829 380, 37, 488, 830 -373, -316, 79, 831 -308, -101, 5, 832 -135, -451, 8, 833 72, -421, -154, 834 180, 170, -121, 835 62, 177, -40, 836 326, 80, -105, 837 248, 263, -5, 838 -168, -181, -221, 839 -2, -23, -158, 840 -14, -149, -121, 841 119, -91, -147, 842 119, 332, -153, 843 49, 303, 34, 844 442, -55, -69, 845 217, 454, 58, 846 -359, -187, -375, 847 -42, 50, -274, 848 -8, -267, -249, 849 85, -86, -346, 850 -77, -40, 345, 851 89, 134, 219, 852 156, -80, 160, 853 108, 40, 116, 854 -158, -206, 29, 855 5, -32, 175, 856 -65, -158, 146, 857 55, -78, 73, 858 -114, -222, 353, 859 -47, 81, 211, 860 49, -151, 268, 861 105, 4, 302, 862 -263, -132, 183, 863 -151, -28, 201, 864 -177, -307, 166, 865 101, -221, 130, 866 74, 58, -98, 867 32, 44, 13, 868 194, 30, -142, 869 170, 96, 8, 870 -136, -119, -91, 871 -65, 8, -55, 872 3, -188, 12, 873 45, -63, -49, 874 149, -21, -19, 875 24, 144, 95, 876 254, -22, 60, 877 161, 196, 96, 878 -158, -61, 48, 879 -70, 33, 82, 880 -23, -321, 58, 881 155, -147, 5, 882 -364, 328, 77, 883 -21, 453, 173, 884 -108, 82, 630, 885 367, 263, 208, 886 -300, -62, -176, 887 -205, 143, -158, 888 -169, -410, -264, 889 257, -269, -100, 890 -636, 289, -2, 891 -292, 627, 173, 892 -382, -363, 387, 893 248, 524, 447, 894 -521, -111, -107, 895 -395, 118, -274, 896 -343, -680, -125, 897 -172, -447, -663, 898 75, 148, -367, 899 -79, 263, -94, 900 249, 148, -286, 901 380, 271, -162, 902 -142, -4, -186, 903 -57, 111, -125, 904 -35, -108, -254, 905 100, 29, -242, 906 -80, 303, -264, 907 -78, 464, -57, 908 248, -22, -494, 909 661, 662, 44, 910 -193, -40, -330, 911 -178, 145, -337, 912 -90, -199, -400, 913 -40, -23, -498, 914 -192, 114, 315, 915 -41, 244, 190, 916 88, -97, 485, 917 241, 80, 212, 918 -246, 40, 87, 919 -156, 147, 134, 920 -2, -334, 239, 921 308, -203, 110, 922 -459, 251, 422, 923 -218, 310, 228, 924 -86, -346, 654, 925 184, 175, 425, 926 -481, -63, 169, 927 -349, 117, 188, 928 -125, -560, 310, 929 158, -416, 94, 930 46, 171, -192, 931 -63, 157, 14, 932 256, -35, -271, 933 322, 123, 53, 934 -214, 4, -76, 935 -156, 86, -18, 936 128, -197, -232, 937 265, -90, -98, 938 -308, 332, -145, 939 -131, 308, 58, 940 509, 59, -339, 941 562, 196, -14, 942 -378, 100, -47, 943 -234, 202, 1, 944 104, -270, -493, 945 319, -210, -325 946 }; 947 948 949 /* 950 * 2nd stage codebook; 4th split: isf2_9 to isf2_11 951 */ 952 953 const int16 dico24_isf[SIZE_BK24*3] = 954 { 955 956 -79, -89, -4, 957 -171, 77, -211, 958 160, -193, 98, 959 120, -103, 323, 960 32, -22, -129, 961 72, 78, -268, 962 182, -76, -66, 963 309, 99, -145, 964 -229, -157, -84, 965 -383, 98, -71, 966 -90, -352, 12, 967 -284, -178, 178, 968 -65, -125, -166, 969 -87, -175, -351, 970 42, -198, -48, 971 154, -140, -243, 972 -77, 18, 108, 973 -39, 355, 91, 974 87, 8, 155, 975 -4, 158, 239, 976 128, 95, -54, 977 7, 246, -124, 978 258, 15, 89, 979 206, 216, 98, 980 -201, 9, 18, 981 -312, 233, 204, 982 -39, -174, 155, 983 -144, -9, 284, 984 -57, 70, -69, 985 -157, 187, 18, 986 54, -30, 23, 987 24, 135, 55 988 }; 989 990 991 /* 992 * 2nd stage codebook; 5th split: isf2_12 to isf2_15 993 */ 994 995 const int16 dico25_isf[SIZE_BK25*4] = 996 { 997 998 169, 142, -119, 115, 999 206, -20, 94, 226, 1000 -106, 313, -21, 16, 1001 -62, 161, 71, 255, 1002 -89, 101, -185, 125, 1003 72, -30, -201, 344, 1004 -258, 33, -8, 81, 1005 -104, -154, 72, 296, 1006 144, -68, -268, -25, 1007 81, -78, -87, 106, 1008 22, 155, -186, -119, 1009 -46, -28, 27, 91, 1010 -114, -37, -175, -33, 1011 -94, -222, -189, 122, 1012 -132, -119, -191, -270, 1013 -172, -173, 18, -43, 1014 279, 135, -42, -128, 1015 187, -86, 229, -138, 1016 159, 240, 140, 46, 1017 69, 25, 227, 77, 1018 21, 115, 13, 8, 1019 68, -248, 126, 81, 1020 -150, 137, 207, -9, 1021 -154, -133, 289, 67, 1022 143, -37, -86, -326, 1023 180, -32, 19, -23, 1024 26, 168, 116, -233, 1025 -32, -26, 118, -78, 1026 3, -8, -45, -115, 1027 57, -215, -54, -83, 1028 -209, 112, -22, -167, 1029 -91, -151, 168, -262 1030 }; 1031 1032 1033 1034 /* 36 bit */ 1035 /* 1036 * isf codebooks: two-stage VQ with split-by-3 in 2nd stage 1037 * 1st stage is kept the same as the 46 bit quantizer 1038 * 1039 * codebook vector dimension number of vectors 1040 * ~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ 1041 * 1_1 9 256 1042 * 1_2 7 256 1043 * 2_1 5 128 1044 * 2_2 4 128 1045 * 2_3 7 64 1046 */ 1047 1048 const int16 dico21_isf_36b[SIZE_BK21_36b*5] = 1049 { 1050 1051 -52, -96, 212, 315, -73, 1052 82, -204, 363, 136, -197, 1053 -126, -331, 183, 218, 143, 1054 -49, -41, 557, 230, 72, 1055 2, -73, 163, 377, 221, 1056 133, 111, 278, 215, -110, 1057 -102, -20, 284, 113, 273, 1058 84, 319, 290, 18, 85, 1059 -25, -5, 125, 132, -204, 1060 -38, -5, 286, -9, -356, 1061 -140, -256, 92, 117, -189, 1062 -144, 191, 313, 51, -98, 1063 167, -10, 44, 247, 36, 1064 381, 197, 238, 74, 6, 1065 38, -408, 29, -3, -85, 1066 92, 266, 157, -25, -200, 1067 161, -121, 70, 84, -140, 1068 -16, -86, 112, -94, -189, 1069 -269, -270, 351, 107, -24, 1070 -68, -67, 492, -103, -155, 1071 -53, -131, 62, 122, 10, 1072 135, 84, 283, -55, -120, 1073 -12, -219, 331, -81, 167, 1074 220, -136, 147, -172, -42, 1075 140, -95, -109, -88, -194, 1076 0, -2, -4, -33, -381, 1077 -66, -217, 152, -186, -402, 1078 244, 108, 156, -140, -395, 1079 113, -136, -196, 110, -24, 1080 214, 118, 11, -64, -131, 1081 -110, -286, -6, -332, 16, 1082 94, 97, 79, -291, -205, 1083 -5, -39, -20, 252, -96, 1084 76, 174, 101, 163, 61, 1085 -69, -239, -55, 399, 6, 1086 -115, 319, 164, 275, 196, 1087 -15, 36, -47, 331, 121, 1088 226, 209, 271, 325, 184, 1089 13, -80, -218, 471, 353, 1090 288, 378, 16, -51, 251, 1091 174, 116, 52, 149, -279, 1092 235, 276, 39, 120, -48, 1093 0, -108, -108, 241, -339, 1094 -93, 534, 45, 33, -87, 1095 194, 149, -71, 405, -44, 1096 409, 370, 81, -186, -154, 1097 25, -102, -448, 124, -173, 1098 22, 408, -110, -310, -214, 1099 -26, 23, -83, 114, 14, 1100 -110, 164, 52, 223, -82, 1101 37, -25, -263, 306, -15, 1102 -466, 415, 292, 165, -18, 1103 29, -19, -171, 155, 182, 1104 179, 144, -27, 231, 258, 1105 -103, -247, -396, 238, 113, 1106 375, -154, -109, -4, 156, 1107 98, 85, -292, -5, -124, 1108 116, 139, -116, -98, -294, 1109 -14, -83, -278, -117, -378, 1110 106, 33, -106, -344, -484, 1111 119, 17, -412, 138, 166, 1112 384, 101, -204, 88, -156, 1113 -121, -284, -300, -1, -166, 1114 280, 33, -152, -313, -81, 1115 -37, 22, 229, 153, 37, 1116 -60, -83, 236, -8, -41, 1117 -169, -228, 126, -20, 363, 1118 -235, 17, 364, -156, 156, 1119 -25, -30, 72, 144, 156, 1120 153, -26, 256, 97, 144, 1121 -21, -37, 48, -65, 250, 1122 63, 77, 273, -128, 124, 1123 -129, -26, 40, 9, -115, 1124 -6, 82, 38, -90, -182, 1125 -336, -13, 28, 158, 91, 1126 -30, 241, 137, -170, -17, 1127 146, 14, -11, 33, 61, 1128 192, 197, 54, -84, 85, 1129 23, -200, -78, -29, 140, 1130 122, 237, 106, -341, 136, 1131 -57, -142, -85, -16, -74, 1132 -59, -90, -8, -187, -20, 1133 -211, -267, 216, -179, -110, 1134 -50, -7, 220, -267, -70, 1135 -57, -42, -17, -15, 71, 1136 32, 21, 63, -137, 33, 1137 -137, -175, 104, -68, 97, 1138 -67, -43, 133, -301, 221, 1139 -116, -200, -81, -92, -272, 1140 -64, -41, -54, -244, -220, 1141 -287, -242, -50, -87, -89, 1142 -245, 236, 102, -166, -295, 1143 66, 24, -162, -71, 95, 1144 66, 136, -90, -220, -36, 1145 -98, -161, -222, -188, 29, 1146 -18, 18, -19, -415, 9, 1147 49, 61, 100, 39, -56, 1148 -111, 82, 135, -31, 52, 1149 -90, -153, -93, 189, 182, 1150 -214, 295, 119, -74, 284, 1151 2, 137, 37, 47, 182, 1152 92, 117, 184, -53, 373, 1153 -21, -14, -35, 136, 391, 1154 146, 129, -164, -28, 333, 1155 92, 80, -84, 100, -134, 1156 -8, 217, -32, 3, -47, 1157 -151, 251, -215, 142, 92, 1158 -224, 310, -172, -275, 98, 1159 159, 155, -177, 112, 53, 1160 205, 27, 8, -240, 192, 1161 169, 120, -319, -201, 106, 1162 11, 36, -86, -237, 455, 1163 -109, -154, -163, 174, -55, 1164 -38, 32, -101, -78, -59, 1165 -205, -321, -97, 69, 79, 1166 -310, 44, 18, -185, 34, 1167 -115, -20, -148, -39, 203, 1168 -29, 154, -30, -158, 166, 1169 -45, -131, -317, -24, 363, 1170 -165, -205, -112, -222, 265, 1171 -32, -44, -150, 54, -193, 1172 -6, -38, -255, -169, -115, 1173 -266, 87, -189, -36, -169, 1174 -60, -87, -266, -436, -170, 1175 -68, -81, -278, 24, 38, 1176 -23, -19, -155, -256, 141, 1177 -61, -226, -565, -175, 71, 1178 9, -29, -237, -515, 263 1179 }; 1180 1181 const int16 dico22_isf_36b[SIZE_BK22_36b*4] = 1182 { 1183 1184 -298, -6, 95, 31, 1185 -213, -87, -122, 261, 1186 4, -49, 208, 14, 1187 -129, -110, 30, 118, 1188 -214, 258, 110, -235, 1189 -41, -18, -126, 120, 1190 103, 65, 127, -37, 1191 126, -36, -24, 25, 1192 -138, -67, -278, -186, 1193 -164, -194, -201, 78, 1194 -211, -87, -51, -221, 1195 -174, -79, -94, -39, 1196 23, -6, -157, -240, 1197 22, -110, -153, -68, 1198 148, -5, -2, -149, 1199 -1, -135, -39, -179, 1200 68, 360, -117, -15, 1201 137, 47, -278, 146, 1202 136, 260, 135, 65, 1203 61, 116, -45, 97, 1204 231, 379, 87, -120, 1205 338, 177, -272, 3, 1206 266, 156, 28, -69, 1207 260, 84, -85, 86, 1208 -266, 154, -256, -182, 1209 -17, -65, -304, -6, 1210 -40, 175, -151, -180, 1211 -27, 27, -87, -63, 1212 121, 114, -166, -469, 1213 159, -66, -323, -231, 1214 214, 152, -141, -212, 1215 137, 36, -184, -51, 1216 -282, -237, 40, 10, 1217 -48, -235, -37, 251, 1218 -54, -323, 136, 29, 1219 -88, -174, 213, 198, 1220 -390, 99, -63, -375, 1221 107, -169, -164, 424, 1222 69, -111, 141, -167, 1223 74, -129, 65, 144, 1224 -353, -207, -205, -109, 1225 -160, -386, -355, 98, 1226 -176, -493, -20, -143, 1227 -252, -432, -2, 216, 1228 -90, -174, -168, -411, 1229 13, -284, -229, -160, 1230 -87, -279, 34, -251, 1231 -75, -263, -58, -42, 1232 420, 53, -211, -358, 1233 384, -35, -374, 396, 1234 68, -228, 323, -2, 1235 167, -307, 192, 194, 1236 459, 329, -5, -332, 1237 375, 79, -7, 313, 1238 282, -124, 200, -92, 1239 271, -162, -70, 180, 1240 -157, -298, -514, -309, 1241 58, -163, -546, 18, 1242 124, -364, 167, -238, 1243 83, -411, -117, 96, 1244 140, -112, -388, -624, 1245 259, -133, -317, 41, 1246 163, -130, -64, -334, 1247 226, -165, -124, -110, 1248 -466, -61, 6, 229, 1249 -153, 205, -145, 242, 1250 -159, 48, 195, 148, 1251 -58, 28, 31, 279, 1252 -303, 185, 279, -4, 1253 -61, 197, 59, 86, 1254 -114, 123, 168, -52, 1255 35, 36, 100, 126, 1256 -407, 102, -77, -40, 1257 -338, -1, -342, 156, 1258 -179, 105, -34, -97, 1259 -185, 84, -35, 108, 1260 -133, 107, -91, -357, 1261 -180, 54, -229, 24, 1262 -44, 47, 47, -182, 1263 -66, 13, 45, 4, 1264 -339, 251, 64, 226, 1265 -42, 101, -350, 275, 1266 -99, 398, 142, 121, 1267 111, 12, -102, 260, 1268 0, 505, 260, -94, 1269 161, 285, -96, 224, 1270 -4, 206, 314, 33, 1271 167, 139, 88, 204, 1272 -235, 316, -60, -25, 1273 -8, -150, -312, 201, 1274 -36, 292, 61, -104, 1275 -40, 174, -162, 42, 1276 -21, 402, -29, -351, 1277 21, 152, -360, -93, 1278 57, 191, 212, -196, 1279 76, 158, -21, -69, 1280 -328, -185, 331, 119, 1281 -53, 285, 56, 337, 1282 -107, -24, 405, 29, 1283 -18, 137, 272, 277, 1284 -255, 22, 173, -191, 1285 295, 322, 325, 302, 1286 21, -27, 332, -178, 1287 119, 13, 271, 129, 1288 -455, -180, 116, -191, 1289 -227, 62, -148, 524, 1290 -176, -287, 282, -157, 1291 -243, 13, 199, 430, 1292 -59, -49, 115, -365, 1293 72, -172, -137, 93, 1294 -138, -126, 141, -84, 1295 5, -124, 38, -20, 1296 -258, 311, 601, 213, 1297 94, 130, -61, 502, 1298 -1, -157, 485, 313, 1299 146, -74, 158, 345, 1300 276, 135, 280, -57, 1301 490, 252, 99, 43, 1302 267, -74, 429, 105, 1303 278, -23, 119, 94, 1304 -542, 488, 257, -115, 1305 -84, -244, -438, 478, 1306 -113, -545, 387, 101, 1307 -95, -306, 111, 498, 1308 95, 166, 22, -301, 1309 420, -15, -58, -78, 1310 270, 29, 122, -282, 1311 160, -240, 50, -38 1312 }; 1313 1314 const int16 dico23_isf_36b[SIZE_BK23_36b*7] = 1315 { 1316 1317 81, -18, 68, -27, -122, -280, -4, 1318 45, -177, 209, -30, -136, -74, 131, 1319 -44, 101, -75, -88, -48, -137, -54, 1320 -245, -28, 63, -18, -112, -103, 58, 1321 -79, -6, 220, -65, 114, -35, -50, 1322 109, -65, 143, -114, 129, 76, 125, 1323 166, 90, -61, -242, 186, -74, -43, 1324 -46, -92, 49, -227, 24, -155, 39, 1325 67, 85, 99, -42, 53, -184, -281, 1326 142, -122, 0, 21, -142, -15, -17, 1327 223, 92, -21, -48, -82, -14, -167, 1328 51, -37, -243, -30, -90, 18, -56, 1329 54, 105, 74, 86, 69, 13, -101, 1330 196, 72, -89, 43, 65, 19, 39, 1331 121, 34, 131, -82, 25, 213, -156, 1332 101, -102, -136, -21, 57, 214, 22, 1333 36, -124, 205, 204, 58, -156, -83, 1334 83, -117, 137, 137, 85, 116, 44, 1335 -92, -148, -68, 11, -102, -197, -220, 1336 -76, -185, -58, 132, -26, -183, 85, 1337 -7, -31, -2, 23, 205, -151, 10, 1338 -27, -37, -5, -18, 292, 131, 1, 1339 117, -168, 9, -93, 80, -59, -125, 1340 -182, -244, 98, -24, 135, -22, 94, 1341 221, 97, 106, 42, 43, -160, 83, 1342 25, -64, -21, 6, 14, -15, 154, 1343 126, 15, -140, 150, -10, -207, -114, 1344 79, -63, -211, -70, -28, -217, 165, 1345 46, 38, -22, 281, 132, -62, 109, 1346 112, 54, -112, -93, 208, 27, 296, 1347 115, 10, -147, 41, 216, 42, -276, 1348 50, -115, -254, 167, 117, -2, 61, 1349 17, 144, 34, -72, -186, -150, 272, 1350 -29, -66, -89, -95, -149, 129, 251, 1351 122, 0, -50, -234, -91, 36, 26, 1352 -105, -102, -88, -121, -236, -7, -11, 1353 -204, 109, 5, -191, 105, -15, 163, 1354 -80, 32, -24, -209, 41, 294, 70, 1355 -106, -94, -204, -118, 120, -50, -37, 1356 -82, -241, 46, -131, -29, 150, -55, 1357 33, 155, 120, -89, -8, 7, 62, 1358 213, 82, 61, 18, -161, 144, 152, 1359 30, 131, 65, -87, -255, -17, -107, 1360 -8, 85, -64, 51, -162, 223, -53, 1361 -134, 261, 69, -56, 218, 72, -111, 1362 2, 155, -113, -87, 49, 85, -28, 1363 -163, 42, -1, -196, 7, 39, -245, 1364 14, -137, -79, 11, -160, 202, -293, 1365 -94, 33, 208, 100, 56, -44, 326, 1366 -78, -41, 232, 13, -142, 227, 80, 1367 -16, -87, 201, 33, -133, 15, -183, 1368 -58, -192, -47, 184, -128, 133, 99, 1369 -205, 11, -155, 78, 52, 72, 141, 1370 -246, 26, 99, 151, 59, 115, -64, 1371 -79, -47, -16, -14, 6, 47, -43, 1372 -72, -178, -27, 162, 112, 43, -174, 1373 -175, 238, 186, 71, -54, -188, -76, 1374 -225, 233, 39, -39, -158, 122, 44, 1375 -26, 43, 84, 130, -93, -51, 22, 1376 3, 92, -150, 136, -182, -57, 97, 1377 -131, 179, -78, 80, 91, -165, 90, 1378 -2, 148, 15, 130, 65, 175, 117, 1379 -138, 114, -137, 132, 3, -10, -186, 1380 140, -4, -37, 254, -62, 92, -109 1381 }; 1382 1383 1384