blob: 7f8f2c2fa109315d79b4a1282e05cd3c547c1953 [file] [log] [blame]
// Copyright 2019 The libgav1 Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// This file is just a convenience to separate out all the CDF constant
// definitions from the symbol decoder context functions.
constexpr uint16_t kDefaultPartitionCdf
[kBlockWidthCount][kPartitionContexts][kMaxPartitionTypes + 1] = {
// width 8
{{13636, 7258, 2376, 0, 0},
{18840, 12913, 4228, 0, 0},
{20246, 9089, 4139, 0, 0},
{22872, 13985, 6915, 0, 0}},
// width 16
{{17171, 11839, 8197, 6062, 5104, 3947, 3167, 2197, 866, 0, 0},
{24843, 21725, 15983, 10298, 8797, 7725, 6117, 4067, 2934, 0, 0},
{27354, 19499, 17657, 12280, 10408, 8268, 7231, 6432, 651, 0, 0},
{30106, 26406, 24154, 11908, 9715, 7990, 6332, 4939, 1597, 0, 0}},
// width 32
{{14306, 11848, 9644, 5121, 4541, 3719, 3249, 2590, 1224, 0, 0},
{25079, 23708, 20712, 7776, 7108, 6586, 5817, 4727, 3716, 0, 0},
{26753, 23759, 22706, 8224, 7359, 6223, 5697, 5242, 721, 0, 0},
{31374, 30560, 29972, 4154, 3707, 3302, 2928, 2583, 869, 0, 0}},
// width 64
{{12631, 11221, 9690, 3202, 2931, 2507, 2244, 1876, 1044, 0, 0},
{26036, 25278, 23271, 4824, 4518, 4253, 3799, 3138, 2664, 0, 0},
{26823, 25105, 24420, 4085, 3651, 3019, 2704, 2470, 530, 0, 0},
{31898, 31556, 31281, 1570, 1374, 1194, 1025, 887, 436, 0, 0}},
// width 128
{{4869, 4549, 4239, 284, 229, 149, 129, 0, 0},
{26161, 25778, 24500, 708, 549, 430, 397, 0, 0},
{27339, 26092, 25646, 741, 541, 237, 186, 0, 0},
{32057, 31802, 31596, 320, 230, 151, 104, 0, 0}}};
constexpr uint16_t kDefaultSegmentIdCdf[kSegmentIdContexts][kMaxSegments + 1] =
{{27146, 24875, 16675, 14535, 4959, 4395, 235, 0, 0},
{18494, 14538, 10211, 7833, 2788, 1917, 424, 0, 0},
{5241, 4281, 4045, 3878, 371, 121, 89, 0, 0}};
constexpr uint16_t
kDefaultUsePredictedSegmentIdCdf[kUsePredictedSegmentIdContexts]
[kBooleanFieldCdfSize] = {{16384, 0, 0},
{16384, 0, 0},
{16384, 0, 0}};
constexpr uint16_t kDefaultSkipCdf[kSkipContexts][kBooleanFieldCdfSize] = {
{1097, 0, 0}, {16253, 0, 0}, {28192, 0, 0}};
constexpr uint16_t
kDefaultSkipModeCdf[kSkipModeContexts][kBooleanFieldCdfSize] = {
{147, 0, 0}, {12060, 0, 0}, {24641, 0, 0}};
// This constant is also used for DeltaLf and DeltaLfMulti.
constexpr uint16_t kDefaultDeltaQCdf[kDeltaSymbolCount + 1] = {4608, 648, 91, 0,
0};
constexpr uint16_t kDefaultIntraBlockCopyCdf[kBooleanFieldCdfSize] = {2237, 0,
0};
constexpr uint16_t
kDefaultIntraFrameYModeCdf[kIntraModeContexts][kIntraModeContexts]
[kIntraPredictionModesY + 1] = {
{{17180, 15741, 13430, 12550, 12086, 11658,
10943, 9524, 8579, 4603, 3675, 2302, 0, 0},
{20752, 14702, 13252, 12465, 12049, 11324,
10880, 9736, 8334, 4110, 2596, 1359, 0, 0},
{22716, 21997, 10472, 9980, 9713, 9529, 8635,
7148, 6608, 3432, 2839, 1201, 0, 0},
{18677, 17362, 16326, 13960, 13632, 13222,
12770, 10672, 8022, 3183, 1810, 306, 0, 0},
{20646, 19503, 17165, 16267, 14159, 12735,
10377, 7185, 6331, 2507, 1695, 293, 0, 0}},
{{22745, 13183, 11920, 11328, 10936, 10008,
9679, 8745, 7387, 3754, 2286, 1332, 0, 0},
{26785, 8669, 8208, 7882, 7702, 6973, 6855,
6345, 5158, 2863, 1492, 974, 0, 0},
{25324, 19987, 12591, 12040, 11691, 11161,
10598, 9363, 8299, 4853, 3678, 2276, 0, 0},
{24231, 18079, 17336, 15681, 15360, 14596,
14360, 12943, 8119, 3615, 1672, 558, 0, 0},
{25225, 18537, 17272, 16573, 14863, 12051,
10784, 8252, 6767, 3093, 1787, 774, 0, 0}},
{{20155, 19177, 11385, 10764, 10456, 10191,
9367, 7713, 7039, 3230, 2463, 691, 0, 0},
{23081, 19298, 14262, 13538, 13164, 12621,
12073, 10706, 9549, 5025, 3557, 1861, 0, 0},
{26585, 26263, 6744, 6516, 6402, 6334, 5686,
4414, 4213, 2301, 1974, 682, 0, 0},
{22050, 21034, 17814, 15544, 15203, 14844,
14207, 11245, 8890, 3793, 2481, 516, 0, 0},
{23574, 22910, 16267, 15505, 14344, 13597,
11205, 6807, 6207, 2696, 2031, 305, 0, 0}},
{{20166, 18369, 17280, 14387, 13990, 13453,
13044, 11349, 7708, 3072, 1851, 359, 0, 0},
{24565, 18947, 18244, 15663, 15329, 14637,
14364, 13300, 7543, 3283, 1610, 426, 0, 0},
{24317, 23037, 17764, 15125, 14756, 14343,
13698, 11230, 8163, 3650, 2690, 750, 0, 0},
{25054, 23720, 23252, 16101, 15951, 15774,
15615, 14001, 6025, 2379, 1232, 240, 0, 0},
{23925, 22488, 21272, 17451, 16116, 14825,
13660, 10050, 6999, 2815, 1785, 283, 0, 0}},
{{20190, 19097, 16789, 15934, 13693, 11855,
9779, 7319, 6549, 2554, 1618, 291, 0, 0},
{23205, 19142, 17688, 16876, 15012, 11905,
10561, 8532, 7388, 3115, 1625, 491, 0, 0},
{24412, 23867, 15152, 14512, 13418, 12662,
10170, 6821, 6302, 2868, 2245, 507, 0, 0},
{21933, 20953, 19644, 16726, 15750, 14729,
13821, 10015, 8153, 3279, 1885, 286, 0, 0},
{25150, 24480, 22909, 22259, 17382, 14111,
9865, 3992, 3588, 1413, 966, 175, 0, 0}}};
constexpr uint16_t
kDefaultYModeCdf[kYModeContexts][kIntraPredictionModesY + 1] = {
{9967, 9279, 8475, 8012, 7167, 6645, 6162, 5350, 4823, 3540, 3083, 2419,
0, 0},
{14095, 12923, 10137, 9450, 8818, 8119, 7241, 5404, 4616, 3067, 2784,
1916, 0, 0},
{12998, 11789, 9372, 8829, 8527, 8114, 7632, 5695, 4938, 3408, 3038,
2109, 0, 0},
{12613, 11467, 9930, 9590, 9507, 9235, 9065, 7964, 7416, 6193, 5752,
4719, 0, 0}};
constexpr uint16_t
kDefaultAngleDeltaCdf[kDirectionalIntraModes][kAngleDeltaSymbolCount + 1] =
{{30588, 27736, 25201, 9992, 5779, 2551, 0, 0},
{30467, 27160, 23967, 9281, 5794, 2438, 0, 0},
{28988, 21750, 19069, 13414, 9685, 1482, 0, 0},
{28187, 21542, 17621, 15630, 10934, 4371, 0, 0},
{31031, 21841, 18259, 13180, 10023, 3945, 0, 0},
{30104, 22592, 20283, 15118, 11168, 2273, 0, 0},
{30528, 21672, 17315, 12427, 10207, 3851, 0, 0},
{29163, 22340, 20309, 15092, 11524, 2113, 0, 0}};
constexpr uint16_t
kDefaultUVModeCdf[kBooleanSymbolCount][kIntraPredictionModesY]
[kIntraPredictionModesUV + 1] = {
// CFL not allowed.
{{10137, 8616, 7390, 7107, 6782, 6248, 5713, 4845,
4524, 2709, 1827, 807, 0, 0},
{23255, 5887, 5795, 5722, 5650, 5104, 5029, 4944,
4409, 3263, 2968, 972, 0, 0},
{22923, 22853, 4105, 4064, 4011, 3988, 3570, 2946,
2914, 2004, 991, 739, 0, 0},
{19129, 18871, 18597, 7437, 7162, 7041, 6815, 5620,
4191, 2156, 1413, 275, 0, 0},
{23004, 22933, 22838, 22814, 7382, 5715, 4810, 4620,
4525, 1667, 1024, 405, 0, 0},
{20943, 19179, 19091, 19048, 17720, 3555, 3467, 3310,
3057, 1607, 1327, 218, 0, 0},
{18593, 18369, 16160, 15947, 15050, 14993, 4217, 2568,
2523, 931, 426, 101, 0, 0},
{19883, 19730, 17790, 17178, 17095, 17020, 16592,
3640, 3501, 2125, 807, 307, 0, 0},
{20742, 19107, 18894, 17463, 17278, 17042, 16773,
16495, 4325, 2380, 2001, 352, 0, 0},
{13716, 12928, 12189, 11852, 11618, 11301, 10883,
10049, 9594, 3907, 2389, 593, 0, 0},
{14141, 13119, 11794, 11549, 11276, 10952, 10569,
9649, 9241, 5715, 1371, 620, 0, 0},
{15742, 13764, 12771, 12429, 12182, 11665, 11419,
10861, 10286, 6872, 6227, 949, 0, 0},
{20644, 19009, 17809, 17776, 17761, 17717, 17690,
17602, 17513, 17015, 16729, 16162, 0, 0}},
// CFL allowed.
{{22361, 21560, 19868, 19587, 18945, 18593, 17869,
17112, 16782, 12682, 11773, 10313, 8556, 0, 0},
{28236, 12988, 12711, 12553, 12340, 11697, 11569,
11317, 10669, 8540, 8075, 5736, 3296, 0, 0},
{27495, 27389, 12591, 12498, 12383, 12329, 11819,
11073, 10994, 9630, 8512, 8065, 6089, 0, 0},
{26028, 25601, 25106, 18616, 18232, 17983, 17734,
16027, 14397, 11248, 10562, 9379, 8586, 0, 0},
{27781, 27400, 26840, 26700, 13654, 12453, 10911,
10515, 10357, 7857, 7388, 6741, 6392, 0, 0},
{27398, 25879, 25521, 25375, 23270, 11654, 11366,
11015, 10787, 7988, 7382, 6251, 5592, 0, 0},
{27952, 27807, 25564, 25442, 24003, 23838, 12599,
12086, 11965, 9580, 9005, 8313, 7828, 0, 0},
{26160, 26028, 24239, 23719, 23511, 23412, 23033,
13941, 13709, 10432, 9564, 8804, 7975, 0, 0},
{26770, 25349, 24987, 23835, 23513, 23219, 23015,
22351, 13870, 10274, 9629, 8004, 6779, 0, 0},
{22108, 21470, 20218, 19811, 19446, 19144, 18728,
17764, 17234, 12054, 10979, 9325, 7907, 0, 0},
{22246, 21238, 20216, 19805, 19390, 18989, 18523,
17533, 16866, 12666, 10072, 8994, 6930, 0, 0},
{22669, 22077, 20129, 19719, 19382, 19103, 18643,
17605, 17132, 13092, 12294, 9249, 7560, 0, 0},
{29624, 27681, 25386, 25264, 25175, 25078, 24967,
24704, 24536, 23520, 22893, 22247, 3720, 0, 0}}};
constexpr uint16_t kDefaultCflAlphaSignsCdf[kCflAlphaSignsSymbolCount + 1] = {
31350, 30645, 19428, 14363, 5796, 4425, 474, 0, 0};
constexpr uint16_t kDefaultCflAlphaCdf[kCflAlphaContexts][kCflAlphaSymbolCount +
1] = {
{25131, 12049, 1367, 287, 111, 80, 76, 72, 68, 64, 60, 56, 52, 48, 44, 0,
0},
{18403, 9165, 4633, 1600, 601, 373, 281, 195, 148, 121, 100, 96, 92, 88, 84,
0, 0},
{21236, 10388, 4323, 1408, 419, 245, 184, 119, 95, 91, 87, 83, 79, 75, 71,
0, 0},
{5778, 1366, 486, 197, 76, 72, 68, 64, 60, 56, 52, 48, 44, 40, 36, 0, 0},
{15520, 6710, 3864, 2160, 1463, 891, 642, 447, 374, 304, 252, 208, 192, 175,
146, 0, 0},
{18030, 11090, 6989, 4867, 3744, 2466, 1788, 925, 624, 355, 248, 174, 146,
112, 108, 0, 0}};
constexpr uint16_t
kDefaultUseFilterIntraCdf[kMaxBlockSizes][kBooleanFieldCdfSize] = {
{28147, 0, 0}, {26025, 0, 0}, {19998, 0, 0}, {26875, 0, 0},
{24902, 0, 0}, {20217, 0, 0}, {12539, 0, 0}, {22400, 0, 0},
{23374, 0, 0}, {20360, 0, 0}, {18467, 0, 0}, {16384, 0, 0},
{14667, 0, 0}, {20012, 0, 0}, {10425, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}};
constexpr uint16_t kDefaultFilterIntraModeCdf[kNumFilterIntraPredictors + 1] = {
23819, 19992, 15557, 3210, 0, 0};
constexpr uint16_t
kDefaultTxDepthCdf[4][kTxDepthContexts][kMaxTxDepthSymbolCount + 1] = {
{{12800, 0, 0}, {12800, 0, 0}, {8448, 0, 0}},
{{20496, 2596, 0, 0}, {20496, 2596, 0, 0}, {14091, 1920, 0, 0}},
{{19782, 17588, 0, 0}, {19782, 17588, 0, 0}, {8466, 7166, 0, 0}},
{{26986, 21293, 0, 0}, {26986, 21293, 0, 0}, {15965, 10009, 0, 0}}};
constexpr uint16_t kDefaultTxSplitCdf[kTxSplitContexts][kBooleanFieldCdfSize] =
{{4187, 0, 0}, {8922, 0, 0}, {11921, 0, 0}, {8453, 0, 0}, {14572, 0, 0},
{20635, 0, 0}, {13977, 0, 0}, {21881, 0, 0}, {21763, 0, 0}, {5589, 0, 0},
{12764, 0, 0}, {21487, 0, 0}, {6219, 0, 0}, {13460, 0, 0}, {18544, 0, 0},
{4753, 0, 0}, {11222, 0, 0}, {18368, 0, 0}, {4603, 0, 0}, {10367, 0, 0},
{16680, 0, 0}};
/* clang-format off */
constexpr uint16_t kDefaultAllZeroCdf[kCoefficientQuantizerContexts]
[kNumSquareTransformSizes][kAllZeroContexts]
[kBooleanFieldCdfSize] = {
{
{{919, 0, 0}, {26876, 0, 0}, {20656, 0, 0}, {10833, 0, 0}, {12479, 0, 0},
{5295, 0, 0}, {281, 0, 0}, {25114, 0, 0}, {13295, 0, 0}, {2784, 0, 0},
{22807, 0, 0}, {2526, 0, 0}, {651, 0, 0}},
{{1220, 0, 0}, {31219, 0, 0}, {22638, 0, 0}, {16112, 0, 0}, {14177, 0, 0},
{6460, 0, 0}, {231, 0, 0}, {27365, 0, 0}, {14672, 0, 0}, {2765, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{2811, 0, 0}, {27377, 0, 0}, {14729, 0, 0}, {9202, 0, 0}, {10337, 0, 0},
{6946, 0, 0}, {571, 0, 0}, {28990, 0, 0}, {17432, 0, 0}, {3787, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{14848, 0, 0}, {30950, 0, 0}, {25486, 0, 0}, {7495, 0, 0}, {21845, 0, 0},
{1214, 0, 0}, {144, 0, 0}, {31402, 0, 0}, {17140, 0, 0}, {2306, 0, 0},
{32622, 0, 0}, {27636, 0, 0}, {1111, 0, 0}},
{{26460, 0, 0}, {32651, 0, 0}, {31130, 0, 0}, {30607, 0, 0}, {16384, 0, 0},
{21845, 0, 0}, {2521, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}}
},
{
{{2397, 0, 0}, {25198, 0, 0}, {19613, 0, 0}, {12017, 0, 0}, {11799, 0, 0},
{5701, 0, 0}, {755, 0, 0}, {27273, 0, 0}, {14826, 0, 0}, {4488, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{986, 0, 0}, {30932, 0, 0}, {22079, 0, 0}, {15164, 0, 0}, {11146, 0, 0},
{5250, 0, 0}, {369, 0, 0}, {28349, 0, 0}, {16474, 0, 0}, {4423, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{867, 0, 0}, {22457, 0, 0}, {14721, 0, 0}, {7962, 0, 0}, {9480, 0, 0},
{4854, 0, 0}, {472, 0, 0}, {28553, 0, 0}, {17012, 0, 0}, {4427, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{6042, 0, 0}, {31723, 0, 0}, {21065, 0, 0}, {12178, 0, 0}, {14214, 0, 0},
{6798, 0, 0}, {830, 0, 0}, {27185, 0, 0}, {11455, 0, 0}, {3378, 0, 0},
{32127, 0, 0}, {10503, 0, 0}, {1316, 0, 0}},
{{6184, 0, 0}, {32580, 0, 0}, {23921, 0, 0}, {8249, 0, 0}, {9830, 0, 0},
{2185, 0, 0}, {160, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}}
},
{
{{3154, 0, 0}, {23700, 0, 0}, {19844, 0, 0}, {13230, 0, 0}, {15031, 0, 0},
{8149, 0, 0}, {2126, 0, 0}, {28649, 0, 0}, {16742, 0, 0}, {7111, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{811, 0, 0}, {29538, 0, 0}, {21615, 0, 0}, {14645, 0, 0}, {12625, 0, 0},
{6232, 0, 0}, {782, 0, 0}, {29718, 0, 0}, {18165, 0, 0}, {7613, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{405, 0, 0}, {22076, 0, 0}, {13678, 0, 0}, {8411, 0, 0}, {8326, 0, 0},
{4456, 0, 0}, {599, 0, 0}, {29120, 0, 0}, {17078, 0, 0}, {5953, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{2099, 0, 0}, {28936, 0, 0}, {21105, 0, 0}, {13879, 0, 0}, {12986, 0, 0},
{9455, 0, 0}, {1438, 0, 0}, {27644, 0, 0}, {14049, 0, 0}, {4300, 0, 0},
{29686, 0, 0}, {11786, 0, 0}, {3325, 0, 0}},
{{4195, 0, 0}, {29585, 0, 0}, {14966, 0, 0}, {6791, 0, 0}, {6091, 0, 0},
{4936, 0, 0}, {381, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}}
},
{
{{5881, 0, 0}, {26039, 0, 0}, {22407, 0, 0}, {15326, 0, 0}, {17723, 0, 0},
{10290, 0, 0}, {3696, 0, 0}, {30055, 0, 0}, {20907, 0, 0}, {11995, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{865, 0, 0}, {30724, 0, 0}, {25240, 0, 0}, {18150, 0, 0}, {16586, 0, 0},
{8600, 0, 0}, {1731, 0, 0}, {29982, 0, 0}, {21574, 0, 0}, {12613, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{258, 0, 0}, {24338, 0, 0}, {15450, 0, 0}, {8614, 0, 0}, {9094, 0, 0},
{3979, 0, 0}, {629, 0, 0}, {29328, 0, 0}, {19651, 0, 0}, {10066, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}},
{{1097, 0, 0}, {30712, 0, 0}, {21022, 0, 0}, {15916, 0, 0}, {14133, 0, 0},
{8053, 0, 0}, {1284, 0, 0}, {28112, 0, 0}, {16694, 0, 0}, {8064, 0, 0},
{30962, 0, 0}, {18123, 0, 0}, {7432, 0, 0}},
{{1229, 0, 0}, {24335, 0, 0}, {12192, 0, 0}, {4864, 0, 0}, {4916, 0, 0},
{2742, 0, 0}, {327, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}}
}
};
/* clang-format on */
constexpr uint16_t
kDefaultInterTxTypeCdf[3][kNumExtendedTransformSizes][kNumTransformTypes +
1] = {
{{28310, 27208, 25073, 23059, 19438, 17979, 15231, 12502, 11264, 9920,
8834, 7294, 5041, 3853, 2137, 0, 0},
{31123, 30195, 27990, 27057, 24961, 24146, 22246, 17411, 15094, 12360,
10251, 7758, 5652, 3912, 2019, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0}},
{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
// Only 16x16 is used in this case.
{31998, 30347, 27543, 19861, 16949, 13841, 11207, 8679, 6173, 4242,
2239, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{16384, 0, 0}, {28601, 0, 0}, {30770, 0, 0}, {32020, 0, 0}}};
constexpr uint16_t kDefaultIntraTxTypeCdf
[2][kNumExtendedTransformSizes][kIntraPredictionModesY]
[kNumTransformTypes + 1] = {
{{{31233, 24733, 23307, 20017, 9301, 4943, 0, 0},
{32204, 29433, 23059, 21898, 14625, 4674, 0, 0},
{32096, 29521, 29092, 20786, 13353, 9641, 0, 0},
{27489, 18883, 17281, 14724, 9241, 2516, 0, 0},
{28345, 26694, 24783, 22352, 7075, 3470, 0, 0},
{31282, 28527, 23308, 22106, 16312, 5074, 0, 0},
{32329, 29930, 29246, 26031, 14710, 9014, 0, 0},
{31578, 28535, 27913, 21098, 12487, 8391, 0, 0},
{31723, 28456, 24121, 22609, 14124, 3433, 0, 0},
{32566, 29034, 28021, 25470, 15641, 8752, 0, 0},
{32321, 28456, 25949, 23884, 16758, 8910, 0, 0},
{32491, 28399, 27513, 23863, 16303, 10497, 0, 0},
{29359, 27332, 22169, 17169, 13081, 8728, 0, 0}},
{{30898, 19026, 18238, 16270, 8998, 5070, 0, 0},
{32442, 23972, 18136, 17689, 13496, 5282, 0, 0},
{32284, 25192, 25056, 18325, 13609, 10177, 0, 0},
{31642, 17428, 16873, 15745, 11872, 2489, 0, 0},
{32113, 27914, 27519, 26855, 10669, 5630, 0, 0},
{31469, 26310, 23883, 23478, 17917, 7271, 0, 0},
{32457, 27473, 27216, 25883, 16661, 10096, 0, 0},
{31885, 24709, 24498, 21510, 15479, 11219, 0, 0},
{32027, 25188, 23450, 22423, 16080, 3722, 0, 0},
{32658, 25362, 24853, 23573, 16727, 9439, 0, 0},
{32405, 24794, 23411, 22095, 17139, 8294, 0, 0},
{32615, 25121, 24656, 22832, 17461, 12772, 0, 0},
{29257, 26436, 21603, 17433, 13445, 9174, 0, 0}}},
{{{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0}},
{{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0},
{26214, 19661, 13107, 6554, 0, 0}},
{{31641, 19954, 9996, 5285, 0, 0},
{32623, 26007, 20788, 6101, 0, 0},
{32406, 26881, 21090, 16043, 0, 0},
{32383, 17555, 14181, 2075, 0, 0},
{32743, 29854, 9634, 4865, 0, 0},
{32708, 28298, 21019, 8777, 0, 0},
{32731, 29436, 18257, 11320, 0, 0},
{32611, 26448, 19732, 15329, 0, 0},
{32649, 26049, 19862, 3372, 0, 0},
{32721, 27231, 20192, 11269, 0, 0},
{32499, 26692, 21510, 9653, 0, 0},
{32685, 27153, 20767, 15540, 0, 0},
{30800, 27212, 20745, 14221, 0, 0}}}};
constexpr uint16_t kDefaultEobPt16Cdf[kCoefficientQuantizerContexts]
[kNumPlaneTypes][kEobPtContexts]
[kEobPt16SymbolCount + 1] = {
{{{31928, 31729, 30788, 27873, 0, 0},
{32398, 32097, 30885, 28297, 0, 0}},
{{29521, 27818, 23080, 18205, 0, 0},
{30864, 29414, 25005, 18121, 0, 0}}},
{{{30643, 30217, 27603, 23822, 0, 0},
{32255, 32003, 30909, 26429, 0, 0}},
{{25131, 23270, 18509, 13660, 0, 0},
{30271, 28672, 23902, 15775, 0, 0}}},
{{{28752, 27871, 23887, 17800, 0, 0},
{32052, 31663, 30122, 22712, 0, 0}},
{{21629, 19498, 14527, 9202, 0, 0},
{29576, 27736, 22471, 13013, 0, 0}}},
{{{26060, 23810, 18022, 10635, 0, 0},
{31546, 30694, 27985, 17358, 0, 0}},
{{13193, 11002, 6724, 3059, 0, 0},
{25471, 22001, 13495, 4574, 0, 0}}}};
constexpr uint16_t
kDefaultEobPt32Cdf[kCoefficientQuantizerContexts][kNumPlaneTypes]
[kEobPtContexts][kEobPt32SymbolCount + 1] = {
{{{32368, 32248, 31791, 30666, 26226, 0, 0},
{32558, 32363, 31453, 29442, 25231, 0, 0}},
{{30132, 28495, 25180, 20974, 12367, 0, 0},
{30982, 29589, 25866, 21411, 13714, 0, 0}}},
{{{31779, 31519, 30749, 28617, 21983, 0, 0},
{32455, 32327, 31669, 29851, 24206, 0, 0}},
{{24374, 22416, 18836, 13913, 6754, 0, 0},
{30190, 28644, 24587, 19098, 8534, 0, 0}}},
{{{30253, 29765, 28316, 24606, 16727, 0, 0},
{32194, 31947, 30932, 27679, 19640, 0, 0}},
{{19300, 16465, 12407, 7663, 3487, 0, 0},
{29226, 27266, 22353, 16008, 7124, 0, 0}}},
{{{28151, 27059, 24322, 19184, 9633, 0, 0},
{31612, 31066, 29093, 23494, 12229, 0, 0}},
{{10682, 8486, 5758, 2998, 1025, 0, 0},
{25069, 21871, 11877, 5842, 1140, 0, 0}}}};
constexpr uint16_t
kDefaultEobPt64Cdf[kCoefficientQuantizerContexts][kNumPlaneTypes]
[kEobPtContexts][kEobPt64SymbolCount + 1] = {
{{{32439, 32270, 31667, 30984, 29503, 25010, 0, 0},
{32433, 32038, 31309, 27274, 24013, 19771, 0, 0}},
{{29263, 27464, 22682, 18954, 15084, 9398, 0, 0},
{31205, 30068, 27892, 21857, 18062, 10288, 0, 0}}},
{{{31508, 31322, 30515, 29056, 26116, 19399, 0, 0},
{32367, 32163, 31739, 30205, 26923, 20142, 0, 0}},
{{24159, 22156, 18144, 14054, 10154, 3744, 0, 0},
{30845, 29641, 26901, 23065, 18491, 5668, 0, 0}}},
{{{30394, 29996, 28185, 25492, 20480, 13062, 0, 0},
{32271, 31958, 31453, 29768, 25764, 17127, 0, 0}},
{{17718, 15642, 11358, 7882, 4612, 2042, 0, 0},
{28734, 26478, 22533, 17786, 11554, 4277, 0, 0}}},
{{{26461, 25227, 20708, 16410, 10215, 4903, 0, 0},
{31479, 30448, 28797, 24842, 18615, 8477, 0, 0}},
{{8556, 7060, 4500, 2733, 1461, 719, 0, 0},
{24042, 20390, 13359, 6318, 2730, 306, 0, 0}}}};
constexpr uint16_t kDefaultEobPt128Cdf
[kCoefficientQuantizerContexts][kNumPlaneTypes][kEobPtContexts]
[kEobPt128SymbolCount + 1] = {
{{{32549, 32286, 31628, 30677, 29088, 26740, 20182, 0, 0},
{32397, 32069, 31514, 27938, 23289, 20206, 15271, 0, 0}},
{{27523, 25312, 19888, 16916, 12735, 8836, 5160, 0, 0},
{30714, 29296, 26899, 18536, 14526, 12178, 6016, 0, 0}}},
{{{32083, 31835, 31280, 30054, 28002, 24206, 13514, 0, 0},
{32551, 32416, 32150, 30465, 27507, 22799, 15296, 0, 0}},
{{24723, 21568, 17271, 13173, 8820, 5360, 1830, 0, 0},
{30458, 28608, 25297, 17771, 14837, 12000, 2528, 0, 0}}},
{{{31402, 31030, 30241, 27752, 23413, 16971, 8125, 0, 0},
{32414, 32210, 31824, 30008, 25481, 18731, 10989, 0, 0}},
{{19141, 16522, 12595, 8339, 4820, 2353, 905, 0, 0},
{26493, 22879, 17999, 9604, 4780, 2275, 496, 0, 0}}},
{{{29296, 27883, 25279, 20287, 14251, 8232, 3133, 0, 0},
{31882, 31037, 29497, 24299, 17199, 10642, 4385, 0, 0}},
{{8455, 6706, 4383, 2661, 1551, 870, 423, 0, 0},
{23603, 19486, 11618, 2482, 874, 197, 56, 0, 0}}}};
constexpr uint16_t kDefaultEobPt256Cdf
[kCoefficientQuantizerContexts][kNumPlaneTypes][kEobPtContexts]
[kEobPt256SymbolCount + 1] = {
{{{32458, 32184, 30881, 29179, 26600, 24157, 21416, 17116, 0, 0},
{31770, 30918, 29770, 27164, 15427, 12880, 9869, 7185, 0, 0}},
{{30248, 29528, 26816, 23898, 20191, 15210, 12814, 8600, 0, 0},
{30565, 28638, 25333, 22029, 12116, 9087, 7159, 5507, 0, 0}}},
{{{31320, 30659, 28617, 26505, 23439, 19508, 14824, 9468, 0, 0},
{32369, 31749, 31019, 29730, 22324, 17222, 10029, 5474, 0, 0}},
{{26366, 24620, 20145, 17696, 14040, 9921, 6321, 3391, 0, 0},
{31094, 29516, 27034, 22609, 10371, 8966, 7947, 1828, 0, 0}}},
{{{29679, 28848, 26730, 23308, 18502, 12887, 7002, 3592, 0, 0},
{31684, 30410, 29280, 27646, 21285, 14665, 6745, 2969, 0, 0}},
{{21254, 18974, 15288, 12014, 8407, 5390, 3276, 1491, 0, 0},
{26197, 23158, 17252, 10942, 3676, 1939, 926, 60, 0, 0}}},
{{{27420, 25655, 20948, 16844, 10662, 5991, 2434, 1011, 0, 0},
{30315, 28294, 26461, 23991, 16294, 9793, 3768, 1221, 0, 0}},
{{9658, 8171, 5628, 3874, 2601, 1841, 1376, 674, 0, 0},
{22770, 15107, 7590, 4671, 1460, 730, 365, 73, 0, 0}}}};
constexpr uint16_t kDefaultEobPt512Cdf
[kCoefficientQuantizerContexts][kNumPlaneTypes][kEobPt512SymbolCount + 1] =
{{{32127, 31785, 29061, 27338, 22534, 17810, 13980, 9356, 6707, 0, 0},
{27673, 26322, 22772, 19414, 16751, 14782, 11849, 6639, 3628, 0, 0}},
{{31538, 30490, 27733, 24992, 20897, 17422, 13178, 8184, 4019, 0, 0},
{25503, 22789, 16949, 13518, 10988, 8922, 6290, 4372, 957, 0, 0}},
{{30144, 28832, 26288, 23082, 18789, 15042, 9501, 4358, 1690, 0, 0},
{20753, 17999, 13180, 10716, 8546, 6956, 5468, 3549, 654, 0, 0}},
{{26841, 24959, 21845, 18171, 13329, 8633, 4312, 1626, 708, 0, 0},
{11675, 9725, 7026, 5110, 3671, 3052, 2695, 1948, 812, 0, 0}}};
constexpr uint16_t
kDefaultEobPt1024Cdf[kCoefficientQuantizerContexts][kNumPlaneTypes]
[kEobPt1024SymbolCount + 1] = {
{{32375, 32347, 32017, 31145, 29608, 26416, 19423,
14721, 10197, 6938, 0, 0},
{30903, 30780, 29838, 28526, 22235, 16230, 11414,
5513, 4222, 984, 0, 0}},
{{32072, 31820, 29623, 27066, 23062, 19551, 14917,
10912, 7076, 4734, 0, 0},
{30096, 29177, 23438, 15684, 10043, 8484, 6241,
4741, 4391, 1892, 0, 0}},
{{29984, 28937, 25727, 22247, 17921, 13924, 9613,
6086, 3539, 1723, 0, 0},
{23191, 20302, 15029, 12018, 10707, 9553, 8167,
7285, 6925, 712, 0, 0}},
{{26070, 24434, 20807, 17006, 12582, 8906, 5334,
3442, 1686, 718, 0, 0},
{12199, 10342, 7199, 5909, 4715, 3855, 3282, 3044,
2961, 198, 0, 0}}};
/* clang-format off */
constexpr uint16_t kDefaultEobExtraCdf[kCoefficientQuantizerContexts]
[kNumSquareTransformSizes][kNumPlaneTypes]
[kEobExtraContexts][kBooleanFieldCdfSize] = {
{
{
{{15807, 0, 0}, {15545, 0, 0}, {25147, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{13699, 0, 0}, {10243, 0, 0}, {19391, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{12367, 0, 0}, {15743, 0, 0}, {19923, 0, 0}, {19895, 0, 0},
{18674, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{12087, 0, 0}, {12067, 0, 0}, {17518, 0, 0}, {17751, 0, 0},
{17840, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{8863, 0, 0}, {15574, 0, 0}, {16598, 0, 0}, {15073, 0, 0},
{18942, 0, 0}, {16958, 0, 0}, {20732, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{8809, 0, 0}, {11969, 0, 0}, {13747, 0, 0}, {16565, 0, 0},
{14882, 0, 0}, {18624, 0, 0}, {20758, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{5369, 0, 0}, {16441, 0, 0}, {14697, 0, 0}, {13184, 0, 0},
{12047, 0, 0}, {14336, 0, 0}, {13208, 0, 0}, {22618, 0, 0},
{23963, 0, 0}},
{{7836, 0, 0}, {11935, 0, 0}, {20741, 0, 0}, {16098, 0, 0},
{12854, 0, 0}, {17662, 0, 0}, {15106, 0, 0}, {18985, 0, 0},
{4012, 0, 0}}
},
{
{{9362, 0, 0}, {10923, 0, 0}, {14336, 0, 0}, {16384, 0, 0},
{15672, 0, 0}, {20207, 0, 0}, {15448, 0, 0}, {10373, 0, 0},
{11398, 0, 0}},
{{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
}
},
{
{
{{15297, 0, 0}, {12545, 0, 0}, {21411, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{12433, 0, 0}, {11101, 0, 0}, {17950, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{12338, 0, 0}, {12106, 0, 0}, {17401, 0, 0}, {15798, 0, 0},
{18111, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{10651, 0, 0}, {10740, 0, 0}, {14118, 0, 0}, {16726, 0, 0},
{16883, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{10359, 0, 0}, {11756, 0, 0}, {17118, 0, 0}, {15373, 0, 0},
{17299, 0, 0}, {12563, 0, 0}, {13257, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{8548, 0, 0}, {10288, 0, 0}, {15031, 0, 0}, {13852, 0, 0},
{13500, 0, 0}, {14356, 0, 0}, {13924, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{6777, 0, 0}, {12454, 0, 0}, {15037, 0, 0}, {13090, 0, 0},
{14119, 0, 0}, {15461, 0, 0}, {10970, 0, 0}, {15219, 0, 0},
{17138, 0, 0}},
{{6183, 0, 0}, {11299, 0, 0}, {12336, 0, 0}, {15033, 0, 0},
{13488, 0, 0}, {17533, 0, 0}, {12471, 0, 0}, {10297, 0, 0},
{3771, 0, 0}}
},
{
{{6163, 0, 0}, {21464, 0, 0}, {16042, 0, 0}, {16208, 0, 0},
{11902, 0, 0}, {9244, 0, 0}, {12890, 0, 0}, {19299, 0, 0},
{9684, 0, 0}},
{{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
}
},
{
{
{{13785, 0, 0}, {12256, 0, 0}, {17883, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{12678, 0, 0}, {13324, 0, 0}, {15482, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{13629, 0, 0}, {11281, 0, 0}, {13809, 0, 0}, {11858, 0, 0},
{13679, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{12232, 0, 0}, {12104, 0, 0}, {12143, 0, 0}, {13645, 0, 0},
{17906, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{12935, 0, 0}, {11266, 0, 0}, {15283, 0, 0}, {12501, 0, 0},
{14415, 0, 0}, {9439, 0, 0}, {11290, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{10727, 0, 0}, {9334, 0, 0}, {12767, 0, 0}, {12214, 0, 0},
{11817, 0, 0}, {12623, 0, 0}, {17206, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{9456, 0, 0}, {11161, 0, 0}, {16242, 0, 0}, {13811, 0, 0},
{14734, 0, 0}, {13834, 0, 0}, {8521, 0, 0}, {15847, 0, 0},
{15688, 0, 0}},
{{6189, 0, 0}, {7858, 0, 0}, {14131, 0, 0}, {12968, 0, 0},
{12380, 0, 0}, {22881, 0, 0}, {17126, 0, 0}, {2570, 0, 0},
{8047, 0, 0}}
},
{
{{5770, 0, 0}, {16031, 0, 0}, {14930, 0, 0}, {13846, 0, 0},
{13253, 0, 0}, {14132, 0, 0}, {15435, 0, 0}, {16992, 0, 0},
{10110, 0, 0}},
{{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
}
},
{
{
{{12591, 0, 0}, {11979, 0, 0}, {12506, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{11352, 0, 0}, {11913, 0, 0}, {9358, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{12530, 0, 0}, {11711, 0, 0}, {13609, 0, 0}, {10431, 0, 0},
{12609, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{12643, 0, 0}, {12209, 0, 0}, {11061, 0, 0}, {10472, 0, 0},
{15435, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{12827, 0, 0}, {12241, 0, 0}, {11298, 0, 0}, {10281, 0, 0},
{13210, 0, 0}, {10414, 0, 0}, {12437, 0, 0}, {16384, 0, 0},
{16384, 0, 0}},
{{10016, 0, 0}, {7762, 0, 0}, {10693, 0, 0}, {11192, 0, 0},
{15028, 0, 0}, {11078, 0, 0}, {13557, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
},
{
{{11326, 0, 0}, {10410, 0, 0}, {14265, 0, 0}, {12477, 0, 0},
{12823, 0, 0}, {11474, 0, 0}, {11590, 0, 0}, {13368, 0, 0},
{22212, 0, 0}},
{{8120, 0, 0}, {7819, 0, 0}, {12060, 0, 0}, {8863, 0, 0},
{12267, 0, 0}, {23210, 0, 0}, {23345, 0, 0}, {2403, 0, 0},
{13515, 0, 0}}
},
{
{{6704, 0, 0}, {10670, 0, 0}, {13155, 0, 0}, {12243, 0, 0},
{15173, 0, 0}, {16150, 0, 0}, {12271, 0, 0}, {13779, 0, 0},
{17255, 0, 0}},
{{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}}
}
}
};
constexpr uint16_t kDefaultCoeffBaseEobCdf[kCoefficientQuantizerContexts]
[kNumSquareTransformSizes][kNumPlaneTypes]
[kCoeffBaseEobContexts]
[kCoeffBaseEobSymbolCount + 1] = {
{
{
{{14931, 3713, 0, 0}, {3168, 1322, 0, 0}, {1924, 890, 0, 0},
{7842, 3820, 0, 0}},
{{11403, 2742, 0, 0}, {2256, 345, 0, 0}, {1110, 147, 0, 0},
{3138, 887, 0, 0}}
},
{
{{27051, 6291, 0, 0}, {2277, 1065, 0, 0}, {1218, 610, 0, 0},
{3120, 1277, 0, 0}},
{{20160, 4948, 0, 0}, {2088, 543, 0, 0}, {1959, 433, 0, 0},
{1469, 345, 0, 0}}
},
{
{{30982, 20156, 0, 0}, {2105, 1143, 0, 0}, {429, 300, 0, 0},
{1620, 935, 0, 0}},
{{13911, 8903, 0, 0}, {1340, 340, 0, 0}, {1024, 395, 0, 0},
{993, 242, 0, 0}}
},
{
{{30981, 30236, 0, 0}, {1936, 1106, 0, 0}, {944, 86, 0, 0},
{635, 199, 0, 0}},
{{19017, 10533, 0, 0}, {679, 359, 0, 0}, {5684, 4848, 0, 0},
{3477, 174, 0, 0}}
},
{
{{31043, 29319, 0, 0}, {1666, 833, 0, 0}, {311, 155, 0, 0},
{356, 119, 0, 0}},
{{21845, 10923, 0, 0}, {21845, 10923, 0, 0}, {21845, 10923, 0, 0},
{21845, 10923, 0, 0}}
}
},
{
{
{{15208, 2880, 0, 0}, {3097, 1219, 0, 0}, {1761, 712, 0, 0},
{5482, 2762, 0, 0}},
{{6174, 1556, 0, 0}, {1560, 186, 0, 0}, {933, 131, 0, 0},
{2173, 562, 0, 0}}
},
{
{{17529, 2836, 0, 0}, {1453, 673, 0, 0}, {638, 334, 0, 0},
{1904, 772, 0, 0}},
{{6489, 1800, 0, 0}, {1626, 273, 0, 0}, {1055, 228, 0, 0},
{839, 174, 0, 0}}
},
{
{{30124, 7570, 0, 0}, {730, 317, 0, 0}, {129, 73, 0, 0},
{602, 250, 0, 0}},
{{15581, 5100, 0, 0}, {1054, 218, 0, 0}, {485, 90, 0, 0},
{838, 205, 0, 0}}
},
{
{{31724, 30511, 0, 0}, {2013, 845, 0, 0}, {560, 75, 0, 0},
{524, 153, 0, 0}},
{{11451, 6561, 0, 0}, {3635, 1900, 0, 0}, {3457, 1537, 0, 0},
{3111, 1681, 0, 0}}
},
{
{{32290, 30934, 0, 0}, {1763, 781, 0, 0}, {451, 44, 0, 0},
{1903, 120, 0, 0}},
{{21845, 10923, 0, 0}, {21845, 10923, 0, 0}, {21845, 10923, 0, 0},
{21845, 10923, 0, 0}}
}
},
{
{
{{12676, 1994, 0, 0}, {2073, 748, 0, 0}, {1637, 665, 0, 0},
{4102, 1898, 0, 0}},
{{5510, 1673, 0, 0}, {964, 145, 0, 0}, {1005, 240, 0, 0},
{1330, 262, 0, 0}}
},
{
{{14719, 2279, 0, 0}, {1062, 482, 0, 0}, {605, 295, 0, 0},
{1218, 584, 0, 0}},
{{5652, 1926, 0, 0}, {797, 170, 0, 0}, {680, 192, 0, 0},
{701, 104, 0, 0}}
},
{
{{19914, 3675, 0, 0}, {496, 210, 0, 0}, {101, 39, 0, 0},
{462, 183, 0, 0}},
{{7292, 2402, 0, 0}, {599, 81, 0, 0}, {289, 79, 0, 0},
{1095, 134, 0, 0}}
},
{
{{29959, 13467, 0, 0}, {563, 146, 0, 0}, {430, 38, 0, 0},
{982, 152, 0, 0}},
{{10031, 3663, 0, 0}, {1958, 406, 0, 0}, {2754, 141, 0, 0},
{2240, 194, 0, 0}}
},
{
{{31833, 29386, 0, 0}, {1979, 859, 0, 0}, {302, 12, 0, 0},
{1908, 255, 0, 0}},
{{21845, 10923, 0, 0}, {21845, 10923, 0, 0}, {21845, 10923, 0, 0},
{21845, 10923, 0, 0}}
}
},
{
{
{{10271, 1570, 0, 0}, {1053, 273, 0, 0}, {1162, 431, 0, 0},
{2380, 778, 0, 0}},
{{4891, 1184, 0, 0}, {598, 40, 0, 0}, {613, 80, 0, 0},
{549, 66, 0, 0}}
},
{
{{11311, 1725, 0, 0}, {817, 285, 0, 0}, {615, 206, 0, 0},
{1295, 553, 0, 0}},
{{5210, 1617, 0, 0}, {748, 128, 0, 0}, {671, 193, 0, 0},
{526, 49, 0, 0}}
},
{
{{12788, 2177, 0, 0}, {549, 171, 0, 0}, {187, 62, 0, 0},
{965, 481, 0, 0}},
{{6295, 2261, 0, 0}, {337, 45, 0, 0}, {572, 157, 0, 0},
{1180, 240, 0, 0}}
},
{
{{8121, 2305, 0, 0}, {356, 73, 0, 0}, {300, 48, 0, 0},
{1499, 245, 0, 0}},
{{4286, 1263, 0, 0}, {616, 67, 0, 0}, {1036, 170, 0, 0},
{1001, 56, 0, 0}}
},
{
{{20410, 7791, 0, 0}, {1437, 383, 0, 0}, {134, 12, 0, 0},
{2357, 220, 0, 0}},
{{21845, 10923, 0, 0}, {21845, 10923, 0, 0}, {21845, 10923, 0, 0},
{21845, 10923, 0, 0}}
}
}
};
/* clang-format on */
constexpr uint16_t kDefaultCoeffBaseCdf
[kCoefficientQuantizerContexts][kNumSquareTransformSizes][kNumPlaneTypes]
[kCoeffBaseContexts][kCoeffBaseSymbolCount + 1] = {
{{{{28734, 23838, 20041, 0, 0}, {14686, 3027, 891, 0, 0},
{20172, 6644, 2275, 0, 0}, {23322, 11650, 5763, 0, 0},
{26460, 17627, 11489, 0, 0}, {30305, 26411, 22985, 0, 0},
{12101, 2222, 839, 0, 0}, {19725, 6645, 2634, 0, 0},
{24617, 14011, 7990, 0, 0}, {27513, 19929, 14136, 0, 0},
{29948, 25562, 21607, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {17032, 5215, 2164, 0, 0},
{21558, 8974, 3981, 0, 0}, {26821, 18894, 13067, 0, 0},
{28553, 23445, 18877, 0, 0}, {29935, 26306, 22709, 0, 0},
{13163, 2375, 1186, 0, 0}, {19245, 6516, 2520, 0, 0},
{24322, 14146, 8256, 0, 0}, {28950, 22425, 16794, 0, 0},
{31287, 28651, 25972, 0, 0}, {10119, 1466, 578, 0, 0},
{17939, 5641, 2319, 0, 0}, {24455, 15066, 9464, 0, 0},
{29746, 24467, 19982, 0, 0}, {31232, 28356, 25584, 0, 0},
{10414, 2994, 1396, 0, 0}, {18045, 7296, 3554, 0, 0},
{26095, 19023, 14106, 0, 0}, {30700, 27002, 23446, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{26466, 16324, 11007, 0, 0}, {9728, 1230, 293, 0, 0},
{17572, 4316, 1272, 0, 0}, {22748, 9822, 4254, 0, 0},
{26235, 15906, 9267, 0, 0}, {29230, 22952, 17692, 0, 0},
{8324, 893, 243, 0, 0}, {16887, 3844, 1133, 0, 0},
{22846, 9895, 4302, 0, 0}, {26241, 15802, 9077, 0, 0},
{28654, 21465, 15548, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {12567, 1998, 559, 0, 0},
{18014, 4697, 1510, 0, 0}, {24390, 12582, 6251, 0, 0},
{26852, 17469, 10790, 0, 0}, {28500, 21185, 14867, 0, 0},
{8407, 743, 187, 0, 0}, {14095, 2663, 825, 0, 0},
{22572, 10524, 5192, 0, 0}, {27273, 18419, 12351, 0, 0},
{30092, 25353, 21270, 0, 0}, {8090, 810, 183, 0, 0},
{14139, 2862, 937, 0, 0}, {23404, 12044, 6453, 0, 0},
{28127, 20450, 14674, 0, 0}, {30010, 25381, 21189, 0, 0},
{7335, 926, 299, 0, 0}, {13973, 3479, 1357, 0, 0},
{25124, 15184, 9176, 0, 0}, {29360, 23754, 17721, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{28232, 22696, 18767, 0, 0}, {7309, 1352, 562, 0, 0},
{16163, 4720, 1950, 0, 0}, {21760, 9911, 5049, 0, 0},
{25853, 16500, 10453, 0, 0}, {30143, 25956, 22231, 0, 0},
{8511, 980, 269, 0, 0}, {15888, 3314, 889, 0, 0},
{20810, 7714, 2990, 0, 0}, {24852, 14050, 7684, 0, 0},
{29385, 23991, 19322, 0, 0}, {10048, 1165, 375, 0, 0},
{17808, 4643, 1433, 0, 0}, {23037, 10558, 4840, 0, 0},
{26464, 16936, 10491, 0, 0}, {29858, 24950, 20602, 0, 0},
{12393, 2141, 637, 0, 0}, {18864, 5484, 1881, 0, 0},
{23400, 11210, 5624, 0, 0}, {26831, 17802, 11649, 0, 0},
{30101, 25543, 21449, 0, 0}, {8798, 1298, 390, 0, 0},
{15595, 3034, 750, 0, 0}, {19973, 7327, 2803, 0, 0},
{23787, 13088, 6875, 0, 0}, {28040, 21396, 15866, 0, 0},
{8481, 971, 329, 0, 0}, {16065, 3623, 1072, 0, 0},
{21935, 9214, 4043, 0, 0}, {26300, 16202, 9711, 0, 0},
{30353, 26206, 22490, 0, 0}, {6158, 373, 109, 0, 0},
{14178, 2270, 651, 0, 0}, {20348, 7012, 2818, 0, 0},
{25129, 14022, 8058, 0, 0}, {29767, 24682, 20421, 0, 0},
{7692, 704, 188, 0, 0}, {14822, 2640, 740, 0, 0},
{20744, 7783, 3390, 0, 0}, {25251, 14378, 8464, 0, 0},
{29525, 23987, 19437, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{26731, 15997, 10811, 0, 0}, {7994, 1064, 342, 0, 0},
{15938, 4179, 1712, 0, 0}, {22166, 9940, 5008, 0, 0},
{26035, 15939, 9697, 0, 0}, {29518, 23854, 19212, 0, 0},
{7186, 548, 100, 0, 0}, {14109, 2426, 545, 0, 0},
{20222, 6619, 2253, 0, 0}, {24348, 12317, 5967, 0, 0},
{28132, 20348, 14424, 0, 0}, {5187, 406, 129, 0, 0},
{13781, 2685, 790, 0, 0}, {21441, 8520, 3684, 0, 0},
{25504, 15049, 8648, 0, 0}, {28773, 22000, 16599, 0, 0},
{6875, 937, 281, 0, 0}, {16191, 4181, 1389, 0, 0},
{22579, 10020, 4586, 0, 0}, {25936, 15674, 9212, 0, 0},
{29060, 22658, 17434, 0, 0}, {6864, 486, 112, 0, 0},
{13047, 1976, 492, 0, 0}, {19949, 6525, 2357, 0, 0},
{24196, 12154, 5877, 0, 0}, {27404, 18709, 12301, 0, 0},
{6188, 330, 91, 0, 0}, {11916, 1543, 428, 0, 0},
{20333, 7068, 2801, 0, 0}, {24077, 11943, 5792, 0, 0},
{28322, 20559, 15499, 0, 0}, {5418, 339, 72, 0, 0},
{11396, 1791, 496, 0, 0}, {20095, 7498, 2915, 0, 0},
{23560, 11843, 6128, 0, 0}, {27750, 19417, 14036, 0, 0},
{5417, 289, 55, 0, 0}, {11370, 1559, 381, 0, 0},
{20606, 7721, 2926, 0, 0}, {24872, 14077, 7449, 0, 0},
{28098, 19886, 13887, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{27281, 22308, 19060, 0, 0}, {11171, 4465, 2094, 0, 0},
{21731, 10815, 6292, 0, 0}, {24621, 14806, 9816, 0, 0},
{27526, 19707, 14236, 0, 0}, {30879, 27560, 24586, 0, 0},
{5994, 635, 178, 0, 0}, {14924, 3204, 1001, 0, 0},
{21078, 8330, 3597, 0, 0}, {25226, 14553, 8309, 0, 0},
{29775, 24718, 20449, 0, 0}, {4745, 440, 177, 0, 0},
{14117, 2642, 814, 0, 0}, {20604, 7622, 3179, 0, 0},
{25006, 14238, 7997, 0, 0}, {29276, 23585, 18848, 0, 0},
{5177, 760, 277, 0, 0}, {15619, 3915, 1258, 0, 0},
{21283, 8765, 3908, 0, 0}, {25071, 14682, 8558, 0, 0},
{29693, 24769, 20550, 0, 0}, {4500, 286, 114, 0, 0},
{13137, 1717, 364, 0, 0}, {18908, 5508, 1748, 0, 0},
{23163, 11155, 5174, 0, 0}, {27892, 20606, 14860, 0, 0},
{5520, 452, 192, 0, 0}, {13813, 2311, 693, 0, 0},
{20944, 8771, 3973, 0, 0}, {25422, 14572, 8121, 0, 0},
{29365, 23521, 18657, 0, 0}, {3057, 113, 33, 0, 0},
{11599, 1374, 351, 0, 0}, {19281, 5570, 1811, 0, 0},
{23940, 11085, 5154, 0, 0}, {28498, 21317, 15730, 0, 0},
{4060, 190, 37, 0, 0}, {12648, 1527, 286, 0, 0},
{19076, 5218, 1447, 0, 0}, {23350, 10254, 4329, 0, 0},
{27769, 19485, 13306, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{27095, 18466, 13057, 0, 0}, {6517, 2067, 934, 0, 0},
{19986, 8985, 4965, 0, 0}, {23641, 12111, 6960, 0, 0},
{26400, 16560, 11306, 0, 0}, {30303, 25591, 21946, 0, 0},
{2807, 205, 49, 0, 0}, {14450, 2877, 819, 0, 0},
{21407, 8254, 3411, 0, 0}, {24868, 13165, 7161, 0, 0},
{28766, 22178, 17222, 0, 0}, {3131, 458, 173, 0, 0},
{14472, 2855, 959, 0, 0}, {22624, 11253, 5897, 0, 0},
{27410, 18446, 12374, 0, 0}, {29701, 24406, 19422, 0, 0},
{4116, 298, 92, 0, 0}, {15230, 1997, 559, 0, 0},
{18844, 5886, 2274, 0, 0}, {22272, 9931, 4899, 0, 0},
{25532, 16372, 11147, 0, 0}, {2025, 81, 22, 0, 0},
{9762, 1092, 279, 0, 0}, {18274, 4940, 1648, 0, 0},
{22594, 9967, 4416, 0, 0}, {26526, 17487, 11725, 0, 0},
{6951, 525, 48, 0, 0}, {14150, 1401, 443, 0, 0},
{18771, 4450, 890, 0, 0}, {20513, 6234, 1385, 0, 0},
{23207, 11180, 4318, 0, 0}, {4580, 133, 44, 0, 0},
{10708, 403, 40, 0, 0}, {14666, 2078, 240, 0, 0},
{18572, 3904, 769, 0, 0}, {20506, 6976, 1903, 0, 0},
{8592, 659, 140, 0, 0}, {14488, 3087, 805, 0, 0},
{22563, 9065, 3104, 0, 0}, {24879, 12743, 5092, 0, 0},
{26708, 16025, 8798, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{27627, 25672, 24508, 0, 0}, {5582, 3746, 2979, 0, 0},
{26100, 20200, 17086, 0, 0}, {30596, 26587, 24130, 0, 0},
{31642, 29389, 28237, 0, 0}, {32325, 31407, 30514, 0, 0},
{6685, 1615, 332, 0, 0}, {19282, 8165, 4285, 0, 0},
{26260, 17928, 12858, 0, 0}, {29382, 23968, 19482, 0, 0},
{31238, 28446, 25714, 0, 0}, {3129, 688, 220, 0, 0},
{16871, 5216, 2478, 0, 0}, {24180, 12721, 7385, 0, 0},
{27879, 19429, 13499, 0, 0}, {30528, 25897, 22270, 0, 0},
{4603, 571, 251, 0, 0}, {12033, 2341, 1200, 0, 0},
{18443, 8097, 5076, 0, 0}, {27649, 20214, 14963, 0, 0},
{30958, 27327, 24507, 0, 0}, {1556, 44, 20, 0, 0},
{9416, 1002, 223, 0, 0}, {18099, 5198, 1709, 0, 0},
{24276, 11874, 5496, 0, 0}, {29124, 22574, 17564, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{30307, 25755, 23397, 0, 0}, {8019, 3168, 1782, 0, 0},
{23302, 13731, 10351, 0, 0}, {29184, 23488, 18368, 0, 0},
{31263, 28839, 27335, 0, 0}, {32091, 31268, 30032, 0, 0},
{8781, 2066, 651, 0, 0}, {19214, 8197, 3505, 0, 0},
{26557, 18212, 11613, 0, 0}, {29633, 21796, 17143, 0, 0},
{30333, 25641, 21341, 0, 0}, {1468, 236, 218, 0, 0},
{18011, 2403, 814, 0, 0}, {28363, 21156, 14215, 0, 0},
{32188, 28636, 25446, 0, 0}, {31073, 22599, 18644, 0, 0},
{2760, 486, 177, 0, 0}, {13524, 2660, 1020, 0, 0},
{21588, 8610, 3213, 0, 0}, {27118, 17796, 13559, 0, 0},
{30654, 27659, 24312, 0, 0}, {912, 52, 20, 0, 0},
{9756, 1104, 196, 0, 0}, {19074, 6112, 2132, 0, 0},
{24626, 13260, 6675, 0, 0}, {28515, 21813, 16044, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{32167, 31785, 31457, 0, 0}, {14043, 9362, 4681, 0, 0},
{27307, 24576, 21845, 0, 0}, {28987, 17644, 11343, 0, 0},
{30181, 25007, 20696, 0, 0}, {32662, 32310, 31958, 0, 0},
{10486, 3058, 874, 0, 0}, {24260, 11842, 6784, 0, 0},
{29042, 20055, 14685, 0, 0}, {31148, 25656, 21875, 0, 0},
{32039, 30532, 29273, 0, 0}, {2605, 294, 84, 0, 0},
{14464, 2304, 768, 0, 0}, {21325, 6242, 3121, 0, 0},
{26761, 17476, 11469, 0, 0}, {30534, 26065, 23831, 0, 0},
{1814, 591, 197, 0, 0}, {15405, 3206, 1692, 0, 0},
{23082, 10304, 5358, 0, 0}, {24576, 16384, 11378, 0, 0},
{31013, 24722, 21504, 0, 0}, {1600, 34, 20, 0, 0},
{10282, 1327, 297, 0, 0}, {19935, 7141, 3030, 0, 0},
{25788, 15389, 9646, 0, 0}, {29657, 23881, 19289, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}}},
{{{{26727, 20914, 16841, 0, 0}, {12442, 1863, 517, 0, 0},
{18604, 5937, 2043, 0, 0}, {23008, 12121, 6183, 0, 0},
{26352, 17815, 11549, 0, 0}, {29802, 25617, 21877, 0, 0},
{9201, 1394, 514, 0, 0}, {17790, 5352, 1822, 0, 0},
{23334, 12543, 6514, 0, 0}, {26110, 18210, 12233, 0, 0},
{28852, 24091, 19779, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {14680, 3223, 1181, 0, 0},
{19706, 6925, 2695, 0, 0}, {23828, 15941, 10517, 0, 0},
{25114, 19548, 14795, 0, 0}, {27035, 22452, 18312, 0, 0},
{9889, 1380, 654, 0, 0}, {17553, 4775, 1813, 0, 0},
{23371, 13323, 7790, 0, 0}, {29326, 22955, 17424, 0, 0},
{31400, 28832, 26236, 0, 0}, {7274, 735, 362, 0, 0},
{15996, 4805, 2050, 0, 0}, {23349, 14603, 9508, 0, 0},
{30091, 25267, 20971, 0, 0}, {31252, 28424, 25598, 0, 0},
{6212, 1314, 667, 0, 0}, {15640, 5733, 2660, 0, 0},
{24444, 17424, 12519, 0, 0}, {30865, 27072, 23299, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{24313, 13765, 8400, 0, 0}, {9205, 747, 164, 0, 0},
{16531, 3322, 833, 0, 0}, {22044, 8769, 3410, 0, 0},
{26043, 15240, 8352, 0, 0}, {28841, 21841, 15943, 0, 0},
{6455, 480, 134, 0, 0}, {15338, 2673, 673, 0, 0},
{21652, 8162, 3089, 0, 0}, {25573, 14384, 7499, 0, 0},
{28042, 19916, 13453, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {9946, 1120, 285, 0, 0},
{16044, 3135, 839, 0, 0}, {22507, 9735, 4043, 0, 0},
{25739, 14928, 8240, 0, 0}, {27901, 18882, 11266, 0, 0},
{7470, 876, 277, 0, 0}, {14959, 3438, 1256, 0, 0},
{23100, 11439, 6189, 0, 0}, {27994, 19812, 13792, 0, 0},
{30446, 25738, 21228, 0, 0}, {7296, 848, 225, 0, 0},
{14811, 3381, 1136, 0, 0}, {23572, 12175, 6368, 0, 0},
{28088, 20063, 13566, 0, 0}, {29851, 24312, 19332, 0, 0},
{6297, 709, 194, 0, 0}, {14310, 2985, 859, 0, 0},
{24368, 13304, 6812, 0, 0}, {28956, 21795, 15562, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{25989, 19025, 15090, 0, 0}, {7962, 971, 311, 0, 0},
{15152, 3721, 1396, 0, 0}, {21705, 9593, 4765, 0, 0},
{26247, 16658, 10444, 0, 0}, {30004, 25264, 21114, 0, 0},
{7502, 401, 131, 0, 0}, {13714, 2215, 593, 0, 0},
{20629, 7556, 2961, 0, 0}, {25457, 14606, 8064, 0, 0},
{29371, 23604, 18694, 0, 0}, {6780, 560, 246, 0, 0},
{16515, 3856, 1242, 0, 0}, {23617, 11381, 5396, 0, 0},
{27080, 17853, 11272, 0, 0}, {30051, 25141, 20764, 0, 0},
{9624, 913, 325, 0, 0}, {16698, 4277, 1443, 0, 0},
{24066, 12301, 6251, 0, 0}, {27525, 18812, 12401, 0, 0},
{30147, 25433, 21201, 0, 0}, {6132, 428, 138, 0, 0},
{12778, 1718, 427, 0, 0}, {19525, 6663, 2453, 0, 0},
{24180, 13247, 6850, 0, 0}, {28051, 21183, 15464, 0, 0},
{6924, 476, 186, 0, 0}, {13678, 2133, 671, 0, 0},
{20805, 8222, 3829, 0, 0}, {26550, 16681, 10414, 0, 0},
{30428, 26160, 22342, 0, 0}, {4722, 192, 74, 0, 0},
{11590, 1455, 472, 0, 0}, {19282, 6584, 2898, 0, 0},
{25619, 14897, 9045, 0, 0}, {29935, 24810, 20509, 0, 0},
{5058, 240, 82, 0, 0}, {12094, 1692, 500, 0, 0},
{20355, 7813, 3525, 0, 0}, {26092, 15841, 9671, 0, 0},
{29802, 24435, 19849, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{24129, 13429, 8339, 0, 0}, {8364, 931, 243, 0, 0},
{15771, 3343, 984, 0, 0}, {21515, 8534, 3619, 0, 0},
{26017, 15374, 8740, 0, 0}, {29278, 22938, 17577, 0, 0},
{6485, 297, 54, 0, 0}, {13169, 1600, 326, 0, 0},
{19622, 5814, 1875, 0, 0}, {24554, 12180, 5878, 0, 0},
{28069, 19687, 13468, 0, 0}, {4556, 310, 99, 0, 0},
{14174, 2452, 668, 0, 0}, {21549, 8360, 3534, 0, 0},
{25903, 15112, 8619, 0, 0}, {29090, 22406, 16762, 0, 0},
{6943, 632, 152, 0, 0}, {15455, 2915, 747, 0, 0},
{21571, 8297, 3296, 0, 0}, {25821, 14987, 8363, 0, 0},
{29000, 22108, 16507, 0, 0}, {5416, 268, 62, 0, 0},
{11918, 1300, 299, 0, 0}, {18747, 5061, 1635, 0, 0},
{23804, 11020, 4930, 0, 0}, {27331, 18103, 11581, 0, 0},
{6464, 276, 70, 0, 0}, {12359, 1388, 383, 0, 0},
{19086, 5546, 2136, 0, 0}, {23794, 11532, 6083, 0, 0},
{28534, 21103, 15834, 0, 0}, {6495, 411, 57, 0, 0},
{12096, 1526, 327, 0, 0}, {18596, 5514, 1866, 0, 0},
{22898, 10870, 5493, 0, 0}, {27604, 19262, 13498, 0, 0},
{6043, 309, 40, 0, 0}, {11777, 1326, 241, 0, 0},
{19697, 6334, 1957, 0, 0}, {24584, 12678, 6026, 0, 0},
{27965, 19513, 12873, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{25213, 17826, 14267, 0, 0}, {8358, 1590, 481, 0, 0},
{18374, 6030, 2515, 0, 0}, {24355, 13214, 7573, 0, 0},
{28002, 19844, 13983, 0, 0}, {30739, 26962, 23561, 0, 0},
{5992, 404, 105, 0, 0}, {14036, 2801, 837, 0, 0},
{21763, 8982, 3916, 0, 0}, {26302, 15859, 9258, 0, 0},
{29724, 24130, 19349, 0, 0}, {3560, 186, 64, 0, 0},
{12700, 1911, 560, 0, 0}, {20765, 7683, 3173, 0, 0},
{25821, 15018, 8579, 0, 0}, {29523, 23665, 18761, 0, 0},
{5409, 303, 99, 0, 0}, {13347, 2154, 594, 0, 0},
{20853, 7758, 3189, 0, 0}, {25818, 15092, 8694, 0, 0},
{29761, 24295, 19672, 0, 0}, {3766, 92, 33, 0, 0},
{10666, 919, 192, 0, 0}, {18360, 4759, 1363, 0, 0},
{23741, 11089, 4837, 0, 0}, {28074, 20090, 14020, 0, 0},
{4552, 240, 86, 0, 0}, {11919, 1504, 450, 0, 0},
{20012, 6953, 3017, 0, 0}, {25203, 13967, 7845, 0, 0},
{29259, 23235, 18291, 0, 0}, {2635, 81, 29, 0, 0},
{9705, 858, 253, 0, 0}, {18180, 4717, 1636, 0, 0},
{23683, 11119, 5311, 0, 0}, {28507, 21114, 15504, 0, 0},
{3250, 77, 20, 0, 0}, {10317, 809, 155, 0, 0},
{17904, 4046, 1068, 0, 0}, {23073, 9804, 4052, 0, 0},
{27836, 19410, 13266, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{26303, 15810, 11080, 0, 0}, {7569, 1254, 408, 0, 0},
{17994, 5619, 2161, 0, 0}, {23511, 11330, 5796, 0, 0},
{27045, 17585, 10886, 0, 0}, {29618, 23889, 19037, 0, 0},
{5779, 506, 86, 0, 0}, {15372, 2831, 683, 0, 0},
{21381, 7867, 2984, 0, 0}, {25479, 13947, 7220, 0, 0},
{29034, 22191, 16682, 0, 0}, {3040, 267, 73, 0, 0},
{15337, 3067, 865, 0, 0}, {22847, 9942, 4468, 0, 0},
{26872, 17334, 10700, 0, 0}, {29338, 23122, 18011, 0, 0},
{4154, 257, 63, 0, 0}, {13404, 2130, 505, 0, 0},
{19639, 6514, 2366, 0, 0}, {24014, 12284, 6328, 0, 0},
{28390, 21161, 15658, 0, 0}, {2476, 97, 24, 0, 0},
{10988, 1165, 267, 0, 0}, {18454, 4939, 1477, 0, 0},
{23157, 10441, 4505, 0, 0}, {27878, 19681, 13703, 0, 0},
{6906, 201, 35, 0, 0}, {11974, 718, 201, 0, 0},
{15525, 2143, 514, 0, 0}, {19485, 5140, 1294, 0, 0},
{23099, 10236, 3850, 0, 0}, {5333, 71, 20, 0, 0},
{7846, 378, 54, 0, 0}, {11319, 1264, 232, 0, 0},
{16376, 3039, 936, 0, 0}, {21076, 7884, 3692, 0, 0},
{8575, 478, 33, 0, 0}, {13859, 1664, 205, 0, 0},
{20532, 5927, 1365, 0, 0}, {24597, 10928, 3686, 0, 0},
{25544, 15488, 7493, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{29690, 25929, 22878, 0, 0}, {18931, 12318, 8289, 0, 0},
{26854, 18546, 13440, 0, 0}, {28902, 22501, 18006, 0, 0},
{30156, 25560, 21726, 0, 0}, {31701, 29777, 27992, 0, 0},
{6951, 1122, 239, 0, 0}, {19060, 6430, 2383, 0, 0},
{25440, 14183, 7898, 0, 0}, {28077, 19688, 13492, 0, 0},
{30943, 27515, 24416, 0, 0}, {3382, 453, 144, 0, 0},
{15608, 3767, 1408, 0, 0}, {23166, 10906, 5372, 0, 0},
{26853, 16996, 10620, 0, 0}, {29982, 24989, 20721, 0, 0},
{3522, 318, 105, 0, 0}, {14072, 2839, 950, 0, 0},
{22258, 9399, 4208, 0, 0}, {26539, 16269, 9643, 0, 0},
{30160, 25320, 21063, 0, 0}, {2015, 58, 20, 0, 0},
{11130, 1281, 265, 0, 0}, {19831, 5914, 1898, 0, 0},
{24586, 12172, 5798, 0, 0}, {29131, 22499, 17271, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{27524, 20618, 15862, 0, 0}, {12282, 5910, 3067, 0, 0},
{25012, 14451, 9033, 0, 0}, {29316, 23512, 19622, 0, 0},
{30748, 27562, 24539, 0, 0}, {30967, 27775, 24865, 0, 0},
{5717, 910, 237, 0, 0}, {16780, 5237, 2149, 0, 0},
{23580, 11284, 6049, 0, 0}, {26495, 15582, 8968, 0, 0},
{29660, 23413, 18004, 0, 0}, {1692, 248, 88, 0, 0},
{14649, 2731, 918, 0, 0}, {22524, 9799, 5296, 0, 0},
{28076, 18691, 13495, 0, 0}, {29074, 21091, 15212, 0, 0},
{2708, 187, 48, 0, 0}, {11757, 1993, 648, 0, 0},
{20837, 7948, 3479, 0, 0}, {25649, 15106, 8412, 0, 0},
{28935, 22062, 16464, 0, 0}, {814, 37, 20, 0, 0},
{8855, 1044, 279, 0, 0}, {17248, 4708, 1482, 0, 0},
{21251, 9760, 4197, 0, 0}, {26575, 18260, 12139, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{31733, 29961, 28612, 0, 0}, {19606, 14630, 11829, 0, 0},
{30072, 26135, 24013, 0, 0}, {31395, 28607, 25915, 0, 0},
{31669, 30022, 28052, 0, 0}, {32428, 31747, 31169, 0, 0},
{9942, 2349, 633, 0, 0}, {22373, 11006, 5826, 0, 0},
{28042, 20361, 15407, 0, 0}, {30321, 25688, 22175, 0, 0},
{31541, 29051, 26757, 0, 0}, {4612, 1344, 834, 0, 0},
{15853, 5014, 2395, 0, 0}, {23620, 11778, 6337, 0, 0},
{26818, 17253, 11620, 0, 0}, {30276, 25441, 21242, 0, 0},
{2166, 291, 98, 0, 0}, {12742, 2813, 1200, 0, 0},
{21548, 9140, 4663, 0, 0}, {26116, 15749, 9795, 0, 0},
{29704, 24232, 19725, 0, 0}, {999, 44, 20, 0, 0},
{10538, 1881, 395, 0, 0}, {20534, 7689, 3037, 0, 0},
{25442, 13952, 7415, 0, 0}, {28835, 21861, 16152, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}}},
{{{{23872, 16541, 12138, 0, 0}, {9139, 986, 241, 0, 0},
{17595, 5013, 1447, 0, 0}, {22610, 11535, 5386, 0, 0},
{26348, 17911, 11210, 0, 0}, {29499, 24613, 20122, 0, 0},
{7933, 759, 272, 0, 0}, {16259, 4347, 1189, 0, 0},
{21811, 11254, 5350, 0, 0}, {24887, 16838, 10672, 0, 0},
{27380, 21808, 16850, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {12023, 1995, 675, 0, 0},
{17568, 5547, 1907, 0, 0}, {19736, 11895, 7101, 0, 0},
{20483, 14105, 9274, 0, 0}, {21205, 15287, 11279, 0, 0},
{6508, 786, 448, 0, 0}, {17371, 4685, 1668, 0, 0},
{23026, 13551, 7944, 0, 0}, {29507, 23139, 17406, 0, 0},
{31288, 28446, 25269, 0, 0}, {5169, 512, 308, 0, 0},
{15911, 5109, 1994, 0, 0}, {23217, 14478, 9020, 0, 0},
{29716, 23835, 18665, 0, 0}, {30747, 26858, 22981, 0, 0},
{3763, 753, 376, 0, 0}, {15091, 5074, 1905, 0, 0},
{23564, 15412, 9549, 0, 0}, {30365, 25252, 19954, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{21960, 10712, 5872, 0, 0}, {7029, 455, 92, 0, 0},
{15480, 2565, 547, 0, 0}, {21409, 7890, 2872, 0, 0},
{25819, 15001, 7875, 0, 0}, {28481, 20972, 14697, 0, 0},
{4888, 247, 63, 0, 0}, {13730, 1764, 354, 0, 0},
{20204, 6423, 2000, 0, 0}, {24499, 12821, 5989, 0, 0},
{27094, 18111, 11094, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {7026, 449, 97, 0, 0},
{13211, 1604, 314, 0, 0}, {19387, 6387, 2013, 0, 0},
{22667, 11302, 6046, 0, 0}, {23559, 13118, 5943, 0, 0},
{5661, 851, 336, 0, 0}, {14712, 3875, 1565, 0, 0},
{22568, 11334, 6004, 0, 0}, {28108, 19855, 13266, 0, 0},
{30400, 25838, 20264, 0, 0}, {5808, 610, 155, 0, 0},
{14140, 2763, 737, 0, 0}, {22535, 10326, 4536, 0, 0},
{27297, 18138, 11252, 0, 0}, {29533, 22001, 15659, 0, 0},
{5072, 328, 76, 0, 0}, {12736, 1601, 330, 0, 0},
{24068, 11427, 4326, 0, 0}, {27106, 17937, 10973, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{23064, 15474, 11636, 0, 0}, {6006, 490, 135, 0, 0},
{14386, 3148, 949, 0, 0}, {21877, 9293, 4045, 0, 0},
{26410, 16185, 9459, 0, 0}, {29520, 23650, 18627, 0, 0},
{5564, 195, 69, 0, 0}, {12950, 1944, 439, 0, 0},
{20996, 7648, 2727, 0, 0}, {25773, 14735, 7729, 0, 0},
{29016, 22326, 16670, 0, 0}, {5546, 512, 209, 0, 0},
{17412, 4369, 1293, 0, 0}, {23947, 12133, 5711, 0, 0},
{27257, 18364, 11529, 0, 0}, {29833, 24546, 19717, 0, 0},
{7893, 648, 239, 0, 0}, {17535, 4503, 1323, 0, 0},
{24163, 12198, 5836, 0, 0}, {27337, 18355, 11572, 0, 0},
{29774, 24427, 19545, 0, 0}, {4567, 164, 68, 0, 0},
{11727, 1322, 312, 0, 0}, {19547, 6555, 2293, 0, 0},
{24513, 13383, 6731, 0, 0}, {27838, 20183, 13938, 0, 0},
{4000, 320, 141, 0, 0}, {13063, 2207, 747, 0, 0},
{21196, 9179, 4548, 0, 0}, {27236, 17734, 11322, 0, 0},
{30308, 25618, 21312, 0, 0}, {2894, 149, 69, 0, 0},
{11147, 1697, 567, 0, 0}, {20257, 8021, 3776, 0, 0},
{26487, 16373, 10020, 0, 0}, {29522, 23490, 18271, 0, 0},
{3053, 143, 56, 0, 0}, {11810, 1757, 485, 0, 0},
{21535, 9097, 3962, 0, 0}, {26756, 16640, 9900, 0, 0},
{29341, 22917, 17354, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{21752, 10657, 5974, 0, 0}, {6822, 411, 91, 0, 0},
{14878, 2316, 516, 0, 0}, {21090, 7626, 2952, 0, 0},
{26048, 15234, 8184, 0, 0}, {28538, 21103, 14948, 0, 0},
{4368, 145, 21, 0, 0}, {11604, 1100, 193, 0, 0},
{19196, 5380, 1586, 0, 0}, {24534, 12018, 5410, 0, 0},
{27703, 18713, 11871, 0, 0}, {3787, 221, 63, 0, 0},
{14087, 2225, 529, 0, 0}, {21849, 8693, 3482, 0, 0},
{26337, 15569, 8691, 0, 0}, {28949, 22304, 16150, 0, 0},
{5898, 301, 75, 0, 0}, {13727, 1937, 421, 0, 0},
{20974, 7557, 2752, 0, 0}, {25880, 14749, 7798, 0, 0},
{28398, 20405, 13776, 0, 0}, {3190, 98, 24, 0, 0},
{9609, 761, 155, 0, 0}, {17453, 4099, 1092, 0, 0},
{23470, 10161, 3986, 0, 0}, {26624, 16855, 9800, 0, 0},
{4658, 269, 99, 0, 0}, {11194, 1831, 753, 0, 0},
{20009, 7950, 4041, 0, 0}, {26223, 16007, 9726, 0, 0},
{29119, 22171, 15935, 0, 0}, {4605, 216, 40, 0, 0},
{10667, 1299, 304, 0, 0}, {19608, 7296, 2625, 0, 0},
{25465, 14084, 7300, 0, 0}, {27527, 18793, 11813, 0, 0},
{4368, 137, 24, 0, 0}, {10664, 975, 165, 0, 0},
{19211, 6197, 1922, 0, 0}, {25019, 12907, 6093, 0, 0},
{27895, 18738, 11534, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{22968, 15133, 11695, 0, 0}, {6615, 883, 241, 0, 0},
{17730, 4916, 1762, 0, 0}, {24050, 12204, 6282, 0, 0},
{27640, 18692, 12254, 0, 0}, {30132, 25202, 20843, 0, 0},
{5217, 264, 67, 0, 0}, {14458, 2714, 668, 0, 0},
{22557, 9348, 3686, 0, 0}, {26546, 15892, 8852, 0, 0},
{29306, 22814, 17270, 0, 0}, {2777, 135, 47, 0, 0},
{12885, 2017, 567, 0, 0}, {21627, 8584, 3483, 0, 0},
{26348, 15828, 8994, 0, 0}, {29376, 23015, 17650, 0, 0},
{4303, 152, 56, 0, 0}, {12918, 2066, 524, 0, 0},
{21785, 8744, 3545, 0, 0}, {26474, 15998, 9186, 0, 0},
{29524, 23485, 18259, 0, 0}, {2745, 51, 20, 0, 0},
{9828, 736, 142, 0, 0}, {18486, 4840, 1295, 0, 0},
{24206, 11441, 4854, 0, 0}, {27922, 19375, 12849, 0, 0},
{2787, 178, 73, 0, 0}, {12303, 1805, 602, 0, 0},
{21289, 9189, 4573, 0, 0}, {26852, 17120, 10695, 0, 0},
{29737, 24163, 19370, 0, 0}, {1622, 77, 29, 0, 0},
{9662, 1044, 324, 0, 0}, {18985, 6030, 2329, 0, 0},
{24916, 13300, 6961, 0, 0}, {28908, 21644, 15915, 0, 0},
{1754, 44, 20, 0, 0}, {9139, 659, 140, 0, 0},
{18021, 4653, 1365, 0, 0}, {24223, 11526, 5290, 0, 0},
{28194, 19987, 13701, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{23583, 13074, 8080, 0, 0}, {6687, 783, 147, 0, 0},
{16753, 3768, 981, 0, 0}, {22226, 9078, 3562, 0, 0},
{26036, 14823, 8091, 0, 0}, {28852, 21729, 16046, 0, 0},
{4544, 202, 24, 0, 0}, {13668, 1630, 283, 0, 0},
{20240, 6148, 1889, 0, 0}, {25027, 12491, 5883, 0, 0},
{28202, 19923, 13778, 0, 0}, {2835, 175, 50, 0, 0},
{15098, 2435, 613, 0, 0}, {22383, 9168, 3859, 0, 0},
{26525, 16532, 10361, 0, 0}, {28792, 22379, 16751, 0, 0},
{4391, 207, 30, 0, 0}, {13402, 1593, 286, 0, 0},
{19441, 5593, 1674, 0, 0}, {24510, 11999, 5625, 0, 0},
{28065, 19570, 13241, 0, 0}, {1682, 62, 20, 0, 0},
{9915, 866, 185, 0, 0}, {18009, 4582, 1349, 0, 0},
{23484, 10386, 4420, 0, 0}, {27183, 17576, 10900, 0, 0},
{4477, 116, 22, 0, 0}, {12919, 661, 197, 0, 0},
{17934, 5950, 3554, 0, 0}, {22462, 10174, 4096, 0, 0},
{26153, 15384, 9384, 0, 0}, {3821, 164, 23, 0, 0},
{7143, 479, 122, 0, 0}, {14010, 4096, 1365, 0, 0},
{22751, 9338, 4245, 0, 0}, {25906, 17499, 10637, 0, 0},
{8835, 259, 29, 0, 0}, {12841, 1273, 137, 0, 0},
{20865, 6745, 2147, 0, 0}, {25742, 12674, 5516, 0, 0},
{26770, 14662, 8331, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{28312, 21494, 17235, 0, 0}, {11549, 3689, 1152, 0, 0},
{21595, 8994, 4201, 0, 0}, {25486, 14475, 8505, 0, 0},
{27878, 19482, 13653, 0, 0}, {30878, 27260, 24109, 0, 0},
{6117, 632, 121, 0, 0}, {18138, 4514, 1313, 0, 0},
{24052, 11481, 5373, 0, 0}, {27153, 17437, 10760, 0, 0},
{30093, 25068, 20618, 0, 0}, {2814, 242, 78, 0, 0},
{16642, 3786, 1135, 0, 0}, {23738, 11407, 5416, 0, 0},
{27357, 17975, 11497, 0, 0}, {29825, 24346, 19605, 0, 0},
{3229, 167, 38, 0, 0}, {14643, 2383, 567, 0, 0},
{22346, 8678, 3300, 0, 0}, {26300, 15281, 8330, 0, 0},
{29798, 24115, 19237, 0, 0}, {1856, 53, 20, 0, 0},
{12102, 1395, 271, 0, 0}, {20259, 6128, 1851, 0, 0},
{24710, 12139, 5478, 0, 0}, {28537, 20762, 14716, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{22566, 12135, 7284, 0, 0}, {5432, 1323, 416, 0, 0},
{20348, 8384, 4216, 0, 0}, {25120, 14653, 8912, 0, 0},
{27106, 18427, 12866, 0, 0}, {29157, 22440, 17378, 0, 0},
{1823, 152, 32, 0, 0}, {14086, 2263, 515, 0, 0},
{21255, 7432, 2565, 0, 0}, {25319, 13316, 6620, 0, 0},
{28286, 19717, 13882, 0, 0}, {746, 78, 21, 0, 0},
{14190, 2267, 622, 0, 0}, {21519, 9400, 4137, 0, 0},
{27123, 15810, 10610, 0, 0}, {27759, 21324, 16131, 0, 0},
{1411, 58, 20, 0, 0}, {11216, 1274, 264, 0, 0},
{18877, 5091, 1428, 0, 0}, {23717, 10670, 4596, 0, 0},
{27578, 19391, 13282, 0, 0}, {404, 28, 20, 0, 0},
{7929, 861, 217, 0, 0}, {15608, 3989, 1072, 0, 0},
{20316, 8631, 3166, 0, 0}, {26603, 17379, 10291, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{30193, 25487, 21691, 0, 0}, {18766, 11902, 7366, 0, 0},
{26425, 17712, 13110, 0, 0}, {28294, 20910, 15727, 0, 0},
{29903, 24469, 20234, 0, 0}, {31424, 28819, 26377, 0, 0},
{8048, 1529, 309, 0, 0}, {20183, 7412, 2800, 0, 0},
{25587, 14522, 8324, 0, 0}, {27743, 19101, 12883, 0, 0},
{30247, 25464, 21163, 0, 0}, {2860, 516, 184, 0, 0},
{15347, 3612, 1193, 0, 0}, {22879, 10580, 4986, 0, 0},
{26890, 17121, 10645, 0, 0}, {29954, 24103, 19445, 0, 0},
{2585, 200, 55, 0, 0}, {14240, 2573, 719, 0, 0},
{21786, 8162, 3111, 0, 0}, {25811, 14603, 7537, 0, 0},
{29260, 22650, 17300, 0, 0}, {1007, 32, 20, 0, 0},
{11727, 1440, 222, 0, 0}, {20200, 6036, 1602, 0, 0},
{24716, 12048, 5035, 0, 0}, {28432, 20576, 14372, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}}},
{{{{25706, 16296, 10449, 0, 0}, {8230, 507, 94, 0, 0},
{19093, 4727, 989, 0, 0}, {24178, 12094, 5137, 0, 0},
{27083, 18093, 10755, 0, 0}, {29113, 22870, 17037, 0, 0},
{6275, 350, 110, 0, 0}, {16392, 3426, 678, 0, 0},
{22174, 10119, 3798, 0, 0}, {24592, 15598, 8465, 0, 0},
{27163, 20074, 13629, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {8880, 866, 226, 0, 0},
{14156, 3081, 781, 0, 0}, {16523, 7916, 3519, 0, 0},
{17003, 10160, 5209, 0, 0}, {12873, 8069, 5258, 0, 0},
{4367, 556, 311, 0, 0}, {17494, 4943, 1788, 0, 0},
{23404, 14640, 8436, 0, 0}, {30485, 24575, 17686, 0, 0},
{31540, 28796, 24887, 0, 0}, {3313, 299, 148, 0, 0},
{14787, 4523, 1380, 0, 0}, {21847, 12670, 6528, 0, 0},
{29025, 20939, 14111, 0, 0}, {30394, 23175, 17053, 0, 0},
{1700, 302, 133, 0, 0}, {12447, 3196, 797, 0, 0},
{21997, 12513, 5649, 0, 0}, {29973, 22358, 15407, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{23448, 10666, 4928, 0, 0}, {5711, 304, 44, 0, 0},
{16437, 2500, 459, 0, 0}, {22449, 8833, 3048, 0, 0},
{26579, 16320, 8662, 0, 0}, {29179, 21884, 13960, 0, 0},
{3742, 144, 20, 0, 0}, {13542, 1261, 181, 0, 0},
{20076, 5847, 1565, 0, 0}, {25719, 13236, 5133, 0, 0},
{25041, 17099, 9516, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {4712, 143, 20, 0, 0},
{10385, 693, 99, 0, 0}, {17351, 5670, 1019, 0, 0},
{14641, 6275, 5578, 0, 0}, {27307, 16384, 10923, 0, 0},
{4786, 677, 184, 0, 0}, {13723, 2900, 796, 0, 0},
{22371, 10502, 4836, 0, 0}, {26778, 19071, 11268, 0, 0},
{30976, 25856, 17664, 0, 0}, {4570, 267, 50, 0, 0},
{11234, 1247, 199, 0, 0}, {21659, 7551, 2751, 0, 0},
{27097, 17644, 6617, 0, 0}, {28087, 18725, 14043, 0, 0},
{4080, 188, 27, 0, 0}, {10192, 689, 107, 0, 0},
{22141, 10627, 4428, 0, 0}, {23406, 18725, 4681, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{25014, 15820, 10626, 0, 0}, {7098, 438, 77, 0, 0},
{17105, 3543, 774, 0, 0}, {22890, 9480, 3610, 0, 0},
{26349, 15680, 8432, 0, 0}, {28909, 21765, 15729, 0, 0},
{5206, 173, 43, 0, 0}, {15193, 2180, 369, 0, 0},
{21949, 7930, 2459, 0, 0}, {25644, 14082, 6852, 0, 0},
{28289, 20080, 13428, 0, 0}, {4383, 292, 95, 0, 0},
{17462, 3763, 830, 0, 0}, {23831, 11153, 4446, 0, 0},
{26786, 17165, 9982, 0, 0}, {29148, 22501, 16632, 0, 0},
{5488, 304, 101, 0, 0}, {17161, 3608, 764, 0, 0},
{23677, 10633, 4028, 0, 0}, {26536, 16136, 8748, 0, 0},
{28721, 21391, 15096, 0, 0}, {3548, 138, 50, 0, 0},
{13118, 1548, 306, 0, 0}, {19718, 6456, 1941, 0, 0},
{23540, 11898, 5300, 0, 0}, {26622, 17619, 10797, 0, 0},
{2599, 287, 145, 0, 0}, {15556, 3457, 1214, 0, 0},
{22857, 11457, 5886, 0, 0}, {28281, 19454, 12396, 0, 0},
{30198, 24996, 19879, 0, 0}, {1844, 155, 60, 0, 0},
{13278, 2562, 661, 0, 0}, {21536, 8770, 3492, 0, 0},
{25999, 14813, 7733, 0, 0}, {28370, 20145, 13554, 0, 0},
{2159, 141, 46, 0, 0}, {13398, 2186, 481, 0, 0},
{22311, 9149, 3359, 0, 0}, {26325, 15131, 7934, 0, 0},
{28123, 19532, 12662, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{24142, 12497, 6552, 0, 0}, {6061, 362, 57, 0, 0},
{15769, 2439, 482, 0, 0}, {21323, 7645, 2482, 0, 0},
{26357, 13940, 7167, 0, 0}, {25967, 20310, 12520, 0, 0},
{2850, 86, 20, 0, 0}, {12119, 1029, 150, 0, 0},
{19889, 4995, 1187, 0, 0}, {24872, 11017, 4524, 0, 0},
{27508, 17898, 9070, 0, 0}, {3516, 175, 37, 0, 0},
{15696, 2308, 474, 0, 0}, {22115, 8625, 3403, 0, 0},
{26232, 15278, 8785, 0, 0}, {27839, 19598, 12683, 0, 0},
{4631, 250, 53, 0, 0}, {14597, 1984, 361, 0, 0},
{21331, 7332, 2309, 0, 0}, {25516, 14234, 6592, 0, 0},
{28642, 19415, 11790, 0, 0}, {1606, 42, 20, 0, 0},
{9751, 546, 67, 0, 0}, {17139, 3535, 722, 0, 0},
{23381, 10147, 3288, 0, 0}, {25846, 15152, 7758, 0, 0},
{3930, 503, 154, 0, 0}, {13067, 2562, 848, 0, 0},
{21554, 10358, 4835, 0, 0}, {27448, 18591, 9734, 0, 0},
{27719, 19887, 14941, 0, 0}, {5284, 297, 34, 0, 0},
{11692, 1242, 207, 0, 0}, {20061, 6465, 1557, 0, 0},
{24599, 11046, 4549, 0, 0}, {26723, 13362, 5726, 0, 0},
{5015, 196, 23, 0, 0}, {11936, 890, 115, 0, 0},
{19518, 5412, 1094, 0, 0}, {25050, 11260, 2910, 0, 0},
{25559, 14418, 7209, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{24892, 15867, 11027, 0, 0}, {8767, 870, 143, 0, 0},
{18239, 4809, 1317, 0, 0}, {24495, 11950, 5510, 0, 0},
{27490, 18095, 11258, 0, 0}, {29785, 23925, 18729, 0, 0},
{4752, 194, 36, 0, 0}, {15297, 2462, 467, 0, 0},
{22544, 8705, 3040, 0, 0}, {26166, 14814, 7716, 0, 0},
{28766, 21183, 15009, 0, 0}, {2578, 134, 29, 0, 0},
{15271, 2486, 498, 0, 0}, {22539, 9039, 3230, 0, 0},
{26424, 15557, 8328, 0, 0}, {28919, 21579, 15660, 0, 0},
{4198, 185, 42, 0, 0}, {15247, 2607, 530, 0, 0},
{22615, 9203, 3390, 0, 0}, {26313, 15427, 8325, 0, 0},
{28861, 21726, 15744, 0, 0}, {2079, 53, 20, 0, 0},
{11222, 928, 158, 0, 0}, {19221, 5187, 1309, 0, 0},
{23856, 11011, 4459, 0, 0}, {27220, 17688, 10722, 0, 0},
{1985, 228, 83, 0, 0}, {15228, 3240, 1100, 0, 0},
{22608, 11300, 5985, 0, 0}, {28044, 19375, 12714, 0, 0},
{30066, 24594, 19666, 0, 0}, {1120, 82, 26, 0, 0},
{11814, 1674, 431, 0, 0}, {20348, 7070, 2589, 0, 0},
{25464, 13448, 6520, 0, 0}, {28402, 20507, 13904, 0, 0},
{1187, 45, 20, 0, 0}, {11395, 1182, 243, 0, 0},
{20024, 6143, 1883, 0, 0}, {25337, 12446, 5818, 0, 0},
{28076, 19445, 12657, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{24935, 14399, 8673, 0, 0}, {6118, 495, 66, 0, 0},
{16397, 2807, 577, 0, 0}, {21713, 8686, 3139, 0, 0},
{25876, 14124, 7368, 0, 0}, {27762, 19711, 13528, 0, 0},
{2934, 102, 20, 0, 0}, {13191, 1433, 198, 0, 0},
{20515, 6259, 1646, 0, 0}, {24777, 11996, 5057, 0, 0},
{27091, 16858, 9709, 0, 0}, {2659, 236, 48, 0, 0},
{16021, 2602, 516, 0, 0}, {22634, 9226, 3584, 0, 0},
{26977, 16592, 9212, 0, 0}, {28406, 22354, 15484, 0, 0},
{3276, 142, 20, 0, 0}, {12874, 1366, 243, 0, 0},
{19826, 5697, 1899, 0, 0}, {24422, 11552, 5363, 0, 0},
{26196, 15681, 8909, 0, 0}, {733, 33, 20, 0, 0},
{9811, 930, 150, 0, 0}, {18044, 4196, 996, 0, 0},
{22404, 8769, 3215, 0, 0}, {25764, 14335, 7113, 0, 0},
{5240, 491, 87, 0, 0}, {15809, 1597, 672, 0, 0},
{22282, 9175, 4806, 0, 0}, {24576, 16384, 9557, 0, 0},
{23831, 14895, 11916, 0, 0}, {5053, 766, 153, 0, 0},
{17695, 3277, 1092, 0, 0}, {21504, 8192, 4096, 0, 0},
{30427, 14043, 9362, 0, 0}, {25486, 14564, 7282, 0, 0},
{4221, 555, 111, 0, 0}, {11980, 2995, 529, 0, 0},
{25988, 11299, 2260, 0, 0}, {26810, 17873, 8937, 0, 0},
{16384, 10923, 5461, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{26776, 18464, 13003, 0, 0}, {10156, 1530, 312, 0, 0},
{19312, 5606, 1681, 0, 0}, {24767, 12706, 6264, 0, 0},
{27600, 18663, 12004, 0, 0}, {30136, 24997, 20383, 0, 0},
{5734, 424, 59, 0, 0}, {16918, 3353, 771, 0, 0},
{23274, 9992, 3927, 0, 0}, {26617, 15938, 8799, 0, 0},
{29307, 22729, 17046, 0, 0}, {2634, 199, 37, 0, 0},
{17130, 3346, 823, 0, 0}, {23618, 10903, 4550, 0, 0},
{27121, 17049, 10092, 0, 0}, {29366, 22996, 17291, 0, 0},
{4238, 182, 33, 0, 0}, {15629, 2470, 476, 0, 0},
{22568, 8729, 3083, 0, 0}, {26349, 15094, 7982, 0, 0},
{29224, 22543, 16944, 0, 0}, {1435, 42, 20, 0, 0},
{12150, 1281, 224, 0, 0}, {19867, 5551, 1536, 0, 0},
{24144, 11034, 4597, 0, 0}, {27664, 18577, 12020, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{21562, 11678, 6207, 0, 0}, {4009, 489, 97, 0, 0},
{18597, 4816, 1199, 0, 0}, {23025, 9861, 3627, 0, 0},
{25897, 14882, 7900, 0, 0}, {27808, 19616, 13453, 0, 0},
{1691, 107, 20, 0, 0}, {13368, 1573, 253, 0, 0},
{20016, 5910, 1728, 0, 0}, {24398, 10670, 4177, 0, 0},
{27311, 17395, 10470, 0, 0}, {1071, 62, 20, 0, 0},
{14908, 2111, 435, 0, 0}, {20258, 7956, 3507, 0, 0},
{26588, 13644, 8046, 0, 0}, {27727, 19220, 14809, 0, 0},
{1216, 52, 20, 0, 0}, {10860, 999, 145, 0, 0},
{18298, 4567, 1203, 0, 0}, {23275, 9786, 4160, 0, 0},
{25910, 15528, 8631, 0, 0}, {225, 16, 12, 0, 0},
{8482, 671, 102, 0, 0}, {16810, 3551, 744, 0, 0},
{22561, 8534, 2810, 0, 0}, {25839, 14463, 7116, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}},
{{{28631, 21921, 17086, 0, 0}, {14944, 5767, 2710, 0, 0},
{22564, 9972, 4477, 0, 0}, {26692, 16833, 10643, 0, 0},
{28916, 21831, 15952, 0, 0}, {30516, 26444, 22637, 0, 0},
{6928, 752, 106, 0, 0}, {17659, 4500, 1237, 0, 0},
{23383, 10537, 4428, 0, 0}, {26686, 16096, 9289, 0, 0},
{29450, 23341, 18087, 0, 0}, {2174, 194, 50, 0, 0},
{15932, 3216, 909, 0, 0}, {23212, 10226, 4412, 0, 0},
{26463, 16043, 9228, 0, 0}, {29392, 22873, 17584, 0, 0},
{3385, 151, 23, 0, 0}, {13877, 1959, 367, 0, 0},
{21080, 6826, 2081, 0, 0}, {25300, 13299, 6117, 0, 0},
{28859, 21410, 15756, 0, 0}, {1204, 32, 20, 0, 0},
{11862, 1157, 168, 0, 0}, {19577, 5147, 1231, 0, 0},
{24000, 10739, 4092, 0, 0}, {27689, 18659, 11862, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}},
{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0}}}}};
constexpr uint16_t kDefaultCoeffBaseRangeCdf
[kCoefficientQuantizerContexts][kNumSquareTransformSizes][kNumPlaneTypes]
[kCoeffBaseRangeContexts][kCoeffBaseRangeSymbolCount + 1] = {
{{{{18470, 12050, 8594, 0, 0}, {20232, 13167, 8979, 0, 0},
{24056, 17717, 13265, 0, 0}, {26598, 21441, 17334, 0, 0},
{28026, 23842, 20230, 0, 0}, {28965, 25451, 22222, 0, 0},
{31072, 29451, 27897, 0, 0}, {18376, 12817, 10012, 0, 0},
{16790, 9550, 5950, 0, 0}, {20581, 13294, 8879, 0, 0},
{23592, 17128, 12509, 0, 0}, {25700, 20113, 15740, 0, 0},
{27112, 22326, 18296, 0, 0}, {30188, 27776, 25524, 0, 0},
{20632, 14719, 11342, 0, 0}, {18984, 12047, 8287, 0, 0},
{21932, 15147, 10868, 0, 0}, {24396, 18324, 13921, 0, 0},
{26245, 20989, 16768, 0, 0}, {27431, 22870, 19008, 0, 0},
{29734, 26908, 24306, 0, 0}},
{{16801, 9863, 6482, 0, 0}, {19234, 12114, 8189, 0, 0},
{23264, 16676, 12233, 0, 0}, {25793, 20200, 15865, 0, 0},
{27404, 22677, 18748, 0, 0}, {28411, 24398, 20911, 0, 0},
{30262, 27834, 25550, 0, 0}, {9736, 3953, 1832, 0, 0},
{13228, 6064, 3049, 0, 0}, {17610, 9799, 5671, 0, 0},
{21360, 13903, 9118, 0, 0}, {23883, 17320, 12518, 0, 0},
{25660, 19915, 15352, 0, 0}, {28537, 24727, 21288, 0, 0},
{12945, 6278, 3612, 0, 0}, {13878, 6839, 3836, 0, 0},
{17108, 9277, 5335, 0, 0}, {20621, 12992, 8280, 0, 0},
{23040, 15994, 11119, 0, 0}, {24849, 18491, 13702, 0, 0},
{27328, 22598, 18583, 0, 0}}},
{{{18362, 11906, 8354, 0, 0}, {20944, 13861, 9659, 0, 0},
{24511, 18375, 13965, 0, 0}, {26908, 22021, 17990, 0, 0},
{28293, 24282, 20784, 0, 0}, {29162, 25814, 22725, 0, 0},
{31032, 29358, 27720, 0, 0}, {18338, 12722, 9886, 0, 0},
{17175, 9869, 6059, 0, 0}, {20666, 13400, 8957, 0, 0},
{23709, 17184, 12506, 0, 0}, {25769, 20165, 15720, 0, 0},
{27084, 22271, 18215, 0, 0}, {29946, 27330, 24906, 0, 0},
{16983, 11183, 8409, 0, 0}, {14421, 7539, 4502, 0, 0},
{17794, 10281, 6379, 0, 0}, {21345, 14087, 9497, 0, 0},
{23905, 17418, 12760, 0, 0}, {25615, 19916, 15490, 0, 0},
{29061, 25732, 22786, 0, 0}},
{{17308, 11072, 7299, 0, 0}, {20598, 13519, 9577, 0, 0},
{24045, 17741, 13436, 0, 0}, {26340, 21064, 16894, 0, 0},
{27846, 23476, 19716, 0, 0}, {28629, 25073, 21758, 0, 0},
{30477, 28260, 26170, 0, 0}, {12912, 5848, 2940, 0, 0},
{14845, 7479, 3976, 0, 0}, {18490, 10800, 6471, 0, 0},
{21858, 14632, 9818, 0, 0}, {24345, 17953, 13141, 0, 0},
{25997, 20485, 15994, 0, 0}, {28694, 25018, 21687, 0, 0},
{12916, 6694, 4096, 0, 0}, {13397, 6658, 3779, 0, 0},
{16503, 8895, 5105, 0, 0}, {20010, 12390, 7816, 0, 0},
{22673, 15670, 10807, 0, 0}, {24518, 18140, 13317, 0, 0},
{27563, 23023, 19146, 0, 0}}},
{{{22205, 16535, 13005, 0, 0}, {22974, 16746, 12964, 0, 0},
{26018, 20823, 17009, 0, 0}, {27805, 23582, 20016, 0, 0},
{28923, 25333, 22141, 0, 0}, {29717, 26683, 23934, 0, 0},
{31457, 30172, 28938, 0, 0}, {21522, 16364, 13079, 0, 0},
{20453, 13857, 10037, 0, 0}, {22211, 15673, 11479, 0, 0},
{24632, 18762, 14519, 0, 0}, {26420, 21294, 17203, 0, 0},
{27572, 23113, 19368, 0, 0}, {30419, 28242, 26181, 0, 0},
{19431, 14038, 11199, 0, 0}, {13462, 6697, 3886, 0, 0},
{16816, 9228, 5514, 0, 0}, {20359, 12834, 8338, 0, 0},
{23008, 16062, 11379, 0, 0}, {24764, 18548, 13950, 0, 0},
{28630, 24974, 21807, 0, 0}},
{{21898, 16084, 11819, 0, 0}, {23104, 17538, 14088, 0, 0},
{25882, 20659, 17360, 0, 0}, {27943, 23868, 20463, 0, 0},
{29138, 25606, 22454, 0, 0}, {29732, 26339, 23381, 0, 0},
{31097, 29472, 27828, 0, 0}, {18949, 13609, 9742, 0, 0},
{20784, 13660, 9648, 0, 0}, {22078, 15558, 11105, 0, 0},
{24784, 18614, 14435, 0, 0}, {25900, 20474, 16644, 0, 0},
{27494, 23774, 19900, 0, 0}, {29780, 26997, 24344, 0, 0},
{13032, 6121, 3627, 0, 0}, {13835, 6698, 3784, 0, 0},
{16989, 9720, 5568, 0, 0}, {20130, 12707, 8236, 0, 0},
{22076, 15223, 10548, 0, 0}, {23551, 17517, 12714, 0, 0},
{27690, 23484, 20174, 0, 0}}},
{{{30437, 29106, 27524, 0, 0}, {29877, 27997, 26623, 0, 0},
{28170, 25145, 23039, 0, 0}, {29248, 25923, 23569, 0, 0},
{29351, 26649, 23444, 0, 0}, {30167, 27356, 25383, 0, 0},
{32168, 31595, 31024, 0, 0}, {25096, 19482, 15299, 0, 0},
{28536, 24976, 21975, 0, 0}, {29853, 27451, 25371, 0, 0},
{30450, 28412, 26616, 0, 0}, {30641, 28768, 27214, 0, 0},
{30918, 29290, 27493, 0, 0}, {31791, 30835, 29925, 0, 0},
{14488, 8381, 4779, 0, 0}, {16916, 10097, 6583, 0, 0},
{18923, 11817, 7979, 0, 0}, {21713, 14802, 10639, 0, 0},
{23630, 17346, 12967, 0, 0}, {25314, 19623, 15312, 0, 0},
{29398, 26375, 23755, 0, 0}},
{{26926, 23539, 21930, 0, 0}, {30455, 29277, 28492, 0, 0},
{29770, 26664, 25272, 0, 0}, {30348, 25321, 22900, 0, 0},
{29734, 24273, 21845, 0, 0}, {28692, 23831, 21793, 0, 0},
{31682, 30398, 29469, 0, 0}, {23054, 15514, 12324, 0, 0},
{24225, 19070, 15645, 0, 0}, {27850, 23761, 20858, 0, 0},
{28639, 25236, 22215, 0, 0}, {30404, 27235, 24710, 0, 0},
{30934, 29222, 27205, 0, 0}, {31295, 29860, 28635, 0, 0},
{17363, 11575, 7149, 0, 0}, {17077, 10816, 6207, 0, 0},
{19806, 13574, 8603, 0, 0}, {22496, 14913, 10639, 0, 0},
{24180, 17498, 12050, 0, 0}, {24086, 18099, 13268, 0, 0},
{27898, 23132, 19563, 0, 0}}},
{{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}},
{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}}}},
{{{{17773, 11427, 8019, 0, 0}, {19610, 12479, 8167, 0, 0},
{23827, 17442, 12892, 0, 0}, {26471, 21227, 16961, 0, 0},
{27951, 23739, 19992, 0, 0}, {29037, 25495, 22141, 0, 0},
{30921, 29151, 27414, 0, 0}, {18296, 13109, 10425, 0, 0},
{15962, 8606, 5235, 0, 0}, {19868, 12364, 8055, 0, 0},
{23357, 16656, 11971, 0, 0}, {25712, 20071, 15620, 0, 0},
{27224, 22429, 18308, 0, 0}, {29814, 27064, 24449, 0, 0},
{20304, 14697, 11414, 0, 0}, {17286, 10240, 6734, 0, 0},
{20698, 13499, 9144, 0, 0}, {23815, 17362, 12662, 0, 0},
{25741, 20038, 15548, 0, 0}, {26881, 21855, 17628, 0, 0},
{28975, 25490, 22321, 0, 0}},
{{17197, 10536, 7019, 0, 0}, {18262, 11193, 7394, 0, 0},
{22579, 15679, 11199, 0, 0}, {25452, 19467, 14853, 0, 0},
{26985, 21856, 17578, 0, 0}, {28008, 23613, 19680, 0, 0},
{29775, 26802, 23994, 0, 0}, {9344, 3865, 1990, 0, 0},
{11993, 5102, 2478, 0, 0}, {16294, 8358, 4469, 0, 0},
{20297, 12588, 7781, 0, 0}, {23358, 16281, 11329, 0, 0},
{25232, 19154, 14239, 0, 0}, {27720, 23182, 19219, 0, 0},
{11678, 5478, 3012, 0, 0}, {11972, 5366, 2742, 0, 0},
{14949, 7283, 3799, 0, 0}, {18908, 10859, 6306, 0, 0},
{21766, 14274, 9239, 0, 0}, {23815, 16839, 11871, 0, 0},
{26320, 20850, 16314, 0, 0}}},
{{{16769, 10560, 7319, 0, 0}, {19718, 12780, 8646, 0, 0},
{24174, 17904, 13390, 0, 0}, {26735, 21689, 17530, 0, 0},
{28214, 24085, 20421, 0, 0}, {29096, 25629, 22431, 0, 0},
{30868, 28997, 27192, 0, 0}, {16980, 11428, 8819, 0, 0},
{15943, 8533, 5010, 0, 0}, {19895, 12366, 7958, 0, 0},
{23178, 16405, 11674, 0, 0}, {25416, 19559, 15035, 0, 0},
{26808, 21779, 17584, 0, 0}, {29536, 26534, 23761, 0, 0},
{17007, 12052, 9544, 0, 0}, {13450, 6779, 4009, 0, 0},
{17239, 9674, 5839, 0, 0}, {21106, 13779, 9127, 0, 0},
{23813, 17200, 12402, 0, 0}, {25487, 19662, 15060, 0, 0},
{28520, 24709, 21328, 0, 0}},
{{17869, 11551, 8265, 0, 0}, {19249, 12485, 8721, 0, 0},
{23339, 16802, 12403, 0, 0}, {26068, 20413, 16116, 0, 0},
{27680, 23064, 19052, 0, 0}, {28525, 24614, 21037, 0, 0},
{30066, 27404, 24907, 0, 0}, {10023, 4380, 2314, 0, 0},
{12533, 5622, 2846, 0, 0}, {16872, 9053, 5131, 0, 0},
{20928, 13418, 8637, 0, 0}, {23646, 16836, 11888, 0, 0},
{25280, 19187, 14406, 0, 0}, {27654, 23200, 19398, 0, 0},
{11923, 6215, 3836, 0, 0}, {11787, 5396, 2884, 0, 0},
{14987, 7433, 3983, 0, 0}, {19008, 11060, 6471, 0, 0},
{21793, 14353, 9403, 0, 0}, {23723, 16979, 12082, 0, 0},
{26638, 21569, 17345, 0, 0}}},
{{{19219, 13044, 9610, 0, 0}, {20924, 14386, 10522, 0, 0},
{24849, 19149, 14995, 0, 0}, {27282, 22625, 18822, 0, 0},
{28602, 24785, 21444, 0, 0}, {29404, 26262, 23341, 0, 0},
{31170, 29608, 28094, 0, 0}, {17487, 11789, 8987, 0, 0},
{17829, 10649, 6816, 0, 0}, {21405, 14361, 9956, 0, 0},
{24159, 17911, 13398, 0, 0}, {26031, 20584, 16288, 0, 0},
{27262, 22505, 18506, 0, 0}, {29778, 26982, 24388, 0, 0},
{12519, 7515, 5351, 0, 0}, {11698, 5250, 2767, 0, 0},
{15914, 8299, 4694, 0, 0}, {19904, 12282, 7768, 0, 0},
{22806, 15790, 10990, 0, 0}, {24694, 18430, 13720, 0, 0},
{28274, 24289, 20862, 0, 0}},
{{18808, 13151, 9939, 0, 0}, {21618, 15427, 11540, 0, 0},
{25618, 19804, 15578, 0, 0}, {27437, 22766, 18901, 0, 0},
{28601, 25024, 21711, 0, 0}, {29288, 26139, 23122, 0, 0},
{30885, 28984, 27082, 0, 0}, {14016, 7108, 3856, 0, 0},
{15800, 8182, 4738, 0, 0}, {19248, 11713, 7455, 0, 0},
{22315, 15142, 10488, 0, 0}, {24382, 18263, 13652, 0, 0},
{26026, 20173, 15760, 0, 0}, {28495, 24628, 21269, 0, 0},
{10648, 4941, 2535, 0, 0}, {12205, 5410, 2873, 0, 0},
{15692, 8124, 4615, 0, 0}, {19406, 11826, 7459, 0, 0},
{21974, 14803, 10073, 0, 0}, {23754, 17116, 12449, 0, 0},
{27060, 22256, 18271, 0, 0}}},
{{{27063, 21838, 17043, 0, 0}, {24822, 20003, 16653, 0, 0},
{25967, 20645, 16542, 0, 0}, {27306, 22633, 18568, 0, 0},
{28579, 24757, 21261, 0, 0}, {29577, 26539, 23360, 0, 0},
{31711, 30631, 29556, 0, 0}, {22750, 15701, 11277, 0, 0},
{25388, 20186, 16315, 0, 0}, {26700, 21923, 18429, 0, 0},
{27670, 23570, 20213, 0, 0}, {28456, 24758, 21649, 0, 0},
{29068, 25802, 22987, 0, 0}, {31075, 29442, 27881, 0, 0},
{14011, 7838, 4994, 0, 0}, {15120, 8172, 4951, 0, 0},
{18061, 10716, 6742, 0, 0}, {21048, 13916, 9476, 0, 0},
{23411, 16816, 12243, 0, 0}, {24958, 19015, 14558, 0, 0},
{28889, 25435, 22440, 0, 0}},
{{24490, 19526, 16846, 0, 0}, {22221, 16901, 13849, 0, 0},
{23662, 16926, 12159, 0, 0}, {25935, 19761, 15550, 0, 0},
{27957, 23056, 18845, 0, 0}, {28783, 25416, 21640, 0, 0},
{31080, 29310, 27506, 0, 0}, {19817, 10907, 6258, 0, 0},
{22980, 16724, 12492, 0, 0}, {26459, 21524, 17898, 0, 0},
{27585, 23419, 20202, 0, 0}, {28379, 24539, 21276, 0, 0},
{29135, 25823, 22148, 0, 0}, {29168, 25921, 22861, 0, 0},
{11020, 4631, 2513, 0, 0}, {13332, 6187, 3208, 0, 0},
{16409, 8567, 4815, 0, 0}, {18807, 11075, 6897, 0, 0},
{21224, 14082, 9446, 0, 0}, {23396, 16306, 11816, 0, 0},
{26630, 21558, 17378, 0, 0}}},
{{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}},
{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}}}},
{{{{16630, 10545, 7259, 0, 0}, {17421, 10338, 6436, 0, 0},
{23154, 16032, 11436, 0, 0}, {26168, 20493, 15861, 0, 0},
{27957, 23344, 19221, 0, 0}, {29020, 24959, 21348, 0, 0},
{30514, 28181, 25878, 0, 0}, {17572, 12484, 9591, 0, 0},
{14451, 7299, 4317, 0, 0}, {18850, 11117, 6926, 0, 0},
{22716, 15618, 10773, 0, 0}, {25269, 19138, 14181, 0, 0},
{26610, 21351, 16765, 0, 0}, {28754, 24983, 21516, 0, 0},
{17720, 11701, 8384, 0, 0}, {14566, 7422, 4215, 0, 0},
{18466, 10749, 6412, 0, 0}, {21929, 14629, 9602, 0, 0},
{24053, 17024, 11962, 0, 0}, {25232, 19192, 14224, 0, 0},
{27355, 22433, 18270, 0, 0}},
{{15374, 8267, 4873, 0, 0}, {16879, 9348, 5583, 0, 0},
{21207, 13635, 8898, 0, 0}, {24483, 17956, 12924, 0, 0},
{26272, 20725, 16218, 0, 0}, {27997, 23194, 19091, 0, 0},
{29165, 25938, 22624, 0, 0}, {11112, 5064, 2568, 0, 0},
{11444, 4853, 2257, 0, 0}, {15441, 7432, 3771, 0, 0},
{19351, 11387, 6735, 0, 0}, {22636, 15343, 10430, 0, 0},
{24188, 17752, 13135, 0, 0}, {27074, 21291, 16357, 0, 0},
{8652, 2988, 1318, 0, 0}, {8915, 3073, 1177, 0, 0},
{12683, 5154, 2340, 0, 0}, {17442, 8433, 4193, 0, 0},
{20954, 13296, 7958, 0, 0}, {22547, 14157, 8001, 0, 0},
{25079, 18210, 12447, 0, 0}}},
{{{16554, 10388, 6998, 0, 0}, {18555, 11464, 7473, 0, 0},
{23555, 16945, 12313, 0, 0}, {26373, 21010, 16629, 0, 0},
{27989, 23581, 19702, 0, 0}, {28947, 25267, 21815, 0, 0},
{30475, 28201, 25973, 0, 0}, {16909, 11485, 8948, 0, 0},
{14364, 7166, 4042, 0, 0}, {18443, 10788, 6562, 0, 0},
{22099, 14831, 10048, 0, 0}, {24471, 18126, 13321, 0, 0},
{26022, 20379, 15875, 0, 0}, {28444, 24517, 20998, 0, 0},
{16236, 11137, 8293, 0, 0}, {12101, 5618, 3100, 0, 0},
{16040, 8258, 4593, 0, 0}, {19907, 12123, 7436, 0, 0},
{22692, 15407, 10351, 0, 0}, {24373, 17828, 12805, 0, 0},
{27037, 22085, 17856, 0, 0}},
{{18335, 11613, 7830, 0, 0}, {18110, 11052, 7223, 0, 0},
{22845, 15944, 11211, 0, 0}, {25786, 19716, 15047, 0, 0},
{27349, 22265, 17718, 0, 0}, {27916, 23606, 19754, 0, 0},
{29497, 26373, 23138, 0, 0}, {10558, 4935, 2659, 0, 0},
{12018, 5400, 2947, 0, 0}, {15874, 7940, 4195, 0, 0},
{19521, 11492, 7011, 0, 0}, {22730, 15503, 10205, 0, 0},
{24181, 17821, 12441, 0, 0}, {27123, 21397, 17516, 0, 0},
{10741, 5242, 3054, 0, 0}, {9670, 3622, 1547, 0, 0},
{12882, 5427, 2496, 0, 0}, {17159, 9021, 4722, 0, 0},
{20775, 12703, 7829, 0, 0}, {23131, 14501, 9097, 0, 0},
{25143, 18967, 13624, 0, 0}}},
{{{18330, 11970, 8679, 0, 0}, {20147, 13565, 9671, 0, 0},
{24591, 18643, 14366, 0, 0}, {27094, 22267, 18312, 0, 0},
{28532, 24529, 21035, 0, 0}, {29321, 26018, 22962, 0, 0},
{30782, 28818, 26904, 0, 0}, {16560, 10669, 7838, 0, 0},
{16231, 8743, 5183, 0, 0}, {19988, 12387, 7901, 0, 0},
{23001, 16156, 11352, 0, 0}, {25082, 19030, 14370, 0, 0},
{26435, 21154, 16804, 0, 0}, {28827, 25197, 21932, 0, 0},
{9949, 5346, 3566, 0, 0}, {10544, 4254, 2047, 0, 0},
{15108, 7335, 3855, 0, 0}, {19194, 11286, 6766, 0, 0},
{22139, 14791, 9830, 0, 0}, {24156, 17470, 12503, 0, 0},
{27161, 22277, 18172, 0, 0}},
{{19199, 12968, 9562, 0, 0}, {19640, 12844, 8899, 0, 0},
{24439, 17927, 13365, 0, 0}, {26638, 21792, 17711, 0, 0},
{28086, 23929, 20250, 0, 0}, {29112, 25359, 22180, 0, 0},
{30191, 27669, 25356, 0, 0}, {10341, 4084, 2183, 0, 0},
{11855, 5018, 2629, 0, 0}, {16928, 8659, 4934, 0, 0},
{20460, 12739, 8199, 0, 0}, {22552, 15983, 11310, 0, 0},
{24459, 18565, 13655, 0, 0}, {26725, 21600, 17461, 0, 0},
{9602, 3867, 1770, 0, 0}, {10869, 4363, 2017, 0, 0},
{14355, 6677, 3325, 0, 0}, {17535, 9654, 5416, 0, 0},
{20085, 12296, 7480, 0, 0}, {22066, 14509, 9359, 0, 0},
{24643, 18304, 13542, 0, 0}}},
{{{23728, 17982, 14408, 0, 0}, {22789, 17050, 13353, 0, 0},
{24855, 18850, 14457, 0, 0}, {26909, 21879, 17584, 0, 0},
{28175, 24091, 20258, 0, 0}, {28948, 25372, 21977, 0, 0},
{31038, 29297, 27576, 0, 0}, {20965, 14403, 10059, 0, 0},
{21349, 14710, 10543, 0, 0}, {23350, 16994, 12525, 0, 0},
{25229, 19443, 15111, 0, 0}, {26535, 21451, 17384, 0, 0},
{27631, 23112, 19223, 0, 0}, {29791, 26994, 24419, 0, 0},
{11561, 5522, 3128, 0, 0}, {13221, 6190, 3271, 0, 0},
{16599, 8897, 5078, 0, 0}, {19948, 12310, 7750, 0, 0},
{22544, 15436, 10554, 0, 0}, {24242, 17720, 12884, 0, 0},
{27731, 23358, 19650, 0, 0}},
{{20429, 15439, 12628, 0, 0}, {19263, 12873, 9543, 0, 0},
{22921, 15824, 11204, 0, 0}, {25488, 19512, 14420, 0, 0},
{28056, 22759, 18314, 0, 0}, {28407, 24854, 20291, 0, 0},
{29898, 27140, 24773, 0, 0}, {12707, 7264, 4242, 0, 0},
{17533, 9890, 6623, 0, 0}, {19783, 12810, 8613, 0, 0},
{22986, 16127, 11365, 0, 0}, {23312, 16408, 12008, 0, 0},
{25913, 19828, 14211, 0, 0}, {27107, 22204, 17766, 0, 0},
{7112, 2166, 874, 0, 0}, {10198, 3661, 1676, 0, 0},
{13851, 6345, 3227, 0, 0}, {16828, 9119, 5014, 0, 0},
{19965, 12187, 7549, 0, 0}, {21686, 14073, 9392, 0, 0},
{24829, 18395, 13763, 0, 0}}},
{{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}},
{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}}}},
{{{{14453, 8479, 5217, 0, 0}, {15914, 8700, 4933, 0, 0},
{22628, 14841, 9595, 0, 0}, {26046, 19786, 14501, 0, 0},
{28107, 22942, 18062, 0, 0}, {28936, 24603, 20474, 0, 0},
{29973, 26670, 23523, 0, 0}, {15623, 9442, 6096, 0, 0},
{12035, 5088, 2460, 0, 0}, {16736, 8307, 4222, 0, 0},
{21115, 12675, 7687, 0, 0}, {23478, 16339, 10682, 0, 0},
{24972, 18170, 12786, 0, 0}, {26266, 20390, 15327, 0, 0},
{11087, 5036, 2448, 0, 0}, {10379, 3724, 1507, 0, 0},
{13741, 6037, 2681, 0, 0}, {18029, 9013, 4144, 0, 0},
{21410, 11990, 7257, 0, 0}, {21773, 14695, 8578, 0, 0},
{23606, 17778, 12151, 0, 0}},
{{11343, 4816, 2380, 0, 0}, {14706, 6930, 3734, 0, 0},
{20812, 12887, 7960, 0, 0}, {25050, 17768, 11788, 0, 0},
{27066, 21514, 16625, 0, 0}, {27870, 23680, 15904, 0, 0},
{29089, 25992, 20861, 0, 0}, {9474, 2608, 1105, 0, 0},
{8371, 2872, 932, 0, 0}, {13523, 5640, 2175, 0, 0},
{19566, 12943, 6364, 0, 0}, {21190, 13471, 8811, 0, 0},
{24695, 19471, 11398, 0, 0}, {27307, 21845, 13023, 0, 0},
{5401, 2247, 834, 0, 0}, {7864, 2097, 828, 0, 0},
{9693, 4308, 1469, 0, 0}, {18368, 9110, 2351, 0, 0},
{18883, 8886, 4443, 0, 0}, {18022, 9830, 4915, 0, 0},
{27307, 16384, 5461, 0, 0}}},
{{{14494, 7955, 4878, 0, 0}, {17231, 9619, 5765, 0, 0},
{23319, 16028, 10941, 0, 0}, {26068, 20270, 15507, 0, 0},
{27780, 22902, 18570, 0, 0}, {28532, 24621, 20866, 0, 0},
{29901, 26908, 24114, 0, 0}, {15644, 9597, 6667, 0, 0},
{12372, 5291, 2620, 0, 0}, {16195, 8139, 4276, 0, 0},
{20019, 11922, 7094, 0, 0}, {22535, 14890, 9950, 0, 0},
{24243, 17436, 12405, 0, 0}, {26485, 21136, 16513, 0, 0},
{12302, 6257, 3482, 0, 0}, {9709, 3594, 1577, 0, 0},
{13287, 5505, 2527, 0, 0}, {17310, 9137, 4631, 0, 0},
{20352, 12160, 7075, 0, 0}, {22507, 14757, 9507, 0, 0},
{24752, 18113, 13102, 0, 0}},
{{15152, 8182, 4656, 0, 0}, {16959, 9469, 5613, 0, 0},
{22001, 13878, 8975, 0, 0}, {25041, 18513, 13903, 0, 0},
{26639, 20842, 15886, 0, 0}, {28286, 23064, 17907, 0, 0},
{29491, 25316, 21246, 0, 0}, {9812, 4217, 2038, 0, 0},
{10044, 3831, 1807, 0, 0}, {14301, 6444, 3188, 0, 0},
{19534, 12055, 7119, 0, 0}, {21587, 15176, 10287, 0, 0},
{24477, 14410, 8192, 0, 0}, {25200, 20887, 17784, 0, 0},
{7820, 3767, 1621, 0, 0}, {7094, 2149, 617, 0, 0},
{11927, 5975, 3165, 0, 0}, {18099, 8412, 4102, 0, 0},
{21434, 9175, 4549, 0, 0}, {23846, 18006, 9895, 0, 0},
{24467, 19224, 12233, 0, 0}}},
{{{15655, 9035, 5687, 0, 0}, {18629, 11362, 7316, 0, 0},
{24216, 17766, 12992, 0, 0}, {26897, 21648, 17390, 0, 0},
{28313, 24152, 20515, 0, 0}, {29299, 25858, 22382, 0, 0},
{30513, 28215, 25986, 0, 0}, {14544, 8392, 5715, 0, 0},
{13478, 6058, 3154, 0, 0}, {17832, 9777, 5584, 0, 0},
{21530, 13817, 9006, 0, 0}, {23982, 17151, 12180, 0, 0},
{25451, 19540, 14765, 0, 0}, {27667, 23256, 19275, 0, 0},
{10129, 4546, 2558, 0, 0}, {9552, 3437, 1461, 0, 0},
{13693, 6006, 2873, 0, 0}, {17754, 9655, 5311, 0, 0},
{20830, 12911, 8016, 0, 0}, {22826, 15488, 10486, 0, 0},
{25601, 19624, 15016, 0, 0}},
{{16948, 10030, 6280, 0, 0}, {19238, 11883, 7552, 0, 0},
{24373, 17238, 12316, 0, 0}, {26194, 20447, 16388, 0, 0},
{27415, 22349, 18200, 0, 0}, {28155, 24322, 20387, 0, 0},
{29328, 25610, 22865, 0, 0}, {8521, 3717, 1544, 0, 0},
{10650, 4710, 2399, 0, 0}, {16270, 8000, 4379, 0, 0},
{19848, 11593, 6631, 0, 0}, {22038, 14149, 7416, 0, 0},
{22581, 16489, 9977, 0, 0}, {23458, 18137, 10641, 0, 0},
{7798, 2210, 711, 0, 0}, {7967, 2826, 1070, 0, 0},
{10336, 4315, 1913, 0, 0}, {13714, 7088, 3188, 0, 0},
{18376, 9732, 4659, 0, 0}, {20273, 11821, 6118, 0, 0},
{20326, 12442, 6554, 0, 0}}},
{{{20606, 13983, 10120, 0, 0}, {20019, 13071, 8962, 0, 0},
{24188, 17471, 12422, 0, 0}, {26599, 21019, 16225, 0, 0},
{27932, 23377, 19320, 0, 0}, {28947, 25057, 21155, 0, 0},
{30540, 28167, 25698, 0, 0}, {16449, 8043, 4488, 0, 0},
{17070, 9491, 5600, 0, 0}, {20042, 12400, 7721, 0, 0},
{22856, 15753, 10792, 0, 0}, {24880, 18548, 13589, 0, 0},
{25991, 20484, 15750, 0, 0}, {28276, 24178, 20516, 0, 0},
{9519, 3864, 1821, 0, 0}, {11718, 4860, 2256, 0, 0},
{15328, 7428, 3819, 0, 0}, {18709, 10750, 6227, 0, 0},
{21480, 13865, 8870, 0, 0}, {23357, 16426, 11340, 0, 0},
{26490, 21180, 16824, 0, 0}},
{{18787, 12701, 9542, 0, 0}, {15846, 9188, 5985, 0, 0},
{21763, 13729, 8281, 0, 0}, {25379, 18550, 12970, 0, 0},
{27170, 21263, 15562, 0, 0}, {26678, 21555, 17109, 0, 0},
{28948, 25397, 22649, 0, 0}, {11686, 5843, 3093, 0, 0},
{11506, 4141, 1640, 0, 0}, {14376, 6314, 2331, 0, 0},
{17898, 9858, 5672, 0, 0}, {20148, 13284, 7860, 0, 0},
{23478, 16215, 9966, 0, 0}, {26100, 18480, 12764, 0, 0},
{5064, 1713, 819, 0, 0}, {8059, 2790, 980, 0, 0},
{11100, 3504, 1111, 0, 0}, {14473, 5800, 2694, 0, 0},
{16369, 8346, 3455, 0, 0}, {18421, 9742, 4664, 0, 0},
{20398, 12962, 8291, 0, 0}}},
{{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}},
{{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}, {24576, 16384, 8192, 0, 0},
{24576, 16384, 8192, 0, 0}}}}};
/* clang-format off */
constexpr uint16_t kDefaultDcSignCdf[kCoefficientQuantizerContexts][kNumPlaneTypes]
[kDcSignContexts][kBooleanFieldCdfSize] = {
{{{16768, 0, 0}, {19712, 0, 0}, {13952, 0, 0}}, {{17536, 0, 0}, {19840, 0, 0},
{15488, 0, 0}}},
{{{16768, 0, 0}, {19712, 0, 0}, {13952, 0, 0}}, {{17536, 0, 0}, {19840, 0, 0},
{15488, 0, 0}}},
{{{16768, 0, 0}, {19712, 0, 0}, {13952, 0, 0}}, {{17536, 0, 0}, {19840, 0, 0},
{15488, 0, 0}}},
{{{16768, 0, 0}, {19712, 0, 0}, {13952, 0, 0}}, {{17536, 0, 0}, {19840, 0, 0},
{15488, 0, 0}}}
};
/* clang-format on */
constexpr uint16_t kDefaultRestorationTypeCdf[kRestorationTypeSymbolCount + 1] =
{23355, 10187, 0, 0};
constexpr uint16_t kDefaultUseWienerCdf[kBooleanFieldCdfSize] = {21198, 0, 0};
constexpr uint16_t kDefaultUseSgrProjCdf[kBooleanFieldCdfSize] = {15913, 0, 0};
constexpr uint16_t
kDefaultHasPaletteYCdf[kPaletteBlockSizeContexts][kPaletteYModeContexts]
[kBooleanFieldCdfSize] = {
{{1092, 0, 0}, {29349, 0, 0}, {31507, 0, 0}},
{{856, 0, 0}, {29909, 0, 0}, {31788, 0, 0}},
{{945, 0, 0}, {29368, 0, 0}, {31987, 0, 0}},
{{738, 0, 0}, {29207, 0, 0}, {31864, 0, 0}},
{{459, 0, 0}, {25431, 0, 0}, {31306, 0, 0}},
{{503, 0, 0}, {28753, 0, 0}, {31247, 0, 0}},
{{318, 0, 0}, {24822, 0, 0}, {32639, 0, 0}}};
constexpr uint16_t
kDefaultPaletteYSizeCdf[kPaletteBlockSizeContexts]
[kPaletteSizeSymbolCount + 1] = {
{24816, 19768, 14619, 11290, 7241, 3527, 0, 0},
{25629, 21347, 16573, 13224, 9102, 4695, 0, 0},
{24980, 20027, 15443, 12268, 8453, 4238, 0, 0},
{24497, 18704, 14522, 11204, 7697, 4235, 0, 0},
{20043, 13588, 10905, 7929, 5233, 2648, 0, 0},
{23057, 17880, 15845, 11716, 7107, 4893, 0, 0},
{17828, 11971, 11090, 8582, 5735, 3769, 0, 0}};
constexpr uint16_t kDefaultHasPaletteUVCdf[kPaletteUVModeContexts]
[kBooleanFieldCdfSize] = {
{307, 0, 0}, {11280, 0, 0}};
constexpr uint16_t
kDefaultPaletteUVSizeCdf[kPaletteBlockSizeContexts]
[kPaletteSizeSymbolCount + 1] = {
{24055, 12789, 5640, 3159, 1437, 496, 0, 0},
{26929, 17195, 9187, 5821, 2920, 1068, 0, 0},
{28342, 21508, 14769, 11285, 6905, 3338, 0, 0},
{29540, 23304, 17775, 14679, 10245, 5348, 0, 0},
{29000, 23882, 19677, 14916, 10273, 5561, 0, 0},
{30304, 24317, 19907, 11136, 7243, 4213, 0, 0},
{31499, 27333, 22335, 13805, 11068, 6903, 0,
0}};
constexpr uint16_t kDefaultPaletteColorIndexCdf
[kNumPlaneTypes][kPaletteSizeSymbolCount][kPaletteColorIndexContexts]
[kPaletteColorIndexSymbolCount + 1] = {
{{{4058, 0, 0},
{16384, 0, 0},
{22215, 0, 0},
{5732, 0, 0},
{1165, 0, 0}},
{{4891, 2278, 0, 0},
{21236, 7071, 0, 0},
{26224, 2534, 0, 0},
{9750, 4696, 0, 0},
{853, 383, 0, 0}},
{{7196, 4722, 2723, 0, 0},
{23290, 11178, 5512, 0, 0},
{25520, 5931, 2944, 0, 0},
{13601, 8282, 4419, 0, 0},
{1368, 943, 518, 0, 0}},
{{7989, 5813, 4192, 2486, 0, 0},
{24099, 12404, 8695, 4675, 0, 0},
{28513, 5203, 3391, 1701, 0, 0},
{12904, 9094, 6052, 3238, 0, 0},
{1122, 875, 621, 342, 0, 0}},
{{9636, 7361, 5798, 4333, 2695, 0, 0},
{25325, 15526, 12051, 8006, 4786, 0, 0},
{26468, 7906, 5824, 3984, 2097, 0, 0},
{13852, 9873, 7501, 5333, 3116, 0, 0},
{1498, 1218, 960, 709, 415, 0, 0}},
{{9663, 7569, 6304, 5084, 3837, 2450, 0, 0},
{25818, 17321, 13816, 10087, 7201, 4205, 0, 0},
{25208, 9294, 7278, 5565, 3847, 2060, 0, 0},
{14224, 10395, 8311, 6573, 4649, 2723, 0, 0},
{1570, 1317, 1098, 886, 645, 377, 0, 0}},
{{11079, 8885, 7605, 6416, 5262, 3941, 2573, 0, 0},
{25876, 17383, 14928, 11162, 8481, 6015, 3564, 0, 0},
{27117, 9586, 7726, 6250, 4786, 3376, 1868, 0, 0},
{13419, 10190, 8350, 6774, 5244, 3737, 2320, 0, 0},
{1740, 1498, 1264, 1063, 841, 615, 376, 0, 0}}},
{{{3679, 0, 0},
{16384, 0, 0},
{24055, 0, 0},
{3511, 0, 0},
{1158, 0, 0}},
{{7511, 3623, 0, 0},
{20481, 5475, 0, 0},
{25735, 4808, 0, 0},
{12623, 7363, 0, 0},
{2160, 1129, 0, 0}},
{{8558, 5593, 2865, 0, 0},
{22880, 10382, 5554, 0, 0},
{26867, 6715, 3475, 0, 0},
{14450, 10616, 4435, 0, 0},
{2309, 1632, 842, 0, 0}},
{{9788, 7289, 4987, 2782, 0, 0},
{24355, 11360, 7909, 3894, 0, 0},
{30511, 3319, 2174, 1170, 0, 0},
{13579, 11566, 6853, 4148, 0, 0},
{924, 724, 487, 250, 0, 0}},
{{10551, 8201, 6131, 4085, 2220, 0, 0},
{25461, 16362, 13132, 8136, 4344, 0, 0},
{28327, 7704, 5889, 3826, 1849, 0, 0},
{15558, 12240, 9449, 6018, 3186, 0, 0},
{2094, 1815, 1372, 1033, 561, 0, 0}},
{{11529, 9600, 7724, 5806, 4063, 2262, 0, 0},
{26223, 17756, 14764, 10951, 7265, 4067, 0, 0},
{29320, 6473, 5331, 4064, 2642, 1326, 0, 0},
{16879, 14445, 11064, 8070, 5792, 3078, 0, 0},
{1780, 1564, 1289, 1034, 785, 443, 0, 0}},
{{11326, 9480, 8010, 6522, 5119, 3788, 2205, 0, 0},
{26905, 17835, 15216, 12100, 9085, 6357, 3495, 0, 0},
{29353, 6958, 5891, 4778, 3545, 2374, 1150, 0, 0},
{14803, 12684, 10536, 8794, 6494, 4366, 2378, 0, 0},
{1578, 1439, 1252, 1089, 943, 742, 446, 0, 0}}}};
constexpr uint16_t kDefaultIsInterCdf[kIsInterContexts][kBooleanFieldCdfSize] =
{{31962, 0, 0}, {16106, 0, 0}, {12582, 0, 0}, {6230, 0, 0}};
constexpr uint16_t
kDefaultUseCompoundReferenceCdf[kUseCompoundReferenceContexts]
[kBooleanFieldCdfSize] = {{5940, 0, 0},
{8733, 0, 0},
{20737, 0, 0},
{22128, 0, 0},
{29867, 0, 0}};
constexpr uint16_t
kDefaultCompoundReferenceTypeCdf[kCompoundReferenceTypeContexts]
[kBooleanFieldCdfSize] = {{31570, 0, 0},
{30698, 0, 0},
{23602, 0, 0},
{25269, 0, 0},
{10293, 0, 0}};
constexpr uint16_t kDefaultCompoundReferenceCdf
[kNumCompoundReferenceTypes][kReferenceContexts][3][kBooleanFieldCdfSize] =
{{{{27484, 0, 0}, {28903, 0, 0}, {29640, 0, 0}},
{{9616, 0, 0}, {18595, 0, 0}, {17498, 0, 0}},
{{994, 0, 0}, {7648, 0, 0}, {6058, 0, 0}}},
{{{27822, 0, 0}, {23300, 0, 0}, {31265, 0, 0}},
{{12877, 0, 0}, {10327, 0, 0}, {17608, 0, 0}},
{{2037, 0, 0}, {1709, 0, 0}, {5224, 0, 0}}}};
constexpr uint16_t
kDefaultCompoundBackwardReferenceCdf[kReferenceContexts][2]
[kBooleanFieldCdfSize] = {
{{30533, 0, 0}, {31345, 0, 0}},
{{15586, 0, 0}, {17593, 0, 0}},
{{2162, 0, 0}, {2279, 0, 0}}};
/* clang-format off */
constexpr uint16_t kDefaultSingleReferenceCdf[kReferenceContexts][6]
[kBooleanFieldCdfSize] = {
{{27871, 0, 0}, {31213, 0, 0}, {28532, 0, 0}, {24118, 0, 0}, {31864, 0, 0},
{31324, 0, 0}},
{{15795, 0, 0}, {16017, 0, 0}, {13121, 0, 0}, {7995, 0, 0}, {21754, 0, 0},
{17681, 0, 0}},
{{3024, 0, 0}, {2489, 0, 0}, {1574, 0, 0}, {873, 0, 0}, {5893, 0, 0},
{2464, 0, 0}}};
/* clang-format on */
constexpr uint16_t kDefaultCompoundPredictionModeCdf
[kCompoundPredictionModeContexts][kNumCompoundInterPredictionModes + 1] = {
{25008, 18945, 16960, 15127, 13612, 12102, 5877, 0, 0},
{22038, 13316, 11623, 10019, 8729, 7637, 4044, 0, 0},
{22104, 12547, 11180, 9862, 8473, 7381, 4332, 0, 0},
{19470, 15784, 12297, 8586, 7701, 7032, 6346, 0, 0},
{13864, 9443, 7526, 5336, 4870, 4510, 2010, 0, 0},
{22043, 15314, 12644, 9948, 8573, 7600, 6722, 0, 0},
{15643, 8495, 6954, 5276, 4554, 4064, 2176, 0, 0},
{19722, 9554, 8263, 6826, 5333, 4326, 3438, 0, 0}};
constexpr uint16_t kDefaultNewMvCdf[kNewMvContexts][kBooleanFieldCdfSize] = {
{8733, 0, 0}, {16138, 0, 0}, {17429, 0, 0},
{24382, 0, 0}, {20546, 0, 0}, {28092, 0, 0}};
constexpr uint16_t kDefaultZeroMvCdf[kZeroMvContexts][kBooleanFieldCdfSize] = {
{30593, 0, 0}, {31714, 0, 0}};
constexpr uint16_t
kDefaultReferenceMvCdf[kReferenceMvContexts][kBooleanFieldCdfSize] = {
{8794, 0, 0}, {8580, 0, 0}, {14920, 0, 0},
{4146, 0, 0}, {8456, 0, 0}, {12845, 0, 0}};
// This is called drl_mode in the spec where DRL stands for Dynamic Reference
// List.
constexpr uint16_t
kDefaultRefMvIndexCdf[kRefMvIndexContexts][kBooleanFieldCdfSize] = {
{19664, 0, 0}, {8208, 0, 0}, {13823, 0, 0}};
constexpr uint16_t
kDefaultIsInterIntraCdf[kInterIntraContexts][kBooleanFieldCdfSize] = {
{5881, 0, 0}, {5171, 0, 0}, {2531, 0, 0}};
constexpr uint16_t kDefaultInterIntraModeCdf[kInterIntraContexts]
[kNumInterIntraModes + 1] = {
{30893, 21686, 5436, 0, 0},
{30295, 22772, 6380, 0, 0},
{28530, 21231, 6842, 0, 0}};
constexpr uint16_t
kDefaultIsWedgeInterIntraCdf[kMaxBlockSizes][kBooleanFieldCdfSize] = {
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{12732, 0, 0}, {7811, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{6064, 0, 0}, {5238, 0, 0}, {3204, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {3324, 0, 0}, {5896, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}};
constexpr uint16_t
kDefaultWedgeIndexCdf[kMaxBlockSizes][kWedgeIndexSymbolCount + 1] = {
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30330, 28328, 26169, 24105, 21763, 19894, 17017, 14674, 12409, 10406,
8641, 7066, 5016, 3318, 1597, 0, 0},
{31962, 29502, 26763, 26030, 25550, 25401, 24997, 18180, 16445, 15401,
14316, 13346, 9929, 6641, 3139, 0, 0},
{32614, 31781, 30843, 30717, 30680, 30657, 30617, 9735, 9065, 8484,
7783, 7084, 5509, 3885, 1857, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{29989, 29030, 28085, 25555, 24993, 24751, 24113, 18411, 14829, 11436,
8248, 5298, 3312, 2239, 1112, 0, 0},
{31084, 29143, 27093, 25660, 23466, 21494, 18339, 15624, 13605, 11807,
9884, 8297, 6049, 4054, 1891, 0, 0},
{31626, 29277, 26491, 25454, 24679, 24413, 23745, 19144, 17399, 16038,
14654, 13455, 10247, 6756, 3218, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{31633, 31446, 31275, 30133, 30072, 30031, 29998, 11752, 9833, 7711,
5517, 3595, 2679, 1808, 835, 0, 0},
{30026, 28573, 27041, 24733, 23788, 23432, 22622, 18644, 15498, 12235,
9334, 6796, 4824, 3198, 1352, 0, 0},
{31041, 28820, 26667, 24972, 22927, 20424, 17002, 13824, 12130, 10730,
8805, 7457, 5780, 4002, 1756, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0},
{30720, 28672, 26624, 24576, 22528, 20480, 18432, 16384, 14336, 12288,
10240, 8192, 6144, 4096, 2048, 0, 0}};
constexpr uint16_t kDefaultUseObmcCdf[kMaxBlockSizes][kBooleanFieldCdfSize] = {
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {22331, 0, 0},
{23397, 0, 0}, {9104, 0, 0}, {16384, 0, 0}, {23467, 0, 0}, {15336, 0, 0},
{18345, 0, 0}, {8760, 0, 0}, {11867, 0, 0}, {17626, 0, 0}, {6951, 0, 0},
{9945, 0, 0}, {5889, 0, 0}, {10685, 0, 0}, {2640, 0, 0}, {1754, 0, 0},
{1208, 0, 0}, {130, 0, 0}};
constexpr uint16_t kDefaultMotionModeCdf[kMaxBlockSizes][kNumMotionModes + 1] =
{{21845, 10923, 0, 0}, {21845, 10923, 0, 0}, {21845, 10923, 0, 0},
{21845, 10923, 0, 0}, {25117, 8008, 0, 0}, {28030, 8003, 0, 0},
{3969, 1378, 0, 0}, {21845, 10923, 0, 0}, {27377, 7240, 0, 0},
{13349, 5958, 0, 0}, {27645, 9162, 0, 0}, {3795, 1174, 0, 0},
{6337, 1994, 0, 0}, {21162, 8460, 0, 0}, {6508, 3652, 0, 0},
{12408, 4706, 0, 0}, {3026, 1565, 0, 0}, {11089, 5938, 0, 0},
{3252, 2067, 0, 0}, {3870, 2371, 0, 0}, {1890, 1433, 0, 0},
{261, 210, 0, 0}};
constexpr uint16_t
kDefaultIsExplicitCompoundTypeCdf[kIsExplicitCompoundTypeContexts]
[kBooleanFieldCdfSize] = {
{6161, 0, 0}, {9877, 0, 0},
{13928, 0, 0}, {8174, 0, 0},
{12834, 0, 0}, {10094, 0, 0}};
constexpr uint16_t
kDefaultIsCompoundTypeAverageCdf[kIsCompoundTypeAverageContexts]
[kBooleanFieldCdfSize] = {
{14524, 0, 0}, {19903, 0, 0},
{25715, 0, 0}, {19509, 0, 0},
{23434, 0, 0}, {28124, 0, 0}};
constexpr uint16_t kDefaultCompoundTypeCdf
[kMaxBlockSizes][kNumExplicitCompoundPredictionTypes + 1] = {
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{9337, 0, 0}, {19597, 0, 0}, {20948, 0, 0}, {16384, 0, 0},
{21298, 0, 0}, {22998, 0, 0}, {23668, 0, 0}, {16384, 0, 0},
{25067, 0, 0}, {24535, 0, 0}, {26596, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0}, {16384, 0, 0},
{16384, 0, 0}, {16384, 0, 0}};
constexpr uint16_t kDefaultInterpolationFilterCdf
[kInterpolationFilterContexts][kNumExplicitInterpolationFilters + 1] = {
{833, 48, 0, 0}, {27200, 49, 0, 0}, {32346, 29830, 0, 0},
{4524, 160, 0, 0}, {1562, 815, 0, 0}, {27906, 647, 0, 0},
{31998, 31616, 0, 0}, {11879, 7131, 0, 0}, {858, 44, 0, 0},
{28648, 56, 0, 0}, {32463, 30521, 0, 0}, {5365, 132, 0, 0},
{1746, 759, 0, 0}, {29805, 675, 0, 0}, {32167, 31825, 0, 0},
{17799, 11370, 0, 0}};
constexpr uint16_t kDefaultMvJointCdf[kNumMvJointTypes + 1] = {28672, 21504,
13440, 0, 0};
constexpr uint16_t kDefaultMvSignCdf[kBooleanFieldCdfSize] = {16384, 0, 0};
constexpr uint16_t kDefaultMvClassCdf[kMvClassSymbolCount + 1] = {
4096, 1792, 910, 448, 217, 112, 28, 11, 6, 1, 0};
constexpr uint16_t kDefaultMvClass0BitCdf[kBooleanFieldCdfSize] = {5120, 0, 0};
constexpr uint16_t kDefaultMvClass0FractionCdf[kBooleanSymbolCount]
[kMvFractionSymbolCount + 1] = {
{16384, 8192, 6144, 0, 0},
{20480, 11520, 8640, 0, 0}};
constexpr uint16_t kDefaultMvClass0HighPrecisionCdf[kBooleanFieldCdfSize] = {
12288, 0, 0};
constexpr uint16_t kDefaultMvBitCdf[kMvBitSymbolCount][kBooleanFieldCdfSize] = {
{15360, 0, 0}, {14848, 0, 0}, {13824, 0, 0}, {12288, 0, 0}, {10240, 0, 0},
{8192, 0, 0}, {4096, 0, 0}, {2816, 0, 0}, {2816, 0, 0}, {2048, 0, 0}};
constexpr uint16_t kDefaultMvFractionCdf[kMvFractionSymbolCount + 1] = {
24576, 15360, 11520, 0, 0};
constexpr uint16_t kDefaultMvHighPrecisionCdf[kBooleanFieldCdfSize] = {16384, 0,
0};