pub static PARTITION_W8: [[u16; 4]; 4] = [
[19132, 25510, 30392, 32768],
[13928, 19855, 28540, 32768],
[12522, 23679, 28629, 32768],
[9896, 18783, 25853, 32768],
];
pub static PARTITION_W16: [[u16; 10]; 4] = [
[
15597, 20929, 24571, 26706, 27664, 28821, 29601, 30571, 31902, 32768,
],
[
7925, 11043, 16785, 22470, 23971, 25043, 26651, 28701, 29834, 32768,
],
[
5414, 13269, 15111, 20488, 22360, 24500, 25537, 26336, 32117, 32768,
],
[
2662, 6362, 8614, 20860, 23053, 24778, 26436, 27829, 31171, 32768,
],
];
pub static PARTITION_W32: [[u16; 10]; 4] = [
[
18462, 20920, 23124, 27647, 28227, 29049, 29519, 30178, 31544, 32768,
],
[
7689, 9060, 12056, 24992, 25660, 26182, 26951, 28041, 29052, 32768,
],
[
6015, 9009, 10062, 24544, 25409, 26545, 27071, 27526, 32047, 32768,
],
[
1394, 2208, 2796, 28614, 29061, 29466, 29840, 30185, 31899, 32768,
],
];
pub static PARTITION_W64: [[u16; 10]; 4] = [
[
20137, 21547, 23078, 29566, 29837, 30261, 30524, 30892, 31724, 32768,
],
[
6732, 7490, 9497, 27944, 28250, 28515, 28969, 29630, 30104, 32768,
],
[
5945, 7663, 8348, 28683, 29117, 29749, 30064, 30298, 32238, 32768,
],
[
870, 1212, 1487, 31198, 31394, 31574, 31743, 31881, 32332, 32768,
],
];
pub static SKIP: [[u16; 2]; 3] = [[31671, 32768], [16515, 32768], [4576, 32768]];
pub static RESTORE_WIENER: [u16; 2] = [11570, 32768];
pub static PALETTE_Y_MODE: [[[u16; 2]; 3]; 7] = [
[[31676, 32768], [3419, 32768], [1261, 32768]],
[[31912, 32768], [2859, 32768], [980, 32768]],
[[31823, 32768], [3400, 32768], [781, 32768]],
[[32030, 32768], [3561, 32768], [904, 32768]],
[[32309, 32768], [7337, 32768], [1462, 32768]],
[[32265, 32768], [4015, 32768], [1521, 32768]],
[[32450, 32768], [7946, 32768], [129, 32768]],
];
pub static PALETTE_UV_MODE: [[u16; 2]; 2] = [[32461, 32768], [21488, 32768]];
pub static INTRA_TX_TYPE_SET2: [u16; 5] = [6554, 13107, 19661, 26214, 32768];
pub static INTRA_MODE_CONTEXT: [usize; 13] = [0, 1, 2, 3, 4, 4, 4, 4, 3, 0, 1, 2, 0];
pub static SM_WEIGHTS_4X4: [i32; 4] = [255, 149, 85, 64];
pub static SM_WEIGHTS_8X8: [i32; 8] = [255, 197, 146, 105, 73, 50, 37, 32];
pub static SM_WEIGHTS_16X16: [i32; 16] = [
255, 225, 196, 170, 145, 123, 102, 84, 68, 54, 43, 33, 26, 20, 17, 16,
];
pub static SM_WEIGHTS_32X32: [i32; 32] = [
255, 240, 225, 210, 196, 182, 169, 157, 145, 133, 122, 111, 101, 92, 83, 74, 66, 59, 52, 45,
39, 34, 29, 25, 21, 17, 14, 12, 10, 9, 8, 8,
];
pub static MODE_TO_ANGLE: [i32; 13] = [0, 90, 180, 45, 135, 113, 157, 203, 67, 0, 0, 0, 0];
pub static DR_INTRA_DERIVATIVE: [i32; 90] = [
0, 0, 0, 1023, 0, 0, 547, 0, 0, 372, 0, 0, 0, 0, 273, 0, 0, 215, 0, 0, 178, 0, 0, 151, 0, 0, 132, 0, 0, 116, 0, 0, 102, 0, 0, 0, 90, 0, 0, 80, 0, 0, 71, 0, 0, 64, 0, 0, 57, 0, 0, 51, 0, 0, 45, 0, 0, 0, 40, 0, 0, 35, 0, 0, 31, 0, 0, 27, 0, 0, 23, 0, 0, 19, 0, 0, 15, 0, 0, 0, 0, 11, 0, 0, 7, 0, 0, 3, 0, 0, ];
pub static ANGLE_DELTA: [[u16; 7]; 8] = [
[2180, 5032, 7567, 22776, 26989, 30217, 32768], [2301, 5608, 8801, 23487, 26974, 30330, 32768], [3780, 11018, 13699, 19354, 23083, 31286, 32768], [4581, 11226, 15147, 17138, 21834, 28397, 32768], [1737, 10927, 14509, 19588, 22745, 28823, 32768], [2664, 10176, 12485, 17650, 21600, 30495, 32768], [2240, 11096, 15453, 20341, 22561, 28917, 32768], [3605, 10428, 12459, 17676, 21244, 30655, 32768], ];
pub static FILTER_INTRA_4X4: [u16; 2] = [4621, 32768];
pub static FILTER_INTRA_8X8: [u16; 2] = [7866, 32768];
pub static FILTER_INTRA_16X16: [u16; 2] = [12408, 32768];
pub static FILTER_INTRA_32X32: [u16; 2] = [22343, 32768];
pub static FILTER_INTRA_MODE: [u16; 5] = [8949, 12776, 17211, 29558, 32768];
pub static TX_SIZE_8X8: [[u16; 2]; 3] = [[19968, 32768], [19968, 32768], [24320, 32768]];
pub static TX_SIZE_16X16: [[u16; 3]; 3] = [
[12272, 30172, 32768],
[12272, 30172, 32768],
[18677, 30848, 32768],
];
pub static TX_SIZE_32X32: [[u16; 3]; 3] = [
[12986, 15180, 32768],
[12986, 15180, 32768],
[24302, 25602, 32768],
];
pub static TX_SIZE_64X64: [[u16; 3]; 3] = [
[5782, 11475, 32768],
[5782, 11475, 32768],
[16803, 22759, 32768],
];
pub static DELTA_Q: [u16; 4] = [28160, 32120, 32677, 32768];
pub static DELTA_LF: [u16; 4] = [28160, 32120, 32677, 32768];
pub static INTRA_FILTER_TAPS: [[[i8; 7]; 8]; 5] = [
[
[-6, 10, 0, 0, 0, 12, 0],
[-5, 2, 10, 0, 0, 9, 0],
[-3, 1, 1, 10, 0, 7, 0],
[-3, 1, 1, 2, 10, 5, 0],
[-4, 6, 0, 0, 0, 2, 12],
[-3, 2, 6, 0, 0, 2, 9],
[-3, 2, 2, 6, 0, 2, 7],
[-3, 1, 2, 2, 6, 3, 5],
],
[
[-10, 16, 0, 0, 0, 10, 0],
[-6, 0, 16, 0, 0, 6, 0],
[-4, 0, 0, 16, 0, 4, 0],
[-2, 0, 0, 0, 16, 2, 0],
[-10, 16, 0, 0, 0, 0, 10],
[-6, 0, 16, 0, 0, 0, 6],
[-4, 0, 0, 16, 0, 0, 4],
[-2, 0, 0, 0, 16, 0, 2],
],
[
[-8, 8, 0, 0, 0, 16, 0],
[-8, 0, 8, 0, 0, 16, 0],
[-8, 0, 0, 8, 0, 16, 0],
[-8, 0, 0, 0, 8, 16, 0],
[-4, 4, 0, 0, 0, 0, 16],
[-4, 0, 4, 0, 0, 0, 16],
[-4, 0, 0, 4, 0, 0, 16],
[-4, 0, 0, 0, 4, 0, 16],
],
[
[-2, 8, 0, 0, 0, 10, 0],
[-1, 3, 8, 0, 0, 6, 0],
[-1, 2, 3, 8, 0, 4, 0],
[0, 1, 2, 3, 8, 2, 0],
[-1, 4, 0, 0, 0, 3, 10],
[-1, 3, 4, 0, 0, 4, 6],
[-1, 2, 3, 4, 0, 4, 4],
[-1, 2, 2, 3, 4, 3, 3],
],
[
[-12, 14, 0, 0, 0, 14, 0],
[-10, 0, 14, 0, 0, 12, 0],
[-9, 0, 0, 14, 0, 11, 0],
[-8, 0, 0, 0, 14, 10, 0],
[-10, 12, 0, 0, 0, 0, 14],
[-9, 1, 12, 0, 0, 0, 12],
[-8, 0, 0, 12, 0, 1, 11],
[-7, 0, 0, 1, 12, 1, 9],
],
];
pub static INTRA_FRAME_Y_MODE: [[[u16; 13]; 5]; 5] = [
[
[
15588, 17027, 19338, 20218, 20682, 21110, 21825, 23244, 24189, 28165, 29093, 30466,
32768,
],
[
12016, 18066, 19516, 20303, 20719, 21444, 21888, 23032, 24434, 28658, 30172, 31409,
32768,
],
[
10052, 10771, 22296, 22788, 23055, 23239, 24133, 25620, 26160, 29336, 29929, 31567,
32768,
],
[
14091, 15406, 16442, 18808, 19136, 19546, 19998, 22096, 24746, 29585, 30958, 32462,
32768,
],
[
12122, 13265, 15603, 16501, 18609, 20033, 22391, 25583, 26437, 30261, 31073, 32475,
32768,
],
],
[
[
10023, 19585, 20848, 21440, 21832, 22760, 23089, 24023, 25381, 29014, 30482, 31436,
32768,
],
[
5983, 24099, 24560, 24886, 25066, 25795, 25913, 26423, 27610, 29905, 31276, 31794,
32768,
],
[
7444, 12781, 20177, 20728, 21077, 21607, 22170, 23405, 24469, 27915, 29090, 30492,
32768,
],
[
8537, 14689, 15432, 17087, 17408, 18172, 18408, 19825, 24649, 29153, 31096, 32210,
32768,
],
[
7543, 14231, 15496, 16195, 17905, 20717, 21984, 24516, 26001, 29675, 30981, 31994,
32768,
],
],
[
[
12613, 13591, 21383, 22004, 22312, 22577, 23401, 25055, 25729, 29538, 30305, 32077,
32768,
],
[
9687, 13470, 18506, 19230, 19604, 20147, 20695, 22062, 23219, 27743, 29211, 30907,
32768,
],
[
6183, 6505, 26024, 26252, 26366, 26434, 27082, 28354, 28555, 30467, 30794, 32086, 32768,
],
[
10718, 11734, 14954, 17224, 17565, 17924, 18561, 21523, 23878, 28975, 30287, 32252,
32768,
],
[
9194, 9858, 16501, 17263, 18424, 19171, 21563, 25961, 26561, 30072, 30737, 32463, 32768,
],
],
[
[
12602, 14399, 15488, 18381, 18778, 19315, 19724, 21419, 25060, 29696, 30917, 32409,
32768,
],
[
8203, 13821, 14524, 17105, 17439, 18131, 18404, 19468, 25225, 29485, 31158, 32342,
32768,
],
[
8451, 9731, 15004, 17643, 18012, 18425, 19070, 21538, 24605, 29118, 30078, 32018, 32768,
],
[
7714, 9048, 9516, 16667, 16817, 16994, 17153, 18767, 26743, 30389, 31536, 32528, 32768,
],
[
8843, 10280, 11496, 15317, 16652, 17943, 19108, 22718, 25769, 29953, 30983, 32485,
32768,
],
],
[
[
12578, 13671, 15979, 16834, 19075, 20913, 22989, 25449, 26219, 30214, 31150, 32477,
32768,
],
[
9563, 13626, 15080, 15892, 17756, 20863, 22207, 24236, 25380, 29653, 31143, 32277,
32768,
],
[
8356, 8901, 17616, 18256, 19350, 20106, 22598, 25947, 26466, 29900, 30523, 32261, 32768,
],
[
10835, 11815, 13124, 16042, 17018, 18039, 18947, 22753, 24615, 29489, 30883, 32482,
32768,
],
[
7618, 8288, 9859, 10509, 15386, 18657, 22903, 28776, 29180, 31355, 31802, 32593, 32768,
],
],
];
pub static CFL_SIGN: [u16; 8] = [1418, 2123, 13340, 18405, 26972, 28343, 32294, 32768];
pub static CFL_ALPHA: [[u16; 16]; 6] = [
[
7637, 20719, 31401, 32481, 32657, 32688, 32692, 32696, 32700, 32704, 32708, 32712, 32716,
32720, 32724, 32768,
],
[
14365, 23603, 28135, 31168, 32167, 32395, 32487, 32573, 32620, 32647, 32668, 32672, 32676,
32680, 32684, 32768,
],
[
11532, 22380, 28445, 31360, 32349, 32523, 32584, 32649, 32673, 32677, 32681, 32685, 32689,
32693, 32697, 32768,
],
[
26990, 31402, 32282, 32571, 32692, 32696, 32700, 32704, 32708, 32712, 32716, 32720, 32724,
32728, 32732, 32768,
],
[
17248, 26058, 28904, 30608, 31305, 31877, 32126, 32321, 32394, 32464, 32516, 32560, 32576,
32593, 32622, 32768,
],
[
14738, 21678, 25779, 27901, 29024, 30302, 30980, 31843, 32144, 32413, 32520, 32594, 32622,
32656, 32660, 32768,
],
];
pub static UV_MODE_CFL_NOT_ALLOWED: [[u16; 13]; 13] = [
[
22631, 24152, 25378, 25661, 25986, 26520, 27055, 27923, 28244, 30059, 30941, 31961, 32768,
],
[
9513, 26881, 26973, 27046, 27118, 27664, 27739, 27824, 28359, 29505, 29800, 31796, 32768,
],
[
9845, 9915, 28663, 28704, 28757, 28780, 29198, 29822, 29854, 30764, 31777, 32029, 32768,
],
[
13639, 13897, 14171, 25331, 25606, 25727, 25953, 27148, 28577, 30612, 31355, 32493, 32768,
],
[
9764, 9835, 9930, 9954, 25386, 27053, 27958, 28148, 28243, 31101, 31744, 32363, 32768,
],
[
11825, 13589, 13677, 13720, 15048, 29213, 29301, 29458, 29711, 31161, 31441, 32550, 32768,
],
[
14175, 14399, 16608, 16821, 17718, 17775, 28551, 30200, 30245, 31837, 32342, 32667, 32768,
],
[
12885, 13038, 14978, 15590, 15673, 15748, 16176, 29128, 29267, 30643, 31961, 32461, 32768,
],
[
12026, 13661, 13874, 15305, 15490, 15726, 15995, 16273, 28443, 30388, 30767, 32416, 32768,
],
[
19052, 19840, 20579, 20916, 21150, 21467, 21885, 22719, 23174, 28861, 30379, 32175, 32768,
],
[
18627, 19649, 20974, 21219, 21492, 21816, 22199, 23119, 23527, 27053, 31397, 32148, 32768,
],
[
17026, 19004, 19997, 20339, 20586, 21103, 21349, 21907, 22482, 25896, 26541, 31819, 32768,
],
[
12124, 13759, 14959, 14992, 15007, 15051, 15078, 15166, 15255, 15753, 16039, 16606, 32768,
],
];
pub static UV_MODE_CFL_ALLOWED: [[u16; 14]; 13] = [
[
10407, 11208, 12900, 13181, 13823, 14175, 14899, 15656, 15986, 20086, 20995, 22455, 24212,
32768,
],
[
4532, 19780, 20057, 20215, 20428, 21071, 21199, 21451, 22099, 24228, 24693, 27032, 29472,
32768,
],
[
5273, 5379, 20177, 20270, 20385, 20439, 20949, 21695, 21774, 23138, 24256, 24703, 26679,
32768,
],
[
6740, 7167, 7662, 14152, 14536, 14785, 15034, 16741, 18371, 21520, 22206, 23389, 24182,
32768,
],
[
4987, 5368, 5928, 6068, 19114, 20315, 21857, 22253, 22411, 24911, 25380, 26027, 26376,
32768,
],
[
5370, 6889, 7247, 7393, 9498, 21114, 21402, 21753, 21981, 24780, 25386, 26517, 27176, 32768,
],
[
4816, 4961, 7204, 7326, 8765, 8930, 20169, 20682, 20803, 23188, 23763, 24455, 24940, 32768,
],
[
6608, 6740, 8529, 9049, 9257, 9356, 9735, 18827, 19059, 22336, 23204, 23964, 24793, 32768,
],
[
5998, 7419, 7781, 8933, 9255, 9549, 9753, 10417, 18898, 22494, 23139, 24764, 25989, 32768,
],
[
10660, 11298, 12550, 12957, 13322, 13624, 14040, 15004, 15534, 20714, 21789, 23443, 24861,
32768,
],
[
10522, 11530, 12552, 12963, 13378, 13779, 14245, 15235, 15902, 20102, 22696, 23774, 25838,
32768,
],
[
10099, 10691, 12639, 13049, 13386, 13665, 14125, 15163, 15636, 19676, 20474, 23519, 25208,
32768,
],
[
3144, 5087, 7382, 7504, 7593, 7690, 7801, 8064, 8232, 9248, 9875, 10521, 29048, 32768,
],
];
pub static TXB_SKIP: [[[u16; 2]; 13]; 4] = [
[
[31849, 32768],
[5892, 32768],
[12112, 32768],
[21935, 32768],
[20289, 32768],
[27473, 32768],
[32487, 32768],
[7654, 32768],
[19473, 32768],
[29984, 32768],
[9961, 32768],
[30242, 32768],
[32117, 32768],
],
[
[30371, 32768],
[7570, 32768],
[13155, 32768],
[20751, 32768],
[20969, 32768],
[27067, 32768],
[32013, 32768],
[5495, 32768],
[17942, 32768],
[28280, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[29614, 32768],
[9068, 32768],
[12924, 32768],
[19538, 32768],
[17737, 32768],
[24619, 32768],
[30642, 32768],
[4119, 32768],
[16026, 32768],
[25657, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[26887, 32768],
[6729, 32768],
[10361, 32768],
[17442, 32768],
[15045, 32768],
[22478, 32768],
[29072, 32768],
[2713, 32768],
[11861, 32768],
[20773, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
];
pub static EOB_PT_16: [[[[u16; 5]; 2]; 2]; 4] = [
[
[
[840, 1039, 1980, 4895, 32768],
[370, 671, 1883, 4471, 32768],
],
[
[3247, 4950, 9688, 14563, 32768],
[1904, 3354, 7763, 14647, 32768],
],
],
[
[
[2125, 2551, 5165, 8946, 32768],
[513, 765, 1859, 6339, 32768],
],
[
[7637, 9498, 14259, 19108, 32768],
[2497, 4096, 8866, 16993, 32768],
],
],
[
[
[4016, 4897, 8881, 14968, 32768],
[716, 1105, 2646, 10056, 32768],
],
[
[11139, 13270, 18241, 23566, 32768],
[3192, 5032, 10297, 19755, 32768],
],
],
[
[
[6708, 8958, 14746, 22133, 32768],
[1222, 2074, 4783, 15410, 32768],
],
[
[19575, 21766, 26044, 29709, 32768],
[7297, 10767, 19273, 28194, 32768],
],
],
];
pub static EOB_EXTRA: [[[[u16; 2]; 9]; 2]; 4] = [
[
[
[16961, 32768],
[17223, 32768],
[7621, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[19069, 32768],
[22525, 32768],
[13377, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[17471, 32768],
[20223, 32768],
[11357, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[20335, 32768],
[21667, 32768],
[14818, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[18983, 32768],
[20512, 32768],
[14885, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[20090, 32768],
[19444, 32768],
[17286, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[20177, 32768],
[20789, 32768],
[20262, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[21416, 32768],
[20855, 32768],
[23410, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
];
pub static DC_SIGN: [[[u16; 2]; 3]; 2] = [
[[16000, 32768], [13056, 32768], [18816, 32768]],
[[15232, 32768], [12928, 32768], [17280, 32768]],
];
pub static COEFF_BASE_EOB: [[[[u16; 3]; 4]; 2]; 4] = [
[
[
[17837, 29055, 32768],
[29600, 31446, 32768],
[30844, 31878, 32768],
[24926, 28948, 32768],
],
[
[21365, 30026, 32768],
[30512, 32423, 32768],
[31658, 32621, 32768],
[29630, 31881, 32768],
],
],
[
[
[17560, 29888, 32768],
[29671, 31549, 32768],
[31007, 32056, 32768],
[27286, 30006, 32768],
],
[
[26594, 31212, 32768],
[31208, 32582, 32768],
[31835, 32637, 32768],
[30595, 32206, 32768],
],
],
[
[
[20092, 30774, 32768],
[30695, 32020, 32768],
[31131, 32103, 32768],
[28666, 30870, 32768],
],
[
[27258, 31095, 32768],
[31804, 32623, 32768],
[31763, 32528, 32768],
[31438, 32506, 32768],
],
],
[
[
[22497, 31198, 32768],
[31715, 32495, 32768],
[31606, 32337, 32768],
[30388, 31990, 32768],
],
[
[27877, 31584, 32768],
[32170, 32728, 32768],
[32155, 32688, 32768],
[32219, 32702, 32768],
],
],
];
pub static COEFF_BASE: [[[[u16; 4]; 42]; 2]; 4] = [
[
[
[4034, 8930, 12727, 32768],
[18082, 29741, 31877, 32768],
[12596, 26124, 30493, 32768],
[9446, 21118, 27005, 32768],
[6308, 15141, 21279, 32768],
[2463, 6357, 9783, 32768],
[20667, 30546, 31929, 32768],
[13043, 26123, 30134, 32768],
[8151, 18757, 24778, 32768],
[5255, 12839, 18632, 32768],
[2820, 7206, 11161, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[15736, 27553, 30604, 32768],
[11210, 23794, 28787, 32768],
[5947, 13874, 19701, 32768],
[4215, 9323, 13891, 32768],
[2833, 6462, 10059, 32768],
[19605, 30393, 31582, 32768],
[13523, 26252, 30248, 32768],
[8446, 18622, 24512, 32768],
[3818, 10343, 15974, 32768],
[1481, 4117, 6796, 32768],
[22649, 31302, 32190, 32768],
[14829, 27127, 30449, 32768],
[8313, 17702, 23304, 32768],
[3022, 8301, 12786, 32768],
[1536, 4412, 7184, 32768],
[22354, 29774, 31372, 32768],
[14723, 25472, 29214, 32768],
[6673, 13745, 18662, 32768],
[2068, 5766, 9322, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[6302, 16444, 21761, 32768],
[23040, 31538, 32475, 32768],
[15196, 28452, 31496, 32768],
[10020, 22946, 28514, 32768],
[6533, 16862, 23501, 32768],
[3538, 9816, 15076, 32768],
[24444, 31875, 32525, 32768],
[15881, 28924, 31635, 32768],
[9922, 22873, 28466, 32768],
[6527, 16966, 23691, 32768],
[4114, 11303, 17220, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[20201, 30770, 32209, 32768],
[14754, 28071, 31258, 32768],
[8378, 20186, 26517, 32768],
[5916, 15299, 21978, 32768],
[4268, 11583, 17901, 32768],
[24361, 32025, 32581, 32768],
[18673, 30105, 31943, 32768],
[10196, 22244, 27576, 32768],
[5495, 14349, 20417, 32768],
[2676, 7415, 11498, 32768],
[24678, 31958, 32585, 32768],
[18629, 29906, 31831, 32768],
[9364, 20724, 26315, 32768],
[4641, 12318, 18094, 32768],
[2758, 7387, 11579, 32768],
[25433, 31842, 32469, 32768],
[18795, 29289, 31411, 32768],
[7644, 17584, 23592, 32768],
[3408, 9014, 15047, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[6041, 11854, 15927, 32768],
[20326, 30905, 32251, 32768],
[14164, 26831, 30725, 32768],
[9760, 20647, 26585, 32768],
[6416, 14953, 21219, 32768],
[2966, 7151, 10891, 32768],
[23567, 31374, 32254, 32768],
[14978, 27416, 30946, 32768],
[9434, 20225, 26254, 32768],
[6658, 14558, 20535, 32768],
[3916, 8677, 12989, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[18088, 29545, 31587, 32768],
[13062, 25843, 30073, 32768],
[8940, 16827, 22251, 32768],
[7654, 13220, 17973, 32768],
[5733, 10316, 14456, 32768],
[22879, 31388, 32114, 32768],
[15215, 27993, 30955, 32768],
[9397, 19445, 24978, 32768],
[3442, 9813, 15344, 32768],
[1368, 3936, 6532, 32768],
[25494, 32033, 32406, 32768],
[16772, 27963, 30718, 32768],
[9419, 18165, 23260, 32768],
[2677, 7501, 11797, 32768],
[1516, 4344, 7170, 32768],
[26556, 31454, 32101, 32768],
[17128, 27035, 30108, 32768],
[8324, 15344, 20249, 32768],
[1903, 5696, 9469, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[8455, 19003, 24368, 32768],
[23563, 32021, 32604, 32768],
[16237, 29446, 31935, 32768],
[10724, 23999, 29358, 32768],
[6725, 17528, 24416, 32768],
[3927, 10927, 16825, 32768],
[26313, 32288, 32634, 32768],
[17430, 30095, 32095, 32768],
[11116, 24606, 29679, 32768],
[7195, 18384, 25269, 32768],
[4726, 12852, 19315, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[22822, 31648, 32483, 32768],
[16724, 29633, 31929, 32768],
[10261, 23033, 28725, 32768],
[7029, 17840, 24528, 32768],
[4867, 13886, 21502, 32768],
[25298, 31892, 32491, 32768],
[17809, 29330, 31512, 32768],
[9668, 21329, 26579, 32768],
[4774, 12956, 18976, 32768],
[2322, 7030, 11540, 32768],
[25472, 31920, 32543, 32768],
[17957, 29387, 31632, 32768],
[9196, 20593, 26400, 32768],
[4680, 12705, 19202, 32768],
[2917, 8456, 13436, 32768],
[26471, 32059, 32574, 32768],
[18458, 29783, 31909, 32768],
[8400, 19464, 25956, 32768],
[3812, 10973, 17206, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[8896, 16227, 20630, 32768],
[23629, 31782, 32527, 32768],
[15173, 27755, 31321, 32768],
[10158, 21233, 27382, 32768],
[6420, 14857, 21558, 32768],
[3269, 8155, 12646, 32768],
[24835, 32009, 32496, 32768],
[16509, 28421, 31579, 32768],
[10957, 21514, 27418, 32768],
[7881, 15930, 22096, 32768],
[5388, 10960, 15918, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[20745, 30773, 32093, 32768],
[15200, 27221, 30861, 32768],
[13032, 20873, 25667, 32768],
[12285, 18663, 23494, 32768],
[11563, 17481, 21489, 32768],
[26260, 31982, 32320, 32768],
[15397, 28083, 31100, 32768],
[9742, 19217, 24824, 32768],
[3261, 9629, 15362, 32768],
[1480, 4322, 7499, 32768],
[27599, 32256, 32460, 32768],
[16857, 27659, 30774, 32768],
[9551, 18290, 23748, 32768],
[3052, 8933, 14103, 32768],
[2021, 5910, 9787, 32768],
[29005, 32015, 32392, 32768],
[17677, 27694, 30863, 32768],
[9204, 17356, 23219, 32768],
[2403, 7516, 12814, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[10808, 22056, 26896, 32768],
[25739, 32313, 32676, 32768],
[17288, 30203, 32221, 32768],
[11359, 24878, 29896, 32768],
[6949, 17767, 24893, 32768],
[4287, 11796, 18071, 32768],
[27880, 32521, 32705, 32768],
[19038, 31004, 32414, 32768],
[12564, 26345, 30768, 32768],
[8269, 19947, 26779, 32768],
[5674, 14657, 21674, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[25742, 32319, 32671, 32768],
[19557, 31164, 32454, 32768],
[13381, 26381, 30755, 32768],
[10101, 21466, 26722, 32768],
[9209, 19650, 26825, 32768],
[27107, 31917, 32432, 32768],
[18056, 28893, 31203, 32768],
[10200, 21434, 26764, 32768],
[4660, 12913, 19502, 32768],
[2368, 6930, 12504, 32768],
[26960, 32158, 32613, 32768],
[18628, 30005, 32031, 32768],
[10233, 22442, 28232, 32768],
[5471, 14630, 21516, 32768],
[3235, 10767, 17109, 32768],
[27696, 32440, 32692, 32768],
[20032, 31167, 32438, 32768],
[8700, 21341, 28442, 32768],
[5662, 14831, 21795, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[7062, 16472, 22319, 32768],
[24538, 32261, 32674, 32768],
[13675, 28041, 31779, 32768],
[8590, 20674, 27631, 32768],
[5685, 14675, 22013, 32768],
[3655, 9898, 15731, 32768],
[26493, 32418, 32658, 32768],
[16376, 29342, 32090, 32768],
[10594, 22649, 28970, 32768],
[8176, 17170, 24303, 32768],
[5605, 12694, 19139, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[23888, 31902, 32542, 32768],
[18612, 29687, 31987, 32768],
[16245, 24852, 29249, 32768],
[15765, 22608, 27559, 32768],
[19895, 24699, 27510, 32768],
[28401, 32212, 32457, 32768],
[15274, 27825, 30980, 32768],
[9364, 18128, 24332, 32768],
[2283, 8193, 15082, 32768],
[1228, 3972, 7881, 32768],
[29455, 32469, 32620, 32768],
[17981, 28245, 31388, 32768],
[10921, 20098, 26240, 32768],
[3743, 11829, 18657, 32768],
[2374, 9593, 15715, 32768],
[31068, 32466, 32635, 32768],
[20321, 29572, 31971, 32768],
[10771, 20255, 27119, 32768],
[2795, 10410, 17361, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[9320, 22102, 27840, 32768],
[27057, 32464, 32724, 32768],
[16331, 30268, 32309, 32768],
[10319, 23935, 29720, 32768],
[6189, 16448, 24106, 32768],
[3589, 10884, 18808, 32768],
[29026, 32624, 32748, 32768],
[19226, 31507, 32587, 32768],
[12692, 26921, 31203, 32768],
[7049, 19532, 27635, 32768],
[7727, 15669, 23252, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[28056, 32625, 32748, 32768],
[22383, 32075, 32669, 32768],
[15417, 27098, 31749, 32768],
[18127, 26493, 27190, 32768],
[5461, 16384, 21845, 32768],
[27982, 32091, 32584, 32768],
[19045, 29868, 31972, 32768],
[10397, 22266, 27932, 32768],
[5990, 13697, 21500, 32768],
[1792, 6912, 15104, 32768],
[28198, 32501, 32718, 32768],
[21534, 31521, 32569, 32768],
[11109, 25217, 30017, 32768],
[5671, 15124, 26151, 32768],
[4681, 14043, 18725, 32768],
[28688, 32580, 32741, 32768],
[22576, 32079, 32661, 32768],
[10627, 22141, 28340, 32768],
[9362, 14043, 28087, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
];
pub static COEFF_BR: [[[[u16; 4]; 21]; 2]; 4] = [
[
[
[14298, 20718, 24174, 32768],
[12536, 19601, 23789, 32768],
[8712, 15051, 19503, 32768],
[6170, 11327, 15434, 32768],
[4742, 8926, 12538, 32768],
[3803, 7317, 10546, 32768],
[1696, 3317, 4871, 32768],
[14392, 19951, 22756, 32768],
[15978, 23218, 26818, 32768],
[12187, 19474, 23889, 32768],
[9176, 15640, 20259, 32768],
[7068, 12655, 17028, 32768],
[5656, 10442, 14472, 32768],
[2580, 4992, 7244, 32768],
[12136, 18049, 21426, 32768],
[13784, 20721, 24481, 32768],
[10836, 17621, 21900, 32768],
[8372, 14444, 18847, 32768],
[6523, 11779, 16000, 32768],
[5337, 9898, 13760, 32768],
[3034, 5860, 8462, 32768],
],
[
[15967, 22905, 26286, 32768],
[13534, 20654, 24579, 32768],
[9504, 16092, 20535, 32768],
[6975, 12568, 16903, 32768],
[5364, 10091, 14020, 32768],
[4357, 8370, 11857, 32768],
[2506, 4934, 7218, 32768],
[23032, 28815, 30936, 32768],
[19540, 26704, 29719, 32768],
[15158, 22969, 27097, 32768],
[11408, 18865, 23650, 32768],
[8885, 15448, 20250, 32768],
[7108, 12853, 17416, 32768],
[4231, 8041, 11480, 32768],
[19823, 26490, 29156, 32768],
[18890, 25929, 28932, 32768],
[15660, 23491, 27433, 32768],
[12147, 19776, 24488, 32768],
[9728, 16774, 21649, 32768],
[7919, 14277, 19066, 32768],
[5440, 10170, 14185, 32768],
],
],
[
[
[14995, 21341, 24749, 32768],
[13158, 20289, 24601, 32768],
[8941, 15326, 19876, 32768],
[6297, 11541, 15807, 32768],
[4817, 9029, 12776, 32768],
[3731, 7273, 10627, 32768],
[1847, 3617, 5354, 32768],
[14472, 19659, 22343, 32768],
[16806, 24162, 27533, 32768],
[12900, 20404, 24713, 32768],
[9411, 16112, 20797, 32768],
[7056, 12697, 17148, 32768],
[5544, 10339, 14460, 32768],
[2954, 5704, 8319, 32768],
[12464, 18071, 21354, 32768],
[15482, 22528, 26034, 32768],
[12070, 19269, 23624, 32768],
[8953, 15406, 20106, 32768],
[7027, 12730, 17220, 32768],
[5887, 10913, 15140, 32768],
[3793, 7278, 10447, 32768],
],
[
[15571, 22232, 25749, 32768],
[14506, 21575, 25374, 32768],
[10189, 17089, 21569, 32768],
[7316, 13301, 17915, 32768],
[5783, 10912, 15190, 32768],
[4760, 9155, 13088, 32768],
[2993, 5966, 8774, 32768],
[23424, 28903, 30778, 32768],
[20775, 27666, 30290, 32768],
[16474, 24410, 28299, 32768],
[12471, 20180, 24987, 32768],
[9410, 16487, 21439, 32768],
[7536, 13614, 18529, 32768],
[5048, 9586, 13549, 32768],
[21090, 27290, 29756, 32768],
[20796, 27402, 30026, 32768],
[17819, 25485, 28969, 32768],
[13860, 21909, 26462, 32768],
[11002, 18494, 23529, 32768],
[8953, 15929, 20897, 32768],
[6448, 11918, 16454, 32768],
],
],
[
[
[16138, 22223, 25509, 32768],
[15347, 22430, 26332, 32768],
[9614, 16736, 21332, 32768],
[6600, 12275, 16907, 32768],
[4811, 9424, 13547, 32768],
[3748, 7809, 11420, 32768],
[2254, 4587, 6890, 32768],
[15196, 20284, 23177, 32768],
[18317, 25469, 28451, 32768],
[13918, 21651, 25842, 32768],
[10052, 17150, 21995, 32768],
[7499, 13630, 18587, 32768],
[6158, 11417, 16003, 32768],
[4014, 7785, 11252, 32768],
[15048, 21067, 24384, 32768],
[18202, 25346, 28553, 32768],
[14302, 22019, 26356, 32768],
[10839, 18139, 23166, 32768],
[8715, 15744, 20806, 32768],
[7536, 13576, 18544, 32768],
[5413, 10335, 14498, 32768],
],
[
[17394, 24501, 27895, 32768],
[15889, 23420, 27185, 32768],
[11561, 19133, 23870, 32768],
[8285, 14812, 19844, 32768],
[6496, 12043, 16550, 32768],
[4771, 9574, 13677, 32768],
[3603, 6830, 10144, 32768],
[21656, 27704, 30200, 32768],
[21324, 27915, 30511, 32768],
[17327, 25336, 28997, 32768],
[13417, 21381, 26033, 32768],
[10132, 17425, 22338, 32768],
[8580, 15016, 19633, 32768],
[5694, 11477, 16411, 32768],
[24116, 29780, 31450, 32768],
[23853, 29695, 31591, 32768],
[20085, 27614, 30428, 32768],
[15326, 24335, 28575, 32768],
[11814, 19472, 24810, 32768],
[10221, 18611, 24767, 32768],
[7689, 14558, 20321, 32768],
],
],
[
[
[18315, 24289, 27551, 32768],
[16854, 24068, 27835, 32768],
[10140, 17927, 23173, 32768],
[6722, 12982, 18267, 32768],
[4661, 9826, 14706, 32768],
[3832, 8165, 12294, 32768],
[2795, 6098, 9245, 32768],
[17145, 23326, 26672, 32768],
[20733, 27680, 30308, 32768],
[16032, 24461, 28546, 32768],
[11653, 20093, 25081, 32768],
[9290, 16429, 22086, 32768],
[7796, 14598, 19982, 32768],
[6502, 12378, 17441, 32768],
[21681, 27732, 30320, 32768],
[22389, 29044, 31261, 32768],
[19027, 26731, 30087, 32768],
[14739, 23755, 28624, 32768],
[11358, 20778, 25511, 32768],
[10995, 18073, 24190, 32768],
[9162, 14990, 20617, 32768],
],
[
[21425, 27952, 30388, 32768],
[18062, 25838, 29034, 32768],
[11956, 19881, 24808, 32768],
[7718, 15000, 20980, 32768],
[5702, 11254, 16143, 32768],
[4898, 9088, 16864, 32768],
[3679, 6776, 11907, 32768],
[23294, 30160, 31663, 32768],
[24397, 29896, 31836, 32768],
[19245, 27128, 30593, 32768],
[13202, 19825, 26404, 32768],
[11578, 19297, 23957, 32768],
[8073, 13297, 21370, 32768],
[5461, 10923, 19745, 32768],
[27367, 30521, 31934, 32768],
[24904, 30671, 31940, 32768],
[23075, 28460, 31299, 32768],
[14400, 23658, 30417, 32768],
[13885, 23882, 28325, 32768],
[14746, 22938, 27853, 32768],
[5461, 16384, 27307, 32768],
],
],
];
pub static DEFAULT_SCAN_4X4: [usize; 16] = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15];
pub static DEFAULT_SCAN_8X8: [usize; 64] = [
0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20,
13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59,
52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63,
];
pub static COEFF_BASE_CTX_OFFSET_4X4: [[u8; 5]; 5] = [
[0, 1, 6, 6, 0],
[1, 6, 6, 21, 0],
[6, 6, 21, 21, 0],
[6, 21, 21, 21, 0],
[0, 0, 0, 0, 0],
];
pub static COEFF_BASE_CTX_OFFSET_8X8: [[u8; 5]; 5] = [
[0, 1, 6, 6, 21],
[1, 6, 6, 21, 21],
[6, 6, 21, 21, 21],
[6, 21, 21, 21, 21],
[21, 21, 21, 21, 21],
];
pub static COEFF_BASE_CTX_OFFSET_WIDE: [[u8; 5]; 5] = [
[0, 16, 6, 6, 21],
[16, 16, 6, 21, 21],
[16, 16, 21, 21, 21],
[16, 16, 21, 21, 21],
[16, 16, 21, 21, 21],
];
pub static COEFF_BASE_CTX_OFFSET_TALL: [[u8; 5]; 5] = [
[0, 11, 11, 11, 11],
[11, 11, 11, 11, 11],
[6, 6, 21, 21, 21],
[6, 21, 21, 21, 21],
[21, 21, 21, 21, 21],
];
pub static SIG_REF_DIFF_OFFSET_2D: [(usize, usize); 5] = [(0, 1), (1, 0), (1, 1), (0, 2), (2, 0)];
pub static MAG_REF_OFFSET_2D: [(usize, usize); 3] = [(0, 1), (1, 0), (1, 1)];
pub static TXB_SKIP_8X8: [[[u16; 2]; 13]; 4] = [
[
[31548, 32768],
[1549, 32768],
[10130, 32768],
[16656, 32768],
[18591, 32768],
[26308, 32768],
[32537, 32768],
[5403, 32768],
[18096, 32768],
[30003, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[31782, 32768],
[1836, 32768],
[10689, 32768],
[17604, 32768],
[21622, 32768],
[27518, 32768],
[32399, 32768],
[4419, 32768],
[16294, 32768],
[28345, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[31957, 32768],
[3230, 32768],
[11153, 32768],
[18123, 32768],
[20143, 32768],
[26536, 32768],
[31986, 32768],
[3050, 32768],
[14603, 32768],
[25155, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[31903, 32768],
[2044, 32768],
[7528, 32768],
[14618, 32768],
[16182, 32768],
[24168, 32768],
[31037, 32768],
[2786, 32768],
[11194, 32768],
[20155, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
];
pub static EOB_PT_64: [[[[u16; 7]; 2]; 2]; 4] = [
[
[
[329, 498, 1101, 1784, 3265, 7758, 32768],
[335, 730, 1459, 5494, 8755, 12997, 32768],
],
[
[3505, 5304, 10086, 13814, 17684, 23370, 32768],
[1563, 2700, 4876, 10911, 14706, 22480, 32768],
],
],
[
[
[1260, 1446, 2253, 3712, 6652, 13369, 32768],
[401, 605, 1029, 2563, 5845, 12626, 32768],
],
[
[8609, 10612, 14624, 18714, 22614, 29024, 32768],
[1923, 3127, 5867, 9703, 14277, 27100, 32768],
],
],
[
[
[2374, 2772, 4583, 7276, 12288, 19706, 32768],
[497, 810, 1315, 3000, 7004, 15641, 32768],
],
[
[15050, 17126, 21410, 24886, 28156, 30726, 32768],
[4034, 6290, 10235, 14982, 21214, 28491, 32768],
],
],
[
[
[6307, 7541, 12060, 16358, 22553, 27865, 32768],
[1289, 2320, 3971, 7926, 14153, 24291, 32768],
],
[
[24212, 25708, 28268, 30035, 31307, 32049, 32768],
[8726, 12378, 19409, 26450, 30038, 32462, 32768],
],
],
];
pub static EOB_EXTRA_8X8: [[[[u16; 2]; 9]; 2]; 4] = [
[
[
[20401, 32768],
[17025, 32768],
[12845, 32768],
[12873, 32768],
[14094, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[20681, 32768],
[20701, 32768],
[15250, 32768],
[15017, 32768],
[14928, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[20430, 32768],
[20662, 32768],
[15367, 32768],
[16970, 32768],
[14657, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[22117, 32768],
[22028, 32768],
[18650, 32768],
[16042, 32768],
[15885, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[19139, 32768],
[21487, 32768],
[18959, 32768],
[20910, 32768],
[19089, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[20536, 32768],
[20664, 32768],
[20625, 32768],
[19123, 32768],
[14862, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[20238, 32768],
[21057, 32768],
[19159, 32768],
[22337, 32768],
[20159, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[20125, 32768],
[20559, 32768],
[21707, 32768],
[22296, 32768],
[17333, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
];
pub static COEFF_BASE_EOB_8X8: [[[[u16; 3]; 4]; 2]; 4] = [
[
[
[5717, 26477, 32768],
[30491, 31703, 32768],
[31550, 32158, 32768],
[29648, 31491, 32768],
],
[
[12608, 27820, 32768],
[30680, 32225, 32768],
[30809, 32335, 32768],
[31299, 32423, 32768],
],
],
[
[
[15239, 29932, 32768],
[31315, 32095, 32768],
[32130, 32434, 32768],
[30864, 31996, 32768],
],
[
[26279, 30968, 32768],
[31142, 32495, 32768],
[31713, 32540, 32768],
[31929, 32594, 32768],
],
],
[
[
[18049, 30489, 32768],
[31706, 32286, 32768],
[32163, 32473, 32768],
[31550, 32184, 32768],
],
[
[27116, 30842, 32768],
[31971, 32598, 32768],
[32088, 32576, 32768],
[32067, 32664, 32768],
],
],
[
[
[21457, 31043, 32768],
[31951, 32483, 32768],
[32153, 32562, 32768],
[31473, 32215, 32768],
],
[
[27558, 31151, 32768],
[32020, 32640, 32768],
[32097, 32575, 32768],
[32242, 32719, 32768],
],
],
];
pub static COEFF_BASE_8X8: [[[[u16; 4]; 42]; 2]; 4] = [
[
[
[4536, 10072, 14001, 32768],
[25459, 31416, 32206, 32768],
[16605, 28048, 30818, 32768],
[11008, 22857, 27719, 32768],
[6915, 16268, 22315, 32768],
[2625, 6812, 10537, 32768],
[24257, 31788, 32499, 32768],
[16880, 29454, 31879, 32768],
[11958, 25054, 29778, 32768],
[7916, 18718, 25084, 32768],
[3383, 8777, 13446, 32768],
[22720, 31603, 32393, 32768],
[14960, 28125, 31335, 32768],
[9731, 22210, 27928, 32768],
[6304, 15832, 22277, 32768],
[2910, 7818, 12166, 32768],
[20375, 30627, 32131, 32768],
[13904, 27284, 30887, 32768],
[9368, 21558, 27144, 32768],
[5937, 14966, 21119, 32768],
[2667, 7225, 11319, 32768],
[23970, 31470, 32378, 32768],
[17173, 29734, 32018, 32768],
[12795, 25441, 29965, 32768],
[8981, 19680, 25893, 32768],
[4728, 11372, 16902, 32768],
[24287, 31797, 32439, 32768],
[16703, 29145, 31696, 32768],
[10833, 23554, 28725, 32768],
[6468, 16566, 23057, 32768],
[2415, 6562, 10278, 32768],
[26610, 32395, 32659, 32768],
[18590, 30498, 32117, 32768],
[12420, 25756, 29950, 32768],
[7639, 18746, 24710, 32768],
[3001, 8086, 12347, 32768],
[25076, 32064, 32580, 32768],
[17946, 30128, 32028, 32768],
[12024, 24985, 29378, 32768],
[7517, 18390, 24304, 32768],
[3243, 8781, 13331, 32768],
[8192, 16384, 24576, 32768],
],
[
[6037, 16771, 21957, 32768],
[24774, 31704, 32426, 32768],
[16830, 28589, 31056, 32768],
[10602, 22828, 27760, 32768],
[6733, 16829, 23071, 32768],
[3250, 8914, 13556, 32768],
[25582, 32220, 32668, 32768],
[18659, 30342, 32223, 32768],
[12546, 26149, 30515, 32768],
[8420, 20451, 26801, 32768],
[4636, 12420, 18344, 32768],
[27581, 32362, 32639, 32768],
[18987, 30083, 31978, 32768],
[11327, 24248, 29084, 32768],
[7264, 17719, 24120, 32768],
[3995, 10768, 16169, 32768],
[25893, 31831, 32487, 32768],
[16577, 28587, 31379, 32768],
[10189, 22748, 28182, 32768],
[6832, 17094, 23556, 32768],
[3708, 10110, 15334, 32768],
[25904, 32282, 32656, 32768],
[19721, 30792, 32276, 32768],
[12819, 26243, 30411, 32768],
[8572, 20614, 26891, 32768],
[5364, 14059, 20467, 32768],
[26580, 32438, 32677, 32768],
[20852, 31225, 32340, 32768],
[12435, 25700, 29967, 32768],
[8691, 20825, 26976, 32768],
[4446, 12209, 17269, 32768],
[27350, 32429, 32696, 32768],
[21372, 30977, 32272, 32768],
[12673, 25270, 29853, 32768],
[9208, 20925, 26640, 32768],
[5018, 13351, 18732, 32768],
[27351, 32479, 32713, 32768],
[21398, 31209, 32387, 32768],
[12162, 25047, 29842, 32768],
[7896, 18691, 25319, 32768],
[4670, 12882, 18881, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[6779, 13743, 17678, 32768],
[24806, 31797, 32457, 32768],
[17616, 29047, 31372, 32768],
[11063, 23175, 28003, 32768],
[6521, 16110, 22324, 32768],
[2764, 7504, 11654, 32768],
[25266, 32367, 32637, 32768],
[19054, 30553, 32175, 32768],
[12139, 25212, 29807, 32768],
[7311, 18162, 24704, 32768],
[3397, 9164, 14074, 32768],
[25988, 32208, 32522, 32768],
[16253, 28912, 31526, 32768],
[9151, 21387, 27372, 32768],
[5688, 14915, 21496, 32768],
[2717, 7627, 12004, 32768],
[23144, 31855, 32443, 32768],
[16070, 28491, 31325, 32768],
[8702, 20467, 26517, 32768],
[5243, 13956, 20367, 32768],
[2621, 7335, 11567, 32768],
[26636, 32340, 32630, 32768],
[19990, 31050, 32341, 32768],
[13243, 26105, 30315, 32768],
[8588, 19521, 25918, 32768],
[4717, 11585, 17304, 32768],
[25844, 32292, 32582, 32768],
[19090, 30635, 32097, 32768],
[11963, 24546, 28939, 32768],
[6218, 16087, 22354, 32768],
[2340, 6608, 10426, 32768],
[28046, 32576, 32694, 32768],
[21178, 31313, 32296, 32768],
[13486, 26184, 29870, 32768],
[7149, 17871, 23723, 32768],
[2833, 7958, 12259, 32768],
[27710, 32528, 32686, 32768],
[20674, 31076, 32268, 32768],
[12413, 24955, 29243, 32768],
[6676, 16927, 23097, 32768],
[2966, 8333, 12919, 32768],
[8192, 16384, 24576, 32768],
],
[
[8639, 19339, 24429, 32768],
[24404, 31837, 32525, 32768],
[16997, 29425, 31784, 32768],
[11253, 24234, 29149, 32768],
[6751, 17394, 24028, 32768],
[3490, 9830, 15191, 32768],
[26283, 32471, 32714, 32768],
[19599, 31168, 32442, 32768],
[13146, 26954, 30893, 32768],
[8214, 20588, 26890, 32768],
[4699, 13081, 19300, 32768],
[28212, 32458, 32669, 32768],
[18594, 30316, 32100, 32768],
[11219, 24408, 29234, 32768],
[6865, 17656, 24149, 32768],
[3678, 10362, 16006, 32768],
[25825, 32136, 32616, 32768],
[17313, 29853, 32021, 32768],
[11197, 24471, 29472, 32768],
[6947, 17781, 24405, 32768],
[3768, 10660, 16261, 32768],
[27352, 32500, 32706, 32768],
[20850, 31468, 32469, 32768],
[14021, 27707, 31133, 32768],
[8964, 21748, 27838, 32768],
[5437, 14665, 21187, 32768],
[26304, 32492, 32698, 32768],
[20409, 31380, 32385, 32768],
[13682, 27222, 30632, 32768],
[8974, 21236, 26685, 32768],
[4234, 11665, 16934, 32768],
[26273, 32357, 32711, 32768],
[20672, 31242, 32441, 32768],
[14172, 27254, 30902, 32768],
[9870, 21898, 27275, 32768],
[5164, 13506, 19270, 32768],
[26725, 32459, 32728, 32768],
[20991, 31442, 32527, 32768],
[13071, 26434, 30811, 32768],
[8184, 20090, 26742, 32768],
[4803, 13255, 19895, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[9704, 17294, 21132, 32768],
[26762, 32278, 32633, 32768],
[18382, 29620, 31819, 32768],
[10891, 23475, 28723, 32768],
[6358, 16583, 23309, 32768],
[3248, 9118, 14141, 32768],
[27204, 32573, 32699, 32768],
[19818, 30824, 32329, 32768],
[11772, 25120, 30041, 32768],
[6995, 18033, 25039, 32768],
[3752, 10442, 16098, 32768],
[27222, 32256, 32559, 32768],
[15356, 28399, 31475, 32768],
[8821, 20635, 27057, 32768],
[5511, 14404, 21239, 32768],
[2935, 8222, 13051, 32768],
[24875, 32120, 32529, 32768],
[15233, 28265, 31445, 32768],
[8605, 20570, 26932, 32768],
[5431, 14413, 21196, 32768],
[2994, 8341, 13223, 32768],
[28201, 32604, 32700, 32768],
[21041, 31446, 32456, 32768],
[13221, 26213, 30475, 32768],
[8255, 19385, 26037, 32768],
[4930, 12585, 18830, 32768],
[28768, 32448, 32627, 32768],
[19705, 30561, 32021, 32768],
[11572, 23589, 28220, 32768],
[5532, 15034, 21446, 32768],
[2460, 7150, 11456, 32768],
[29874, 32619, 32699, 32768],
[21621, 31071, 32201, 32768],
[12511, 24747, 28992, 32768],
[6281, 16395, 22748, 32768],
[3246, 9278, 14497, 32768],
[29715, 32625, 32712, 32768],
[20958, 31011, 32283, 32768],
[11233, 23671, 28806, 32768],
[6012, 16128, 22868, 32768],
[3427, 9851, 15414, 32768],
[8192, 16384, 24576, 32768],
],
[
[11016, 22111, 26794, 32768],
[25946, 32357, 32677, 32768],
[17890, 30452, 32252, 32768],
[11678, 25142, 29816, 32768],
[6720, 17534, 24584, 32768],
[4230, 11665, 17820, 32768],
[28400, 32623, 32747, 32768],
[21164, 31668, 32575, 32768],
[13572, 27388, 31182, 32768],
[8234, 20750, 27358, 32768],
[5065, 14055, 20897, 32768],
[28981, 32547, 32705, 32768],
[18681, 30543, 32239, 32768],
[10919, 24075, 29286, 32768],
[6431, 17199, 24077, 32768],
[3819, 10464, 16618, 32768],
[26870, 32467, 32693, 32768],
[19041, 30831, 32347, 32768],
[11794, 25211, 30016, 32768],
[6888, 18019, 24970, 32768],
[4370, 12363, 18992, 32768],
[29578, 32670, 32744, 32768],
[23159, 32007, 32613, 32768],
[15315, 28669, 31676, 32768],
[9298, 22607, 28782, 32768],
[6144, 15913, 22968, 32768],
[28110, 32499, 32669, 32768],
[21574, 30937, 32015, 32768],
[12759, 24818, 28727, 32768],
[6545, 16761, 23042, 32768],
[3649, 10597, 16833, 32768],
[28163, 32552, 32728, 32768],
[22101, 31469, 32464, 32768],
[13160, 25472, 30143, 32768],
[7303, 18684, 25468, 32768],
[5241, 13975, 20955, 32768],
[28400, 32631, 32744, 32768],
[22104, 31793, 32603, 32768],
[13557, 26571, 30846, 32768],
[7749, 19861, 26675, 32768],
[4873, 14030, 21234, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[7754, 16948, 22142, 32768],
[25670, 32330, 32691, 32768],
[15663, 29225, 31994, 32768],
[9878, 23288, 29158, 32768],
[6419, 17088, 24336, 32768],
[3859, 11003, 17039, 32768],
[27562, 32595, 32725, 32768],
[17575, 30588, 32399, 32768],
[10819, 24838, 30309, 32768],
[7124, 18686, 25916, 32768],
[4479, 12688, 19340, 32768],
[28385, 32476, 32673, 32768],
[15306, 29005, 31938, 32768],
[8937, 21615, 28322, 32768],
[5982, 15603, 22786, 32768],
[3620, 10267, 16136, 32768],
[27280, 32464, 32667, 32768],
[15607, 29160, 32004, 32768],
[9091, 22135, 28740, 32768],
[6232, 16632, 24020, 32768],
[4047, 11377, 17672, 32768],
[29220, 32630, 32718, 32768],
[19650, 31220, 32462, 32768],
[13050, 26312, 30827, 32768],
[9228, 20870, 27468, 32768],
[6146, 15149, 21971, 32768],
[30169, 32481, 32623, 32768],
[17212, 29311, 31554, 32768],
[9911, 21311, 26882, 32768],
[4487, 13314, 20372, 32768],
[2570, 7772, 12889, 32768],
[30924, 32613, 32708, 32768],
[19490, 30206, 32107, 32768],
[11232, 23998, 29276, 32768],
[6769, 17955, 25035, 32768],
[4398, 12623, 19214, 32768],
[30609, 32627, 32722, 32768],
[19370, 30582, 32287, 32768],
[10457, 23619, 29409, 32768],
[6443, 17637, 24834, 32768],
[4645, 13236, 20106, 32768],
[8192, 16384, 24576, 32768],
],
[
[8626, 20271, 26216, 32768],
[26707, 32406, 32711, 32768],
[16999, 30329, 32286, 32768],
[11445, 25123, 30286, 32768],
[6411, 18828, 25601, 32768],
[6801, 12458, 20248, 32768],
[29918, 32682, 32748, 32768],
[20649, 31739, 32618, 32768],
[12879, 27773, 31581, 32768],
[7896, 21751, 28244, 32768],
[5260, 14870, 23698, 32768],
[29252, 32593, 32731, 32768],
[17072, 30460, 32294, 32768],
[10653, 24143, 29365, 32768],
[6536, 17490, 23983, 32768],
[4929, 13170, 20085, 32768],
[28137, 32518, 32715, 32768],
[18171, 30784, 32407, 32768],
[11437, 25436, 30459, 32768],
[7252, 18534, 26176, 32768],
[4126, 13353, 20978, 32768],
[31162, 32726, 32748, 32768],
[23017, 32222, 32701, 32768],
[15629, 29233, 32046, 32768],
[9387, 22621, 29480, 32768],
[6922, 17616, 25010, 32768],
[28838, 32265, 32614, 32768],
[19701, 30206, 31920, 32768],
[11214, 22410, 27933, 32768],
[5320, 14177, 23034, 32768],
[5049, 12881, 17827, 32768],
[27484, 32471, 32734, 32768],
[21076, 31526, 32561, 32768],
[12707, 26303, 31211, 32768],
[8169, 21722, 28219, 32768],
[6045, 19406, 27042, 32768],
[27753, 32572, 32745, 32768],
[20832, 31878, 32653, 32768],
[13250, 27356, 31674, 32768],
[7718, 21508, 29858, 32768],
[7209, 18350, 25559, 32768],
[8192, 16384, 24576, 32768],
],
],
];
pub static COEFF_BR_8X8: [[[[u16; 4]; 21]; 2]; 4] = [
[
[
[14406, 20862, 24414, 32768],
[11824, 18907, 23109, 32768],
[8257, 14393, 18803, 32768],
[5860, 10747, 14778, 32768],
[4475, 8486, 11984, 32768],
[3606, 6954, 10043, 32768],
[1736, 3410, 5048, 32768],
[14430, 20046, 22882, 32768],
[15593, 22899, 26709, 32768],
[12102, 19368, 23811, 32768],
[9059, 15584, 20262, 32768],
[6999, 12603, 17048, 32768],
[5684, 10497, 14553, 32768],
[2822, 5438, 7862, 32768],
[15785, 21585, 24359, 32768],
[18347, 25229, 28266, 32768],
[14974, 22487, 26389, 32768],
[11423, 18681, 23271, 32768],
[8863, 15350, 20008, 32768],
[7153, 12852, 17278, 32768],
[3707, 7036, 9982, 32768],
],
[
[15460, 21696, 25469, 32768],
[12170, 19249, 23191, 32768],
[8723, 15027, 19332, 32768],
[6428, 11704, 15874, 32768],
[4922, 9292, 13052, 32768],
[4139, 7695, 11010, 32768],
[2291, 4508, 6598, 32768],
[19856, 26920, 29828, 32768],
[17923, 25289, 28792, 32768],
[14278, 21968, 26297, 32768],
[10910, 18136, 22950, 32768],
[8423, 14815, 19627, 32768],
[6771, 12283, 16774, 32768],
[4074, 7750, 11081, 32768],
[19852, 26074, 28672, 32768],
[19371, 26110, 28989, 32768],
[16265, 23873, 27663, 32768],
[12758, 20378, 24952, 32768],
[10095, 17098, 21961, 32768],
[8250, 14628, 19451, 32768],
[5205, 9745, 13622, 32768],
],
],
[
[
[15999, 22208, 25449, 32768],
[13050, 19988, 24122, 32768],
[8594, 14864, 19378, 32768],
[6033, 11079, 15238, 32768],
[4554, 8683, 12347, 32768],
[3672, 7139, 10337, 32768],
[1900, 3771, 5576, 32768],
[15788, 21340, 23949, 32768],
[16825, 24235, 27758, 32768],
[12873, 20402, 24810, 32768],
[9590, 16363, 21094, 32768],
[7352, 13209, 17733, 32768],
[5960, 10989, 15184, 32768],
[3232, 6234, 9007, 32768],
[15761, 20716, 23224, 32768],
[19318, 25989, 28759, 32768],
[15529, 23094, 26929, 32768],
[11662, 18989, 23641, 32768],
[8955, 15568, 20366, 32768],
[7281, 13106, 17708, 32768],
[4248, 8059, 11440, 32768],
],
[
[14899, 21217, 24503, 32768],
[13519, 20283, 24047, 32768],
[9429, 15966, 20365, 32768],
[6700, 12355, 16652, 32768],
[5088, 9704, 13716, 32768],
[4243, 8154, 11731, 32768],
[2702, 5364, 7861, 32768],
[22745, 28388, 30454, 32768],
[20235, 27146, 29922, 32768],
[15896, 23715, 27637, 32768],
[11840, 19350, 24131, 32768],
[9122, 15932, 20880, 32768],
[7488, 13581, 18362, 32768],
[5114, 9568, 13370, 32768],
[20845, 26553, 28932, 32768],
[20981, 27372, 29884, 32768],
[17781, 25335, 28785, 32768],
[13760, 21708, 26297, 32768],
[10975, 18415, 23365, 32768],
[9045, 15789, 20686, 32768],
[6130, 11199, 15423, 32768],
],
],
[
[
[16214, 22380, 25770, 32768],
[14213, 21304, 25295, 32768],
[9213, 15823, 20455, 32768],
[6395, 11758, 16139, 32768],
[4779, 9187, 13066, 32768],
[3821, 7501, 10953, 32768],
[2293, 4567, 6795, 32768],
[15859, 21283, 23820, 32768],
[18404, 25602, 28726, 32768],
[14325, 21980, 26206, 32768],
[10669, 17937, 22720, 32768],
[8297, 14642, 19447, 32768],
[6746, 12389, 16893, 32768],
[4324, 8251, 11770, 32768],
[16532, 21631, 24475, 32768],
[20667, 27150, 29668, 32768],
[16728, 24510, 28175, 32768],
[12861, 20645, 25332, 32768],
[10076, 17361, 22417, 32768],
[8395, 14940, 19963, 32768],
[5731, 10683, 14912, 32768],
],
[
[14433, 21155, 24938, 32768],
[14658, 21716, 25545, 32768],
[9923, 16824, 21557, 32768],
[6982, 13052, 17721, 32768],
[5419, 10503, 15050, 32768],
[4852, 9162, 13014, 32768],
[3271, 6395, 9630, 32768],
[22210, 27833, 30109, 32768],
[20750, 27368, 29821, 32768],
[16894, 24828, 28573, 32768],
[13247, 21276, 25757, 32768],
[10038, 17265, 22563, 32768],
[8587, 14947, 20327, 32768],
[5645, 11371, 15252, 32768],
[22027, 27526, 29714, 32768],
[23098, 29146, 31221, 32768],
[19886, 27341, 30272, 32768],
[15609, 23747, 28046, 32768],
[11993, 20065, 24939, 32768],
[9637, 18267, 23671, 32768],
[7625, 13801, 19144, 32768],
],
],
[
[
[18274, 24813, 27890, 32768],
[15537, 23149, 27003, 32768],
[9449, 16740, 21827, 32768],
[6700, 12498, 17261, 32768],
[4988, 9866, 14198, 32768],
[4236, 8147, 11902, 32768],
[2867, 5860, 8654, 32768],
[17124, 23171, 26101, 32768],
[20396, 27477, 30148, 32768],
[16573, 24629, 28492, 32768],
[12749, 20846, 25674, 32768],
[10233, 17878, 22818, 32768],
[8525, 15332, 20363, 32768],
[6283, 11632, 16255, 32768],
[20466, 26511, 29286, 32768],
[23059, 29174, 31191, 32768],
[19481, 27263, 30241, 32768],
[15458, 23631, 28137, 32768],
[12416, 20608, 25693, 32768],
[10261, 18011, 23261, 32768],
[8016, 14655, 19666, 32768],
],
[
[17616, 24586, 28112, 32768],
[15809, 23299, 27155, 32768],
[10767, 18890, 23793, 32768],
[7727, 14255, 18865, 32768],
[6129, 11926, 16882, 32768],
[4482, 9704, 14861, 32768],
[3277, 7452, 11522, 32768],
[22956, 28551, 30730, 32768],
[22724, 28937, 30961, 32768],
[18467, 26324, 29580, 32768],
[13234, 20713, 25649, 32768],
[11181, 17592, 22481, 32768],
[8291, 18358, 24576, 32768],
[7568, 11881, 14984, 32768],
[24948, 29001, 31147, 32768],
[25674, 30619, 32151, 32768],
[20841, 26793, 29603, 32768],
[14669, 24356, 28666, 32768],
[11334, 23593, 28219, 32768],
[8922, 14762, 22873, 32768],
[8301, 13544, 20535, 32768],
],
],
];
pub static TXB_SKIP_16X16: [[[u16; 2]; 13]; 4] = [
[
[29957, 32768],
[5391, 32768],
[18039, 32768],
[23566, 32768],
[22431, 32768],
[25822, 32768],
[32197, 32768],
[3778, 32768],
[15336, 32768],
[28981, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[31901, 32768],
[10311, 32768],
[18047, 32768],
[24806, 32768],
[23288, 32768],
[27914, 32768],
[32296, 32768],
[4215, 32768],
[15756, 32768],
[28341, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[32363, 32768],
[10692, 32768],
[19090, 32768],
[24357, 32768],
[24442, 32768],
[28312, 32768],
[32169, 32768],
[3648, 32768],
[15690, 32768],
[26815, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[32510, 32768],
[8430, 32768],
[17318, 32768],
[24154, 32768],
[23674, 32768],
[28789, 32768],
[32139, 32768],
[3440, 32768],
[13117, 32768],
[22702, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
];
pub static EOB_PT_256: [[[[u16; 9]; 2]; 2]; 4] = [
[
[
[310, 584, 1887, 3589, 6168, 8611, 11352, 15652, 32768],
[998, 1850, 2998, 5604, 17341, 19888, 22899, 25583, 32768],
],
[
[2520, 3240, 5952, 8870, 12577, 17558, 19954, 24168, 32768],
[2203, 4130, 7435, 10739, 20652, 23681, 25609, 27261, 32768],
],
],
[
[
[1448, 2109, 4151, 6263, 9329, 13260, 17944, 23300, 32768],
[399, 1019, 1749, 3038, 10444, 15546, 22739, 27294, 32768],
],
[
[6402, 8148, 12623, 15072, 18728, 22847, 26447, 29377, 32768],
[1674, 3252, 5734, 10159, 22397, 23802, 24821, 30940, 32768],
],
],
[
[
[3089, 3920, 6038, 9460, 14266, 19881, 25766, 29176, 32768],
[1084, 2358, 3488, 5122, 11483, 18103, 26023, 29799, 32768],
],
[
[
11514, 13794, 17480, 20754, 24361, 27378, 29492, 31277, 32768,
],
[6571, 9610, 15516, 21826, 29092, 30829, 31842, 32708, 32768],
],
],
[
[
[5348, 7113, 11820, 15924, 22106, 26777, 30334, 31757, 32768],
[2453, 4474, 6307, 8777, 16474, 22975, 29000, 31547, 32768],
],
[
[
23110, 24597, 27140, 28894, 30167, 30927, 31392, 32094, 32768,
],
[9998, 17661, 25178, 28097, 31308, 32038, 32403, 32695, 32768],
],
],
];
pub static EOB_EXTRA_16X16: [[[[u16; 2]; 9]; 2]; 4] = [
[
[
[23905, 32768],
[17194, 32768],
[16170, 32768],
[17695, 32768],
[13826, 32768],
[15810, 32768],
[12036, 32768],
[16384, 32768],
[16384, 32768],
],
[
[23959, 32768],
[20799, 32768],
[19021, 32768],
[16203, 32768],
[17886, 32768],
[14144, 32768],
[12010, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[22409, 32768],
[21012, 32768],
[15650, 32768],
[17395, 32768],
[15469, 32768],
[20205, 32768],
[19511, 32768],
[16384, 32768],
[16384, 32768],
],
[
[24220, 32768],
[22480, 32768],
[17737, 32768],
[18916, 32768],
[19268, 32768],
[18412, 32768],
[18844, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[19833, 32768],
[21502, 32768],
[17485, 32768],
[20267, 32768],
[18353, 32768],
[23329, 32768],
[21478, 32768],
[16384, 32768],
[16384, 32768],
],
[
[22041, 32768],
[23434, 32768],
[20001, 32768],
[20554, 32768],
[20951, 32768],
[20145, 32768],
[15562, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[19941, 32768],
[20527, 32768],
[21470, 32768],
[22487, 32768],
[19558, 32768],
[22354, 32768],
[20331, 32768],
[16384, 32768],
[16384, 32768],
],
[
[22752, 32768],
[25006, 32768],
[22075, 32768],
[21576, 32768],
[17740, 32768],
[21690, 32768],
[19211, 32768],
[16384, 32768],
[16384, 32768],
],
],
];
pub static COEFF_BASE_EOB_16X16: [[[[u16; 3]; 4]; 2]; 4] = [
[
[
[1786, 12612, 32768],
[30663, 31625, 32768],
[32339, 32468, 32768],
[31148, 31833, 32768],
],
[
[18857, 23865, 32768],
[31428, 32428, 32768],
[31744, 32373, 32768],
[31775, 32526, 32768],
],
],
[
[
[2644, 25198, 32768],
[32038, 32451, 32768],
[32639, 32695, 32768],
[32166, 32518, 32768],
],
[
[17187, 27668, 32768],
[31714, 32550, 32768],
[32283, 32678, 32768],
[31930, 32563, 32768],
],
],
[
[
[12854, 29093, 32768],
[32272, 32558, 32768],
[32667, 32729, 32768],
[32306, 32585, 32768],
],
[
[25476, 30366, 32768],
[32169, 32687, 32768],
[32479, 32689, 32768],
[31673, 32634, 32768],
],
],
[
[
[19980, 30591, 32768],
[32219, 32597, 32768],
[32581, 32706, 32768],
[31803, 32287, 32768],
],
[
[26473, 30507, 32768],
[32431, 32723, 32768],
[32196, 32611, 32768],
[31588, 32528, 32768],
],
],
];
pub static COEFF_BASE_16X16: [[[[u16; 4]; 42]; 2]; 4] = [
[
[
[5487, 10460, 13708, 32768],
[21597, 28303, 30674, 32768],
[11037, 21953, 26476, 32768],
[8147, 17962, 22952, 32768],
[5242, 13061, 18532, 32768],
[1889, 5208, 8182, 32768],
[26774, 32133, 32590, 32768],
[17844, 29564, 31767, 32768],
[11690, 24438, 29171, 32768],
[7542, 18215, 24459, 32768],
[2993, 8050, 12319, 32768],
[28023, 32328, 32591, 32768],
[18651, 30126, 31954, 32768],
[12164, 25146, 29589, 32768],
[7762, 18530, 24771, 32768],
[3492, 9183, 13920, 32768],
[27591, 32008, 32491, 32768],
[17149, 28853, 31510, 32768],
[11485, 24003, 28860, 32768],
[7697, 18086, 24210, 32768],
[3075, 7999, 12218, 32768],
[28268, 32482, 32654, 32768],
[19631, 31051, 32404, 32768],
[13860, 27260, 31020, 32768],
[9605, 21613, 27594, 32768],
[4876, 12162, 17908, 32768],
[27248, 32316, 32576, 32768],
[18955, 30457, 32075, 32768],
[11824, 23997, 28795, 32768],
[7346, 18196, 24647, 32768],
[3403, 9247, 14111, 32768],
[29711, 32655, 32735, 32768],
[21169, 31394, 32417, 32768],
[13487, 27198, 30957, 32768],
[8828, 21683, 27614, 32768],
[4270, 11451, 17038, 32768],
[28708, 32578, 32731, 32768],
[20120, 31241, 32482, 32768],
[13692, 27550, 31321, 32768],
[9418, 22514, 28439, 32768],
[4999, 13283, 19462, 32768],
[8192, 16384, 24576, 32768],
],
[
[5673, 14302, 19711, 32768],
[26251, 30701, 31834, 32768],
[12782, 23783, 27803, 32768],
[9127, 20657, 25808, 32768],
[6368, 16208, 21462, 32768],
[2465, 7177, 10822, 32768],
[29961, 32563, 32719, 32768],
[18318, 29891, 31949, 32768],
[11361, 24514, 29357, 32768],
[7900, 19603, 25607, 32768],
[4002, 10590, 15546, 32768],
[29637, 32310, 32595, 32768],
[18296, 29913, 31809, 32768],
[10144, 21515, 26871, 32768],
[5358, 14322, 20394, 32768],
[3067, 8362, 13346, 32768],
[28652, 32470, 32676, 32768],
[17538, 30771, 32209, 32768],
[13924, 26882, 30494, 32768],
[10496, 22837, 27869, 32768],
[7236, 16396, 21621, 32768],
[30743, 32687, 32746, 32768],
[23006, 31676, 32489, 32768],
[14494, 27828, 31120, 32768],
[10174, 22801, 28352, 32768],
[6242, 15281, 21043, 32768],
[25817, 32243, 32720, 32768],
[18618, 31367, 32325, 32768],
[13997, 28318, 31878, 32768],
[12255, 26534, 31383, 32768],
[9561, 21588, 28450, 32768],
[28188, 32635, 32724, 32768],
[22060, 32365, 32728, 32768],
[18102, 30690, 32528, 32768],
[14196, 28864, 31999, 32768],
[12262, 25792, 30865, 32768],
[24176, 32109, 32628, 32768],
[18280, 29681, 31963, 32768],
[10205, 23703, 29664, 32768],
[7889, 20025, 27676, 32768],
[6060, 16743, 23970, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[7555, 14942, 18501, 32768],
[24410, 31178, 32287, 32768],
[14394, 26738, 30253, 32768],
[8413, 19554, 25195, 32768],
[4766, 12924, 18785, 32768],
[2029, 5806, 9207, 32768],
[26776, 32364, 32663, 32768],
[18732, 29967, 31931, 32768],
[11005, 23786, 28852, 32768],
[6466, 16909, 23510, 32768],
[3044, 8638, 13419, 32768],
[29208, 32582, 32704, 32768],
[20068, 30857, 32208, 32768],
[12003, 25085, 29595, 32768],
[6947, 17750, 24189, 32768],
[3245, 9103, 14007, 32768],
[27359, 32465, 32669, 32768],
[19421, 30614, 32174, 32768],
[11915, 25010, 29579, 32768],
[6950, 17676, 24074, 32768],
[3007, 8473, 13096, 32768],
[29002, 32676, 32735, 32768],
[22102, 31849, 32576, 32768],
[14408, 28009, 31405, 32768],
[9027, 21679, 27931, 32768],
[4694, 12678, 18748, 32768],
[28216, 32528, 32682, 32768],
[20849, 31264, 32318, 32768],
[12756, 25815, 29751, 32768],
[7565, 18801, 24923, 32768],
[3509, 9533, 14477, 32768],
[30133, 32687, 32739, 32768],
[23063, 31910, 32515, 32768],
[14588, 28051, 31132, 32768],
[9085, 21649, 27457, 32768],
[4261, 11654, 17264, 32768],
[29518, 32691, 32748, 32768],
[22451, 31959, 32613, 32768],
[14864, 28722, 31700, 32768],
[9695, 22964, 28716, 32768],
[4932, 13358, 19502, 32768],
[8192, 16384, 24576, 32768],
],
[
[6465, 16958, 21688, 32768],
[25199, 31514, 32360, 32768],
[14774, 27149, 30607, 32768],
[9257, 21438, 26972, 32768],
[5723, 15183, 21882, 32768],
[3150, 8879, 13731, 32768],
[26989, 32262, 32682, 32768],
[17396, 29937, 32085, 32768],
[11387, 24901, 29784, 32768],
[7289, 18821, 25548, 32768],
[3734, 10577, 16086, 32768],
[29728, 32501, 32695, 32768],
[17431, 29701, 31903, 32768],
[9921, 22826, 28300, 32768],
[5896, 15434, 22068, 32768],
[3430, 9646, 14757, 32768],
[28614, 32511, 32705, 32768],
[19364, 30638, 32263, 32768],
[13129, 26254, 30402, 32768],
[8754, 20484, 26440, 32768],
[4378, 11607, 17110, 32768],
[30292, 32671, 32744, 32768],
[21780, 31603, 32501, 32768],
[14314, 27829, 31291, 32768],
[9611, 22327, 28263, 32768],
[4890, 13087, 19065, 32768],
[25862, 32567, 32733, 32768],
[20794, 32050, 32567, 32768],
[17243, 30625, 32254, 32768],
[13283, 27628, 31474, 32768],
[9669, 22532, 28918, 32768],
[27435, 32697, 32748, 32768],
[24922, 32390, 32714, 32768],
[21449, 31504, 32536, 32768],
[16392, 29729, 31832, 32768],
[11692, 24884, 29076, 32768],
[24193, 32290, 32735, 32768],
[18909, 31104, 32563, 32768],
[12236, 26841, 31403, 32768],
[8171, 21840, 29082, 32768],
[7224, 17280, 25275, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[9800, 17635, 21073, 32768],
[26153, 31885, 32527, 32768],
[15038, 27852, 31006, 32768],
[8718, 20564, 26486, 32768],
[5128, 14076, 20514, 32768],
[2636, 7566, 11925, 32768],
[27551, 32504, 32701, 32768],
[18310, 30054, 32100, 32768],
[10211, 23420, 29082, 32768],
[6222, 16876, 23916, 32768],
[3462, 9954, 15498, 32768],
[29991, 32633, 32721, 32768],
[19883, 30751, 32201, 32768],
[11141, 24184, 29285, 32768],
[6420, 16940, 23774, 32768],
[3392, 9753, 15118, 32768],
[28465, 32616, 32712, 32768],
[19850, 30702, 32244, 32768],
[10983, 24024, 29223, 32768],
[6294, 16770, 23582, 32768],
[3244, 9283, 14509, 32768],
[30023, 32717, 32748, 32768],
[22940, 32032, 32626, 32768],
[14282, 27928, 31473, 32768],
[8562, 21327, 27914, 32768],
[4846, 13393, 19919, 32768],
[29981, 32590, 32695, 32768],
[20465, 30963, 32166, 32768],
[11479, 23579, 28195, 32768],
[5916, 15648, 22073, 32768],
[3031, 8605, 13398, 32768],
[31146, 32691, 32739, 32768],
[23106, 31724, 32444, 32768],
[13783, 26738, 30439, 32768],
[7852, 19468, 25807, 32768],
[3860, 11124, 16853, 32768],
[31014, 32724, 32748, 32768],
[23629, 32109, 32628, 32768],
[14747, 28115, 31403, 32768],
[8545, 21242, 27478, 32768],
[4574, 12781, 19067, 32768],
[8192, 16384, 24576, 32768],
],
[
[9185, 19694, 24688, 32768],
[26081, 31985, 32621, 32768],
[16015, 29000, 31787, 32768],
[10542, 23690, 29206, 32768],
[6732, 17945, 24677, 32768],
[3916, 11039, 16722, 32768],
[28224, 32566, 32744, 32768],
[19100, 31138, 32485, 32768],
[12528, 26620, 30879, 32768],
[7741, 20277, 26885, 32768],
[4566, 12845, 18990, 32768],
[29933, 32593, 32718, 32768],
[17670, 30333, 32155, 32768],
[10385, 23600, 28909, 32768],
[6243, 16236, 22407, 32768],
[3976, 10389, 16017, 32768],
[28377, 32561, 32738, 32768],
[19366, 31175, 32482, 32768],
[13327, 27175, 31094, 32768],
[8258, 20769, 27143, 32768],
[4703, 13198, 19527, 32768],
[31086, 32706, 32748, 32768],
[22853, 31902, 32583, 32768],
[14759, 28186, 31419, 32768],
[9284, 22382, 28348, 32768],
[5585, 15192, 21868, 32768],
[28291, 32652, 32746, 32768],
[19849, 32107, 32571, 32768],
[14834, 26818, 29214, 32768],
[10306, 22594, 28672, 32768],
[6615, 17384, 23384, 32768],
[28947, 32604, 32745, 32768],
[25625, 32289, 32646, 32768],
[18758, 28672, 31403, 32768],
[10017, 23430, 28523, 32768],
[6862, 15269, 22131, 32768],
[23933, 32509, 32739, 32768],
[19927, 31495, 32631, 32768],
[11903, 26023, 30621, 32768],
[7026, 20094, 27252, 32768],
[5998, 18106, 24437, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[7876, 16901, 21741, 32768],
[24001, 31898, 32625, 32768],
[14529, 27959, 31451, 32768],
[8273, 20818, 27258, 32768],
[5278, 14673, 21510, 32768],
[2983, 8843, 14039, 32768],
[28016, 32574, 32732, 32768],
[17471, 30306, 32301, 32768],
[10224, 24063, 29728, 32768],
[6602, 17954, 25052, 32768],
[4002, 11585, 17759, 32768],
[30190, 32634, 32739, 32768],
[17497, 30282, 32270, 32768],
[10229, 23729, 29538, 32768],
[6344, 17211, 24440, 32768],
[3849, 11189, 17108, 32768],
[28570, 32583, 32726, 32768],
[17521, 30161, 32238, 32768],
[10153, 23565, 29378, 32768],
[6455, 17341, 24443, 32768],
[3907, 11042, 17024, 32768],
[30689, 32715, 32748, 32768],
[21546, 31840, 32610, 32768],
[13547, 27581, 31459, 32768],
[8912, 21757, 28309, 32768],
[5548, 15080, 22046, 32768],
[30783, 32540, 32685, 32768],
[17540, 29528, 31668, 32768],
[10160, 21468, 26783, 32768],
[4724, 13393, 20054, 32768],
[2702, 8174, 13102, 32768],
[31648, 32686, 32742, 32768],
[20954, 31094, 32337, 32768],
[12420, 25698, 30179, 32768],
[7304, 19320, 26248, 32768],
[4366, 12261, 18864, 32768],
[31581, 32723, 32748, 32768],
[21373, 31586, 32525, 32768],
[12744, 26625, 30885, 32768],
[7431, 20322, 26950, 32768],
[4692, 13323, 20111, 32768],
[8192, 16384, 24576, 32768],
],
[
[7833, 18369, 24095, 32768],
[26650, 32273, 32702, 32768],
[16371, 29961, 32191, 32768],
[11055, 24082, 29629, 32768],
[6892, 18644, 25400, 32768],
[5006, 13057, 19240, 32768],
[29834, 32666, 32748, 32768],
[19577, 31335, 32570, 32768],
[12253, 26509, 31122, 32768],
[7991, 20772, 27711, 32768],
[5677, 15910, 23059, 32768],
[30109, 32532, 32720, 32768],
[16747, 30166, 32252, 32768],
[10134, 23542, 29184, 32768],
[5791, 16176, 23556, 32768],
[4362, 10414, 17284, 32768],
[29492, 32626, 32748, 32768],
[19894, 31402, 32525, 32768],
[12942, 27071, 30869, 32768],
[8346, 21216, 27405, 32768],
[6572, 17087, 23859, 32768],
[32035, 32735, 32748, 32768],
[22957, 31838, 32618, 32768],
[14724, 28572, 31772, 32768],
[10364, 23999, 29553, 32768],
[7004, 18433, 25655, 32768],
[27528, 32277, 32681, 32768],
[16959, 31171, 32096, 32768],
[10486, 23593, 27962, 32768],
[8192, 16384, 23211, 32768],
[8937, 17873, 20852, 32768],
[27715, 32002, 32615, 32768],
[15073, 29491, 31676, 32768],
[11264, 24576, 28672, 32768],
[2341, 18725, 23406, 32768],
[7282, 18204, 25486, 32768],
[28547, 32213, 32657, 32768],
[20788, 29773, 32239, 32768],
[6780, 21469, 30508, 32768],
[5958, 14895, 23831, 32768],
[16384, 21845, 27307, 32768],
[8192, 16384, 24576, 32768],
],
],
];
pub static COEFF_BR_16X16: [[[[u16; 4]; 21]; 2]; 4] = [
[
[
[10563, 16233, 19763, 32768],
[9794, 16022, 19804, 32768],
[6750, 11945, 15759, 32768],
[4963, 9186, 12752, 32768],
[3845, 7435, 10627, 32768],
[3051, 6085, 8834, 32768],
[1311, 2596, 3830, 32768],
[11246, 16404, 19689, 32768],
[12315, 18911, 22731, 32768],
[10557, 17095, 21289, 32768],
[8136, 14006, 18249, 32768],
[6348, 11474, 15565, 32768],
[5196, 9655, 13400, 32768],
[2349, 4526, 6587, 32768],
[13337, 18730, 21569, 32768],
[19306, 26071, 28882, 32768],
[15952, 23540, 27254, 32768],
[12409, 19934, 24430, 32768],
[9760, 16706, 21389, 32768],
[8004, 14220, 18818, 32768],
[4138, 7794, 10961, 32768],
],
[
[10870, 16684, 20949, 32768],
[9664, 15230, 18680, 32768],
[6886, 12109, 15408, 32768],
[4825, 8900, 12305, 32768],
[3630, 7162, 10314, 32768],
[3036, 6429, 9387, 32768],
[1671, 3296, 4940, 32768],
[13819, 19159, 23026, 32768],
[11984, 19108, 23120, 32768],
[10690, 17210, 21663, 32768],
[7984, 14154, 18333, 32768],
[6868, 12294, 16124, 32768],
[5274, 8994, 12868, 32768],
[2988, 5771, 8424, 32768],
[19736, 26647, 29141, 32768],
[18933, 26070, 28984, 32768],
[15779, 23048, 27200, 32768],
[12638, 20061, 24532, 32768],
[10692, 17545, 22220, 32768],
[9217, 15251, 20054, 32768],
[5078, 9284, 12594, 32768],
],
],
[
[
[13549, 19724, 23158, 32768],
[11844, 18382, 22246, 32768],
[7919, 13619, 17773, 32768],
[5486, 10143, 13946, 32768],
[4166, 7983, 11324, 32768],
[3364, 6506, 9427, 32768],
[1598, 3160, 4674, 32768],
[15281, 20979, 23781, 32768],
[14939, 22119, 25952, 32768],
[11363, 18407, 22812, 32768],
[8609, 14857, 19370, 32768],
[6737, 12184, 16480, 32768],
[5506, 10263, 14262, 32768],
[2990, 5786, 8380, 32768],
[20249, 25253, 27417, 32768],
[21070, 27518, 30001, 32768],
[16854, 24469, 28074, 32768],
[12864, 20486, 25000, 32768],
[9962, 16978, 21778, 32768],
[8074, 14338, 19048, 32768],
[4494, 8479, 11906, 32768],
],
[
[13960, 19617, 22829, 32768],
[11150, 17341, 21228, 32768],
[7150, 12964, 17190, 32768],
[5331, 10002, 13867, 32768],
[4167, 7744, 11057, 32768],
[3480, 6629, 9646, 32768],
[1883, 3784, 5686, 32768],
[18752, 25660, 28912, 32768],
[16968, 24586, 28030, 32768],
[13520, 21055, 25313, 32768],
[10453, 17626, 22280, 32768],
[8386, 14505, 19116, 32768],
[6742, 12595, 17008, 32768],
[4273, 8140, 11499, 32768],
[22120, 27827, 30233, 32768],
[20563, 27358, 29895, 32768],
[17076, 24644, 28153, 32768],
[13362, 20942, 25309, 32768],
[10794, 17965, 22695, 32768],
[9014, 15652, 20319, 32768],
[5708, 10512, 14497, 32768],
],
],
[
[
[14438, 20798, 24089, 32768],
[12621, 19203, 23097, 32768],
[8177, 14125, 18402, 32768],
[5674, 10501, 14456, 32768],
[4236, 8239, 11733, 32768],
[3447, 6750, 9806, 32768],
[1986, 3950, 5864, 32768],
[16208, 22099, 24930, 32768],
[16537, 24025, 27585, 32768],
[12780, 20381, 24867, 32768],
[9767, 16612, 21416, 32768],
[7686, 13738, 18398, 32768],
[6333, 11614, 15964, 32768],
[3941, 7571, 10836, 32768],
[22819, 27422, 29202, 32768],
[22224, 28514, 30721, 32768],
[17660, 25433, 28913, 32768],
[13574, 21482, 26002, 32768],
[10629, 17977, 22938, 32768],
[8612, 15298, 20265, 32768],
[5607, 10491, 14596, 32768],
],
[
[13569, 19800, 23206, 32768],
[13128, 19924, 23869, 32768],
[8329, 14841, 19403, 32768],
[6130, 10976, 15057, 32768],
[4682, 8839, 12518, 32768],
[3656, 7409, 10588, 32768],
[2577, 5099, 7412, 32768],
[22427, 28684, 30585, 32768],
[20913, 27750, 30139, 32768],
[15840, 24109, 27834, 32768],
[12308, 20029, 24569, 32768],
[10216, 16785, 21458, 32768],
[8309, 14203, 19113, 32768],
[6043, 11168, 15307, 32768],
[23166, 28901, 30998, 32768],
[21899, 28405, 30751, 32768],
[18413, 26091, 29443, 32768],
[15233, 23114, 27352, 32768],
[12683, 20472, 25288, 32768],
[10702, 18259, 23409, 32768],
[8125, 14464, 19226, 32768],
],
],
[
[
[17113, 23733, 27081, 32768],
[14139, 21406, 25452, 32768],
[8552, 15002, 19776, 32768],
[5871, 11120, 15378, 32768],
[4455, 8616, 12253, 32768],
[3469, 6910, 10386, 32768],
[2255, 4553, 6782, 32768],
[18224, 24376, 27053, 32768],
[19290, 26710, 29614, 32768],
[14936, 22991, 27184, 32768],
[11238, 18951, 23762, 32768],
[8786, 15617, 20588, 32768],
[7317, 13228, 18003, 32768],
[5101, 9512, 13493, 32768],
[22639, 28222, 30210, 32768],
[23216, 29331, 31307, 32768],
[19075, 26762, 29895, 32768],
[15014, 23113, 27457, 32768],
[11938, 19857, 24752, 32768],
[9942, 17280, 22282, 32768],
[7167, 13144, 17752, 32768],
],
[
[15820, 22738, 26488, 32768],
[13530, 20885, 25216, 32768],
[8395, 15530, 20452, 32768],
[6574, 12321, 16380, 32768],
[5353, 10419, 14568, 32768],
[4613, 8446, 12381, 32768],
[3440, 7158, 9903, 32768],
[24247, 29051, 31224, 32768],
[22118, 28058, 30369, 32768],
[16498, 24768, 28389, 32768],
[12920, 21175, 26137, 32768],
[10730, 18619, 25352, 32768],
[10187, 16279, 22791, 32768],
[9310, 14631, 22127, 32768],
[24970, 30558, 32057, 32768],
[24801, 29942, 31698, 32768],
[22432, 28453, 30855, 32768],
[19054, 25680, 29580, 32768],
[14392, 23036, 28109, 32768],
[12495, 20947, 26650, 32768],
[12442, 20326, 26214, 32768],
],
],
];
pub static INTRA_TX_TYPE_SET2_16X16: [[u16; 5]; 13] = [
[1127, 12814, 22772, 27483, 32768],
[145, 6761, 11980, 26667, 32768],
[362, 5887, 11678, 16725, 32768],
[385, 15213, 18587, 30693, 32768],
[25, 2914, 23134, 27903, 32768],
[60, 4470, 11749, 23991, 32768],
[37, 3332, 14511, 21448, 32768],
[157, 6320, 13036, 17439, 32768],
[119, 6719, 12906, 29396, 32768],
[47, 5537, 12576, 21499, 32768],
[269, 6076, 11258, 23115, 32768],
[83, 5615, 12001, 17228, 32768],
[1968, 5556, 12023, 18547, 32768],
];
pub static DEFAULT_SCAN_16X16: [usize; 256] = [
0, 1, 16, 32, 17, 2, 3, 18, 33, 48, 64, 49, 34, 19, 4, 5, 20, 35, 50, 65, 80, 96, 81, 66, 51,
36, 21, 6, 7, 22, 37, 52, 67, 82, 97, 112, 128, 113, 98, 83, 68, 53, 38, 23, 8, 9, 24, 39, 54,
69, 84, 99, 114, 129, 144, 160, 145, 130, 115, 100, 85, 70, 55, 40, 25, 10, 11, 26, 41, 56, 71,
86, 101, 116, 131, 146, 161, 176, 192, 177, 162, 147, 132, 117, 102, 87, 72, 57, 42, 27, 12,
13, 28, 43, 58, 73, 88, 103, 118, 133, 148, 163, 178, 193, 208, 224, 209, 194, 179, 164, 149,
134, 119, 104, 89, 74, 59, 44, 29, 14, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180,
195, 210, 225, 240, 241, 226, 211, 196, 181, 166, 151, 136, 121, 106, 91, 76, 61, 46, 31, 47,
62, 77, 92, 107, 122, 137, 152, 167, 182, 197, 212, 227, 242, 243, 228, 213, 198, 183, 168,
153, 138, 123, 108, 93, 78, 63, 79, 94, 109, 124, 139, 154, 169, 184, 199, 214, 229, 244, 245,
230, 215, 200, 185, 170, 155, 140, 125, 110, 95, 111, 126, 141, 156, 171, 186, 201, 216, 231,
246, 247, 232, 217, 202, 187, 172, 157, 142, 127, 143, 158, 173, 188, 203, 218, 233, 248, 249,
234, 219, 204, 189, 174, 159, 175, 190, 205, 220, 235, 250, 251, 236, 221, 206, 191, 207, 222,
237, 252, 253, 238, 223, 239, 254, 255,
];
pub static TXB_SKIP_32X32: [[[u16; 2]; 13]; 4] = [
[
[17920, 32768],
[1818, 32768],
[7282, 32768],
[25273, 32768],
[10923, 32768],
[31554, 32768],
[32624, 32768],
[1366, 32768],
[15628, 32768],
[30462, 32768],
[146, 32768],
[5132, 32768],
[31657, 32768],
],
[
[26726, 32768],
[1045, 32768],
[11703, 32768],
[20590, 32768],
[18554, 32768],
[25970, 32768],
[31938, 32768],
[5583, 32768],
[21313, 32768],
[29390, 32768],
[641, 32768],
[22265, 32768],
[31452, 32768],
],
[
[30669, 32768],
[3832, 32768],
[11663, 32768],
[18889, 32768],
[19782, 32768],
[23313, 32768],
[31330, 32768],
[5124, 32768],
[18719, 32768],
[28468, 32768],
[3082, 32768],
[20982, 32768],
[29443, 32768],
],
[
[31671, 32768],
[2056, 32768],
[11746, 32768],
[16852, 32768],
[18635, 32768],
[24715, 32768],
[31484, 32768],
[4656, 32768],
[16074, 32768],
[24704, 32768],
[1806, 32768],
[14645, 32768],
[25336, 32768],
],
];
pub static EOB_PT_1024: [[[u16; 11]; 2]; 4] = [
[
[
393, 421, 751, 1623, 3160, 6352, 13345, 18047, 22571, 25830, 32768,
],
[
1865, 1988, 2930, 4242, 10533, 16538, 21354, 27255, 28546, 31784, 32768,
],
],
[
[
696, 948, 3145, 5702, 9706, 13217, 17851, 21856, 25692, 28034, 32768,
],
[
2672, 3591, 9330, 17084, 22725, 24284, 26527, 28027, 28377, 30876, 32768,
],
],
[
[
2784, 3831, 7041, 10521, 14847, 18844, 23155, 26682, 29229, 31045, 32768,
],
[
9577, 12466, 17739, 20750, 22061, 23215, 24601, 25483, 25843, 32056, 32768,
],
],
[
[
6698, 8334, 11961, 15762, 20186, 23862, 27434, 29326, 31082, 32050, 32768,
],
[
20569, 22426, 25569, 26859, 28053, 28913, 29486, 29724, 29807, 32570, 32768,
],
],
];
pub static EOB_EXTRA_32X32: [[[[u16; 2]; 9]; 2]; 4] = [
[
[
[27399, 32768],
[16327, 32768],
[18071, 32768],
[19584, 32768],
[20721, 32768],
[18432, 32768],
[19560, 32768],
[10150, 32768],
[8805, 32768],
],
[
[24932, 32768],
[20833, 32768],
[12027, 32768],
[16670, 32768],
[19914, 32768],
[15106, 32768],
[17662, 32768],
[13783, 32768],
[28756, 32768],
],
],
[
[
[25991, 32768],
[20314, 32768],
[17731, 32768],
[19678, 32768],
[18649, 32768],
[17307, 32768],
[21798, 32768],
[17549, 32768],
[15630, 32768],
],
[
[26585, 32768],
[21469, 32768],
[20432, 32768],
[17735, 32768],
[19280, 32768],
[15235, 32768],
[20297, 32768],
[22471, 32768],
[28997, 32768],
],
],
[
[
[23312, 32768],
[21607, 32768],
[16526, 32768],
[18957, 32768],
[18034, 32768],
[18934, 32768],
[24247, 32768],
[16921, 32768],
[17080, 32768],
],
[
[26579, 32768],
[24910, 32768],
[18637, 32768],
[19800, 32768],
[20388, 32768],
[9887, 32768],
[15642, 32768],
[30198, 32768],
[24721, 32768],
],
],
[
[
[21442, 32768],
[22358, 32768],
[18503, 32768],
[20291, 32768],
[19945, 32768],
[21294, 32768],
[21178, 32768],
[19400, 32768],
[10556, 32768],
],
[
[24648, 32768],
[24949, 32768],
[20708, 32768],
[23905, 32768],
[20501, 32768],
[9558, 32768],
[9423, 32768],
[30365, 32768],
[19253, 32768],
],
],
];
pub static COEFF_BASE_EOB_32X32: [[[[u16; 3]; 4]; 2]; 4] = [
[
[
[1787, 2532, 32768],
[30832, 31662, 32768],
[31824, 32682, 32768],
[32133, 32569, 32768],
],
[
[13751, 22235, 32768],
[32089, 32409, 32768],
[27084, 27920, 32768],
[29291, 32594, 32768],
],
],
[
[
[1044, 2257, 32768],
[30755, 31923, 32768],
[32208, 32693, 32768],
[32244, 32615, 32768],
],
[
[21317, 26207, 32768],
[29133, 30868, 32768],
[29311, 31231, 32768],
[29657, 31087, 32768],
],
],
[
[
[2809, 19301, 32768],
[32205, 32622, 32768],
[32338, 32730, 32768],
[31786, 32616, 32768],
],
[
[22737, 29105, 32768],
[30810, 32362, 32768],
[30014, 32627, 32768],
[30528, 32574, 32768],
],
],
[
[
[24647, 30463, 32768],
[32412, 32695, 32768],
[32468, 32720, 32768],
[31269, 32523, 32768],
],
[
[28482, 31505, 32768],
[32152, 32701, 32768],
[31732, 32598, 32768],
[31767, 32712, 32768],
],
],
];
pub static COEFF_BASE_32X32: [[[[u16; 4]; 42]; 2]; 4] = [
[
[
[5141, 7096, 8260, 32768],
[27186, 29022, 29789, 32768],
[6668, 12568, 15682, 32768],
[2172, 6181, 8638, 32768],
[1126, 3379, 4531, 32768],
[443, 1361, 2254, 32768],
[26083, 31153, 32436, 32768],
[13486, 24603, 28483, 32768],
[6508, 14840, 19910, 32768],
[3386, 8800, 13286, 32768],
[1530, 4322, 7054, 32768],
[29639, 32080, 32548, 32768],
[15897, 27552, 30290, 32768],
[8588, 20047, 25383, 32768],
[4889, 13339, 19269, 32768],
[2240, 6871, 10498, 32768],
[28165, 32197, 32517, 32768],
[20735, 30427, 31568, 32768],
[14325, 24671, 27692, 32768],
[5119, 12554, 17805, 32768],
[1810, 5441, 8261, 32768],
[31212, 32724, 32748, 32768],
[23352, 31766, 32545, 32768],
[14669, 27570, 31059, 32768],
[8492, 20894, 27272, 32768],
[3644, 10194, 15204, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[2461, 7013, 9371, 32768],
[24749, 29600, 30986, 32768],
[9466, 19037, 22417, 32768],
[3584, 9280, 14400, 32768],
[1505, 3929, 5433, 32768],
[677, 1500, 2736, 32768],
[23987, 30702, 32117, 32768],
[13554, 24571, 29263, 32768],
[6211, 14556, 21155, 32768],
[3135, 10972, 15625, 32768],
[2435, 7127, 11427, 32768],
[31300, 32532, 32550, 32768],
[14757, 30365, 31954, 32768],
[4405, 11612, 18553, 32768],
[580, 4132, 7322, 32768],
[1695, 10169, 14124, 32768],
[30008, 32282, 32591, 32768],
[19244, 30108, 31748, 32768],
[11180, 24158, 29555, 32768],
[5650, 14972, 19209, 32768],
[2114, 5109, 8456, 32768],
[31856, 32716, 32748, 32768],
[23012, 31664, 32572, 32768],
[13694, 26656, 30636, 32768],
[8142, 19508, 26093, 32768],
[4253, 10955, 16724, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[3078, 6839, 9890, 32768],
[13837, 20450, 24479, 32768],
[5914, 14222, 19328, 32768],
[3866, 10267, 14762, 32768],
[2612, 7208, 11042, 32768],
[1067, 2991, 4776, 32768],
[25817, 31646, 32529, 32768],
[13708, 26338, 30385, 32768],
[7328, 18585, 24870, 32768],
[4691, 13080, 19276, 32768],
[1825, 5253, 8352, 32768],
[29386, 32315, 32624, 32768],
[17160, 29001, 31360, 32768],
[9602, 21862, 27396, 32768],
[5915, 15772, 22148, 32768],
[2786, 7779, 12047, 32768],
[29246, 32450, 32663, 32768],
[18696, 29929, 31818, 32768],
[10510, 23369, 28560, 32768],
[6229, 16499, 23125, 32768],
[2608, 7448, 11705, 32768],
[30753, 32710, 32748, 32768],
[21638, 31487, 32503, 32768],
[12937, 26854, 30870, 32768],
[8182, 20596, 26970, 32768],
[3637, 10269, 15497, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[5244, 12150, 16906, 32768],
[20486, 26858, 29701, 32768],
[7756, 18317, 23735, 32768],
[3452, 9256, 13146, 32768],
[2020, 5206, 8229, 32768],
[1801, 4993, 7903, 32768],
[27051, 31858, 32531, 32768],
[15988, 27531, 30619, 32768],
[9188, 21484, 26719, 32768],
[6273, 17186, 23800, 32768],
[3108, 9355, 14764, 32768],
[31076, 32520, 32680, 32768],
[18119, 30037, 31850, 32768],
[10244, 22969, 27472, 32768],
[4692, 14077, 19273, 32768],
[3694, 11677, 17556, 32768],
[30060, 32581, 32720, 32768],
[21011, 30775, 32120, 32768],
[11931, 24820, 29289, 32768],
[7119, 17662, 24356, 32768],
[3833, 10706, 16304, 32768],
[31954, 32731, 32748, 32768],
[23913, 31724, 32489, 32768],
[15520, 28060, 31286, 32768],
[11517, 23008, 28571, 32768],
[6193, 14508, 20629, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[4456, 11274, 15533, 32768],
[21219, 29079, 31616, 32768],
[11173, 23774, 28567, 32768],
[7282, 18293, 24263, 32768],
[4890, 13286, 19115, 32768],
[1890, 5508, 8659, 32768],
[26651, 32136, 32647, 32768],
[14630, 28254, 31455, 32768],
[8716, 21287, 27395, 32768],
[5615, 15331, 22008, 32768],
[2675, 7700, 12150, 32768],
[29954, 32526, 32690, 32768],
[16126, 28982, 31633, 32768],
[9030, 21361, 27352, 32768],
[5411, 14793, 21271, 32768],
[2943, 8422, 13163, 32768],
[29539, 32601, 32730, 32768],
[18125, 30385, 32201, 32768],
[10422, 24090, 29468, 32768],
[6468, 17487, 24438, 32768],
[2970, 8653, 13531, 32768],
[30912, 32715, 32748, 32768],
[20666, 31373, 32497, 32768],
[12509, 26640, 30917, 32768],
[8058, 20629, 27290, 32768],
[4231, 12006, 18052, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[10202, 20633, 25484, 32768],
[27336, 31445, 32352, 32768],
[12420, 24384, 28552, 32768],
[7648, 18115, 23856, 32768],
[5662, 14341, 19902, 32768],
[3611, 10328, 15390, 32768],
[30945, 32616, 32736, 32768],
[18682, 30505, 32253, 32768],
[11513, 25336, 30203, 32768],
[7449, 19452, 26148, 32768],
[4482, 13051, 18886, 32768],
[32022, 32690, 32747, 32768],
[18578, 30501, 32146, 32768],
[11249, 23368, 28631, 32768],
[5645, 16958, 22158, 32768],
[5009, 11444, 16637, 32768],
[31357, 32710, 32748, 32768],
[21552, 31494, 32504, 32768],
[13891, 27677, 31340, 32768],
[9051, 22098, 28172, 32768],
[5190, 13377, 19486, 32768],
[32364, 32740, 32748, 32768],
[24839, 31907, 32551, 32768],
[17160, 28779, 31696, 32768],
[12452, 24137, 29602, 32768],
[6165, 15389, 22477, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[5992, 14304, 19765, 32768],
[22612, 31238, 32456, 32768],
[13456, 27162, 31087, 32768],
[8001, 20062, 26504, 32768],
[5168, 14105, 20764, 32768],
[2632, 7771, 12385, 32768],
[27034, 32344, 32709, 32768],
[15850, 29415, 31997, 32768],
[9494, 22776, 28841, 32768],
[6151, 16830, 23969, 32768],
[3461, 10039, 15722, 32768],
[30134, 32569, 32731, 32768],
[15638, 29422, 31945, 32768],
[9150, 21865, 28218, 32768],
[5647, 15719, 22676, 32768],
[3402, 9772, 15477, 32768],
[28530, 32586, 32735, 32768],
[17139, 30298, 32292, 32768],
[10200, 24039, 29685, 32768],
[6419, 17674, 24786, 32768],
[3544, 10225, 15824, 32768],
[31333, 32726, 32748, 32768],
[20618, 31487, 32544, 32768],
[12901, 27217, 31232, 32768],
[8624, 21734, 28171, 32768],
[5104, 14191, 20748, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[11206, 21090, 26561, 32768],
[28759, 32279, 32671, 32768],
[14171, 27952, 31569, 32768],
[9743, 22907, 29141, 32768],
[6871, 17886, 24868, 32768],
[4960, 13152, 19315, 32768],
[31077, 32661, 32748, 32768],
[19400, 31195, 32515, 32768],
[12752, 26858, 31040, 32768],
[8370, 22098, 28591, 32768],
[5457, 15373, 22298, 32768],
[31697, 32706, 32748, 32768],
[17860, 30657, 32333, 32768],
[12510, 24812, 29261, 32768],
[6180, 19124, 24722, 32768],
[5041, 13548, 17959, 32768],
[31552, 32716, 32748, 32768],
[21908, 31769, 32623, 32768],
[14470, 28201, 31565, 32768],
[9493, 22982, 28608, 32768],
[6858, 17240, 24137, 32768],
[32543, 32752, 32756, 32768],
[24286, 32097, 32666, 32768],
[15958, 29217, 32024, 32768],
[10207, 24234, 29958, 32768],
[6929, 18305, 25652, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
];
pub static COEFF_BR_32X32: [[[[u16; 4]; 21]; 2]; 4] = [
[
[
[2331, 3662, 5244, 32768],
[2891, 4771, 6145, 32768],
[4598, 7623, 9729, 32768],
[3520, 6845, 9199, 32768],
[3417, 6119, 9324, 32768],
[2601, 5412, 7385, 32768],
[600, 1173, 1744, 32768],
[7672, 13286, 17469, 32768],
[4232, 7792, 10793, 32768],
[2915, 5317, 7397, 32768],
[2318, 4356, 6152, 32768],
[2127, 4000, 5554, 32768],
[1850, 3478, 5275, 32768],
[977, 1933, 2843, 32768],
[18280, 24387, 27989, 32768],
[15852, 22671, 26185, 32768],
[13845, 20951, 24789, 32768],
[11055, 17966, 22129, 32768],
[9138, 15422, 19801, 32768],
[7454, 13145, 17456, 32768],
[3370, 6393, 9013, 32768],
],
[
[5842, 9229, 10838, 32768],
[2313, 3491, 4276, 32768],
[2998, 6104, 7496, 32768],
[2420, 7447, 9868, 32768],
[3034, 8495, 10923, 32768],
[4076, 8937, 10975, 32768],
[1086, 2370, 3299, 32768],
[9714, 17254, 20444, 32768],
[8543, 13698, 17123, 32768],
[4918, 9007, 11910, 32768],
[4129, 7532, 10553, 32768],
[2364, 5533, 8058, 32768],
[1834, 3546, 5563, 32768],
[1473, 2908, 4133, 32768],
[15405, 21193, 25619, 32768],
[15691, 21952, 26561, 32768],
[12962, 19194, 24165, 32768],
[10272, 17855, 22129, 32768],
[8588, 15270, 20718, 32768],
[8682, 14669, 19500, 32768],
[4870, 9636, 13205, 32768],
],
],
[
[
[5705, 10930, 15725, 32768],
[7946, 12765, 16115, 32768],
[6801, 12123, 16226, 32768],
[5462, 10135, 14200, 32768],
[4189, 8011, 11507, 32768],
[3191, 6229, 9408, 32768],
[1057, 2137, 3212, 32768],
[10018, 17067, 21491, 32768],
[7380, 12582, 16453, 32768],
[6068, 10845, 14339, 32768],
[5098, 9198, 12555, 32768],
[4312, 8010, 11119, 32768],
[3700, 6966, 9781, 32768],
[1693, 3326, 4887, 32768],
[18757, 24930, 27774, 32768],
[17648, 24596, 27817, 32768],
[14707, 22052, 26026, 32768],
[11720, 18852, 23292, 32768],
[9357, 15952, 20525, 32768],
[7810, 13753, 18210, 32768],
[3879, 7333, 10328, 32768],
],
[
[8278, 13242, 15922, 32768],
[10547, 15867, 18919, 32768],
[9106, 15842, 20609, 32768],
[6833, 13007, 17218, 32768],
[4811, 9712, 13923, 32768],
[3985, 7352, 11128, 32768],
[1688, 3458, 5262, 32768],
[12951, 21861, 26510, 32768],
[9788, 16044, 20276, 32768],
[6309, 11244, 14870, 32768],
[5183, 9349, 12566, 32768],
[4389, 8229, 11492, 32768],
[3633, 6945, 10620, 32768],
[3600, 6847, 9907, 32768],
[21748, 28137, 30255, 32768],
[19436, 26581, 29560, 32768],
[16359, 24201, 27953, 32768],
[13961, 21693, 25871, 32768],
[11544, 18686, 23322, 32768],
[9372, 16462, 20952, 32768],
[6138, 11210, 15390, 32768],
],
],
[
[
[9040, 14786, 18360, 32768],
[9979, 15718, 19415, 32768],
[7913, 13918, 18311, 32768],
[5859, 10889, 15184, 32768],
[4593, 8677, 12510, 32768],
[3820, 7396, 10791, 32768],
[1730, 3471, 5192, 32768],
[11803, 18365, 22709, 32768],
[11419, 18058, 22225, 32768],
[9418, 15774, 20243, 32768],
[7539, 13325, 17657, 32768],
[6233, 11317, 15384, 32768],
[5137, 9656, 13545, 32768],
[2977, 5774, 8349, 32768],
[21207, 27246, 29640, 32768],
[19547, 26578, 29497, 32768],
[16169, 23871, 27690, 32768],
[12820, 20458, 25018, 32768],
[10224, 17332, 22214, 32768],
[8526, 15048, 19884, 32768],
[5037, 9410, 13118, 32768],
],
[
[12339, 17329, 20140, 32768],
[13505, 19895, 23225, 32768],
[9847, 16944, 21564, 32768],
[7280, 13256, 18348, 32768],
[4712, 10009, 14454, 32768],
[4361, 7914, 12477, 32768],
[2870, 5628, 7995, 32768],
[20061, 25504, 28526, 32768],
[15235, 22878, 26145, 32768],
[12985, 19958, 24155, 32768],
[9782, 16641, 21403, 32768],
[9456, 16360, 20760, 32768],
[6855, 12940, 18557, 32768],
[5661, 10564, 15002, 32768],
[25656, 30602, 31894, 32768],
[22570, 29107, 31092, 32768],
[18917, 26423, 29541, 32768],
[15940, 23649, 27754, 32768],
[12803, 20581, 25219, 32768],
[11082, 18695, 23376, 32768],
[7939, 14373, 19005, 32768],
],
],
[
[
[12162, 18785, 22648, 32768],
[12749, 19697, 23806, 32768],
[8580, 15297, 20346, 32768],
[6169, 11749, 16543, 32768],
[4836, 9391, 13448, 32768],
[3821, 7711, 11613, 32768],
[2228, 4601, 7070, 32768],
[16319, 24725, 28280, 32768],
[15698, 23277, 27168, 32768],
[12726, 20368, 25047, 32768],
[9912, 17015, 21976, 32768],
[7888, 14220, 19179, 32768],
[6777, 12284, 17018, 32768],
[4492, 8590, 12252, 32768],
[23249, 28904, 30947, 32768],
[21050, 27908, 30512, 32768],
[17440, 25340, 28949, 32768],
[14059, 22018, 26541, 32768],
[11288, 18903, 23898, 32768],
[9411, 16342, 21428, 32768],
[6278, 11588, 15944, 32768],
],
[
[13981, 20067, 23226, 32768],
[16922, 23580, 26783, 32768],
[11005, 19039, 24487, 32768],
[7389, 14218, 19798, 32768],
[5598, 11505, 17206, 32768],
[6090, 11213, 15659, 32768],
[3820, 7371, 10119, 32768],
[21082, 26925, 29675, 32768],
[21262, 28627, 31128, 32768],
[18392, 26454, 30437, 32768],
[14870, 22910, 27096, 32768],
[12620, 19484, 24908, 32768],
[9290, 16553, 22802, 32768],
[6668, 14288, 20004, 32768],
[27704, 31055, 31949, 32768],
[24709, 29978, 31788, 32768],
[21668, 29264, 31657, 32768],
[18295, 26968, 30074, 32768],
[16399, 24422, 29313, 32768],
[14347, 23026, 28104, 32768],
[12370, 19806, 24477, 32768],
],
],
];
pub static DEFAULT_SCAN_32X32: [usize; 1024] = [
0, 1, 32, 64, 33, 2, 3, 34, 65, 96, 128, 97, 66, 35, 4, 5, 36, 67, 98, 129, 160, 192, 161, 130,
99, 68, 37, 6, 7, 38, 69, 100, 131, 162, 193, 224, 256, 225, 194, 163, 132, 101, 70, 39, 8, 9,
40, 71, 102, 133, 164, 195, 226, 257, 288, 320, 289, 258, 227, 196, 165, 134, 103, 72, 41, 10,
11, 42, 73, 104, 135, 166, 197, 228, 259, 290, 321, 352, 384, 353, 322, 291, 260, 229, 198,
167, 136, 105, 74, 43, 12, 13, 44, 75, 106, 137, 168, 199, 230, 261, 292, 323, 354, 385, 416,
448, 417, 386, 355, 324, 293, 262, 231, 200, 169, 138, 107, 76, 45, 14, 15, 46, 77, 108, 139,
170, 201, 232, 263, 294, 325, 356, 387, 418, 449, 480, 512, 481, 450, 419, 388, 357, 326, 295,
264, 233, 202, 171, 140, 109, 78, 47, 16, 17, 48, 79, 110, 141, 172, 203, 234, 265, 296, 327,
358, 389, 420, 451, 482, 513, 544, 576, 545, 514, 483, 452, 421, 390, 359, 328, 297, 266, 235,
204, 173, 142, 111, 80, 49, 18, 19, 50, 81, 112, 143, 174, 205, 236, 267, 298, 329, 360, 391,
422, 453, 484, 515, 546, 577, 608, 640, 609, 578, 547, 516, 485, 454, 423, 392, 361, 330, 299,
268, 237, 206, 175, 144, 113, 82, 51, 20, 21, 52, 83, 114, 145, 176, 207, 238, 269, 300, 331,
362, 393, 424, 455, 486, 517, 548, 579, 610, 641, 672, 704, 673, 642, 611, 580, 549, 518, 487,
456, 425, 394, 363, 332, 301, 270, 239, 208, 177, 146, 115, 84, 53, 22, 23, 54, 85, 116, 147,
178, 209, 240, 271, 302, 333, 364, 395, 426, 457, 488, 519, 550, 581, 612, 643, 674, 705, 736,
768, 737, 706, 675, 644, 613, 582, 551, 520, 489, 458, 427, 396, 365, 334, 303, 272, 241, 210,
179, 148, 117, 86, 55, 24, 25, 56, 87, 118, 149, 180, 211, 242, 273, 304, 335, 366, 397, 428,
459, 490, 521, 552, 583, 614, 645, 676, 707, 738, 769, 800, 832, 801, 770, 739, 708, 677, 646,
615, 584, 553, 522, 491, 460, 429, 398, 367, 336, 305, 274, 243, 212, 181, 150, 119, 88, 57,
26, 27, 58, 89, 120, 151, 182, 213, 244, 275, 306, 337, 368, 399, 430, 461, 492, 523, 554, 585,
616, 647, 678, 709, 740, 771, 802, 833, 864, 896, 865, 834, 803, 772, 741, 710, 679, 648, 617,
586, 555, 524, 493, 462, 431, 400, 369, 338, 307, 276, 245, 214, 183, 152, 121, 90, 59, 28, 29,
60, 91, 122, 153, 184, 215, 246, 277, 308, 339, 370, 401, 432, 463, 494, 525, 556, 587, 618,
649, 680, 711, 742, 773, 804, 835, 866, 897, 928, 960, 929, 898, 867, 836, 805, 774, 743, 712,
681, 650, 619, 588, 557, 526, 495, 464, 433, 402, 371, 340, 309, 278, 247, 216, 185, 154, 123,
92, 61, 30, 31, 62, 93, 124, 155, 186, 217, 248, 279, 310, 341, 372, 403, 434, 465, 496, 527,
558, 589, 620, 651, 682, 713, 744, 775, 806, 837, 868, 899, 930, 961, 992, 993, 962, 931, 900,
869, 838, 807, 776, 745, 714, 683, 652, 621, 590, 559, 528, 497, 466, 435, 404, 373, 342, 311,
280, 249, 218, 187, 156, 125, 94, 63, 95, 126, 157, 188, 219, 250, 281, 312, 343, 374, 405,
436, 467, 498, 529, 560, 591, 622, 653, 684, 715, 746, 777, 808, 839, 870, 901, 932, 963, 994,
995, 964, 933, 902, 871, 840, 809, 778, 747, 716, 685, 654, 623, 592, 561, 530, 499, 468, 437,
406, 375, 344, 313, 282, 251, 220, 189, 158, 127, 159, 190, 221, 252, 283, 314, 345, 376, 407,
438, 469, 500, 531, 562, 593, 624, 655, 686, 717, 748, 779, 810, 841, 872, 903, 934, 965, 996,
997, 966, 935, 904, 873, 842, 811, 780, 749, 718, 687, 656, 625, 594, 563, 532, 501, 470, 439,
408, 377, 346, 315, 284, 253, 222, 191, 223, 254, 285, 316, 347, 378, 409, 440, 471, 502, 533,
564, 595, 626, 657, 688, 719, 750, 781, 812, 843, 874, 905, 936, 967, 998, 999, 968, 937, 906,
875, 844, 813, 782, 751, 720, 689, 658, 627, 596, 565, 534, 503, 472, 441, 410, 379, 348, 317,
286, 255, 287, 318, 349, 380, 411, 442, 473, 504, 535, 566, 597, 628, 659, 690, 721, 752, 783,
814, 845, 876, 907, 938, 969, 1000, 1001, 970, 939, 908, 877, 846, 815, 784, 753, 722, 691,
660, 629, 598, 567, 536, 505, 474, 443, 412, 381, 350, 319, 351, 382, 413, 444, 475, 506, 537,
568, 599, 630, 661, 692, 723, 754, 785, 816, 847, 878, 909, 940, 971, 1002, 1003, 972, 941,
910, 879, 848, 817, 786, 755, 724, 693, 662, 631, 600, 569, 538, 507, 476, 445, 414, 383, 415,
446, 477, 508, 539, 570, 601, 632, 663, 694, 725, 756, 787, 818, 849, 880, 911, 942, 973, 1004,
1005, 974, 943, 912, 881, 850, 819, 788, 757, 726, 695, 664, 633, 602, 571, 540, 509, 478, 447,
479, 510, 541, 572, 603, 634, 665, 696, 727, 758, 789, 820, 851, 882, 913, 944, 975, 1006,
1007, 976, 945, 914, 883, 852, 821, 790, 759, 728, 697, 666, 635, 604, 573, 542, 511, 543, 574,
605, 636, 667, 698, 729, 760, 791, 822, 853, 884, 915, 946, 977, 1008, 1009, 978, 947, 916,
885, 854, 823, 792, 761, 730, 699, 668, 637, 606, 575, 607, 638, 669, 700, 731, 762, 793, 824,
855, 886, 917, 948, 979, 1010, 1011, 980, 949, 918, 887, 856, 825, 794, 763, 732, 701, 670,
639, 671, 702, 733, 764, 795, 826, 857, 888, 919, 950, 981, 1012, 1013, 982, 951, 920, 889,
858, 827, 796, 765, 734, 703, 735, 766, 797, 828, 859, 890, 921, 952, 983, 1014, 1015, 984,
953, 922, 891, 860, 829, 798, 767, 799, 830, 861, 892, 923, 954, 985, 1016, 1017, 986, 955,
924, 893, 862, 831, 863, 894, 925, 956, 987, 1018, 1019, 988, 957, 926, 895, 927, 958, 989,
1020, 1021, 990, 959, 991, 1022, 1023,
];
pub static PALETTE_Y_SIZE: [[u16; 7]; 7] = [
[7952, 13000, 18149, 21478, 25527, 29241, 32768],
[7139, 11421, 16195, 19544, 23666, 28073, 32768],
[7788, 12741, 17325, 20500, 24315, 28530, 32768],
[8271, 14064, 18246, 21564, 25071, 28533, 32768],
[12725, 19180, 21863, 24839, 27535, 30120, 32768],
[9711, 14888, 16923, 21052, 25661, 27875, 32768],
[14940, 20797, 21678, 24186, 27033, 28999, 32768],
];
pub static PALETTE_SIZE_2_Y_COLOR: [[u16; 2]; 5] = [
[28710, 32768],
[16384, 32768],
[10553, 32768],
[27036, 32768],
[31603, 32768],
];
pub static PALETTE_SIZE_3_Y_COLOR: [[u16; 3]; 5] = [
[27877, 30490, 32768],
[11532, 25697, 32768],
[6544, 30234, 32768],
[23018, 28072, 32768],
[31915, 32385, 32768],
];
pub static PALETTE_SIZE_4_Y_COLOR: [[u16; 4]; 5] = [
[25572, 28046, 30045, 32768],
[9478, 21590, 27256, 32768],
[7248, 26837, 29824, 32768],
[19167, 24486, 28349, 32768],
[31400, 31825, 32250, 32768],
];
pub static PALETTE_SIZE_5_Y_COLOR: [[u16; 5]; 5] = [
[24779, 26955, 28576, 30282, 32768],
[8669, 20364, 24073, 28093, 32768],
[4255, 27565, 29377, 31067, 32768],
[19864, 23674, 26716, 29530, 32768],
[31646, 31893, 32147, 32426, 32768],
];
pub static PALETTE_SIZE_6_Y_COLOR: [[u16; 6]; 5] = [
[23132, 25407, 26970, 28435, 30073, 32768],
[7443, 17242, 20717, 24762, 27982, 32768],
[6300, 24862, 26944, 28784, 30671, 32768],
[18916, 22895, 25267, 27435, 29652, 32768],
[31270, 31550, 31808, 32059, 32353, 32768],
];
pub static PALETTE_SIZE_7_Y_COLOR: [[u16; 7]; 5] = [
[23105, 25199, 26464, 27684, 28931, 30318, 32768],
[6950, 15447, 18952, 22681, 25567, 28563, 32768],
[7560, 23474, 25490, 27203, 28921, 30708, 32768],
[18544, 22373, 24457, 26195, 28119, 30045, 32768],
[31198, 31451, 31670, 31882, 32123, 32391, 32768],
];
pub static PALETTE_SIZE_8_Y_COLOR: [[u16; 8]; 5] = [
[21689, 23883, 25163, 26352, 27506, 28827, 30195, 32768],
[6892, 15385, 17840, 21606, 24287, 26753, 29204, 32768],
[5651, 23182, 25042, 26518, 27982, 29392, 30900, 32768],
[19349, 22578, 24418, 25994, 27524, 29031, 30448, 32768],
[31028, 31270, 31504, 31705, 31927, 32153, 32392, 32768],
];
pub static PALETTE_COLOR_CONTEXT: [i8; 9] = [-1, -1, 0, -1, -1, 4, 3, 2, 1];
pub static SEGMENT_ID: [[u16; 8]; 3] = [
[5622, 7893, 16093, 18233, 27809, 28373, 32533, 32768],
[14274, 18230, 22557, 24935, 29980, 30851, 32344, 32768],
[27527, 28487, 28723, 28890, 32397, 32647, 32679, 32768],
];
pub static SM_WEIGHTS_64X64: [i32; 64] = [
255, 248, 240, 233, 225, 218, 210, 203, 196, 189, 182, 176, 169, 163, 156, 150, 144, 138, 133,
127, 121, 116, 111, 106, 101, 96, 91, 86, 82, 77, 73, 69, 65, 61, 57, 54, 50, 47, 44, 41, 38,
35, 32, 29, 27, 25, 22, 20, 18, 16, 15, 13, 12, 10, 9, 8, 7, 6, 6, 5, 5, 4, 4, 4,
];
pub static TXB_SKIP_64X64: [[[u16; 2]; 13]; 4] = [
[
[6308, 32768],
[117, 32768],
[1638, 32768],
[2161, 32768],
[16384, 32768],
[10923, 32768],
[30247, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[26584, 32768],
[188, 32768],
[8847, 32768],
[24519, 32768],
[22938, 32768],
[30583, 32768],
[32608, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[28573, 32768],
[3183, 32768],
[17802, 32768],
[25977, 32768],
[26677, 32768],
[27832, 32768],
[32387, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
[
[31539, 32768],
[8433, 32768],
[20576, 32768],
[27904, 32768],
[27852, 32768],
[30026, 32768],
[32441, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
];
pub static EOB_EXTRA_64X64: [[[[u16; 2]; 9]; 2]; 4] = [
[
[
[23406, 32768],
[21845, 32768],
[18432, 32768],
[16384, 32768],
[17096, 32768],
[12561, 32768],
[17320, 32768],
[22395, 32768],
[21370, 32768],
],
[
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[26605, 32768],
[11304, 32768],
[16726, 32768],
[16560, 32768],
[20866, 32768],
[23524, 32768],
[19878, 32768],
[13469, 32768],
[23084, 32768],
],
[
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[26998, 32768],
[16737, 32768],
[17838, 32768],
[18922, 32768],
[19515, 32768],
[18636, 32768],
[17333, 32768],
[15776, 32768],
[22658, 32768],
],
[
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
[
[
[26064, 32768],
[22098, 32768],
[19613, 32768],
[20525, 32768],
[17595, 32768],
[16618, 32768],
[20497, 32768],
[18989, 32768],
[15513, 32768],
],
[
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
[16384, 32768],
],
],
];
pub static COEFF_BASE_EOB_64X64: [[[[u16; 3]; 4]; 2]; 4] = [
[
[
[1725, 3449, 32768],
[31102, 31935, 32768],
[32457, 32613, 32768],
[32412, 32649, 32768],
],
[
[10923, 21845, 32768],
[10923, 21845, 32768],
[10923, 21845, 32768],
[10923, 21845, 32768],
],
],
[
[
[478, 1834, 32768],
[31005, 31987, 32768],
[32317, 32724, 32768],
[30865, 32648, 32768],
],
[
[10923, 21845, 32768],
[10923, 21845, 32768],
[10923, 21845, 32768],
[10923, 21845, 32768],
],
],
[
[
[935, 3382, 32768],
[30789, 31909, 32768],
[32466, 32756, 32768],
[30860, 32513, 32768],
],
[
[10923, 21845, 32768],
[10923, 21845, 32768],
[10923, 21845, 32768],
[10923, 21845, 32768],
],
],
[
[
[12358, 24977, 32768],
[31331, 32385, 32768],
[32634, 32756, 32768],
[30411, 32548, 32768],
],
[
[10923, 21845, 32768],
[10923, 21845, 32768],
[10923, 21845, 32768],
[10923, 21845, 32768],
],
],
];
pub static COEFF_BASE_64X64: [[[[u16; 4]; 42]; 2]; 4] = [
[
[
[601, 983, 1311, 32768],
[18725, 23406, 28087, 32768],
[5461, 8192, 10923, 32768],
[3781, 15124, 21425, 32768],
[2587, 7761, 12072, 32768],
[106, 458, 810, 32768],
[22282, 29710, 31894, 32768],
[8508, 20926, 25984, 32768],
[3726, 12713, 18083, 32768],
[1620, 7112, 10893, 32768],
[729, 2236, 3495, 32768],
[30163, 32474, 32684, 32768],
[18304, 30464, 32000, 32768],
[11443, 26526, 29647, 32768],
[6007, 15292, 21299, 32768],
[2234, 6703, 8937, 32768],
[30954, 32177, 32571, 32768],
[17363, 29562, 31076, 32768],
[9686, 22464, 27410, 32768],
[8192, 16384, 21390, 32768],
[1755, 8046, 11264, 32768],
[31168, 32734, 32748, 32768],
[22486, 31441, 32471, 32768],
[12833, 25627, 29738, 32768],
[6980, 17379, 23122, 32768],
[3111, 8887, 13479, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[1035, 2807, 4156, 32768],
[13162, 18138, 20939, 32768],
[2696, 6633, 8755, 32768],
[1373, 4161, 6853, 32768],
[1099, 2746, 4716, 32768],
[340, 1021, 1599, 32768],
[22826, 30419, 32135, 32768],
[10395, 21762, 26942, 32768],
[4726, 12407, 17361, 32768],
[2447, 7080, 10593, 32768],
[1227, 3717, 6011, 32768],
[28156, 31424, 31934, 32768],
[16915, 27754, 30373, 32768],
[9148, 20990, 26431, 32768],
[5950, 15515, 21148, 32768],
[2492, 7327, 11526, 32768],
[30602, 32477, 32670, 32768],
[20026, 29955, 31568, 32768],
[11220, 23628, 28105, 32768],
[6652, 17019, 22973, 32768],
[3064, 8536, 13043, 32768],
[31769, 32724, 32748, 32768],
[22230, 30887, 32373, 32768],
[12234, 25079, 29731, 32768],
[7326, 18816, 25353, 32768],
[3933, 10907, 16616, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[2575, 7281, 11077, 32768],
[14002, 20866, 25402, 32768],
[6343, 15056, 19658, 32768],
[4474, 11858, 17041, 32768],
[2865, 8299, 12534, 32768],
[1344, 3949, 6391, 32768],
[24720, 31239, 32459, 32768],
[12585, 25356, 29968, 32768],
[7181, 18246, 24444, 32768],
[5025, 13667, 19885, 32768],
[2521, 7304, 11605, 32768],
[29908, 32252, 32584, 32768],
[17421, 29156, 31575, 32768],
[9889, 22188, 27782, 32768],
[5878, 15647, 22123, 32768],
[2814, 8665, 13323, 32768],
[30183, 32568, 32713, 32768],
[18528, 30195, 32049, 32768],
[10982, 24606, 29657, 32768],
[6957, 18165, 25231, 32768],
[3508, 10118, 15468, 32768],
[31761, 32736, 32748, 32768],
[21041, 31328, 32546, 32768],
[12568, 26732, 31166, 32768],
[8052, 20720, 27733, 32768],
[4336, 12192, 18396, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
[
[
[4137, 10847, 15682, 32768],
[17824, 27001, 30058, 32768],
[10204, 22796, 28291, 32768],
[6076, 15935, 22125, 32768],
[3852, 10937, 16816, 32768],
[2252, 6324, 10131, 32768],
[25840, 32016, 32662, 32768],
[15109, 28268, 31531, 32768],
[9385, 22231, 28340, 32768],
[6082, 16672, 23479, 32768],
[3318, 9427, 14681, 32768],
[30594, 32574, 32718, 32768],
[16836, 29552, 31859, 32768],
[9556, 22542, 28356, 32768],
[6305, 16725, 23540, 32768],
[3376, 9895, 15184, 32768],
[29383, 32617, 32745, 32768],
[18891, 30809, 32401, 32768],
[11688, 25942, 30687, 32768],
[7468, 19469, 26651, 32768],
[3909, 11358, 17012, 32768],
[31564, 32736, 32748, 32768],
[20906, 31611, 32600, 32768],
[13191, 27621, 31537, 32768],
[8768, 22029, 28676, 32768],
[5079, 14109, 20906, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
[
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
[8192, 16384, 24576, 32768],
],
],
];
#[must_use]
pub fn default_scan(w: usize, h: usize) -> Vec<usize> {
let mut scan = Vec::with_capacity(w * h);
for d in 0..(w + h - 1) {
let i_lo = d.saturating_sub(w - 1);
let i_hi = d.min(h - 1);
let descending = if w == h { d % 2 == 0 } else { w > h };
if descending {
for i in (i_lo..=i_hi).rev() {
scan.push(i * w + (d - i));
}
} else {
for i in i_lo..=i_hi {
scan.push(i * w + (d - i));
}
}
}
scan
}
pub static EOB_PT_128: [[[[u16; 8]; 2]; 2]; 4] = [
[
[
[219, 482, 1140, 2091, 3680, 6028, 12586, 32768],
[371, 699, 1254, 4830, 9479, 12562, 17497, 32768],
],
[
[5245, 7456, 12880, 15852, 20033, 23932, 27608, 32768],
[2054, 3472, 5869, 14232, 18242, 20590, 26752, 32768],
],
],
[
[
[685, 933, 1488, 2714, 4766, 8562, 19254, 32768],
[217, 352, 618, 2303, 5261, 9969, 17472, 32768],
],
[
[8045, 11200, 15497, 19595, 23948, 27408, 30938, 32768],
[2310, 4160, 7471, 14997, 17931, 20768, 30240, 32768],
],
],
[
[
[1366, 1738, 2527, 5016, 9355, 15797, 24643, 32768],
[354, 558, 944, 2760, 7287, 14037, 21779, 32768],
],
[
[13627, 16246, 20173, 24429, 27948, 30415, 31863, 32768],
[6275, 9889, 14769, 23164, 27988, 30493, 32272, 32768],
],
],
[
[
[3472, 4885, 7489, 12481, 18517, 24536, 29635, 32768],
[886, 1731, 3271, 8469, 15569, 22126, 28383, 32768],
],
[
[24313, 26062, 28385, 30107, 31217, 31898, 32345, 32768],
[9165, 13282, 21150, 30286, 31894, 32571, 32712, 32768],
],
],
];
pub static EOB_PT_512: [[[u16; 10]; 2]; 4] = [
[
[
641, 983, 3707, 5430, 10234, 14958, 18788, 23412, 26061, 32768,
],
[
5095, 6446, 9996, 13354, 16017, 17986, 20919, 26129, 29140, 32768,
],
],
[
[
1230, 2278, 5035, 7776, 11871, 15346, 19590, 24584, 28749, 32768,
],
[
7265, 9979, 15819, 19250, 21780, 23846, 26478, 28396, 31811, 32768,
],
],
[
[
2624, 3936, 6480, 9686, 13979, 17726, 23267, 28410, 31078, 32768,
],
[
12015, 14769, 19588, 22052, 24222, 25812, 27300, 29219, 32114, 32768,
],
],
[
[
5927, 7809, 10923, 14597, 19439, 24135, 28456, 31142, 32060, 32768,
],
[
21093, 23043, 25742, 27658, 29097, 29716, 30073, 30820, 31956, 32768,
],
],
];
#[cfg(test)]
mod scan_tests {
use super::*;
#[test]
fn default_scan_reproduces_square_tables() {
assert_eq!(default_scan(4, 4), DEFAULT_SCAN_4X4);
assert_eq!(default_scan(8, 8), DEFAULT_SCAN_8X8);
assert_eq!(default_scan(16, 16), DEFAULT_SCAN_16X16);
assert_eq!(default_scan(32, 32), DEFAULT_SCAN_32X32);
}
#[test]
fn default_scan_is_a_permutation() {
for &(w, h) in &[(4, 8), (8, 4), (8, 16), (16, 8), (16, 32), (32, 16)] {
let s = default_scan(w, h);
assert_eq!(s.len(), w * h);
let mut seen = vec![false; w * h];
for &p in &s {
assert!(
p < w * h && !seen[p],
"{w}x{h} scan not a permutation at {p}"
);
seen[p] = true;
}
}
}
}