/* ** Copyright 2003-2010, VisualOn, Inc. ** ** 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. */ /*-------------------------------------------------------------------* * qpisf_2s.h *-------------------------------------------------------------------* * Quantization tables for two-stage of ISFs (split by 2 in 1st stage) * Version whith prediction MU = 0.25 *-------------------------------------------------------------------*/ #define ORDER 16 /* order of linear prediction filter */ #define ISF_GAP 128 /* 50 Hz */ #define N_SURV 4 #define SIZE_BK1 256 #define SIZE_BK2 256 #define SIZE_BK21 64 #define SIZE_BK22 128 #define SIZE_BK23 128 #define SIZE_BK24 32 #define SIZE_BK25 32 #define SIZE_BK21_36b 128 #define SIZE_BK22_36b 128 #define SIZE_BK23_36b 64 /* means of ISFs */ static Word16 mean_isf[ORDER] = { 738, 1326, 2336, 3578, 4596, 5662, 6711, 7730, 8750, 9753, 10705, 11728, 12833, 13971, 15043, 4037}; /* 46 bits */ /*-------------------------------------------------------------------* * isf codebooks: two-stage VQ with split-by-5 in 2nd stage * * * * codebook vector dimension number of vectors * * ~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ * * 1_1 9 256 * * 1_2 7 256 * * 2_1 3 64 * * 2_2 3 128 * * 2_3 3 128 * * 2_4 3 32 * * 2_5 4 32 * *-------------------------------------------------------------------*/ /*------------------------------------------------* * 1st stage codebook; 1st split: isf0 to isf8 *------------------------------------------------*/ static Word16 dico1_isf[SIZE_BK1*9] = { 579, 1081, 1035, 390, 3, -263, -198, -82, 38, 18, -68, -12, 313, 761, 405, 249, 111, -76, 740, 1263, 1292, 1006, 997, 1019, 1017, 976, 923, -91, 827, 948, 648, 613, 535, 522, 490, 421, 41, -44, -281, -472, 652, 534, 193, 135, -90, 41, -121, -356, -60, 663, 307, 61, -48, -344, 557, 946, 1049, 867, 846, 990, 1112, 1262, 1241, -118, -204, 328, 512, 870, 793, 610, 402, 186, 156, 293, 74, -338, -475, -897, -594, -161, -497, 226, 131, -138, 307, 169, -271, -164, -387, -624, 62, -32, -61, -252, -541, -828, -1027, -523, -662, 102, -61, 141, 112, -270, -251, -541, 25, -150, 6, -132, -356, -686, -96, -322, -522, -31, -326, -36, -209, -521, -229, 307, -132, -5, -99, -384, 60, -51, -237, -668, -973, -407, -708, -75, -172, 26, -138, -266, 111, -302, 43, -278, -356, -359, 570, 822, 496, -154, -312, -92, 137, 279, 371, -146, 368, 409, 68, 6, 77, 167, 202, 162, 633, 898, 996, 756, 662, 683, 783, 909, 996, -103, 294, 607, 415, 483, 462, 480, 431, 408, -120, -338, -612, -524, 584, 331, 92, 433, 276, -178, -293, -154, -41, 269, 100, -9, 213, 160, 830, 736, 278, 820, 1254, 686, 712, 1039, 473, -218, -304, 463, 454, 397, 273, 202, 286, 273, -232, 7, 6, -388, -472, -427, -378, -167, -100, -294, -183, 134, -47, 101, -88, -84, -117, -3, 57, 17, -202, -634, -989, -1119, -533, 176, -36, 120, -28, 23, 111, -319, 318, -22, -77, 266, -271, -464, -434, -658, -640, -385, -385, -99, -69, -198, -259, -266, -44, -39, -139, -137, 171, 66, 9, -145, -377, -846, -1000, -111, -325, 342, 135, -81, -286, -380, 192, -57, 307, 76, -24, -140, 677, 702, 247, 56, 249, 141, -105, -236, -99, 36, -39, -69, 348, 198, -93, 322, 91, -72, 503, 885, 1508, 1307, 1282, 1172, 1119, 1209, 1061, 416, 719, 989, 1227, 1001, 1052, 954, 741, 1044, -127, -376, -657, 139, 623, 223, 501, 306, 220, -113, -384, -796, 504, 438, 85, 213, -83, -194, 585, 1132, 1233, 1091, 1247, 1433, 1512, 1448, 1314, -174, -422, 7, 1155, 1089, 1182, 1003, 945, 806, 8, -126, -317, -103, -351, -695, -98, -268, -537, 33, -103, -290, 167, -39, -407, 44, -208, -375, 104, -23, -64, -291, -637, -851, -1084, -61, -112, -75, -306, -434, 218, -148, -354, -680, -133, -216, -121, -377, -718, -97, -130, -361, -156, -379, -599, -56, -254, -586, 235, 157, -214, 11, -260, -149, -124, -267, -397, -580, -593, -527, -805, -385, 346, -193, -440, -708, -351, -141, -255, -499, -147, -185, 448, 660, 494, 208, 509, 461, 338, 291, 149, -223, 88, 335, 159, 212, 191, 286, 308, 205, -31, 469, 803, 659, 619, 658, 843, 987, 1113, -171, -242, 514, 362, 295, 524, 552, 694, 585, -64, -308, -448, -21, 284, 786, 446, 289, 92, -218, -390, -7, 169, 206, 330, 352, 408, 358, -36, 702, 959, 859, 861, 1115, 1269, 1357, 1305, -133, -341, -65, 678, 417, 440, 486, 518, 780, 33, -44, -191, -344, -461, -755, -201, 217, -31, -353, -547, -44, 123, -61, -68, -79, 29, 60, 73, -57, -406, -766, -1243, -1203, 240, 400, 165, -73, -282, -601, -213, -171, -375, 332, 35, -103, -29, -207, -553, -476, -638, -908, 172, -22, -135, -192, -239, -164, -103, -111, -47, 153, 125, 110, -1, -203, -570, -1030, -1424, -535, 155, 1, 147, -333, -653, -865, -197, -158, -21, -44, 95, 108, 389, 588, 490, 33, -237, -524, -628, -136, -260, 40, -177, -462, 453, 862, 380, 131, -130, -405, 842, 1678, 1841, 1549, 1474, 1256, 1082, 905, 742, 370, 1216, 1768, 1633, 1212, 636, 22, -330, 71, -76, -281, -741, -742, 898, 619, 277, 71, -222, -32, -265, -556, -25, 994, 682, 305, 126, -165, 73, 738, 893, 968, 993, 1768, 2273, 1840, 1391, -69, -349, -585, 234, 1158, 903, 626, 510, 251, -1, -99, -272, -210, -603, -351, -540, -811, -383, -16, -230, -504, 410, 149, -205, -343, -651, -639, 103, -9, -227, -205, -562, -781, -1079, -1208, -156, 143, 63, -135, -67, -317, -602, -784, -1154, -640, -144, -391, -674, -622, -200, -254, -660, -947, -395, -40, -250, -625, 27, 543, 94, -131, -386, -673, -123, -371, -757, -451, -564, -614, -415, -711, -35, -116, -309, -593, -268, 239, -33, -338, -650, -135, 94, 251, 554, 57, -312, -423, -154, -57, 235, -268, -71, 381, 114, -44, -87, 125, 173, 133, 1513, 1714, 1238, 534, 276, 315, 461, 459, 508, -131, -19, 1149, 670, 486, 356, 309, 369, 296, -223, -501, -899, -722, -70, 6, 131, 310, 394, -99, -303, -517, 249, 64, -53, 135, -11, 453, -147, -399, -730, -401, 817, 738, 802, 749, 575, -154, -435, -739, 800, 593, 366, 529, 318, 326, -224, 45, -39, -387, -515, -518, -608, -384, -321, -315, -377, 143, -101, -113, -377, -177, -144, -12, 117, 40, -239, -651, -1051, -581, -737, -990, -328, 26, -50, -157, -23, -453, -283, -531, -546, 192, -252, -501, -743, -589, -627, -499, -328, -118, -72, -324, -494, -244, -306, -144, -177, -262, -135, -78, -36, -234, -519, -961, -1290, -314, -479, -371, -45, -95, -292, -535, -8, -300, 112, -164, -277, 198, -99, -128, 880, 836, 579, 351, 23, -95, -217, -27, -258, 124, 1011, 597, 425, 144, 7, -73, 421, 1293, 1640, 1623, 1742, 1617, 1499, 1284, 1006, -95, 752, 1680, 1569, 1618, 1436, 1200, 980, 712, -69, -300, -683, -435, 1132, 899, 504, 332, 109, -74, -323, -637, 563, 1074, 608, 371, 105, -49, -78, 831, 1194, 1110, 1378, 1481, 1492, 1365, 1217, -259, -121, 1440, 1334, 1628, 1490, 1438, 1223, 933, -82, -306, -613, -222, -378, -675, -545, -671, -845, 53, -124, -347, 422, 52, -125, -270, -529, 9, 79, -89, -320, -662, -999, -1199, -1243, -676, -297, -68, -273, -611, 137, -146, -397, -627, -845, -220, -112, -346, -797, -826, 234, -132, -188, -278, -522, -159, -405, -734, -419, 293, 74, -167, -167, 184, -153, -437, -833, -1080, -336, -472, -561, -340, -253, -169, -423, -820, -904, -131, -19, -346, -604, 31, 33, -31, 312, 62, -148, 49, -59, 564, 486, -306, -333, 194, -44, 67, 72, 147, 205, 243, -207, -49, 1360, 983, 969, 991, 1014, 1110, 973, -211, -172, 883, 627, 711, 674, 705, 798, 746, -88, -325, -763, -974, 687, 908, 514, 382, 172, -292, -612, -805, 63, 131, 270, 259, 352, 348, -235, -84, 955, 818, 1120, 1289, 1559, 1480, 1285, -180, -461, -614, 657, 691, 745, 854, 783, 713, -97, -309, -477, -614, -777, -734, -768, -526, -472, -344, -476, -35, -169, 49, -77, -150, -240, -141, -52, -268, -639, -919, -1278, -1113, -342, -333, -151, -68, -242, -585, -73, -209, -478, -159, -429, 133, -197, -499, -1005, -1268, -272, -224, -105, -67, 17, -363, -618, -414, -116, -62, 20, 10, 116, 108, -195, -475, -906, -1260, -891, -441, -277, -142, -28, -226, -519, -950, -700, -275, -266, -116, -105, 82, 404, 511, 520, 327, 17, -194, -333, -536, -586, -114, -130, 276, 237, 204, 342, 135, -16, -111, 670, 1208, 1168, 860, 742, 601, 528, 403, 309, 397, 621, 966, 752, 579, 398, 400, 329, 252, 191, 180, -137, -467, 272, 106, -95, 17, -192, -80, -290, -626, 194, 598, 196, 21, -281, 77, 510, 864, 1108, 807, 939, 902, 925, 717, 481, 137, 367, 534, 764, 670, 382, 296, 153, 84, 303, 497, 144, -85, -125, -539, -482, -464, -764, 233, 347, 68, -147, 169, -210, -242, -226, -482, 307, 422, 154, -175, -386, -722, -724, -904, -1015, 309, 308, 160, -60, -470, -420, -598, -791, -219, 68, 121, -137, -560, -146, -446, -515, -494, -729, 130, 53, -227, 46, 474, 32, -161, -192, -490, 213, 164, -71, -465, -876, -161, -456, -587, -48, 218, 117, 39, 177, -194, -88, -226, -418, 50, 210, 547, 569, 279, 121, -44, -50, 10, -84, 58, 140, 182, -5, 267, 117, 106, 211, 198, 539, 835, 913, 719, 617, 544, 591, 565, 642, 153, 559, 872, 460, 222, 108, 188, 180, 183, 158, 119, 284, -153, -271, 229, 87, 110, -57, -183, 82, 118, 21, 13, 40, 118, 191, 185, 162, 889, 654, 108, -34, 244, 488, 561, 532, 163, 56, 609, 341, 50, 329, 68, 266, 218, 100, 206, 18, -304, -107, -436, -487, -65, -306, -86, 154, 134, -30, -45, -73, -104, -80, -96, 245, 330, 10, -440, -849, -1082, 79, 40, -265, 196, 372, 272, -181, -493, -389, 275, 80, -59, 2, -12, -246, -505, -100, -436, 21, -187, -431, -221, -48, 36, -271, -186, -147, -109, 26, 71, 213, 140, 72, -351, -620, -84, -363, 69, 46, 91, 167, -3, -95, -99, -105, -48, 114, 147, 259, 249, 172, 607, 406, 52, 59, -189, -320, 115, -85, -54, 574, 128, 226, -59, -253, 130, -62, 1033, 1308, 1035, 1127, 1098, 1029, 961, 823, 39, 364, 757, 940, 728, 660, 659, 583, 770, -115, -338, -760, -471, 394, 37, 441, 178, 6, -57, -305, -525, 796, 453, 188, -4, -114, 248, 71, 444, 797, 731, 1096, 1157, 1222, 1029, 811, 135, 359, 551, 425, 749, 815, 874, 704, 502, 132, 247, 0, -206, -449, -750, -258, -514, -633, 248, 249, 91, 121, -195, -499, -90, -282, -435, 78, 20, -277, -623, -983, -1224, -415, -458, -639, 347, 509, 208, -179, -464, -728, -76, -237, -486, -103, -343, -756, -713, -265, -609, -191, -398, -636, -121, -383, -749, 567, 252, -36, -354, -417, -50, 204, 100, -149, -650, -1081, -47, -7, -263, 111, -46, -180, -267, -324, -562, -394, -692, 398, 292, 482, 670, 683, 624, 442, 165, 116, 36, -149, 108, 247, 291, 247, 355, 122, 109, 224, 296, -14, 945, 990, 801, 755, 815, 847, 913, 892, 292, 349, 725, 482, 388, 329, 429, 620, 667, -34, 197, 213, -127, 84, 494, 620, 575, 375, 126, 207, 172, 167, 362, 202, 296, 395, 455, -6, 250, 539, 467, 636, 801, 1149, 1287, 1118, 27, 240, 369, 280, 440, 411, 634, 892, 953, 159, 170, -58, -395, -797, -690, 77, -211, -334, -5, -28, -13, -74, -335, -603, 300, 88, -205, 82, -33, -364, -698, -1203, -1153, 110, -146, -289, 113, 1, -243, -588, -994, -496, 414, 160, 42, -56, -247, -440, -693, -996, -479, 11, -178, -357, -151, -353, -327, -211, -340, 141, 65, 425, 453, 34, -169, -455, -932, -1215, 138, 499, 256, 324, 68, 139, -15, -547, -478, 17, 306, 502, 481, -32, -134, 445, 129, -143, -244, -503, -507, -599, 61, -140, -345, 496, 458, -2, 20, -227, -514, 394, 1765, 1666, 1339, 1117, 806, 642, 479, 380, 215, 519, 920, 1053, 1090, 791, 528, 290, 155, -54, -233, -647, -602, 639, 294, -2, -167, -442, -78, -315, -791, -113, 820, 403, 158, -116, -356, 529, 1851, 2003, 1228, 622, -41, -416, 344, 819, -105, -379, -236, 1224, 893, 749, 568, 356, 214, -17, -199, -144, 50, -283, -247, -578, -846, -1087, 69, -11, -381, -206, 209, -284, -387, -416, -716, 39, -5, -145, -374, -682, -909, -1074, -1169, -1066, 287, 226, 67, -221, -662, -171, -421, -642, -707, -132, -348, -538, -448, -20, -4, -354, -748, -933, 4, -75, -289, -598, 317, 52, -208, -297, -559, -88, -264, -358, -589, -631, -248, -523, -822, -1071, 70, -8, 54, -314, -515, 92, -146, -274, -493, 199, 62, 391, 158, -141, 71, -219, -203, -207, 152, 40, 329, 162, -29, 48, -149, 108, 127, 635, 1058, 883, 492, 372, 312, 317, 274, 241, 267, 722, 1256, 882, 625, 248, 8, -81, -60, -58, -138, -291, -600, -12, -2, -39, 147, 117, -107, -345, -513, 459, 76, 92, -272, 388, 262, 362, 516, 203, -409, -716, -831, -331, 185, 209, -117, -391, -298, 671, 292, 538, 257, 166, -38, -102, -319, -194, -283, -573, -262, -579, -219, -444, -235, 78, 11, -168, -101, -229, -263, -321, -123, 70, 50, -170, -599, -996, -588, -263, -516, -455, 394, 363, 229, -136, -538, 21, -183, -348, -201, -124, -368, -640, -879, -847, -209, -409, -494, -515, -127, -341, -541, -425, -510, -10, -252, -473, -291, 84, -69, -201, -676, -868, 103, -311, -132, -320, 5, -173, -188, -297, -628, 197, -57, 7, -11, 49, -160, 56, 558, 111, 33, -311, -440, -463, -1, -246, -307, 862, 453, 139, -170, -355, -232, 279, 966, 1642, 1478, 1463, 1123, 795, 525, 339, -197, -38, 1702, 1331, 1252, 950, 692, 504, 426, -108, -344, -861, -1172, 444, 354, 88, -46, -220, -53, -321, -494, 1113, 744, 364, 198, -34, -75, 457, 955, 1177, 1214, 1427, 1457, 1345, 917, 539, -69, 199, 897, 1140, 1343, 1183, 977, 742, 522, 122, 44, -269, 27, -155, -562, -307, -590, -773, 154, 42, -160, 252, -129, -305, -471, -733, -371, 135, 185, -82, -416, -722, -913, -504, -743, -880, 149, 214, -84, -329, -680, -835, -426, -661, -81, -128, -380, -735, -998, -337, 17, -182, -467, -697, -84, -290, -510, -592, 13, 440, 154, -38, -279, 70, -61, -246, -727, -1047, -80, -381, -535, -704, 178, -2, -146, -670, -938, 482, 138, 63, 65, -11, 15, 772, 443, 142, -20, -209, -126, -161, -32, -249, 95, 552, 124, 30, -343, 82, -86, 148, 751, 1515, 1105, 867, 606, 474, 448, 399, -163, -257, 899, 1097, 906, 751, 502, 390, 294, -51, -258, -447, -806, -368, 763, 464, 364, 183, -166, -374, -367, 87, 35, 399, 418, 856, 833, -205, -310, 588, 778, 785, 1065, 1118, 1245, 1157, -173, -312, 107, 345, 400, 790, 870, 1113, 1001, -7, -120, -387, -410, -614, -943, -226, -384, -491, -203, -288, -51, -331, -90, -178, -408, -573, -338, 56, -29, -273, -627, -1041, -798, -247, -467, 148, 66, -2, -205, -205, -575, -349, -57, -352, -58, -45, -225, -471, -924, -497, 77, -32, 44, -135, -277, -491, -497, -502, -424, -202, -137, 77, 96, 26, -179, -469, -1008, -1260, 262, -35, -132, -259, -66, -232, -447, -533, -789, -191, -100, -267, 364}; /*------------------------------------------------* * 1st stage codebook; 2nd split: isf9 to isf15 *------------------------------------------------*/ static Word16 dico2_isf[SIZE_BK2*7] = { 1357, 1313, 1136, 784, 438, 181, 145, 636, 648, 667, 568, 442, 217, 362, 427, 440, 674, 524, 332, 117, -417, 121, 295, 468, 465, 230, 44, -221, -147, -240, 149, 80, 390, 278, 106, -418, -556, 552, 511, 235, 144, -95, 43, 193, 274, 150, 67, 34, -273, -43, -126, 171, 416, 282, 63, -354, -372, -86, -344, -108, -94, -182, -89, -600, -840, -200, 465, 258, -11, -253, -48, 329, 97, -290, -543, -795, -354, -570, -117, 187, 10, -133, -416, -76, -618, -129, -247, -371, 45, -76, 277, -1022, -1079, 126, 474, 254, 127, 52, -281, 76, -167, -361, -283, -551, -283, -119, -52, -1, 134, -32, -204, -415, 1064, 827, 637, 684, 464, 209, 12, 482, 416, 449, 371, 335, 294, 194, 719, 576, 365, 135, 113, 91, -199, 298, 176, 493, 366, 194, 163, 36, -35, -236, -259, -36, -4, 99, 152, -98, -306, -27, 228, 90, 111, -86, 91, 13, -211, -258, -106, 86, -64, 73, -35, -57, -31, 162, 35, -192, -109, -335, -629, -66, -61, -128, 322, -495, -669, -728, 193, 31, -220, 122, 324, 95, -89, -91, -409, -710, -154, 0, -234, 92, 33, -343, -609, -220, -343, -408, -476, -655, -153, 82, 222, -490, -745, -255, 49, -48, 135, -127, 119, -67, -328, -390, -272, -545, -56, -57, -130, -10, -7, -164, -47, -22, 984, 1064, 961, 568, 210, -27, 16, 811, 691, 754, 514, 224, -35, 166, 662, 704, 618, 386, 57, -211, -257, 510, 359, 418, 393, 91, -144, -18, -193, -31, -27, 223, 89, -143, 24, -112, -98, 471, 319, 185, 3, 175, 252, 146, -47, 272, 48, -211, -234, 146, 69, 203, 364, 68, -52, 51, -259, -478, -697, -349, -758, -501, 63, -501, -769, -289, 79, -311, -497, -106, 251, 53, -235, -469, -895, -884, 145, -416, -551, 140, -133, -523, -775, 44, -326, -423, -713, -497, -86, -431, 99, -757, -772, -160, -76, -46, -32, 379, 85, -35, -200, -401, -663, -1040, -247, -180, -330, -92, -376, 27, -183, -110, 1279, 1086, 781, 502, 324, 164, 157, 682, 466, 449, 277, 146, 28, 409, 635, 472, 390, 107, -232, -538, -139, 196, 396, 332, 213, 209, -29, -81, 150, -95, -312, 76, -77, -320, -50, 46, 9, 47, 175, 139, 30, 384, 218, 206, -24, -250, -96, -276, -183, 26, 119, 38, 14, -4, -133, -52, -477, -614, -987, -715, -631, -813, 200, -744, -1009, -1065, -745, -631, -171, 18, -137, -251, -483, -613, -980, -1203, 12, -605, -767, -562, -686, -1088, -515, 58, -202, -428, -782, -1072, -96, -234, -179, -480, -709, -1070, -897, -131, -92, 321, -145, -193, -512, -729, -572, -765, -210, -331, -585, -525, -631, -281, -208, -303, 1165, 1104, 939, 828, 716, 426, 155, 6, -109, 820, 778, 415, 113, -27, 381, 339, 314, 265, 121, -9, -474, -373, 47, 584, 442, 99, -231, -113, -496, -38, -285, 262, 305, 170, 4, -587, -556, 69, 66, 471, 354, 13, -138, 70, -18, 106, 67, 167, -302, -445, -141, 185, 191, 151, 83, -133, -257, -521, -720, -198, 134, -46, -182, -819, -1168, -777, 512, 359, 95, -113, 137, -2, -74, -138, -401, -114, -371, -242, -466, 204, 223, -31, -212, -192, -532, -637, -466, -686, 256, 277, -139, -1141, -1244, -381, -75, -54, 14, 88, -311, 115, -143, -499, -343, 124, -416, -616, -147, -135, 43, -4, 121, -369, 835, 783, 641, 390, 355, 350, 64, 72, 194, 443, 467, 436, 219, 372, 464, 369, 192, 4, -156, -72, -226, 57, 206, 303, 205, 188, 101, 265, -40, -205, -488, -184, 276, 64, -26, -217, -433, -297, 137, 328, 308, -289, 378, 81, -308, -465, 57, -37, 227, -100, 24, -36, -151, 199, 8, 143, -426, -697, -1059, -133, 388, 161, 321, -644, -1023, -1271, 39, 66, -123, 70, 372, 177, -173, -556, -553, -304, -189, -117, -369, -425, -122, -462, -152, -73, -649, -850, -1189, -767, 497, 360, 222, -798, -1139, -1455, -190, 430, 234, 179, 42, -94, -405, -692, 38, -202, -246, -169, -366, -290, -88, -64, 32, -292, 1010, 923, 938, 710, 465, 230, 342, 217, 300, 1054, 675, 68, -458, -179, 78, 453, 316, 18, -237, -496, -243, 167, 21, 424, 215, -91, -303, -170, -290, -81, -70, -67, 40, 54, -59, -353, -427, -90, 53, 94, 9, 54, -28, 318, 283, 15, -240, -58, 79, -75, -121, 229, 35, 58, 6, -133, -351, -514, -744, -834, -705, -137, 164, -1124, -1388, -1055, -230, -73, 40, 36, -163, -233, -532, -785, -1170, -697, 96, -788, -959, -246, -430, -624, -165, -8, -856, -540, -630, -907, -337, -70, 76, -937, -1042, -659, -733, -208, 199, -26, -523, 78, -98, -501, -869, -890, -81, -624, -703, -45, -348, -25, 87, -186, 1005, 823, 546, 249, 90, -22, 207, 298, 397, 381, 319, 200, 62, 303, 473, 379, 133, -247, -632, -441, 75, 284, 208, 391, 115, -25, 44, 95, -72, 79, -95, -63, -129, -293, 203, -164, -349, 115, 122, 69, -1, 378, 348, 170, 99, 58, -179, -302, 188, -190, -2, 150, 23, -51, -11, 216, -615, -863, -1090, -1427, -802, -48, -6, -961, -1276, -1548, -727, -58, 56, 223, -124, -255, -561, -988, -1277, -148, -82, -480, -660, -891, -1191, -1339, -325, 20, -621, -917, -1296, -1350, 264, 289, 50, -844, -1022, -1345, -1329, -293, 46, 278, -260, -468, -829, -1176, -533, -560, -78, -215, -484, -822, -1233, -791, 15, -138, 1301, 1317, 1262, 1048, 716, 357, -64, 578, 824, 925, 802, 630, 362, 102, 470, 925, 767, 514, 327, 190, -112, 225, 492, 495, 437, 598, 384, -45, 43, 82, -42, 175, 519, 342, -64, -304, -154, 159, 576, 403, 221, 327, 214, 244, 122, -62, 312, 92, -160, 218, 208, 310, 268, 306, 323, -199, -285, -269, -79, -124, -143, -153, 236, -205, -384, -426, 344, 59, -185, -184, -272, 247, 126, -210, -518, -468, 78, -99, -120, 502, 160, -280, -557, 304, -423, -17, -283, -443, 215, 212, -140, -564, -684, -228, 510, 361, 130, 323, -428, 335, 98, -65, 36, -215, -246, -362, 51, 364, -16, -234, 150, -165, 914, 883, 751, 653, 676, 464, -153, 631, 545, 535, 720, 596, 360, -81, 783, 712, 512, 439, 341, 251, -391, 497, 417, 249, 372, 295, 173, -193, 128, -110, -385, 93, 39, 173, -231, 216, -59, -253, 462, 389, 154, 69, 455, 270, -4, -337, -49, 233, -322, 307, 143, 53, 218, 128, 236, -156, -37, -186, -240, -411, -110, 9, 399, -140, -365, -628, 258, 380, 214, 277, 131, 454, 177, -285, -520, 108, -214, 77, -141, 201, -123, -490, -131, 60, -14, -194, -521, -741, 273, 362, -33, -362, -566, -287, -228, 161, 237, 317, -269, 195, -75, -375, -204, 11, 77, -128, -264, -156, -223, -475, 265, 27, 1238, 1147, 916, 689, 432, 210, -280, 800, 664, 879, 726, 411, 160, -164, 454, 686, 536, 275, 147, 46, 111, 303, 486, 512, 355, 241, 181, -69, 79, 92, 29, 147, 233, 52, 17, -171, 289, 131, 439, 271, 3, -10, 413, 241, 144, 174, 155, -2, 14, 58, 217, 247, 219, 149, 175, -18, 228, -8, -240, -206, -513, -191, 202, -96, -272, -454, 33, -300, -575, 46, -10, -108, -246, -347, -770, -535, 9, -326, -430, -61, -321, -704, -299, 201, -1, -280, -603, -419, -185, 18, -36, -516, -522, -379, -291, -181, -97, 27, -159, -313, -525, -224, -510, -831, -197, -292, -459, -59, -310, -562, -143, -351, 1066, 912, 631, 389, 207, 86, -224, 596, 512, 596, 505, 314, 122, -48, 787, 861, 441, -93, -303, 33, -190, 257, 469, 337, 51, 15, 298, -93, 295, 73, -119, 25, 36, 23, 108, -28, -3, -32, 114, 21, 185, 107, 482, 305, 15, -279, -319, 52, 96, 226, 46, 115, 72, -136, 133, -125, 18, -207, -559, -590, -503, -482, 321, -571, -789, -951, -172, -441, -538, 113, 181, 14, -310, -641, -1001, -202, 159, -136, -393, -433, -513, -911, -144, -22, 72, -265, -706, -954, -159, 53, 332, -338, -591, -852, -383, -395, 56, 44, 43, -158, -464, -897, -631, -157, -294, -161, -128, -328, -573, -483, -125, 11, 1017, 906, 1051, 1005, 679, 341, -102, 359, 334, 1567, 1314, 723, 105, 10, -65, 726, 529, 301, 220, 43, -273, -510, 436, 719, 566, 358, 179, 114, -560, 298, 133, -120, 342, 225, 14, -899, -101, 217, 617, 400, 146, -58, -41, 352, 82, -196, 39, 121, -167, -212, 59, 447, 284, 423, 250, -169, -371, -484, -596, 30, -41, 249, 22, -372, -650, -794, 477, 445, 216, -79, -352, 275, 17, -443, -929, 92, 19, -699, -696, 431, 264, -49, -310, 182, -978, -217, -430, -400, 101, 261, 72, -929, -889, -357, -13, 463, 378, 236, -826, 56, 30, -299, -360, -128, -51, -878, -299, -111, 75, 65, 36, 3, 817, 368, -25, 354, 697, 591, -173, 309, 212, 222, 751, 484, 140, -56, 593, 379, 70, -8, 258, 180, 110, 165, -46, 255, 297, 219, 273, 105, 160, -70, -358, -181, 379, 330, 319, -238, -369, -198, 740, 580, 319, -143, 201, 109, -202, -456, 328, 276, -141, 203, 170, 111, 42, 207, 360, 188, -345, -399, -513, -233, 650, 422, 81, -635, -961, -1220, 463, 539, 204, 209, 202, -25, -194, -498, -787, 193, -143, -449, -538, 195, -106, -331, 68, 62, -228, -477, -840, -576, 317, 128, 283, -671, -937, -807, -114, 391, 335, -62, 246, 2, -314, -679, -303, 180, -88, -107, -272, 90, -198, -28, 290, -112, 885, 1149, 1021, 712, 496, 281, -83, 269, 492, 787, 643, 347, 70, 124, 336, 636, 499, 92, -229, -179, 191, 26, 402, 564, 340, 149, -11, 135, -440, 561, 470, 204, -72, -186, 140, -720, 14, 355, 229, 68, -133, 465, 110, 310, 103, 12, 106, 29, 158, -178, 113, 161, 142, 121, 115, 27, -651, -414, -645, -152, -164, -13, -429, -639, -944, -681, -104, -81, 52, -189, -663, -164, -316, -683, -954, -205, -83, -609, -669, -172, -517, -694, 283, -80, -646, -152, -383, -678, -246, -40, -143, -747, -796, -745, -390, -98, 43, 275, -599, -199, -398, -433, -436, -538, 31, -1107, -568, -376, -265, -126, -21, 1, 847, 573, 308, 392, 305, 101, 55, 273, 293, 201, 267, 346, 201, 123, 727, 480, 226, 2, -65, -138, 164, 273, 208, 173, 292, 12, 253, 174, 340, 207, 180, 88, 116, 46, 475, -460, -166, -30, 13, 110, 173, 396, 137, 88, 43, -137, -94, 34, 284, 96, -14, 226, 40, 63, 70, 130, -467, -735, -1012, -1174, -307, 305, -67, -612, -920, -1146, -567, -8, 92, -25, -182, -271, -492, -754, -857, 287, -75, -494, -787, -689, -683, -709, 137, -326, -288, -550, -903, -1105, 334, 321, -62, -354, -653, -834, -445, 1, 377, -152, -162, -306, -608, -937, -297, 247, -192, -234, -477, -244, -488, -266, 342, -332}; /*---------------------------------------------------* * 2nd stage codebook; 1st split: isf2_0 to isf2_2 *---------------------------------------------------*/ static Word16 dico21_isf[SIZE_BK21*3] = { 329, 409, 249, -33, 505, 160, -29, -14, 582, -262, 127, 354, 145, 237, 175, -152, 245, 122, 27, 42, 340, -84, -93, 311, 285, 222, -156, 47, -43, -504, 234, 121, 385, 104, -317, 45, 176, 195, 8, 104, -59, -94, 177, 53, 192, -34, -127, 152, 570, 277, -34, -67, -329, -639, -157, -272, 462, -177, -462, 198, 322, 179, 115, -386, 171, 19, 19, -12, 195, -120, -252, 201, 304, 36, -336, -128, -221, -380, 171, -185, 296, -242, -312, 23, 198, 39, 16, -3, -177, -111, 111, -93, 76, -92, -223, 4, 177, 406, -44, -168, 380, -149, -4, 273, 331, -420, 513, 277, 21, 247, 47, -58, 131, -2, -3, 134, 180, -145, 40, 175, 189, 74, -145, -27, -45, -325, 370, -114, -21, -83, -415, -173, 77, 95, -51, -40, -30, -67, 71, 88, 86, -35, -98, 14, 69, 197, -334, -196, 79, -231, -348, -137, 218, -352, -89, -85, 47, 201, -130, -165, 37, -15, -43, 3, 86, -161, -108, 79, 83, 21, -237, -81, -149, -238, 150, -186, -251, -186, -249, -162, -19, 66, -139, -26, -50, -181, 24, 11, 0, -130, -105, -98}; /*---------------------------------------------------* * 2nd stage codebook; 2nd split: isf2_3 to isf2_5 *---------------------------------------------------*/ static Word16 dico22_isf[SIZE_BK22*3] = { -127, 310, 42, -242, 197, 5, -151, 84, -17, -214, 127, -149, -247, -131, 159, -268, -267, -95, -217, 1, -79, -271, -80, -185, -45, 436, 159, 165, 199, 391, -33, 81, 187, -66, -42, 355, -298, -57, 343, -108, -537, 226, -144, -23, 193, 176, -402, 87, 53, 296, 25, -84, 253, -104, -58, 105, -126, -169, 174, -314, -48, 44, -294, -164, -417, -242, -139, 3, -194, -155, -207, -211, 119, 322, 213, 333, 50, 380, 237, 247, -2, 466, -16, 201, 238, -255, -107, 67, -440, -149, 122, -88, -139, 88, -247, -73, -41, 231, 167, -62, 155, 16, -65, 16, 77, -68, -2, -63, -151, -300, 160, -18, -333, 54, -56, -94, 5, 2, -190, 14, 92, 148, 209, 108, 9, 272, 108, 35, 110, 142, -85, 145, 47, -157, 279, 3, -320, 246, 43, -72, 68, 86, -217, 135, 36, 140, 79, 56, 175, -49, 26, 45, 3, 73, 55, -101, 109, -183, -242, -4, -283, -242, 48, -68, -48, -6, -153, -122, 161, 196, 96, 232, 80, 190, 165, 97, 11, 258, -31, 71, 267, -77, -91, 311, -209, 87, 152, -14, -22, 150, -149, 9, -324, 557, 187, -384, 307, 46, -251, 27, 77, -365, 77, -52, -482, -84, 160, -424, -515, -64, -294, -120, -4, -476, -116, -109, -97, 318, 365, 106, 627, 445, -190, 120, 287, -146, 65, 619, -427, 242, 363, -361, -371, 432, -347, 102, 168, -629, 195, -14, -65, 476, -47, -297, 320, -168, -55, 356, -264, -391, 82, -286, -51, -31, -556, -178, -399, -586, -205, -49, -360, -343, -238, -337, 220, 457, 58, 561, 467, 259, 340, 270, -168, 450, 77, -280, 60, 167, -413, 133, -252, -492, 216, 157, -290, 282, 0, -495, -226, 293, 183, -157, 135, 122, -158, -59, 39, -133, -118, -97, -332, -309, 113, -160, -425, -6, -149, -211, 24, -80, -277, -90, -11, 125, 338, 130, -71, 465, 5, -45, 184, 237, -95, 253, -139, -197, 297, -19, -300, 511, -63, -152, 139, 250, -289, 336, 124, 339, -150, 34, 176, -208, 171, 166, -116, 94, 38, -229, 75, -65, -339, -78, -205, -385, 0, -30, -163, -56, -110, -242, 321, 244, 194, 505, 238, -1, 317, 116, 65, 309, 88, -74, 452, -51, -50, 334, -217, -290, 211, 41, -152, 238, -55, -260}; /*---------------------------------------------------* * 2nd stage codebook; 3rd split: isf2_6 to isf2_8 *---------------------------------------------------*/ static Word16 dico23_isf[SIZE_BK23*3] = { -10, 151, 359, 136, 298, 223, 255, -104, 290, 423, 6, 183, -270, -269, -98, -52, -82, 13, -82, -274, -97, 90, -246, -72, -299, -70, 421, -88, 365, 430, 187, -318, 381, 380, 37, 488, -373, -316, 79, -308, -101, 5, -135, -451, 8, 72, -421, -154, 180, 170, -121, 62, 177, -40, 326, 80, -105, 248, 263, -5, -168, -181, -221, -2, -23, -158, -14, -149, -121, 119, -91, -147, 119, 332, -153, 49, 303, 34, 442, -55, -69, 217, 454, 58, -359, -187, -375, -42, 50, -274, -8, -267, -249, 85, -86, -346, -77, -40, 345, 89, 134, 219, 156, -80, 160, 108, 40, 116, -158, -206, 29, 5, -32, 175, -65, -158, 146, 55, -78, 73, -114, -222, 353, -47, 81, 211, 49, -151, 268, 105, 4, 302, -263, -132, 183, -151, -28, 201, -177, -307, 166, 101, -221, 130, 74, 58, -98, 32, 44, 13, 194, 30, -142, 170, 96, 8, -136, -119, -91, -65, 8, -55, 3, -188, 12, 45, -63, -49, 149, -21, -19, 24, 144, 95, 254, -22, 60, 161, 196, 96, -158, -61, 48, -70, 33, 82, -23, -321, 58, 155, -147, 5, -364, 328, 77, -21, 453, 173, -108, 82, 630, 367, 263, 208, -300, -62, -176, -205, 143, -158, -169, -410, -264, 257, -269, -100, -636, 289, -2, -292, 627, 173, -382, -363, 387, 248, 524, 447, -521, -111, -107, -395, 118, -274, -343, -680, -125, -172, -447, -663, 75, 148, -367, -79, 263, -94, 249, 148, -286, 380, 271, -162, -142, -4, -186, -57, 111, -125, -35, -108, -254, 100, 29, -242, -80, 303, -264, -78, 464, -57, 248, -22, -494, 661, 662, 44, -193, -40, -330, -178, 145, -337, -90, -199, -400, -40, -23, -498, -192, 114, 315, -41, 244, 190, 88, -97, 485, 241, 80, 212, -246, 40, 87, -156, 147, 134, -2, -334, 239, 308, -203, 110, -459, 251, 422, -218, 310, 228, -86, -346, 654, 184, 175, 425, -481, -63, 169, -349, 117, 188, -125, -560, 310, 158, -416, 94, 46, 171, -192, -63, 157, 14, 256, -35, -271, 322, 123, 53, -214, 4, -76, -156, 86, -18, 128, -197, -232, 265, -90, -98, -308, 332, -145, -131, 308, 58, 509, 59, -339, 562, 196, -14, -378, 100, -47, -234, 202, 1, 104, -270, -493, 319, -210, -325}; /*---------------------------------------------------* * 2nd stage codebook; 4th split: isf2_9 to isf2_11 *---------------------------------------------------*/ static Word16 dico24_isf[SIZE_BK24*3] = { -79, -89, -4, -171, 77, -211, 160, -193, 98, 120, -103, 323, 32, -22, -129, 72, 78, -268, 182, -76, -66, 309, 99, -145, -229, -157, -84, -383, 98, -71, -90, -352, 12, -284, -178, 178, -65, -125, -166, -87, -175, -351, 42, -198, -48, 154, -140, -243, -77, 18, 108, -39, 355, 91, 87, 8, 155, -4, 158, 239, 128, 95, -54, 7, 246, -124, 258, 15, 89, 206, 216, 98, -201, 9, 18, -312, 233, 204, -39, -174, 155, -144, -9, 284, -57, 70, -69, -157, 187, 18, 54, -30, 23, 24, 135, 55}; /*---------------------------------------------------* * 2nd stage codebook; 5th split: isf2_12 to isf2_15 *---------------------------------------------------*/ static Word16 dico25_isf[SIZE_BK25*4] = { 169, 142, -119, 115, 206, -20, 94, 226, -106, 313, -21, 16, -62, 161, 71, 255, -89, 101, -185, 125, 72, -30, -201, 344, -258, 33, -8, 81, -104, -154, 72, 296, 144, -68, -268, -25, 81, -78, -87, 106, 22, 155, -186, -119, -46, -28, 27, 91, -114, -37, -175, -33, -94, -222, -189, 122, -132, -119, -191, -270, -172, -173, 18, -43, 279, 135, -42, -128, 187, -86, 229, -138, 159, 240, 140, 46, 69, 25, 227, 77, 21, 115, 13, 8, 68, -248, 126, 81, -150, 137, 207, -9, -154, -133, 289, 67, 143, -37, -86, -326, 180, -32, 19, -23, 26, 168, 116, -233, -32, -26, 118, -78, 3, -8, -45, -115, 57, -215, -54, -83, -209, 112, -22, -167, -91, -151, 168, -262}; /* 36 bit */ /*-------------------------------------------------------------------* * isf codebooks: two-stage VQ with split-by-3 in 2nd stage * * 1st stage is kept the same as the 46 bit quantizer * * * * codebook vector dimension number of vectors * * ~~~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ * * 1_1 9 256 * * 1_2 7 256 * * 2_1 5 128 * * 2_2 4 128 * * 2_3 7 64 * *-------------------------------------------------------------------*/ static Word16 dico21_isf_36b[SIZE_BK21_36b*5] = { -52, -96, 212, 315, -73, 82, -204, 363, 136, -197, -126, -331, 183, 218, 143, -49, -41, 557, 230, 72, 2, -73, 163, 377, 221, 133, 111, 278, 215, -110, -102, -20, 284, 113, 273, 84, 319, 290, 18, 85, -25, -5, 125, 132, -204, -38, -5, 286, -9, -356, -140, -256, 92, 117, -189, -144, 191, 313, 51, -98, 167, -10, 44, 247, 36, 381, 197, 238, 74, 6, 38, -408, 29, -3, -85, 92, 266, 157, -25, -200, 161, -121, 70, 84, -140, -16, -86, 112, -94, -189, -269, -270, 351, 107, -24, -68, -67, 492, -103, -155, -53, -131, 62, 122, 10, 135, 84, 283, -55, -120, -12, -219, 331, -81, 167, 220, -136, 147, -172, -42, 140, -95, -109, -88, -194, 0, -2, -4, -33, -381, -66, -217, 152, -186, -402, 244, 108, 156, -140, -395, 113, -136, -196, 110, -24, 214, 118, 11, -64, -131, -110, -286, -6, -332, 16, 94, 97, 79, -291, -205, -5, -39, -20, 252, -96, 76, 174, 101, 163, 61, -69, -239, -55, 399, 6, -115, 319, 164, 275, 196, -15, 36, -47, 331, 121, 226, 209, 271, 325, 184, 13, -80, -218, 471, 353, 288, 378, 16, -51, 251, 174, 116, 52, 149, -279, 235, 276, 39, 120, -48, 0, -108, -108, 241, -339, -93, 534, 45, 33, -87, 194, 149, -71, 405, -44, 409, 370, 81, -186, -154, 25, -102, -448, 124, -173, 22, 408, -110, -310, -214, -26, 23, -83, 114, 14, -110, 164, 52, 223, -82, 37, -25, -263, 306, -15, -466, 415, 292, 165, -18, 29, -19, -171, 155, 182, 179, 144, -27, 231, 258, -103, -247, -396, 238, 113, 375, -154, -109, -4, 156, 98, 85, -292, -5, -124, 116, 139, -116, -98, -294, -14, -83, -278, -117, -378, 106, 33, -106, -344, -484, 119, 17, -412, 138, 166, 384, 101, -204, 88, -156, -121, -284, -300, -1, -166, 280, 33, -152, -313, -81, -37, 22, 229, 153, 37, -60, -83, 236, -8, -41, -169, -228, 126, -20, 363, -235, 17, 364, -156, 156, -25, -30, 72, 144, 156, 153, -26, 256, 97, 144, -21, -37, 48, -65, 250, 63, 77, 273, -128, 124, -129, -26, 40, 9, -115, -6, 82, 38, -90, -182, -336, -13, 28, 158, 91, -30, 241, 137, -170, -17, 146, 14, -11, 33, 61, 192, 197, 54, -84, 85, 23, -200, -78, -29, 140, 122, 237, 106, -341, 136, -57, -142, -85, -16, -74, -59, -90, -8, -187, -20, -211, -267, 216, -179, -110, -50, -7, 220, -267, -70, -57, -42, -17, -15, 71, 32, 21, 63, -137, 33, -137, -175, 104, -68, 97, -67, -43, 133, -301, 221, -116, -200, -81, -92, -272, -64, -41, -54, -244, -220, -287, -242, -50, -87, -89, -245, 236, 102, -166, -295, 66, 24, -162, -71, 95, 66, 136, -90, -220, -36, -98, -161, -222, -188, 29, -18, 18, -19, -415, 9, 49, 61, 100, 39, -56, -111, 82, 135, -31, 52, -90, -153, -93, 189, 182, -214, 295, 119, -74, 284, 2, 137, 37, 47, 182, 92, 117, 184, -53, 373, -21, -14, -35, 136, 391, 146, 129, -164, -28, 333, 92, 80, -84, 100, -134, -8, 217, -32, 3, -47, -151, 251, -215, 142, 92, -224, 310, -172, -275, 98, 159, 155, -177, 112, 53, 205, 27, 8, -240, 192, 169, 120, -319, -201, 106, 11, 36, -86, -237, 455, -109, -154, -163, 174, -55, -38, 32, -101, -78, -59, -205, -321, -97, 69, 79, -310, 44, 18, -185, 34, -115, -20, -148, -39, 203, -29, 154, -30, -158, 166, -45, -131, -317, -24, 363, -165, -205, -112, -222, 265, -32, -44, -150, 54, -193, -6, -38, -255, -169, -115, -266, 87, -189, -36, -169, -60, -87, -266, -436, -170, -68, -81, -278, 24, 38, -23, -19, -155, -256, 141, -61, -226, -565, -175, 71, 9, -29, -237, -515, 263}; static Word16 dico22_isf_36b[SIZE_BK22_36b*4] = { -298, -6, 95, 31, -213, -87, -122, 261, 4, -49, 208, 14, -129, -110, 30, 118, -214, 258, 110, -235, -41, -18, -126, 120, 103, 65, 127, -37, 126, -36, -24, 25, -138, -67, -278, -186, -164, -194, -201, 78, -211, -87, -51, -221, -174, -79, -94, -39, 23, -6, -157, -240, 22, -110, -153, -68, 148, -5, -2, -149, -1, -135, -39, -179, 68, 360, -117, -15, 137, 47, -278, 146, 136, 260, 135, 65, 61, 116, -45, 97, 231, 379, 87, -120, 338, 177, -272, 3, 266, 156, 28, -69, 260, 84, -85, 86, -266, 154, -256, -182, -17, -65, -304, -6, -40, 175, -151, -180, -27, 27, -87, -63, 121, 114, -166, -469, 159, -66, -323, -231, 214, 152, -141, -212, 137, 36, -184, -51, -282, -237, 40, 10, -48, -235, -37, 251, -54, -323, 136, 29, -88, -174, 213, 198, -390, 99, -63, -375, 107, -169, -164, 424, 69, -111, 141, -167, 74, -129, 65, 144, -353, -207, -205, -109, -160, -386, -355, 98, -176, -493, -20, -143, -252, -432, -2, 216, -90, -174, -168, -411, 13, -284, -229, -160, -87, -279, 34, -251, -75, -263, -58, -42, 420, 53, -211, -358, 384, -35, -374, 396, 68, -228, 323, -2, 167, -307, 192, 194, 459, 329, -5, -332, 375, 79, -7, 313, 282, -124, 200, -92, 271, -162, -70, 180, -157, -298, -514, -309, 58, -163, -546, 18, 124, -364, 167, -238, 83, -411, -117, 96, 140, -112, -388, -624, 259, -133, -317, 41, 163, -130, -64, -334, 226, -165, -124, -110, -466, -61, 6, 229, -153, 205, -145, 242, -159, 48, 195, 148, -58, 28, 31, 279, -303, 185, 279, -4, -61, 197, 59, 86, -114, 123, 168, -52, 35, 36, 100, 126, -407, 102, -77, -40, -338, -1, -342, 156, -179, 105, -34, -97, -185, 84, -35, 108, -133, 107, -91, -357, -180, 54, -229, 24, -44, 47, 47, -182, -66, 13, 45, 4, -339, 251, 64, 226, -42, 101, -350, 275, -99, 398, 142, 121, 111, 12, -102, 260, 0, 505, 260, -94, 161, 285, -96, 224, -4, 206, 314, 33, 167, 139, 88, 204, -235, 316, -60, -25, -8, -150, -312, 201, -36, 292, 61, -104, -40, 174, -162, 42, -21, 402, -29, -351, 21, 152, -360, -93, 57, 191, 212, -196, 76, 158, -21, -69, -328, -185, 331, 119, -53, 285, 56, 337, -107, -24, 405, 29, -18, 137, 272, 277, -255, 22, 173, -191, 295, 322, 325, 302, 21, -27, 332, -178, 119, 13, 271, 129, -455, -180, 116, -191, -227, 62, -148, 524, -176, -287, 282, -157, -243, 13, 199, 430, -59, -49, 115, -365, 72, -172, -137, 93, -138, -126, 141, -84, 5, -124, 38, -20, -258, 311, 601, 213, 94, 130, -61, 502, -1, -157, 485, 313, 146, -74, 158, 345, 276, 135, 280, -57, 490, 252, 99, 43, 267, -74, 429, 105, 278, -23, 119, 94, -542, 488, 257, -115, -84, -244, -438, 478, -113, -545, 387, 101, -95, -306, 111, 498, 95, 166, 22, -301, 420, -15, -58, -78, 270, 29, 122, -282, 160, -240, 50, -38}; static Word16 dico23_isf_36b[SIZE_BK23_36b*7] = { 81, -18, 68, -27, -122, -280, -4, 45, -177, 209, -30, -136, -74, 131, -44, 101, -75, -88, -48, -137, -54, -245, -28, 63, -18, -112, -103, 58, -79, -6, 220, -65, 114, -35, -50, 109, -65, 143, -114, 129, 76, 125, 166, 90, -61, -242, 186, -74, -43, -46, -92, 49, -227, 24, -155, 39, 67, 85, 99, -42, 53, -184, -281, 142, -122, 0, 21, -142, -15, -17, 223, 92, -21, -48, -82, -14, -167, 51, -37, -243, -30, -90, 18, -56, 54, 105, 74, 86, 69, 13, -101, 196, 72, -89, 43, 65, 19, 39, 121, 34, 131, -82, 25, 213, -156, 101, -102, -136, -21, 57, 214, 22, 36, -124, 205, 204, 58, -156, -83, 83, -117, 137, 137, 85, 116, 44, -92, -148, -68, 11, -102, -197, -220, -76, -185, -58, 132, -26, -183, 85, -7, -31, -2, 23, 205, -151, 10, -27, -37, -5, -18, 292, 131, 1, 117, -168, 9, -93, 80, -59, -125, -182, -244, 98, -24, 135, -22, 94, 221, 97, 106, 42, 43, -160, 83, 25, -64, -21, 6, 14, -15, 154, 126, 15, -140, 150, -10, -207, -114, 79, -63, -211, -70, -28, -217, 165, 46, 38, -22, 281, 132, -62, 109, 112, 54, -112, -93, 208, 27, 296, 115, 10, -147, 41, 216, 42, -276, 50, -115, -254, 167, 117, -2, 61, 17, 144, 34, -72, -186, -150, 272, -29, -66, -89, -95, -149, 129, 251, 122, 0, -50, -234, -91, 36, 26, -105, -102, -88, -121, -236, -7, -11, -204, 109, 5, -191, 105, -15, 163, -80, 32, -24, -209, 41, 294, 70, -106, -94, -204, -118, 120, -50, -37, -82, -241, 46, -131, -29, 150, -55, 33, 155, 120, -89, -8, 7, 62, 213, 82, 61, 18, -161, 144, 152, 30, 131, 65, -87, -255, -17, -107, -8, 85, -64, 51, -162, 223, -53, -134, 261, 69, -56, 218, 72, -111, 2, 155, -113, -87, 49, 85, -28, -163, 42, -1, -196, 7, 39, -245, 14, -137, -79, 11, -160, 202, -293, -94, 33, 208, 100, 56, -44, 326, -78, -41, 232, 13, -142, 227, 80, -16, -87, 201, 33, -133, 15, -183, -58, -192, -47, 184, -128, 133, 99, -205, 11, -155, 78, 52, 72, 141, -246, 26, 99, 151, 59, 115, -64, -79, -47, -16, -14, 6, 47, -43, -72, -178, -27, 162, 112, 43, -174, -175, 238, 186, 71, -54, -188, -76, -225, 233, 39, -39, -158, 122, 44, -26, 43, 84, 130, -93, -51, 22, 3, 92, -150, 136, -182, -57, 97, -131, 179, -78, 80, 91, -165, 90, -2, 148, 15, 130, 65, 175, 117, -138, 114, -137, 132, 3, -10, -186, 140, -4, -37, 254, -62, 92, -109};