1 /* 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 /* 12 * lpc_tables.c 13 * 14 * Coding tables for the KLT coefficients 15 * 16 */ 17 18 19 #include "modules/audio_coding/codecs/isac/fix/source/settings.h" 20 #include "modules/audio_coding/codecs/isac/fix/source/lpc_tables.h" 21 22 /* indices of KLT coefficients used */ 23 const uint16_t WebRtcIsacfix_kSelIndGain[12] = { 24 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 25 10, 11}; 26 27 const uint16_t WebRtcIsacfix_kSelIndShape[108] = { 28 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 29 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 30 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 32 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 33 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 34 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 35 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 36 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 37 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 38 100, 101, 102, 103, 104, 105, 106, 107 39 }; 40 41 /* cdf array for model indicator */ 42 const uint16_t WebRtcIsacfix_kModelCdf[4] = { 43 0, 15434, 37548, 65535 44 }; 45 46 /* pointer to cdf array for model indicator */ 47 const uint16_t *WebRtcIsacfix_kModelCdfPtr[1] = { 48 WebRtcIsacfix_kModelCdf 49 }; 50 51 /* initial cdf index for decoder of model indicator */ 52 const uint16_t WebRtcIsacfix_kModelInitIndex[1] = { 53 1 54 }; 55 56 /* offset to go from rounded value to quantization index */ 57 const int16_t WebRtcIsacfix_kQuantMinGain[12] ={ 58 3, 6, 4, 6, 6, 9, 5, 16, 11, 34, 32, 47 59 }; 60 61 const int16_t WebRtcIsacfix_kQuantMinShape[108] = { 62 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63 1, 1, 1, 1, 2, 2, 2, 3, 0, 0, 64 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 65 1, 1, 1, 2, 2, 3, 0, 0, 0, 0, 66 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 67 2, 4, 3, 5, 0, 0, 0, 0, 1, 1, 68 1, 1, 1, 1, 2, 1, 2, 2, 3, 4, 69 4, 7, 0, 0, 1, 1, 1, 1, 1, 1, 70 1, 2, 3, 2, 3, 4, 4, 5, 7, 13, 71 0, 1, 1, 2, 3, 2, 2, 2, 4, 4, 72 5, 6, 7, 11, 9, 13, 12, 26 73 }; 74 75 /* maximum quantization index */ 76 const uint16_t WebRtcIsacfix_kMaxIndGain[12] = { 77 6, 12, 8, 14, 10, 19, 12, 31, 22, 56, 52, 138 78 }; 79 80 const uint16_t WebRtcIsacfix_kMaxIndShape[108] = { 81 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 82 2, 2, 2, 2, 4, 4, 5, 6, 0, 0, 83 0, 0, 1, 0, 0, 0, 0, 1, 2, 2, 84 2, 2, 3, 4, 5, 7, 0, 0, 0, 0, 85 2, 0, 2, 2, 2, 2, 3, 2, 2, 4, 86 4, 6, 6, 9, 0, 0, 0, 0, 2, 2, 87 2, 2, 2, 2, 3, 2, 4, 4, 7, 7, 88 9, 13, 0, 0, 2, 2, 2, 2, 2, 2, 89 3, 4, 5, 4, 6, 8, 8, 10, 16, 25, 90 0, 2, 2, 4, 5, 4, 4, 4, 7, 8, 91 9, 10, 13, 19, 17, 23, 25, 49 92 }; 93 94 /* index offset */ 95 const uint16_t WebRtcIsacfix_kOffsetGain[3][12] = { 96 { 0, 7, 20, 29, 44, 55, 75, 88, 120, 143, 200, 253}, 97 { 0, 7, 19, 27, 42, 53, 73, 86, 117, 140, 197, 249}, 98 { 0, 7, 20, 28, 44, 55, 75, 89, 121, 145, 202, 257} 99 }; 100 101 const uint16_t WebRtcIsacfix_kOffsetShape[3][108] = { 102 { 103 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 104 11, 14, 17, 20, 23, 28, 33, 39, 46, 47, 105 48, 49, 50, 52, 53, 54, 55, 56, 58, 61, 106 64, 67, 70, 74, 79, 85, 93, 94, 95, 96, 107 97, 100, 101, 104, 107, 110, 113, 117, 120, 123, 108 128, 133, 140, 147, 157, 158, 159, 160, 161, 164, 109 167, 170, 173, 176, 179, 183, 186, 191, 196, 204, 110 212, 222, 236, 237, 238, 241, 244, 247, 250, 253, 111 256, 260, 265, 271, 276, 283, 292, 301, 312, 329, 112 355, 356, 359, 362, 367, 373, 378, 383, 388, 396, 113 405, 415, 426, 440, 460, 478, 502, 528 114 }, 115 { 116 0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 117 13, 16, 19, 22, 26, 29, 34, 39, 45, 46, 118 47, 48, 49, 50, 51, 52, 53, 55, 57, 60, 119 63, 66, 70, 73, 78, 84, 91, 92, 93, 94, 120 95, 96, 97, 99, 102, 105, 108, 111, 114, 118, 121 123, 128, 134, 141, 151, 152, 153, 154, 156, 159, 122 162, 165, 168, 171, 174, 177, 181, 186, 194, 200, 123 208, 218, 233, 234, 235, 236, 239, 242, 245, 248, 124 251, 254, 258, 263, 270, 277, 288, 297, 308, 324, 125 349, 351, 354, 357, 361, 366, 372, 378, 383, 390, 126 398, 407, 420, 431, 450, 472, 496, 524 127 }, 128 { 129 0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 130 14, 17, 20, 23, 26, 29, 34, 40, 47, 48, 131 49, 50, 51, 52, 53, 54, 55, 58, 61, 64, 132 67, 70, 73, 77, 82, 88, 96, 97, 98, 99, 133 101, 102, 104, 107, 110, 113, 116, 119, 122, 125, 134 129, 134, 141, 150, 160, 161, 162, 163, 166, 168, 135 171, 174, 177, 180, 183, 186, 190, 195, 201, 208, 136 216, 226, 243, 244, 245, 248, 251, 254, 257, 260, 137 263, 268, 273, 278, 284, 291, 299, 310, 323, 340, 138 366, 368, 371, 374, 379, 383, 389, 394, 399, 406, 139 414, 422, 433, 445, 461, 480, 505, 533 140 } 141 }; 142 143 /* initial cdf index for KLT coefficients */ 144 const uint16_t WebRtcIsacfix_kInitIndexGain[3][12] = { 145 { 3, 6, 4, 7, 5, 10, 6, 16, 11, 28, 26, 69}, 146 { 3, 6, 4, 7, 5, 10, 6, 15, 11, 28, 26, 69}, 147 { 3, 6, 4, 8, 5, 10, 7, 16, 12, 28, 27, 70} 148 }; 149 150 const uint16_t WebRtcIsacfix_kInitIndexShape[3][108] = { 151 { 152 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 153 1, 1, 1, 1, 2, 2, 3, 3, 0, 0, 154 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 155 1, 1, 2, 2, 3, 4, 0, 0, 0, 0, 156 1, 0, 1, 1, 1, 1, 2, 1, 1, 2, 157 2, 3, 3, 5, 0, 0, 0, 0, 1, 1, 158 1, 1, 1, 1, 2, 1, 2, 2, 4, 4, 159 5, 7, 0, 0, 1, 1, 1, 1, 1, 1, 160 2, 2, 3, 2, 3, 4, 4, 5, 8, 13, 161 0, 1, 1, 2, 3, 2, 2, 2, 4, 4, 162 5, 5, 7, 10, 9, 12, 13, 25 163 }, 164 { 165 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 166 1, 1, 1, 2, 1, 2, 2, 3, 0, 0, 167 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 168 1, 2, 1, 2, 3, 3, 0, 0, 0, 0, 169 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 170 2, 3, 3, 5, 0, 0, 0, 1, 1, 1, 171 1, 1, 1, 1, 1, 2, 2, 4, 3, 4, 172 5, 7, 0, 0, 0, 1, 1, 1, 1, 1, 173 1, 2, 2, 3, 3, 5, 4, 5, 8, 12, 174 1, 1, 1, 2, 2, 3, 3, 2, 3, 4, 175 4, 6, 5, 9, 11, 12, 14, 25 176 }, 177 { 178 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 179 1, 1, 1, 1, 1, 2, 3, 3, 0, 0, 180 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 181 1, 1, 2, 2, 3, 4, 0, 0, 0, 1, 182 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 183 2, 3, 4, 5, 0, 0, 0, 1, 1, 1, 184 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 185 5, 8, 0, 0, 1, 1, 1, 1, 1, 1, 186 2, 2, 2, 3, 3, 4, 5, 6, 8, 13, 187 1, 1, 1, 2, 2, 3, 2, 2, 3, 4, 188 4, 5, 6, 8, 9, 12, 14, 25 189 } 190 }; 191 192 /* offsets for quantizer representation levels*/ 193 const uint16_t WebRtcIsacfix_kOfLevelsGain[3] = { 194 0, 392, 779 195 }; 196 197 const uint16_t WebRtcIsacfix_kOfLevelsShape[3] = { 198 0, 578, 1152 199 }; 200 201 /* quantizer representation levels */ 202 203 204 205 const int32_t WebRtcIsacfix_kLevelsGainQ17[1176] = { 206 -364547,-231664,-102123,-573,104807,238257,368823,-758583,-640135,-510291 207 ,-377662,-252785,-113177,2627,112906,248601,389461,522691,644517,763974 208 ,-538963,-368179,-245823,-106095,-890,104299,241111,350730,493190,-800763 209 ,-646230,-510239,-382115,-248623,-111829,-2983,113852,251105,388114,519757 210 ,644048,774712,896334,1057931,-770009,-635310,-503690,-375087,-248106,-108525 211 ,-105,108259,243472,377948,519271,-1160885,-1032044,-914636,-777593,-647891 212 ,-518408,-388028,-254321,-115293,-598,117849,251296,385367,515510,652727 213 ,777432,920363,1038625,1153637,1316836,-632287,-505430,-379430,-248458,-118013 214 ,-888,118762,250266,381650,513327,652169,766471,932113,-2107480,-1971030 215 ,-1827020,-1698263,-1558670,-1436314,-1305377,-1172252,-1047355,-914202,-779651,-651001 216 ,-520999,-390394,-255761,-123490,-1893,126839,256703,385493,518607,651760 217 ,782750,908693,1044131,1163865,1311066,1424177,1582628,1709823,1831740,1955391 218 ,-1423044,-1288917,-1181281,-1043222,-911770,-780354,-646799,-522664,-386721,-258266 219 ,-128060,-1101,128233,259996,390336,519590,649290,778701,908010,1040796 220 ,1161235,1306889,1441882,-4446002,-4301031,-4194304,-4080591,-3947740,-3808975,-3686530 221 ,-3567839,-3383251,-3287089,-3136577,-3017405,-2869860,-2751321,-2619984,-2482932,-2354790 222 ,-2223147,-2090669,-1964135,-1831208,-1706697,-1570817,-1446008,-1305386,-1175773,-1046066 223 ,-915356,-785120,-653614,-524331,-393767,-260442,-130187,-799,128841,261466 224 ,393616,520542,652117,784613,914159,1045399,1181072,1308971,1442502,1570346 225 ,1693912,1843986,1966014,2090474,2224869,2364593,2475934,2628403,2752512,2856640 226 ,-4192441,-4063232,-3917821,-3799195,-3666233,-3519199,-3411021,-3269192,-3135684,-3008826 227 ,-2880875,-2747342,-2620981,-2494872,-2354979,-2229718,-2098939,-1964971,-1835399,-1703452 228 ,-1572806,-1440482,-1311794,-1179338,-1046521,-919823,-785914,-655335,-523416,-395507 229 ,-264833,-132184,-2546,131698,256217,391372,522688,651248,789964,909618 230 ,1035305,1179145,1313824,1436934,1552353,1693722,1815508,1972826,2096328,2228224 231 ,2359296,2490368,2598848,-6160384,-6029312,-5881382,-5767168,-5636096,-5505024,-5373952 232 ,-5228418,-5110384,-4954923,-4880576,-4710990,-4587364,-4471340,-4333905,-4211513,-4051293 233 ,-3907927,-3800105,-3675961,-3538640,-3413663,-3271148,-3152105,-3019103,-2869647,-2744015 234 ,-2620639,-2479385,-2364211,-2227611,-2095427,-1974497,-1834168,-1703561,-1568961,-1439826 235 ,-1309192,-1174050,-1050191,-917836,-786015,-656943,-518934,-394831,-257708,-128041 236 ,1610,128991,264442,393977,521383,653849,788164,918641,1049122,1181971 237 ,1308934,1439505,1571808,1706305,1836318,1966235,2097269,2228990,2357005,2490292 238 ,2617400,2749680,2881234,3014880,3145637,3276467,3409099,3536637,3671493,3802918 239 ,3929740,4065036,4194143,4325999,4456126,4586857,4717194,4843923,4978676,5110913 240 ,5245281,5371394,5499780,5633779,5762611,5897682,6028688,6167546,6296465,6421682 241 ,6548882,6682074,6809432,6941956,7078143,7204509,7334296,7475137,7609896,7732044 242 ,7861604,8002039,8131670,8259222,8390299,8522399,8650037,8782348,8908402,9037815 243 ,9164594,9300338,9434679,9574500,9699702,9833934,9948152,10083972,10244937,10332822 244 ,10485760,10600122,10760754,10892964,11010048,11111004,11272192,11403264,11525091,11624984 245 ,11796480,11915146,-393216,-262144,-101702,-740,100568,262144,393216,-786432 246 ,-655360,-524288,-383907,-243301,-94956,-156,95547,269629,416691,524288 247 ,655360,-393216,-262144,-88448,-37,87318,262144,393216,524288,-917504 248 ,-786432,-655360,-495894,-373308,-267503,-93211,4119,91308,250895,393216 249 ,526138,655360,786432,917504,-786432,-655360,-524288,-393216,-262144,-83497 250 ,222,86893,240922,393216,524288,-1048576,-917504,-790472,-655360,-508639 251 ,-383609,-262016,-95550,-3775,96692,256797,364847,534906,655360,786432 252 ,889679,1048576,1179648,1310720,1441792,-655360,-524288,-377684,-248408,-93690 253 ,1261,95441,227519,393216,524288,655360,786432,917504,-2097152,-1966080 254 ,-1809470,-1703936,-1572864,-1441792,-1314289,-1195149,-1056205,-917504,-809951,-657769 255 ,-521072,-383788,-248747,-106350,-2944,105550,243408,388548,521064,628732 256 ,786432,885456,1064548,1179648,1310720,1441792,1572864,1703936,1835008,-1441792 257 ,-1310720,-1179648,-1037570,-888492,-767774,-646634,-519935,-373458,-248029,-111915 258 ,760,111232,247735,379432,507672,672699,786432,917504,1048576,1179648 259 ,1310720,1441792,-4456448,-4325376,-4194304,-4063232,-3932160,-3801088,-3670016,-3538944 260 ,-3407872,-3276800,-3145728,-3014656,-2883584,-2752512,-2647002,-2490368,-2359296,-2228224 261 ,-2097152,-1951753,-1835008,-1703936,-1594177,-1462001,-1289150,-1160774,-1025917,-924928 262 ,-782509,-641294,-516191,-386630,-251910,-118886,5210,121226,253949,386008 263 ,517973,649374,780064,917783,1052462,1183856,1290593,1419389,1556641,1699884 264 ,1835008,1988314,2090470,2228224,2359296,2490368,2621440,2752512,2883584,-3801088 265 ,-3643514,-3539937,-3409931,-3263294,-3145658,-3012952,-2879230,-2752359,-2622556,-2483471 266 ,-2357556,-2226500,-2093112,-1965892,-1833664,-1701035,-1567767,-1440320,-1310556,-1178339 267 ,-1049625,-916812,-786477,-655277,-525050,-393773,-264828,-130696,-480,132126 268 ,260116,394197,527846,652294,785563,917183,1049511,1175958,1308161,1438759 269 ,1572253,1698835,1828535,1967072,2089391,2212798,2348901,2461547,2621440,2752512 270 ,2883584,-7309870,-7203780,-7062699,-6939106,-6790819,-6672036,-6553600,-6422317,-6288422 271 ,-6164694,-6026456,-5901410,-5754168,-5621459,-5502710,-5369686,-5240454,-5120712,-4976140 272 ,-4847970,-4723070,-4589083,-4450923,-4324680,-4189892,-4065551,-3931803,-3800209,-3668539 273 ,-3539395,-3404801,-3277470,-3141389,-3016710,-2885724,-2752612,-2618541,-2486762,-2354153 274 ,-2225059,-2094984,-1968194,-1830895,-1699508,-1575743,-1444516,-1308683,-1179714,-1053088 275 ,-917981,-783707,-653900,-524980,-395409,-260309,-131948,-3452,132113,263241 276 ,392185,522597,654134,788288,919810,1045795,1179210,1314201,1444235,1574447 277 ,1705193,1834009,1967332,2098102,2229019,2359147,2489859,2619878,2754966,2879671 278 ,3014438,3146143,3276733,3405958,3542196,3667493,3798815,3932961,4062458,4187125 279 ,4322346,4454875,4587752,4716809,4848274,4975027,5111957,5242215,5373085,5501158 280 ,5640140,5762918,5895358,6024008,6157906,6290628,6422713,6546339,6675888,6815606 281 ,6955288,7077501,7211630,7337893,7473635,7607175,7728310,7866475,7999658,8127888 282 ,8241758,8386483,8522550,8641582,8771915,8922139,9038632,9179385,9313426,9437184 283 ,9568256,9699328,9830400,9952933,10120004,10223616,10354688,10474645,10616832,-393216 284 ,-262144,-85425,-121,82533,262144,393216,-786432,-655360,-524288,-379928 285 ,-222821,-95200,287,95541,227093,393216,493567,655360,786432,-393216 286 ,-262144,-86805,510,86722,262144,393216,524288,-1048576,-917504,-786432 287 ,-624456,-529951,-395071,-241627,-101168,81,99975,241605,393216,524288 288 ,655360,786432,917504,-786432,-655360,-524288,-393216,-230359,-95619,-137 289 ,94425,226222,393216,524288,-1179648,-1048576,-917504,-773841,-655360,-492258 290 ,-379715,-244707,-103621,-434,104523,242680,381575,523659,650565,786432 291 ,917504,1048576,1179648,1310720,-786432,-629344,-524288,-376757,-242858,-101932 292 ,-2715,107155,239212,366480,514943,655360,786432,917504,-2228224,-2097152 293 ,-1966080,-1835008,-1703936,-1572864,-1441792,-1284584,-1179648,-1048819,-934658,-777181 294 ,-626371,-515660,-377493,-248975,-113036,436,113584,248354,379718,512475 295 ,653932,796494,917504,1048576,1179648,1310720,1441792,1572864,1703936,1835008 296 ,-1572864,-1441792,-1297608,-1161159,-1032316,-917092,-779770,-647384,-515529,-384269 297 ,-250003,-119252,1053,118111,249512,380545,512039,648101,770656,907003 298 ,1021725,1178082,1310720,1441792,-4587520,-4456448,-4325376,-4194304,-4063232,-3932160 299 ,-3801088,-3670016,-3538944,-3407872,-3276800,-3145728,-2999335,-2883584,-2752512,-2621440 300 ,-2490368,-2359296,-2228224,-2112691,-1966080,-1848781,-1709830,-1566109,-1438427,-1303530 301 ,-1176124,-1040936,-913876,-784585,-652025,-518361,-385267,-256342,-127297,-2733 302 ,125422,257792,389363,519911,651106,783805,909407,1044143,1174156,1309267 303 ,1436173,1553771,1708958,1814083,1967036,2095386,2255169,2359296,2478303,2621440 304 ,2752512,-4456448,-4325376,-4194304,-4063232,-3932160,-3797524,-3670016,-3560250,-3413217 305 ,-3257719,-3166416,-2986626,-2878000,-2781144,-2625383,-2495465,-2346792,-2230930,-2077063 306 ,-1949225,-1819274,-1697261,-1568664,-1443074,-1304302,-1175289,-1043794,-913423,-785561 307 ,-652104,-522835,-392667,-260517,-130088,-2,129509,260990,391931,522470 308 ,655770,784902,917093,1046445,1176951,1303121,1441362,1565401,1702022,1822856 309 ,1952852,2090384,2214607,2338436,2457483,2621440,-8781824,-8650752,-8519680,-8388608 310 ,-8260828,-8126464,-8003337,-7859030,-7750057,-7602176,-7471104,-7340032,-7193045,-7090588 311 ,-6946816,-6843344,-6676635,-6557575,-6447804,-6277614,-6159736,-6035729,-5884723,-5739567 312 ,-5634818,-5489867,-5372864,-5243300,-5098939,-4988639,-4856258,-4728494,-4591717,-4447428 313 ,-4322409,-4192918,-4062638,-3934141,-3797545,-3673373,-3531587,-3407391,-3277404,-3147797 314 ,-3013578,-2886548,-2749811,-2616428,-2490949,-2361301,-2228482,-2096883,-1964343,-1831754 315 ,-1702201,-1572495,-1442012,-1309242,-1182451,-1048996,-916905,-786510,-657079,-524730 316 ,-393672,-261313,-128743,166,130678,261334,393287,524155,655570,786839 317 ,917353,1052167,1179013,1309360,1442634,1571153,1703961,1832027,1965014,2097912 318 ,2224861,2355341,2490455,2623051,2753484,2877015,3015783,3144157,3273705,3405255 319 ,3542006,3669580,3802417,3935413,4065088,4190896,4333521,4456355,4579781,4713832 320 ,4845707,4978625,5113278,5243817,5382318,5500592,5638135,5761179,5900822,6029270 321 ,6186398,6297816,6436435,6559163,6666389,6806548,6950461,7086078,7195777,7350973 322 ,7480132,7614852,7743514,7847288,8014762,8126464,8257536,8388608,8519680,8650752 323 ,8781824,8912896,9043968,9175040,9306112,9437184 324 }; 325 326 327 328 const int16_t WebRtcIsacfix_kLevelsShapeQ10[1735] = { 329 0, 0, -1, 0, 0, 1, 0, 1, 0, -821 330 , 1, -763, -1, 656, -620, 0, 633, -636, 4, 615 331 , -630, 1, 649, -1773, -670, 5, 678, 1810, -1876, -676 332 , 0, 691, 1843, -1806, -743, -1, 749, 1795, 2920, -2872 333 , -1761, -772, -3, 790, 1763, 2942, 0, 0, 0, 0 334 , -792, 2, 0, 0, 1, 0, -854, 0, -702, -1 335 , 662, -624, -5, 638, -611, -6, 638, -647, 0, 651 336 , -685, -4, 679, 2123, -1814, -693, 0, 664, 1791, -1735 337 , -737, 0, 771, 1854, 2873, -2867, -1842, -793, -1, 821 338 , 1826, 2805, 3922, 0, 0, 0, -1, -779, 1, 786 339 , 1, -708, 0, 789, -799, 1, 797, -663, 2, 646 340 , -600, 3, 609, -600, 1, 658, 1807, -627, -3, 612 341 , -625, 3, 632, -1732, -674, 1, 672, 2048, -1768, -715 342 , 0, 724, 1784, -3881, -3072, -1774, -719, -1, 730, 1811 343 , -2963, -1829, -806, -1, 816, 1795, 3050, -5389, -3784, -2942 344 , -1893, -865, -12, 867, 1885, 2945, 3928, -2, 1, 4 345 , 0, -694, 2, 665, -598, 5, 587, -599, -1, 661 346 , -656, -7, 611, -607, 5, 603, -618, -4, 620, -1794 347 , -645, -2, 654, -655, -1, 658, -1801, -700, 5, 707 348 , 1927, -1752, -745, -8, 752, 1843, -2838, -1781, -801, 11 349 , 796, 1811, 2942, 3866, -3849, -3026, -1848, -819, 2, 827 350 , 1825, 2963, -3873, -2904, -1869, -910, -6, 903, 1902, 2885 351 , 3978, 5286, -7168, -6081, -4989, -3968, -2963, -1970, -943, -2 352 , 953, 1951, 2968, 3974, 5009, 6032, -2, 3, -1024, 2 353 , 1024, -637, 1, 669, -613, -7, 630, -603, 4, 612 354 , -612, 0, 590, -645, -11, 627, -657, -2, 671, 1849 355 , -1853, -694, 2, 702, 1838, -3304, -1780, -736, -8, 732 356 , 1772, -1709, -755, -6, 760, 1780, -2994, -1780, -800, 8 357 , 819, 1830, 2816, -4096, -2822, -1881, -851, -4, 855, 1872 358 , 2840, 3899, -3908, -2904, -1878, -887, 6, 897, 1872, 2942 359 , 4008, -4992, -3881, -2933, -1915, -928, 1, 937, 1919, 2900 360 , 4009, 4881, -6848, -6157, -5065, -3981, -2983, -1972, -978, -1 361 , 968, 1979, 2988, 4008, 5007, 6108, 7003, 8051, 9027,-13272 362 ,-12012,-11228,-10213, -9261, -8084, -7133, -6075, -5052, -4050, -3036 363 , -2014, -996, -4, 1007, 2031, 3038, 4049, 5074, 6134, 7069 364 , 8094, 9069, 10212, 11049, 12104, 51, -1024, -13, 1024, -609 365 , -107, 613, -2048, -687, -95, 667, 2048, -3072, -1724, -785 366 , -34, 732, 1819, -2048, -703, -26, 681, 2048, -2048, -686 367 , -9, 665, 2048, -2048, -702, 37, 748, 1723, -4096, -2786 368 , -1844, -837, 37, 811, 1742, 3072, -4096, -2783, -1848, -881 369 , 39, 898, 1843, 2792, 3764, -5120, -4096, -2923, -1833, -852 370 , -14, 862, 1824, 2834, 4096, -6144, -5120, -3914, -2842, -1870 371 , -886, -27, 888, 1929, 2931, 4051, -7168, -6144, -5120, -3866 372 , -2933, -1915, -927, 64, 933, 1902, 2929, 3912, 5063, 6144 373 ,-11264,-10240, -9216, -8192, -7086, -6144, -5039, -3972, -2943, -1929 374 , -941, 3, 938, 1942, 2959, 3933, 4905, 6088, 6983, 8192 375 , -9216, -8192, -7202, -6088, -4983, -4019, -2955, -1975, -966, 17 376 , 997, 1981, 2967, 3990, 4948, 6022, 6967, 8192,-13312,-12288 377 ,-11264,-10240, -9216, -8049, -6997, -6040, -5026, -4043, -3029, -2034 378 , -1015, -23, 984, 1997, 3010, 4038, 5002, 6015, 6946, 8061 379 , 9216, 10240,-12381,-11264,-10240, -9060, -8058, -7153, -6085, -5075 380 , -4051, -3042, -2037, -1017, -5, 1007, 2028, 3035, 4050, 5088 381 , 6111, 7160, 8156, 9215, 10095, 11229, 12202, 13016,-26624,-25600 382 ,-24582,-23671,-22674,-21400,-20355,-19508,-18315,-17269,-16361,-15299 383 ,-14363,-13294,-12262,-11237,-10203, -9227, -8165, -7156, -6116, -5122 384 , -4076, -3056, -2043, -1020, -8, 1027, 2047, 3065, 4110, 5130 385 , 6125, 7168, 8195, 9206, 10230, 11227, 12256, 13304, 14281, 15316 386 , 16374, 17382, 18428, 19388, 20361, 21468, 22448, 23781, 0, 0 387 , -1, 0, -2, 1024, 0, 0, 0, -1, 1024, -1024 388 , 1, -1024, 4, 1024, -1024, 2, 1024, -1024, 2, 1024 389 , -2048, -1024, -4, 1024, -1024, 2, 1024, -2048, -1024, -3 390 , 1024, 2048, -2048, -1024, 4, 1024, 2048, -3072, -2048, -1024 391 , -1, 662, 2048, 0, 1, 0, 0, 1, -2, -2 392 , 0, 2, 1024, -1, 1024, -1024, 4, 1024, -1024, 1 393 , 1024, -1024, 1, 1024, -2048, -781, -4, 844, -807, -5 394 , 866, -2048, -726, -13, 777, 2048, -2048, -643, -4, 617 395 , 2048, 3072, -3072, -2048, -629, 1, 630, 2048, 3072, 0 396 , -1, 1, -2, 2, 1, -1024, 5, -1024, 6, 1024 397 , -1024, 4, 1024, -1024, 1, 1024, -1024, -9, 1024, -673 398 , -7, 655, -2048, -665, -15, 716, -2048, -647, 4, 640 399 , 2048, -2048, -615, -1, 635, 2048, -2048, -613, 10, 637 400 , 2048, 3072, -3072, -2048, -647, -3, 641, 2048, 3072, -5120 401 , -4096, -3072, -2048, -681, 6, 685, 2048, 3072, 4096, 1 402 , 1, 0, -1, 1024, -1024, -3, 1024, -1024, 6, 1024 403 , -1024, -1, 769, -733, 0, 1024, -876, -2, 653, -1024 404 , -4, 786, -596, -13, 595, -634, -2, 638, 2048, -2048 405 , -620, -5, 620, 2048, -4096, -3072, -2048, -639, 11, 655 406 , 2048, 3072, -3072, -2048, -659, 5, 663, 2048, -3072, -1823 407 , -687, 22, 695, 2048, 3072, 4096, -4096, -3072, -1848, -715 408 , -3, 727, 1816, 3072, 4096, 5120, -8192, -7168, -6144, -5120 409 , -4096, -2884, -1771, -756, -14, 775, 1844, 3072, 4096, 5120 410 , 6144, -1, 1, 0, -1024, 2, 815, -768, 2, 708 411 , -1024, -3, 693, -661, -7, 607, -643, -5, 609, -624 412 , 3, 631, -682, -3, 691, 2048, -2048, -640, 5, 650 413 , 2048, -3072, -2048, -701, 9, 704, 2048, 3072, -3072, -2048 414 , -670, 10, 674, 2048, 3072, -5120, -4096, -3072, -1749, -738 415 , 0, 733, 1811, 3072, 4096, 5120, -4096, -3072, -1873, -753 416 , 0, 756, 1874, 3072, 4096, -5120, -4096, -2900, -1838, -793 417 , -6, 793, 1868, 2837, 4096, 5120, -7168, -6144, -5120, -4096 418 , -2832, -1891, -828, 1, 828, 1901, 2823, 3912, 5120, 6144 419 , 7168, 8192,-13312,-12288,-11264,-10240, -9216, -8192, -7168, -6144 420 , -5120, -3976, -3004, -1911, -869, 7, 869, 1932, 3024, 3992 421 , 5009, 6144, 7168, 8192, 9216, 10240, 11264, -4, 1024, -629 422 , -22, 609, -623, 9, 640, -2048, -768, 1, 682, -2048 423 , -741, 49, 722, 2048, -3072, -1706, -808, -20, 768, 1750 424 , -1684, -727, -29, 788, 1840, 3033, -1758, -784, 0, 801 425 , 1702, -3072, -1813, -814, 38, 820, 1884, 2927, -4096, -3241 426 , -1839, -922, 25, 882, 1886, 2812, -4096, -2982, -1923, -894 427 , 84, 912, 1869, 2778, 4096, -4928, -3965, -2902, -1920, -883 428 , 3, 917, 1953, 2921, 3957, 4922, 6144, 7168, -5120, -3916 429 , -2897, -1949, -930, 31, 959, 1934, 2901, 3851, 5120, -9216 430 , -8192, -7046, -6029, -5030, -4034, -2980, -1969, -1013, -76, 963 431 , 1963, 2901, 3929, 4893, 6270, 7168, 8192, 9216,-12288,-11264 432 ,-10240, -9216, -8192, -6846, -6123, -5108, -4008, -3000, -1963, -954 433 , -6, 958, 1992, 3009, 4020, 5085, 6097, 7168, 8192, 9216 434 ,-11264,-10139, -9194, -8127, -7156, -6102, -5053, -4049, -3036, -2025 435 , -1009, -34, 974, 1984, 3034, 4028, 5138, 6000, 7057, 8166 436 , 9070, 10033, 11360, 12288,-13312,-12288,-10932,-10190, -9120, -8123 437 , -7128, -6103, -5074, -4081, -3053, -2029, -989, -4, 1010, 2028 438 , 3051, 4073, 5071, 6099, 7132, 8147, 9295, 10159, 11023, 12263 439 , 13312, 14336,-25600,-24576,-23552,-22529,-21504,-20480,-19456,-18637 440 ,-17425,-16165,-15316,-14327,-13606,-12135,-11182,-10107, -9153, -8144 441 , -7146, -6160, -5129, -4095, -3064, -2038, -1025, 1, 1031, 2072 442 , 3074, 4088, 5123, 6149, 7157, 8173, 9198, 10244, 11250, 12268 443 , 13263, 14289, 15351, 16370, 17402, 18413, 19474, 20337, 21386, 22521 444 , 23367, 24350, 0, 0, 0, 0, 0, 0, 0, 0 445 , -1024, 0, 1024, -1024, 0, 1024, -1024, 0, 1024, -1024 446 , 0, 1024, -1024, 0, 1024, -773, 0, 1024, -674, 0 447 , 645, -2048, -745, 0, 628, 2048, -2048, -712, 0, 681 448 , 2048, 3072, -3072, -2048, -673, 0, 682, 1964, 3257, 0 449 , 0, 0, 0, 0, 0, 0, 0, -1024, 0, 1024 450 , -1024, 0, 1024, -1024, 0, 1024, -705, 0, 623, -771 451 , 0, 1024, -786, 0, 688, -631, 0, 652, 2048, -2048 452 , -627, -1, 666, 2048, -3072, -1756, -694, 0, 674, 2048 453 , -3098, -1879, -720, 5, 694, 1886, 2958, 4096, 0, 0 454 , 0, 0, 1024, 0, 0, 1024, -769, 0, 1024, -1024 455 , 0, 1024, -1024, 0, 1024, -817, 0, 734, -786, 0 456 , 651, -638, 0, 637, -623, 0, 671, -652, 0, 619 457 , 2048, -2048, -670, -1, 663, 2048, -1908, -680, 1, 686 458 , 2048, 3072, 4096, -4096, -3072, -1833, -711, 0, 727, 1747 459 , 3072, 4096, -4096, -2971, -1826, -762, 2, 766, 1832, 2852 460 , 3928, 5079, 0, 0, 0, -1024, 0, 1024, -1024, 0 461 , -656, 0, 1024, -599, 0, 620, -1024, 0, 1024, -603 462 , 0, 622, -643, 0, 660, -599, 0, 611, -641, -1 463 , 651, 2048, -2048, -648, -2, 647, 1798, -3072, -2048, -672 464 , 2, 670, 2048, -3072, -1780, -694, -1, 706, 1751, 3072 465 , -3072, -1862, -757, 7, 739, 1798, 3072, 4096, -5120, -4096 466 , -3253, -1811, -787, 3, 782, 1887, 3123, 4096, -7252, -6144 467 , -5354, -4060, -2864, -1863, -820, -11, 847, 1903, 2970, 3851 468 , 4921, 5957, 7168, 8192, 9306, 0, 0, -1024, 0, 1024 469 , -726, 0, 706, -692, 0, 593, -598, 0, 616, -624 470 , 0, 616, -605, 0, 613, -2048, -652, 1, 635, 2048 471 , -2048, -647, -1, 660, 2048, -1811, -668, -2, 685, 2048 472 , -1796, -731, -2, 730, 1702, 3072, -3072, -1766, -747, -4 473 , 756, 1770, 3072, -4096, -3024, -1762, -783, 4, 771, 1781 474 , 3072, -5120, -4057, -2807, -1832, -822, 0, 816, 1804, 2851 475 , 3949, 5120, -6144, -4899, -3927, -2920, -1893, -874, -2, 868 476 , 1881, 2905, 3960, 4912, 6144, -9216, -8192, -7168, -6225, -4963 477 , -3943, -2956, -1890, -902, 0, 897, 1914, 2916, 3984, 4990 478 , 6050, 7168,-11264,-10217, -9114, -8132, -7035, -5988, -4984, -4000 479 , -2980, -1962, -927, 7, 931, 1956, 2981, 4031, 4972, 6213 480 , 7227, 8192, 9216, 10240, 11170, 12288, 13312, 14336, 0, 1024 481 , -557, 1, 571, -606, -4, 612, -1676, -707, 10, 673 482 , 2048, -2048, -727, 5, 686, -3072, -1772, -755, 12, 716 483 , 1877, -1856, -786, 2, 786, 1712, -1685, -818, -16, 863 484 , 1729, -3072, -1762, -857, 3, 866, 1838, 2841, -3862, -2816 485 , -1864, -925, -2, 923, 1897, 2779, -2782, -1838, -920, -28 486 , 931, 1951, 2835, 3804, -4815, -4001, -2940, -1934, -959, -22 487 , 975, 1957, 2904, 3971, 4835, -5148, -3892, -2944, -1953, -986 488 , -11, 989, 1968, 2939, 3949, 4947, 5902, -9216, -8192, -6915 489 , -6004, -4965, -4013, -3009, -1977, -987, -1, 982, 1972, 3000 490 , 3960, 4939, 5814, -8976, -7888, -7084, -5955, -5043, -4009, -2991 491 , -2002, -1000, -8, 993, 2011, 3023, 4026, 5028, 6023, 7052 492 , 8014, 9216,-11240,-10036, -9125, -8118, -7105, -6062, -5048, -4047 493 , -3044, -2025, -1009, -1, 1011, 2023, 3042, 4074, 5085, 6108 494 , 7119, 8142, 9152, 10114, 11141, 12250, 13307,-15360,-14099,-13284 495 ,-12291,-11223,-10221, -9152, -8147, -7128, -6104, -5077, -4072, -3062 496 , -2033, -1020, 7, 1018, 2038, 3059, 4081, 5084, 6109, 7102 497 , 8128, 9134, 10125, 11239, 12080,-23552,-22528,-21504,-20480,-19456 498 ,-18159,-17240,-16291,-15364,-14285,-13305,-12271,-11233,-10217, -9198 499 , -8175, -7157, -6134, -5122, -4089, -3071, -2047, -1018, 3, 1026 500 , 2041, 3077, 4090, 5108, 6131, 7150, 8172, 9175, 10196, 11272 501 , 12303, 13273, 14328, 15332, 16334, 17381, 18409, 19423, 20423, 21451 502 , 22679, 23391, 24568, 25600, 26589 503 }; 504 505 /* cdf tables for quantizer indices */ 506 const uint16_t WebRtcIsacfix_kCdfGain[1212] = { 507 0, 13, 301, 3730, 61784, 65167, 65489, 65535, 0, 17, 508 142, 314, 929, 2466, 7678, 56450, 63463, 64740, 65204, 65426, 509 65527, 65535, 0, 8, 100, 724, 6301, 60105, 65125, 65510, 510 65531, 65535, 0, 13, 117, 368, 1068, 3010, 11928, 53603, 511 61177, 63404, 64505, 65108, 65422, 65502, 65531, 65535, 0, 4, 512 17, 96, 410, 1859, 12125, 54361, 64103, 65305, 65497, 65535, 513 0, 4, 88, 230, 469, 950, 1746, 3228, 6092, 16592, 514 44756, 56848, 61256, 63308, 64325, 64920, 65309, 65460, 65502, 65522, 515 65535, 0, 88, 352, 1675, 6339, 20749, 46686, 59284, 63525, 516 64949, 65359, 65502, 65527, 65535, 0, 13, 38, 63, 117, 517 234, 381, 641, 929, 1407, 2043, 2809, 4032, 5753, 8792, 518 14407, 24308, 38941, 48947, 55403, 59293, 61411, 62688, 63630, 64329, 519 64840, 65188, 65376, 65472, 65506, 65527, 65531, 65535, 0, 8, 520 29, 75, 222, 615, 1327, 2801, 5623, 9931, 16094, 24966, 521 34419, 43458, 50676, 56186, 60055, 62500, 63936, 64765, 65225, 65435, 522 65514, 65535, 0, 8, 13, 15, 17, 21, 33, 59, 523 71, 92, 151, 243, 360, 456, 674, 934, 1223, 1583, 524 1989, 2504, 3031, 3617, 4354, 5154, 6163, 7411, 8780, 10747, 525 12874, 15591, 18974, 23027, 27436, 32020, 36948, 41830, 46205, 49797, 526 53042, 56094, 58418, 60360, 61763, 62818, 63559, 64103, 64509, 64798, 527 65045, 65162, 65288, 65363, 65447, 65506, 65522, 65531, 65533, 65535, 528 0, 4, 6, 25, 38, 71, 138, 264, 519, 808, 529 1227, 1825, 2516, 3408, 4279, 5560, 7092, 9197, 11420, 14108, 530 16947, 20300, 23926, 27459, 31164, 34827, 38575, 42178, 45540, 48747, 531 51444, 54090, 56426, 58460, 60080, 61595, 62734, 63668, 64275, 64673, 532 64936, 65112, 65217, 65334, 65426, 65464, 65477, 65489, 65518, 65527, 533 65529, 65531, 65533, 65535, 0, 2, 4, 8, 10, 12, 534 14, 16, 21, 33, 50, 71, 84, 92, 105, 138, 535 180, 255, 318, 377, 435, 473, 511, 590, 682, 758, 536 913, 1097, 1256, 1449, 1671, 1884, 2169, 2445, 2772, 3157, 537 3563, 3944, 4375, 4848, 5334, 5820, 6448, 7101, 7716, 8378, 538 9102, 9956, 10752, 11648, 12707, 13670, 14758, 15910, 17187, 18472, 539 19627, 20649, 21951, 23169, 24283, 25552, 26862, 28227, 29391, 30764, 540 31882, 33213, 34432, 35600, 36910, 38116, 39464, 40729, 41872, 43144, 541 44371, 45514, 46762, 47813, 48968, 50069, 51032, 51974, 52908, 53737, 542 54603, 55445, 56282, 56990, 57572, 58191, 58840, 59410, 59887, 60264, 543 60607, 60946, 61269, 61516, 61771, 61960, 62198, 62408, 62558, 62776, 544 62985, 63207, 63408, 63546, 63739, 63906, 64070, 64237, 64371, 64551, 545 64677, 64836, 64999, 65095, 65213, 65284, 65338, 65380, 65426, 65447, 546 65472, 65485, 65487, 65489, 65502, 65510, 65512, 65514, 65516, 65518, 547 65522, 65531, 65533, 65535, 0, 2, 4, 6, 65528, 65531, 548 65533, 65535, 0, 2, 4, 6, 8, 10, 222, 65321, 549 65513, 65528, 65531, 65533, 65535, 0, 2, 4, 50, 65476, 550 65529, 65531, 65533, 65535, 0, 2, 4, 6, 8, 12, 551 38, 544, 64936, 65509, 65523, 65525, 65529, 65531, 65533, 65535, 552 0, 2, 4, 6, 8, 10, 1055, 64508, 65528, 65531, 553 65533, 65535, 0, 2, 4, 6, 8, 10, 12, 123, 554 3956, 62999, 65372, 65495, 65515, 65521, 65523, 65525, 65527, 65529, 555 65531, 65533, 65535, 0, 2, 4, 12, 53, 4707, 59445, 556 65467, 65525, 65527, 65529, 65531, 65533, 65535, 0, 2, 4, 557 6, 8, 10, 12, 14, 16, 38, 40, 50, 67, 558 96, 234, 929, 14345, 55750, 64866, 65389, 65462, 65514, 65517, 559 65519, 65521, 65523, 65525, 65527, 65529, 65531, 65533, 65535, 0, 560 2, 4, 6, 8, 10, 15, 35, 91, 377, 1946, 561 13618, 52565, 63714, 65184, 65465, 65520, 65523, 65525, 65527, 65529, 562 65531, 65533, 65535, 0, 2, 4, 6, 8, 10, 12, 563 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 564 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 565 54, 82, 149, 362, 751, 1701, 4239, 12893, 38627, 55072, 566 60875, 63071, 64158, 64702, 65096, 65283, 65412, 65473, 65494, 65505, 567 65508, 65517, 65519, 65521, 65523, 65525, 65527, 65529, 65531, 65533, 568 65535, 0, 2, 15, 23, 53, 143, 260, 418, 698, 569 988, 1353, 1812, 2411, 3144, 4015, 5143, 6401, 7611, 8999, 570 10653, 12512, 14636, 16865, 19404, 22154, 24798, 27521, 30326, 33102, 571 35790, 38603, 41415, 43968, 46771, 49435, 52152, 54715, 57143, 59481, 572 61178, 62507, 63603, 64489, 64997, 65257, 65427, 65473, 65503, 65520, 573 65529, 65531, 65533, 65535, 0, 3, 6, 9, 26, 32, 574 44, 46, 64, 94, 111, 164, 205, 254, 327, 409, 575 506, 608, 733, 885, 1093, 1292, 1482, 1742, 1993, 2329, 576 2615, 3029, 3374, 3798, 4257, 4870, 5405, 5992, 6618, 7225, 577 7816, 8418, 9051, 9761, 10532, 11380, 12113, 13010, 13788, 14594, 578 15455, 16361, 17182, 18088, 18997, 20046, 20951, 21968, 22947, 24124, 579 25296, 26547, 27712, 28775, 29807, 30835, 31709, 32469, 33201, 34014, 580 34876, 35773, 36696, 37620, 38558, 39547, 40406, 41277, 42367, 43290, 581 44445, 45443, 46510, 47684, 48973, 50157, 51187, 52242, 53209, 54083, 582 55006, 55871, 56618, 57293, 57965, 58556, 59222, 59722, 60180, 60554, 583 60902, 61250, 61554, 61837, 62100, 62372, 62631, 62856, 63078, 63324, 584 63557, 63768, 63961, 64089, 64235, 64352, 64501, 64633, 64770, 64887, 585 65001, 65059, 65121, 65188, 65246, 65302, 65346, 65390, 65428, 65463, 586 65477, 65506, 65515, 65517, 65519, 65521, 65523, 65525, 65527, 65529, 587 65531, 65533, 65535, 0, 2, 4, 109, 65332, 65531, 65533, 588 65535, 0, 2, 4, 6, 8, 25, 1817, 63874, 65511, 589 65527, 65529, 65531, 65533, 65535, 0, 2, 4, 907, 65014, 590 65529, 65531, 65533, 65535, 0, 2, 4, 6, 8, 10, 591 12, 132, 2743, 62708, 65430, 65525, 65527, 65529, 65531, 65533, 592 65535, 0, 2, 4, 6, 8, 35, 3743, 61666, 65485, 593 65531, 65533, 65535, 0, 2, 4, 6, 8, 10, 23, 594 109, 683, 6905, 58417, 64911, 65398, 65497, 65518, 65525, 65527, 595 65529, 65531, 65533, 65535, 0, 2, 4, 6, 53, 510, 596 10209, 55212, 64573, 65441, 65522, 65529, 65531, 65533, 65535, 0, 597 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 598 22, 32, 90, 266, 1037, 3349, 14468, 50488, 62394, 64685, 599 65341, 65480, 65514, 65519, 65521, 65523, 65525, 65527, 65529, 65531, 600 65533, 65535, 0, 2, 4, 6, 9, 16, 37, 106, 601 296, 748, 1868, 5733, 18897, 45553, 60165, 63949, 64926, 65314, 602 65441, 65508, 65524, 65529, 65531, 65533, 65535, 0, 2, 4, 603 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 604 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 605 46, 48, 50, 83, 175, 344, 667, 1293, 2337, 4357, 606 8033, 14988, 28600, 43244, 52011, 57042, 59980, 61779, 63065, 63869, 607 64390, 64753, 64988, 65164, 65326, 65422, 65462, 65492, 65506, 65522, 608 65524, 65526, 65531, 65533, 65535, 0, 2, 4, 6, 8, 609 10, 12, 14, 16, 25, 39, 48, 55, 62, 65, 610 85, 106, 139, 169, 194, 252, 323, 485, 688, 1074, 611 1600, 2544, 3863, 5733, 8303, 11397, 15529, 20273, 25734, 31455, 612 36853, 41891, 46410, 50306, 53702, 56503, 58673, 60479, 61880, 62989, 613 63748, 64404, 64852, 65124, 65309, 65424, 65480, 65524, 65528, 65533, 614 65535, 0, 2, 4, 6, 8, 10, 12, 14, 21, 615 23, 25, 27, 29, 31, 39, 41, 43, 48, 60, 616 72, 79, 106, 136, 166, 187, 224, 252, 323, 381, 617 427, 478, 568, 660, 783, 912, 1046, 1175, 1365, 1567, 618 1768, 2024, 2347, 2659, 3049, 3529, 4033, 4623, 5281, 5925, 619 6726, 7526, 8417, 9468, 10783, 12141, 13571, 15222, 16916, 18659, 620 20350, 22020, 23725, 25497, 27201, 29026, 30867, 32632, 34323, 36062, 621 37829, 39466, 41144, 42654, 43981, 45343, 46579, 47759, 49013, 50171, 622 51249, 52283, 53245, 54148, 54938, 55669, 56421, 57109, 57791, 58464, 623 59092, 59674, 60105, 60653, 61083, 61407, 61757, 62095, 62388, 62649, 624 62873, 63157, 63358, 63540, 63725, 63884, 64046, 64155, 64278, 64426, 625 64548, 64654, 64806, 64906, 64994, 65077, 65137, 65215, 65277, 65324, 626 65354, 65409, 65437, 65455, 65462, 65490, 65495, 65499, 65508, 65511, 627 65513, 65515, 65517, 65519, 65521, 65523, 65525, 65527, 65529, 65531, 628 65533, 65535 629 }; 630 631 const uint16_t WebRtcIsacfix_kCdfShape[2059] = { 632 0, 65535, 0, 65535, 0, 65535, 0, 65535, 0, 65535, 633 0, 65535, 0, 65535, 0, 65535, 0, 65535, 0, 4, 634 65535, 0, 8, 65514, 65535, 0, 29, 65481, 65535, 0, 635 121, 65439, 65535, 0, 239, 65284, 65535, 0, 8, 779, 636 64999, 65527, 65535, 0, 8, 888, 64693, 65522, 65535, 0, 637 29, 2604, 62843, 65497, 65531, 65535, 0, 25, 176, 4576, 638 61164, 65275, 65527, 65535, 0, 65535, 0, 65535, 0, 65535, 639 0, 65535, 0, 4, 65535, 0, 65535, 0, 65535, 0, 640 65535, 0, 65535, 0, 4, 65535, 0, 33, 65502, 65535, 641 0, 54, 65481, 65535, 0, 251, 65309, 65535, 0, 611, 642 65074, 65535, 0, 1273, 64292, 65527, 65535, 0, 4, 1809, 643 63940, 65518, 65535, 0, 88, 4392, 60603, 65426, 65531, 65535, 644 0, 25, 419, 7046, 57756, 64961, 65514, 65531, 65535, 0, 645 65535, 0, 65535, 0, 65535, 0, 65535, 0, 4, 65531, 646 65535, 0, 65535, 0, 8, 65531, 65535, 0, 4, 65527, 647 65535, 0, 17, 65510, 65535, 0, 42, 65481, 65535, 0, 648 197, 65342, 65531, 65535, 0, 385, 65154, 65535, 0, 1005, 649 64522, 65535, 0, 8, 1985, 63469, 65533, 65535, 0, 38, 650 3119, 61884, 65514, 65535, 0, 4, 6, 67, 4961, 60804, 651 65472, 65535, 0, 17, 565, 9182, 56538, 65087, 65514, 65535, 652 0, 8, 63, 327, 2118, 14490, 52774, 63839, 65376, 65522, 653 65535, 0, 65535, 0, 65535, 0, 65535, 0, 65535, 0, 654 17, 65522, 65535, 0, 59, 65489, 65535, 0, 50, 65522, 655 65535, 0, 54, 65489, 65535, 0, 310, 65179, 65535, 0, 656 615, 64836, 65535, 0, 4, 1503, 63965, 65535, 0, 2780, 657 63383, 65535, 0, 21, 3919, 61051, 65527, 65535, 0, 84, 658 6674, 59929, 65435, 65535, 0, 4, 255, 7976, 55784, 65150, 659 65518, 65531, 65535, 0, 4, 8, 582, 10726, 53465, 64949, 660 65518, 65535, 0, 29, 339, 3006, 17555, 49517, 62956, 65200, 661 65497, 65531, 65535, 0, 2, 33, 138, 565, 2324, 7670, 662 22089, 45966, 58949, 63479, 64966, 65380, 65518, 65535, 0, 65535, 663 0, 65535, 0, 2, 65533, 65535, 0, 46, 65514, 65535, 664 0, 414, 65091, 65535, 0, 540, 64911, 65535, 0, 419, 665 65162, 65535, 0, 976, 64790, 65535, 0, 2977, 62495, 65531, 666 65535, 0, 4, 3852, 61034, 65527, 65535, 0, 4, 29, 667 6021, 60243, 65468, 65535, 0, 84, 6711, 58066, 65418, 65535, 668 0, 13, 281, 9550, 54917, 65125, 65506, 65535, 0, 2, 669 63, 984, 12108, 52644, 64342, 65435, 65527, 65535, 0, 29, 670 251, 2014, 14871, 47553, 62881, 65229, 65518, 65535, 0, 13, 671 142, 749, 4220, 18497, 45200, 60913, 64823, 65426, 65527, 65535, 672 0, 13, 71, 264, 1176, 3789, 10500, 24480, 43488, 56324, 673 62315, 64493, 65242, 65464, 65514, 65522, 65531, 65535, 0, 4, 674 13, 38, 109, 205, 448, 850, 1708, 3429, 6276, 11371, 675 19221, 29734, 40955, 49391, 55411, 59460, 62102, 63793, 64656, 65150, 676 65401, 65485, 65522, 65531, 65535, 0, 65535, 0, 2, 65533, 677 65535, 0, 1160, 65476, 65535, 0, 2, 6640, 64763, 65533, 678 65535, 0, 2, 38, 9923, 61009, 65527, 65535, 0, 2, 679 4949, 63092, 65533, 65535, 0, 2, 3090, 63398, 65533, 65535, 680 0, 2, 2520, 58744, 65510, 65535, 0, 2, 13, 544, 681 8784, 51403, 65148, 65533, 65535, 0, 2, 25, 1017, 10412, 682 43550, 63651, 65489, 65527, 65535, 0, 2, 4, 29, 783, 683 13377, 52462, 64524, 65495, 65533, 65535, 0, 2, 4, 6, 684 100, 1817, 18451, 52590, 63559, 65376, 65531, 65535, 0, 2, 685 4, 6, 46, 385, 2562, 11225, 37416, 60488, 65026, 65487, 686 65529, 65533, 65535, 0, 2, 4, 6, 8, 10, 12, 687 42, 222, 971, 5221, 19811, 45048, 60312, 64486, 65294, 65474, 688 65525, 65529, 65533, 65535, 0, 2, 4, 8, 71, 167, 689 666, 2533, 7875, 19622, 38082, 54359, 62108, 64633, 65290, 65495, 690 65529, 65533, 65535, 0, 2, 4, 6, 8, 10, 13, 691 109, 586, 1930, 4949, 11600, 22641, 36125, 48312, 56899, 61495, 692 63927, 64932, 65389, 65489, 65518, 65531, 65533, 65535, 0, 4, 693 6, 8, 67, 209, 712, 1838, 4195, 8432, 14432, 22834, 694 31723, 40523, 48139, 53929, 57865, 60657, 62403, 63584, 64363, 64907, 695 65167, 65372, 65472, 65514, 65535, 0, 2, 4, 13, 25, 696 42, 46, 50, 75, 113, 147, 281, 448, 657, 909, 697 1185, 1591, 1976, 2600, 3676, 5317, 7398, 9914, 12941, 16169, 698 19477, 22885, 26464, 29851, 33360, 37228, 41139, 44802, 48654, 52058, 699 55181, 57676, 59581, 61022, 62190, 63107, 63676, 64199, 64547, 64924, 700 65158, 65313, 65430, 65481, 65518, 65535, 0, 65535, 0, 65535, 701 0, 65535, 0, 65535, 0, 65533, 65535, 0, 65535, 0, 702 65535, 0, 65535, 0, 65533, 65535, 0, 2, 65535, 0, 703 2, 65533, 65535, 0, 2, 65533, 65535, 0, 2, 65533, 704 65535, 0, 2, 4, 65533, 65535, 0, 2, 65533, 65535, 705 0, 2, 4, 65531, 65533, 65535, 0, 2, 4, 65531, 706 65533, 65535, 0, 2, 4, 6, 65524, 65533, 65535, 0, 707 65535, 0, 65535, 0, 65535, 0, 65535, 0, 65535, 0, 708 65535, 0, 65535, 0, 65535, 0, 65533, 65535, 0, 65533, 709 65535, 0, 2, 65533, 65535, 0, 2, 65533, 65535, 0, 710 2, 65533, 65535, 0, 2, 4, 65532, 65535, 0, 6, 711 65523, 65535, 0, 2, 15, 65530, 65533, 65535, 0, 2, 712 35, 65493, 65531, 65533, 65535, 0, 2, 4, 158, 65382, 713 65531, 65533, 65535, 0, 65535, 0, 65535, 0, 65535, 0, 714 65535, 0, 65535, 0, 65535, 0, 2, 65535, 0, 2, 715 65533, 65535, 0, 2, 65533, 65535, 0, 2, 65533, 65535, 716 0, 2, 65533, 65535, 0, 9, 65512, 65535, 0, 2, 717 12, 65529, 65535, 0, 2, 73, 65434, 65533, 65535, 0, 718 2, 240, 65343, 65533, 65535, 0, 2, 476, 65017, 65531, 719 65533, 65535, 0, 2, 4, 1046, 64686, 65531, 65533, 65535, 720 0, 2, 4, 6, 8, 1870, 63898, 65529, 65531, 65533, 721 65535, 0, 65535, 0, 65535, 0, 65535, 0, 65533, 65535, 722 0, 2, 65533, 65535, 0, 2, 65533, 65535, 0, 2, 723 65532, 65535, 0, 6, 65533, 65535, 0, 6, 65523, 65535, 724 0, 2, 65532, 65535, 0, 137, 65439, 65535, 0, 576, 725 64899, 65533, 65535, 0, 2, 289, 65299, 65533, 65535, 0, 726 2, 4, 6, 880, 64134, 65531, 65533, 65535, 0, 2, 727 4, 1853, 63347, 65533, 65535, 0, 2, 6, 2516, 61762, 728 65529, 65531, 65533, 65535, 0, 2, 4, 9, 3980, 61380, 729 65503, 65529, 65531, 65533, 65535, 0, 2, 4, 6, 8, 730 10, 12, 61, 6393, 59859, 65466, 65527, 65529, 65531, 65533, 731 65535, 0, 65535, 0, 65535, 0, 65535, 0, 2, 65532, 732 65535, 0, 3, 65529, 65535, 0, 2, 65529, 65535, 0, 733 61, 65453, 65535, 0, 234, 65313, 65535, 0, 503, 65138, 734 65535, 0, 155, 65402, 65533, 65535, 0, 2, 1058, 64554, 735 65533, 65535, 0, 2, 4, 3138, 62109, 65531, 65533, 65535, 736 0, 2, 4, 2031, 63339, 65531, 65533, 65535, 0, 2, 737 4, 6, 9, 4155, 60778, 65523, 65529, 65531, 65533, 65535, 738 0, 2, 4, 41, 6189, 59269, 65490, 65531, 65533, 65535, 739 0, 2, 4, 6, 210, 8789, 57043, 65400, 65528, 65531, 740 65533, 65535, 0, 2, 4, 6, 8, 26, 453, 10086, 741 55499, 64948, 65483, 65524, 65527, 65529, 65531, 65533, 65535, 0, 742 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 743 114, 1014, 11202, 52670, 64226, 65356, 65503, 65514, 65523, 65525, 744 65527, 65529, 65531, 65533, 65535, 0, 65533, 65535, 0, 15, 745 65301, 65535, 0, 152, 64807, 65535, 0, 2, 3328, 63308, 746 65535, 0, 2, 4050, 59730, 65533, 65535, 0, 2, 164, 747 10564, 61894, 65529, 65535, 0, 15, 6712, 59831, 65076, 65532, 748 65535, 0, 32, 7712, 57449, 65459, 65535, 0, 2, 210, 749 7849, 53110, 65021, 65523, 65535, 0, 2, 12, 1081, 13883, 750 48262, 62870, 65477, 65535, 0, 2, 88, 847, 6145, 37852, 751 62012, 65454, 65533, 65535, 0, 9, 47, 207, 1823, 14522, 752 45521, 61069, 64891, 65481, 65528, 65531, 65533, 65535, 0, 2, 753 9, 488, 2881, 12758, 38703, 58412, 64420, 65410, 65533, 65535, 754 0, 2, 4, 6, 61, 333, 1891, 6486, 19720, 43188, 755 57547, 62472, 64796, 65421, 65497, 65523, 65529, 65531, 65533, 65535, 756 0, 2, 4, 6, 8, 10, 12, 29, 117, 447, 757 1528, 6138, 21242, 43133, 56495, 62432, 64746, 65362, 65500, 65529, 758 65531, 65533, 65535, 0, 2, 18, 105, 301, 760, 1490, 759 3472, 7568, 15002, 26424, 40330, 53029, 60048, 62964, 64274, 64890, 760 65337, 65445, 65489, 65513, 65527, 65530, 65533, 65535, 0, 2, 761 4, 6, 41, 102, 409, 853, 2031, 4316, 7302, 11328, 762 16869, 24825, 34926, 43481, 50877, 56126, 59874, 62103, 63281, 63857, 763 64166, 64675, 65382, 65522, 65531, 65533, 65535, 0, 2, 4, 764 6, 8, 10, 12, 14, 16, 18, 29, 38, 53, 765 58, 96, 181, 503, 1183, 2849, 5590, 8600, 11379, 13942, 766 16478, 19453, 22638, 26039, 29411, 32921, 37596, 41433, 44998, 48560, 767 51979, 55106, 57666, 59892, 61485, 62616, 63484, 64018, 64375, 64685, 768 64924, 65076, 65278, 65395, 65471, 65509, 65529, 65535, 0, 65535, 769 0, 65535, 0, 65535, 0, 65535, 0, 65535, 0, 65535, 770 0, 65535, 0, 65535, 0, 2, 65533, 65535, 0, 2, 771 65533, 65535, 0, 2, 65533, 65535, 0, 2, 65533, 65535, 772 0, 2, 65533, 65535, 0, 2, 65533, 65535, 0, 7, 773 65519, 65535, 0, 2, 14, 65491, 65533, 65535, 0, 2, 774 81, 65427, 65531, 65533, 65535, 0, 2, 4, 312, 65293, 775 65528, 65533, 65535, 0, 65535, 0, 65535, 0, 65535, 0, 776 65535, 0, 65535, 0, 65535, 0, 65535, 0, 65535, 0, 777 2, 65533, 65535, 0, 2, 65533, 65535, 0, 2, 65533, 778 65535, 0, 5, 65523, 65535, 0, 2, 65533, 65535, 0, 779 7, 65526, 65535, 0, 46, 65464, 65533, 65535, 0, 2, 780 120, 65309, 65533, 65535, 0, 2, 5, 362, 65097, 65533, 781 65535, 0, 2, 18, 1164, 64785, 65528, 65531, 65533, 65535, 782 0, 65535, 0, 65535, 0, 65535, 0, 65533, 65535, 0, 783 65535, 0, 65533, 65535, 0, 2, 65533, 65535, 0, 2, 784 65533, 65535, 0, 2, 65533, 65535, 0, 2, 65530, 65535, 785 0, 2, 65523, 65535, 0, 69, 65477, 65535, 0, 141, 786 65459, 65535, 0, 194, 65325, 65533, 65535, 0, 2, 543, 787 64912, 65533, 65535, 0, 5, 1270, 64301, 65529, 65531, 65533, 788 65535, 0, 2, 4, 12, 2055, 63538, 65508, 65531, 65533, 789 65535, 0, 2, 7, 102, 3775, 61970, 65429, 65526, 65528, 790 65533, 65535, 0, 65535, 0, 65535, 0, 65535, 0, 2, 791 65533, 65535, 0, 2, 65535, 0, 9, 65533, 65535, 0, 792 25, 65512, 65535, 0, 2, 65533, 65535, 0, 44, 65480, 793 65535, 0, 48, 65475, 65535, 0, 162, 65373, 65535, 0, 794 637, 64806, 65533, 65535, 0, 2, 935, 64445, 65533, 65535, 795 0, 2, 4, 1662, 64083, 65533, 65535, 0, 2, 12, 796 3036, 62469, 65521, 65533, 65535, 0, 2, 120, 5405, 60468, 797 65469, 65531, 65533, 65535, 0, 2, 4, 18, 254, 6663, 798 58999, 65272, 65528, 65533, 65535, 0, 2, 4, 9, 12, 799 67, 591, 8981, 56781, 64564, 65365, 65508, 65524, 65526, 65529, 800 65531, 65533, 65535, 0, 65535, 0, 65535, 0, 2, 65533, 801 65535, 0, 9, 65526, 65535, 0, 14, 65503, 65535, 0, 802 127, 65390, 65535, 0, 517, 64990, 65535, 0, 178, 65330, 803 65535, 0, 2, 1055, 64533, 65533, 65535, 0, 2, 1558, 804 63942, 65533, 65535, 0, 2, 2205, 63173, 65533, 65535, 0, 805 25, 4493, 60862, 65505, 65533, 65535, 0, 2, 48, 5890, 806 59442, 65482, 65533, 65535, 0, 2, 4, 127, 7532, 58191, 807 65394, 65533, 65535, 0, 2, 5, 32, 550, 10388, 54924, 808 65046, 65510, 65531, 65533, 65535, 0, 2, 4, 30, 150, 809 1685, 14340, 51375, 63619, 65288, 65503, 65528, 65533, 65535, 0, 810 2, 4, 6, 8, 28, 97, 473, 2692, 15407, 50020, 811 62880, 65064, 65445, 65508, 65531, 65533, 65535, 0, 2, 4, 812 12, 32, 79, 150, 372, 907, 2184, 5868, 18207, 45431, 813 59856, 64031, 65096, 65401, 65481, 65507, 65521, 65523, 65525, 65527, 814 65529, 65531, 65533, 65535, 0, 65533, 65535, 0, 182, 65491, 815 65535, 0, 877, 64286, 65535, 0, 9, 2708, 63612, 65533, 816 65535, 0, 2, 6038, 59532, 65535, 0, 2, 92, 5500, 817 60539, 65533, 65535, 0, 268, 8908, 56512, 65385, 65535, 0, 818 129, 13110, 52742, 65036, 65535, 0, 2, 806, 14003, 51929, 819 64732, 65523, 65535, 0, 7, 92, 2667, 18159, 47678, 62610, 820 65355, 65535, 0, 32, 1836, 19676, 48237, 61677, 64960, 65526, 821 65535, 0, 21, 159, 967, 5668, 22782, 44709, 58317, 64020, 822 65406, 65528, 65535, 0, 7, 162, 1838, 8328, 23929, 43014, 823 56394, 63374, 65216, 65484, 65521, 65535, 0, 2, 4, 6, 824 28, 268, 1120, 3613, 10688, 24185, 40989, 54917, 61684, 64510, 825 65403, 65530, 65535, 0, 2, 16, 44, 139, 492, 1739, 826 5313, 13558, 26766, 41566, 52446, 58937, 62815, 64480, 65201, 65454, 827 65524, 65533, 65535, 0, 7, 25, 76, 263, 612, 1466, 828 3325, 6832, 12366, 20152, 29466, 39255, 47360, 53506, 57740, 60726, 829 62845, 64131, 64882, 65260, 65459, 65521, 65528, 65530, 65535, 0, 830 2, 4, 14, 48, 136, 312, 653, 1240, 2369, 4327, 831 7028, 10759, 15449, 21235, 28027, 35386, 42938, 49562, 54990, 59119, 832 62086, 63916, 64863, 65249, 65445, 65493, 65523, 65535, 0, 2, 833 4, 6, 8, 10, 12, 21, 83, 208, 409, 723, 834 1152, 1868, 2951, 4463, 6460, 8979, 11831, 15195, 18863, 22657, 835 26762, 30881, 34963, 39098, 43054, 47069, 50620, 53871, 56821, 59386, 836 61340, 62670, 63512, 64023, 64429, 64750, 64944, 65126, 65279, 65366, 837 65413, 65445, 65473, 65505, 65510, 65521, 65528, 65530, 65535 838 }; 839 840 /* pointers to cdf tables for quantizer indices */ 841 const uint16_t *WebRtcIsacfix_kCdfGainPtr[3][12] = { 842 { WebRtcIsacfix_kCdfGain +0 +0, WebRtcIsacfix_kCdfGain +0 +8, WebRtcIsacfix_kCdfGain +0 +22, 843 WebRtcIsacfix_kCdfGain +0 +32, WebRtcIsacfix_kCdfGain +0 +48, WebRtcIsacfix_kCdfGain +0 +60, 844 WebRtcIsacfix_kCdfGain +0 +81, WebRtcIsacfix_kCdfGain +0 +95, WebRtcIsacfix_kCdfGain +0 +128, 845 WebRtcIsacfix_kCdfGain +0 +152, WebRtcIsacfix_kCdfGain +0 +210, WebRtcIsacfix_kCdfGain +0 +264 846 }, 847 { WebRtcIsacfix_kCdfGain +404 +0, WebRtcIsacfix_kCdfGain +404 +8, WebRtcIsacfix_kCdfGain +404 +21, 848 WebRtcIsacfix_kCdfGain +404 +30, WebRtcIsacfix_kCdfGain +404 +46, WebRtcIsacfix_kCdfGain +404 +58, 849 WebRtcIsacfix_kCdfGain +404 +79, WebRtcIsacfix_kCdfGain +404 +93, WebRtcIsacfix_kCdfGain +404 +125, 850 WebRtcIsacfix_kCdfGain +404 +149, WebRtcIsacfix_kCdfGain +404 +207, WebRtcIsacfix_kCdfGain +404 +260 851 }, 852 { WebRtcIsacfix_kCdfGain +803 +0, WebRtcIsacfix_kCdfGain +803 +8, WebRtcIsacfix_kCdfGain +803 +22, 853 WebRtcIsacfix_kCdfGain +803 +31, WebRtcIsacfix_kCdfGain +803 +48, WebRtcIsacfix_kCdfGain +803 +60, 854 WebRtcIsacfix_kCdfGain +803 +81, WebRtcIsacfix_kCdfGain +803 +96, WebRtcIsacfix_kCdfGain +803 +129, 855 WebRtcIsacfix_kCdfGain +803 +154, WebRtcIsacfix_kCdfGain +803 +212, WebRtcIsacfix_kCdfGain +803 +268 856 } 857 }; 858 859 const uint16_t *WebRtcIsacfix_kCdfShapePtr[3][108] = { 860 { WebRtcIsacfix_kCdfShape +0 +0, WebRtcIsacfix_kCdfShape +0 +2, WebRtcIsacfix_kCdfShape +0 +4, 861 WebRtcIsacfix_kCdfShape +0 +6, WebRtcIsacfix_kCdfShape +0 +8, WebRtcIsacfix_kCdfShape +0 +10, 862 WebRtcIsacfix_kCdfShape +0 +12, WebRtcIsacfix_kCdfShape +0 +14, WebRtcIsacfix_kCdfShape +0 +16, 863 WebRtcIsacfix_kCdfShape +0 +18, WebRtcIsacfix_kCdfShape +0 +21, WebRtcIsacfix_kCdfShape +0 +25, 864 WebRtcIsacfix_kCdfShape +0 +29, WebRtcIsacfix_kCdfShape +0 +33, WebRtcIsacfix_kCdfShape +0 +37, 865 WebRtcIsacfix_kCdfShape +0 +43, WebRtcIsacfix_kCdfShape +0 +49, WebRtcIsacfix_kCdfShape +0 +56, 866 WebRtcIsacfix_kCdfShape +0 +64, WebRtcIsacfix_kCdfShape +0 +66, WebRtcIsacfix_kCdfShape +0 +68, 867 WebRtcIsacfix_kCdfShape +0 +70, WebRtcIsacfix_kCdfShape +0 +72, WebRtcIsacfix_kCdfShape +0 +75, 868 WebRtcIsacfix_kCdfShape +0 +77, WebRtcIsacfix_kCdfShape +0 +79, WebRtcIsacfix_kCdfShape +0 +81, 869 WebRtcIsacfix_kCdfShape +0 +83, WebRtcIsacfix_kCdfShape +0 +86, WebRtcIsacfix_kCdfShape +0 +90, 870 WebRtcIsacfix_kCdfShape +0 +94, WebRtcIsacfix_kCdfShape +0 +98, WebRtcIsacfix_kCdfShape +0 +102, 871 WebRtcIsacfix_kCdfShape +0 +107, WebRtcIsacfix_kCdfShape +0 +113, WebRtcIsacfix_kCdfShape +0 +120, 872 WebRtcIsacfix_kCdfShape +0 +129, WebRtcIsacfix_kCdfShape +0 +131, WebRtcIsacfix_kCdfShape +0 +133, 873 WebRtcIsacfix_kCdfShape +0 +135, WebRtcIsacfix_kCdfShape +0 +137, WebRtcIsacfix_kCdfShape +0 +141, 874 WebRtcIsacfix_kCdfShape +0 +143, WebRtcIsacfix_kCdfShape +0 +147, WebRtcIsacfix_kCdfShape +0 +151, 875 WebRtcIsacfix_kCdfShape +0 +155, WebRtcIsacfix_kCdfShape +0 +159, WebRtcIsacfix_kCdfShape +0 +164, 876 WebRtcIsacfix_kCdfShape +0 +168, WebRtcIsacfix_kCdfShape +0 +172, WebRtcIsacfix_kCdfShape +0 +178, 877 WebRtcIsacfix_kCdfShape +0 +184, WebRtcIsacfix_kCdfShape +0 +192, WebRtcIsacfix_kCdfShape +0 +200, 878 WebRtcIsacfix_kCdfShape +0 +211, WebRtcIsacfix_kCdfShape +0 +213, WebRtcIsacfix_kCdfShape +0 +215, 879 WebRtcIsacfix_kCdfShape +0 +217, WebRtcIsacfix_kCdfShape +0 +219, WebRtcIsacfix_kCdfShape +0 +223, 880 WebRtcIsacfix_kCdfShape +0 +227, WebRtcIsacfix_kCdfShape +0 +231, WebRtcIsacfix_kCdfShape +0 +235, 881 WebRtcIsacfix_kCdfShape +0 +239, WebRtcIsacfix_kCdfShape +0 +243, WebRtcIsacfix_kCdfShape +0 +248, 882 WebRtcIsacfix_kCdfShape +0 +252, WebRtcIsacfix_kCdfShape +0 +258, WebRtcIsacfix_kCdfShape +0 +264, 883 WebRtcIsacfix_kCdfShape +0 +273, WebRtcIsacfix_kCdfShape +0 +282, WebRtcIsacfix_kCdfShape +0 +293, 884 WebRtcIsacfix_kCdfShape +0 +308, WebRtcIsacfix_kCdfShape +0 +310, WebRtcIsacfix_kCdfShape +0 +312, 885 WebRtcIsacfix_kCdfShape +0 +316, WebRtcIsacfix_kCdfShape +0 +320, WebRtcIsacfix_kCdfShape +0 +324, 886 WebRtcIsacfix_kCdfShape +0 +328, WebRtcIsacfix_kCdfShape +0 +332, WebRtcIsacfix_kCdfShape +0 +336, 887 WebRtcIsacfix_kCdfShape +0 +341, WebRtcIsacfix_kCdfShape +0 +347, WebRtcIsacfix_kCdfShape +0 +354, 888 WebRtcIsacfix_kCdfShape +0 +360, WebRtcIsacfix_kCdfShape +0 +368, WebRtcIsacfix_kCdfShape +0 +378, 889 WebRtcIsacfix_kCdfShape +0 +388, WebRtcIsacfix_kCdfShape +0 +400, WebRtcIsacfix_kCdfShape +0 +418, 890 WebRtcIsacfix_kCdfShape +0 +445, WebRtcIsacfix_kCdfShape +0 +447, WebRtcIsacfix_kCdfShape +0 +451, 891 WebRtcIsacfix_kCdfShape +0 +455, WebRtcIsacfix_kCdfShape +0 +461, WebRtcIsacfix_kCdfShape +0 +468, 892 WebRtcIsacfix_kCdfShape +0 +474, WebRtcIsacfix_kCdfShape +0 +480, WebRtcIsacfix_kCdfShape +0 +486, 893 WebRtcIsacfix_kCdfShape +0 +495, WebRtcIsacfix_kCdfShape +0 +505, WebRtcIsacfix_kCdfShape +0 +516, 894 WebRtcIsacfix_kCdfShape +0 +528, WebRtcIsacfix_kCdfShape +0 +543, WebRtcIsacfix_kCdfShape +0 +564, 895 WebRtcIsacfix_kCdfShape +0 +583, WebRtcIsacfix_kCdfShape +0 +608, WebRtcIsacfix_kCdfShape +0 +635 896 }, 897 { WebRtcIsacfix_kCdfShape +686 +0, WebRtcIsacfix_kCdfShape +686 +2, WebRtcIsacfix_kCdfShape +686 +4, 898 WebRtcIsacfix_kCdfShape +686 +6, WebRtcIsacfix_kCdfShape +686 +8, WebRtcIsacfix_kCdfShape +686 +11, 899 WebRtcIsacfix_kCdfShape +686 +13, WebRtcIsacfix_kCdfShape +686 +15, WebRtcIsacfix_kCdfShape +686 +17, 900 WebRtcIsacfix_kCdfShape +686 +20, WebRtcIsacfix_kCdfShape +686 +23, WebRtcIsacfix_kCdfShape +686 +27, 901 WebRtcIsacfix_kCdfShape +686 +31, WebRtcIsacfix_kCdfShape +686 +35, WebRtcIsacfix_kCdfShape +686 +40, 902 WebRtcIsacfix_kCdfShape +686 +44, WebRtcIsacfix_kCdfShape +686 +50, WebRtcIsacfix_kCdfShape +686 +56, 903 WebRtcIsacfix_kCdfShape +686 +63, WebRtcIsacfix_kCdfShape +686 +65, WebRtcIsacfix_kCdfShape +686 +67, 904 WebRtcIsacfix_kCdfShape +686 +69, WebRtcIsacfix_kCdfShape +686 +71, WebRtcIsacfix_kCdfShape +686 +73, 905 WebRtcIsacfix_kCdfShape +686 +75, WebRtcIsacfix_kCdfShape +686 +77, WebRtcIsacfix_kCdfShape +686 +79, 906 WebRtcIsacfix_kCdfShape +686 +82, WebRtcIsacfix_kCdfShape +686 +85, WebRtcIsacfix_kCdfShape +686 +89, 907 WebRtcIsacfix_kCdfShape +686 +93, WebRtcIsacfix_kCdfShape +686 +97, WebRtcIsacfix_kCdfShape +686 +102, 908 WebRtcIsacfix_kCdfShape +686 +106, WebRtcIsacfix_kCdfShape +686 +112, WebRtcIsacfix_kCdfShape +686 +119, 909 WebRtcIsacfix_kCdfShape +686 +127, WebRtcIsacfix_kCdfShape +686 +129, WebRtcIsacfix_kCdfShape +686 +131, 910 WebRtcIsacfix_kCdfShape +686 +133, WebRtcIsacfix_kCdfShape +686 +135, WebRtcIsacfix_kCdfShape +686 +137, 911 WebRtcIsacfix_kCdfShape +686 +139, WebRtcIsacfix_kCdfShape +686 +142, WebRtcIsacfix_kCdfShape +686 +146, 912 WebRtcIsacfix_kCdfShape +686 +150, WebRtcIsacfix_kCdfShape +686 +154, WebRtcIsacfix_kCdfShape +686 +158, 913 WebRtcIsacfix_kCdfShape +686 +162, WebRtcIsacfix_kCdfShape +686 +167, WebRtcIsacfix_kCdfShape +686 +173, 914 WebRtcIsacfix_kCdfShape +686 +179, WebRtcIsacfix_kCdfShape +686 +186, WebRtcIsacfix_kCdfShape +686 +194, 915 WebRtcIsacfix_kCdfShape +686 +205, WebRtcIsacfix_kCdfShape +686 +207, WebRtcIsacfix_kCdfShape +686 +209, 916 WebRtcIsacfix_kCdfShape +686 +211, WebRtcIsacfix_kCdfShape +686 +214, WebRtcIsacfix_kCdfShape +686 +218, 917 WebRtcIsacfix_kCdfShape +686 +222, WebRtcIsacfix_kCdfShape +686 +226, WebRtcIsacfix_kCdfShape +686 +230, 918 WebRtcIsacfix_kCdfShape +686 +234, WebRtcIsacfix_kCdfShape +686 +238, WebRtcIsacfix_kCdfShape +686 +242, 919 WebRtcIsacfix_kCdfShape +686 +247, WebRtcIsacfix_kCdfShape +686 +253, WebRtcIsacfix_kCdfShape +686 +262, 920 WebRtcIsacfix_kCdfShape +686 +269, WebRtcIsacfix_kCdfShape +686 +278, WebRtcIsacfix_kCdfShape +686 +289, 921 WebRtcIsacfix_kCdfShape +686 +305, WebRtcIsacfix_kCdfShape +686 +307, WebRtcIsacfix_kCdfShape +686 +309, 922 WebRtcIsacfix_kCdfShape +686 +311, WebRtcIsacfix_kCdfShape +686 +315, WebRtcIsacfix_kCdfShape +686 +319, 923 WebRtcIsacfix_kCdfShape +686 +323, WebRtcIsacfix_kCdfShape +686 +327, WebRtcIsacfix_kCdfShape +686 +331, 924 WebRtcIsacfix_kCdfShape +686 +335, WebRtcIsacfix_kCdfShape +686 +340, WebRtcIsacfix_kCdfShape +686 +346, 925 WebRtcIsacfix_kCdfShape +686 +354, WebRtcIsacfix_kCdfShape +686 +362, WebRtcIsacfix_kCdfShape +686 +374, 926 WebRtcIsacfix_kCdfShape +686 +384, WebRtcIsacfix_kCdfShape +686 +396, WebRtcIsacfix_kCdfShape +686 +413, 927 WebRtcIsacfix_kCdfShape +686 +439, WebRtcIsacfix_kCdfShape +686 +442, WebRtcIsacfix_kCdfShape +686 +446, 928 WebRtcIsacfix_kCdfShape +686 +450, WebRtcIsacfix_kCdfShape +686 +455, WebRtcIsacfix_kCdfShape +686 +461, 929 WebRtcIsacfix_kCdfShape +686 +468, WebRtcIsacfix_kCdfShape +686 +475, WebRtcIsacfix_kCdfShape +686 +481, 930 WebRtcIsacfix_kCdfShape +686 +489, WebRtcIsacfix_kCdfShape +686 +498, WebRtcIsacfix_kCdfShape +686 +508, 931 WebRtcIsacfix_kCdfShape +686 +522, WebRtcIsacfix_kCdfShape +686 +534, WebRtcIsacfix_kCdfShape +686 +554, 932 WebRtcIsacfix_kCdfShape +686 +577, WebRtcIsacfix_kCdfShape +686 +602, WebRtcIsacfix_kCdfShape +686 +631 933 }, 934 { WebRtcIsacfix_kCdfShape +1368 +0, WebRtcIsacfix_kCdfShape +1368 +2, WebRtcIsacfix_kCdfShape +1368 +4, 935 WebRtcIsacfix_kCdfShape +1368 +6, WebRtcIsacfix_kCdfShape +1368 +8, WebRtcIsacfix_kCdfShape +1368 +10, 936 WebRtcIsacfix_kCdfShape +1368 +12, WebRtcIsacfix_kCdfShape +1368 +14, WebRtcIsacfix_kCdfShape +1368 +16, 937 WebRtcIsacfix_kCdfShape +1368 +20, WebRtcIsacfix_kCdfShape +1368 +24, WebRtcIsacfix_kCdfShape +1368 +28, 938 WebRtcIsacfix_kCdfShape +1368 +32, WebRtcIsacfix_kCdfShape +1368 +36, WebRtcIsacfix_kCdfShape +1368 +40, 939 WebRtcIsacfix_kCdfShape +1368 +44, WebRtcIsacfix_kCdfShape +1368 +50, WebRtcIsacfix_kCdfShape +1368 +57, 940 WebRtcIsacfix_kCdfShape +1368 +65, WebRtcIsacfix_kCdfShape +1368 +67, WebRtcIsacfix_kCdfShape +1368 +69, 941 WebRtcIsacfix_kCdfShape +1368 +71, WebRtcIsacfix_kCdfShape +1368 +73, WebRtcIsacfix_kCdfShape +1368 +75, 942 WebRtcIsacfix_kCdfShape +1368 +77, WebRtcIsacfix_kCdfShape +1368 +79, WebRtcIsacfix_kCdfShape +1368 +81, 943 WebRtcIsacfix_kCdfShape +1368 +85, WebRtcIsacfix_kCdfShape +1368 +89, WebRtcIsacfix_kCdfShape +1368 +93, 944 WebRtcIsacfix_kCdfShape +1368 +97, WebRtcIsacfix_kCdfShape +1368 +101, WebRtcIsacfix_kCdfShape +1368 +105, 945 WebRtcIsacfix_kCdfShape +1368 +110, WebRtcIsacfix_kCdfShape +1368 +116, WebRtcIsacfix_kCdfShape +1368 +123, 946 WebRtcIsacfix_kCdfShape +1368 +132, WebRtcIsacfix_kCdfShape +1368 +134, WebRtcIsacfix_kCdfShape +1368 +136, 947 WebRtcIsacfix_kCdfShape +1368 +138, WebRtcIsacfix_kCdfShape +1368 +141, WebRtcIsacfix_kCdfShape +1368 +143, 948 WebRtcIsacfix_kCdfShape +1368 +146, WebRtcIsacfix_kCdfShape +1368 +150, WebRtcIsacfix_kCdfShape +1368 +154, 949 WebRtcIsacfix_kCdfShape +1368 +158, WebRtcIsacfix_kCdfShape +1368 +162, WebRtcIsacfix_kCdfShape +1368 +166, 950 WebRtcIsacfix_kCdfShape +1368 +170, WebRtcIsacfix_kCdfShape +1368 +174, WebRtcIsacfix_kCdfShape +1368 +179, 951 WebRtcIsacfix_kCdfShape +1368 +185, WebRtcIsacfix_kCdfShape +1368 +193, WebRtcIsacfix_kCdfShape +1368 +203, 952 WebRtcIsacfix_kCdfShape +1368 +214, WebRtcIsacfix_kCdfShape +1368 +216, WebRtcIsacfix_kCdfShape +1368 +218, 953 WebRtcIsacfix_kCdfShape +1368 +220, WebRtcIsacfix_kCdfShape +1368 +224, WebRtcIsacfix_kCdfShape +1368 +227, 954 WebRtcIsacfix_kCdfShape +1368 +231, WebRtcIsacfix_kCdfShape +1368 +235, WebRtcIsacfix_kCdfShape +1368 +239, 955 WebRtcIsacfix_kCdfShape +1368 +243, WebRtcIsacfix_kCdfShape +1368 +247, WebRtcIsacfix_kCdfShape +1368 +251, 956 WebRtcIsacfix_kCdfShape +1368 +256, WebRtcIsacfix_kCdfShape +1368 +262, WebRtcIsacfix_kCdfShape +1368 +269, 957 WebRtcIsacfix_kCdfShape +1368 +277, WebRtcIsacfix_kCdfShape +1368 +286, WebRtcIsacfix_kCdfShape +1368 +297, 958 WebRtcIsacfix_kCdfShape +1368 +315, WebRtcIsacfix_kCdfShape +1368 +317, WebRtcIsacfix_kCdfShape +1368 +319, 959 WebRtcIsacfix_kCdfShape +1368 +323, WebRtcIsacfix_kCdfShape +1368 +327, WebRtcIsacfix_kCdfShape +1368 +331, 960 WebRtcIsacfix_kCdfShape +1368 +335, WebRtcIsacfix_kCdfShape +1368 +339, WebRtcIsacfix_kCdfShape +1368 +343, 961 WebRtcIsacfix_kCdfShape +1368 +349, WebRtcIsacfix_kCdfShape +1368 +355, WebRtcIsacfix_kCdfShape +1368 +361, 962 WebRtcIsacfix_kCdfShape +1368 +368, WebRtcIsacfix_kCdfShape +1368 +376, WebRtcIsacfix_kCdfShape +1368 +385, 963 WebRtcIsacfix_kCdfShape +1368 +397, WebRtcIsacfix_kCdfShape +1368 +411, WebRtcIsacfix_kCdfShape +1368 +429, 964 WebRtcIsacfix_kCdfShape +1368 +456, WebRtcIsacfix_kCdfShape +1368 +459, WebRtcIsacfix_kCdfShape +1368 +463, 965 WebRtcIsacfix_kCdfShape +1368 +467, WebRtcIsacfix_kCdfShape +1368 +473, WebRtcIsacfix_kCdfShape +1368 +478, 966 WebRtcIsacfix_kCdfShape +1368 +485, WebRtcIsacfix_kCdfShape +1368 +491, WebRtcIsacfix_kCdfShape +1368 +497, 967 WebRtcIsacfix_kCdfShape +1368 +505, WebRtcIsacfix_kCdfShape +1368 +514, WebRtcIsacfix_kCdfShape +1368 +523, 968 WebRtcIsacfix_kCdfShape +1368 +535, WebRtcIsacfix_kCdfShape +1368 +548, WebRtcIsacfix_kCdfShape +1368 +565, 969 WebRtcIsacfix_kCdfShape +1368 +585, WebRtcIsacfix_kCdfShape +1368 +611, WebRtcIsacfix_kCdfShape +1368 +640 970 } 971 }; 972 973 /* code length for all coefficients using different models */ 974 975 const int16_t WebRtcIsacfix_kCodeLenGainQ11[392] = { 976 25189, 16036, 8717, 358, 8757, 15706, 21456, 24397, 18502, 17559 977 , 13794, 11088, 7480, 873, 6603, 11636, 14627, 16805, 19132, 26624 978 , 26624, 19408, 13751, 7280, 583, 7591, 15178, 23773, 28672, 25189 979 , 19045, 16442, 13412, 10397, 5893, 1338, 6376, 9992, 12074, 13853 980 , 15781, 19821, 22819, 28672, 28672, 25189, 19858, 15781, 11262, 5477 981 , 1298, 5632, 11814, 17234, 22020, 28672, 19677, 18125, 16587, 14521 982 , 13032, 11196, 9249, 5411, 2495, 4994, 7975, 10234, 12308, 13892 983 , 15148, 17944, 21725, 23917, 25189, 19539, 16293, 11531, 7808, 4475 984 , 2739, 4872, 8089, 11314, 14992, 18105, 23257, 26624, 25189, 23257 985 , 23257, 20982, 18697, 18023, 16338, 16036, 14539, 13695, 13146, 11763 986 , 10754, 9074, 7260, 5584, 4430, 5553, 6848, 8344, 10141, 11636 987 , 12535, 13416, 14342, 15477, 17296, 19282, 22349, 23773, 28672, 28672 988 , 26624, 23773, 21456, 18023, 15118, 13362, 11212, 9293, 8043, 6985 989 , 5908, 5721, 5853, 6518, 7316, 8360, 9716, 11289, 12912, 14652 990 , 16969, 19858, 23773, 26624, 28013, 30720, 30720, 28672, 25426, 23141 991 , 25426, 23773, 20720, 19408, 18697, 19282, 16859, 16338, 16026, 15377 992 , 15021, 14319, 14251, 13937, 13260, 13017, 12332, 11703, 11430, 10359 993 , 10128, 9405, 8757, 8223, 7974, 7859, 7646, 7673, 7997, 8580 994 , 8880, 9061, 9866, 10397, 11358, 12200, 13244, 14157, 15021, 16026 995 , 16490, 18697, 18479, 20011, 19677, 20720, 24576, 26276, 30720, 30720 996 , 28672, 30720, 24068, 25189, 22437, 20345, 18479, 16396, 16026, 14928 997 , 13877, 13450, 12696, 12766, 11626, 11098, 10159, 9998, 9437, 9275 998 , 8783, 8552, 8629, 8488, 8522, 8454, 8571, 8775, 8915, 9427 999 , 9483, 9851, 10260, 10933, 11131, 11974, 12560, 13833, 15080, 16304 1000 , 17491, 19017, 18697, 19408, 22020, 25189, 25426, 22819, 26276, 30720 1001 , 30720, 30720, 30720, 30720, 30720, 28672, 30720, 30720, 30720, 30720 1002 , 28013, 25426, 24397, 23773, 25189, 26624, 25189, 22437, 21725, 20011 1003 , 20527, 20720, 20771, 22020, 22020, 19858, 19408, 19972, 17866, 17360 1004 , 17791, 17219, 16805, 16927, 16067, 16162, 15661, 15178, 15021, 15209 1005 , 14845, 14570, 14490, 14490, 13733, 13617, 13794, 13577, 13312, 12824 1006 , 13032, 12683, 12189, 12469, 12109, 11940, 11636, 11617, 11932, 12294 1007 , 11578, 11775, 12039, 11654, 11560, 11439, 11909, 11421, 12029, 11513 1008 , 11773, 11899, 11560, 11805, 11476, 11664, 11963, 11647, 11754, 11963 1009 , 11703, 12211, 11932, 12074, 12469, 12535, 12560, 12912, 12783, 12866 1010 , 12884, 13378, 13957, 13775, 13635, 14019, 14545, 15240, 15520, 15554 1011 , 15697, 16490, 16396, 17281, 16599, 16969, 17963, 16859, 16983, 16805 1012 , 17099, 18210, 17219, 17646, 17700, 17646, 18297, 17425, 18479, 17791 1013 , 17718, 19282, 18672, 20173, 20982, 21725, 21456, 23773, 23257, 25189 1014 , 30720, 30720, 25189, 26624, 30720, 30720, 30720, 30720, 28672, 26276 1015 , 30720, 30720 1016 }; 1017 1018 const int16_t WebRtcIsacfix_kCodeLenShapeQ11[578] = { 1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 28672 1020 , 0, 26624, 1, 23773, 22819, 4, 20982, 18598, 10, 19282 1021 , 16587, 22, 16442, 26624, 13126, 60, 14245, 26624, 26624, 12736 1022 , 79, 12912, 25189, 22819, 9563, 249, 9474, 22349, 28672, 23257 1023 , 17944, 7980, 434, 8181, 16431, 26624, 0, 0, 0, 0 1024 , 28672, 0, 0, 0, 0, 0, 28672, 0, 22437, 3 1025 , 22437, 20982, 5, 20982, 16442, 22, 16752, 13814, 49, 14646 1026 , 11645, 116, 11734, 26624, 28672, 10613, 158, 11010, 24397, 19539 1027 , 8046, 453, 7709, 19017, 28672, 23257, 15110, 6770, 758, 6523 1028 , 14108, 24397, 28672, 0, 0, 0, 0, 28672, 0, 28672 1029 , 0, 26624, 1, 28672, 28672, 1, 26624, 24397, 2, 23257 1030 , 21725, 4, 20982, 17158, 18, 17281, 28672, 15178, 35, 15209 1031 , 12343, 92, 12320, 26624, 10344, 189, 10217, 30720, 22020, 9033 1032 , 322, 8549, 23773, 28672, 30720, 20622, 7666, 473, 7806, 20527 1033 , 24397, 14135, 5995, 960, 6018, 14872, 23773, 26624, 20928, 16293 1034 , 10636, 4926, 1588, 5256, 11088, 18043, 25189, 0, 0, 0 1035 , 0, 24397, 1, 25189, 20720, 5, 21456, 21209, 3, 25189 1036 , 20982, 5, 21456, 15818, 30, 15410, 13794, 60, 13416, 28672 1037 , 11162, 142, 11025, 9337, 231, 10094, 23773, 8338, 405, 7930 1038 , 26624, 19677, 6787, 613, 7318, 19161, 28672, 16442, 6319, 932 1039 , 5748, 15312, 25189, 28672, 28672, 28672, 13998, 5513, 1263, 5146 1040 , 14024, 24397, 22819, 15818, 9460, 4447, 2122, 4681, 9970, 15945 1041 , 22349, 28672, 30720, 22622, 19017, 14872, 10689, 7405, 4473, 2983 1042 , 4783, 7894, 11186, 14964, 18210, 24397, 0, 0, 30720, 0 1043 , 30720, 21456, 3, 23773, 14964, 39, 14757, 14179, 53, 13751 1044 , 14928, 36, 15272, 12430, 79, 13228, 9135, 285, 9077, 28672 1045 , 28672, 8377, 403, 7919, 26624, 28672, 23257, 7068, 560, 7473 1046 , 20345, 19677, 6770, 720, 6464, 18697, 25189, 16249, 5779, 1087 1047 , 5494, 15209, 22819, 30720, 20622, 12601, 5240, 1419, 5091, 12095 1048 , 19408, 26624, 22819, 16805, 10683, 4812, 2056, 4293, 9836, 16026 1049 , 24397, 25189, 18409, 13833, 8681, 4503, 2653, 4220, 8329, 13853 1050 , 19132, 26624, 25189, 20771, 17219, 12630, 9520, 6733, 4565, 3657 1051 , 4817, 7069, 10058, 13212, 16805, 21209, 26624, 26276, 28672, 28672 1052 , 26276, 23257, 20173, 19282, 16538, 15051, 12811, 10754, 9267, 7547 1053 , 6270, 5407, 5214, 6057, 7054, 8226, 9488, 10806, 12793, 14442 1054 , 16442, 19677, 22099, 26276, 28672, 0, 30720, 0, 30720, 11920 1055 , 56, 20720, 30720, 6766, 355, 13130, 30720, 30720, 22180, 5589 1056 , 736, 7902, 26624, 30720, 7634, 354, 9721, 30720, 30720, 9027 1057 , 246, 10117, 30720, 30720, 9630, 453, 6709, 23257, 30720, 25683 1058 , 14228, 6127, 1271, 4615, 15178, 30720, 30720, 23504, 12382, 5739 1059 , 2015, 3492, 10560, 22020, 26624, 30720, 30720, 23257, 13192, 4873 1060 , 1527, 5001, 12445, 22020, 30720, 30720, 30720, 30720, 19344, 10761 1061 , 4051, 1927, 5281, 10594, 17866, 28672, 30720, 30720, 30720, 21869 1062 , 15554, 10060, 5979, 2710, 3085, 7889, 14646, 21725, 28672, 30720 1063 , 30720, 30720, 30720, 30720, 30720, 30720, 22719, 17425, 13212, 8083 1064 , 4439, 2820, 4305, 8136, 12988, 17425, 21151, 28672, 28672, 30720 1065 , 30720, 30720, 28672, 20527, 19282, 14412, 10513, 7407, 5079, 3744 1066 , 4115, 6308, 9621, 13599, 17040, 22349, 28672, 30720, 30720, 30720 1067 , 30720, 30720, 30720, 29522, 19282, 14545, 11485, 9093, 6760, 5262 1068 , 4672, 4970, 6005, 7852, 9732, 12343, 14672, 19161, 22819, 25189 1069 , 30720, 30720, 28672, 30720, 30720, 20720, 18125, 14388, 12007, 9825 1070 , 8092, 7064, 6069, 5903, 5932, 6359, 7169, 8310, 9324, 10711 1071 , 11867, 13096, 14157, 16338, 17040, 19161, 21725, 23773, 30720, 30720 1072 , 26276, 25426, 24397, 28672, 28672, 23257, 22020, 22349, 18297, 17646 1073 , 16983, 16431, 16162, 15021, 15178, 13751, 12142, 10895, 10193, 9632 1074 , 9086, 8896, 8823, 8735, 8591, 8754, 8649, 8361, 8329, 8522 1075 , 8373, 8739, 8993, 9657, 10454, 11279, 11899, 12614, 14024, 14273 1076 , 15477, 15240, 16649, 17866, 18697, 21151, 22099, 0 1077 // The final 0 was added due to http://bugs.webrtc.org/10584. 1078 }; 1079 1080 /* left KLT transforms */ 1081 const int16_t WebRtcIsacfix_kT1GainQ15[3][4] = { 1082 { -26130, 19773, 19773, 26130 }, 1083 { -26664, 19046, 19046, 26664 }, 1084 { -23538, 22797, 22797, 23538 } 1085 }; 1086 1087 1088 1089 const int16_t WebRtcIsacfix_kT1ShapeQ15[3][324] = { 1090 { 52,16,168,7,439,-138,-89,306,671,882, 1091 157,1301,291,1598,-3571,-1943,-1119,32404,96,-12, 1092 379,-64,-307,345,-836,539,1045,2541,-2865,-992, 1093 1683,-4717,5808,7427,30599,2319,183,-73,451,481, 1094 933,-198,781,-397,1244,-777,3690,-2414,149,-1356, 1095 -2593,-31140,8289,-1737,-202,-14,-214,360,501,450, 1096 -245,-7,797,3638,-2804,3042,-337,22137,-22103,2264, 1097 6838,-3381,305,172,263,-195,-355,351,179,513, 1098 2234,3343,5509,7531,19075,-17740,-16836,2244,-629,-1505, 1099 -153,108,124,-324,2694,-124,1492,-850,5347,4285, 1100 7439,-10229,-22822,-12467,-12891,3645,822,-232,131,13, 1101 374,565,536,4681,1294,-1935,1926,-5734,-10643,26462, 1102 -12480,-5589,-1038,-2468,964,-704,-247,-106,186,-558, 1103 -4050,3760,2972,2141,-7393,6294,26740,11991,-3251,5461, 1104 5341,1574,2208,-51,-552,-297,-753,-154,2068,-5371, 1105 3578,4106,28043,-10533,8041,2353,2389,4609,3410,1906, 1106 351,-249,18,-15,1117,539,2870,9084,17585,-24528, 1107 -366,-6490,2009,-3170,2942,1116,-232,1672,1065,606, 1108 -399,-388,-518,38,3728,28948,-11936,4543,4104,-4441, 1109 1545,-4044,1485,622,-68,186,-473,135,-280,125, 1110 -546,-1813,6989,6606,23711,19376,-2636,2870,-4553,-1687, 1111 878,-375,205,-208,-409,-108,-200,-45,-1670,-337, 1112 8213,-5524,-2334,5240,-12939,-26205,5937,-1582,-592,-959, 1113 -5374,2449,3400,559,349,-492,668,12379,-27684,3419, 1114 5117,4415,-297,-8270,-1252,-3490,-1272,-1199,-3159,191, 1115 630,488,-797,-3071,12912,-27783,-10249,1047,647,619, 1116 111,-3722,-915,-1055,-502,5,-1384,-306,221,68, 1117 5219,13173,-26474,-11663,-5626,927,806,-1127,236,-589, 1118 -522,-230,-312,-315,-428,-573,426,192,-11830,-26883, 1119 -14121,-2785,-1429,-109,410,-832,-302,539,-459,104, 1120 1,-530,-202,-289,153,116,30082,-12944,-671,20, 1121 649,98,103,215,234,0,280,-51,-169,298, 1122 31,230,-73,-51 1123 }, 1124 { -154,-7,-192,61,-739,-389,-947,-162,-60,94, 1125 511,-716,1520,-1428,4168,-2214,1816,32270,-123,-77, 1126 -199,-99,-42,-588,203,-240,-930,-35,1580,234, 1127 3206,-5507,-1495,-10946,30000,-2667,-136,-176,-240,-175, 1128 -204,-661,-1796,-1039,-1271,498,3143,734,2663,2699, 1129 -8127,29333,10495,2356,-72,113,-91,118,-2840,-723, 1130 -1733,-1158,-389,-2116,-3054,-3,-5179,8071,29546,6308, 1131 5657,-3178,-186,-294,-473,-635,1213,-983,-1437,-1715, 1132 -1094,1280,-92,-9573,948,29576,-7060,-5921,2954,1349, 1133 -337,-108,-1099,962,418,-413,-1149,-334,1241,3975, 1134 -6825,26725,-14377,7051,-4772,-1707,2335,2008,-150,570, 1135 1371,42,-1649,-619,2039,3369,-1225,1583,-2755,-15207, 1136 -27504,-4855,-4304,1495,2733,1324,15,-448,403,353, 1137 3016,-1242,2338,2673,2064,-7496,-30447,-3686,5833,-1301, 1138 -2455,2122,1519,608,43,-653,773,-3072,912,-1537, 1139 4505,10284,30237,1549,3200,-691,205,1702,658,1014, 1140 1499,148,79,-322,-1162,-4639,-813,7536,3204,29109, 1141 -10747,-26,1611,2286,2114,2561,1022,372,348,207, 1142 1062,-1088,-443,-9849,2381,5671,29097,-7612,-2927,3853, 1143 194,1155,275,1438,1438,1312,581,888,-784,906, 1144 112,-11103,25104,14438,-9311,-3068,1210,368,370,-940, 1145 -2434,-1148,1925,392,657,258,-526,1475,-2281,-4265, 1146 -1880,1534,2185,-1472,959,-30934,6306,3114,-4109,1768, 1147 -2612,-703,45,644,2185,2033,5670,7211,19114,-22427, 1148 6432,5150,-4090,-2694,3860,1245,-596,293,1829,369, 1149 -319,229,-3256,2170,-6374,-26216,-4570,-16053,-5766,-262, 1150 -2006,2873,-1477,147,378,-1544,-344,-544,-985,-481, 1151 4210,4542,30757,-7291,-4863,1529,-2079,-628,-603,-783, 1152 -408,1646,697,808,-620,-292,181,158,-13313,-29173, 1153 5984,-1262,859,-1776,-558,-24,-883,-1421,739,210, 1154 -531,-285,131,-160,-246,-56,29345,-13706,-2859,-2966, 1155 -300,-970,-2382,-268,-103,-636,-12,-62,-691,-253, 1156 -147,-127,27,66 1157 }, 1158 { 55,-212,-198,489,-274,81,682,399,328,-934, 1159 -389,-37,1357,-3632,5276,6581,-9493,-29921,29,-45, 1160 2,190,172,-15,311,-130,-1085,-25,324,-684, 1161 3223,-6580,4485,-5280,-29521,9933,82,-320,-530,229, 1162 -705,-533,-414,848,-1842,-4473,1390,-857,6717,-6692, 1163 4648,29397,576,8339,-68,-85,238,-330,264,-1012, 1164 -381,-203,-3384,-3329,3906,6810,3790,-6250,28312,-8078, 1165 8089,1565,160,-569,-612,-613,-1063,-1928,-1125,3421, 1166 -7481,-7484,4942,-6984,4330,-25591,-10574,-6982,5682,-1781, 1167 -308,89,178,-1715,-420,-3530,-5776,1219,-8617,-7137, 1168 7015,4981,24875,12657,-5408,-3356,-785,-1972,326,-858, 1169 -506,-3382,-986,-6258,-2259,4015,-8374,-10482,3127,23826, 1170 -14126,-514,-5417,2178,-2912,-17,-587,80,67,-5881, 1171 -1702,-5351,-4481,398,-10156,-225,20727,-15460,-11603,7752, 1172 3660,1714,-2001,-359,499,-527,-1225,-7820,-1297,-6326, 1173 -8526,7900,-18328,13311,-17488,-2926,-196,-17,2281,873, 1174 480,-160,-624,471,780,-8729,1707,-14262,-20647,1721, 1175 18590,-2206,-1214,-1066,312,-2602,783,-412,-113,49, 1176 -119,1305,-2371,-15132,-1833,-18252,20295,-8316,2227,341, 1177 -2074,-702,3082,-262,-465,-198,430,30,-70,-788, 1178 2342,-25132,-4863,19783,-484,2137,2811,-1906,799,1586, 1179 962,-734,-191,-30,-129,-93,-1126,1729,5860,-2030, 1180 8953,603,-3338,-10869,-1144,22070,12130,10513,3191,-6881, 1181 -3514,2090,711,-666,1843,-5997,-5681,2921,-17641,-2801, 1182 4969,18590,7169,12214,8587,4405,3008,-1074,-371,-77, 1183 253,331,-5611,5014,13152,-1985,18483,-1696,8043,20463, 1184 2381,-393,1688,-1205,618,1220,457,248,-83,176, 1185 7920,-13676,-22139,-3038,17402,2036,844,3258,994,719, 1186 2087,-44,426,494,12,-91,46,5,-14204,22912, 1187 -18156,-361,442,2298,-829,2229,386,1433,1335,1323, 1188 55,-592,-139,49,-12,-57,27783,17134,350,-282, 1189 552,158,142,2488,465,329,1087,118,143,10, 1190 56,65,-15,-31 1191 } 1192 }; 1193 1194 /* right KLT transforms */ 1195 const int16_t WebRtcIsacfix_kT2GainQ15[3][36] = { 1196 { 4775, -14892, 20313, -17104, 10533, -3613, -6782, 16044, -8889, 1197 -11019, 21330, -10720, 13193, -15678, -11101, 14461, 12250, -13096, 1198 -16951, 2167, 16066, 15569, -702, -16754, -19195, -12823, -4321, 1199 5128, 13348, 17825, 13232, 13404, 13494, 13490, 13383, 13261 1200 }, 1201 { -3725, 11408, -18493, 20031, -13097, 3865, 9344, -19294, 10740, 1202 8856, -18432, 8982, 13975, -14444, -11930, 11774, 14285, -13594, 1203 -16323, -4, 16340, 15609, 359, -17220, -18401, -13471, -4643, 1204 5225, 13375, 18053, 13124, 13463, 13621, 13583, 13393, 13072 1205 }, 1206 { -3513, 11402, -17883, 19504, -14399, 4885, 8702, -19513, 12046, 1207 8533, -18110, 8447, 12778, -14838, -12444, 13177, 14107, -12759, 1208 -17268, 914, 15822, 15661, 838, -16686, -18907, -12936, -4820, 1209 4175, 12398, 18830, 12913, 13215, 13433, 13572, 13601, 13518 1210 } 1211 }; 1212 1213 const int16_t WebRtcIsacfix_kT2ShapeQ15[3][36] = { 1214 { 4400, -11512, 17205, -19470, 14770, -5345, 9784, -19222, 11228, 1215 6842, -18371, 9909, 14191, -13496, -11563, 14015, 11827, -14839, 1216 -15439, 948, 17802, 14827, -2053, -17132, 18723, 14516, 4135, 1217 -6822, -13869, -16016, 12975, 13341, 13563, 13603, 13478, 13296 1218 }, 1219 { 5420, -14215, 19060, -18073, 11709, -3911, 9645, -18335, 7717, 1220 10842, -19283, 9777, 14898, -12555, -13661, 11668, 13520, -13733, 1221 -15936, -1358, 15671, 16728, 328, -17100, 17527, 13973, 5587, 1222 -5194, -14165, -17677, 12970, 13446, 13693, 13660, 13462, 13015 1223 }, 1224 { 4386, -12426, 18019, -18895, 13894, -5034, 9713, -19270, 10283, 1225 8692, -18439, 9317, 13992, -13454, -13241, 12850, 13366, -13336, 1226 -16334, -498, 15976, 16213, -114, -16987, 18191, 13659, 4958, 1227 -5116, -13444, -18021, 12911, 13424, 13718, 13674, 13464, 13054 1228 } 1229 }; 1230 1231 /* means of log gains and LAR coefficients*/ 1232 const int16_t WebRtcIsacfix_kMeansGainQ8[3][12] = { 1233 { -1758, -1370, -1758, -1373, -1757, -1375, 1234 -1758, -1374, -1758, -1373, -1755, -1370 1235 }, 1236 { -1569, -1224, -1569, -1225, -1569, -1227, 1237 -1569, -1226, -1567, -1225, -1565, -1224 1238 }, 1239 { -1452, -957, -1447, -951, -1438, -944, 1240 -1431, -938, -1419, -931, -1406, -926 1241 } 1242 }; 1243 1244 1245 const int32_t WebRtcIsacfix_kMeansShapeQ17[3][108] = { 1246 { -119581, 34418, -44193, 11112, -4428, 18906, 9222, 8068, 1953, 5425, 1247 1871, 1689, 109933, 33751, 10471, -2566, 1090, 2320, -119219, 33728, 1248 -43759, 11450, -4870, 19117, 9174, 8037, 1972, 5331, 1872, 1843, 1249 109899, 34301, 10629, -2316, 1272, 2562, -118608, 32318, -44012, 11591, 1250 -4914, 18932, 9456, 8088, 1900, 5419, 1723, 1853, 109963, 35059, 1251 10745, -2335, 1161, 2520, -119174, 32107, -44462, 11635, -4694, 18611, 1252 9757, 8108, 1969, 5486, 1673, 1777, 109636, 34907, 10643, -2406, 1253 1034, 2420, -118597, 32320, -44590, 10854, -4569, 18821, 9701, 7866, 1254 2003, 5577, 1732, 1626, 109913, 34448, 10714, -2752, 990, 2228, 1255 -118138, 32996, -44352, 10334, -3772, 18488, 9464, 7865, 2208, 5540, 1256 1745, 1664, 109880, 33381, 10640, -2779, 980, 2054 1257 }, 1258 { -146328, 46370, 1047, 26431, 10035, 13933, 6415, 14359, -2368, 6661, 1259 2269, 1764, 96623, 7802, 4163, 10742, 1643, 2954, -146871, 46561, 1127, 1260 26225, 10113, 14096, 6771, 14323, -2037, 6788, 2297, 1761, 96324, 8382, 1261 4309, 10450, 1695, 3016, -146502, 46475, 1580, 26118, 10487, 14179, 6622, 1262 14439, -2034, 6757, 2342, 1761, 95869, 8966, 4347, 10358, 1999, 2855, 1263 -146958, 47717, 826, 25952, 10263, 14061, 5266, 13681, -2417, 6582, 2047, 1264 1608, 96257, 9107, 4452, 10301, 1792, 2676, -146992, 47123, 446, 25822, 1265 10405, 14292, 5140, 13804, -2403, 6496, 1834, 1735, 97489, 9253, 4414, 1266 10684, 1549, 2721, -145811, 46182, 901, 26482, 10241, 14524, 6075, 14514, 1267 -2147, 6691, 2196, 1899, 97011, 8178, 4102, 10758, 1638, 2869 1268 }, 1269 { -166617, 46969, -43908, 17726, 6330, 25615, 6913, 5450, -2301, 1984, 1270 507, 2883, 149998, 28709, 19333, 16703, 11093, 8965, -168254, 46604, 1271 -44315, 17862, 6474, 25746, 7018, 5373, -2343, 1930, 513, 2819, 150391, 1272 28627, 19194, 16678, 10998, 8929, -169093, 46084, -44767, 17427, 6401, 1273 25674, 7147, 5472, -2336, 1820, 491, 2802, 149860, 28430, 19064, 16524, 1274 10898, 8875, -170205, 46189, -44877, 17403, 6190, 25209, 7035, 5673, -2173, 1275 1894, 574, 2756, 148830, 28230, 18819, 16418, 10789, 8811, -171263, 45045, 1276 -44834, 16858, 6103, 24726, 7014, 5713, -2103, 1877, 518, 2729, 147073, 1277 27744, 18629, 16277, 10690, 8703, -171720, 44153, -45062, 15951, 5872, 1278 24429, 7044, 5585, -2082, 1807, 519, 2769, 144791, 27402, 18490, 16126, 1279 10548, 8635 1280 } 1281 }; 1282