1 /*
2  * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3  *
4  * This source code is subject to the terms of the BSD 2 Clause License and
5  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6  * was not distributed with this source code in the LICENSE file, you can
7  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8  * Media Patent License 1.0 was not distributed with this source code in the
9  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10  */
11 
12 #include "aom_mem/aom_mem.h"
13 
14 #include "av1/common/reconinter.h"
15 #include "av1/common/scan.h"
16 #include "av1/common/onyxc_int.h"
17 #include "av1/common/seg_common.h"
18 #if CONFIG_LV_MAP
19 #include "av1/common/txb_common.h"
20 #endif
21 
22 #if CONFIG_LV_MAP
23 #include "av1/common/txb_common.h"
24 const aom_prob default_txb_skip[TX_SIZES][TXB_SKIP_CONTEXTS] = {
25 #if CONFIG_CHROMA_2X2
26   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
27 #endif
28   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
29   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
30   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
31   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
32 };
33 const aom_prob default_dc_sign[PLANE_TYPES][DC_SIGN_CONTEXTS] = {
34   { 125, 102, 147 }, { 119, 101, 135 },
35 };
36 
37 const aom_prob default_coeff_base
38     [TX_SIZES][PLANE_TYPES][NUM_BASE_LEVELS][COEFF_BASE_CONTEXTS] = {
39 #if CONFIG_CHROMA_2X2
40       { // TX_2X2
41         {
42             { 73,  128, 131, 204, 165, 226, 169, 236, 18,  128, 51,
43               153, 97,  179, 123, 201, 145, 226, 20,  128, 59,  153,
44               107, 181, 129, 201, 142, 226, 3,   128, 19,  99,  46,
45               135, 92,  166, 129, 190, 157, 217, 128, 128 },
46 
47             { 128, 128, 178, 218, 192, 236, 186, 243, 55,  128, 110,
48               183, 151, 205, 168, 221, 180, 238, 65,  128, 116, 178,
49               157, 206, 172, 222, 183, 238, 24,  128, 65,  127, 104,
50               164, 154, 195, 187, 216, 205, 230, 128, 128 },
51         },
52         {
53             { 73,  128, 131, 204, 165, 226, 169, 236, 18,  128, 51,
54               153, 97,  179, 123, 201, 145, 226, 20,  128, 59,  153,
55               107, 181, 129, 201, 142, 226, 3,   128, 19,  99,  46,
56               135, 92,  166, 129, 190, 157, 217, 128, 128 },
57 
58             { 128, 128, 178, 218, 192, 236, 186, 243, 55,  128, 110,
59               183, 151, 205, 168, 221, 180, 238, 65,  128, 116, 178,
60               157, 206, 172, 222, 183, 238, 24,  128, 65,  127, 104,
61               164, 154, 195, 187, 216, 205, 230, 128, 128 },
62         } },
63 #endif
64       { // TX_4X4
65         {
66             // PLANE_Y
67             { 73,  128, 131, 204, 165, 226, 169, 236, 18,  128, 51,
68               153, 97,  179, 123, 201, 145, 226, 20,  128, 59,  153,
69               107, 181, 129, 201, 142, 226, 3,   128, 19,  99,  46,
70               135, 92,  166, 129, 190, 157, 217, 128, 128 },
71 
72             { 128, 128, 178, 218, 192, 236, 186, 243, 55,  128, 110,
73               183, 151, 205, 168, 221, 180, 238, 65,  128, 116, 178,
74               157, 206, 172, 222, 183, 238, 24,  128, 65,  127, 104,
75               164, 154, 195, 187, 216, 205, 230, 128, 128 },
76         },
77         {
78             // PLANE_UV
79             { 47,  128, 100, 176, 140, 207, 150, 223, 11,  128, 35,
80               133, 79,  165, 115, 186, 129, 210, 8,   128, 30,  114,
81               80,  159, 116, 187, 146, 214, 2,   128, 9,   59,  28,
82               86,  71,  131, 117, 165, 149, 188, 128, 128 },
83 
84             { 83,  128, 152, 205, 168, 227, 192, 238, 42,  128, 92,
85               169, 138, 193, 165, 209, 128, 206, 36,  128, 86,  159,
86               141, 198, 181, 213, 102, 223, 18,  128, 50,  132, 90,
87               144, 141, 169, 180, 191, 128, 217, 128, 128 },
88         } },
89       {
90           // TX_8X8
91           {
92               // PLANE_Y
93               { 82,  128, 143, 203, 177, 225, 186, 237, 7,   128, 37,
94                 109, 78,  151, 110, 182, 139, 213, 25,  128, 51,  115,
95                 86,  146, 111, 175, 125, 205, 3,   128, 12,  55,  32,
96                 78,  63,  111, 96,  148, 123, 185, 146, 206 },
97 
98               { 136, 128, 182, 220, 201, 236, 205, 243, 46,  128, 101,
99                 164, 147, 194, 170, 218, 177, 234, 62,  128, 104, 146,
100                 143, 183, 165, 207, 183, 228, 30,  128, 60,  95,  95,
101                 128, 135, 163, 166, 196, 175, 219, 192, 231 },
102           },
103           {
104               // PLANE_UV
105               { 47,  128, 112, 189, 164, 202, 163, 218, 8,   128, 32,
106                 110, 68,  151, 102, 179, 134, 195, 5,   128, 22,  76,
107                 54,  103, 80,  146, 101, 182, 1,   128, 5,   39,  17,
108                 53,  46,  93,  79,  127, 112, 161, 64,  195 },
109 
110               { 90,  128, 156, 210, 183, 225, 128, 236, 39,  128, 98,
111                 164, 146, 201, 209, 219, 171, 208, 32,  128, 68,  123,
112                 119, 169, 154, 184, 128, 213, 15,  128, 38,  111, 83,
113                 112, 120, 163, 180, 170, 154, 213, 128, 205 },
114           },
115       },
116 
117       {
118           // TX_16X16
119           {
120               // PLANE_Y
121               { 96,  128, 169, 218, 208, 233, 187, 244, 10,  128, 34,
122                 101, 82,  153, 113, 184, 137, 212, 6,   128, 34,  104,
123                 81,  145, 109, 176, 147, 202, 1,   128, 3,   43,  15,
124                 53,  43,  89,  79,  129, 108, 168, 110, 194 },
125 
126               { 156, 128, 206, 232, 218, 240, 128, 251, 39,  128, 108,
127                 161, 156, 202, 187, 216, 179, 234, 40,  128, 103, 152,
128                 144, 185, 159, 208, 205, 227, 14,  128, 39,  84,  76,
129                 110, 121, 151, 157, 187, 201, 206, 64,  216 },
130           },
131           {
132               // PLANE_UV
133               { 42, 128, 139, 211, 180, 230, 199, 238, 3,   128, 32,
134                 96, 69,  145, 102, 186, 117, 212, 4,   128, 25,  72,
135                 55, 111, 81,  159, 116, 198, 1,   128, 4,   22,  16,
136                 34, 35,  68,  63,  116, 89,  165, 102, 199 },
137 
138               { 135, 128, 193, 227, 182, 239, 128, 246, 42,  128, 115,
139                 156, 146, 203, 188, 216, 128, 229, 32,  128, 82,  127,
140                 120, 178, 165, 203, 213, 229, 11,  128, 32,  73,  79,
141                 111, 129, 158, 162, 187, 156, 209, 85,  222 },
142           },
143       },
144 
145       {
146           // TX_32X32
147           {
148               // PLANE_Y
149               { 97,  128, 163, 232, 191, 246, 219, 252, 3,   128, 41,
150                 108, 91,  147, 104, 183, 118, 225, 6,   128, 45,  91,
151                 83,  125, 92,  160, 99,  215, 1,   128, 11,  36,  28,
152                 46,  43,  59,  57,  86,  73,  145, 91,  210 },
153 
154               { 127, 128, 201, 239, 247, 248, 128, 254, 40,  128, 103,
155                 152, 158, 199, 186, 225, 181, 242, 38,  128, 92,  112,
156                 146, 189, 162, 217, 112, 239, 17,  128, 30,  47,  63,
157                 89,  113, 146, 147, 187, 168, 217, 150, 233 },
158           },
159           {
160               // PLANE_UV
161               { 65,  128, 155, 223, 166, 235, 154, 244, 15,  128, 57,
162                 154, 110, 199, 159, 224, 149, 239, 9,   128, 57,  140,
163                 97,  185, 148, 218, 176, 236, 1,   128, 3,   43,  19,
164                 42,  64,  98,  117, 167, 154, 199, 128, 158 },
165 
166               { 130, 128, 189, 231, 171, 247, 128, 246, 63,  128, 132,
167                 222, 186, 224, 199, 244, 128, 247, 55,  128, 113, 211,
168                 164, 230, 225, 243, 128, 239, 7,   128, 31,  102, 106,
169                 138, 147, 183, 171, 223, 171, 224, 128, 128 },
170           },
171       },
172     };
173 
174 const aom_prob default_nz_map[TX_SIZES][PLANE_TYPES][SIG_COEF_CONTEXTS] = {
175 #if CONFIG_EXT_TX
176 #if CONFIG_CHROMA_2X2
177   { { 56,  137, 82,  136, 83,  187, 124, 65,
178       215, 118, 155, 97,  160, 111, 71,  55,
179 
180       142, 156, 91,  226, 107, 231, 146, 65,
181       105, 91,  232, 97,  185, 121, 90,  74,
182 
183       153, 195, 123, 154, 106, 196, 143, 67,
184       232, 125, 121, 105, 159, 113, 88,  66 },
185     { 50,  124, 89,  135, 116, 189, 150, 81,
186       202, 126, 130, 107, 149, 110, 85,  67,
187 
188       139, 174, 112, 200, 94,  206, 146, 71,
189       163, 164, 212, 99,  177, 143, 125, 85,
190 
191       151, 181, 126, 168, 135, 186, 143, 94,
192       207, 129, 142, 135, 145, 112, 98,  81 } },
193 #endif
194   { { 56,  137, 82,  136, 83,  187, 124, 65,
195       215, 118, 155, 97,  160, 111, 71,  55,
196 
197       142, 156, 91,  226, 107, 231, 146, 65,
198       105, 91,  232, 97,  185, 121, 90,  74,
199 
200       153, 195, 123, 154, 106, 196, 143, 67,
201       232, 125, 121, 105, 159, 113, 88,  66 },
202     { 50,  124, 89,  135, 116, 189, 150, 81,
203       202, 126, 130, 107, 149, 110, 85,  67,
204 
205       139, 174, 112, 200, 94,  206, 146, 71,
206       163, 164, 212, 99,  177, 143, 125, 85,
207 
208       151, 181, 126, 168, 135, 186, 143, 94,
209       207, 129, 142, 135, 145, 112, 98,  81 } },
210   { { 57,  156, 91,  162, 99,  212, 149, 81,
211       223, 128, 182, 121, 216, 163, 119, 94,
212 
213       139, 183, 100, 206, 98,  242, 163, 79,
214       200, 127, 234, 112, 230, 169, 115, 90,
215 
216       156, 190, 130, 172, 117, 209, 163, 80,
217       217, 145, 182, 135, 204, 163, 120, 88 },
218     { 48,  133, 102, 143, 119, 190, 170, 109,
219       197, 127, 176, 137, 214, 168, 130, 119,
220 
221       139, 185, 129, 210, 84,  237, 177, 75,
222       182, 165, 216, 121, 206, 177, 147, 102,
223 
224       159, 192, 153, 182, 139, 203, 160, 125,
225       193, 161, 176, 142, 173, 145, 131, 114 } },
226   { { 33,  148, 81,  149, 84,  219, 152, 76,
227       229, 127, 205, 120, 234, 170, 123, 88,
228 
229       134, 197, 101, 213, 91,  244, 169, 85,
230       220, 141, 234, 123, 242, 183, 130, 94,
231 
232       141, 184, 121, 173, 98,  213, 156, 85,
233       204, 156, 197, 119, 212, 174, 127, 92 },
234     { 14,  75,  45,  98,  83,  197, 150, 90,
235       235, 124, 242, 155, 246, 187, 143, 103,
236 
237       78,  185, 111, 255, 116, 255, 224, 171,
238       185, 157, 255, 85,  219, 122, 128, 128,
239 
240       117, 187, 102, 181, 132, 233, 197, 93,
241       207, 135, 191, 107, 222, 175, 130, 47 } },
242   {
243       { 14,  79,  44,  86,  59,  178, 124, 63,
244         244, 106, 233, 117, 252, 185, 132, 92,
245 
246         85,  225, 47,  236, 103, 255, 190, 116,
247         235, 114, 247, 123, 250, 174, 122, 110,
248 
249         109, 197, 78,  177, 76,  242, 148, 68,
250         236, 123, 231, 103, 247, 171, 122, 91 },
251       { 11,  40,  27,  92,  78,  183, 171, 70,
252         216, 74,  251, 146, 252, 213, 171, 148,
253 
254         85,  225, 47,  236, 103, 255, 190, 116,
255         235, 114, 247, 123, 250, 174, 122, 110,
256 
257         109, 197, 78,  177, 76,  242, 148, 68,
258         236, 123, 231, 103, 247, 171, 122, 91 },
259   },
260 #else  // CONFIG_EXT_TX
261 #if CONFIG_CHROMA_2X2
262   {
263       {
264           34, 103, 61, 106, 62, 160, 112, 54, 173, 121, 157, 92, 157, 129, 94,
265           65,
266       },
267 
268       {
269           52, 124, 84, 136, 107, 197, 161, 82, 183, 151, 153, 140, 152, 134,
270           109, 81,
271       },
272   },
273 #endif
274   {
275       {
276           34, 103, 61, 106, 62, 160, 112, 54, 173, 121, 157, 92, 157, 129, 94,
277           65,
278       },
279 
280       {
281           52, 124, 84, 136, 107, 197, 161, 82, 183, 151, 153, 140, 152, 134,
282           109, 81,
283       },
284   },
285   {
286       {
287           34, 127, 74, 124, 74, 204, 153, 76, 226, 162, 207, 126, 227, 192, 149,
288           108,
289       },
290 
291       {
292           43, 136, 115, 158, 130, 212, 187, 112, 231, 180, 202, 164, 236, 204,
293           168, 139,
294       },
295   },
296   {
297       {
298           25, 117, 70, 120, 77, 215, 171, 102, 234, 156, 235, 155, 247, 220,
299           176, 127,
300       },
301 
302       {
303           24, 88, 49, 100, 62, 202, 148, 62, 237, 178, 233, 168, 244, 198, 162,
304           127,
305       },
306   },
307   {
308       {
309           11, 54, 17, 69, 26, 128, 125, 56, 232, 130, 237, 121, 250, 168, 134,
310           114,
311       },
312 
313       {
314           21, 52, 32, 95, 64, 171, 152, 70, 247, 159, 252, 177, 252, 221, 192,
315           143,
316       },
317   },
318 #endif  // CONFIG_EXT_TX
319 };
320 
321 #if CONFIG_CTX1D
322 const aom_prob default_eob_flag[TX_SIZES][PLANE_TYPES][EOB_COEF_CONTEXTS] = {
323 #if CONFIG_CHROMA_2X2
324   { { 220, 225, 220, 216, 233, 225, 189, 178, 222, 199, 164, 112, 207,
325       171, 115, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
326 
327       147, 125, 104, 36,  117, 107, 26,  128, 128, 128, 128, 128, 128,
328       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
329 
330       156, 124, 128, 128, 146, 68,  128, 128, 131, 17,  128, 128, 64,
331       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
332 
333     { 146, 150, 142, 144, 178, 167, 131, 116, 150, 123, 107, 63,  119,
334       89,  74,  128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
335 
336       117, 127, 105, 69,  53,  56,  30,  128, 128, 128, 128, 128, 128,
337       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
338 
339       128, 86,  128, 128, 140, 72,  128, 128, 120, 44,  128, 128, 80,
340       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
341   { { 237, 242, 242, 219, 192, 246, 246, 243, 233, 184, 155, 234, 217,
342       188, 152, 195, 167, 114, 89,  128, 128, 128, 128, 128, 128,
343 
344       180, 173, 154, 133, 112, 147, 145, 142, 102, 128, 128, 128, 128,
345       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
346 
347       198, 173, 130, 200, 128, 208, 182, 160, 106, 171, 128, 144, 128,
348       128, 128, 124, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
349 
350     { 140, 170, 162, 111, 94,  182, 195, 165, 153, 110, 81,  178, 169,
351       158, 83,  133, 85,  85,  38,  128, 128, 128, 128, 128, 128,
352 
353       112, 127, 107, 87,  31,  57,  49,  128, 128, 128, 128, 128, 128,
354       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
355 
356       160, 143, 99,  126, 128, 164, 133, 126, 59,  71,  128, 138, 128,
357       128, 128, 99,  128, 128, 128, 128, 128, 128, 128, 128, 128 } },
358 #endif
359   { { 220, 225, 220, 216, 233, 225, 189, 178, 222, 199, 164, 112, 207,
360       171, 115, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
361 
362       147, 125, 104, 36,  117, 107, 26,  128, 128, 128, 128, 128, 128,
363       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
364 
365       156, 124, 128, 128, 146, 68,  128, 128, 131, 17,  128, 128, 64,
366       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
367 
368     { 146, 150, 142, 144, 178, 167, 131, 116, 150, 123, 107, 63,  119,
369       89,  74,  128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
370 
371       117, 127, 105, 69,  53,  56,  30,  128, 128, 128, 128, 128, 128,
372       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
373 
374       128, 86,  128, 128, 140, 72,  128, 128, 120, 44,  128, 128, 80,
375       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
376   { { 237, 242, 242, 219, 192, 246, 246, 243, 233, 184, 155, 234, 217,
377       188, 152, 195, 167, 114, 89,  128, 128, 128, 128, 128, 128,
378 
379       180, 173, 154, 133, 112, 147, 145, 142, 102, 128, 128, 128, 128,
380       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
381 
382       198, 173, 130, 200, 128, 208, 182, 160, 106, 171, 128, 144, 128,
383       128, 128, 124, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
384 
385     { 140, 170, 162, 111, 94,  182, 195, 165, 153, 110, 81,  178, 169,
386       158, 83,  133, 85,  85,  38,  128, 128, 128, 128, 128, 128,
387 
388       112, 127, 107, 87,  31,  57,  49,  128, 128, 128, 128, 128, 128,
389       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
390 
391       160, 143, 99,  126, 128, 164, 133, 126, 59,  71,  128, 138, 128,
392       128, 128, 99,  128, 128, 128, 128, 128, 128, 128, 128, 128 } },
393   { { 229, 241, 243, 245, 247, 247, 251, 248, 235, 210, 247, 235, 208,
394       166, 245, 247, 244, 182, 236, 229, 180, 136, 128, 128, 128,
395 
396       191, 197, 96,  70,  199, 128, 128, 191, 174, 117, 128, 128, 128,
397       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
398 
399       211, 183, 215, 188, 138, 209, 136, 128, 170, 128, 191, 128, 161,
400       128, 182, 128, 128, 128, 164, 128, 128, 128, 128, 128, 128 },
401 
402     { 106, 153, 182, 191, 186, 202, 211, 203, 166, 147, 205, 205, 195,
403       128, 206, 212, 182, 109, 192, 154, 139, 79,  128, 128, 128,
404 
405       112, 133, 128, 255, 128, 128, 128, 130, 154, 98,  128, 128, 128,
406       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
407 
408       144, 185, 169, 199, 85,  183, 128, 128, 64,  128, 146, 128, 128,
409       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
410   { { 169, 203, 224, 222, 220, 228, 229, 223, 234, 247, 242, 230, 222,
411       238, 246, 234, 196, 245, 249, 245, 192, 240, 235, 199, 161,
412 
413       176, 148, 158, 77,  178, 128, 128, 158, 128, 128, 196, 208, 155,
414       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
415 
416       232, 187, 191, 221, 116, 217, 154, 128, 203, 128, 128, 192, 128,
417       201, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
418 
419     { 133, 182, 215, 204, 176, 220, 182, 168, 187, 197, 181, 145, 75,
420       164, 136, 51,  57,  156, 128, 128, 128, 85,  128, 128, 128,
421 
422       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
423       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
424 
425       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
426       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
427 };
428 #else  // CONFIG_CTX1D
429 const aom_prob default_eob_flag[TX_SIZES][PLANE_TYPES][EOB_COEF_CONTEXTS] = {
430 #if CONFIG_CHROMA_2X2
431   {
432       { 229, 236, 231, 222, 239, 236, 214, 201, 236, 226, 195, 134, 228,
433         210, 150, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
434       { 182, 186, 172, 176, 207, 213, 152, 122, 187, 171, 131, 65, 170,
435         134, 101, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
436   },
437 #endif
438   {
439       { 229, 236, 231, 222, 239, 236, 214, 201, 236, 226, 195, 134, 228,
440         210, 150, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
441       { 182, 186, 172, 176, 207, 213, 152, 122, 187, 171, 131, 65, 170,
442         134, 101, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
443   },
444   {
445       { 225, 234, 244, 236, 205, 242, 246, 247, 246, 234, 191, 242, 237,
446         215, 142, 224, 206, 142, 73,  128, 128, 128, 128, 128, 128 },
447       { 154, 171, 187, 175, 62,  199, 202, 206, 215, 200, 111, 197, 199,
448         174, 100, 135, 105, 104, 45,  128, 128, 128, 128, 128, 128 },
449   },
450   {
451       { 180, 213, 216, 229, 233, 232, 240, 235, 220, 178, 239, 238, 225,
452         187, 229, 214, 226, 200, 183, 141, 158, 179, 128, 128, 128 },
453       { 190, 225, 234, 248, 249, 248, 253, 251, 232, 110, 254, 252, 236,
454         57,  253, 248, 232, 85,  244, 189, 112, 64,  128, 128, 128 },
455   },
456   {
457       { 248, 224, 246, 244, 239, 245, 251, 246, 251, 255, 255, 255, 249,
458         255, 255, 255, 229, 255, 255, 255, 228, 255, 255, 247, 137 },
459       { 204, 207, 233, 215, 193, 228, 239, 221, 227, 250, 236, 207, 135,
460         236, 186, 182, 57,  209, 140, 128, 85,  184, 110, 128, 128 },
461   },
462 };
463 #endif  // CONFIG_CTX1D
464 
465 const aom_prob default_coeff_lps[TX_SIZES][PLANE_TYPES][LEVEL_CONTEXTS] = {
466 #if CONFIG_CHROMA_2X2
467   { { 96,  128, 86,  122, 128, 84,  125, 128, 88,  99,  126, 128,
468       135, 159, 99,  130, 134, 100, 128, 144, 70,  97,  128, 139,
469       157, 168, 127, 148, 162, 121, 149, 157, 118, 127, 143, 157,
470       178, 186, 168, 171, 183, 165, 169, 180, 180, 169, 166, 177 },
471     { 81,  128, 72,  95,  128, 64,  98,  128, 42,  66,  101, 128,
472       129, 163, 97,  122, 130, 91,  119, 141, 70,  94,  118, 166,
473       157, 168, 117, 143, 151, 111, 144, 154, 76,  113, 128, 158,
474       177, 185, 165, 167, 179, 155, 166, 179, 110, 137, 115, 165 } },
475 #endif
476   { { 96,  128, 86,  122, 128, 84,  125, 128, 88,  99,  126, 128,
477       135, 159, 99,  130, 134, 100, 128, 144, 70,  97,  128, 139,
478       157, 168, 127, 148, 162, 121, 149, 157, 118, 127, 143, 157,
479       178, 186, 168, 171, 183, 165, 169, 180, 180, 169, 166, 177 },
480     { 81,  128, 72,  95,  128, 64,  98,  128, 42,  66,  101, 128,
481       129, 163, 97,  122, 130, 91,  119, 141, 70,  94,  118, 166,
482       157, 168, 117, 143, 151, 111, 144, 154, 76,  113, 128, 158,
483       177, 185, 165, 167, 179, 155, 166, 179, 110, 137, 115, 165 } },
484   { { 102, 128, 79,  125, 128, 74,  121, 128, 61,  98,  128, 128,
485       141, 164, 96,  132, 150, 90,  128, 153, 62,  100, 128, 153,
486       162, 172, 120, 146, 162, 113, 142, 154, 96,  113, 138, 155,
487       181, 188, 151, 170, 179, 147, 167, 181, 158, 157, 163, 176 },
488     { 103, 128, 80,  116, 128, 66,  94,  128, 35,  65,  109, 128,
489       134, 163, 104, 137, 154, 92,  128, 104, 58,  94,  129, 132,
490       156, 173, 137, 149, 165, 104, 143, 143, 112, 101, 133, 159,
491       176, 186, 134, 172, 175, 155, 169, 177, 255, 107, 137, 168 } },
492   { { 125, 128, 85,  157, 128, 82,  155, 128, 42,  83,  116, 128,
493       155, 174, 101, 144, 155, 93,  140, 155, 57,  92,  124, 149,
494       173, 178, 114, 148, 161, 111, 145, 161, 77,  101, 131, 153,
495       190, 191, 140, 169, 183, 140, 169, 179, 108, 122, 150, 171 },
496     { 136, 128, 108, 163, 128, 96,  140, 128, 48,  90,  85,  128,
497       144, 164, 113, 158, 179, 107, 159, 128, 43,  75,  133, 160,
498       157, 184, 144, 160, 189, 154, 152, 184, 128, 124, 137, 140,
499       188, 196, 148, 170, 178, 128, 177, 159, 128, 179, 135, 135 } },
500   { { 133, 128, 110, 153, 128, 101, 157, 128, 49,  91,  134, 128,
501       151, 168, 129, 158, 162, 112, 154, 168, 63,  99,  130, 158,
502       171, 178, 128, 160, 173, 111, 155, 171, 86,  108, 143, 159,
503       194, 196, 162, 177, 185, 123, 172, 181, 101, 132, 156, 178 },
504     { 133, 128, 129, 144, 128, 116, 135, 128, 43,  101, 100, 128,
505       140, 163, 158, 173, 205, 128, 165, 171, 128, 128, 210, 163,
506       172, 184, 192, 176, 201, 183, 177, 190, 128, 192, 199, 144,
507       192, 192, 1,   196, 192, 255, 171, 178, 255, 128, 171, 179 } }
508 };
509 #if BR_NODE
510 const aom_prob
511     default_coeff_br[TX_SIZES][PLANE_TYPES][BASE_RANGE_SETS][LEVEL_CONTEXTS] = {
512 #if CONFIG_CHROMA_2X2
513       { { { 62,  128, 54,  116, 128, 51,  97,  128, 59,  68,  107, 128,
514             119, 158, 68,  115, 131, 65,  112, 138, 34,  71,  118, 137,
515             171, 184, 110, 152, 178, 105, 146, 172, 89,  111, 145, 173,
516             214, 226, 201, 198, 214, 196, 193, 210, 239, 196, 186, 202 },
517           { 41,  128, 58,  52,  128, 51,  61,  128, 92,  54,  48,  128,
518             67,  113, 36,  55,  75,  30,  56,  72,  12,  25,  50,  79,
519             94,  131, 37,  75,  108, 42,  78,  103, 5,   31,  67,  103,
520             172, 192, 131, 135, 167, 129, 136, 165, 149, 144, 120, 149 },
521           { 35, 128, 74, 50, 128, 63, 59, 128, 87,  74,  38, 128,
522             32, 53,  23, 34, 50,  18, 30, 41,  15,  13,  18, 18,
523             52, 74,  18, 29, 36,  18, 31, 47,  51,  9,   15, 27,
524             96, 134, 85, 70, 93,  96, 79, 100, 108, 100, 55, 65 } },
525         { { 52,  128, 35,  79,  128, 29,  66,  128, 12,  30, 57,  128,
526             113, 156, 64,  107, 172, 54,  103, 145, 23,  57, 96,  110,
527             165, 184, 95,  138, 166, 95,  141, 184, 55,  80, 133, 165,
528             212, 222, 134, 175, 206, 158, 177, 197, 102, 61, 154, 190 },
529           { 36,  128, 18, 26,  128, 15, 29,  128, 4, 6,  30, 128,
530             63,  113, 25, 44,  66,  22, 40,  67,  9, 14, 34, 55,
531             90,  125, 26, 66,  82,  29, 73,  88,  1, 26, 34, 67,
532             158, 179, 70, 121, 134, 69, 111, 129, 1, 85, 54, 105 },
533           { 24, 128, 8,  31, 128, 15, 16, 128, 1,   1, 1,  128,
534             32, 39,  16, 18, 43,  5,  17, 13,  1,   1, 22, 1,
535             37, 65,  26, 20, 28,  16, 15, 24,  128, 1, 1,  1,
536             83, 107, 57, 56, 74,  34, 29, 73,  128, 1, 37, 47 } } },
537 #endif
538       { { { 62,  128, 54,  116, 128, 51,  97,  128, 59,  68,  107, 128,
539             119, 158, 68,  115, 131, 65,  112, 138, 34,  71,  118, 137,
540             171, 184, 110, 152, 178, 105, 146, 172, 89,  111, 145, 173,
541             214, 226, 201, 198, 214, 196, 193, 210, 239, 196, 186, 202 },
542           { 41,  128, 58,  52,  128, 51,  61,  128, 92,  54,  48,  128,
543             67,  113, 36,  55,  75,  30,  56,  72,  12,  25,  50,  79,
544             94,  131, 37,  75,  108, 42,  78,  103, 5,   31,  67,  103,
545             172, 192, 131, 135, 167, 129, 136, 165, 149, 144, 120, 149 },
546           { 35, 128, 74, 50, 128, 63, 59, 128, 87,  74,  38, 128,
547             32, 53,  23, 34, 50,  18, 30, 41,  15,  13,  18, 18,
548             52, 74,  18, 29, 36,  18, 31, 47,  51,  9,   15, 27,
549             96, 134, 85, 70, 93,  96, 79, 100, 108, 100, 55, 65 } },
550         { { 52,  128, 35,  79,  128, 29,  66,  128, 12,  30, 57,  128,
551             113, 156, 64,  107, 172, 54,  103, 145, 23,  57, 96,  110,
552             165, 184, 95,  138, 166, 95,  141, 184, 55,  80, 133, 165,
553             212, 222, 134, 175, 206, 158, 177, 197, 102, 61, 154, 190 },
554           { 36,  128, 18, 26,  128, 15, 29,  128, 4, 6,  30, 128,
555             63,  113, 25, 44,  66,  22, 40,  67,  9, 14, 34, 55,
556             90,  125, 26, 66,  82,  29, 73,  88,  1, 26, 34, 67,
557             158, 179, 70, 121, 134, 69, 111, 129, 1, 85, 54, 105 },
558           { 24, 128, 8,  31, 128, 15, 16, 128, 1,   1, 1,  128,
559             32, 39,  16, 18, 43,  5,  17, 13,  1,   1, 22, 1,
560             37, 65,  26, 20, 28,  16, 15, 24,  128, 1, 1,  1,
561             83, 107, 57, 56, 74,  34, 29, 73,  128, 1, 37, 47 } } },
562       { { { 72,  128, 45,  113, 128, 38,  100, 128, 26,  63,  112, 128,
563             134, 177, 65,  121, 148, 57,  111, 143, 27,  68,  116, 152,
564             181, 198, 98,  148, 173, 84,  136, 168, 53,  89,  134, 170,
565             218, 230, 173, 194, 216, 160, 188, 213, 199, 177, 183, 204 },
566           { 54,  128, 34,  55,  128, 32,  53,  128, 66,  45,  54,  128,
567             81,  128, 33,  59,  102, 26,  55,  80,  7,   23,  49,  91,
568             116, 145, 36,  79,  107, 35,  73,  102, 12,  28,  57,  95,
569             170, 201, 102, 133, 173, 105, 127, 173, 166, 132, 114, 149 },
570           { 40,  128, 25, 30, 128, 21, 31, 128, 24, 17, 24, 128,
571             51,  67,  19, 28, 40,  17, 25, 42,  15, 13, 19, 19,
572             61,  77,  19, 30, 48,  13, 33, 50,  11, 15, 21, 30,
573             103, 147, 37, 69, 111, 37, 66, 105, 18, 18, 36, 76 } },
574         { { 74,  128, 42,  99,  128, 32,  57,  128, 9,  28, 76,  128,
575             115, 187, 70,  118, 120, 52,  109, 128, 19, 60, 93,  100,
576             178, 197, 119, 147, 179, 92,  137, 178, 37, 87, 110, 158,
577             216, 227, 169, 186, 201, 128, 178, 204, 1,  96, 155, 217 },
578           { 59,  128, 26, 34,  128, 11, 20,  128, 7,   8, 24, 128,
579             73,  125, 38, 74,  96,  23, 61,  79,  15,  9, 23, 110,
580             96,  151, 49, 79,  164, 22, 70,  65,  1,   1, 9,  69,
581             156, 196, 73, 105, 181, 17, 126, 155, 128, 1, 90, 111 },
582           { 42, 128, 10, 11, 128, 13, 1,  128, 1,   1,   1, 128,
583             55, 63,  13, 17, 85,  1,  16, 64,  1,   1,   1, 1,
584             62, 58,  32, 21, 53,  1,  37, 91,  128, 128, 1, 1,
585             81, 133, 51, 48, 79,  1,  25, 81,  128, 128, 1, 54 } } },
586       { { { 103, 128, 52,  163, 128, 46,  155, 128, 12, 45,  97,  128,
587             162, 196, 69,  140, 170, 60,  130, 158, 21, 58,  109, 150,
588             205, 214, 93,  149, 178, 79,  143, 179, 38, 71,  120, 159,
589             231, 240, 150, 192, 218, 140, 188, 220, 84, 112, 159, 196 },
590           { 93,  128, 42, 143, 128, 41, 132, 128, 6,  15, 40, 128,
591             113, 172, 39, 99,  113, 33, 91,  94,  5,  15, 42, 83,
592             148, 172, 37, 91,  130, 28, 81,  121, 9,  20, 47, 87,
593             201, 223, 75, 139, 183, 77, 132, 176, 23, 41, 82, 147 },
594           { 92,  128, 45, 123, 128, 28, 88, 128, 1,  8,  20, 128,
595             85,  94,  39, 95,  83,  33, 81, 61,  4,  5,  17, 25,
596             84,  109, 17, 59,  76,  11, 46, 62,  1,  4,  13, 35,
597             139, 184, 25, 86,  129, 25, 71, 123, 26, 13, 31, 84 } },
598         { { 123, 128, 82,  169, 128, 62,  139, 128, 1,   28,  77,  128,
599             139, 167, 92,  170, 146, 76,  149, 255, 19,  68,  160, 73,
600             190, 209, 171, 165, 218, 57,  152, 209, 128, 61,  122, 164,
601             237, 240, 146, 210, 227, 128, 224, 220, 128, 128, 196, 199 },
602           { 130, 128, 52,  141, 128, 32,  101, 128, 128, 1,  85,  128,
603             94,  155, 71,  121, 255, 30,  116, 85,  1,   8,  58,  255,
604             105, 169, 110, 101, 132, 1,   77,  142, 128, 1,  54,  96,
605             166, 214, 224, 154, 198, 255, 153, 230, 128, 85, 100, 146 },
606           { 103, 128, 26, 83, 128, 20,  47,  128, 128, 128, 1,  128,
607             91,  90,  19, 76, 128, 1,   42,  1,   128, 255, 64, 128,
608             74,  77,  1,  72, 68,  128, 13,  77,  128, 128, 64, 1,
609             71,  147, 37, 99, 171, 1,   104, 151, 128, 1,   1,  96 } } },
610       { { { 113, 128, 79,  165, 128, 69,  149, 128, 14, 55,  116, 128,
611             163, 202, 104, 169, 205, 82,  159, 180, 22, 64,  121, 165,
612             207, 216, 113, 177, 215, 95,  166, 195, 35, 77,  132, 179,
613             241, 244, 173, 207, 233, 128, 202, 227, 92, 121, 169, 209 },
614           { 114, 128, 67, 136, 128, 54, 132, 128, 6,  26, 62,  128,
615             85,  129, 85, 146, 173, 64, 129, 140, 7,  19, 65,  92,
616             139, 169, 42, 147, 186, 40, 129, 170, 18, 18, 65,  117,
617             213, 230, 74, 172, 213, 69, 165, 196, 1,  40, 103, 170 },
618           { 101, 128, 61, 134, 128, 52, 97,  128, 1,   14, 26, 128,
619             79,  72,  71, 135, 152, 56, 114, 117, 1,   10, 24, 58,
620             64,  66,  60, 133, 148, 16, 126, 123, 1,   32, 26, 56,
621             143, 197, 51, 141, 176, 59, 132, 162, 128, 17, 47, 106 } },
622         { { 115, 128, 112, 135, 128, 89,  130, 128, 15,  49,  89,  128,
623             143, 238, 154, 203, 255, 138, 172, 255, 1,   98,  196, 255,
624             185, 203, 255, 211, 255, 192, 217, 235, 128, 128, 171, 255,
625             233, 233, 255, 247, 255, 1,   239, 245, 1,   128, 255, 255 },
626           { 75,  128, 76,  118, 128, 35,  74,  128, 1,   13,  23,  128,
627             63,  138, 114, 164, 140, 91,  128, 128, 128, 1,   138, 64,
628             96,  128, 255, 175, 236, 85,  166, 209, 128, 1,   128, 146,
629             196, 217, 1,   204, 206, 128, 212, 221, 128, 128, 128, 219 },
630           { 49,  128, 36,  62,  128, 37,  56, 128, 128, 1,   1,   128,
631             45,  37,  68,  102, 128, 90,  56, 1,   128, 128, 37,  1,
632             26,  27,  128, 126, 128, 255, 63, 142, 128, 128, 1,   1,
633             125, 159, 128, 173, 212, 128, 85, 189, 128, 128, 255, 171 } } }
634     };
635 #endif  // BR_NODE
636 #if CONFIG_CTX1D
637 static const aom_prob default_eob_mode[TX_SIZES][PLANE_TYPES][TX_CLASSES] = {
638 #if CONFIG_CHROMA_2X2
639   { { 128, 176, 157 }, { 128, 222, 198 } },
640 #endif
641   { { 128, 176, 157 }, { 128, 222, 198 } },
642   { { 128, 35, 56 }, { 128, 203, 225 } },
643   { { 128, 55, 136 }, { 128, 230, 253 } },
644   { { 128, 101, 188 }, { 128, 128, 128 } }
645 };
646 static const aom_prob default_empty_line[TX_SIZES][PLANE_TYPES][TX_CLASSES]
647                                         [EMPTY_LINE_CONTEXTS] = {
648 #if CONFIG_CHROMA_2X2
649                                           { { { 128, 128, 128, 128, 128 },
650                                               { 142, 153, 211, 205, 128 },
651                                               { 162, 142, 203, 197, 128 } },
652                                             { { 128, 128, 128, 128, 128 },
653                                               { 133, 116, 178, 123, 128 },
654                                               { 139, 109, 159, 115, 128 } } },
655 #endif
656                                           { { { 128, 128, 128, 128, 128 },
657                                               { 142, 153, 211, 205, 128 },
658                                               { 162, 142, 203, 197, 128 } },
659                                             { { 128, 128, 128, 128, 128 },
660                                               { 133, 116, 178, 123, 128 },
661                                               { 139, 109, 159, 115, 128 } } },
662                                           { { { 128, 128, 128, 128, 128 },
663                                               { 185, 130, 183, 204, 227 },
664                                               { 171, 81, 177, 200, 221 } },
665                                             { { 128, 128, 128, 128, 128 },
666                                               { 180, 127, 175, 189, 213 },
667                                               { 120, 74, 129, 134, 156 } } },
668                                           { { { 128, 128, 128, 128, 128 },
669                                               { 202, 82, 183, 214, 248 },
670                                               { 144, 41, 163, 185, 203 } },
671                                             { { 128, 128, 128, 128, 128 },
672                                               { 151, 93, 171, 224, 160 },
673                                               { 128, 51, 171, 128, 1 } } },
674                                           { { { 128, 128, 128, 128, 128 },
675                                               { 154, 48, 174, 210, 233 },
676                                               { 123, 16, 148, 189, 197 } },
677                                             { { 128, 128, 128, 128, 128 },
678                                               { 128, 128, 128, 128, 128 },
679                                               { 128, 128, 128, 128, 128 } } }
680                                         };
681 static const aom_prob
682     default_hv_eob[TX_SIZES][PLANE_TYPES][TX_CLASSES][HV_EOB_CONTEXTS] = {
683 #if CONFIG_CHROMA_2X2
684       { { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
685             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
686           { 151, 173, 114, 128, 128, 128, 128, 128, 128, 162, 198, 128,
687             128, 128, 128, 128, 182, 198, 109, 128, 128, 128, 128, 128 },
688           { 152, 173, 119, 128, 128, 128, 128, 128, 128, 164, 193, 128,
689             128, 128, 128, 128, 198, 209, 121, 128, 128, 128, 128, 128 } },
690         { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
691             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
692           { 123, 143, 70,  128, 128, 128, 128, 128, 128, 127, 154, 128,
693             128, 128, 128, 128, 176, 148, 36,  128, 128, 128, 128, 128 },
694           { 132, 152, 73,  128, 128, 128, 128, 128, 128, 127, 159, 128,
695             128, 128, 128, 128, 186, 181, 48,  128, 128, 128, 128, 128 } } },
696 #endif
697       { { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
698             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
699           { 151, 173, 114, 128, 128, 128, 128, 128, 128, 162, 198, 128,
700             128, 128, 128, 128, 182, 198, 109, 128, 128, 128, 128, 128 },
701           { 152, 173, 119, 128, 128, 128, 128, 128, 128, 164, 193, 128,
702             128, 128, 128, 128, 198, 209, 121, 128, 128, 128, 128, 128 } },
703         { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
704             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
705           { 123, 143, 70,  128, 128, 128, 128, 128, 128, 127, 154, 128,
706             128, 128, 128, 128, 176, 148, 36,  128, 128, 128, 128, 128 },
707           { 132, 152, 73,  128, 128, 128, 128, 128, 128, 127, 159, 128,
708             128, 128, 128, 128, 186, 181, 48,  128, 128, 128, 128, 128 } } },
709       { { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
710             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
711           { 109, 105, 78,  44,  128, 128, 128, 128, 128, 146, 185, 221,
712             128, 128, 128, 128, 199, 188, 134, 69,  128, 128, 128, 128 },
713           { 124, 127, 115, 82,  128, 128, 128, 128, 128, 162, 198, 224,
714             128, 128, 128, 128, 206, 214, 177, 135, 128, 128, 128, 128 } },
715         { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
716             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
717           { 95,  102, 65,  14,  128, 128, 128, 128, 128, 132, 164, 199,
718             128, 128, 128, 128, 162, 163, 66,  27,  128, 128, 128, 128 },
719           { 83,  141, 97,  38,  128, 128, 128, 128, 128, 154, 132, 184,
720             128, 128, 128, 128, 194, 218, 112, 63,  128, 128, 128, 128 } } },
721       { { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
722             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
723           { 117, 107, 86,  61,  51,  104, 128, 128, 128, 160, 198, 238,
724             252, 251, 128, 128, 221, 223, 209, 186, 99,  81,  128, 128 },
725           { 118, 122, 121, 100, 91,  97,  128, 128, 128, 168, 190, 214,
726             233, 235, 128, 128, 197, 216, 177, 165, 147, 126, 128, 128 } },
727         { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
728             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
729           { 109, 102, 63,  51,  255, 85,  128, 128, 128, 163, 131, 175,
730             128, 128, 128, 128, 183, 102, 40,  1,   128, 128, 128, 128 },
731           { 255, 255, 1,   1,   128, 1, 128, 128, 128, 1,   128, 128,
732             128, 128, 128, 128, 255, 1, 128, 128, 128, 128, 128, 128 } } },
733       { { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
734             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
735           { 114, 108, 83,  61,  53,  28,  77,  177, 128, 161, 187, 218,
736             240, 237, 228, 234, 200, 207, 167, 136, 98,  78,  183, 128 },
737           { 117, 138, 116, 77,  75,  85,  26,  1,   128, 197, 162, 200,
738             184, 212, 225, 236, 189, 225, 168, 124, 144, 171, 128, 128 } },
739         { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
740             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
741           { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
742             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
743           { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
744             128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } } }
745     };
746 #endif  // CONFIG_CTX1D
747 #endif  // CONFIG_LV_MAP
748 
749 #if CONFIG_EXT_PARTITION_TYPES
750 static const aom_prob
751     default_partition_probs[PARTITION_CONTEXTS][EXT_PARTITION_TYPES - 1] = {
752       // 8x8 -> 4x4
753       { 199, 122, 141, 128, 128, 128, 255, 128, 255 },  // a/l both not split
754       { 147, 63, 159, 128, 128, 128, 255, 128, 255 },   // a split, l not split
755       { 148, 133, 118, 128, 128, 128, 255, 128, 255 },  // l split, a not split
756       { 121, 104, 114, 128, 128, 128, 255, 128, 255 },  // a/l both split
757       // 16x16 -> 8x8
758       { 174, 73, 87, 128, 128, 128, 255, 128, 255 },  // a/l both not split
759       { 92, 41, 83, 128, 128, 128, 255, 128, 255 },   // a split, l not split
760       { 82, 99, 50, 128, 128, 128, 255, 128, 255 },   // l split, a not split
761       { 53, 39, 39, 128, 128, 128, 255, 128, 255 },   // a/l both split
762       // 32x32 -> 16x16
763       { 177, 58, 59, 128, 128, 85, 128, 85, 128 },  // a/l both not split
764       { 68, 26, 63, 128, 128, 85, 128, 85, 128 },   // a split, l not split
765       { 52, 79, 25, 128, 128, 85, 128, 85, 128 },   // l split, a not split
766       { 17, 14, 12, 128, 128, 85, 128, 85, 128 },   // a/l both split
767       // 64x64 -> 32x32
768       { 222, 34, 30, 128, 128, 85, 128, 85, 128 },  // a/l both not split
769       { 72, 16, 44, 128, 128, 85, 128, 85, 128 },   // a split, l not split
770       { 58, 32, 12, 128, 128, 85, 128, 85, 128 },   // l split, a not split
771       { 10, 7, 6, 128, 128, 85, 128, 85, 128 },     // a/l both split
772 #if CONFIG_EXT_PARTITION
773       // 128x128 -> 64x64
774       { 222, 34, 30, 128, 128, 128, 255, 128, 255 },  // a/l both not split
775       { 72, 16, 44, 128, 128, 128, 255, 128, 255 },   // a split, l not split
776       { 58, 32, 12, 128, 128, 128, 255, 128, 255 },   // l split, a not split
777       { 10, 7, 6, 128, 128, 128, 255, 128, 255 },     // a/l both split
778 #endif                                                // CONFIG_EXT_PARTITION
779 #if CONFIG_UNPOISON_PARTITION_CTX
780       { 0, 0, 141, 0, 0, 0, 0, 0, 0 },  // 8x8 -> 4x4
781       { 0, 0, 87, 0, 0, 0, 0, 0, 0 },   // 16x16 -> 8x8
782       { 0, 0, 59, 0, 0, 0, 0, 0, 0 },   // 32x32 -> 16x16
783       { 0, 0, 30, 0, 0, 0, 0, 0, 0 },   // 64x64 -> 32x32
784 #if CONFIG_EXT_PARTITION
785       { 0, 0, 30, 0, 0, 0, 0, 0, 0 },   // 128x128 -> 64x64
786 #endif                                  // CONFIG_EXT_PARTITION
787       { 0, 122, 0, 0, 0, 0, 0, 0, 0 },  // 8x8 -> 4x4
788       { 0, 73, 0, 0, 0, 0, 0, 0, 0 },   // 16x16 -> 8x8
789       { 0, 58, 0, 0, 0, 0, 0, 0, 0 },   // 32x32 -> 16x16
790       { 0, 34, 0, 0, 0, 0, 0, 0, 0 },   // 64x64 -> 32x32
791 #if CONFIG_EXT_PARTITION
792       { 0, 34, 0, 0, 0, 0, 0, 0, 0 },  // 128x128 -> 64x64
793 #endif                                 // CONFIG_EXT_PARTITION
794 #endif                                 // CONFIG_UNPOISON_PARTITION_CTX
795     };
796 #else
797 static const aom_prob
798     default_partition_probs[PARTITION_CONTEXTS][PARTITION_TYPES - 1] = {
799       // 8x8 -> 4x4
800       { 199, 122, 141 },  // a/l both not split
801       { 147, 63, 159 },   // a split, l not split
802       { 148, 133, 118 },  // l split, a not split
803       { 121, 104, 114 },  // a/l both split
804       // 16x16 -> 8x8
805       { 174, 73, 87 },  // a/l both not split
806       { 92, 41, 83 },   // a split, l not split
807       { 82, 99, 50 },   // l split, a not split
808       { 53, 39, 39 },   // a/l both split
809       // 32x32 -> 16x16
810       { 177, 58, 59 },  // a/l both not split
811       { 68, 26, 63 },   // a split, l not split
812       { 52, 79, 25 },   // l split, a not split
813       { 17, 14, 12 },   // a/l both split
814       // 64x64 -> 32x32
815       { 222, 34, 30 },  // a/l both not split
816       { 72, 16, 44 },   // a split, l not split
817       { 58, 32, 12 },   // l split, a not split
818       { 10, 7, 6 },     // a/l both split
819 #if CONFIG_EXT_PARTITION
820       // 128x128 -> 64x64
821       { 222, 34, 30 },  // a/l both not split
822       { 72, 16, 44 },   // a split, l not split
823       { 58, 32, 12 },   // l split, a not split
824       { 10, 7, 6 },     // a/l both split
825 #endif  // CONFIG_EXT_PARTITION
826 #if CONFIG_UNPOISON_PARTITION_CTX
827       { 0, 0, 141 },    // 8x8 -> 4x4
828       { 0, 0, 87 },     // 16x16 -> 8x8
829       { 0, 0, 59 },     // 32x32 -> 16x16
830       { 0, 0, 30 },     // 64x64 -> 32x32
831 #if CONFIG_EXT_PARTITION
832       { 0, 0, 30 },     // 128x128 -> 64x64
833 #endif  // CONFIG_EXT_PARTITION
834       { 0, 122, 0 },    // 8x8 -> 4x4
835       { 0, 73, 0 },     // 16x16 -> 8x8
836       { 0, 58, 0 },     // 32x32 -> 16x16
837       { 0, 34, 0 },     // 64x64 -> 32x32
838 #if CONFIG_EXT_PARTITION
839       { 0, 34, 0 },     // 128x128 -> 64x64
840 #endif  // CONFIG_EXT_PARTITION
841 #endif  // CONFIG_UNPOISON_PARTITION_CTX
842     };
843 #endif  // CONFIG_EXT_PARTITION_TYPES
844 
845 static const aom_prob default_newmv_prob[NEWMV_MODE_CONTEXTS] = {
846   155, 116, 94, 32, 96, 56, 30,
847 };
848 
849 static const aom_prob default_zeromv_prob[ZEROMV_MODE_CONTEXTS] = {
850   45, 13,
851 };
852 
853 static const aom_prob default_refmv_prob[REFMV_MODE_CONTEXTS] = {
854   178, 212, 135, 244, 203, 122, 128, 128, 128,
855 };
856 
857 static const aom_prob default_drl_prob[DRL_MODE_CONTEXTS] = {
858   119, 128, 189, 134, 128,
859 };
860 #if CONFIG_NEW_MULTISYMBOL
861 static const aom_cdf_prob default_newmv_cdf[NEWMV_MODE_CONTEXTS][CDF_SIZE(2)] =
862     { { AOM_ICDF(128 * 155), AOM_ICDF(32768), 0 },
863       { AOM_ICDF(128 * 116), AOM_ICDF(32768), 0 },
864       { AOM_ICDF(128 * 94), AOM_ICDF(32768), 0 },
865       { AOM_ICDF(128 * 32), AOM_ICDF(32768), 0 },
866       { AOM_ICDF(128 * 96), AOM_ICDF(32768), 0 },
867       { AOM_ICDF(128 * 56), AOM_ICDF(32768), 0 },
868       { AOM_ICDF(128 * 30), AOM_ICDF(32768), 0 } };
869 static const aom_cdf_prob default_zeromv_cdf[ZEROMV_MODE_CONTEXTS][CDF_SIZE(
870     2)] = { { AOM_ICDF(128 * 45), AOM_ICDF(32768), 0 },
871             { AOM_ICDF(128 * 13), AOM_ICDF(32768), 0 } };
872 static const aom_cdf_prob default_refmv_cdf[REFMV_MODE_CONTEXTS][CDF_SIZE(2)] =
873     { { AOM_ICDF(128 * 178), AOM_ICDF(32768), 0 },
874       { AOM_ICDF(128 * 212), AOM_ICDF(32768), 0 },
875       { AOM_ICDF(128 * 135), AOM_ICDF(32768), 0 },
876       { AOM_ICDF(128 * 244), AOM_ICDF(32768), 0 },
877       { AOM_ICDF(128 * 203), AOM_ICDF(32768), 0 },
878       { AOM_ICDF(128 * 122), AOM_ICDF(32768), 0 },
879       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
880       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
881       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 } };
882 static const aom_cdf_prob default_drl_cdf[DRL_MODE_CONTEXTS][CDF_SIZE(2)] = {
883   { AOM_ICDF(128 * 119), AOM_ICDF(32768), 0 },
884   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
885   { AOM_ICDF(128 * 189), AOM_ICDF(32768), 0 },
886   { AOM_ICDF(128 * 134), AOM_ICDF(32768), 0 },
887   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 }
888 };
889 #endif
890 
891 static const aom_prob default_inter_compound_mode_probs
892     [INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES - 1] = {
893       { 154, 167, 233, 165, 143, 170, 167 },  // 0 = both zero mv
894       { 75, 168, 237, 155, 135, 176, 172 },   // 1 = 1 zero + 1 predicted
895       { 7, 173, 227, 128, 153, 188, 189 },    // 2 = two predicted mvs
896       { 8, 120, 214, 113, 154, 178, 174 },    // 3 = 1 pred/zero, 1 new
897       { 4, 85, 194, 94, 155, 173, 167 },      // 4 = two new mvs
898       { 23, 89, 180, 73, 157, 151, 155 },     // 5 = one intra neighbour
899       { 27, 49, 152, 91, 134, 153, 142 },     // 6 = two intra neighbours
900     };
901 
902 static const aom_cdf_prob
903     default_inter_compound_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE(
904         INTER_COMPOUND_MODES)] = {
905       { AOM_ICDF(19712), AOM_ICDF(28229), AOM_ICDF(30892), AOM_ICDF(31437),
906         AOM_ICDF(31712), AOM_ICDF(32135), AOM_ICDF(32360), AOM_ICDF(32768), 0 },
907       { AOM_ICDF(9600), AOM_ICDF(24804), AOM_ICDF(29268), AOM_ICDF(30323),
908         AOM_ICDF(30802), AOM_ICDF(31726), AOM_ICDF(32177), AOM_ICDF(32768), 0 },
909       { AOM_ICDF(896), AOM_ICDF(22434), AOM_ICDF(27015), AOM_ICDF(29026),
910         AOM_ICDF(29753), AOM_ICDF(31114), AOM_ICDF(31597), AOM_ICDF(32768), 0 },
911       { AOM_ICDF(1024), AOM_ICDF(15904), AOM_ICDF(22127), AOM_ICDF(25421),
912         AOM_ICDF(26864), AOM_ICDF(28996), AOM_ICDF(30001), AOM_ICDF(32768), 0 },
913       { AOM_ICDF(512), AOM_ICDF(11222), AOM_ICDF(17217), AOM_ICDF(21445),
914         AOM_ICDF(23473), AOM_ICDF(26133), AOM_ICDF(27550), AOM_ICDF(32768), 0 },
915       { AOM_ICDF(2944), AOM_ICDF(13313), AOM_ICDF(17214), AOM_ICDF(20751),
916         AOM_ICDF(23211), AOM_ICDF(25500), AOM_ICDF(26992), AOM_ICDF(32768), 0 },
917       { AOM_ICDF(3456), AOM_ICDF(9067), AOM_ICDF(14069), AOM_ICDF(16907),
918         AOM_ICDF(18817), AOM_ICDF(21214), AOM_ICDF(23139), AOM_ICDF(32768), 0 }
919     };
920 
921 #if CONFIG_COMPOUND_SINGLEREF
922 // TODO(zoeliu): Default values to be further adjusted based on the collected
923 //               stats.
924 /*
925 static const aom_prob default_inter_singleref_comp_mode_probs
926     [INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
927       { 2, 173, 68, 180 },   // 0 = both zero mv
928       { 7, 145, 160, 180 },  // 1 = 1 zero + 1 predicted
929       { 7, 166, 126, 180 },  // 2 = two predicted mvs
930       { 7, 94, 132, 180 },   // 3 = 1 pred/zero, 1 new
931       { 8, 64, 64, 180 },    // 4 = two new mvs
932       { 17, 81, 52, 180 },   // 5 = one intra neighbour
933       { 25, 29, 50, 180 },   // 6 = two intra neighbours
934     };*/
935 static const aom_prob default_inter_singleref_comp_mode_probs
936     [INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
937       { 2, 173, 68 },   // 0 = both zero mv
938       { 7, 145, 160 },  // 1 = 1 zero + 1 predicted
939       { 7, 166, 126 },  // 2 = two predicted mvs
940       { 7, 94, 132 },   // 3 = 1 pred/zero, 1 new
941       { 8, 64, 64 },    // 4 = two new mvs
942       { 17, 81, 52 },   // 5 = one intra neighbour
943       { 25, 29, 50 },   // 6 = two intra neighbours
944     };
945 
946 static const aom_cdf_prob
947     default_inter_singleref_comp_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE(
948         INTER_SINGLEREF_COMP_MODES)] = {
949       { AOM_ICDF(21971), AOM_ICDF(24771), AOM_ICDF(25027), AOM_ICDF(32768), 0 },
950       { AOM_ICDF(18053), AOM_ICDF(26690), AOM_ICDF(27586), AOM_ICDF(32768), 0 },
951       { AOM_ICDF(20667), AOM_ICDF(26182), AOM_ICDF(27078), AOM_ICDF(32768), 0 },
952       { AOM_ICDF(11703), AOM_ICDF(22103), AOM_ICDF(22999), AOM_ICDF(32768), 0 },
953       { AOM_ICDF(7936), AOM_ICDF(13888), AOM_ICDF(14912), AOM_ICDF(32768), 0 },
954       { AOM_ICDF(9679), AOM_ICDF(13927), AOM_ICDF(16103), AOM_ICDF(32768), 0 },
955       { AOM_ICDF(3349), AOM_ICDF(8470), AOM_ICDF(11670), AOM_ICDF(32768), 0 }
956     };
957 #endif  // CONFIG_COMPOUND_SINGLEREF
958 
959 #if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
960 static const aom_prob
961     default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
962 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
963       { 128, 128 }, { 128, 128 }, { 128, 128 },
964 #endif
965       { 128, 128 }, { 255, 128 }, { 255, 128 }, { 66, 51 },   { 72, 35 },
966       { 79, 29 },   { 71, 18 },   { 81, 29 },   { 81, 26 },   { 69, 19 },
967       { 104, 1 },   { 99, 1 },    { 75, 1 },
968 #if CONFIG_EXT_PARTITION
969       { 255, 1 },   { 255, 1 },   { 255, 1 },
970 #endif  // CONFIG_EXT_PARTITION
971       { 208, 128 }, { 208, 128 }, { 208, 128 }, { 208, 128 }, { 208, 1 },
972       { 208, 1 },
973 #if CONFIG_EXT_PARTITION
974       { 208, 1 },   { 208, 1 }
975 #endif  // CONFIG_EXT_PARTITION
976     };
977 #elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
978 static const aom_prob
979     default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
980 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
981       { 255 }, { 255 }, { 255 },
982 #endif
983       { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 216 },
984       { 216 }, { 216 }, { 224 }, { 224 }, { 240 }, { 240 },
985 #if CONFIG_EXT_PARTITION
986       { 255 }, { 255 }, { 255 },
987 #endif  // CONFIG_EXT_PARTITION
988       { 208 }, { 208 }, { 208 }, { 208 }, { 255 }, { 255 },
989 #if CONFIG_EXT_PARTITION
990       { 255 }, { 255 }
991 #endif  // CONFIG_EXT_PARTITION
992     };
993 #elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
994 static const aom_prob
995     default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
996 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
997       { 255 }, { 255 }, { 255 },
998 #endif
999       { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 216 },
1000       { 216 }, { 216 }, { 224 }, { 224 }, { 240 }, { 240 },
1001 #if CONFIG_EXT_PARTITION
1002       { 255 }, { 255 }, { 255 },
1003 #endif  // CONFIG_EXT_PARTITION
1004       { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 },
1005 #if CONFIG_EXT_PARTITION
1006       { 208 }, { 208 }
1007 #endif  // CONFIG_EXT_PARTITION
1008     };
1009 #else
1010 static const aom_prob default_compound_type_probs[BLOCK_SIZES_ALL]
1011                                                  [COMPOUND_TYPES - 1];
1012 #endif  // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
1013 
1014 #if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
1015 static const aom_cdf_prob
1016     default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
1017 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1018       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1019       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1020       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1021 #endif
1022       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1023       { AOM_ICDF(32640), AOM_ICDF(32704), AOM_ICDF(32768), 0 },
1024       { AOM_ICDF(32640), AOM_ICDF(32704), AOM_ICDF(32768), 0 },
1025       { AOM_ICDF(8448), AOM_ICDF(13293), AOM_ICDF(32768), 0 },
1026       { AOM_ICDF(9216), AOM_ICDF(12436), AOM_ICDF(32768), 0 },
1027       { AOM_ICDF(10112), AOM_ICDF(12679), AOM_ICDF(32768), 0 },
1028       { AOM_ICDF(9088), AOM_ICDF(10753), AOM_ICDF(32768), 0 },
1029       { AOM_ICDF(10368), AOM_ICDF(12906), AOM_ICDF(32768), 0 },
1030       { AOM_ICDF(10368), AOM_ICDF(12643), AOM_ICDF(32768), 0 },
1031       { AOM_ICDF(8832), AOM_ICDF(10609), AOM_ICDF(32768), 0 },
1032       { AOM_ICDF(13312), AOM_ICDF(13388), AOM_ICDF(32768), 0 },
1033       { AOM_ICDF(12672), AOM_ICDF(12751), AOM_ICDF(32768), 0 },
1034       { AOM_ICDF(9600), AOM_ICDF(9691), AOM_ICDF(32768), 0 },
1035 #if CONFIG_EXT_PARTITION
1036       { AOM_ICDF(32640), AOM_ICDF(32641), AOM_ICDF(32768), 0 },  // 255, 1
1037       { AOM_ICDF(32640), AOM_ICDF(32641), AOM_ICDF(32768), 0 },
1038       { AOM_ICDF(32640), AOM_ICDF(32641), AOM_ICDF(32768), 0 },
1039 #endif  // CONFIG_EXT_PARTITION
1040       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1041       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1042       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1043       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1044       { AOM_ICDF(26624), AOM_ICDF(26648), AOM_ICDF(32768), 0 },  // 208, 1
1045       { AOM_ICDF(26624), AOM_ICDF(26648), AOM_ICDF(32768), 0 },
1046 #if CONFIG_EXT_PARTITION
1047       { AOM_ICDF(26624), AOM_ICDF(26648), AOM_ICDF(32768), 0 },
1048       { AOM_ICDF(26624), AOM_ICDF(26648), AOM_ICDF(32768), 0 },
1049 #endif
1050     };
1051 #elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
1052 static const aom_cdf_prob
1053     default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
1054 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1055       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },  // 255
1056       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1057       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1058 #endif
1059       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },  // 208
1060       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1061       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1062       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1063       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1064       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1065       { AOM_ICDF(27648), AOM_ICDF(32768), 0 },  // 216
1066       { AOM_ICDF(27648), AOM_ICDF(32768), 0 },
1067       { AOM_ICDF(27648), AOM_ICDF(32768), 0 },
1068       { AOM_ICDF(28672), AOM_ICDF(32768), 0 },  // 224
1069       { AOM_ICDF(28672), AOM_ICDF(32768), 0 },
1070       { AOM_ICDF(30720), AOM_ICDF(32768), 0 },  // 240
1071       { AOM_ICDF(30720), AOM_ICDF(32768), 0 },
1072 #if CONFIG_EXT_PARTITION
1073       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },  // 255
1074       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1075       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1076 #endif  // CONFIG_EXT_PARTITION
1077       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1078       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1079       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1080       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1081       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1082       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1083 #if CONFIG_EXT_PARTITION
1084       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1085       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1086 #endif  // CONFIG_EXT_PARTITION
1087     };
1088 #elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
1089 static const aom_cdf_prob
1090     default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
1091 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1092       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },  // 255
1093       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1094       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1095 #endif
1096       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },  // 208
1097       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1098       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1099       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1100       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1101       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1102       { AOM_ICDF(27648), AOM_ICDF(32768), 0 },  // 216
1103       { AOM_ICDF(27648), AOM_ICDF(32768), 0 },
1104       { AOM_ICDF(27648), AOM_ICDF(32768), 0 },
1105       { AOM_ICDF(28672), AOM_ICDF(32768), 0 },  // 224
1106       { AOM_ICDF(28672), AOM_ICDF(32768), 0 },
1107       { AOM_ICDF(30720), AOM_ICDF(32768), 0 },  // 240
1108       { AOM_ICDF(30720), AOM_ICDF(32768), 0 },
1109 #if CONFIG_EXT_PARTITION
1110       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },  // 255
1111       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1112       { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1113 #endif  // CONFIG_EXT_PARTITION
1114       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },  // 208
1115       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1116       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1117       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1118       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1119       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1120 #if CONFIG_EXT_PARTITION
1121       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1122       { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
1123 #endif  // CONFIG_EXT_PARTITION
1124     };
1125 #endif  // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
1126 
1127 #if CONFIG_INTERINTRA
1128 static const aom_prob default_interintra_prob[BLOCK_SIZE_GROUPS] = {
1129   128, 226, 244, 254,
1130 };
1131 #if CONFIG_NEW_MULTISYMBOL
1132 static const aom_cdf_prob default_interintra_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(
1133     2)] = { { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1134             { AOM_ICDF(226 * 128), AOM_ICDF(32768), 0 },
1135             { AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
1136             { AOM_ICDF(254 * 128), AOM_ICDF(32768), 0 } };
1137 #endif
1138 
1139 static const aom_prob
1140     default_interintra_mode_prob[BLOCK_SIZE_GROUPS][INTERINTRA_MODES - 1] = {
1141       { 128, 128, 128 },  // block_size < 8x8
1142       { 24, 34, 119 },    // block_size < 16x16
1143       { 38, 33, 95 },     // block_size < 32x32
1144       { 51, 21, 110 },    // block_size >= 32x32
1145     };
1146 static const aom_cdf_prob
1147     default_interintra_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(
1148         INTERINTRA_MODES)] = {
1149       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768), 0 },
1150       { AOM_ICDF(3072), AOM_ICDF(7016), AOM_ICDF(18987), AOM_ICDF(32768), 0 },
1151       { AOM_ICDF(4864), AOM_ICDF(8461), AOM_ICDF(17481), AOM_ICDF(32768), 0 },
1152       { AOM_ICDF(6528), AOM_ICDF(8681), AOM_ICDF(19031), AOM_ICDF(32768), 0 }
1153     };
1154 
1155 static const aom_prob default_wedge_interintra_prob[BLOCK_SIZES_ALL] = {
1156 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1157   128, 128, 128,
1158 #endif
1159   128, 128, 128, 194, 213, 217, 222, 224, 226, 220, 128, 128, 128,
1160 #if CONFIG_EXT_PARTITION
1161   255, 255, 255,
1162 #endif  // CONFIG_EXT_PARTITION
1163   208, 208, 208, 208, 255, 255,
1164 #if CONFIG_EXT_PARTITION
1165   255, 255
1166 #endif  // CONFIG_EXT_PARTITION
1167 };
1168 
1169 #if CONFIG_NEW_MULTISYMBOL
1170 static const aom_cdf_prob
1171     default_wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
1172 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1173       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1174       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1175       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1176 #endif
1177       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1178       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1179       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1180       { AOM_ICDF(194 * 128), AOM_ICDF(32768), 0 },
1181       { AOM_ICDF(213 * 128), AOM_ICDF(32768), 0 },
1182       { AOM_ICDF(217 * 128), AOM_ICDF(32768), 0 },
1183       { AOM_ICDF(222 * 128), AOM_ICDF(32768), 0 },
1184       { AOM_ICDF(224 * 128), AOM_ICDF(32768), 0 },
1185       { AOM_ICDF(226 * 128), AOM_ICDF(32768), 0 },
1186       { AOM_ICDF(220 * 128), AOM_ICDF(32768), 0 },
1187       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1188       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1189       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1190 #if CONFIG_EXT_PARTITION
1191       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1192       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1193       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1194 #endif  // CONFIG_EXT_PARTITION
1195       { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1196       { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1197       { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1198       { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1199       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1200       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1201 #if CONFIG_EXT_PARTITION
1202       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1203       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1204 #endif  // CONFIG_EXT_PARTITION
1205     };
1206 #endif  // CONFIG_NEW_MULTISYMBOL
1207 
1208 #endif  // CONFIG_INTERINTRA
1209 
1210 #if CONFIG_NCOBMC_ADAPT_WEIGHT
1211 #ifdef TWO_MODE
1212 const aom_tree_index av1_ncobmc_mode_tree[TREE_SIZE(MAX_NCOBMC_MODES)] = {
1213   -NCOBMC_MODE_0, -NCOBMC_MODE_1
1214 };
1215 #else
1216 const aom_tree_index av1_ncobmc_mode_tree[TREE_SIZE(MAX_NCOBMC_MODES)] = {
1217   -NCOBMC_MODE_0, 2,
1218   -NCOBMC_MODE_1, 4,
1219   -NCOBMC_MODE_2, 6,
1220   -NCOBMC_MODE_3, 8,
1221   -NCOBMC_MODE_4, 10,
1222   -NCOBMC_MODE_5, 12,
1223   -NCOBMC_MODE_6, -NCOBMC_MODE_7
1224 };
1225 #endif  // TWO_MODE
1226 
1227 // TODO(weitinglin): find default prob
1228 //                   right now setting the first mode with probability 1/255,
1229 //                   the last eight modes with equal probabilities
1230 static const aom_prob
1231     default_ncobmc_mode_prob[ADAPT_OVERLAP_BLOCKS][MAX_NCOBMC_MODES - 1] = {
1232 #ifdef TWO_MODE
1233       { 127 }, { 127 }, { 127 }, { 127 }
1234 #else
1235       { 32, 36, 43, 51, 64, 85, 128 },  // 8x8
1236       { 32, 36, 43, 51, 64, 85, 128 },  // 16X16
1237       { 32, 36, 43, 51, 64, 85, 128 },  // 32X32
1238       { 32, 36, 43, 51, 64, 85, 128 }   // 64X64
1239 #endif  // TWO_MODE
1240     };
1241 static const aom_cdf_prob
1242     default_ncobmc_mode_cdf[ADAPT_OVERLAP_BLOCKS][CDF_SIZE(MAX_NCOBMC_MODES)] =
1243 #ifdef TWO_MODE
1244         { { AOM_ICDF(16256), AOM_ICDF(32768), 0 },
1245           { AOM_ICDF(16256), AOM_ICDF(32768), 0 },
1246           { AOM_ICDF(16256), AOM_ICDF(32768), 0 },
1247           { AOM_ICDF(16256), AOM_ICDF(32768), 0 } };
1248 #else
1249         { { AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288), AOM_ICDF(16384),
1250             AOM_ICDF(20480), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768),
1251             0 },
1252           { AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288), AOM_ICDF(16384),
1253             AOM_ICDF(20480), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768),
1254             0 },
1255           { AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288), AOM_ICDF(16384),
1256             AOM_ICDF(20480), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768),
1257             0 },
1258           { AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288), AOM_ICDF(16384),
1259             AOM_ICDF(20480), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768),
1260             0 } };
1261 #endif  // TWO_MODEE
1262 #endif  // CONFIG_NCOBMC_ADAPT_WEIGHT
1263 // Change this section appropriately once warped motion is supported
1264 #if CONFIG_MOTION_VAR && !CONFIG_WARPED_MOTION
1265 #if CONFIG_NCOBMC_ADAPT_WEIGHT
1266 const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
1267   -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -NCOBMC_ADAPT_WEIGHT,
1268 };
1269 static const aom_prob
1270     default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
1271 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1272       { 255, 255 },
1273       { 255, 255 },
1274       { 255, 255 },
1275 #endif
1276       { 255, 255 },
1277       { 255, 255 },
1278       { 255, 255 },
1279       /** Only these nine block sizes allow ncobmc_adapt_weight **/
1280       { 45, 207 },
1281       { 42, 211 },
1282       { 34, 207 },
1283       { 181, 123 },
1284       { 129, 141 },
1285       { 15, 209 },
1286       { 231, 122 },
1287       { 195, 190 },
1288       { 168, 190 },
1289       /** ----------------------------------------------------- **/
1290       { 244, 255 },
1291 #if CONFIG_EXT_PARTITION
1292       { 252, 255 },
1293       { 252, 255 },
1294       { 252, 255 },
1295 #endif  // CONFIG_EXT_PARTITION
1296       { 255, 200 },
1297       { 255, 200 },
1298       { 255, 200 },
1299       { 255, 200 },
1300 #if CONFIG_EXT_PARTITION
1301       { 252, 255 },
1302       { 252, 200 },
1303       { 252, 200 },
1304 #endif  // CONFIG_EXT_PARTITION
1305     };
1306 static const aom_cdf_prob
1307     default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
1308 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1309       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
1310       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
1311       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
1312 #endif
1313       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
1314       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
1315       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
1316       /** Only these seven block sizes allow ncobmc_adapt_weight **/
1317       { AOM_ICDF(5702), AOM_ICDF(27555), AOM_ICDF(32768), 0 },
1318       { AOM_ICDF(5408), AOM_ICDF(27964), AOM_ICDF(32768), 0 },
1319       { AOM_ICDF(4330), AOM_ICDF(27298), AOM_ICDF(32768), 0 },
1320       { AOM_ICDF(23107), AOM_ICDF(27760), AOM_ICDF(32768), 0 },
1321       { AOM_ICDF(16490), AOM_ICDF(25461), AOM_ICDF(32768), 0 },
1322       { AOM_ICDF(1959), AOM_ICDF(27153), AOM_ICDF(32768), 0 },
1323       { AOM_ICDF(29530), AOM_ICDF(31073), AOM_ICDF(32768), 0 },
1324       { AOM_ICDF(25057), AOM_ICDF(30840), AOM_ICDF(32768), 0 },
1325       { AOM_ICDF(21588), AOM_ICDF(29940), AOM_ICDF(32768), 0 },
1326       /** ----------------------------------------------------- **/
1327       { AOM_ICDF(244 * 128), AOM_ICDF(32768), AOM_ICDF(32768), 0 },
1328 #if CONFIG_EXT_PARTITION
1329       { AOM_ICDF(32256), AOM_ICDF(32768), AOM_ICDF(32768), 0 },
1330       { AOM_ICDF(32256), AOM_ICDF(32768), AOM_ICDF(32768), 0 },
1331       { AOM_ICDF(32256), AOM_ICDF(32768), AOM_ICDF(32768), 0 },
1332 #endif
1333       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1334       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1335       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1336       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1337       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1338       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 }
1339 #if CONFIG_EXT_PARTITION
1340       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1341       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1342 #endif
1343     };
1344 #else  // CONFIG_NCOBMC_ADAPT_WEIGHT
1345 const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
1346   -SIMPLE_TRANSLATION, -OBMC_CAUSAL
1347 };
1348 
1349 static const aom_prob
1350     default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
1351 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1352       { 255 }, { 255 }, { 255 },
1353 #endif
1354       { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
1355       { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
1356 #if CONFIG_EXT_PARTITION
1357       { 252 }, { 252 }, { 252 },
1358 #endif  // CONFIG_EXT_PARTITION
1359       { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 },
1360 #if CONFIG_EXT_PARTITION
1361       { 208 }, { 208 }
1362 #endif  // CONFIG_EXT_PARTITION
1363     };
1364 
1365 static const aom_cdf_prob
1366     default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
1367 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1368       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1369       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1370       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1371 #endif
1372       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1373       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1374       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1375       { AOM_ICDF(151 * 128), AOM_ICDF(32768), 0 },
1376       { AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
1377       { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
1378       { AOM_ICDF(178 * 128), AOM_ICDF(32768), 0 },
1379       { AOM_ICDF(165 * 128), AOM_ICDF(32768), 0 },
1380       { AOM_ICDF(160 * 128), AOM_ICDF(32768), 0 },
1381       { AOM_ICDF(207 * 128), AOM_ICDF(32768), 0 },
1382       { AOM_ICDF(195 * 128), AOM_ICDF(32768), 0 },
1383       { AOM_ICDF(168 * 128), AOM_ICDF(32768), 0 },
1384       { AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
1385 #if CONFIG_EXT_PARTITION
1386       { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1387       { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1388       { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1389 #endif  // CONFIG_EXT_PARTITION
1390       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1391       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1392       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1393       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1394       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1395       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1396 #if CONFIG_EXT_PARTITION
1397       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1398       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1399 #endif  // CONFIG_EXT_PARTITION
1400     };
1401 #endif  // CONFIG_NCOBMC_ADAPT_WEIGHT
1402 #elif !CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
1403 
1404 const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
1405   -SIMPLE_TRANSLATION, -WARPED_CAUSAL
1406 };
1407 
1408 static const aom_prob
1409     default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
1410 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1411       { 255 }, { 255 }, { 255 },
1412 #endif
1413       { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
1414       { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
1415 #if CONFIG_EXT_PARTITION
1416       { 252 }, { 252 }, { 252 },
1417 #endif  // CONFIG_EXT_PARTITION
1418       { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 },
1419 #if CONFIG_EXT_PARTITION
1420       { 252 }, { 252 }
1421 #endif  // CONFIG_EXT_PARTITION
1422     };
1423 
1424 static const aom_cdf_prob
1425     default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
1426 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1427       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1428       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1429       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1430 #endif
1431       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1432       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1433       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1434       { AOM_ICDF(151 * 128), AOM_ICDF(32768), 0 },
1435       { AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
1436       { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
1437       { AOM_ICDF(178 * 128), AOM_ICDF(32768), 0 },
1438       { AOM_ICDF(165 * 128), AOM_ICDF(32768), 0 },
1439       { AOM_ICDF(160 * 128), AOM_ICDF(32768), 0 },
1440       { AOM_ICDF(207 * 128), AOM_ICDF(32768), 0 },
1441       { AOM_ICDF(195 * 128), AOM_ICDF(32768), 0 },
1442       { AOM_ICDF(168 * 128), AOM_ICDF(32768), 0 },
1443       { AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
1444 #if CONFIG_EXT_PARTITION
1445       { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1446       { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1447       { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1448 #endif  // CONFIG_EXT_PARTITION
1449       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1450       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1451       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1452       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1453       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1454       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1455 #if CONFIG_EXT_PARTITION
1456       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1457       { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1458 #endif  // CONFIG_EXT_PARTITION
1459     };
1460 
1461 #elif CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
1462 #if CONFIG_NCOBMC_ADAPT_WEIGHT
1463 const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
1464   -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, 4, -NCOBMC_ADAPT_WEIGHT, -WARPED_CAUSAL
1465 };
1466 
1467 static const aom_prob default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES -
1468                                                                 1] = {
1469 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1470   { 128, 128, 255 }, { 128, 128, 128 }, { 128, 128, 128 },
1471 #endif
1472   { 128, 128, 128 }, { 128, 128, 128 }, { 128, 128, 128 }, { 62, 115, 128 },
1473   { 39, 131, 128 },  { 39, 132, 128 },  { 118, 94, 128 },  { 77, 125, 128 },
1474   { 100, 121, 128 }, { 190, 66, 128 },  { 207, 102, 128 }, { 197, 100, 128 },
1475   { 239, 76, 128 },
1476 #if CONFIG_EXT_PARTITION
1477   { 252, 200, 128 }, { 252, 200, 128 }, { 252, 200, 128 },
1478 #endif  // CONFIG_EXT_PARTITION
1479   { 208, 200, 128 }, { 208, 200, 128 }, { 208, 200, 128 }, { 208, 200, 128 }
1480 };
1481 static const aom_cdf_prob
1482     default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
1483 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1484       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1485       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1486       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1487 #endif
1488       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1489       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1490       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1491       /** Only these nine block sizes allow ncobmc_adapt_weight **/
1492       { AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1493       { AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1494       { AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1495       { AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1496       { AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1497       { AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1498       { AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1499       { AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1500       { AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1501       /***********************************************************/
1502       { AOM_ICDF(30592), AOM_ICDF(31238), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1503 #if CONFIG_EXT_PARTITION
1504       { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1505       { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1506       { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1507 #endif
1508       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1509       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1510       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1511       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1512       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1513       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 }
1514     };
1515 
1516 const aom_tree_index av1_ncobmc_tree[TREE_SIZE(OBMC_FAMILY_MODES)] = {
1517   -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -NCOBMC_ADAPT_WEIGHT
1518 };
1519 
1520 static const aom_prob
1521     default_ncobmc_prob[BLOCK_SIZES_ALL][OBMC_FAMILY_MODES - 1] = {
1522 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1523       { 128, 255 }, { 128, 255 }, { 128, 255 },
1524 #endif
1525       { 128, 255 }, { 128, 255 }, { 128, 255 }, { 45, 255 },  { 79, 255 },
1526       { 75, 255 },  { 130, 255 }, { 141, 255 }, { 144, 255 }, { 208, 255 },
1527       { 201, 255 }, { 186, 255 }, { 231, 255 },
1528 #if CONFIG_EXT_PARTITION
1529       { 252, 255 }, { 252, 255 }, { 252, 255 },
1530 #endif  // CONFIG_EXT_PARTITION
1531       { 208, 255 }, { 208, 255 }, { 208, 255 }, { 208, 255 }
1532     };
1533 
1534 static const aom_cdf_prob
1535     default_ncobmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(OBMC_FAMILY_MODES)] = {
1536 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1537       { AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1538       { AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1539       { AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1540 #endif
1541       { AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1542       { AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1543       { AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1544       /** Only these nine block sizes allow ncobmc_adapt_weight **/
1545       { AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
1546       { AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
1547       { AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
1548       { AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
1549       { AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
1550       { AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
1551       { AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
1552       { AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
1553       { AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
1554       /***********************************************************/
1555       { AOM_ICDF(231 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1556 #if CONFIG_EXT_PARTITION
1557       { AOM_ICDF(252 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1558       { AOM_ICDF(252 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1559       { AOM_ICDF(252 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1560 #endif  // CONFIG_EXT_PARTITION
1561       { AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1562       { AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1563       { AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1564       { AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1565       { AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
1566       { AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 }
1567     };
1568 #else
1569 const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
1570   -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -WARPED_CAUSAL,
1571 };
1572 
1573 static const aom_prob
1574     default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
1575 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1576       { 128, 128 }, { 128, 128 }, { 128, 128 },
1577 #endif
1578       { 128, 128 }, { 128, 128 }, { 128, 128 }, { 62, 115 },  { 39, 131 },
1579       { 39, 132 },  { 118, 94 },  { 77, 125 },  { 100, 121 }, { 190, 66 },
1580       { 207, 102 }, { 197, 100 }, { 239, 76 },
1581 #if CONFIG_EXT_PARTITION
1582       { 252, 200 }, { 252, 200 }, { 252, 200 },
1583 #endif  // CONFIG_EXT_PARTITION
1584       { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 },
1585       { 208, 200 },
1586 #if CONFIG_EXT_PARTITION
1587       { 252, 200 }, { 252, 200 }
1588 #endif  // CONFIG_EXT_PARTITION
1589     };
1590 static const aom_cdf_prob
1591     default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
1592 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1593       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1594       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1595       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1596 #endif
1597       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1598       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1599       { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1600       { AOM_ICDF(7936), AOM_ICDF(19091), AOM_ICDF(32768), 0 },
1601       { AOM_ICDF(4991), AOM_ICDF(19205), AOM_ICDF(32768), 0 },
1602       { AOM_ICDF(4992), AOM_ICDF(19314), AOM_ICDF(32768), 0 },
1603       { AOM_ICDF(15104), AOM_ICDF(21590), AOM_ICDF(32768), 0 },
1604       { AOM_ICDF(9855), AOM_ICDF(21043), AOM_ICDF(32768), 0 },
1605       { AOM_ICDF(12800), AOM_ICDF(22238), AOM_ICDF(32768), 0 },
1606       { AOM_ICDF(24320), AOM_ICDF(26498), AOM_ICDF(32768), 0 },
1607       { AOM_ICDF(26496), AOM_ICDF(28995), AOM_ICDF(32768), 0 },
1608       { AOM_ICDF(25216), AOM_ICDF(28166), AOM_ICDF(32768), 0 },
1609       { AOM_ICDF(30592), AOM_ICDF(31238), AOM_ICDF(32768), 0 },
1610 #if CONFIG_EXT_PARTITION
1611       { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
1612       { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
1613       { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
1614 #endif
1615       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1616       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1617       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1618       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1619       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1620       { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1621 #if CONFIG_EXT_PARTITION
1622       { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
1623       { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
1624 #endif
1625     };
1626 #endif  // CONFIG_NCOBMC_ADAPT_WEIGHT
1627 // Probability for the case that only 1 additional motion mode is allowed
1628 static const aom_prob default_obmc_prob[BLOCK_SIZES_ALL] = {
1629 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1630   128, 128, 128,
1631 #endif
1632   128, 128, 128, 45,  79,  75,  130, 141, 144, 208, 201, 186, 231,
1633 #if CONFIG_EXT_PARTITION
1634   252, 252, 252,
1635 #endif  // CONFIG_EXT_PARTITION
1636   208, 208, 208, 208, 208, 208,
1637 #if CONFIG_EXT_PARTITION
1638   252, 252
1639 #endif  // CONFIG_EXT_PARTITION
1640 };
1641 
1642 #if CONFIG_NEW_MULTISYMBOL || CONFIG_NCOBMC_ADAPT_WEIGHT
1643 static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
1644 #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
1645   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1646   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1647   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1648 #endif
1649   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1650   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1651   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1652   { AOM_ICDF(45 * 128), AOM_ICDF(32768), 0 },
1653   { AOM_ICDF(79 * 128), AOM_ICDF(32768), 0 },
1654   { AOM_ICDF(75 * 128), AOM_ICDF(32768), 0 },
1655   { AOM_ICDF(130 * 128), AOM_ICDF(32768), 0 },
1656   { AOM_ICDF(141 * 128), AOM_ICDF(32768), 0 },
1657   { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
1658   { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1659   { AOM_ICDF(201 * 128), AOM_ICDF(32768), 0 },
1660   { AOM_ICDF(186 * 128), AOM_ICDF(32768), 0 },
1661   { AOM_ICDF(231 * 128), AOM_ICDF(32768), 0 },
1662 #if CONFIG_EXT_PARTITION
1663   { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1664   { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1665   { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1666 #endif  // CONFIG_EXT_PARTITION
1667   { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1668   { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1669   { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1670   { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1671   { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1672   { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1673 #if CONFIG_EXT_PARTITION
1674   { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1675   { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1676 #endif  // CONFIG_EXT_PARTITION
1677 };
1678 #endif  // CONFIG_NEW_MULTISYMBOL
1679 #endif
1680 
1681 static const aom_prob default_delta_q_probs[DELTA_Q_PROBS] = { 220, 220, 220 };
1682 static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = {
1683   AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
1684 };
1685 #if CONFIG_EXT_DELTA_Q
1686 #if CONFIG_LOOPFILTER_LEVEL
1687 static const aom_prob
1688     default_delta_lf_multi_probs[FRAME_LF_COUNT][DELTA_LF_PROBS] = {
1689       { 220, 220, 220 }, { 220, 220, 220 }, { 220, 220, 220 }, { 220, 220, 220 }
1690     };
1691 static const aom_cdf_prob
1692     default_delta_lf_multi_cdf[FRAME_LF_COUNT][CDF_SIZE(DELTA_LF_PROBS + 1)] = {
1693       { AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0 },
1694       { AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0 },
1695       { AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0 },
1696       { AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0 }
1697     };
1698 #endif  // CONFIG_LOOPFILTER_LEVEL
1699 static const aom_prob default_delta_lf_probs[DELTA_LF_PROBS] = { 220, 220,
1700                                                                  220 };
1701 static const aom_cdf_prob default_delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)] = {
1702   AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
1703 };
1704 #endif
1705 
1706 /* clang-format off */
1707 #if CONFIG_INTERINTRA
1708 const aom_tree_index av1_interintra_mode_tree[TREE_SIZE(INTERINTRA_MODES)] = {
1709   -II_DC_PRED, 2,        /* 0 = II_DC_NODE     */
1710   -II_SMOOTH_PRED, 4,    /* 1 = II_SMOOTH_PRED */
1711   -II_V_PRED, -II_H_PRED /* 2 = II_V_NODE      */
1712 };
1713 #endif  // CONFIG_INTERINTRA
1714 
1715 const aom_tree_index av1_inter_compound_mode_tree
1716     [TREE_SIZE(INTER_COMPOUND_MODES)] = {
1717   -INTER_COMPOUND_OFFSET(ZERO_ZEROMV), 2,
1718   -INTER_COMPOUND_OFFSET(NEAREST_NEARESTMV), 4,
1719   6, -INTER_COMPOUND_OFFSET(NEW_NEWMV),
1720   -INTER_COMPOUND_OFFSET(NEAR_NEARMV), 8,
1721   10, 12,
1722   -INTER_COMPOUND_OFFSET(NEAREST_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARESTMV),
1723   -INTER_COMPOUND_OFFSET(NEAR_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARMV)
1724 };
1725 
1726 #if CONFIG_COMPOUND_SINGLEREF
1727 // TODO(zoeliu): To redesign the tree structure once the number of mode changes.
1728 /*
1729 const aom_tree_index av1_inter_singleref_comp_mode_tree
1730     [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
1731   -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
1732   -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
1733   6, -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV),
1734   -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEWMV),
1735   -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV)
1736 };*/
1737 
1738 const aom_tree_index av1_inter_singleref_comp_mode_tree
1739     [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
1740   -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
1741   -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
1742   -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV),
1743       -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV)
1744 };
1745 #endif  // CONFIG_COMPOUND_SINGLEREF
1746 
1747 #if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
1748 const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1749   -COMPOUND_AVERAGE, 2, -COMPOUND_WEDGE, -COMPOUND_SEG
1750 };
1751 #elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
1752 const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1753   -COMPOUND_AVERAGE, -COMPOUND_WEDGE
1754 };
1755 #elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
1756 const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1757   -COMPOUND_AVERAGE, -COMPOUND_SEG
1758 };
1759 #else
1760 const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {};
1761 #endif  // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
1762 /* clang-format on */
1763 
1764 const aom_tree_index av1_partition_tree[TREE_SIZE(PARTITION_TYPES)] = {
1765   -PARTITION_NONE, 2, -PARTITION_HORZ, 4, -PARTITION_VERT, -PARTITION_SPLIT
1766 };
1767 
1768 #if CONFIG_EXT_PARTITION_TYPES
1769 /* clang-format off */
1770 const aom_tree_index av1_ext_partition_tree[TREE_SIZE(EXT_PARTITION_TYPES)] = {
1771   -PARTITION_NONE, 2,
1772   6, 4,
1773   8, -PARTITION_SPLIT,
1774   -PARTITION_HORZ, 10,
1775   -PARTITION_VERT, 14,
1776 
1777   -PARTITION_HORZ_A, 12,
1778   -PARTITION_HORZ_B, -PARTITION_HORZ_4,
1779 
1780   -PARTITION_VERT_A, 16,
1781   -PARTITION_VERT_B, -PARTITION_VERT_4
1782 };
1783 /* clang-format on */
1784 #endif  // CONFIG_EXT_PARTITION_TYPES
1785 
1786 static const aom_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
1787   6, 97, 151, 205,
1788 };
1789 
1790 #if CONFIG_NEW_MULTISYMBOL
1791 static const aom_cdf_prob
1792     default_intra_inter_cdf[INTRA_INTER_CONTEXTS][CDF_SIZE(2)] = {
1793       { AOM_ICDF(768), AOM_ICDF(32768), 0 },
1794       { AOM_ICDF(12416), AOM_ICDF(32768), 0 },
1795       { AOM_ICDF(19328), AOM_ICDF(32768), 0 },
1796       { AOM_ICDF(26240), AOM_ICDF(32768), 0 }
1797     };
1798 #endif
1799 
1800 static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
1801   190, 156, 91, 77, 22
1802 };
1803 
1804 #if CONFIG_NEW_MULTISYMBOL
1805 static const aom_cdf_prob default_comp_inter_cdf[COMP_INTER_CONTEXTS][CDF_SIZE(
1806     2)] = { { AOM_ICDF(24290), AOM_ICDF(32768), 0 },
1807             { AOM_ICDF(19956), AOM_ICDF(32768), 0 },
1808             { AOM_ICDF(11641), AOM_ICDF(32768), 0 },
1809             { AOM_ICDF(9804), AOM_ICDF(32768), 0 },
1810             { AOM_ICDF(2842), AOM_ICDF(32768), 0 } };
1811 #endif  // CONFIG_NEW_MULTISYMBOL
1812 
1813 #if CONFIG_EXT_COMP_REFS
1814 static const aom_prob default_comp_ref_type_p[COMP_REF_TYPE_CONTEXTS] = {
1815   8, 20, 78, 91, 194
1816 };
1817 static const aom_prob
1818     default_uni_comp_ref_p[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1] = {
1819       { 88, 30, 28 }, { 218, 97, 105 }, { 254, 180, 196 }
1820     };
1821 
1822 #if CONFIG_NEW_MULTISYMBOL
1823 static const aom_cdf_prob
1824     default_comp_ref_type_cdf[COMP_REF_TYPE_CONTEXTS][CDF_SIZE(2)] = {
1825       { AOM_ICDF(8 * 128), AOM_ICDF(32768), 0 },
1826       { AOM_ICDF(20 * 128), AOM_ICDF(32768), 0 },
1827       { AOM_ICDF(78 * 128), AOM_ICDF(32768), 0 },
1828       { AOM_ICDF(91 * 128), AOM_ICDF(32768), 0 },
1829       { AOM_ICDF(194 * 128), AOM_ICDF(32768), 0 }
1830     };
1831 static const aom_cdf_prob
1832     default_uni_comp_ref_cdf[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1]
1833                             [CDF_SIZE(2)] = {
1834                               { { AOM_ICDF(88 * 128), AOM_ICDF(32768), 0 },
1835                                 { AOM_ICDF(30 * 128), AOM_ICDF(32768), 0 },
1836                                 { AOM_ICDF(28 * 128), AOM_ICDF(32768), 0 } },
1837                               { { AOM_ICDF(218 * 128), AOM_ICDF(32768), 0 },
1838                                 { AOM_ICDF(97 * 128), AOM_ICDF(32768), 0 },
1839                                 { AOM_ICDF(105 * 128), AOM_ICDF(32768), 0 } },
1840                               { { AOM_ICDF(254 * 128), AOM_ICDF(32768), 0 },
1841                                 { AOM_ICDF(180 * 128), AOM_ICDF(32768), 0 },
1842                                 { AOM_ICDF(196 * 128), AOM_ICDF(32768), 0 } }
1843                             };
1844 #endif  // CONFIG_NEW_MULTISYMBOL
1845 #endif  // CONFIG_EXT_COMP_REFS
1846 
1847 #if CONFIG_EXT_REFS
1848 static const aom_prob default_comp_ref_p[REF_CONTEXTS][FWD_REFS - 1] = {
1849   { 28, 10, 8 },
1850   { 77, 27, 26 },
1851   { 127, 62, 56 },
1852   { 186, 126, 160 },
1853   { 236, 143, 172 }
1854 };
1855 
1856 static const aom_prob default_comp_bwdref_p[REF_CONTEXTS][BWD_REFS - 1] = {
1857   { 22, 13 }, { 140, 124 }, { 241, 239 }, { 128, 128 }, { 128, 128 }
1858 };
1859 
1860 #if CONFIG_NEW_MULTISYMBOL
1861 static const aom_cdf_prob
1862     default_comp_ref_cdf[REF_CONTEXTS][FWD_REFS - 1][CDF_SIZE(2)] = {
1863       { { AOM_ICDF(3556), AOM_ICDF(32768), 0 },
1864         { AOM_ICDF(1217), AOM_ICDF(32768), 0 },
1865         { AOM_ICDF(988), AOM_ICDF(32768), 0 } },
1866       { { AOM_ICDF(9857), AOM_ICDF(32768), 0 },
1867         { AOM_ICDF(3394), AOM_ICDF(32768), 0 },
1868         { AOM_ICDF(3303), AOM_ICDF(32768), 0 } },
1869       { { AOM_ICDF(16237), AOM_ICDF(32768), 0 },
1870         { AOM_ICDF(7946), AOM_ICDF(32768), 0 },
1871         { AOM_ICDF(7195), AOM_ICDF(32768), 0 } },
1872       { { AOM_ICDF(23826), AOM_ICDF(32768), 0 },
1873         { AOM_ICDF(16124), AOM_ICDF(32768), 0 },
1874         { AOM_ICDF(20536), AOM_ICDF(32768), 0 } },
1875       { { AOM_ICDF(30195), AOM_ICDF(32768), 0 },
1876         { AOM_ICDF(18344), AOM_ICDF(32768), 0 },
1877         { AOM_ICDF(21980), AOM_ICDF(32768), 0 } }
1878     };
1879 
1880 static const aom_cdf_prob
1881     default_comp_bwdref_cdf[REF_CONTEXTS][BWD_REFS - 1][CDF_SIZE(2)] = {
1882       { { AOM_ICDF(2762), AOM_ICDF(32768), 0 },
1883         { AOM_ICDF(1614), AOM_ICDF(32768), 0 } },
1884       { { AOM_ICDF(17976), AOM_ICDF(32768), 0 },
1885         { AOM_ICDF(15912), AOM_ICDF(32768), 0 } },
1886       { { AOM_ICDF(30894), AOM_ICDF(32768), 0 },
1887         { AOM_ICDF(30639), AOM_ICDF(32768), 0 } },
1888       { { AOM_ICDF(32768), AOM_ICDF(32768), 0 },
1889         { AOM_ICDF(32768), AOM_ICDF(32768), 0 } },
1890       { { AOM_ICDF(32768), AOM_ICDF(32768), 0 },
1891         { AOM_ICDF(32768), AOM_ICDF(32768), 0 } }
1892     };
1893 #endif  // CONFIG_NEW_MULTISYMBOL
1894 
1895 #else  // !CONFIG_EXT_REFS
1896 
1897 static const aom_prob default_comp_ref_p[REF_CONTEXTS][COMP_REFS - 1] = {
1898   { 43 }, { 100 }, { 137 }, { 212 }, { 229 },
1899 };
1900 #if CONFIG_NEW_MULTISYMBOL
1901 static const aom_cdf_prob
1902     default_comp_ref_cdf[REF_CONTEXTS][COMP_REFS - 1][CDF_SIZE(2)] = {
1903       { { AOM_ICDF(43 * 128), AOM_ICDF(32768), 0 } },
1904       { { AOM_ICDF(100 * 128), AOM_ICDF(32768), 0 } },
1905       { { AOM_ICDF(137 * 128), AOM_ICDF(32768), 0 } },
1906       { { AOM_ICDF(212 * 128), AOM_ICDF(32768), 0 } },
1907       { { AOM_ICDF(229 * 128), AOM_ICDF(32768), 0 } }
1908     };
1909 #endif  // CONFIG_NEW_MULTISYMBOL
1910 #endif  // CONFIG_EXT_REFS
1911 
1912 static const aom_prob default_single_ref_p[REF_CONTEXTS][SINGLE_REFS - 1] = {
1913 #if CONFIG_EXT_REFS
1914   { 36, 16, 32, 57, 11, 14 },
1915   { 68, 128, 73, 128, 49, 124 },
1916   { 136, 236, 127, 170, 81, 238 },
1917   { 128, 128, 191, 211, 115, 128 },
1918   { 224, 128, 230, 242, 208, 128 }
1919 #else   // !CONFIG_EXT_REFS
1920   { 31, 25 }, { 72, 80 }, { 147, 148 }, { 197, 191 }, { 235, 247 },
1921 #endif  // CONFIG_EXT_REFS
1922 };
1923 
1924 #if CONFIG_NEW_MULTISYMBOL
1925 static const aom_cdf_prob
1926     default_single_ref_cdf[REF_CONTEXTS][SINGLE_REFS - 1][CDF_SIZE(2)] = {
1927 #if CONFIG_EXT_REFS
1928       { { AOM_ICDF(4623), AOM_ICDF(32768), 0 },
1929         { AOM_ICDF(2110), AOM_ICDF(32768), 0 },
1930         { AOM_ICDF(4132), AOM_ICDF(32768), 0 },
1931         { AOM_ICDF(7309), AOM_ICDF(32768), 0 },
1932         { AOM_ICDF(1392), AOM_ICDF(32768), 0 },
1933         { AOM_ICDF(1781), AOM_ICDF(32768), 0 } },
1934       { { AOM_ICDF(8659), AOM_ICDF(32768), 0 },
1935         { AOM_ICDF(16372), AOM_ICDF(32768), 0 },
1936         { AOM_ICDF(9371), AOM_ICDF(32768), 0 },
1937         { AOM_ICDF(16322), AOM_ICDF(32768), 0 },
1938         { AOM_ICDF(6216), AOM_ICDF(32768), 0 },
1939         { AOM_ICDF(15834), AOM_ICDF(32768), 0 } },
1940       { { AOM_ICDF(17353), AOM_ICDF(32768), 0 },
1941         { AOM_ICDF(30182), AOM_ICDF(32768), 0 },
1942         { AOM_ICDF(16300), AOM_ICDF(32768), 0 },
1943         { AOM_ICDF(21702), AOM_ICDF(32768), 0 },
1944         { AOM_ICDF(10365), AOM_ICDF(32768), 0 },
1945         { AOM_ICDF(30486), AOM_ICDF(32768), 0 } },
1946       { { AOM_ICDF(32768), AOM_ICDF(32768), 0 },
1947         { AOM_ICDF(32768), AOM_ICDF(32768), 0 },
1948         { AOM_ICDF(24426), AOM_ICDF(32768), 0 },
1949         { AOM_ICDF(26972), AOM_ICDF(32768), 0 },
1950         { AOM_ICDF(14760), AOM_ICDF(32768), 0 },
1951         { AOM_ICDF(32768), AOM_ICDF(32768), 0 } },
1952       { { AOM_ICDF(28634), AOM_ICDF(32768), 0 },
1953         { AOM_ICDF(32768), AOM_ICDF(32768), 0 },
1954         { AOM_ICDF(29425), AOM_ICDF(32768), 0 },
1955         { AOM_ICDF(30969), AOM_ICDF(32768), 0 },
1956         { AOM_ICDF(26676), AOM_ICDF(32768), 0 },
1957         { AOM_ICDF(32768), AOM_ICDF(32768), 0 } }
1958 #else   // !CONFIG_EXT_REFS
1959       { { AOM_ICDF(31 * 128), AOM_ICDF(32768), 0 },
1960         { AOM_ICDF(25 * 128), AOM_ICDF(32768), 0 } },
1961       { { AOM_ICDF(72 * 128), AOM_ICDF(32768), 0 },
1962         { AOM_ICDF(80 * 128), AOM_ICDF(32768), 0 } },
1963       { { AOM_ICDF(147 * 128), AOM_ICDF(32768), 0 },
1964         { AOM_ICDF(148 * 128), AOM_ICDF(32768), 0 } },
1965       { { AOM_ICDF(197 * 128), AOM_ICDF(32768), 0 },
1966         { AOM_ICDF(191 * 128), AOM_ICDF(32768), 0 } },
1967       { { AOM_ICDF(235 * 128), AOM_ICDF(32768), 0 },
1968         { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
1969 #endif  // CONFIG_EXT_REFS
1970     };
1971 #endif  // CONFIG_NEW_MULTISYMBOL
1972 
1973 #if CONFIG_COMPOUND_SINGLEREF
1974 // TODO(zoeliu): Default values to be further adjusted based on the collected
1975 //               stats.
1976 static const aom_prob default_comp_inter_mode_p[COMP_INTER_MODE_CONTEXTS] = {
1977   40, 110, 160, 220
1978 };
1979 #endif  // CONFIG_COMPOUND_SINGLEREF
1980 
1981 // TODO(huisu): tune these cdfs
1982 const aom_cdf_prob
1983     default_palette_y_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(PALETTE_SIZES)] = {
1984       { AOM_ICDF(12288), AOM_ICDF(19408), AOM_ICDF(24627), AOM_ICDF(26662),
1985         AOM_ICDF(28499), AOM_ICDF(30667), AOM_ICDF(32768), 0 },
1986       { AOM_ICDF(2815), AOM_ICDF(4570), AOM_ICDF(9416), AOM_ICDF(10875),
1987         AOM_ICDF(13782), AOM_ICDF(19863), AOM_ICDF(32768), 0 },
1988       { AOM_ICDF(3839), AOM_ICDF(5986), AOM_ICDF(11949), AOM_ICDF(13413),
1989         AOM_ICDF(16286), AOM_ICDF(21823), AOM_ICDF(32768), 0 },
1990       { AOM_ICDF(12032), AOM_ICDF(14948), AOM_ICDF(22187), AOM_ICDF(23138),
1991         AOM_ICDF(24756), AOM_ICDF(27635), AOM_ICDF(32768), 0 },
1992       { AOM_ICDF(14847), AOM_ICDF(20167), AOM_ICDF(25433), AOM_ICDF(26751),
1993         AOM_ICDF(28278), AOM_ICDF(30119), AOM_ICDF(32768), 0 },
1994       { AOM_ICDF(14336), AOM_ICDF(20240), AOM_ICDF(24840), AOM_ICDF(26079),
1995         AOM_ICDF(27908), AOM_ICDF(30034), AOM_ICDF(32768), 0 },
1996       { AOM_ICDF(18816), AOM_ICDF(25574), AOM_ICDF(29030), AOM_ICDF(29877),
1997         AOM_ICDF(30656), AOM_ICDF(31506), AOM_ICDF(32768), 0 },
1998       { AOM_ICDF(23039), AOM_ICDF(27333), AOM_ICDF(30220), AOM_ICDF(30708),
1999         AOM_ICDF(31070), AOM_ICDF(31826), AOM_ICDF(32768), 0 },
2000       { AOM_ICDF(13696), AOM_ICDF(18911), AOM_ICDF(23620), AOM_ICDF(25371),
2001         AOM_ICDF(29821), AOM_ICDF(31617), AOM_ICDF(32768), 0 },
2002       { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
2003         AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
2004 #if CONFIG_EXT_PARTITION
2005       { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
2006         AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
2007       { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
2008         AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
2009       { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
2010         AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
2011 #endif
2012     };
2013 
2014 const aom_cdf_prob default_palette_uv_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(
2015     PALETTE_SIZES)] = {
2016   { AOM_ICDF(20480), AOM_ICDF(29888), AOM_ICDF(32453), AOM_ICDF(32715),
2017     AOM_ICDF(32751), AOM_ICDF(32766), AOM_ICDF(32768), 0 },
2018   { AOM_ICDF(11135), AOM_ICDF(23641), AOM_ICDF(31056), AOM_ICDF(31998),
2019     AOM_ICDF(32496), AOM_ICDF(32668), AOM_ICDF(32768), 0 },
2020   { AOM_ICDF(9216), AOM_ICDF(23108), AOM_ICDF(30806), AOM_ICDF(31871),
2021     AOM_ICDF(32414), AOM_ICDF(32637), AOM_ICDF(32768), 0 },
2022   { AOM_ICDF(9984), AOM_ICDF(21999), AOM_ICDF(29192), AOM_ICDF(30645),
2023     AOM_ICDF(31640), AOM_ICDF(32402), AOM_ICDF(32768), 0 },
2024   { AOM_ICDF(7552), AOM_ICDF(16614), AOM_ICDF(24880), AOM_ICDF(27283),
2025     AOM_ICDF(29254), AOM_ICDF(31203), AOM_ICDF(32768), 0 },
2026   { AOM_ICDF(9600), AOM_ICDF(20279), AOM_ICDF(27548), AOM_ICDF(29261),
2027     AOM_ICDF(30494), AOM_ICDF(31631), AOM_ICDF(32768), 0 },
2028   { AOM_ICDF(11391), AOM_ICDF(18656), AOM_ICDF(23727), AOM_ICDF(26058),
2029     AOM_ICDF(27788), AOM_ICDF(30278), AOM_ICDF(32768), 0 },
2030   { AOM_ICDF(8576), AOM_ICDF(13585), AOM_ICDF(17632), AOM_ICDF(20884),
2031     AOM_ICDF(23948), AOM_ICDF(27152), AOM_ICDF(32768), 0 },
2032   { AOM_ICDF(15360), AOM_ICDF(24200), AOM_ICDF(26978), AOM_ICDF(30846),
2033     AOM_ICDF(31409), AOM_ICDF(32545), AOM_ICDF(32768), 0 },
2034   { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
2035     AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
2036 #if CONFIG_EXT_PARTITION
2037   { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
2038     AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
2039   { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
2040     AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
2041   { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
2042     AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
2043 #endif
2044 };
2045 
2046 // When palette mode is enabled, following probability tables indicate the
2047 // probabilities to code the "is_palette" bit (i.e. the bit that indicates
2048 // if this block uses palette mode or DC_PRED mode).
2049 const aom_prob av1_default_palette_y_mode_prob
2050     [PALETTE_BLOCK_SIZES][PALETTE_Y_MODE_CONTEXTS] = {
2051       { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
2052       { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
2053       { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
2054       { 240, 180, 100 },
2055 #if CONFIG_EXT_PARTITION
2056       { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
2057 #endif  // CONFIG_EXT_PARTITION
2058     };
2059 
2060 const aom_prob av1_default_palette_uv_mode_prob[PALETTE_UV_MODE_CONTEXTS] = {
2061   253, 229
2062 };
2063 
2064 #if CONFIG_NEW_MULTISYMBOL
2065 const aom_cdf_prob
2066     default_palette_y_mode_cdf[PALETTE_BLOCK_SIZES][PALETTE_Y_MODE_CONTEXTS]
2067                               [CDF_SIZE(2)] = {
2068                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2069                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2070                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2071                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2072                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2073                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2074                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2075                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2076                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2077                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2078                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2079                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2080                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2081                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2082                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2083                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2084                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2085                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2086                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2087                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2088                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2089                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2090                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2091                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2092                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2093                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2094                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2095                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2096                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2097                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2098 #if CONFIG_EXT_PARTITION
2099                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2100                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2101                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2102                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2103                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2104                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2105                                 { { AOM_ICDF(128 * 240), AOM_ICDF(32768), 0 },
2106                                   { AOM_ICDF(128 * 180), AOM_ICDF(32768), 0 },
2107                                   { AOM_ICDF(128 * 100), AOM_ICDF(32768), 0 } },
2108 #endif  // CONFIG_EXT_PARTITION
2109                               };
2110 
2111 const aom_cdf_prob
2112     default_palette_uv_mode_cdf[PALETTE_UV_MODE_CONTEXTS][CDF_SIZE(2)] = {
2113       { AOM_ICDF(128 * 253), AOM_ICDF(32768), 0 },
2114       { AOM_ICDF(128 * 229), AOM_ICDF(32768), 0 }
2115     };
2116 
2117 #endif
2118 
2119 const aom_cdf_prob default_palette_y_color_index_cdf
2120     [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = {
2121       {
2122           { AOM_ICDF(29568), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2123           { AOM_ICDF(16384), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2124           { AOM_ICDF(8832), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2125           { AOM_ICDF(28672), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2126           { AOM_ICDF(31872), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2127       },
2128       {
2129           { AOM_ICDF(28032), AOM_ICDF(30326), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2130             0 },
2131           { AOM_ICDF(11647), AOM_ICDF(27405), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2132             0 },
2133           { AOM_ICDF(4352), AOM_ICDF(30659), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2134             0 },
2135           { AOM_ICDF(23552), AOM_ICDF(27800), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2136             0 },
2137           { AOM_ICDF(32256), AOM_ICDF(32504), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2138             0 },
2139       },
2140       {
2141           { AOM_ICDF(26112), AOM_ICDF(28374), AOM_ICDF(30039), AOM_ICDF(32768),
2142             0, 0, 0, 0, 0 },
2143           { AOM_ICDF(9472), AOM_ICDF(22576), AOM_ICDF(27712), AOM_ICDF(32768),
2144             0, 0, 0, 0, 0 },
2145           { AOM_ICDF(6656), AOM_ICDF(26138), AOM_ICDF(29608), AOM_ICDF(32768),
2146             0, 0, 0, 0, 0 },
2147           { AOM_ICDF(19328), AOM_ICDF(23791), AOM_ICDF(28946), AOM_ICDF(32768),
2148             0, 0, 0, 0, 0 },
2149           { AOM_ICDF(31744), AOM_ICDF(31984), AOM_ICDF(32336), AOM_ICDF(32768),
2150             0, 0, 0, 0, 0 },
2151       },
2152       {
2153           { AOM_ICDF(27904), AOM_ICDF(29215), AOM_ICDF(30075), AOM_ICDF(31190),
2154             AOM_ICDF(32768), 0, 0, 0, 0 },
2155           { AOM_ICDF(9728), AOM_ICDF(22598), AOM_ICDF(26134), AOM_ICDF(29425),
2156             AOM_ICDF(32768), 0, 0, 0, 0 },
2157           { AOM_ICDF(2688), AOM_ICDF(30066), AOM_ICDF(31058), AOM_ICDF(31933),
2158             AOM_ICDF(32768), 0, 0, 0, 0 },
2159           { AOM_ICDF(22015), AOM_ICDF(25039), AOM_ICDF(27726), AOM_ICDF(29932),
2160             AOM_ICDF(32768), 0, 0, 0, 0 },
2161           { AOM_ICDF(32383), AOM_ICDF(32482), AOM_ICDF(32554), AOM_ICDF(32660),
2162             AOM_ICDF(32768), 0, 0, 0, 0 },
2163       },
2164       {
2165           { AOM_ICDF(24319), AOM_ICDF(26299), AOM_ICDF(27486), AOM_ICDF(28600),
2166             AOM_ICDF(29804), AOM_ICDF(32768), 0, 0, 0 },
2167           { AOM_ICDF(7935), AOM_ICDF(18217), AOM_ICDF(21116), AOM_ICDF(25440),
2168             AOM_ICDF(28589), AOM_ICDF(32768), 0, 0, 0 },
2169           { AOM_ICDF(6656), AOM_ICDF(25016), AOM_ICDF(27105), AOM_ICDF(28698),
2170             AOM_ICDF(30399), AOM_ICDF(32768), 0, 0, 0 },
2171           { AOM_ICDF(19967), AOM_ICDF(24117), AOM_ICDF(26550), AOM_ICDF(28566),
2172             AOM_ICDF(30224), AOM_ICDF(32768), 0, 0, 0 },
2173           { AOM_ICDF(31359), AOM_ICDF(31607), AOM_ICDF(31775), AOM_ICDF(31977),
2174             AOM_ICDF(32258), AOM_ICDF(32768), 0, 0, 0 },
2175       },
2176       {
2177           { AOM_ICDF(26368), AOM_ICDF(27768), AOM_ICDF(28588), AOM_ICDF(29274),
2178             AOM_ICDF(29997), AOM_ICDF(30917), AOM_ICDF(32768), 0, 0 },
2179           { AOM_ICDF(8960), AOM_ICDF(18260), AOM_ICDF(20810), AOM_ICDF(23986),
2180             AOM_ICDF(26627), AOM_ICDF(28882), AOM_ICDF(32768), 0, 0 },
2181           { AOM_ICDF(7295), AOM_ICDF(24111), AOM_ICDF(25836), AOM_ICDF(27515),
2182             AOM_ICDF(29033), AOM_ICDF(30769), AOM_ICDF(32768), 0, 0 },
2183           { AOM_ICDF(22016), AOM_ICDF(25208), AOM_ICDF(27305), AOM_ICDF(28159),
2184             AOM_ICDF(29221), AOM_ICDF(30274), AOM_ICDF(32768), 0, 0 },
2185           { AOM_ICDF(31744), AOM_ICDF(31932), AOM_ICDF(32050), AOM_ICDF(32199),
2186             AOM_ICDF(32335), AOM_ICDF(32521), AOM_ICDF(32768), 0, 0 },
2187       },
2188       {
2189           { AOM_ICDF(26624), AOM_ICDF(27872), AOM_ICDF(28599), AOM_ICDF(29153),
2190             AOM_ICDF(29633), AOM_ICDF(30172), AOM_ICDF(30841), AOM_ICDF(32768),
2191             0 },
2192           { AOM_ICDF(6655), AOM_ICDF(17569), AOM_ICDF(19587), AOM_ICDF(23345),
2193             AOM_ICDF(25884), AOM_ICDF(28088), AOM_ICDF(29678), AOM_ICDF(32768),
2194             0 },
2195           { AOM_ICDF(3584), AOM_ICDF(27296), AOM_ICDF(28429), AOM_ICDF(29158),
2196             AOM_ICDF(30032), AOM_ICDF(30780), AOM_ICDF(31572), AOM_ICDF(32768),
2197             0 },
2198           { AOM_ICDF(23551), AOM_ICDF(25855), AOM_ICDF(27070), AOM_ICDF(27893),
2199             AOM_ICDF(28597), AOM_ICDF(29721), AOM_ICDF(30970), AOM_ICDF(32768),
2200             0 },
2201           { AOM_ICDF(32128), AOM_ICDF(32173), AOM_ICDF(32245), AOM_ICDF(32337),
2202             AOM_ICDF(32416), AOM_ICDF(32500), AOM_ICDF(32609), AOM_ICDF(32768),
2203             0 },
2204       },
2205     };
2206 
2207 const aom_cdf_prob default_palette_uv_color_index_cdf
2208     [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = {
2209       {
2210           { AOM_ICDF(29824), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2211           { AOM_ICDF(16384), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2212           { AOM_ICDF(8832), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2213           { AOM_ICDF(30720), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2214           { AOM_ICDF(31744), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2215       },
2216       {
2217           { AOM_ICDF(27648), AOM_ICDF(30208), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2218             0 },
2219           { AOM_ICDF(14080), AOM_ICDF(26563), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2220             0 },
2221           { AOM_ICDF(5120), AOM_ICDF(30932), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2222             0 },
2223           { AOM_ICDF(24448), AOM_ICDF(27828), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2224             0 },
2225           { AOM_ICDF(31616), AOM_ICDF(32219), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2226             0 },
2227       },
2228       {
2229           { AOM_ICDF(25856), AOM_ICDF(28259), AOM_ICDF(30584), AOM_ICDF(32768),
2230             0, 0, 0, 0, 0 },
2231           { AOM_ICDF(11520), AOM_ICDF(22476), AOM_ICDF(27944), AOM_ICDF(32768),
2232             0, 0, 0, 0, 0 },
2233           { AOM_ICDF(8064), AOM_ICDF(26882), AOM_ICDF(30308), AOM_ICDF(32768),
2234             0, 0, 0, 0, 0 },
2235           { AOM_ICDF(19455), AOM_ICDF(23823), AOM_ICDF(29134), AOM_ICDF(32768),
2236             0, 0, 0, 0, 0 },
2237           { AOM_ICDF(30848), AOM_ICDF(31501), AOM_ICDF(32174), AOM_ICDF(32768),
2238             0, 0, 0, 0, 0 },
2239       },
2240       {
2241           { AOM_ICDF(26751), AOM_ICDF(28020), AOM_ICDF(29541), AOM_ICDF(31230),
2242             AOM_ICDF(32768), 0, 0, 0, 0 },
2243           { AOM_ICDF(12032), AOM_ICDF(26045), AOM_ICDF(30772), AOM_ICDF(31497),
2244             AOM_ICDF(32768), 0, 0, 0, 0 },
2245           { AOM_ICDF(1280), AOM_ICDF(32153), AOM_ICDF(32458), AOM_ICDF(32560),
2246             AOM_ICDF(32768), 0, 0, 0, 0 },
2247           { AOM_ICDF(23424), AOM_ICDF(24154), AOM_ICDF(29201), AOM_ICDF(29856),
2248             AOM_ICDF(32768), 0, 0, 0, 0 },
2249           { AOM_ICDF(32256), AOM_ICDF(32402), AOM_ICDF(32561), AOM_ICDF(32682),
2250             AOM_ICDF(32768), 0, 0, 0, 0 },
2251       },
2252       {
2253           { AOM_ICDF(24576), AOM_ICDF(26720), AOM_ICDF(28114), AOM_ICDF(28950),
2254             AOM_ICDF(31694), AOM_ICDF(32768), 0, 0, 0 },
2255           { AOM_ICDF(7551), AOM_ICDF(16613), AOM_ICDF(20462), AOM_ICDF(25269),
2256             AOM_ICDF(29077), AOM_ICDF(32768), 0, 0, 0 },
2257           { AOM_ICDF(6272), AOM_ICDF(23039), AOM_ICDF(25623), AOM_ICDF(28163),
2258             AOM_ICDF(30861), AOM_ICDF(32768), 0, 0, 0 },
2259           { AOM_ICDF(17024), AOM_ICDF(18808), AOM_ICDF(20771), AOM_ICDF(27941),
2260             AOM_ICDF(29845), AOM_ICDF(32768), 0, 0, 0 },
2261           { AOM_ICDF(31616), AOM_ICDF(31936), AOM_ICDF(32079), AOM_ICDF(32321),
2262             AOM_ICDF(32546), AOM_ICDF(32768), 0, 0, 0 },
2263       },
2264       {
2265           { AOM_ICDF(23296), AOM_ICDF(25590), AOM_ICDF(27833), AOM_ICDF(29337),
2266             AOM_ICDF(29954), AOM_ICDF(31229), AOM_ICDF(32768), 0, 0 },
2267           { AOM_ICDF(7552), AOM_ICDF(13659), AOM_ICDF(16570), AOM_ICDF(21695),
2268             AOM_ICDF(24506), AOM_ICDF(27701), AOM_ICDF(32768), 0, 0 },
2269           { AOM_ICDF(6911), AOM_ICDF(24788), AOM_ICDF(26284), AOM_ICDF(27753),
2270             AOM_ICDF(29575), AOM_ICDF(30872), AOM_ICDF(32768), 0, 0 },
2271           { AOM_ICDF(17535), AOM_ICDF(22236), AOM_ICDF(24457), AOM_ICDF(26242),
2272             AOM_ICDF(27363), AOM_ICDF(30191), AOM_ICDF(32768), 0, 0 },
2273           { AOM_ICDF(30592), AOM_ICDF(31289), AOM_ICDF(31745), AOM_ICDF(31921),
2274             AOM_ICDF(32149), AOM_ICDF(32321), AOM_ICDF(32768), 0, 0 },
2275       },
2276       {
2277           { AOM_ICDF(22016), AOM_ICDF(24242), AOM_ICDF(25141), AOM_ICDF(27137),
2278             AOM_ICDF(27797), AOM_ICDF(29331), AOM_ICDF(30848), AOM_ICDF(32768),
2279             0 },
2280           { AOM_ICDF(8063), AOM_ICDF(13564), AOM_ICDF(16940), AOM_ICDF(21948),
2281             AOM_ICDF(24568), AOM_ICDF(25689), AOM_ICDF(26989), AOM_ICDF(32768),
2282             0 },
2283           { AOM_ICDF(6528), AOM_ICDF(27028), AOM_ICDF(27835), AOM_ICDF(28741),
2284             AOM_ICDF(30031), AOM_ICDF(31795), AOM_ICDF(32285), AOM_ICDF(32768),
2285             0 },
2286           { AOM_ICDF(18047), AOM_ICDF(23797), AOM_ICDF(25444), AOM_ICDF(26274),
2287             AOM_ICDF(27111), AOM_ICDF(27929), AOM_ICDF(30367), AOM_ICDF(32768),
2288             0 },
2289           { AOM_ICDF(30208), AOM_ICDF(30628), AOM_ICDF(31046), AOM_ICDF(31658),
2290             AOM_ICDF(31762), AOM_ICDF(32367), AOM_ICDF(32469), AOM_ICDF(32768),
2291             0 },
2292       }
2293     };
2294 #if CONFIG_MRC_TX
2295 // TODO(sarahparker) Tune these cdfs
2296 const aom_cdf_prob default_mrc_mask_intra_cdf
2297     [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = {
2298       {
2299           { AOM_ICDF(29568), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2300           { AOM_ICDF(16384), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2301           { AOM_ICDF(8832), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2302           { AOM_ICDF(28672), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2303           { AOM_ICDF(31872), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2304       },
2305       {
2306           { AOM_ICDF(28032), AOM_ICDF(30326), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2307             0 },
2308           { AOM_ICDF(11647), AOM_ICDF(27405), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2309             0 },
2310           { AOM_ICDF(4352), AOM_ICDF(30659), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2311             0 },
2312           { AOM_ICDF(23552), AOM_ICDF(27800), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2313             0 },
2314           { AOM_ICDF(32256), AOM_ICDF(32504), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2315             0 },
2316       },
2317       {
2318           { AOM_ICDF(26112), AOM_ICDF(28374), AOM_ICDF(30039), AOM_ICDF(32768),
2319             0, 0, 0, 0, 0 },
2320           { AOM_ICDF(9472), AOM_ICDF(22576), AOM_ICDF(27712), AOM_ICDF(32768),
2321             0, 0, 0, 0, 0 },
2322           { AOM_ICDF(6656), AOM_ICDF(26138), AOM_ICDF(29608), AOM_ICDF(32768),
2323             0, 0, 0, 0, 0 },
2324           { AOM_ICDF(19328), AOM_ICDF(23791), AOM_ICDF(28946), AOM_ICDF(32768),
2325             0, 0, 0, 0, 0 },
2326           { AOM_ICDF(31744), AOM_ICDF(31984), AOM_ICDF(32336), AOM_ICDF(32768),
2327             0, 0, 0, 0, 0 },
2328       },
2329       {
2330           { AOM_ICDF(27904), AOM_ICDF(29215), AOM_ICDF(30075), AOM_ICDF(31190),
2331             AOM_ICDF(32768), 0, 0, 0, 0 },
2332           { AOM_ICDF(9728), AOM_ICDF(22598), AOM_ICDF(26134), AOM_ICDF(29425),
2333             AOM_ICDF(32768), 0, 0, 0, 0 },
2334           { AOM_ICDF(2688), AOM_ICDF(30066), AOM_ICDF(31058), AOM_ICDF(31933),
2335             AOM_ICDF(32768), 0, 0, 0, 0 },
2336           { AOM_ICDF(22015), AOM_ICDF(25039), AOM_ICDF(27726), AOM_ICDF(29932),
2337             AOM_ICDF(32768), 0, 0, 0, 0 },
2338           { AOM_ICDF(32383), AOM_ICDF(32482), AOM_ICDF(32554), AOM_ICDF(32660),
2339             AOM_ICDF(32768), 0, 0, 0, 0 },
2340       },
2341       {
2342           { AOM_ICDF(24319), AOM_ICDF(26299), AOM_ICDF(27486), AOM_ICDF(28600),
2343             AOM_ICDF(29804), AOM_ICDF(32768), 0, 0, 0 },
2344           { AOM_ICDF(7935), AOM_ICDF(18217), AOM_ICDF(21116), AOM_ICDF(25440),
2345             AOM_ICDF(28589), AOM_ICDF(32768), 0, 0, 0 },
2346           { AOM_ICDF(6656), AOM_ICDF(25016), AOM_ICDF(27105), AOM_ICDF(28698),
2347             AOM_ICDF(30399), AOM_ICDF(32768), 0, 0, 0 },
2348           { AOM_ICDF(19967), AOM_ICDF(24117), AOM_ICDF(26550), AOM_ICDF(28566),
2349             AOM_ICDF(30224), AOM_ICDF(32768), 0, 0, 0 },
2350           { AOM_ICDF(31359), AOM_ICDF(31607), AOM_ICDF(31775), AOM_ICDF(31977),
2351             AOM_ICDF(32258), AOM_ICDF(32768), 0, 0, 0 },
2352       },
2353       {
2354           { AOM_ICDF(26368), AOM_ICDF(27768), AOM_ICDF(28588), AOM_ICDF(29274),
2355             AOM_ICDF(29997), AOM_ICDF(30917), AOM_ICDF(32768), 0, 0 },
2356           { AOM_ICDF(8960), AOM_ICDF(18260), AOM_ICDF(20810), AOM_ICDF(23986),
2357             AOM_ICDF(26627), AOM_ICDF(28882), AOM_ICDF(32768), 0, 0 },
2358           { AOM_ICDF(7295), AOM_ICDF(24111), AOM_ICDF(25836), AOM_ICDF(27515),
2359             AOM_ICDF(29033), AOM_ICDF(30769), AOM_ICDF(32768), 0, 0 },
2360           { AOM_ICDF(22016), AOM_ICDF(25208), AOM_ICDF(27305), AOM_ICDF(28159),
2361             AOM_ICDF(29221), AOM_ICDF(30274), AOM_ICDF(32768), 0, 0 },
2362           { AOM_ICDF(31744), AOM_ICDF(31932), AOM_ICDF(32050), AOM_ICDF(32199),
2363             AOM_ICDF(32335), AOM_ICDF(32521), AOM_ICDF(32768), 0, 0 },
2364       },
2365       {
2366           { AOM_ICDF(26624), AOM_ICDF(27872), AOM_ICDF(28599), AOM_ICDF(29153),
2367             AOM_ICDF(29633), AOM_ICDF(30172), AOM_ICDF(30841), AOM_ICDF(32768),
2368             0 },
2369           { AOM_ICDF(6655), AOM_ICDF(17569), AOM_ICDF(19587), AOM_ICDF(23345),
2370             AOM_ICDF(25884), AOM_ICDF(28088), AOM_ICDF(29678), AOM_ICDF(32768),
2371             0 },
2372           { AOM_ICDF(3584), AOM_ICDF(27296), AOM_ICDF(28429), AOM_ICDF(29158),
2373             AOM_ICDF(30032), AOM_ICDF(30780), AOM_ICDF(31572), AOM_ICDF(32768),
2374             0 },
2375           { AOM_ICDF(23551), AOM_ICDF(25855), AOM_ICDF(27070), AOM_ICDF(27893),
2376             AOM_ICDF(28597), AOM_ICDF(29721), AOM_ICDF(30970), AOM_ICDF(32768),
2377             0 },
2378           { AOM_ICDF(32128), AOM_ICDF(32173), AOM_ICDF(32245), AOM_ICDF(32337),
2379             AOM_ICDF(32416), AOM_ICDF(32500), AOM_ICDF(32609), AOM_ICDF(32768),
2380             0 },
2381       },
2382     };
2383 
2384 const aom_cdf_prob default_mrc_mask_inter_cdf
2385     [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = {
2386       {
2387           { AOM_ICDF(29568), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2388           { AOM_ICDF(16384), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2389           { AOM_ICDF(8832), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2390           { AOM_ICDF(28672), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2391           { AOM_ICDF(31872), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
2392       },
2393       {
2394           { AOM_ICDF(28032), AOM_ICDF(30326), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2395             0 },
2396           { AOM_ICDF(11647), AOM_ICDF(27405), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2397             0 },
2398           { AOM_ICDF(4352), AOM_ICDF(30659), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2399             0 },
2400           { AOM_ICDF(23552), AOM_ICDF(27800), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2401             0 },
2402           { AOM_ICDF(32256), AOM_ICDF(32504), AOM_ICDF(32768), 0, 0, 0, 0, 0,
2403             0 },
2404       },
2405       {
2406           { AOM_ICDF(26112), AOM_ICDF(28374), AOM_ICDF(30039), AOM_ICDF(32768),
2407             0, 0, 0, 0, 0 },
2408           { AOM_ICDF(9472), AOM_ICDF(22576), AOM_ICDF(27712), AOM_ICDF(32768),
2409             0, 0, 0, 0, 0 },
2410           { AOM_ICDF(6656), AOM_ICDF(26138), AOM_ICDF(29608), AOM_ICDF(32768),
2411             0, 0, 0, 0, 0 },
2412           { AOM_ICDF(19328), AOM_ICDF(23791), AOM_ICDF(28946), AOM_ICDF(32768),
2413             0, 0, 0, 0, 0 },
2414           { AOM_ICDF(31744), AOM_ICDF(31984), AOM_ICDF(32336), AOM_ICDF(32768),
2415             0, 0, 0, 0, 0 },
2416       },
2417       {
2418           { AOM_ICDF(27904), AOM_ICDF(29215), AOM_ICDF(30075), AOM_ICDF(31190),
2419             AOM_ICDF(32768), 0, 0, 0, 0 },
2420           { AOM_ICDF(9728), AOM_ICDF(22598), AOM_ICDF(26134), AOM_ICDF(29425),
2421             AOM_ICDF(32768), 0, 0, 0, 0 },
2422           { AOM_ICDF(2688), AOM_ICDF(30066), AOM_ICDF(31058), AOM_ICDF(31933),
2423             AOM_ICDF(32768), 0, 0, 0, 0 },
2424           { AOM_ICDF(22015), AOM_ICDF(25039), AOM_ICDF(27726), AOM_ICDF(29932),
2425             AOM_ICDF(32768), 0, 0, 0, 0 },
2426           { AOM_ICDF(32383), AOM_ICDF(32482), AOM_ICDF(32554), AOM_ICDF(32660),
2427             AOM_ICDF(32768), 0, 0, 0, 0 },
2428       },
2429       {
2430           { AOM_ICDF(24319), AOM_ICDF(26299), AOM_ICDF(27486), AOM_ICDF(28600),
2431             AOM_ICDF(29804), AOM_ICDF(32768), 0, 0, 0 },
2432           { AOM_ICDF(7935), AOM_ICDF(18217), AOM_ICDF(21116), AOM_ICDF(25440),
2433             AOM_ICDF(28589), AOM_ICDF(32768), 0, 0, 0 },
2434           { AOM_ICDF(6656), AOM_ICDF(25016), AOM_ICDF(27105), AOM_ICDF(28698),
2435             AOM_ICDF(30399), AOM_ICDF(32768), 0, 0, 0 },
2436           { AOM_ICDF(19967), AOM_ICDF(24117), AOM_ICDF(26550), AOM_ICDF(28566),
2437             AOM_ICDF(30224), AOM_ICDF(32768), 0, 0, 0 },
2438           { AOM_ICDF(31359), AOM_ICDF(31607), AOM_ICDF(31775), AOM_ICDF(31977),
2439             AOM_ICDF(32258), AOM_ICDF(32768), 0, 0, 0 },
2440       },
2441       {
2442           { AOM_ICDF(26368), AOM_ICDF(27768), AOM_ICDF(28588), AOM_ICDF(29274),
2443             AOM_ICDF(29997), AOM_ICDF(30917), AOM_ICDF(32768), 0, 0 },
2444           { AOM_ICDF(8960), AOM_ICDF(18260), AOM_ICDF(20810), AOM_ICDF(23986),
2445             AOM_ICDF(26627), AOM_ICDF(28882), AOM_ICDF(32768), 0, 0 },
2446           { AOM_ICDF(7295), AOM_ICDF(24111), AOM_ICDF(25836), AOM_ICDF(27515),
2447             AOM_ICDF(29033), AOM_ICDF(30769), AOM_ICDF(32768), 0, 0 },
2448           { AOM_ICDF(22016), AOM_ICDF(25208), AOM_ICDF(27305), AOM_ICDF(28159),
2449             AOM_ICDF(29221), AOM_ICDF(30274), AOM_ICDF(32768), 0, 0 },
2450           { AOM_ICDF(31744), AOM_ICDF(31932), AOM_ICDF(32050), AOM_ICDF(32199),
2451             AOM_ICDF(32335), AOM_ICDF(32521), AOM_ICDF(32768), 0, 0 },
2452       },
2453       {
2454           { AOM_ICDF(26624), AOM_ICDF(27872), AOM_ICDF(28599), AOM_ICDF(29153),
2455             AOM_ICDF(29633), AOM_ICDF(30172), AOM_ICDF(30841), AOM_ICDF(32768),
2456             0 },
2457           { AOM_ICDF(6655), AOM_ICDF(17569), AOM_ICDF(19587), AOM_ICDF(23345),
2458             AOM_ICDF(25884), AOM_ICDF(28088), AOM_ICDF(29678), AOM_ICDF(32768),
2459             0 },
2460           { AOM_ICDF(3584), AOM_ICDF(27296), AOM_ICDF(28429), AOM_ICDF(29158),
2461             AOM_ICDF(30032), AOM_ICDF(30780), AOM_ICDF(31572), AOM_ICDF(32768),
2462             0 },
2463           { AOM_ICDF(23551), AOM_ICDF(25855), AOM_ICDF(27070), AOM_ICDF(27893),
2464             AOM_ICDF(28597), AOM_ICDF(29721), AOM_ICDF(30970), AOM_ICDF(32768),
2465             0 },
2466           { AOM_ICDF(32128), AOM_ICDF(32173), AOM_ICDF(32245), AOM_ICDF(32337),
2467             AOM_ICDF(32416), AOM_ICDF(32500), AOM_ICDF(32609), AOM_ICDF(32768),
2468             0 },
2469       },
2470     };
2471 #endif  // CONFIG_MRC_TX
2472 
2473 #if CONFIG_INTRABC
2474 static const aom_cdf_prob default_intrabc_cdf[CDF_SIZE(2)] = {
2475   AOM_ICDF(192 * 128), AOM_ICDF(32768), 0,
2476 };
2477 #endif  // CONFIG_INTRABC
2478 
2479 #define MAX_COLOR_CONTEXT_HASH 8
2480 // Negative values are invalid
2481 static const int palette_color_index_context_lookup[MAX_COLOR_CONTEXT_HASH +
2482                                                     1] = { -1, -1, 0, -1, -1,
2483                                                            4,  3,  2, 1 };
2484 
2485 #if CONFIG_RECT_TX_EXT && (CONFIG_EXT_TX || CONFIG_VAR_TX)
2486 static const aom_prob default_quarter_tx_size_prob = 192;
2487 #if CONFIG_NEW_MULTISYMBOL
2488 static const aom_cdf_prob default_quarter_tx_size_cdf[CDF_SIZE(2)] = {
2489   AOM_ICDF(192 * 128), AOM_ICDF(32768), 0
2490 };
2491 #endif
2492 #endif
2493 
2494 #if CONFIG_LOOP_RESTORATION
2495 const aom_tree_index
2496     av1_switchable_restore_tree[TREE_SIZE(RESTORE_SWITCHABLE_TYPES)] = {
2497       -RESTORE_NONE, 2, -RESTORE_WIENER, -RESTORE_SGRPROJ,
2498     };
2499 
2500 static const aom_prob
2501     default_switchable_restore_prob[RESTORE_SWITCHABLE_TYPES - 1] = {
2502       32, 128,
2503     };
2504 #endif  // CONFIG_LOOP_RESTORATION
2505 
2506 #define NUM_PALETTE_NEIGHBORS 3  // left, top-left and top.
av1_get_palette_color_index_context(const uint8_t * color_map,int stride,int r,int c,int palette_size,uint8_t * color_order,int * color_idx)2507 int av1_get_palette_color_index_context(const uint8_t *color_map, int stride,
2508                                         int r, int c, int palette_size,
2509                                         uint8_t *color_order, int *color_idx) {
2510   int i;
2511   // The +10 below should not be needed. But we get a warning "array subscript
2512   // is above array bounds [-Werror=array-bounds]" without it, possibly due to
2513   // this (or similar) bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124
2514   int scores[PALETTE_MAX_SIZE + 10];
2515   const int weights[NUM_PALETTE_NEIGHBORS] = { 2, 1, 2 };
2516   const int hash_multipliers[NUM_PALETTE_NEIGHBORS] = { 1, 2, 2 };
2517   int color_index_ctx_hash;
2518   int color_index_ctx;
2519   int color_neighbors[NUM_PALETTE_NEIGHBORS];
2520   int inverse_color_order[PALETTE_MAX_SIZE];
2521   assert(palette_size <= PALETTE_MAX_SIZE);
2522   assert(r > 0 || c > 0);
2523 
2524   // Get color indices of neighbors.
2525   color_neighbors[0] = (c - 1 >= 0) ? color_map[r * stride + c - 1] : -1;
2526   color_neighbors[1] =
2527       (c - 1 >= 0 && r - 1 >= 0) ? color_map[(r - 1) * stride + c - 1] : -1;
2528   color_neighbors[2] = (r - 1 >= 0) ? color_map[(r - 1) * stride + c] : -1;
2529 
2530   for (i = 0; i < PALETTE_MAX_SIZE; ++i) {
2531     color_order[i] = i;
2532     inverse_color_order[i] = i;
2533   }
2534   memset(scores, 0, PALETTE_MAX_SIZE * sizeof(scores[0]));
2535   for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
2536     if (color_neighbors[i] >= 0) {
2537       scores[color_neighbors[i]] += weights[i];
2538     }
2539   }
2540 
2541   // Get the top NUM_PALETTE_NEIGHBORS scores (sorted from large to small).
2542   for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
2543     int max = scores[i];
2544     int max_idx = i;
2545     int j;
2546     for (j = i + 1; j < palette_size; ++j) {
2547       if (scores[j] > max) {
2548         max = scores[j];
2549         max_idx = j;
2550       }
2551     }
2552     if (max_idx != i) {
2553       // Move the score at index 'max_idx' to index 'i', and shift the scores
2554       // from 'i' to 'max_idx - 1' by 1.
2555       const int max_score = scores[max_idx];
2556       const uint8_t max_color_order = color_order[max_idx];
2557       int k;
2558       for (k = max_idx; k > i; --k) {
2559         scores[k] = scores[k - 1];
2560         color_order[k] = color_order[k - 1];
2561         inverse_color_order[color_order[k]] = k;
2562       }
2563       scores[i] = max_score;
2564       color_order[i] = max_color_order;
2565       inverse_color_order[color_order[i]] = i;
2566     }
2567   }
2568 
2569   // Get hash value of context.
2570   color_index_ctx_hash = 0;
2571   for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
2572     color_index_ctx_hash += scores[i] * hash_multipliers[i];
2573   }
2574   assert(color_index_ctx_hash > 0);
2575   assert(color_index_ctx_hash <= MAX_COLOR_CONTEXT_HASH);
2576 
2577   // Lookup context from hash.
2578   color_index_ctx = palette_color_index_context_lookup[color_index_ctx_hash];
2579   assert(color_index_ctx >= 0);
2580   assert(color_index_ctx < PALETTE_COLOR_INDEX_CONTEXTS);
2581 
2582   if (color_idx != NULL) {
2583     *color_idx = inverse_color_order[color_map[r * stride + c]];
2584   }
2585   return color_index_ctx;
2586 }
2587 #undef NUM_PALETTE_NEIGHBORS
2588 #undef MAX_COLOR_CONTEXT_HASH
2589 
2590 #if CONFIG_VAR_TX
2591 static const aom_prob default_txfm_partition_probs[TXFM_PARTITION_CONTEXTS] = {
2592 #if CONFIG_TX64X64
2593   249, 240, 223, 249, 229, 177, 250, 243, 208, 226, 187,
2594   145, 236, 204, 150, 183, 149, 125, 181, 146, 113, 128
2595 #else
2596   250, 231, 212, 241, 166, 66, 241, 230, 135, 243, 154, 64, 248, 161, 63, 128
2597 #endif  // CONFIG_TX64X64
2598 };
2599 #if CONFIG_NEW_MULTISYMBOL
2600 static const aom_cdf_prob
2601     default_txfm_partition_cdf[TXFM_PARTITION_CONTEXTS][CDF_SIZE(2)] = {
2602 #if CONFIG_TX64X64
2603       { AOM_ICDF(249 * 128), AOM_ICDF(32768), 0 },
2604       { AOM_ICDF(240 * 128), AOM_ICDF(32768), 0 },
2605       { AOM_ICDF(223 * 128), AOM_ICDF(32768), 0 },
2606       { AOM_ICDF(249 * 128), AOM_ICDF(32768), 0 },
2607       { AOM_ICDF(229 * 128), AOM_ICDF(32768), 0 },
2608       { AOM_ICDF(177 * 128), AOM_ICDF(32768), 0 },
2609       { AOM_ICDF(250 * 128), AOM_ICDF(32768), 0 },
2610       { AOM_ICDF(243 * 128), AOM_ICDF(32768), 0 },
2611       { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
2612       { AOM_ICDF(226 * 128), AOM_ICDF(32768), 0 },
2613       { AOM_ICDF(187 * 128), AOM_ICDF(32768), 0 },
2614       { AOM_ICDF(145 * 128), AOM_ICDF(32768), 0 },
2615       { AOM_ICDF(236 * 128), AOM_ICDF(32768), 0 },
2616       { AOM_ICDF(204 * 128), AOM_ICDF(32768), 0 },
2617       { AOM_ICDF(150 * 128), AOM_ICDF(32768), 0 },
2618       { AOM_ICDF(183 * 128), AOM_ICDF(32768), 0 },
2619       { AOM_ICDF(149 * 128), AOM_ICDF(32768), 0 },
2620       { AOM_ICDF(125 * 128), AOM_ICDF(32768), 0 },
2621       { AOM_ICDF(181 * 128), AOM_ICDF(32768), 0 },
2622       { AOM_ICDF(146 * 128), AOM_ICDF(32768), 0 },
2623       { AOM_ICDF(113 * 128), AOM_ICDF(32768), 0 },
2624       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 }
2625 #else
2626       { AOM_ICDF(250 * 128), AOM_ICDF(32768), 0 },
2627       { AOM_ICDF(231 * 128), AOM_ICDF(32768), 0 },
2628       { AOM_ICDF(212 * 128), AOM_ICDF(32768), 0 },
2629       { AOM_ICDF(241 * 128), AOM_ICDF(32768), 0 },
2630       { AOM_ICDF(166 * 128), AOM_ICDF(32768), 0 },
2631       { AOM_ICDF(66 * 128), AOM_ICDF(32768), 0 },
2632       { AOM_ICDF(241 * 128), AOM_ICDF(32768), 0 },
2633       { AOM_ICDF(230 * 128), AOM_ICDF(32768), 0 },
2634       { AOM_ICDF(135 * 128), AOM_ICDF(32768), 0 },
2635       { AOM_ICDF(243 * 128), AOM_ICDF(32768), 0 },
2636       { AOM_ICDF(154 * 128), AOM_ICDF(32768), 0 },
2637       { AOM_ICDF(64 * 128), AOM_ICDF(32768), 0 },
2638       { AOM_ICDF(248 * 128), AOM_ICDF(32768), 0 },
2639       { AOM_ICDF(161 * 128), AOM_ICDF(32768), 0 },
2640       { AOM_ICDF(63 * 128), AOM_ICDF(32768), 0 },
2641       { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
2642 #endif  // CONFIG_TX64X64
2643     };
2644 #endif  // CONFIG_NEW_MULTISYMBOL
2645 #endif  // CONFIG_VAR_TX
2646 
2647 static const aom_prob default_skip_probs[SKIP_CONTEXTS] = { 192, 128, 64 };
2648 #if CONFIG_NEW_MULTISYMBOL
2649 static const aom_cdf_prob default_skip_cdfs[SKIP_CONTEXTS][CDF_SIZE(2)] = {
2650   { AOM_ICDF(24576), AOM_ICDF(32768), 0 },
2651   { AOM_ICDF(16384), AOM_ICDF(32768), 0 },
2652   { AOM_ICDF(8192), AOM_ICDF(32768), 0 }
2653 };
2654 #endif
2655 
2656 #if CONFIG_LGT_FROM_PRED
2657 static const aom_prob default_intra_lgt_prob[LGT_SIZES][INTRA_MODES] = {
2658   { 255, 208, 208, 180, 230, 208, 194, 214, 220, 255,
2659 #if CONFIG_SMOOTH_HV
2660     220, 220,
2661 #endif
2662     230 },
2663   { 255, 192, 216, 180, 180, 180, 180, 200, 200, 255,
2664 #if CONFIG_SMOOTH_HV
2665     220, 220,
2666 #endif
2667     222 },
2668 };
2669 
2670 static const aom_prob default_inter_lgt_prob[LGT_SIZES] = { 230, 230 };
2671 #endif  // CONFIG_LGT_FROM_PRED
2672 
2673 #if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
2674 static const aom_prob
2675     default_intra_filter_probs[INTRA_FILTERS + 1][INTRA_FILTERS - 1] = {
2676       { 98, 63, 60 }, { 98, 82, 80 }, { 94, 65, 103 },
2677       { 49, 25, 24 }, { 72, 38, 50 },
2678     };
2679 const aom_tree_index av1_intra_filter_tree[TREE_SIZE(INTRA_FILTERS)] = {
2680   -INTRA_FILTER_LINEAR,      2, -INTRA_FILTER_8TAP, 4, -INTRA_FILTER_8TAP_SHARP,
2681   -INTRA_FILTER_8TAP_SMOOTH,
2682 };
2683 int av1_intra_filter_ind[INTRA_FILTERS];
2684 int av1_intra_filter_inv[INTRA_FILTERS];
2685 #endif  // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
2686 
2687 #if CONFIG_FILTER_INTRA
2688 static const aom_prob default_filter_intra_probs[2] = { 230, 230 };
2689 #endif  // CONFIG_FILTER_INTRA
2690 
2691 #if CONFIG_SUPERTX
2692 static const aom_prob
2693     default_supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES] = {
2694 #if CONFIG_CHROMA_2X2
2695 #if CONFIG_TX64X64
2696       { 1, 1, 160, 160, 170, 180 }, { 1, 1, 200, 200, 210, 220 },
2697 #else
2698       { 1, 1, 160, 160, 170 }, { 1, 1, 200, 200, 210 },
2699 #endif  // CONFIG_TX64X64
2700 #else
2701 #if CONFIG_TX64X64
2702       { 1, 160, 160, 170, 180 }, { 1, 200, 200, 210, 220 },
2703 #else
2704       { 1, 160, 160, 170 }, { 1, 200, 200, 210 },
2705 #endif  // CONFIG_TX64X64
2706 #endif  // CONFIG_CHROMA_2X2
2707     };
2708 #endif  // CONFIG_SUPERTX
2709 
2710 // FIXME(someone) need real defaults here
2711 static const aom_prob default_segment_tree_probs[SEG_TREE_PROBS] = {
2712   128, 128, 128, 128, 128, 128, 128
2713 };
2714 // clang-format off
2715 static const aom_prob default_segment_pred_probs[PREDICTION_PROBS] = {
2716   128, 128, 128
2717 };
2718 #if CONFIG_NEW_MULTISYMBOL
2719 static const aom_cdf_prob
2720     default_segment_pred_cdf[PREDICTION_PROBS][CDF_SIZE(2)] = {
2721   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0},
2722   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0},
2723   { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0}
2724 };
2725 #endif
2726 // clang-format on
2727 #if CONFIG_DUAL_FILTER
2728 #if USE_EXTRA_FILTER
2729 static const aom_cdf_prob
2730     default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2731         SWITCHABLE_FILTERS)] = {
2732       { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(31760), AOM_ICDF(32768), 0 },
2733       { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(11050), AOM_ICDF(32768), 0 },
2734       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(31880), AOM_ICDF(32768), 0 },
2735       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(31880), AOM_ICDF(32768), 0 },
2736       { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(28488), AOM_ICDF(32768), 0 },
2737       { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(31760), AOM_ICDF(32768), 0 },
2738       { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(11050), AOM_ICDF(32768), 0 },
2739       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(31880), AOM_ICDF(32768), 0 },
2740       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(31880), AOM_ICDF(32768), 0 },
2741       { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(28488), AOM_ICDF(32768), 0 },
2742       { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(31760), AOM_ICDF(32768), 0 },
2743       { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(11050), AOM_ICDF(32768), 0 },
2744       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(31880), AOM_ICDF(32768), 0 },
2745       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(31880), AOM_ICDF(32768), 0 },
2746       { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(28488), AOM_ICDF(32768), 0 },
2747       { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(31760), AOM_ICDF(32768), 0 },
2748       { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(11050), AOM_ICDF(32768), 0 },
2749       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(31880), AOM_ICDF(32768), 0 },
2750       { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(31880), AOM_ICDF(32768), 0 },
2751       { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(28488), AOM_ICDF(32768), 0 },
2752     };
2753 #else   // USE_EXTRA_FILTER
2754 static const aom_cdf_prob
2755     default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2756         SWITCHABLE_FILTERS)] = {
2757       { AOM_ICDF(32256), AOM_ICDF(32654), AOM_ICDF(32768), 0 },
2758       { AOM_ICDF(2816), AOM_ICDF(32651), AOM_ICDF(32768), 0 },
2759       { AOM_ICDF(512), AOM_ICDF(764), AOM_ICDF(32768), 0 },
2760       { AOM_ICDF(30464), AOM_ICDF(31778), AOM_ICDF(32768), 0 },
2761       { AOM_ICDF(32384), AOM_ICDF(32483), AOM_ICDF(32768), 0 },
2762       { AOM_ICDF(3072), AOM_ICDF(32652), AOM_ICDF(32768), 0 },
2763       { AOM_ICDF(256), AOM_ICDF(383), AOM_ICDF(32768), 0 },
2764       { AOM_ICDF(25344), AOM_ICDF(26533), AOM_ICDF(32768), 0 },
2765       { AOM_ICDF(32000), AOM_ICDF(32531), AOM_ICDF(32768), 0 },
2766       { AOM_ICDF(2048), AOM_ICDF(32648), AOM_ICDF(32768), 0 },
2767       { AOM_ICDF(384), AOM_ICDF(890), AOM_ICDF(32768), 0 },
2768       { AOM_ICDF(28928), AOM_ICDF(31358), AOM_ICDF(32768), 0 },
2769       { AOM_ICDF(31616), AOM_ICDF(31787), AOM_ICDF(32768), 0 },
2770       { AOM_ICDF(4224), AOM_ICDF(32433), AOM_ICDF(32768), 0 },
2771       { AOM_ICDF(128), AOM_ICDF(256), AOM_ICDF(32768), 0 },
2772       { AOM_ICDF(17408), AOM_ICDF(18248), AOM_ICDF(32768), 0 }
2773     };
2774 #endif  // USE_EXTRA_FILTER
2775 #else   // CONFIG_DUAL_FILTER
2776 static const aom_cdf_prob
2777     default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2778         SWITCHABLE_FILTERS)] = {
2779       { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
2780       { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
2781       { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
2782       { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
2783     };
2784 #endif  // CONFIG_DUAL_FILTER
2785 
2786 static const aom_cdf_prob default_seg_tree_cdf[CDF_SIZE(MAX_SEGMENTS)] = {
2787   AOM_ICDF(4096),  AOM_ICDF(8192),  AOM_ICDF(12288),
2788   AOM_ICDF(16384), AOM_ICDF(20480), AOM_ICDF(24576),
2789   AOM_ICDF(28672), AOM_ICDF(32768), 0
2790 };
2791 
2792 static const aom_cdf_prob
2793     default_tx_size_cdf[MAX_TX_DEPTH][TX_SIZE_CONTEXTS][CDF_SIZE(MAX_TX_DEPTH +
2794                                                                  1)] = {
2795       { { AOM_ICDF(12800), AOM_ICDF(32768), 0 },
2796         { AOM_ICDF(8448), AOM_ICDF(32768), 0 } },
2797       { { AOM_ICDF(2560), AOM_ICDF(20496), AOM_ICDF(32768), 0 },
2798         { AOM_ICDF(1920), AOM_ICDF(14091), AOM_ICDF(32768), 0 } },
2799       { { AOM_ICDF(384), AOM_ICDF(17588), AOM_ICDF(19782), AOM_ICDF(32768), 0 },
2800         { AOM_ICDF(640), AOM_ICDF(7166), AOM_ICDF(8466), AOM_ICDF(32768), 0 } },
2801 #if CONFIG_TX64X64
2802       { { AOM_ICDF(128), AOM_ICDF(8288), AOM_ICDF(21293), AOM_ICDF(26986),
2803           AOM_ICDF(32768), 0 },
2804         { AOM_ICDF(128), AOM_ICDF(4208), AOM_ICDF(10009), AOM_ICDF(15965),
2805           AOM_ICDF(32768), 0 } },
2806 #endif
2807     };
2808 
2809 #if CONFIG_SMOOTH_HV
2810 static const aom_cdf_prob
2811     default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2812       {
2813           AOM_ICDF(7168), AOM_ICDF(10680), AOM_ICDF(13913), AOM_ICDF(16928),
2814           AOM_ICDF(20294), AOM_ICDF(22790), AOM_ICDF(24706), AOM_ICDF(26275),
2815           AOM_ICDF(28139), AOM_ICDF(29751), AOM_ICDF(30563), AOM_ICDF(31468),
2816           AOM_ICDF(32768), 0,
2817       },
2818       {
2819           AOM_ICDF(11776), AOM_ICDF(13823), AOM_ICDF(15307), AOM_ICDF(15725),
2820           AOM_ICDF(16638), AOM_ICDF(17406), AOM_ICDF(17994), AOM_ICDF(18814),
2821           AOM_ICDF(19634), AOM_ICDF(21513), AOM_ICDF(22198), AOM_ICDF(22928),
2822           AOM_ICDF(32768), 0,
2823       },
2824       {
2825           AOM_ICDF(14720), AOM_ICDF(16459), AOM_ICDF(18091), AOM_ICDF(18299),
2826           AOM_ICDF(18757), AOM_ICDF(19125), AOM_ICDF(19423), AOM_ICDF(19924),
2827           AOM_ICDF(20504), AOM_ICDF(22922), AOM_ICDF(24063), AOM_ICDF(25577),
2828           AOM_ICDF(32768), 0,
2829       },
2830       {
2831           AOM_ICDF(18944), AOM_ICDF(19925), AOM_ICDF(20908), AOM_ICDF(20998),
2832           AOM_ICDF(21017), AOM_ICDF(21072), AOM_ICDF(21084), AOM_ICDF(21121),
2833           AOM_ICDF(21159), AOM_ICDF(22064), AOM_ICDF(22820), AOM_ICDF(24290),
2834           AOM_ICDF(32768), 0,
2835       },
2836     };
2837 
2838 #if CONFIG_CFL
2839 static const aom_cdf_prob
2840     default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
2841       { AOM_ICDF(18377), AOM_ICDF(18815), AOM_ICDF(19743), AOM_ICDF(20178),
2842         AOM_ICDF(20560), AOM_ICDF(20889), AOM_ICDF(21359), AOM_ICDF(22098),
2843         AOM_ICDF(22481), AOM_ICDF(24563), AOM_ICDF(25781), AOM_ICDF(26662),
2844         AOM_ICDF(28396), AOM_ICDF(32768), 0 },
2845       { AOM_ICDF(5350), AOM_ICDF(16837), AOM_ICDF(17066), AOM_ICDF(17360),
2846         AOM_ICDF(17692), AOM_ICDF(18778), AOM_ICDF(18969), AOM_ICDF(19206),
2847         AOM_ICDF(20291), AOM_ICDF(22367), AOM_ICDF(23212), AOM_ICDF(24670),
2848         AOM_ICDF(27912), AOM_ICDF(32768), 0 },
2849       { AOM_ICDF(6671), AOM_ICDF(6759), AOM_ICDF(17812), AOM_ICDF(17998),
2850         AOM_ICDF(18260), AOM_ICDF(18384), AOM_ICDF(19408), AOM_ICDF(20667),
2851         AOM_ICDF(20806), AOM_ICDF(22760), AOM_ICDF(24142), AOM_ICDF(24875),
2852         AOM_ICDF(28072), AOM_ICDF(32768), 0 },
2853       { AOM_ICDF(7461), AOM_ICDF(8082), AOM_ICDF(8515), AOM_ICDF(15013),
2854         AOM_ICDF(15583), AOM_ICDF(16098), AOM_ICDF(16522), AOM_ICDF(18519),
2855         AOM_ICDF(20348), AOM_ICDF(22954), AOM_ICDF(24130), AOM_ICDF(25342),
2856         AOM_ICDF(26548), AOM_ICDF(32768), 0 },
2857       { AOM_ICDF(3694), AOM_ICDF(4403), AOM_ICDF(5370), AOM_ICDF(5854),
2858         AOM_ICDF(17841), AOM_ICDF(19639), AOM_ICDF(21625), AOM_ICDF(22224),
2859         AOM_ICDF(22651), AOM_ICDF(24613), AOM_ICDF(25399), AOM_ICDF(26143),
2860         AOM_ICDF(26599), AOM_ICDF(32768), 0 },
2861       { AOM_ICDF(3700), AOM_ICDF(5651), AOM_ICDF(6112), AOM_ICDF(6541),
2862         AOM_ICDF(8929), AOM_ICDF(20623), AOM_ICDF(21213), AOM_ICDF(21640),
2863         AOM_ICDF(22214), AOM_ICDF(24306), AOM_ICDF(25412), AOM_ICDF(26406),
2864         AOM_ICDF(27249), AOM_ICDF(32768), 0 },
2865       { AOM_ICDF(4649), AOM_ICDF(4947), AOM_ICDF(7128), AOM_ICDF(7432),
2866         AOM_ICDF(9439), AOM_ICDF(9903), AOM_ICDF(21163), AOM_ICDF(21774),
2867         AOM_ICDF(22056), AOM_ICDF(24426), AOM_ICDF(25403), AOM_ICDF(26324),
2868         AOM_ICDF(27128), AOM_ICDF(32768), 0 },
2869       { AOM_ICDF(7208), AOM_ICDF(7375), AOM_ICDF(8779), AOM_ICDF(9683),
2870         AOM_ICDF(10072), AOM_ICDF(10284), AOM_ICDF(10796), AOM_ICDF(19786),
2871         AOM_ICDF(20152), AOM_ICDF(22955), AOM_ICDF(24246), AOM_ICDF(25165),
2872         AOM_ICDF(26589), AOM_ICDF(32768), 0 },
2873       { AOM_ICDF(5897), AOM_ICDF(7283), AOM_ICDF(7555), AOM_ICDF(8910),
2874         AOM_ICDF(9391), AOM_ICDF(9937), AOM_ICDF(10276), AOM_ICDF(11044),
2875         AOM_ICDF(19841), AOM_ICDF(22620), AOM_ICDF(23784), AOM_ICDF(25060),
2876         AOM_ICDF(26418), AOM_ICDF(32768), 0 },
2877       { AOM_ICDF(12171), AOM_ICDF(12718), AOM_ICDF(13885), AOM_ICDF(14348),
2878         AOM_ICDF(14925), AOM_ICDF(15394), AOM_ICDF(16108), AOM_ICDF(17075),
2879         AOM_ICDF(17583), AOM_ICDF(21996), AOM_ICDF(23614), AOM_ICDF(25048),
2880         AOM_ICDF(27011), AOM_ICDF(32768), 0 },
2881       { AOM_ICDF(10192), AOM_ICDF(11222), AOM_ICDF(12318), AOM_ICDF(12877),
2882         AOM_ICDF(13533), AOM_ICDF(14184), AOM_ICDF(14866), AOM_ICDF(15879),
2883         AOM_ICDF(16650), AOM_ICDF(20419), AOM_ICDF(23265), AOM_ICDF(24295),
2884         AOM_ICDF(26596), AOM_ICDF(32768), 0 },
2885       { AOM_ICDF(10776), AOM_ICDF(11387), AOM_ICDF(12899), AOM_ICDF(13471),
2886         AOM_ICDF(14088), AOM_ICDF(14575), AOM_ICDF(15366), AOM_ICDF(16456),
2887         AOM_ICDF(17040), AOM_ICDF(20815), AOM_ICDF(22009), AOM_ICDF(24448),
2888         AOM_ICDF(26492), AOM_ICDF(32768), 0 },
2889       { AOM_ICDF(4015), AOM_ICDF(6473), AOM_ICDF(9853), AOM_ICDF(10285),
2890         AOM_ICDF(10655), AOM_ICDF(11032), AOM_ICDF(11431), AOM_ICDF(12199),
2891         AOM_ICDF(12738), AOM_ICDF(14760), AOM_ICDF(16121), AOM_ICDF(17263),
2892         AOM_ICDF(28612), AOM_ICDF(32768), 0 },
2893     };
2894 #else
2895 static const aom_cdf_prob
2896     default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
2897       {
2898           AOM_ICDF(23552), AOM_ICDF(25936), AOM_ICDF(28623), AOM_ICDF(29033),
2899           AOM_ICDF(29395), AOM_ICDF(29892), AOM_ICDF(30252), AOM_ICDF(30905),
2900           AOM_ICDF(31370), AOM_ICDF(31980), AOM_ICDF(32293), AOM_ICDF(32660),
2901           AOM_ICDF(32768), 0,
2902       },
2903       {
2904           AOM_ICDF(2944), AOM_ICDF(26431), AOM_ICDF(27553), AOM_ICDF(27746),
2905           AOM_ICDF(28022), AOM_ICDF(29080), AOM_ICDF(29204), AOM_ICDF(29377),
2906           AOM_ICDF(30264), AOM_ICDF(31206), AOM_ICDF(31613), AOM_ICDF(32418),
2907           AOM_ICDF(32768), 0,
2908       },
2909       {
2910           AOM_ICDF(4352), AOM_ICDF(5120), AOM_ICDF(27952), AOM_ICDF(28117),
2911           AOM_ICDF(28473), AOM_ICDF(28759), AOM_ICDF(29563), AOM_ICDF(30864),
2912           AOM_ICDF(31051), AOM_ICDF(31694), AOM_ICDF(32073), AOM_ICDF(32435),
2913           AOM_ICDF(32768), 0,
2914       },
2915       {
2916           AOM_ICDF(17664), AOM_ICDF(20288), AOM_ICDF(21839), AOM_ICDF(26072),
2917           AOM_ICDF(26420), AOM_ICDF(26972), AOM_ICDF(27240), AOM_ICDF(28565),
2918           AOM_ICDF(30914), AOM_ICDF(31694), AOM_ICDF(32083), AOM_ICDF(32591),
2919           AOM_ICDF(32768), 0,
2920       },
2921       {
2922           AOM_ICDF(16640), AOM_ICDF(18390), AOM_ICDF(20233), AOM_ICDF(20557),
2923           AOM_ICDF(25162), AOM_ICDF(27789), AOM_ICDF(29397), AOM_ICDF(29895),
2924           AOM_ICDF(30369), AOM_ICDF(31497), AOM_ICDF(32025), AOM_ICDF(32642),
2925           AOM_ICDF(32768), 0,
2926       },
2927       {
2928           AOM_ICDF(13952), AOM_ICDF(17947), AOM_ICDF(18918), AOM_ICDF(19206),
2929           AOM_ICDF(21131), AOM_ICDF(30668), AOM_ICDF(31061), AOM_ICDF(31317),
2930           AOM_ICDF(31838), AOM_ICDF(32137), AOM_ICDF(32342), AOM_ICDF(32547),
2931           AOM_ICDF(32768), 0,
2932       },
2933       {
2934           AOM_ICDF(15872), AOM_ICDF(16990), AOM_ICDF(21479), AOM_ICDF(21732),
2935           AOM_ICDF(24134), AOM_ICDF(24854), AOM_ICDF(30296), AOM_ICDF(30887),
2936           AOM_ICDF(31163), AOM_ICDF(31902), AOM_ICDF(32218), AOM_ICDF(32702),
2937           AOM_ICDF(32768), 0,
2938       },
2939       {
2940           AOM_ICDF(16256), AOM_ICDF(17280), AOM_ICDF(23081), AOM_ICDF(24039),
2941           AOM_ICDF(24457), AOM_ICDF(24838), AOM_ICDF(25346), AOM_ICDF(30329),
2942           AOM_ICDF(30908), AOM_ICDF(31746), AOM_ICDF(32206), AOM_ICDF(32639),
2943           AOM_ICDF(32768), 0,
2944       },
2945       {
2946           AOM_ICDF(14720), AOM_ICDF(19249), AOM_ICDF(20501), AOM_ICDF(22079),
2947           AOM_ICDF(22439), AOM_ICDF(23218), AOM_ICDF(23463), AOM_ICDF(24107),
2948           AOM_ICDF(30308), AOM_ICDF(31379), AOM_ICDF(31866), AOM_ICDF(32556),
2949           AOM_ICDF(32768), 0,
2950       },
2951       {
2952           AOM_ICDF(16768), AOM_ICDF(19967), AOM_ICDF(22374), AOM_ICDF(22976),
2953           AOM_ICDF(23836), AOM_ICDF(24050), AOM_ICDF(24642), AOM_ICDF(25760),
2954           AOM_ICDF(26653), AOM_ICDF(29585), AOM_ICDF(30937), AOM_ICDF(32518),
2955           AOM_ICDF(32768), 0,
2956       },
2957       {
2958           AOM_ICDF(16768), AOM_ICDF(20751), AOM_ICDF(23026), AOM_ICDF(23591),
2959           AOM_ICDF(24299), AOM_ICDF(24516), AOM_ICDF(24981), AOM_ICDF(25876),
2960           AOM_ICDF(26806), AOM_ICDF(29520), AOM_ICDF(31286), AOM_ICDF(32455),
2961           AOM_ICDF(32768), 0,
2962       },
2963       {
2964           AOM_ICDF(17536), AOM_ICDF(20055), AOM_ICDF(22965), AOM_ICDF(23507),
2965           AOM_ICDF(24210), AOM_ICDF(24398), AOM_ICDF(25098), AOM_ICDF(26366),
2966           AOM_ICDF(27033), AOM_ICDF(29674), AOM_ICDF(30689), AOM_ICDF(32530),
2967           AOM_ICDF(32768), 0,
2968       },
2969       {
2970           AOM_ICDF(17536), AOM_ICDF(22753), AOM_ICDF(27126), AOM_ICDF(27353),
2971           AOM_ICDF(27571), AOM_ICDF(28139), AOM_ICDF(28505), AOM_ICDF(29198),
2972           AOM_ICDF(29886), AOM_ICDF(30801), AOM_ICDF(31335), AOM_ICDF(32054),
2973           AOM_ICDF(32768), 0,
2974       },
2975     };
2976 #endif  // CONFIG_CFL
2977 #else   // !CONFIG_SMOOTH_HV
2978 static const aom_cdf_prob
2979     default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2980       {
2981           AOM_ICDF(11264), AOM_ICDF(14965), AOM_ICDF(19742), AOM_ICDF(21904),
2982           AOM_ICDF(24115), AOM_ICDF(25678), AOM_ICDF(27210), AOM_ICDF(28705),
2983           AOM_ICDF(29782), AOM_ICDF(31424), AOM_ICDF(32768), 0,
2984       },
2985       {
2986           AOM_ICDF(9600), AOM_ICDF(13747), AOM_ICDF(18569), AOM_ICDF(20091),
2987           AOM_ICDF(21925), AOM_ICDF(23082), AOM_ICDF(24404), AOM_ICDF(26285),
2988           AOM_ICDF(27574), AOM_ICDF(30415), AOM_ICDF(32768), 0,
2989       },
2990       {
2991           AOM_ICDF(9344), AOM_ICDF(14319), AOM_ICDF(19567), AOM_ICDF(20476),
2992           AOM_ICDF(21791), AOM_ICDF(22529), AOM_ICDF(23393), AOM_ICDF(24881),
2993           AOM_ICDF(26012), AOM_ICDF(30572), AOM_ICDF(32768), 0,
2994       },
2995       {
2996           AOM_ICDF(12288), AOM_ICDF(15866), AOM_ICDF(21186), AOM_ICDF(21722),
2997           AOM_ICDF(22209), AOM_ICDF(22564), AOM_ICDF(22966), AOM_ICDF(24025),
2998           AOM_ICDF(24716), AOM_ICDF(30608), AOM_ICDF(32768), 0,
2999       },
3000     };
3001 
3002 static const aom_cdf_prob
3003     default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
3004       {
3005           AOM_ICDF(25472), AOM_ICDF(27697), AOM_ICDF(30693), AOM_ICDF(30916),
3006           AOM_ICDF(31125), AOM_ICDF(31406), AOM_ICDF(31679), AOM_ICDF(32085),
3007           AOM_ICDF(32334), AOM_ICDF(32682), AOM_ICDF(32768), 0,
3008       },
3009       {
3010           AOM_ICDF(2176), AOM_ICDF(28142), AOM_ICDF(29335), AOM_ICDF(29504),
3011           AOM_ICDF(29762), AOM_ICDF(30642), AOM_ICDF(30741), AOM_ICDF(30902),
3012           AOM_ICDF(31683), AOM_ICDF(32529), AOM_ICDF(32768), 0,
3013       },
3014       {
3015           AOM_ICDF(3328), AOM_ICDF(3901), AOM_ICDF(30984), AOM_ICDF(31068),
3016           AOM_ICDF(31241), AOM_ICDF(31389), AOM_ICDF(31697), AOM_ICDF(32379),
3017           AOM_ICDF(32483), AOM_ICDF(32653), AOM_ICDF(32768), 0,
3018       },
3019       {
3020           AOM_ICDF(23424), AOM_ICDF(25805), AOM_ICDF(27721), AOM_ICDF(29432),
3021           AOM_ICDF(29659), AOM_ICDF(30032), AOM_ICDF(30282), AOM_ICDF(31192),
3022           AOM_ICDF(32259), AOM_ICDF(32658), AOM_ICDF(32768), 0,
3023       },
3024       {
3025           AOM_ICDF(22784), AOM_ICDF(24177), AOM_ICDF(26209), AOM_ICDF(26476),
3026           AOM_ICDF(28679), AOM_ICDF(29698), AOM_ICDF(30786), AOM_ICDF(31257),
3027           AOM_ICDF(31596), AOM_ICDF(32690), AOM_ICDF(32768), 0,
3028       },
3029       {
3030           AOM_ICDF(19712), AOM_ICDF(22988), AOM_ICDF(24275), AOM_ICDF(24520),
3031           AOM_ICDF(25823), AOM_ICDF(31469), AOM_ICDF(31880), AOM_ICDF(32189),
3032           AOM_ICDF(32614), AOM_ICDF(32615), AOM_ICDF(32768), 0,
3033       },
3034       {
3035           AOM_ICDF(21376), AOM_ICDF(22085), AOM_ICDF(27643), AOM_ICDF(27799),
3036           AOM_ICDF(28596), AOM_ICDF(28890), AOM_ICDF(31767), AOM_ICDF(32255),
3037           AOM_ICDF(32405), AOM_ICDF(32723), AOM_ICDF(32768), 0,
3038       },
3039       {
3040           AOM_ICDF(19712), AOM_ICDF(20623), AOM_ICDF(28408), AOM_ICDF(28766),
3041           AOM_ICDF(29070), AOM_ICDF(29355), AOM_ICDF(29759), AOM_ICDF(32034),
3042           AOM_ICDF(32306), AOM_ICDF(32666), AOM_ICDF(32768), 0,
3043       },
3044       {
3045           AOM_ICDF(19584), AOM_ICDF(23437), AOM_ICDF(25295), AOM_ICDF(26200),
3046           AOM_ICDF(26612), AOM_ICDF(27372), AOM_ICDF(27704), AOM_ICDF(28319),
3047           AOM_ICDF(31664), AOM_ICDF(32562), AOM_ICDF(32768), 0,
3048       },
3049       {
3050           AOM_ICDF(20864), AOM_ICDF(23989), AOM_ICDF(26168), AOM_ICDF(26591),
3051           AOM_ICDF(27345), AOM_ICDF(27348), AOM_ICDF(27809), AOM_ICDF(28575),
3052           AOM_ICDF(29132), AOM_ICDF(32628), AOM_ICDF(32768), 0,
3053       },
3054       {
3055           AOM_ICDF(23680), AOM_ICDF(27582), AOM_ICDF(30197), AOM_ICDF(30312),
3056           AOM_ICDF(30464), AOM_ICDF(30995), AOM_ICDF(31208), AOM_ICDF(31574),
3057           AOM_ICDF(31985), AOM_ICDF(32519), AOM_ICDF(32768), 0,
3058       },
3059     };
3060 #endif  // CONFIG_SMOOTH_HV
3061 
3062 #if CONFIG_EXT_PARTITION_TYPES
3063 static const aom_cdf_prob
3064     default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(EXT_PARTITION_TYPES)] = {
3065       // 8x8 -> 4x4 only supports the four legacy partition types
3066       { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0,
3067         0, 0, 0, 0, 0, 0 },
3068       { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0,
3069         0, 0, 0, 0, 0, 0 },
3070       { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0,
3071         0, 0, 0, 0, 0, 0 },
3072       { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0,
3073         0, 0, 0, 0, 0, 0 },
3074       // 16x16 -> 8x8
3075       { AOM_ICDF(22272), AOM_ICDF(23768), AOM_ICDF(25043), AOM_ICDF(29996),
3076         AOM_ICDF(30495), AOM_ICDF(30994), AOM_ICDF(31419), AOM_ICDF(31844),
3077         AOM_ICDF(32343), AOM_ICDF(32768), 0 },
3078       { AOM_ICDF(11776), AOM_ICDF(13457), AOM_ICDF(16315), AOM_ICDF(28229),
3079         AOM_ICDF(28789), AOM_ICDF(29349), AOM_ICDF(30302), AOM_ICDF(31255),
3080         AOM_ICDF(31816), AOM_ICDF(32768), 0 },
3081       { AOM_ICDF(10496), AOM_ICDF(14802), AOM_ICDF(16136), AOM_ICDF(27127),
3082         AOM_ICDF(28563), AOM_ICDF(29999), AOM_ICDF(30444), AOM_ICDF(30889),
3083         AOM_ICDF(32324), AOM_ICDF(32768), 0 },
3084       { AOM_ICDF(6784), AOM_ICDF(8763), AOM_ICDF(10440), AOM_ICDF(29110),
3085         AOM_ICDF(29770), AOM_ICDF(30430), AOM_ICDF(30989), AOM_ICDF(31548),
3086         AOM_ICDF(32208), AOM_ICDF(32768), 0 },
3087       // 32x32 -> 16x16
3088       { AOM_ICDF(22656), AOM_ICDF(23801), AOM_ICDF(24702), AOM_ICDF(30721),
3089         AOM_ICDF(31103), AOM_ICDF(31485), AOM_ICDF(31785), AOM_ICDF(32085),
3090         AOM_ICDF(32467), AOM_ICDF(32768), 0 },
3091       { AOM_ICDF(8704), AOM_ICDF(9926), AOM_ICDF(12586), AOM_ICDF(28885),
3092         AOM_ICDF(29292), AOM_ICDF(29699), AOM_ICDF(30586), AOM_ICDF(31473),
3093         AOM_ICDF(31881), AOM_ICDF(32768), 0 },
3094       { AOM_ICDF(6656), AOM_ICDF(10685), AOM_ICDF(11566), AOM_ICDF(27857),
3095         AOM_ICDF(29200), AOM_ICDF(30543), AOM_ICDF(30837), AOM_ICDF(31131),
3096         AOM_ICDF(32474), AOM_ICDF(32768), 0 },
3097       { AOM_ICDF(2176), AOM_ICDF(3012), AOM_ICDF(3690), AOM_ICDF(31253),
3098         AOM_ICDF(31532), AOM_ICDF(31811), AOM_ICDF(32037), AOM_ICDF(32263),
3099         AOM_ICDF(32542), AOM_ICDF(32768), 0 },
3100       // 64x64 -> 32x32
3101       { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
3102         AOM_ICDF(32354), AOM_ICDF(32450), AOM_ICDF(32523), AOM_ICDF(32596),
3103         AOM_ICDF(32693), AOM_ICDF(32768), 0 },
3104       { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
3105         AOM_ICDF(30379), AOM_ICDF(30624), AOM_ICDF(31256), AOM_ICDF(31888),
3106         AOM_ICDF(32134), AOM_ICDF(32768), 0 },
3107       { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
3108         AOM_ICDF(31192), AOM_ICDF(31720), AOM_ICDF(31893), AOM_ICDF(32066),
3109         AOM_ICDF(32594), AOM_ICDF(32768), 0 },
3110       { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
3111         AOM_ICDF(32121), AOM_ICDF(32264), AOM_ICDF(32383), AOM_ICDF(32502),
3112         AOM_ICDF(32647), AOM_ICDF(32768), 0 },
3113 #if CONFIG_EXT_PARTITION
3114       // 128x128 -> 64x64
3115       { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
3116         AOM_ICDF(32354), AOM_ICDF(32450), AOM_ICDF(32523), AOM_ICDF(32596),
3117         AOM_ICDF(32693), AOM_ICDF(32768), 0 },
3118       { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
3119         AOM_ICDF(30379), AOM_ICDF(30624), AOM_ICDF(31256), AOM_ICDF(31888),
3120         AOM_ICDF(32134), AOM_ICDF(32768), 0 },
3121       { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
3122         AOM_ICDF(31192), AOM_ICDF(31720), AOM_ICDF(31893), AOM_ICDF(32066),
3123         AOM_ICDF(32594), AOM_ICDF(32768), 0 },
3124       { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
3125         AOM_ICDF(32121), AOM_ICDF(32264), AOM_ICDF(32383), AOM_ICDF(32502),
3126         AOM_ICDF(32647), AOM_ICDF(32768), 0 },
3127 #endif
3128     };
3129 #else
3130 static const aom_cdf_prob
3131     default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(PARTITION_TYPES)] = {
3132       { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0 },
3133       { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0 },
3134       { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0 },
3135       { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0 },
3136       { AOM_ICDF(22272), AOM_ICDF(25265), AOM_ICDF(27815), AOM_ICDF(32768), 0 },
3137       { AOM_ICDF(11776), AOM_ICDF(15138), AOM_ICDF(20854), AOM_ICDF(32768), 0 },
3138       { AOM_ICDF(10496), AOM_ICDF(19109), AOM_ICDF(21777), AOM_ICDF(32768), 0 },
3139       { AOM_ICDF(6784), AOM_ICDF(10743), AOM_ICDF(14098), AOM_ICDF(32768), 0 },
3140       { AOM_ICDF(22656), AOM_ICDF(24947), AOM_ICDF(26749), AOM_ICDF(32768), 0 },
3141       { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(16469), AOM_ICDF(32768), 0 },
3142       { AOM_ICDF(6656), AOM_ICDF(14714), AOM_ICDF(16477), AOM_ICDF(32768), 0 },
3143       { AOM_ICDF(2176), AOM_ICDF(3849), AOM_ICDF(5205), AOM_ICDF(32768), 0 },
3144       { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
3145       { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
3146       { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
3147       { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
3148 #if CONFIG_EXT_PARTITION
3149       { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
3150       { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
3151       { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
3152       { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
3153 #endif
3154     };
3155 #endif
3156 
3157 #if CONFIG_EXT_TX
3158 static const aom_cdf_prob default_intra_ext_tx_cdf
3159     [EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES][CDF_SIZE(TX_TYPES)] = {
3160       {
3161 // FIXME: unused zero positions, from uncoded trivial transform set
3162 #if CONFIG_CHROMA_2X2
3163           {
3164               { 0 },
3165           },
3166 #endif
3167           {
3168               { 0 },
3169               { 0 },
3170               { 0 },
3171               { 0 },
3172               { 0 },
3173               { 0 },
3174               { 0 },
3175               { 0 },
3176               { 0 },
3177               { 0 },
3178 #if CONFIG_SMOOTH_HV
3179               { 0 },
3180               { 0 },
3181 #endif  // CONFIG_SMOOTH_HV
3182               { 0 },
3183           },
3184           {
3185               { 0 },
3186               { 0 },
3187               { 0 },
3188               { 0 },
3189               { 0 },
3190               { 0 },
3191               { 0 },
3192               { 0 },
3193               { 0 },
3194               { 0 },
3195 #if CONFIG_SMOOTH_HV
3196               { 0 },
3197               { 0 },
3198 #endif  // CONFIG_SMOOTH_HV
3199               { 0 },
3200           },
3201           {
3202               { 0 },
3203               { 0 },
3204               { 0 },
3205               { 0 },
3206               { 0 },
3207               { 0 },
3208               { 0 },
3209               { 0 },
3210               { 0 },
3211               { 0 },
3212 #if CONFIG_SMOOTH_HV
3213               { 0 },
3214               { 0 },
3215 #endif  // CONFIG_SMOOTH_HV
3216               { 0 },
3217           },
3218           {
3219               { 0 },
3220               { 0 },
3221               { 0 },
3222               { 0 },
3223               { 0 },
3224               { 0 },
3225               { 0 },
3226               { 0 },
3227               { 0 },
3228               { 0 },
3229 #if CONFIG_SMOOTH_HV
3230               { 0 },
3231               { 0 },
3232 #endif  // CONFIG_SMOOTH_HV
3233               { 0 },
3234           },
3235       },
3236       {
3237           {
3238               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3239                 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3240                 AOM_ICDF(32768), 0 },
3241               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3242                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3243               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3244                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3245               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3246                 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3247                 AOM_ICDF(32768), 0 },
3248               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3249                 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3250               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3251                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3252               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3253                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3254               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3255                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3256               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3257                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3258               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3259                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3260 #if CONFIG_SMOOTH_HV
3261               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3262                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3263               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3264                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3265 #endif  // CONFIG_SMOOTH_HV
3266               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3267                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3268           },
3269           {
3270               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3271                 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3272                 AOM_ICDF(32768), 0 },
3273               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3274                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3275               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3276                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3277               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3278                 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3279                 AOM_ICDF(32768), 0 },
3280               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3281                 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3282               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3283                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3284               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3285                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3286               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3287                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3288               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3289                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3290               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3291                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3292 #if CONFIG_SMOOTH_HV
3293               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3294                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3295               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3296                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3297 #endif  // CONFIG_SMOOTH_HV
3298               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3299                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3300           },
3301           {
3302               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3303                 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3304                 AOM_ICDF(32768), 0 },
3305               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3306                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3307               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3308                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3309               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3310                 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3311                 AOM_ICDF(32768), 0 },
3312               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3313                 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3314               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3315                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3316               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3317                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3318               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3319                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3320               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3321                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3322               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3323                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3324 #if CONFIG_SMOOTH_HV
3325               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3326                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3327               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3328                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3329 #endif  // CONFIG_SMOOTH_HV
3330               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3331                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3332           },
3333           {
3334               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3335                 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3336                 AOM_ICDF(32768), 0 },
3337               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3338                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3339               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3340                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3341               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3342                 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3343                 AOM_ICDF(32768), 0 },
3344               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3345                 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3346               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3347                 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3348               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3349                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3350               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3351                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3352               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3353                 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3354               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3355                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3356 #if CONFIG_SMOOTH_HV
3357               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3358                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3359               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3360                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3361 #endif  // CONFIG_SMOOTH_HV
3362               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3363                 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3364           },
3365       },
3366       {
3367           {
3368               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3369                 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3370               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3371                 AOM_ICDF(32768), 0 },
3372               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3373                 AOM_ICDF(32768), 0 },
3374               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3375                 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3376               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3377                 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
3378               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3379                 AOM_ICDF(32768), 0 },
3380               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3381                 AOM_ICDF(32768), 0 },
3382               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3383                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3384               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3385                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3386               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3387                 AOM_ICDF(32768), 0 },
3388 #if CONFIG_SMOOTH_HV
3389               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3390                 AOM_ICDF(32768), 0 },
3391               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3392                 AOM_ICDF(32768), 0 },
3393 #endif  // CONFIG_SMOOTH_HV
3394               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3395                 AOM_ICDF(32768), 0 },
3396           },
3397           {
3398               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3399                 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3400               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3401                 AOM_ICDF(32768), 0 },
3402               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3403                 AOM_ICDF(32768), 0 },
3404               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3405                 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3406               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3407                 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
3408               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3409                 AOM_ICDF(32768), 0 },
3410               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3411                 AOM_ICDF(32768), 0 },
3412               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3413                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3414               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3415                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3416               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3417                 AOM_ICDF(32768), 0 },
3418 #if CONFIG_SMOOTH_HV
3419               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3420                 AOM_ICDF(32768), 0 },
3421               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3422                 AOM_ICDF(32768), 0 },
3423 #endif  // CONFIG_SMOOTH_HV
3424               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3425                 AOM_ICDF(32768), 0 },
3426           },
3427           {
3428               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3429                 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3430               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3431                 AOM_ICDF(32768), 0 },
3432               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3433                 AOM_ICDF(32768), 0 },
3434               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3435                 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3436               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3437                 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
3438               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3439                 AOM_ICDF(32768), 0 },
3440               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3441                 AOM_ICDF(32768), 0 },
3442               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3443                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3444               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3445                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3446               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3447                 AOM_ICDF(32768), 0 },
3448 #if CONFIG_SMOOTH_HV
3449               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3450                 AOM_ICDF(32768), 0 },
3451               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3452                 AOM_ICDF(32768), 0 },
3453 #endif  // CONFIG_SMOOTH_HV
3454               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3455                 AOM_ICDF(32768), 0 },
3456           },
3457           {
3458               { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3459                 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3460               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3461                 AOM_ICDF(32768), 0 },
3462               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3463                 AOM_ICDF(32768), 0 },
3464               { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3465                 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3466               { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3467                 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
3468               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3469                 AOM_ICDF(32768), 0 },
3470               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3471                 AOM_ICDF(32768), 0 },
3472               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3473                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3474               { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3475                 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3476               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3477                 AOM_ICDF(32768), 0 },
3478 #if CONFIG_SMOOTH_HV
3479               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3480                 AOM_ICDF(32768), 0 },
3481               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3482                 AOM_ICDF(32768), 0 },
3483 #endif  // CONFIG_SMOOTH_HV
3484               { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3485                 AOM_ICDF(32768), 0 },
3486           },
3487       },
3488 #if CONFIG_MRC_TX
3489       {
3490           {
3491               { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3492               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3493               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3494               { AOM_ICDF(1152), AOM_ICDF(32768), 0 },
3495               { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3496               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3497               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3498               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3499               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3500               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3501 #if CONFIG_SMOOTH_HV
3502               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3503               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3504 #endif  // CONFIG_SMOOTH_HV
3505               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3506           },
3507           {
3508               { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3509               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3510               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3511               { AOM_ICDF(1152), AOM_ICDF(32768), 0 },
3512               { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3513               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3514               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3515               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3516               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3517               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3518 #if CONFIG_SMOOTH_HV
3519               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3520               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3521 #endif  // CONFIG_SMOOTH_HV
3522               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3523           },
3524           {
3525               { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3526               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3527               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3528               { AOM_ICDF(1152), AOM_ICDF(32768), 0 },
3529               { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3530               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3531               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3532               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3533               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3534               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3535 #if CONFIG_SMOOTH_HV
3536               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3537               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3538 #endif  // CONFIG_SMOOTH_HV
3539               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3540           },
3541           {
3542               { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3543               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3544               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3545               { AOM_ICDF(1152), AOM_ICDF(32768), 0 },
3546               { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3547               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3548               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3549               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3550               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3551               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3552 #if CONFIG_SMOOTH_HV
3553               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3554               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3555 #endif  // CONFIG_SMOOTH_HV
3556               { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3557           },
3558       }
3559 #endif  // CONFIG_MRC_TX
3560     };
3561 static const aom_cdf_prob
3562     default_inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES][CDF_SIZE(
3563         TX_TYPES)] = {
3564       {
3565 #if CONFIG_CHROMA_2X2
3566           { 0 },
3567 #endif
3568           { 0 },
3569           { 0 },
3570           { 0 },
3571           { 0 } },
3572       {
3573 #if CONFIG_CHROMA_2X2
3574           { 0 },
3575 #endif
3576           { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3577             AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3578             AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3579             AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3580             0 },
3581           { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3582             AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3583             AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3584             AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3585             0 },
3586           { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3587             AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3588             AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3589             AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3590             0 },
3591           { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3592             AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3593             AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3594             AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3595             0 } },
3596       {
3597 #if CONFIG_CHROMA_2X2
3598           { 0 },
3599 #endif
3600           { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3601             AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3602             AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3603             0 },
3604           { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3605             AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3606             AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3607             0 },
3608           { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3609             AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3610             AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3611             0 },
3612           { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3613             AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3614             AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3615             0 } },
3616       {
3617 #if CONFIG_CHROMA_2X2
3618           { 0 },
3619 #endif
3620           { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3621           { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3622           { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3623           { AOM_ICDF(1536), AOM_ICDF(32768), 0 } },
3624 #if CONFIG_MRC_TX
3625       {
3626 #if CONFIG_CHROMA_2X2
3627           { 0 },
3628 #endif
3629           { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
3630           { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
3631           { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
3632           { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 } },
3633 #endif  // CONFIG_MRC_TX
3634     };
3635 #else
3636 #if CONFIG_MRC_TX
3637 static const aom_cdf_prob
3638     default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
3639 #if CONFIG_CHROMA_2X2
3640       { { AOM_ICDF(30720), AOM_ICDF(31104), AOM_ICDF(31400), AOM_ICDF(32084),
3641           AOM_ICDF(32768), 0 },
3642         { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(31764),
3643           AOM_ICDF(32768), 0 },
3644         { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
3645           AOM_ICDF(32768), 0 },
3646         { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
3647           AOM_ICDF(32768), 0 },
3648         { AOM_ICDF(512), AOM_ICDF(1280), AOM_ICDF(31760), AOM_ICDF(32264),
3649           AOM_ICDF(32768), 0 } },
3650 #endif
3651       { { AOM_ICDF(30720), AOM_ICDF(31104), AOM_ICDF(31400), AOM_ICDF(32084),
3652           AOM_ICDF(32768), 0 },
3653         { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(31764),
3654           AOM_ICDF(32768), 0 },
3655         { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
3656           AOM_ICDF(32768), 0 },
3657         { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
3658           AOM_ICDF(32768), 0 },
3659         { AOM_ICDF(512), AOM_ICDF(1280), AOM_ICDF(31760), AOM_ICDF(32264),
3660           AOM_ICDF(32768), 0 } },
3661 
3662       { { AOM_ICDF(31232), AOM_ICDF(31488), AOM_ICDF(31742), AOM_ICDF(32255),
3663           AOM_ICDF(32768), 0 },
3664         { AOM_ICDF(1024), AOM_ICDF(1152), AOM_ICDF(1272), AOM_ICDF(31784),
3665           AOM_ICDF(32768), 0 },
3666         { AOM_ICDF(1024), AOM_ICDF(1152), AOM_ICDF(1272), AOM_ICDF(2256),
3667           AOM_ICDF(32768), 0 },
3668         { AOM_ICDF(1024), AOM_ICDF(1052), AOM_ICDF(1272), AOM_ICDF(2256),
3669           AOM_ICDF(32768), 0 },
3670         { AOM_ICDF(1024), AOM_ICDF(1792), AOM_ICDF(31776), AOM_ICDF(32272),
3671           AOM_ICDF(32768), 0 } },
3672 
3673       { { AOM_ICDF(31744), AOM_ICDF(31940), AOM_ICDF(32084), AOM_ICDF(32426),
3674           AOM_ICDF(32768), 0 },
3675         { AOM_ICDF(2048), AOM_ICDF(2176), AOM_ICDF(2528), AOM_ICDF(31823),
3676           AOM_ICDF(32768), 0 },
3677         { AOM_ICDF(2048), AOM_ICDF(2176), AOM_ICDF(2528), AOM_ICDF(3473),
3678           AOM_ICDF(32768), 0 },
3679         { AOM_ICDF(2048), AOM_ICDF(2176), AOM_ICDF(2528), AOM_ICDF(3473),
3680           AOM_ICDF(32768), 0 },
3681         { AOM_ICDF(2048), AOM_ICDF(28160), AOM_ICDF(31808), AOM_ICDF(32288),
3682           AOM_ICDF(32768), 0 } },
3683     };
3684 
3685 static const aom_cdf_prob
3686     default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
3687 #if CONFIG_CHROMA_2X2
3688       { AOM_ICDF(20480), AOM_ICDF(23040), AOM_ICDF(24560), AOM_ICDF(28664),
3689         AOM_ICDF(32768), 0 },
3690 #endif
3691       { AOM_ICDF(20480), AOM_ICDF(23040), AOM_ICDF(24560), AOM_ICDF(28664),
3692         AOM_ICDF(32768), 0 },
3693       { AOM_ICDF(22528), AOM_ICDF(24320), AOM_ICDF(25928), AOM_ICDF(29348),
3694         AOM_ICDF(32768), 0 },
3695       { AOM_ICDF(24576), AOM_ICDF(25600), AOM_ICDF(27296), AOM_ICDF(30032),
3696         AOM_ICDF(32768), 0 },
3697     };
3698 #else  // CONFIG_MRC_TX
3699 static const aom_cdf_prob
3700     default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
3701 #if CONFIG_CHROMA_2X2
3702       { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
3703           0 },
3704         { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
3705         { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
3706         { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
3707           0 } },
3708 #endif
3709       { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
3710           0 },
3711         { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
3712         { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
3713         { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
3714           0 } },
3715 
3716       { { AOM_ICDF(31232), AOM_ICDF(31742), AOM_ICDF(32255), AOM_ICDF(32768),
3717           0 },
3718         { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(31784), AOM_ICDF(32768), 0 },
3719         { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(2256), AOM_ICDF(32768), 0 },
3720         { AOM_ICDF(1024), AOM_ICDF(31776), AOM_ICDF(32272), AOM_ICDF(32768),
3721           0 } },
3722       { { AOM_ICDF(31744), AOM_ICDF(32084), AOM_ICDF(32426), AOM_ICDF(32768),
3723           0 },
3724         { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(31823), AOM_ICDF(32768), 0 },
3725         { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(3473), AOM_ICDF(32768), 0 },
3726         { AOM_ICDF(2048), AOM_ICDF(31808), AOM_ICDF(32288), AOM_ICDF(32768),
3727           0 } },
3728     };
3729 
3730 static const aom_cdf_prob
3731     default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
3732 #if CONFIG_CHROMA_2X2
3733       { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
3734 #endif
3735       { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
3736       { AOM_ICDF(22528), AOM_ICDF(25928), AOM_ICDF(29348), AOM_ICDF(32768), 0 },
3737       { AOM_ICDF(24576), AOM_ICDF(27296), AOM_ICDF(30032), AOM_ICDF(32768), 0 },
3738     };
3739 #endif  // CONFIG_MRC_TX
3740 #endif  // !CONFIG_EXT_TX
3741 
3742 #if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
3743 static const aom_cdf_prob
3744     default_intra_filter_cdf[INTRA_FILTERS + 1][CDF_SIZE(INTRA_FILTERS)] = {
3745       { AOM_ICDF(12544), AOM_ICDF(17521), AOM_ICDF(21095), AOM_ICDF(32768), 0 },
3746       { AOM_ICDF(12544), AOM_ICDF(19022), AOM_ICDF(23318), AOM_ICDF(32768), 0 },
3747       { AOM_ICDF(12032), AOM_ICDF(17297), AOM_ICDF(23522), AOM_ICDF(32768), 0 },
3748       { AOM_ICDF(6272), AOM_ICDF(8860), AOM_ICDF(11101), AOM_ICDF(32768), 0 },
3749       { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(16629), AOM_ICDF(32768), 0 },
3750     };
3751 #endif  // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
3752 
3753 #if CONFIG_CFL
3754 static const aom_cdf_prob default_cfl_sign_cdf[CDF_SIZE(CFL_JOINT_SIGNS)] = {
3755   AOM_ICDF(1892),  AOM_ICDF(2229),  AOM_ICDF(11464),
3756   AOM_ICDF(14116), AOM_ICDF(25661), AOM_ICDF(26409),
3757   AOM_ICDF(32508), AOM_ICDF(32768), 0
3758 };
3759 
3760 static const aom_cdf_prob
3761     default_cfl_alpha_cdf[CFL_ALPHA_CONTEXTS][CDF_SIZE(CFL_ALPHABET_SIZE)] = {
3762       { AOM_ICDF(16215), AOM_ICDF(27740), AOM_ICDF(31726), AOM_ICDF(32606),
3763         AOM_ICDF(32736), AOM_ICDF(32751), AOM_ICDF(32757), AOM_ICDF(32759),
3764         AOM_ICDF(32761), AOM_ICDF(32762), AOM_ICDF(32763), AOM_ICDF(32764),
3765         AOM_ICDF(32765), AOM_ICDF(32766), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
3766       { AOM_ICDF(15213), AOM_ICDF(24615), AOM_ICDF(29704), AOM_ICDF(31974),
3767         AOM_ICDF(32545), AOM_ICDF(32673), AOM_ICDF(32713), AOM_ICDF(32746),
3768         AOM_ICDF(32753), AOM_ICDF(32756), AOM_ICDF(32758), AOM_ICDF(32761),
3769         AOM_ICDF(32763), AOM_ICDF(32764), AOM_ICDF(32766), AOM_ICDF(32768), 0 },
3770       { AOM_ICDF(13250), AOM_ICDF(24677), AOM_ICDF(29113), AOM_ICDF(31666),
3771         AOM_ICDF(32408), AOM_ICDF(32578), AOM_ICDF(32628), AOM_ICDF(32711),
3772         AOM_ICDF(32730), AOM_ICDF(32738), AOM_ICDF(32744), AOM_ICDF(32749),
3773         AOM_ICDF(32752), AOM_ICDF(32756), AOM_ICDF(32759), AOM_ICDF(32768), 0 },
3774       { AOM_ICDF(24593), AOM_ICDF(30787), AOM_ICDF(32062), AOM_ICDF(32495),
3775         AOM_ICDF(32656), AOM_ICDF(32707), AOM_ICDF(32735), AOM_ICDF(32747),
3776         AOM_ICDF(32752), AOM_ICDF(32757), AOM_ICDF(32760), AOM_ICDF(32763),
3777         AOM_ICDF(32764), AOM_ICDF(32765), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
3778       { AOM_ICDF(19883), AOM_ICDF(27419), AOM_ICDF(30100), AOM_ICDF(31392),
3779         AOM_ICDF(31896), AOM_ICDF(32184), AOM_ICDF(32299), AOM_ICDF(32511),
3780         AOM_ICDF(32568), AOM_ICDF(32602), AOM_ICDF(32628), AOM_ICDF(32664),
3781         AOM_ICDF(32680), AOM_ICDF(32691), AOM_ICDF(32708), AOM_ICDF(32768), 0 },
3782       { AOM_ICDF(15939), AOM_ICDF(24151), AOM_ICDF(27754), AOM_ICDF(29680),
3783         AOM_ICDF(30651), AOM_ICDF(31267), AOM_ICDF(31527), AOM_ICDF(31868),
3784         AOM_ICDF(32001), AOM_ICDF(32090), AOM_ICDF(32181), AOM_ICDF(32284),
3785         AOM_ICDF(32314), AOM_ICDF(32366), AOM_ICDF(32486), AOM_ICDF(32768), 0 }
3786     };
3787 #endif
3788 
3789 #if CONFIG_KF_CTX
3790 // TODO(jingning): This initial models are copied directly from the entries
3791 // from the original table. The copied indexes are (0, 0), (0, 1), .. (4, 4).
3792 // It is possible to re-train this model and bring back the 0.14% loss in CIF
3793 // set key frame coding. This reduction in context model does not change the
3794 // key frame coding stats for mid and high resolution sets.
3795 const aom_cdf_prob
3796     default_kf_y_mode_cdf[KF_MODE_CONTEXTS][KF_MODE_CONTEXTS][CDF_SIZE(
3797         INTRA_MODES)] = {
3798       {
3799           {
3800               AOM_ICDF(14208), AOM_ICDF(17049), AOM_ICDF(20482),
3801               AOM_ICDF(21400), AOM_ICDF(22520), AOM_ICDF(23261),
3802               AOM_ICDF(23963), AOM_ICDF(25010), AOM_ICDF(25828),
3803               AOM_ICDF(28398), AOM_ICDF(29394), AOM_ICDF(30738),
3804               AOM_ICDF(32768), 0,
3805           },
3806           {
3807               AOM_ICDF(10496), AOM_ICDF(18295), AOM_ICDF(19872),
3808               AOM_ICDF(20945), AOM_ICDF(21933), AOM_ICDF(22818),
3809               AOM_ICDF(23334), AOM_ICDF(24033), AOM_ICDF(24996),
3810               AOM_ICDF(27652), AOM_ICDF(29060), AOM_ICDF(30071),
3811               AOM_ICDF(32768), 0,
3812           },
3813           {
3814               AOM_ICDF(5120), AOM_ICDF(6461), AOM_ICDF(19840), AOM_ICDF(20310),
3815               AOM_ICDF(21151), AOM_ICDF(21506), AOM_ICDF(22535),
3816               AOM_ICDF(23900), AOM_ICDF(24281), AOM_ICDF(26958),
3817               AOM_ICDF(27680), AOM_ICDF(29636), AOM_ICDF(32768), 0,
3818           },
3819           {
3820               AOM_ICDF(12544), AOM_ICDF(15177), AOM_ICDF(17666),
3821               AOM_ICDF(19855), AOM_ICDF(21147), AOM_ICDF(22017),
3822               AOM_ICDF(22797), AOM_ICDF(24514), AOM_ICDF(25779),
3823               AOM_ICDF(28716), AOM_ICDF(29772), AOM_ICDF(31267),
3824               AOM_ICDF(32768), 0,
3825           },
3826           {
3827               AOM_ICDF(7552), AOM_ICDF(9909), AOM_ICDF(11908), AOM_ICDF(13141),
3828               AOM_ICDF(18765), AOM_ICDF(22029), AOM_ICDF(23872),
3829               AOM_ICDF(24920), AOM_ICDF(25674), AOM_ICDF(29031),
3830               AOM_ICDF(30244), AOM_ICDF(31684), AOM_ICDF(32768), 0,
3831           },
3832       },
3833       {
3834           {
3835               AOM_ICDF(3968), AOM_ICDF(17613), AOM_ICDF(19125), AOM_ICDF(19550),
3836               AOM_ICDF(20305), AOM_ICDF(21908), AOM_ICDF(22274),
3837               AOM_ICDF(22719), AOM_ICDF(23959), AOM_ICDF(26970),
3838               AOM_ICDF(29013), AOM_ICDF(29843), AOM_ICDF(32768), 0,
3839           },
3840           {
3841               AOM_ICDF(3072), AOM_ICDF(21231), AOM_ICDF(21863), AOM_ICDF(22306),
3842               AOM_ICDF(22674), AOM_ICDF(23414), AOM_ICDF(23517),
3843               AOM_ICDF(23798), AOM_ICDF(24770), AOM_ICDF(27032),
3844               AOM_ICDF(29016), AOM_ICDF(29636), AOM_ICDF(32768), 0,
3845           },
3846           {
3847               AOM_ICDF(2560), AOM_ICDF(9825), AOM_ICDF(15681), AOM_ICDF(16370),
3848               AOM_ICDF(17054), AOM_ICDF(17687), AOM_ICDF(18236),
3849               AOM_ICDF(19273), AOM_ICDF(20311), AOM_ICDF(24863),
3850               AOM_ICDF(26825), AOM_ICDF(28756), AOM_ICDF(32768), 0,
3851           },
3852           {
3853               AOM_ICDF(6912), AOM_ICDF(15140), AOM_ICDF(16485), AOM_ICDF(18364),
3854               AOM_ICDF(19181), AOM_ICDF(20394), AOM_ICDF(20663),
3855               AOM_ICDF(22098), AOM_ICDF(23936), AOM_ICDF(27555),
3856               AOM_ICDF(29704), AOM_ICDF(30849), AOM_ICDF(32768), 0,
3857           },
3858           {
3859               AOM_ICDF(2944), AOM_ICDF(13101), AOM_ICDF(14006), AOM_ICDF(14974),
3860               AOM_ICDF(17818), AOM_ICDF(21093), AOM_ICDF(21930),
3861               AOM_ICDF(22566), AOM_ICDF(24137), AOM_ICDF(27732),
3862               AOM_ICDF(29814), AOM_ICDF(30904), AOM_ICDF(32768), 0,
3863           },
3864       },
3865       {
3866           {
3867               AOM_ICDF(11392), AOM_ICDF(12961), AOM_ICDF(20901),
3868               AOM_ICDF(21544), AOM_ICDF(22490), AOM_ICDF(22928),
3869               AOM_ICDF(23888), AOM_ICDF(25214), AOM_ICDF(25777),
3870               AOM_ICDF(28256), AOM_ICDF(29102), AOM_ICDF(30513),
3871               AOM_ICDF(32768), 0,
3872           },
3873           {
3874               AOM_ICDF(8064), AOM_ICDF(13595), AOM_ICDF(18888), AOM_ICDF(19616),
3875               AOM_ICDF(20765), AOM_ICDF(21454), AOM_ICDF(21990),
3876               AOM_ICDF(23103), AOM_ICDF(23980), AOM_ICDF(26772),
3877               AOM_ICDF(28070), AOM_ICDF(29197), AOM_ICDF(32768), 0,
3878           },
3879           {
3880               AOM_ICDF(4352), AOM_ICDF(5059), AOM_ICDF(21705), AOM_ICDF(22099),
3881               AOM_ICDF(22703), AOM_ICDF(22846), AOM_ICDF(23679),
3882               AOM_ICDF(25469), AOM_ICDF(25728), AOM_ICDF(27919),
3883               AOM_ICDF(28484), AOM_ICDF(30215), AOM_ICDF(32768), 0,
3884           },
3885           {
3886               AOM_ICDF(10752), AOM_ICDF(12277), AOM_ICDF(16471),
3887               AOM_ICDF(18276), AOM_ICDF(19443), AOM_ICDF(19917),
3888               AOM_ICDF(21158), AOM_ICDF(23881), AOM_ICDF(24892),
3889               AOM_ICDF(27709), AOM_ICDF(28771), AOM_ICDF(30274),
3890               AOM_ICDF(32768), 0,
3891           },
3892           {
3893               AOM_ICDF(8320), AOM_ICDF(10000), AOM_ICDF(14147), AOM_ICDF(15330),
3894               AOM_ICDF(19197), AOM_ICDF(20923), AOM_ICDF(22954),
3895               AOM_ICDF(24541), AOM_ICDF(25285), AOM_ICDF(28407),
3896               AOM_ICDF(29431), AOM_ICDF(30953), AOM_ICDF(32768), 0,
3897           },
3898       },
3899       {
3900           {
3901               AOM_ICDF(10240), AOM_ICDF(12819), AOM_ICDF(15545),
3902               AOM_ICDF(18248), AOM_ICDF(19779), AOM_ICDF(20932),
3903               AOM_ICDF(21899), AOM_ICDF(23377), AOM_ICDF(25448),
3904               AOM_ICDF(28730), AOM_ICDF(29936), AOM_ICDF(31536),
3905               AOM_ICDF(32768), 0,
3906           },
3907           {
3908               AOM_ICDF(7552), AOM_ICDF(15309), AOM_ICDF(16645), AOM_ICDF(19760),
3909               AOM_ICDF(20653), AOM_ICDF(21650), AOM_ICDF(22221),
3910               AOM_ICDF(23273), AOM_ICDF(25509), AOM_ICDF(28683),
3911               AOM_ICDF(30153), AOM_ICDF(31192), AOM_ICDF(32768), 0,
3912           },
3913           {
3914               AOM_ICDF(5248), AOM_ICDF(6840), AOM_ICDF(16129), AOM_ICDF(17940),
3915               AOM_ICDF(19069), AOM_ICDF(19660), AOM_ICDF(20588),
3916               AOM_ICDF(22760), AOM_ICDF(23927), AOM_ICDF(27538),
3917               AOM_ICDF(28397), AOM_ICDF(30725), AOM_ICDF(32768), 0,
3918           },
3919           {
3920               AOM_ICDF(11008), AOM_ICDF(11903), AOM_ICDF(13794),
3921               AOM_ICDF(21320), AOM_ICDF(21931), AOM_ICDF(22310),
3922               AOM_ICDF(22546), AOM_ICDF(25375), AOM_ICDF(27347),
3923               AOM_ICDF(29800), AOM_ICDF(30761), AOM_ICDF(31833),
3924               AOM_ICDF(32768), 0,
3925           },
3926           {
3927               AOM_ICDF(6272), AOM_ICDF(8678), AOM_ICDF(10313), AOM_ICDF(13073),
3928               AOM_ICDF(16823), AOM_ICDF(19980), AOM_ICDF(21520),
3929               AOM_ICDF(23242), AOM_ICDF(25344), AOM_ICDF(28797),
3930               AOM_ICDF(30405), AOM_ICDF(31940), AOM_ICDF(32768), 0,
3931           },
3932       },
3933       {
3934           {
3935               AOM_ICDF(7296), AOM_ICDF(9304), AOM_ICDF(11772), AOM_ICDF(12529),
3936               AOM_ICDF(18014), AOM_ICDF(20418), AOM_ICDF(23076),
3937               AOM_ICDF(24662), AOM_ICDF(25549), AOM_ICDF(29074),
3938               AOM_ICDF(30392), AOM_ICDF(31773), AOM_ICDF(32768), 0,
3939           },
3940           {
3941               AOM_ICDF(7168), AOM_ICDF(11687), AOM_ICDF(13541), AOM_ICDF(14431),
3942               AOM_ICDF(18214), AOM_ICDF(20761), AOM_ICDF(22269),
3943               AOM_ICDF(23320), AOM_ICDF(24633), AOM_ICDF(28339),
3944               AOM_ICDF(30193), AOM_ICDF(31268), AOM_ICDF(32768), 0,
3945           },
3946           {
3947               AOM_ICDF(3584), AOM_ICDF(4428), AOM_ICDF(13496), AOM_ICDF(14189),
3948               AOM_ICDF(17372), AOM_ICDF(18617), AOM_ICDF(20609),
3949               AOM_ICDF(22615), AOM_ICDF(23270), AOM_ICDF(27280),
3950               AOM_ICDF(28305), AOM_ICDF(30602), AOM_ICDF(32768), 0,
3951           },
3952           {
3953               AOM_ICDF(7424), AOM_ICDF(8834), AOM_ICDF(10499), AOM_ICDF(14357),
3954               AOM_ICDF(17671), AOM_ICDF(19150), AOM_ICDF(20460),
3955               AOM_ICDF(23235), AOM_ICDF(24391), AOM_ICDF(28351),
3956               AOM_ICDF(29843), AOM_ICDF(31481), AOM_ICDF(32768), 0,
3957           },
3958           {
3959               AOM_ICDF(4480), AOM_ICDF(5888), AOM_ICDF(7093), AOM_ICDF(7902),
3960               AOM_ICDF(18290), AOM_ICDF(22123), AOM_ICDF(24511),
3961               AOM_ICDF(25532), AOM_ICDF(26360), AOM_ICDF(29653),
3962               AOM_ICDF(30954), AOM_ICDF(32215), AOM_ICDF(32768), 0,
3963           },
3964       },
3965     };
3966 #else
3967 const aom_cdf_prob default_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(
3968     INTRA_MODES)] = {
3969 #if CONFIG_SMOOTH_HV
3970   {
3971       {
3972           AOM_ICDF(14208), AOM_ICDF(17049), AOM_ICDF(20482), AOM_ICDF(21400),
3973           AOM_ICDF(22520), AOM_ICDF(23261), AOM_ICDF(23963), AOM_ICDF(25010),
3974           AOM_ICDF(25828), AOM_ICDF(28398), AOM_ICDF(29394), AOM_ICDF(30738),
3975           AOM_ICDF(32768), 0,
3976       },
3977       {
3978           AOM_ICDF(10496), AOM_ICDF(18295), AOM_ICDF(19872), AOM_ICDF(20945),
3979           AOM_ICDF(21933), AOM_ICDF(22818), AOM_ICDF(23334), AOM_ICDF(24033),
3980           AOM_ICDF(24996), AOM_ICDF(27652), AOM_ICDF(29060), AOM_ICDF(30071),
3981           AOM_ICDF(32768), 0,
3982       },
3983       {
3984           AOM_ICDF(5120), AOM_ICDF(6461), AOM_ICDF(19840), AOM_ICDF(20310),
3985           AOM_ICDF(21151), AOM_ICDF(21506), AOM_ICDF(22535), AOM_ICDF(23900),
3986           AOM_ICDF(24281), AOM_ICDF(26958), AOM_ICDF(27680), AOM_ICDF(29636),
3987           AOM_ICDF(32768), 0,
3988       },
3989       {
3990           AOM_ICDF(12544), AOM_ICDF(15177), AOM_ICDF(17666), AOM_ICDF(19855),
3991           AOM_ICDF(21147), AOM_ICDF(22017), AOM_ICDF(22797), AOM_ICDF(24514),
3992           AOM_ICDF(25779), AOM_ICDF(28716), AOM_ICDF(29772), AOM_ICDF(31267),
3993           AOM_ICDF(32768), 0,
3994       },
3995       {
3996           AOM_ICDF(7552), AOM_ICDF(9909), AOM_ICDF(11908), AOM_ICDF(13141),
3997           AOM_ICDF(18765), AOM_ICDF(22029), AOM_ICDF(23872), AOM_ICDF(24920),
3998           AOM_ICDF(25674), AOM_ICDF(29031), AOM_ICDF(30244), AOM_ICDF(31684),
3999           AOM_ICDF(32768), 0,
4000       },
4001       {
4002           AOM_ICDF(11008), AOM_ICDF(15004), AOM_ICDF(16534), AOM_ICDF(18158),
4003           AOM_ICDF(21515), AOM_ICDF(26668), AOM_ICDF(27834), AOM_ICDF(28735),
4004           AOM_ICDF(30471), AOM_ICDF(30839), AOM_ICDF(30969), AOM_ICDF(31068),
4005           AOM_ICDF(32768), 0,
4006       },
4007       {
4008           AOM_ICDF(6272), AOM_ICDF(7963), AOM_ICDF(11944), AOM_ICDF(12780),
4009           AOM_ICDF(17944), AOM_ICDF(19198), AOM_ICDF(24071), AOM_ICDF(25295),
4010           AOM_ICDF(25834), AOM_ICDF(29014), AOM_ICDF(29949), AOM_ICDF(31733),
4011           AOM_ICDF(32768), 0,
4012       },
4013       {
4014           AOM_ICDF(8192), AOM_ICDF(10189), AOM_ICDF(14596), AOM_ICDF(15680),
4015           AOM_ICDF(17143), AOM_ICDF(17909), AOM_ICDF(19201), AOM_ICDF(23711),
4016           AOM_ICDF(24503), AOM_ICDF(28207), AOM_ICDF(29338), AOM_ICDF(31424),
4017           AOM_ICDF(32768), 0,
4018       },
4019       {
4020           AOM_ICDF(10752), AOM_ICDF(13199), AOM_ICDF(15048), AOM_ICDF(17151),
4021           AOM_ICDF(18445), AOM_ICDF(19604), AOM_ICDF(20363), AOM_ICDF(21782),
4022           AOM_ICDF(24311), AOM_ICDF(28026), AOM_ICDF(29517), AOM_ICDF(30962),
4023           AOM_ICDF(32768), 0,
4024       },
4025       {
4026           AOM_ICDF(7424), AOM_ICDF(10301), AOM_ICDF(13245), AOM_ICDF(14307),
4027           AOM_ICDF(16021), AOM_ICDF(16257), AOM_ICDF(17265), AOM_ICDF(18739),
4028           AOM_ICDF(20080), AOM_ICDF(26066), AOM_ICDF(28325), AOM_ICDF(31184),
4029           AOM_ICDF(32768), 0,
4030       },
4031       {
4032           AOM_ICDF(6528), AOM_ICDF(10893), AOM_ICDF(13773), AOM_ICDF(14824),
4033           AOM_ICDF(16540), AOM_ICDF(16926), AOM_ICDF(17748), AOM_ICDF(18876),
4034           AOM_ICDF(20396), AOM_ICDF(25974), AOM_ICDF(28795), AOM_ICDF(30820),
4035           AOM_ICDF(32768), 0,
4036       },
4037       {
4038           AOM_ICDF(8704), AOM_ICDF(11005), AOM_ICDF(14320), AOM_ICDF(15349),
4039           AOM_ICDF(16746), AOM_ICDF(16884), AOM_ICDF(17887), AOM_ICDF(19304),
4040           AOM_ICDF(20265), AOM_ICDF(26115), AOM_ICDF(27672), AOM_ICDF(31358),
4041           AOM_ICDF(32768), 0,
4042       },
4043       {
4044           AOM_ICDF(6272), AOM_ICDF(9504), AOM_ICDF(15437), AOM_ICDF(16399),
4045           AOM_ICDF(17355), AOM_ICDF(17948), AOM_ICDF(18814), AOM_ICDF(20270),
4046           AOM_ICDF(21134), AOM_ICDF(23690), AOM_ICDF(24759), AOM_ICDF(26454),
4047           AOM_ICDF(32768), 0,
4048       },
4049   },
4050   {
4051       {
4052           AOM_ICDF(3968), AOM_ICDF(17613), AOM_ICDF(19125), AOM_ICDF(19550),
4053           AOM_ICDF(20305), AOM_ICDF(21908), AOM_ICDF(22274), AOM_ICDF(22719),
4054           AOM_ICDF(23959), AOM_ICDF(26970), AOM_ICDF(29013), AOM_ICDF(29843),
4055           AOM_ICDF(32768), 0,
4056       },
4057       {
4058           AOM_ICDF(3072), AOM_ICDF(21231), AOM_ICDF(21863), AOM_ICDF(22306),
4059           AOM_ICDF(22674), AOM_ICDF(23414), AOM_ICDF(23517), AOM_ICDF(23798),
4060           AOM_ICDF(24770), AOM_ICDF(27032), AOM_ICDF(29016), AOM_ICDF(29636),
4061           AOM_ICDF(32768), 0,
4062       },
4063       {
4064           AOM_ICDF(2560), AOM_ICDF(9825), AOM_ICDF(15681), AOM_ICDF(16370),
4065           AOM_ICDF(17054), AOM_ICDF(17687), AOM_ICDF(18236), AOM_ICDF(19273),
4066           AOM_ICDF(20311), AOM_ICDF(24863), AOM_ICDF(26825), AOM_ICDF(28756),
4067           AOM_ICDF(32768), 0,
4068       },
4069       {
4070           AOM_ICDF(6912), AOM_ICDF(15140), AOM_ICDF(16485), AOM_ICDF(18364),
4071           AOM_ICDF(19181), AOM_ICDF(20394), AOM_ICDF(20663), AOM_ICDF(22098),
4072           AOM_ICDF(23936), AOM_ICDF(27555), AOM_ICDF(29704), AOM_ICDF(30849),
4073           AOM_ICDF(32768), 0,
4074       },
4075       {
4076           AOM_ICDF(2944), AOM_ICDF(13101), AOM_ICDF(14006), AOM_ICDF(14974),
4077           AOM_ICDF(17818), AOM_ICDF(21093), AOM_ICDF(21930), AOM_ICDF(22566),
4078           AOM_ICDF(24137), AOM_ICDF(27732), AOM_ICDF(29814), AOM_ICDF(30904),
4079           AOM_ICDF(32768), 0,
4080       },
4081       {
4082           AOM_ICDF(4352), AOM_ICDF(17824), AOM_ICDF(18715), AOM_ICDF(19632),
4083           AOM_ICDF(21519), AOM_ICDF(26341), AOM_ICDF(26922), AOM_ICDF(27575),
4084           AOM_ICDF(29863), AOM_ICDF(30432), AOM_ICDF(30769), AOM_ICDF(30881),
4085           AOM_ICDF(32768), 0,
4086       },
4087       {
4088           AOM_ICDF(2944), AOM_ICDF(11971), AOM_ICDF(13509), AOM_ICDF(14295),
4089           AOM_ICDF(17202), AOM_ICDF(19005), AOM_ICDF(21605), AOM_ICDF(22458),
4090           AOM_ICDF(23839), AOM_ICDF(27774), AOM_ICDF(29492), AOM_ICDF(30787),
4091           AOM_ICDF(32768), 0,
4092       },
4093       {
4094           AOM_ICDF(4224), AOM_ICDF(13072), AOM_ICDF(15288), AOM_ICDF(16406),
4095           AOM_ICDF(17285), AOM_ICDF(18362), AOM_ICDF(19003), AOM_ICDF(21378),
4096           AOM_ICDF(22942), AOM_ICDF(27093), AOM_ICDF(29381), AOM_ICDF(30872),
4097           AOM_ICDF(32768), 0,
4098       },
4099       {
4100           AOM_ICDF(5120), AOM_ICDF(15375), AOM_ICDF(16188), AOM_ICDF(17415),
4101           AOM_ICDF(18183), AOM_ICDF(19756), AOM_ICDF(20030), AOM_ICDF(20883),
4102           AOM_ICDF(23935), AOM_ICDF(27428), AOM_ICDF(29627), AOM_ICDF(30608),
4103           AOM_ICDF(32768), 0,
4104       },
4105       {
4106           AOM_ICDF(2816), AOM_ICDF(14999), AOM_ICDF(16352), AOM_ICDF(16969),
4107           AOM_ICDF(17836), AOM_ICDF(18125), AOM_ICDF(18514), AOM_ICDF(19181),
4108           AOM_ICDF(20650), AOM_ICDF(25773), AOM_ICDF(29172), AOM_ICDF(30662),
4109           AOM_ICDF(32768), 0,
4110       },
4111       {
4112           AOM_ICDF(2560), AOM_ICDF(16158), AOM_ICDF(17320), AOM_ICDF(17839),
4113           AOM_ICDF(18545), AOM_ICDF(18848), AOM_ICDF(19130), AOM_ICDF(19599),
4114           AOM_ICDF(20863), AOM_ICDF(25449), AOM_ICDF(29304), AOM_ICDF(30408),
4115           AOM_ICDF(32768), 0,
4116       },
4117       {
4118           AOM_ICDF(3328), AOM_ICDF(15146), AOM_ICDF(16880), AOM_ICDF(17523),
4119           AOM_ICDF(18340), AOM_ICDF(18563), AOM_ICDF(18896), AOM_ICDF(19582),
4120           AOM_ICDF(20944), AOM_ICDF(25914), AOM_ICDF(28759), AOM_ICDF(30583),
4121           AOM_ICDF(32768), 0,
4122       },
4123       {
4124           AOM_ICDF(2560), AOM_ICDF(16618), AOM_ICDF(18460), AOM_ICDF(19207),
4125           AOM_ICDF(19654), AOM_ICDF(20276), AOM_ICDF(20529), AOM_ICDF(21179),
4126           AOM_ICDF(22355), AOM_ICDF(25423), AOM_ICDF(27696), AOM_ICDF(28638),
4127           AOM_ICDF(32768), 0,
4128       },
4129   },
4130   {
4131       {
4132           AOM_ICDF(11392), AOM_ICDF(12961), AOM_ICDF(20901), AOM_ICDF(21544),
4133           AOM_ICDF(22490), AOM_ICDF(22928), AOM_ICDF(23888), AOM_ICDF(25214),
4134           AOM_ICDF(25777), AOM_ICDF(28256), AOM_ICDF(29102), AOM_ICDF(30513),
4135           AOM_ICDF(32768), 0,
4136       },
4137       {
4138           AOM_ICDF(8064), AOM_ICDF(13595), AOM_ICDF(18888), AOM_ICDF(19616),
4139           AOM_ICDF(20765), AOM_ICDF(21454), AOM_ICDF(21990), AOM_ICDF(23103),
4140           AOM_ICDF(23980), AOM_ICDF(26772), AOM_ICDF(28070), AOM_ICDF(29197),
4141           AOM_ICDF(32768), 0,
4142       },
4143       {
4144           AOM_ICDF(4352), AOM_ICDF(5059), AOM_ICDF(21705), AOM_ICDF(22099),
4145           AOM_ICDF(22703), AOM_ICDF(22846), AOM_ICDF(23679), AOM_ICDF(25469),
4146           AOM_ICDF(25728), AOM_ICDF(27919), AOM_ICDF(28484), AOM_ICDF(30215),
4147           AOM_ICDF(32768), 0,
4148       },
4149       {
4150           AOM_ICDF(10752), AOM_ICDF(12277), AOM_ICDF(16471), AOM_ICDF(18276),
4151           AOM_ICDF(19443), AOM_ICDF(19917), AOM_ICDF(21158), AOM_ICDF(23881),
4152           AOM_ICDF(24892), AOM_ICDF(27709), AOM_ICDF(28771), AOM_ICDF(30274),
4153           AOM_ICDF(32768), 0,
4154       },
4155       {
4156           AOM_ICDF(8320), AOM_ICDF(10000), AOM_ICDF(14147), AOM_ICDF(15330),
4157           AOM_ICDF(19197), AOM_ICDF(20923), AOM_ICDF(22954), AOM_ICDF(24541),
4158           AOM_ICDF(25285), AOM_ICDF(28407), AOM_ICDF(29431), AOM_ICDF(30953),
4159           AOM_ICDF(32768), 0,
4160       },
4161       {
4162           AOM_ICDF(11264), AOM_ICDF(14751), AOM_ICDF(18517), AOM_ICDF(20285),
4163           AOM_ICDF(23172), AOM_ICDF(25970), AOM_ICDF(27312), AOM_ICDF(28684),
4164           AOM_ICDF(29803), AOM_ICDF(30242), AOM_ICDF(30412), AOM_ICDF(30668),
4165           AOM_ICDF(32768), 0,
4166       },
4167       {
4168           AOM_ICDF(6528), AOM_ICDF(7509), AOM_ICDF(14190), AOM_ICDF(14953),
4169           AOM_ICDF(17905), AOM_ICDF(18452), AOM_ICDF(23074), AOM_ICDF(24910),
4170           AOM_ICDF(25374), AOM_ICDF(28605), AOM_ICDF(29542), AOM_ICDF(31640),
4171           AOM_ICDF(32768), 0,
4172       },
4173       {
4174           AOM_ICDF(6784), AOM_ICDF(7644), AOM_ICDF(15953), AOM_ICDF(17055),
4175           AOM_ICDF(17945), AOM_ICDF(18242), AOM_ICDF(19351), AOM_ICDF(24705),
4176           AOM_ICDF(25365), AOM_ICDF(28466), AOM_ICDF(29334), AOM_ICDF(31245),
4177           AOM_ICDF(32768), 0,
4178       },
4179       {
4180           AOM_ICDF(8192), AOM_ICDF(9802), AOM_ICDF(14519), AOM_ICDF(15740),
4181           AOM_ICDF(17351), AOM_ICDF(18084), AOM_ICDF(18962), AOM_ICDF(20908),
4182           AOM_ICDF(22937), AOM_ICDF(26847), AOM_ICDF(28284), AOM_ICDF(29888),
4183           AOM_ICDF(32768), 0,
4184       },
4185       {
4186           AOM_ICDF(5888), AOM_ICDF(7534), AOM_ICDF(14635), AOM_ICDF(15436),
4187           AOM_ICDF(16710), AOM_ICDF(16830), AOM_ICDF(18000), AOM_ICDF(19760),
4188           AOM_ICDF(20571), AOM_ICDF(25777), AOM_ICDF(27649), AOM_ICDF(30668),
4189           AOM_ICDF(32768), 0,
4190       },
4191       {
4192           AOM_ICDF(5248), AOM_ICDF(7364), AOM_ICDF(14858), AOM_ICDF(15545),
4193           AOM_ICDF(16861), AOM_ICDF(17016), AOM_ICDF(17859), AOM_ICDF(19384),
4194           AOM_ICDF(20237), AOM_ICDF(25239), AOM_ICDF(27715), AOM_ICDF(29865),
4195           AOM_ICDF(32768), 0,
4196       },
4197       {
4198           AOM_ICDF(6656), AOM_ICDF(7989), AOM_ICDF(15472), AOM_ICDF(16265),
4199           AOM_ICDF(17271), AOM_ICDF(17334), AOM_ICDF(18563), AOM_ICDF(20327),
4200           AOM_ICDF(20916), AOM_ICDF(26173), AOM_ICDF(27350), AOM_ICDF(31034),
4201           AOM_ICDF(32768), 0,
4202       },
4203       {
4204           AOM_ICDF(4480), AOM_ICDF(6411), AOM_ICDF(17828), AOM_ICDF(18611),
4205           AOM_ICDF(19399), AOM_ICDF(19684), AOM_ICDF(20504), AOM_ICDF(21782),
4206           AOM_ICDF(22335), AOM_ICDF(25286), AOM_ICDF(26352), AOM_ICDF(28016),
4207           AOM_ICDF(32768), 0,
4208       },
4209   },
4210   {
4211       {
4212           AOM_ICDF(10240), AOM_ICDF(12819), AOM_ICDF(15545), AOM_ICDF(18248),
4213           AOM_ICDF(19779), AOM_ICDF(20932), AOM_ICDF(21899), AOM_ICDF(23377),
4214           AOM_ICDF(25448), AOM_ICDF(28730), AOM_ICDF(29936), AOM_ICDF(31536),
4215           AOM_ICDF(32768), 0,
4216       },
4217       {
4218           AOM_ICDF(7552), AOM_ICDF(15309), AOM_ICDF(16645), AOM_ICDF(19760),
4219           AOM_ICDF(20653), AOM_ICDF(21650), AOM_ICDF(22221), AOM_ICDF(23273),
4220           AOM_ICDF(25509), AOM_ICDF(28683), AOM_ICDF(30153), AOM_ICDF(31192),
4221           AOM_ICDF(32768), 0,
4222       },
4223       {
4224           AOM_ICDF(5248), AOM_ICDF(6840), AOM_ICDF(16129), AOM_ICDF(17940),
4225           AOM_ICDF(19069), AOM_ICDF(19660), AOM_ICDF(20588), AOM_ICDF(22760),
4226           AOM_ICDF(23927), AOM_ICDF(27538), AOM_ICDF(28397), AOM_ICDF(30725),
4227           AOM_ICDF(32768), 0,
4228       },
4229       {
4230           AOM_ICDF(11008), AOM_ICDF(11903), AOM_ICDF(13794), AOM_ICDF(21320),
4231           AOM_ICDF(21931), AOM_ICDF(22310), AOM_ICDF(22546), AOM_ICDF(25375),
4232           AOM_ICDF(27347), AOM_ICDF(29800), AOM_ICDF(30761), AOM_ICDF(31833),
4233           AOM_ICDF(32768), 0,
4234       },
4235       {
4236           AOM_ICDF(6272), AOM_ICDF(8678), AOM_ICDF(10313), AOM_ICDF(13073),
4237           AOM_ICDF(16823), AOM_ICDF(19980), AOM_ICDF(21520), AOM_ICDF(23242),
4238           AOM_ICDF(25344), AOM_ICDF(28797), AOM_ICDF(30405), AOM_ICDF(31940),
4239           AOM_ICDF(32768), 0,
4240       },
4241       {
4242           AOM_ICDF(7424), AOM_ICDF(10835), AOM_ICDF(12653), AOM_ICDF(16345),
4243           AOM_ICDF(19574), AOM_ICDF(24868), AOM_ICDF(25937), AOM_ICDF(27299),
4244           AOM_ICDF(31104), AOM_ICDF(31448), AOM_ICDF(31580), AOM_ICDF(31679),
4245           AOM_ICDF(32768), 0,
4246       },
4247       {
4248           AOM_ICDF(4992), AOM_ICDF(6458), AOM_ICDF(9945), AOM_ICDF(11961),
4249           AOM_ICDF(16136), AOM_ICDF(17677), AOM_ICDF(20946), AOM_ICDF(23042),
4250           AOM_ICDF(24475), AOM_ICDF(28304), AOM_ICDF(29748), AOM_ICDF(31791),
4251           AOM_ICDF(32768), 0,
4252       },
4253       {
4254           AOM_ICDF(9600), AOM_ICDF(11879), AOM_ICDF(14703), AOM_ICDF(17653),
4255           AOM_ICDF(19176), AOM_ICDF(20185), AOM_ICDF(20880), AOM_ICDF(25194),
4256           AOM_ICDF(26584), AOM_ICDF(29655), AOM_ICDF(30430), AOM_ICDF(32044),
4257           AOM_ICDF(32768), 0,
4258       },
4259       {
4260           AOM_ICDF(9856), AOM_ICDF(11385), AOM_ICDF(13457), AOM_ICDF(18705),
4261           AOM_ICDF(19577), AOM_ICDF(20266), AOM_ICDF(20746), AOM_ICDF(22207),
4262           AOM_ICDF(26724), AOM_ICDF(29431), AOM_ICDF(30645), AOM_ICDF(31604),
4263           AOM_ICDF(32768), 0,
4264       },
4265       {
4266           AOM_ICDF(6272), AOM_ICDF(9318), AOM_ICDF(11569), AOM_ICDF(14812),
4267           AOM_ICDF(16351), AOM_ICDF(16619), AOM_ICDF(17537), AOM_ICDF(19596),
4268           AOM_ICDF(22025), AOM_ICDF(27384), AOM_ICDF(29277), AOM_ICDF(31422),
4269           AOM_ICDF(32768), 0,
4270       },
4271       {
4272           AOM_ICDF(5888), AOM_ICDF(9348), AOM_ICDF(11416), AOM_ICDF(14690),
4273           AOM_ICDF(16254), AOM_ICDF(16633), AOM_ICDF(17457), AOM_ICDF(19031),
4274           AOM_ICDF(21875), AOM_ICDF(27080), AOM_ICDF(29442), AOM_ICDF(31193),
4275           AOM_ICDF(32768), 0,
4276       },
4277       {
4278           AOM_ICDF(6912), AOM_ICDF(9329), AOM_ICDF(12218), AOM_ICDF(15177),
4279           AOM_ICDF(16806), AOM_ICDF(16998), AOM_ICDF(17991), AOM_ICDF(20005),
4280           AOM_ICDF(21952), AOM_ICDF(27108), AOM_ICDF(28867), AOM_ICDF(31657),
4281           AOM_ICDF(32768), 0,
4282       },
4283       {
4284           AOM_ICDF(5120), AOM_ICDF(9098), AOM_ICDF(13132), AOM_ICDF(17701),
4285           AOM_ICDF(18739), AOM_ICDF(19534), AOM_ICDF(20415), AOM_ICDF(22136),
4286           AOM_ICDF(24213), AOM_ICDF(27199), AOM_ICDF(28504), AOM_ICDF(29960),
4287           AOM_ICDF(32768), 0,
4288       },
4289   },
4290   {
4291       {
4292           AOM_ICDF(7296), AOM_ICDF(9304), AOM_ICDF(11772), AOM_ICDF(12529),
4293           AOM_ICDF(18014), AOM_ICDF(20418), AOM_ICDF(23076), AOM_ICDF(24662),
4294           AOM_ICDF(25549), AOM_ICDF(29074), AOM_ICDF(30392), AOM_ICDF(31773),
4295           AOM_ICDF(32768), 0,
4296       },
4297       {
4298           AOM_ICDF(7168), AOM_ICDF(11687), AOM_ICDF(13541), AOM_ICDF(14431),
4299           AOM_ICDF(18214), AOM_ICDF(20761), AOM_ICDF(22269), AOM_ICDF(23320),
4300           AOM_ICDF(24633), AOM_ICDF(28339), AOM_ICDF(30193), AOM_ICDF(31268),
4301           AOM_ICDF(32768), 0,
4302       },
4303       {
4304           AOM_ICDF(3584), AOM_ICDF(4428), AOM_ICDF(13496), AOM_ICDF(14189),
4305           AOM_ICDF(17372), AOM_ICDF(18617), AOM_ICDF(20609), AOM_ICDF(22615),
4306           AOM_ICDF(23270), AOM_ICDF(27280), AOM_ICDF(28305), AOM_ICDF(30602),
4307           AOM_ICDF(32768), 0,
4308       },
4309       {
4310           AOM_ICDF(7424), AOM_ICDF(8834), AOM_ICDF(10499), AOM_ICDF(14357),
4311           AOM_ICDF(17671), AOM_ICDF(19150), AOM_ICDF(20460), AOM_ICDF(23235),
4312           AOM_ICDF(24391), AOM_ICDF(28351), AOM_ICDF(29843), AOM_ICDF(31481),
4313           AOM_ICDF(32768), 0,
4314       },
4315       {
4316           AOM_ICDF(4480), AOM_ICDF(5888), AOM_ICDF(7093), AOM_ICDF(7902),
4317           AOM_ICDF(18290), AOM_ICDF(22123), AOM_ICDF(24511), AOM_ICDF(25532),
4318           AOM_ICDF(26360), AOM_ICDF(29653), AOM_ICDF(30954), AOM_ICDF(32215),
4319           AOM_ICDF(32768), 0,
4320       },
4321       {
4322           AOM_ICDF(7296), AOM_ICDF(10176), AOM_ICDF(11780), AOM_ICDF(12824),
4323           AOM_ICDF(19608), AOM_ICDF(25882), AOM_ICDF(28520), AOM_ICDF(29445),
4324           AOM_ICDF(31106), AOM_ICDF(31573), AOM_ICDF(31775), AOM_ICDF(31872),
4325           AOM_ICDF(32768), 0,
4326       },
4327       {
4328           AOM_ICDF(3840), AOM_ICDF(4833), AOM_ICDF(7551), AOM_ICDF(8449),
4329           AOM_ICDF(16668), AOM_ICDF(18614), AOM_ICDF(23952), AOM_ICDF(25668),
4330           AOM_ICDF(26721), AOM_ICDF(29888), AOM_ICDF(30697), AOM_ICDF(32090),
4331           AOM_ICDF(32768), 0,
4332       },
4333       {
4334           AOM_ICDF(6528), AOM_ICDF(8011), AOM_ICDF(11083), AOM_ICDF(12427),
4335           AOM_ICDF(16188), AOM_ICDF(17548), AOM_ICDF(19625), AOM_ICDF(23787),
4336           AOM_ICDF(24792), AOM_ICDF(28649), AOM_ICDF(29872), AOM_ICDF(31845),
4337           AOM_ICDF(32768), 0,
4338       },
4339       {
4340           AOM_ICDF(7168), AOM_ICDF(9170), AOM_ICDF(10655), AOM_ICDF(12439),
4341           AOM_ICDF(15550), AOM_ICDF(18128), AOM_ICDF(19565), AOM_ICDF(21412),
4342           AOM_ICDF(23355), AOM_ICDF(28007), AOM_ICDF(30080), AOM_ICDF(31568),
4343           AOM_ICDF(32768), 0,
4344       },
4345       {
4346           AOM_ICDF(5504), AOM_ICDF(7636), AOM_ICDF(10174), AOM_ICDF(11056),
4347           AOM_ICDF(15562), AOM_ICDF(16252), AOM_ICDF(17931), AOM_ICDF(19598),
4348           AOM_ICDF(20967), AOM_ICDF(26845), AOM_ICDF(29149), AOM_ICDF(31490),
4349           AOM_ICDF(32768), 0,
4350       },
4351       {
4352           AOM_ICDF(5248), AOM_ICDF(7810), AOM_ICDF(10004), AOM_ICDF(11015),
4353           AOM_ICDF(15359), AOM_ICDF(16310), AOM_ICDF(17834), AOM_ICDF(19185),
4354           AOM_ICDF(20903), AOM_ICDF(26728), AOM_ICDF(29585), AOM_ICDF(31478),
4355           AOM_ICDF(32768), 0,
4356       },
4357       {
4358           AOM_ICDF(5376), AOM_ICDF(7322), AOM_ICDF(10592), AOM_ICDF(11694),
4359           AOM_ICDF(15586), AOM_ICDF(16103), AOM_ICDF(17999), AOM_ICDF(19740),
4360           AOM_ICDF(20950), AOM_ICDF(26894), AOM_ICDF(28912), AOM_ICDF(31591),
4361           AOM_ICDF(32768), 0,
4362       },
4363       {
4364           AOM_ICDF(4608), AOM_ICDF(7276), AOM_ICDF(12153), AOM_ICDF(13388),
4365           AOM_ICDF(16091), AOM_ICDF(17970), AOM_ICDF(19548), AOM_ICDF(21175),
4366           AOM_ICDF(22481), AOM_ICDF(26543), AOM_ICDF(28212), AOM_ICDF(29908),
4367           AOM_ICDF(32768), 0,
4368       },
4369   },
4370   {
4371       {
4372           AOM_ICDF(6656), AOM_ICDF(12225), AOM_ICDF(14441), AOM_ICDF(15158),
4373           AOM_ICDF(19600), AOM_ICDF(27127), AOM_ICDF(28221), AOM_ICDF(29186),
4374           AOM_ICDF(30439), AOM_ICDF(30913), AOM_ICDF(31135), AOM_ICDF(31238),
4375           AOM_ICDF(32768), 0,
4376       },
4377       {
4378           AOM_ICDF(6400), AOM_ICDF(14608), AOM_ICDF(15920), AOM_ICDF(16643),
4379           AOM_ICDF(20149), AOM_ICDF(27328), AOM_ICDF(27896), AOM_ICDF(28672),
4380           AOM_ICDF(30227), AOM_ICDF(30778), AOM_ICDF(31053), AOM_ICDF(31120),
4381           AOM_ICDF(32768), 0,
4382       },
4383       {
4384           AOM_ICDF(3840), AOM_ICDF(6925), AOM_ICDF(14671), AOM_ICDF(15709),
4385           AOM_ICDF(19830), AOM_ICDF(24216), AOM_ICDF(25507), AOM_ICDF(27459),
4386           AOM_ICDF(28552), AOM_ICDF(29569), AOM_ICDF(29808), AOM_ICDF(30169),
4387           AOM_ICDF(32768), 0,
4388       },
4389       {
4390           AOM_ICDF(9600), AOM_ICDF(13604), AOM_ICDF(15202), AOM_ICDF(17530),
4391           AOM_ICDF(20878), AOM_ICDF(24279), AOM_ICDF(25278), AOM_ICDF(28255),
4392           AOM_ICDF(30651), AOM_ICDF(31170), AOM_ICDF(31343), AOM_ICDF(31410),
4393           AOM_ICDF(32768), 0,
4394       },
4395       {
4396           AOM_ICDF(4608), AOM_ICDF(8535), AOM_ICDF(9588), AOM_ICDF(10740),
4397           AOM_ICDF(18673), AOM_ICDF(27664), AOM_ICDF(28826), AOM_ICDF(29828),
4398           AOM_ICDF(31081), AOM_ICDF(31503), AOM_ICDF(31680), AOM_ICDF(31778),
4399           AOM_ICDF(32768), 0,
4400       },
4401       {
4402           AOM_ICDF(4864), AOM_ICDF(10543), AOM_ICDF(11313), AOM_ICDF(12197),
4403           AOM_ICDF(16785), AOM_ICDF(27858), AOM_ICDF(28556), AOM_ICDF(29480),
4404           AOM_ICDF(30892), AOM_ICDF(31486), AOM_ICDF(31722), AOM_ICDF(31787),
4405           AOM_ICDF(32768), 0,
4406       },
4407       {
4408           AOM_ICDF(3968), AOM_ICDF(7492), AOM_ICDF(10283), AOM_ICDF(11318),
4409           AOM_ICDF(18486), AOM_ICDF(24061), AOM_ICDF(26761), AOM_ICDF(28456),
4410           AOM_ICDF(30126), AOM_ICDF(30872), AOM_ICDF(31088), AOM_ICDF(31305),
4411           AOM_ICDF(32768), 0,
4412       },
4413       {
4414           AOM_ICDF(6016), AOM_ICDF(10246), AOM_ICDF(12999), AOM_ICDF(15083),
4415           AOM_ICDF(18769), AOM_ICDF(22398), AOM_ICDF(23584), AOM_ICDF(27098),
4416           AOM_ICDF(29574), AOM_ICDF(30609), AOM_ICDF(30898), AOM_ICDF(31200),
4417           AOM_ICDF(32768), 0,
4418       },
4419       {
4420           AOM_ICDF(7808), AOM_ICDF(13404), AOM_ICDF(14723), AOM_ICDF(16413),
4421           AOM_ICDF(20186), AOM_ICDF(24739), AOM_ICDF(25407), AOM_ICDF(27106),
4422           AOM_ICDF(29929), AOM_ICDF(30507), AOM_ICDF(30827), AOM_ICDF(30915),
4423           AOM_ICDF(32768), 0,
4424       },
4425       {
4426           AOM_ICDF(2816), AOM_ICDF(6530), AOM_ICDF(8123), AOM_ICDF(9240),
4427           AOM_ICDF(12536), AOM_ICDF(17593), AOM_ICDF(18754), AOM_ICDF(20319),
4428           AOM_ICDF(22070), AOM_ICDF(27037), AOM_ICDF(29332), AOM_ICDF(30779),
4429           AOM_ICDF(32768), 0,
4430       },
4431       {
4432           AOM_ICDF(2432), AOM_ICDF(6577), AOM_ICDF(8010), AOM_ICDF(9215),
4433           AOM_ICDF(12657), AOM_ICDF(18898), AOM_ICDF(19588), AOM_ICDF(20953),
4434           AOM_ICDF(22766), AOM_ICDF(27231), AOM_ICDF(29927), AOM_ICDF(31109),
4435           AOM_ICDF(32768), 0,
4436       },
4437       {
4438           AOM_ICDF(3200), AOM_ICDF(6974), AOM_ICDF(9162), AOM_ICDF(10450),
4439           AOM_ICDF(13818), AOM_ICDF(17757), AOM_ICDF(19119), AOM_ICDF(20842),
4440           AOM_ICDF(22269), AOM_ICDF(27170), AOM_ICDF(29271), AOM_ICDF(30804),
4441           AOM_ICDF(32768), 0,
4442       },
4443       {
4444           AOM_ICDF(4480), AOM_ICDF(10689), AOM_ICDF(15307), AOM_ICDF(16589),
4445           AOM_ICDF(19738), AOM_ICDF(24416), AOM_ICDF(25332), AOM_ICDF(26541),
4446           AOM_ICDF(28634), AOM_ICDF(29711), AOM_ICDF(29913), AOM_ICDF(30116),
4447           AOM_ICDF(32768), 0,
4448       },
4449   },
4450   {
4451       {
4452           AOM_ICDF(9600), AOM_ICDF(11066), AOM_ICDF(15832), AOM_ICDF(16515),
4453           AOM_ICDF(18844), AOM_ICDF(19883), AOM_ICDF(24302), AOM_ICDF(25759),
4454           AOM_ICDF(26358), AOM_ICDF(29290), AOM_ICDF(30262), AOM_ICDF(31682),
4455           AOM_ICDF(32768), 0,
4456       },
4457       {
4458           AOM_ICDF(8832), AOM_ICDF(12814), AOM_ICDF(16171), AOM_ICDF(17041),
4459           AOM_ICDF(19066), AOM_ICDF(20145), AOM_ICDF(22933), AOM_ICDF(24074),
4460           AOM_ICDF(25006), AOM_ICDF(28115), AOM_ICDF(29722), AOM_ICDF(30991),
4461           AOM_ICDF(32768), 0,
4462       },
4463       {
4464           AOM_ICDF(3840), AOM_ICDF(4486), AOM_ICDF(15821), AOM_ICDF(16330),
4465           AOM_ICDF(18461), AOM_ICDF(18879), AOM_ICDF(22436), AOM_ICDF(25051),
4466           AOM_ICDF(25443), AOM_ICDF(28637), AOM_ICDF(29396), AOM_ICDF(31412),
4467           AOM_ICDF(32768), 0,
4468       },
4469       {
4470           AOM_ICDF(9856), AOM_ICDF(10863), AOM_ICDF(14050), AOM_ICDF(15920),
4471           AOM_ICDF(18783), AOM_ICDF(19531), AOM_ICDF(22502), AOM_ICDF(24577),
4472           AOM_ICDF(25361), AOM_ICDF(28559), AOM_ICDF(29600), AOM_ICDF(31336),
4473           AOM_ICDF(32768), 0,
4474       },
4475       {
4476           AOM_ICDF(6528), AOM_ICDF(7620), AOM_ICDF(10182), AOM_ICDF(11199),
4477           AOM_ICDF(17281), AOM_ICDF(19946), AOM_ICDF(23885), AOM_ICDF(25333),
4478           AOM_ICDF(26130), AOM_ICDF(29425), AOM_ICDF(30332), AOM_ICDF(31948),
4479           AOM_ICDF(32768), 0,
4480       },
4481       {
4482           AOM_ICDF(9728), AOM_ICDF(11821), AOM_ICDF(13954), AOM_ICDF(15233),
4483           AOM_ICDF(19855), AOM_ICDF(24478), AOM_ICDF(28675), AOM_ICDF(29878),
4484           AOM_ICDF(31238), AOM_ICDF(31741), AOM_ICDF(31874), AOM_ICDF(32048),
4485           AOM_ICDF(32768), 0,
4486       },
4487       {
4488           AOM_ICDF(5120), AOM_ICDF(5753), AOM_ICDF(9673), AOM_ICDF(10149),
4489           AOM_ICDF(14343), AOM_ICDF(15190), AOM_ICDF(24967), AOM_ICDF(26378),
4490           AOM_ICDF(26841), AOM_ICDF(29749), AOM_ICDF(30527), AOM_ICDF(32120),
4491           AOM_ICDF(32768), 0,
4492       },
4493       {
4494           AOM_ICDF(5888), AOM_ICDF(6606), AOM_ICDF(11498), AOM_ICDF(12538),
4495           AOM_ICDF(14737), AOM_ICDF(15425), AOM_ICDF(19549), AOM_ICDF(24047),
4496           AOM_ICDF(24765), AOM_ICDF(28711), AOM_ICDF(29822), AOM_ICDF(32138),
4497           AOM_ICDF(32768), 0,
4498       },
4499       {
4500           AOM_ICDF(10368), AOM_ICDF(11757), AOM_ICDF(14126), AOM_ICDF(15474),
4501           AOM_ICDF(18311), AOM_ICDF(19358), AOM_ICDF(21539), AOM_ICDF(23451),
4502           AOM_ICDF(25034), AOM_ICDF(28791), AOM_ICDF(30035), AOM_ICDF(31280),
4503           AOM_ICDF(32768), 0,
4504       },
4505       {
4506           AOM_ICDF(6016), AOM_ICDF(7623), AOM_ICDF(11378), AOM_ICDF(12248),
4507           AOM_ICDF(15171), AOM_ICDF(15459), AOM_ICDF(18958), AOM_ICDF(20875),
4508           AOM_ICDF(21955), AOM_ICDF(27411), AOM_ICDF(29196), AOM_ICDF(31723),
4509           AOM_ICDF(32768), 0,
4510       },
4511       {
4512           AOM_ICDF(5760), AOM_ICDF(7469), AOM_ICDF(11399), AOM_ICDF(12323),
4513           AOM_ICDF(15165), AOM_ICDF(15528), AOM_ICDF(18804), AOM_ICDF(20769),
4514           AOM_ICDF(21767), AOM_ICDF(27129), AOM_ICDF(29435), AOM_ICDF(31502),
4515           AOM_ICDF(32768), 0,
4516       },
4517       {
4518           AOM_ICDF(7040), AOM_ICDF(8295), AOM_ICDF(12298), AOM_ICDF(13035),
4519           AOM_ICDF(15194), AOM_ICDF(15357), AOM_ICDF(18976), AOM_ICDF(21100),
4520           AOM_ICDF(21805), AOM_ICDF(26978), AOM_ICDF(28342), AOM_ICDF(31763),
4521           AOM_ICDF(32768), 0,
4522       },
4523       {
4524           AOM_ICDF(5632), AOM_ICDF(7465), AOM_ICDF(14220), AOM_ICDF(15035),
4525           AOM_ICDF(17014), AOM_ICDF(18105), AOM_ICDF(21111), AOM_ICDF(23027),
4526           AOM_ICDF(23934), AOM_ICDF(27207), AOM_ICDF(28293), AOM_ICDF(30330),
4527           AOM_ICDF(32768), 0,
4528       },
4529   },
4530   {
4531       {
4532           AOM_ICDF(11008), AOM_ICDF(13089), AOM_ICDF(17144), AOM_ICDF(18425),
4533           AOM_ICDF(19954), AOM_ICDF(20624), AOM_ICDF(21658), AOM_ICDF(24229),
4534           AOM_ICDF(25290), AOM_ICDF(28803), AOM_ICDF(29938), AOM_ICDF(31493),
4535           AOM_ICDF(32768), 0,
4536       },
4537       {
4538           AOM_ICDF(9088), AOM_ICDF(14218), AOM_ICDF(16378), AOM_ICDF(17699),
4539           AOM_ICDF(18935), AOM_ICDF(19928), AOM_ICDF(20524), AOM_ICDF(22781),
4540           AOM_ICDF(24155), AOM_ICDF(27523), AOM_ICDF(29068), AOM_ICDF(30270),
4541           AOM_ICDF(32768), 0,
4542       },
4543       {
4544           AOM_ICDF(6144), AOM_ICDF(7194), AOM_ICDF(17912), AOM_ICDF(18991),
4545           AOM_ICDF(19879), AOM_ICDF(20151), AOM_ICDF(21170), AOM_ICDF(23938),
4546           AOM_ICDF(24712), AOM_ICDF(27763), AOM_ICDF(28556), AOM_ICDF(30584),
4547           AOM_ICDF(32768), 0,
4548       },
4549       {
4550           AOM_ICDF(10496), AOM_ICDF(11614), AOM_ICDF(13652), AOM_ICDF(16928),
4551           AOM_ICDF(18425), AOM_ICDF(18967), AOM_ICDF(19724), AOM_ICDF(23817),
4552           AOM_ICDF(25594), AOM_ICDF(28685), AOM_ICDF(29734), AOM_ICDF(30941),
4553           AOM_ICDF(32768), 0,
4554       },
4555       {
4556           AOM_ICDF(7296), AOM_ICDF(8915), AOM_ICDF(11163), AOM_ICDF(13821),
4557           AOM_ICDF(16951), AOM_ICDF(18507), AOM_ICDF(20180), AOM_ICDF(22423),
4558           AOM_ICDF(24017), AOM_ICDF(28294), AOM_ICDF(29614), AOM_ICDF(31673),
4559           AOM_ICDF(32768), 0,
4560       },
4561       {
4562           AOM_ICDF(9728), AOM_ICDF(13441), AOM_ICDF(15858), AOM_ICDF(18860),
4563           AOM_ICDF(21713), AOM_ICDF(24478), AOM_ICDF(25995), AOM_ICDF(28233),
4564           AOM_ICDF(30347), AOM_ICDF(30853), AOM_ICDF(31081), AOM_ICDF(31328),
4565           AOM_ICDF(32768), 0,
4566       },
4567       {
4568           AOM_ICDF(6400), AOM_ICDF(7480), AOM_ICDF(11482), AOM_ICDF(13206),
4569           AOM_ICDF(16199), AOM_ICDF(16908), AOM_ICDF(20436), AOM_ICDF(23507),
4570           AOM_ICDF(24650), AOM_ICDF(28360), AOM_ICDF(29438), AOM_ICDF(31532),
4571           AOM_ICDF(32768), 0,
4572       },
4573       {
4574           AOM_ICDF(9856), AOM_ICDF(10979), AOM_ICDF(13430), AOM_ICDF(15195),
4575           AOM_ICDF(15957), AOM_ICDF(16350), AOM_ICDF(16871), AOM_ICDF(26198),
4576           AOM_ICDF(26991), AOM_ICDF(29612), AOM_ICDF(30438), AOM_ICDF(31962),
4577           AOM_ICDF(32768), 0,
4578       },
4579       {
4580           AOM_ICDF(8960), AOM_ICDF(10529), AOM_ICDF(12640), AOM_ICDF(15350),
4581           AOM_ICDF(16987), AOM_ICDF(17859), AOM_ICDF(18590), AOM_ICDF(21400),
4582           AOM_ICDF(23812), AOM_ICDF(28188), AOM_ICDF(29589), AOM_ICDF(31280),
4583           AOM_ICDF(32768), 0,
4584       },
4585       {
4586           AOM_ICDF(7168), AOM_ICDF(8877), AOM_ICDF(12393), AOM_ICDF(14015),
4587           AOM_ICDF(15655), AOM_ICDF(15794), AOM_ICDF(16814), AOM_ICDF(19923),
4588           AOM_ICDF(21086), AOM_ICDF(26723), AOM_ICDF(28669), AOM_ICDF(31468),
4589           AOM_ICDF(32768), 0,
4590       },
4591       {
4592           AOM_ICDF(6400), AOM_ICDF(8900), AOM_ICDF(12241), AOM_ICDF(13828),
4593           AOM_ICDF(15513), AOM_ICDF(15671), AOM_ICDF(16500), AOM_ICDF(19257),
4594           AOM_ICDF(20456), AOM_ICDF(25984), AOM_ICDF(28658), AOM_ICDF(31017),
4595           AOM_ICDF(32768), 0,
4596       },
4597       {
4598           AOM_ICDF(7296), AOM_ICDF(8820), AOM_ICDF(12885), AOM_ICDF(14441),
4599           AOM_ICDF(15813), AOM_ICDF(15911), AOM_ICDF(16954), AOM_ICDF(20026),
4600           AOM_ICDF(20950), AOM_ICDF(26563), AOM_ICDF(28140), AOM_ICDF(31673),
4601           AOM_ICDF(32768), 0,
4602       },
4603       {
4604           AOM_ICDF(6272), AOM_ICDF(8455), AOM_ICDF(13328), AOM_ICDF(15907),
4605           AOM_ICDF(17026), AOM_ICDF(17464), AOM_ICDF(18267), AOM_ICDF(21436),
4606           AOM_ICDF(22712), AOM_ICDF(26403), AOM_ICDF(27660), AOM_ICDF(29559),
4607           AOM_ICDF(32768), 0,
4608       },
4609   },
4610   {
4611       {
4612           AOM_ICDF(6784), AOM_ICDF(11216), AOM_ICDF(13269), AOM_ICDF(15677),
4613           AOM_ICDF(16931), AOM_ICDF(18445), AOM_ICDF(19097), AOM_ICDF(20082),
4614           AOM_ICDF(24298), AOM_ICDF(28236), AOM_ICDF(30118), AOM_ICDF(31448),
4615           AOM_ICDF(32768), 0,
4616       },
4617       {
4618           AOM_ICDF(5760), AOM_ICDF(13240), AOM_ICDF(14110), AOM_ICDF(16966),
4619           AOM_ICDF(17743), AOM_ICDF(18916), AOM_ICDF(19281), AOM_ICDF(19848),
4620           AOM_ICDF(25552), AOM_ICDF(28646), AOM_ICDF(30444), AOM_ICDF(31291),
4621           AOM_ICDF(32768), 0,
4622       },
4623       {
4624           AOM_ICDF(4352), AOM_ICDF(6870), AOM_ICDF(14660), AOM_ICDF(16597),
4625           AOM_ICDF(17361), AOM_ICDF(18126), AOM_ICDF(18852), AOM_ICDF(20765),
4626           AOM_ICDF(23526), AOM_ICDF(27670), AOM_ICDF(29096), AOM_ICDF(31214),
4627           AOM_ICDF(32768), 0,
4628       },
4629       {
4630           AOM_ICDF(9472), AOM_ICDF(11736), AOM_ICDF(13172), AOM_ICDF(18192),
4631           AOM_ICDF(19070), AOM_ICDF(19651), AOM_ICDF(19991), AOM_ICDF(21793),
4632           AOM_ICDF(26005), AOM_ICDF(29291), AOM_ICDF(30500), AOM_ICDF(31767),
4633           AOM_ICDF(32768), 0,
4634       },
4635       {
4636           AOM_ICDF(4480), AOM_ICDF(7252), AOM_ICDF(8651), AOM_ICDF(12379),
4637           AOM_ICDF(14936), AOM_ICDF(17493), AOM_ICDF(18326), AOM_ICDF(19527),
4638           AOM_ICDF(23655), AOM_ICDF(28031), AOM_ICDF(29960), AOM_ICDF(31773),
4639           AOM_ICDF(32768), 0,
4640       },
4641       {
4642           AOM_ICDF(6016), AOM_ICDF(11561), AOM_ICDF(12864), AOM_ICDF(15793),
4643           AOM_ICDF(18765), AOM_ICDF(23040), AOM_ICDF(23640), AOM_ICDF(24415),
4644           AOM_ICDF(31040), AOM_ICDF(31473), AOM_ICDF(31740), AOM_ICDF(31827),
4645           AOM_ICDF(32768), 0,
4646       },
4647       {
4648           AOM_ICDF(4480), AOM_ICDF(6825), AOM_ICDF(8810), AOM_ICDF(11269),
4649           AOM_ICDF(14257), AOM_ICDF(15716), AOM_ICDF(18397), AOM_ICDF(20006),
4650           AOM_ICDF(24020), AOM_ICDF(28230), AOM_ICDF(29780), AOM_ICDF(31773),
4651           AOM_ICDF(32768), 0,
4652       },
4653       {
4654           AOM_ICDF(6912), AOM_ICDF(9466), AOM_ICDF(11717), AOM_ICDF(15159),
4655           AOM_ICDF(16237), AOM_ICDF(17145), AOM_ICDF(17814), AOM_ICDF(21258),
4656           AOM_ICDF(24754), AOM_ICDF(28864), AOM_ICDF(30313), AOM_ICDF(32061),
4657           AOM_ICDF(32768), 0,
4658       },
4659       {
4660           AOM_ICDF(7680), AOM_ICDF(10517), AOM_ICDF(11381), AOM_ICDF(16202),
4661           AOM_ICDF(16809), AOM_ICDF(17425), AOM_ICDF(17774), AOM_ICDF(18764),
4662           AOM_ICDF(26842), AOM_ICDF(29600), AOM_ICDF(31073), AOM_ICDF(31886),
4663           AOM_ICDF(32768), 0,
4664       },
4665       {
4666           AOM_ICDF(4992), AOM_ICDF(8626), AOM_ICDF(10531), AOM_ICDF(13103),
4667           AOM_ICDF(14495), AOM_ICDF(14784), AOM_ICDF(15365), AOM_ICDF(16657),
4668           AOM_ICDF(21051), AOM_ICDF(27011), AOM_ICDF(29685), AOM_ICDF(31574),
4669           AOM_ICDF(32768), 0,
4670       },
4671       {
4672           AOM_ICDF(4736), AOM_ICDF(9433), AOM_ICDF(10981), AOM_ICDF(13494),
4673           AOM_ICDF(14644), AOM_ICDF(15043), AOM_ICDF(15396), AOM_ICDF(16378),
4674           AOM_ICDF(21506), AOM_ICDF(26869), AOM_ICDF(29824), AOM_ICDF(31454),
4675           AOM_ICDF(32768), 0,
4676       },
4677       {
4678           AOM_ICDF(5760), AOM_ICDF(9526), AOM_ICDF(11905), AOM_ICDF(14476),
4679           AOM_ICDF(15722), AOM_ICDF(16103), AOM_ICDF(16768), AOM_ICDF(18070),
4680           AOM_ICDF(21630), AOM_ICDF(27401), AOM_ICDF(29592), AOM_ICDF(31818),
4681           AOM_ICDF(32768), 0,
4682       },
4683       {
4684           AOM_ICDF(4480), AOM_ICDF(9947), AOM_ICDF(12386), AOM_ICDF(15909),
4685           AOM_ICDF(16496), AOM_ICDF(17397), AOM_ICDF(17866), AOM_ICDF(18927),
4686           AOM_ICDF(24408), AOM_ICDF(27750), AOM_ICDF(29614), AOM_ICDF(30889),
4687           AOM_ICDF(32768), 0,
4688       },
4689   },
4690   {
4691       {
4692           AOM_ICDF(7424), AOM_ICDF(10538), AOM_ICDF(14098), AOM_ICDF(14891),
4693           AOM_ICDF(16486), AOM_ICDF(16756), AOM_ICDF(17607), AOM_ICDF(18952),
4694           AOM_ICDF(20168), AOM_ICDF(26275), AOM_ICDF(28617), AOM_ICDF(31580),
4695           AOM_ICDF(32768), 0,
4696       },
4697       {
4698           AOM_ICDF(5376), AOM_ICDF(13070), AOM_ICDF(14969), AOM_ICDF(15848),
4699           AOM_ICDF(17197), AOM_ICDF(17447), AOM_ICDF(17954), AOM_ICDF(18747),
4700           AOM_ICDF(20137), AOM_ICDF(25628), AOM_ICDF(28753), AOM_ICDF(30628),
4701           AOM_ICDF(32768), 0,
4702       },
4703       {
4704           AOM_ICDF(3584), AOM_ICDF(5287), AOM_ICDF(16141), AOM_ICDF(16840),
4705           AOM_ICDF(17670), AOM_ICDF(17760), AOM_ICDF(18532), AOM_ICDF(20387),
4706           AOM_ICDF(21102), AOM_ICDF(26118), AOM_ICDF(27535), AOM_ICDF(30830),
4707           AOM_ICDF(32768), 0,
4708       },
4709       {
4710           AOM_ICDF(7424), AOM_ICDF(9594), AOM_ICDF(11770), AOM_ICDF(14505),
4711           AOM_ICDF(16234), AOM_ICDF(16365), AOM_ICDF(17201), AOM_ICDF(20286),
4712           AOM_ICDF(22128), AOM_ICDF(27371), AOM_ICDF(29426), AOM_ICDF(31580),
4713           AOM_ICDF(32768), 0,
4714       },
4715       {
4716           AOM_ICDF(5632), AOM_ICDF(8393), AOM_ICDF(10566), AOM_ICDF(11917),
4717           AOM_ICDF(16025), AOM_ICDF(16697), AOM_ICDF(18123), AOM_ICDF(19541),
4718           AOM_ICDF(21135), AOM_ICDF(27059), AOM_ICDF(29325), AOM_ICDF(31814),
4719           AOM_ICDF(32768), 0,
4720       },
4721       {
4722           AOM_ICDF(3840), AOM_ICDF(7916), AOM_ICDF(9526), AOM_ICDF(11010),
4723           AOM_ICDF(14114), AOM_ICDF(18169), AOM_ICDF(19510), AOM_ICDF(21031),
4724           AOM_ICDF(23083), AOM_ICDF(27769), AOM_ICDF(29782), AOM_ICDF(31299),
4725           AOM_ICDF(32768), 0,
4726       },
4727       {
4728           AOM_ICDF(5376), AOM_ICDF(7338), AOM_ICDF(10657), AOM_ICDF(11699),
4729           AOM_ICDF(14780), AOM_ICDF(15070), AOM_ICDF(18291), AOM_ICDF(20170),
4730           AOM_ICDF(21347), AOM_ICDF(26985), AOM_ICDF(28811), AOM_ICDF(31805),
4731           AOM_ICDF(32768), 0,
4732       },
4733       {
4734           AOM_ICDF(5632), AOM_ICDF(7669), AOM_ICDF(11558), AOM_ICDF(12653),
4735           AOM_ICDF(13962), AOM_ICDF(14116), AOM_ICDF(15074), AOM_ICDF(19886),
4736           AOM_ICDF(21123), AOM_ICDF(26953), AOM_ICDF(28755), AOM_ICDF(31708),
4737           AOM_ICDF(32768), 0,
4738       },
4739       {
4740           AOM_ICDF(6528), AOM_ICDF(9739), AOM_ICDF(11612), AOM_ICDF(13211),
4741           AOM_ICDF(14992), AOM_ICDF(15237), AOM_ICDF(16016), AOM_ICDF(17677),
4742           AOM_ICDF(20588), AOM_ICDF(26647), AOM_ICDF(29116), AOM_ICDF(31435),
4743           AOM_ICDF(32768), 0,
4744       },
4745       {
4746           AOM_ICDF(5376), AOM_ICDF(8346), AOM_ICDF(11022), AOM_ICDF(11976),
4747           AOM_ICDF(13541), AOM_ICDF(13749), AOM_ICDF(14520), AOM_ICDF(16173),
4748           AOM_ICDF(17567), AOM_ICDF(25182), AOM_ICDF(28111), AOM_ICDF(31591),
4749           AOM_ICDF(32768), 0,
4750       },
4751       {
4752           AOM_ICDF(4736), AOM_ICDF(8894), AOM_ICDF(11294), AOM_ICDF(12220),
4753           AOM_ICDF(13753), AOM_ICDF(14029), AOM_ICDF(14645), AOM_ICDF(16065),
4754           AOM_ICDF(17621), AOM_ICDF(24911), AOM_ICDF(28655), AOM_ICDF(31344),
4755           AOM_ICDF(32768), 0,
4756       },
4757       {
4758           AOM_ICDF(5760), AOM_ICDF(8193), AOM_ICDF(11667), AOM_ICDF(12461),
4759           AOM_ICDF(13880), AOM_ICDF(14040), AOM_ICDF(14946), AOM_ICDF(16537),
4760           AOM_ICDF(17642), AOM_ICDF(25117), AOM_ICDF(27333), AOM_ICDF(31713),
4761           AOM_ICDF(32768), 0,
4762       },
4763       {
4764           AOM_ICDF(4096), AOM_ICDF(8479), AOM_ICDF(13751), AOM_ICDF(14813),
4765           AOM_ICDF(15994), AOM_ICDF(16157), AOM_ICDF(16905), AOM_ICDF(18314),
4766           AOM_ICDF(19575), AOM_ICDF(25132), AOM_ICDF(27445), AOM_ICDF(30192),
4767           AOM_ICDF(32768), 0,
4768       },
4769   },
4770   {
4771       {
4772           AOM_ICDF(7936), AOM_ICDF(12263), AOM_ICDF(15558), AOM_ICDF(16331),
4773           AOM_ICDF(17779), AOM_ICDF(18148), AOM_ICDF(18810), AOM_ICDF(19794),
4774           AOM_ICDF(21046), AOM_ICDF(26644), AOM_ICDF(29417), AOM_ICDF(31507),
4775           AOM_ICDF(32768), 0,
4776       },
4777       {
4778           AOM_ICDF(5376), AOM_ICDF(15025), AOM_ICDF(16457), AOM_ICDF(17074),
4779           AOM_ICDF(18079), AOM_ICDF(18299), AOM_ICDF(18648), AOM_ICDF(19240),
4780           AOM_ICDF(20612), AOM_ICDF(25687), AOM_ICDF(29392), AOM_ICDF(30842),
4781           AOM_ICDF(32768), 0,
4782       },
4783       {
4784           AOM_ICDF(3840), AOM_ICDF(6037), AOM_ICDF(17465), AOM_ICDF(18089),
4785           AOM_ICDF(18869), AOM_ICDF(18953), AOM_ICDF(19688), AOM_ICDF(21223),
4786           AOM_ICDF(21816), AOM_ICDF(26562), AOM_ICDF(28195), AOM_ICDF(30621),
4787           AOM_ICDF(32768), 0,
4788       },
4789       {
4790           AOM_ICDF(8448), AOM_ICDF(11255), AOM_ICDF(13307), AOM_ICDF(15676),
4791           AOM_ICDF(17392), AOM_ICDF(17603), AOM_ICDF(18268), AOM_ICDF(20783),
4792           AOM_ICDF(22646), AOM_ICDF(27628), AOM_ICDF(29737), AOM_ICDF(31628),
4793           AOM_ICDF(32768), 0,
4794       },
4795       {
4796           AOM_ICDF(5760), AOM_ICDF(9119), AOM_ICDF(11015), AOM_ICDF(12269),
4797           AOM_ICDF(16280), AOM_ICDF(17023), AOM_ICDF(18282), AOM_ICDF(19418),
4798           AOM_ICDF(21325), AOM_ICDF(27309), AOM_ICDF(30004), AOM_ICDF(31818),
4799           AOM_ICDF(32768), 0,
4800       },
4801       {
4802           AOM_ICDF(3968), AOM_ICDF(9094), AOM_ICDF(10606), AOM_ICDF(12007),
4803           AOM_ICDF(14218), AOM_ICDF(18911), AOM_ICDF(20089), AOM_ICDF(20924),
4804           AOM_ICDF(23587), AOM_ICDF(27808), AOM_ICDF(30253), AOM_ICDF(31305),
4805           AOM_ICDF(32768), 0,
4806       },
4807       {
4808           AOM_ICDF(6016), AOM_ICDF(8627), AOM_ICDF(11201), AOM_ICDF(12200),
4809           AOM_ICDF(15305), AOM_ICDF(15671), AOM_ICDF(18639), AOM_ICDF(20185),
4810           AOM_ICDF(21627), AOM_ICDF(26990), AOM_ICDF(29449), AOM_ICDF(31723),
4811           AOM_ICDF(32768), 0,
4812       },
4813       {
4814           AOM_ICDF(6272), AOM_ICDF(8768), AOM_ICDF(12320), AOM_ICDF(13296),
4815           AOM_ICDF(14643), AOM_ICDF(14970), AOM_ICDF(15760), AOM_ICDF(20545),
4816           AOM_ICDF(21863), AOM_ICDF(27473), AOM_ICDF(29535), AOM_ICDF(31836),
4817           AOM_ICDF(32768), 0,
4818       },
4819       {
4820           AOM_ICDF(6912), AOM_ICDF(10905), AOM_ICDF(12656), AOM_ICDF(14084),
4821           AOM_ICDF(15705), AOM_ICDF(16069), AOM_ICDF(16674), AOM_ICDF(17779),
4822           AOM_ICDF(21041), AOM_ICDF(26586), AOM_ICDF(29539), AOM_ICDF(31253),
4823           AOM_ICDF(32768), 0,
4824       },
4825       {
4826           AOM_ICDF(5248), AOM_ICDF(9672), AOM_ICDF(12113), AOM_ICDF(12871),
4827           AOM_ICDF(14423), AOM_ICDF(14710), AOM_ICDF(15376), AOM_ICDF(16708),
4828           AOM_ICDF(18092), AOM_ICDF(25260), AOM_ICDF(28991), AOM_ICDF(31585),
4829           AOM_ICDF(32768), 0,
4830       },
4831       {
4832           AOM_ICDF(4736), AOM_ICDF(10789), AOM_ICDF(13029), AOM_ICDF(13750),
4833           AOM_ICDF(15040), AOM_ICDF(15385), AOM_ICDF(15840), AOM_ICDF(16887),
4834           AOM_ICDF(18393), AOM_ICDF(25230), AOM_ICDF(29558), AOM_ICDF(31454),
4835           AOM_ICDF(32768), 0,
4836       },
4837       {
4838           AOM_ICDF(6016), AOM_ICDF(9916), AOM_ICDF(12938), AOM_ICDF(13741),
4839           AOM_ICDF(15030), AOM_ICDF(15297), AOM_ICDF(16116), AOM_ICDF(17333),
4840           AOM_ICDF(18672), AOM_ICDF(25954), AOM_ICDF(28498), AOM_ICDF(31618),
4841           AOM_ICDF(32768), 0,
4842       },
4843       {
4844           AOM_ICDF(4608), AOM_ICDF(10266), AOM_ICDF(15450), AOM_ICDF(16299),
4845           AOM_ICDF(17114), AOM_ICDF(17288), AOM_ICDF(17775), AOM_ICDF(18835),
4846           AOM_ICDF(20227), AOM_ICDF(25199), AOM_ICDF(28098), AOM_ICDF(30018),
4847           AOM_ICDF(32768), 0,
4848       },
4849   },
4850   {
4851       {
4852           AOM_ICDF(7296), AOM_ICDF(9951), AOM_ICDF(14124), AOM_ICDF(14806),
4853           AOM_ICDF(16181), AOM_ICDF(16377), AOM_ICDF(17485), AOM_ICDF(19069),
4854           AOM_ICDF(20078), AOM_ICDF(26051), AOM_ICDF(27777), AOM_ICDF(31574),
4855           AOM_ICDF(32768), 0,
4856       },
4857       {
4858           AOM_ICDF(5376), AOM_ICDF(13823), AOM_ICDF(15889), AOM_ICDF(16620),
4859           AOM_ICDF(17709), AOM_ICDF(17881), AOM_ICDF(18327), AOM_ICDF(19140),
4860           AOM_ICDF(20374), AOM_ICDF(25685), AOM_ICDF(28160), AOM_ICDF(30521),
4861           AOM_ICDF(32768), 0,
4862       },
4863       {
4864           AOM_ICDF(3200), AOM_ICDF(4602), AOM_ICDF(16404), AOM_ICDF(17042),
4865           AOM_ICDF(17780), AOM_ICDF(17829), AOM_ICDF(18706), AOM_ICDF(20608),
4866           AOM_ICDF(21115), AOM_ICDF(25884), AOM_ICDF(26960), AOM_ICDF(30804),
4867           AOM_ICDF(32768), 0,
4868       },
4869       {
4870           AOM_ICDF(7040), AOM_ICDF(9444), AOM_ICDF(11770), AOM_ICDF(14321),
4871           AOM_ICDF(15951), AOM_ICDF(16074), AOM_ICDF(17033), AOM_ICDF(20352),
4872           AOM_ICDF(22301), AOM_ICDF(27567), AOM_ICDF(29151), AOM_ICDF(31662),
4873           AOM_ICDF(32768), 0,
4874       },
4875       {
4876           AOM_ICDF(6016), AOM_ICDF(8316), AOM_ICDF(10849), AOM_ICDF(12136),
4877           AOM_ICDF(15860), AOM_ICDF(16430), AOM_ICDF(17935), AOM_ICDF(19659),
4878           AOM_ICDF(21083), AOM_ICDF(26968), AOM_ICDF(28839), AOM_ICDF(31618),
4879           AOM_ICDF(32768), 0,
4880       },
4881       {
4882           AOM_ICDF(3840), AOM_ICDF(7472), AOM_ICDF(9436), AOM_ICDF(11038),
4883           AOM_ICDF(13625), AOM_ICDF(17596), AOM_ICDF(18959), AOM_ICDF(20543),
4884           AOM_ICDF(22879), AOM_ICDF(27487), AOM_ICDF(29351), AOM_ICDF(31186),
4885           AOM_ICDF(32768), 0,
4886       },
4887       {
4888           AOM_ICDF(5376), AOM_ICDF(7117), AOM_ICDF(11424), AOM_ICDF(12381),
4889           AOM_ICDF(14823), AOM_ICDF(15053), AOM_ICDF(18656), AOM_ICDF(20818),
4890           AOM_ICDF(21722), AOM_ICDF(27042), AOM_ICDF(28233), AOM_ICDF(31591),
4891           AOM_ICDF(32768), 0,
4892       },
4893       {
4894           AOM_ICDF(5760), AOM_ICDF(7281), AOM_ICDF(11910), AOM_ICDF(12912),
4895           AOM_ICDF(14229), AOM_ICDF(14391), AOM_ICDF(15474), AOM_ICDF(20113),
4896           AOM_ICDF(21128), AOM_ICDF(26627), AOM_ICDF(28077), AOM_ICDF(31713),
4897           AOM_ICDF(32768), 0,
4898       },
4899       {
4900           AOM_ICDF(6656), AOM_ICDF(9452), AOM_ICDF(11526), AOM_ICDF(13288),
4901           AOM_ICDF(14861), AOM_ICDF(15062), AOM_ICDF(15909), AOM_ICDF(17695),
4902           AOM_ICDF(20429), AOM_ICDF(26225), AOM_ICDF(28603), AOM_ICDF(31340),
4903           AOM_ICDF(32768), 0,
4904       },
4905       {
4906           AOM_ICDF(5376), AOM_ICDF(7722), AOM_ICDF(10921), AOM_ICDF(11813),
4907           AOM_ICDF(13222), AOM_ICDF(13348), AOM_ICDF(14211), AOM_ICDF(15976),
4908           AOM_ICDF(17110), AOM_ICDF(24634), AOM_ICDF(27176), AOM_ICDF(31484),
4909           AOM_ICDF(32768), 0,
4910       },
4911       {
4912           AOM_ICDF(4736), AOM_ICDF(8226), AOM_ICDF(11137), AOM_ICDF(11988),
4913           AOM_ICDF(13518), AOM_ICDF(13706), AOM_ICDF(14332), AOM_ICDF(16016),
4914           AOM_ICDF(17301), AOM_ICDF(24641), AOM_ICDF(27704), AOM_ICDF(31016),
4915           AOM_ICDF(32768), 0,
4916       },
4917       {
4918           AOM_ICDF(5760), AOM_ICDF(7592), AOM_ICDF(11880), AOM_ICDF(12612),
4919           AOM_ICDF(13738), AOM_ICDF(13813), AOM_ICDF(14681), AOM_ICDF(16392),
4920           AOM_ICDF(17306), AOM_ICDF(24619), AOM_ICDF(26334), AOM_ICDF(31818),
4921           AOM_ICDF(32768), 0,
4922       },
4923       {
4924           AOM_ICDF(4096), AOM_ICDF(8524), AOM_ICDF(14316), AOM_ICDF(15392),
4925           AOM_ICDF(16295), AOM_ICDF(16433), AOM_ICDF(17197), AOM_ICDF(18718),
4926           AOM_ICDF(19924), AOM_ICDF(25123), AOM_ICDF(26953), AOM_ICDF(29856),
4927           AOM_ICDF(32768), 0,
4928       },
4929   },
4930   {
4931       {
4932           AOM_ICDF(6528), AOM_ICDF(13383), AOM_ICDF(17642), AOM_ICDF(18342),
4933           AOM_ICDF(19224), AOM_ICDF(20209), AOM_ICDF(20899), AOM_ICDF(21944),
4934           AOM_ICDF(23137), AOM_ICDF(25966), AOM_ICDF(27429), AOM_ICDF(28463),
4935           AOM_ICDF(32768), 0,
4936       },
4937       {
4938           AOM_ICDF(4480), AOM_ICDF(16901), AOM_ICDF(18876), AOM_ICDF(19560),
4939           AOM_ICDF(20257), AOM_ICDF(20912), AOM_ICDF(21169), AOM_ICDF(21959),
4940           AOM_ICDF(23036), AOM_ICDF(25781), AOM_ICDF(27676), AOM_ICDF(28569),
4941           AOM_ICDF(32768), 0,
4942       },
4943       {
4944           AOM_ICDF(2688), AOM_ICDF(5337), AOM_ICDF(18178), AOM_ICDF(18829),
4945           AOM_ICDF(19344), AOM_ICDF(19628), AOM_ICDF(20267), AOM_ICDF(22135),
4946           AOM_ICDF(22671), AOM_ICDF(25817), AOM_ICDF(26914), AOM_ICDF(28773),
4947           AOM_ICDF(32768), 0,
4948       },
4949       {
4950           AOM_ICDF(8192), AOM_ICDF(11378), AOM_ICDF(14742), AOM_ICDF(17269),
4951           AOM_ICDF(18230), AOM_ICDF(19001), AOM_ICDF(19655), AOM_ICDF(22949),
4952           AOM_ICDF(24337), AOM_ICDF(28025), AOM_ICDF(29503), AOM_ICDF(30848),
4953           AOM_ICDF(32768), 0,
4954       },
4955       {
4956           AOM_ICDF(5120), AOM_ICDF(10133), AOM_ICDF(13144), AOM_ICDF(14374),
4957           AOM_ICDF(17020), AOM_ICDF(18920), AOM_ICDF(20235), AOM_ICDF(21677),
4958           AOM_ICDF(23142), AOM_ICDF(27131), AOM_ICDF(28671), AOM_ICDF(30284),
4959           AOM_ICDF(32768), 0,
4960       },
4961       {
4962           AOM_ICDF(7424), AOM_ICDF(15588), AOM_ICDF(18431), AOM_ICDF(19723),
4963           AOM_ICDF(21455), AOM_ICDF(24705), AOM_ICDF(25461), AOM_ICDF(26753),
4964           AOM_ICDF(28923), AOM_ICDF(29475), AOM_ICDF(29729), AOM_ICDF(29897),
4965           AOM_ICDF(32768), 0,
4966       },
4967       {
4968           AOM_ICDF(4224), AOM_ICDF(8689), AOM_ICDF(13024), AOM_ICDF(13658),
4969           AOM_ICDF(16637), AOM_ICDF(17307), AOM_ICDF(20836), AOM_ICDF(22665),
4970           AOM_ICDF(23673), AOM_ICDF(27015), AOM_ICDF(28310), AOM_ICDF(30203),
4971           AOM_ICDF(32768), 0,
4972       },
4973       {
4974           AOM_ICDF(5120), AOM_ICDF(7896), AOM_ICDF(13618), AOM_ICDF(14900),
4975           AOM_ICDF(15708), AOM_ICDF(16153), AOM_ICDF(16997), AOM_ICDF(23625),
4976           AOM_ICDF(24466), AOM_ICDF(27719), AOM_ICDF(28892), AOM_ICDF(30500),
4977           AOM_ICDF(32768), 0,
4978       },
4979       {
4980           AOM_ICDF(5760), AOM_ICDF(11305), AOM_ICDF(13669), AOM_ICDF(15462),
4981           AOM_ICDF(16564), AOM_ICDF(17683), AOM_ICDF(18252), AOM_ICDF(20073),
4982           AOM_ICDF(22917), AOM_ICDF(27005), AOM_ICDF(28923), AOM_ICDF(30236),
4983           AOM_ICDF(32768), 0,
4984       },
4985       {
4986           AOM_ICDF(4224), AOM_ICDF(9510), AOM_ICDF(13787), AOM_ICDF(14587),
4987           AOM_ICDF(15753), AOM_ICDF(15925), AOM_ICDF(16513), AOM_ICDF(18193),
4988           AOM_ICDF(19490), AOM_ICDF(24944), AOM_ICDF(27482), AOM_ICDF(29757),
4989           AOM_ICDF(32768), 0,
4990       },
4991       {
4992           AOM_ICDF(3840), AOM_ICDF(10052), AOM_ICDF(14106), AOM_ICDF(14887),
4993           AOM_ICDF(15827), AOM_ICDF(15996), AOM_ICDF(16522), AOM_ICDF(17939),
4994           AOM_ICDF(19204), AOM_ICDF(24508), AOM_ICDF(27661), AOM_ICDF(29491),
4995           AOM_ICDF(32768), 0,
4996       },
4997       {
4998           AOM_ICDF(4736), AOM_ICDF(9676), AOM_ICDF(14492), AOM_ICDF(15163),
4999           AOM_ICDF(16179), AOM_ICDF(16390), AOM_ICDF(17133), AOM_ICDF(18905),
5000           AOM_ICDF(19864), AOM_ICDF(25185), AOM_ICDF(27191), AOM_ICDF(30030),
5001           AOM_ICDF(32768), 0,
5002       },
5003       {
5004           AOM_ICDF(3584), AOM_ICDF(9370), AOM_ICDF(14746), AOM_ICDF(15820),
5005           AOM_ICDF(16708), AOM_ICDF(17224), AOM_ICDF(17718), AOM_ICDF(19329),
5006           AOM_ICDF(20405), AOM_ICDF(23541), AOM_ICDF(25258), AOM_ICDF(26726),
5007           AOM_ICDF(32768), 0,
5008       },
5009   },
5010 #else
5011   {
5012       {
5013           AOM_ICDF(15488), AOM_ICDF(18706), AOM_ICDF(22561), AOM_ICDF(23619),
5014           AOM_ICDF(24954), AOM_ICDF(25782), AOM_ICDF(26710), AOM_ICDF(27861),
5015           AOM_ICDF(28656), AOM_ICDF(30743), AOM_ICDF(32768), 0,
5016       },
5017       {
5018           AOM_ICDF(11648), AOM_ICDF(18744), AOM_ICDF(20846), AOM_ICDF(22100),
5019           AOM_ICDF(23332), AOM_ICDF(24337), AOM_ICDF(25093), AOM_ICDF(26104),
5020           AOM_ICDF(27097), AOM_ICDF(29633), AOM_ICDF(32768), 0,
5021       },
5022       {
5023           AOM_ICDF(8448), AOM_ICDF(10732), AOM_ICDF(22507), AOM_ICDF(23254),
5024           AOM_ICDF(24382), AOM_ICDF(24876), AOM_ICDF(25827), AOM_ICDF(27488),
5025           AOM_ICDF(28040), AOM_ICDF(30108), AOM_ICDF(32768), 0,
5026       },
5027       {
5028           AOM_ICDF(13568), AOM_ICDF(16981), AOM_ICDF(19885), AOM_ICDF(22014),
5029           AOM_ICDF(23543), AOM_ICDF(24658), AOM_ICDF(25641), AOM_ICDF(27378),
5030           AOM_ICDF(28625), AOM_ICDF(31043), AOM_ICDF(32768), 0,
5031       },
5032       {
5033           AOM_ICDF(9600), AOM_ICDF(12225), AOM_ICDF(14408), AOM_ICDF(16033),
5034           AOM_ICDF(19544), AOM_ICDF(22318), AOM_ICDF(23960), AOM_ICDF(25617),
5035           AOM_ICDF(26522), AOM_ICDF(30596), AOM_ICDF(32768), 0,
5036       },
5037       {
5038           AOM_ICDF(12160), AOM_ICDF(15078), AOM_ICDF(16990), AOM_ICDF(18964),
5039           AOM_ICDF(22725), AOM_ICDF(25793), AOM_ICDF(27133), AOM_ICDF(28447),
5040           AOM_ICDF(30831), AOM_ICDF(30836), AOM_ICDF(32768), 0,
5041       },
5042       {
5043           AOM_ICDF(9088), AOM_ICDF(11274), AOM_ICDF(15818), AOM_ICDF(16940),
5044           AOM_ICDF(21178), AOM_ICDF(22338), AOM_ICDF(26171), AOM_ICDF(27754),
5045           AOM_ICDF(28503), AOM_ICDF(31473), AOM_ICDF(32768), 0,
5046       },
5047       {
5048           AOM_ICDF(10880), AOM_ICDF(13846), AOM_ICDF(18649), AOM_ICDF(20252),
5049           AOM_ICDF(22157), AOM_ICDF(22992), AOM_ICDF(24396), AOM_ICDF(27581),
5050           AOM_ICDF(28501), AOM_ICDF(31400), AOM_ICDF(32768), 0,
5051       },
5052       {
5053           AOM_ICDF(11008), AOM_ICDF(13462), AOM_ICDF(15747), AOM_ICDF(18378),
5054           AOM_ICDF(20085), AOM_ICDF(21663), AOM_ICDF(22766), AOM_ICDF(24635),
5055           AOM_ICDF(27476), AOM_ICDF(30643), AOM_ICDF(32768), 0,
5056       },
5057       {
5058           AOM_ICDF(10112), AOM_ICDF(13147), AOM_ICDF(16135), AOM_ICDF(17577),
5059           AOM_ICDF(19681), AOM_ICDF(19689), AOM_ICDF(20856), AOM_ICDF(22374),
5060           AOM_ICDF(24454), AOM_ICDF(30555), AOM_ICDF(32768), 0,
5061       },
5062       {
5063           AOM_ICDF(8704), AOM_ICDF(12176), AOM_ICDF(17582), AOM_ICDF(18905),
5064           AOM_ICDF(19994), AOM_ICDF(20669), AOM_ICDF(21635), AOM_ICDF(23564),
5065           AOM_ICDF(24741), AOM_ICDF(27222), AOM_ICDF(32768), 0,
5066       },
5067   },
5068   {
5069       {
5070           AOM_ICDF(8448), AOM_ICDF(18738), AOM_ICDF(21694), AOM_ICDF(22413),
5071           AOM_ICDF(23358), AOM_ICDF(24675), AOM_ICDF(25193), AOM_ICDF(26119),
5072           AOM_ICDF(27310), AOM_ICDF(30773), AOM_ICDF(32768), 0,
5073       },
5074       {
5075           AOM_ICDF(6656), AOM_ICDF(22027), AOM_ICDF(23242), AOM_ICDF(23986),
5076           AOM_ICDF(24529), AOM_ICDF(25363), AOM_ICDF(25646), AOM_ICDF(26087),
5077           AOM_ICDF(27130), AOM_ICDF(30218), AOM_ICDF(32768), 0,
5078       },
5079       {
5080           AOM_ICDF(7168), AOM_ICDF(13862), AOM_ICDF(21137), AOM_ICDF(22124),
5081           AOM_ICDF(23036), AOM_ICDF(23803), AOM_ICDF(24458), AOM_ICDF(26390),
5082           AOM_ICDF(27342), AOM_ICDF(30968), AOM_ICDF(32768), 0,
5083       },
5084       {
5085           AOM_ICDF(9600), AOM_ICDF(17409), AOM_ICDF(19830), AOM_ICDF(21521),
5086           AOM_ICDF(22580), AOM_ICDF(23726), AOM_ICDF(24377), AOM_ICDF(25679),
5087           AOM_ICDF(27269), AOM_ICDF(30867), AOM_ICDF(32768), 0,
5088       },
5089       {
5090           AOM_ICDF(6912), AOM_ICDF(15832), AOM_ICDF(17559), AOM_ICDF(18777),
5091           AOM_ICDF(20425), AOM_ICDF(22719), AOM_ICDF(23447), AOM_ICDF(24952),
5092           AOM_ICDF(26527), AOM_ICDF(30950), AOM_ICDF(32768), 0,
5093       },
5094       {
5095           AOM_ICDF(7808), AOM_ICDF(18730), AOM_ICDF(20143), AOM_ICDF(21445),
5096           AOM_ICDF(23347), AOM_ICDF(26267), AOM_ICDF(27229), AOM_ICDF(28315),
5097           AOM_ICDF(30911), AOM_ICDF(30915), AOM_ICDF(32768), 0,
5098       },
5099       {
5100           AOM_ICDF(6784), AOM_ICDF(14299), AOM_ICDF(17264), AOM_ICDF(18505),
5101           AOM_ICDF(20765), AOM_ICDF(22440), AOM_ICDF(24331), AOM_ICDF(26038),
5102           AOM_ICDF(27481), AOM_ICDF(31448), AOM_ICDF(32768), 0,
5103       },
5104       {
5105           AOM_ICDF(8832), AOM_ICDF(15726), AOM_ICDF(19455), AOM_ICDF(20668),
5106           AOM_ICDF(21607), AOM_ICDF(22655), AOM_ICDF(23384), AOM_ICDF(26356),
5107           AOM_ICDF(27697), AOM_ICDF(31459), AOM_ICDF(32768), 0,
5108       },
5109       {
5110           AOM_ICDF(8192), AOM_ICDF(17385), AOM_ICDF(18866), AOM_ICDF(20120),
5111           AOM_ICDF(21273), AOM_ICDF(22853), AOM_ICDF(23470), AOM_ICDF(24881),
5112           AOM_ICDF(27216), AOM_ICDF(31040), AOM_ICDF(32768), 0,
5113       },
5114       {
5115           AOM_ICDF(6656), AOM_ICDF(16341), AOM_ICDF(18497), AOM_ICDF(19439),
5116           AOM_ICDF(20706), AOM_ICDF(20711), AOM_ICDF(21234), AOM_ICDF(22307),
5117           AOM_ICDF(23950), AOM_ICDF(30728), AOM_ICDF(32768), 0,
5118       },
5119       {
5120           AOM_ICDF(6400), AOM_ICDF(17625), AOM_ICDF(20326), AOM_ICDF(21821),
5121           AOM_ICDF(22568), AOM_ICDF(23415), AOM_ICDF(23854), AOM_ICDF(24896),
5122           AOM_ICDF(26171), AOM_ICDF(29575), AOM_ICDF(32768), 0,
5123       },
5124   },
5125   {
5126       {
5127           AOM_ICDF(12032), AOM_ICDF(14259), AOM_ICDF(22597), AOM_ICDF(23443),
5128           AOM_ICDF(24581), AOM_ICDF(25079), AOM_ICDF(26399), AOM_ICDF(27862),
5129           AOM_ICDF(28509), AOM_ICDF(30419), AOM_ICDF(32768), 0,
5130       },
5131       {
5132           AOM_ICDF(9216), AOM_ICDF(14883), AOM_ICDF(20941), AOM_ICDF(21958),
5133           AOM_ICDF(23597), AOM_ICDF(24328), AOM_ICDF(25208), AOM_ICDF(26590),
5134           AOM_ICDF(27377), AOM_ICDF(29364), AOM_ICDF(32768), 0,
5135       },
5136       {
5137           AOM_ICDF(6784), AOM_ICDF(8088), AOM_ICDF(24407), AOM_ICDF(25006),
5138           AOM_ICDF(25777), AOM_ICDF(25950), AOM_ICDF(26882), AOM_ICDF(28811),
5139           AOM_ICDF(29159), AOM_ICDF(30636), AOM_ICDF(32768), 0,
5140       },
5141       {
5142           AOM_ICDF(11904), AOM_ICDF(14425), AOM_ICDF(18729), AOM_ICDF(20730),
5143           AOM_ICDF(21998), AOM_ICDF(22686), AOM_ICDF(23856), AOM_ICDF(26580),
5144           AOM_ICDF(27613), AOM_ICDF(29834), AOM_ICDF(32768), 0,
5145       },
5146       {
5147           AOM_ICDF(10752), AOM_ICDF(12784), AOM_ICDF(16305), AOM_ICDF(17624),
5148           AOM_ICDF(20320), AOM_ICDF(22450), AOM_ICDF(24380), AOM_ICDF(26773),
5149           AOM_ICDF(27837), AOM_ICDF(30016), AOM_ICDF(32768), 0,
5150       },
5151       {
5152           AOM_ICDF(10496), AOM_ICDF(14090), AOM_ICDF(18314), AOM_ICDF(20621),
5153           AOM_ICDF(23539), AOM_ICDF(25261), AOM_ICDF(26953), AOM_ICDF(28692),
5154           AOM_ICDF(30064), AOM_ICDF(30071), AOM_ICDF(32768), 0,
5155       },
5156       {
5157           AOM_ICDF(8448), AOM_ICDF(10229), AOM_ICDF(16542), AOM_ICDF(17725),
5158           AOM_ICDF(21504), AOM_ICDF(22332), AOM_ICDF(26006), AOM_ICDF(27895),
5159           AOM_ICDF(28487), AOM_ICDF(31248), AOM_ICDF(32768), 0,
5160       },
5161       {
5162           AOM_ICDF(9728), AOM_ICDF(11162), AOM_ICDF(19379), AOM_ICDF(20981),
5163           AOM_ICDF(22356), AOM_ICDF(22926), AOM_ICDF(24318), AOM_ICDF(28364),
5164           AOM_ICDF(29020), AOM_ICDF(31328), AOM_ICDF(32768), 0,
5165       },
5166       {
5167           AOM_ICDF(9216), AOM_ICDF(10861), AOM_ICDF(14850), AOM_ICDF(16471),
5168           AOM_ICDF(18611), AOM_ICDF(19674), AOM_ICDF(21009), AOM_ICDF(23454),
5169           AOM_ICDF(26078), AOM_ICDF(29272), AOM_ICDF(32768), 0,
5170       },
5171       {
5172           AOM_ICDF(7808), AOM_ICDF(10132), AOM_ICDF(17327), AOM_ICDF(18472),
5173           AOM_ICDF(20126), AOM_ICDF(20132), AOM_ICDF(21599), AOM_ICDF(23338),
5174           AOM_ICDF(24514), AOM_ICDF(29843), AOM_ICDF(32768), 0,
5175       },
5176       {
5177           AOM_ICDF(6784), AOM_ICDF(9210), AOM_ICDF(19309), AOM_ICDF(20715),
5178           AOM_ICDF(21833), AOM_ICDF(22262), AOM_ICDF(23353), AOM_ICDF(24942),
5179           AOM_ICDF(25800), AOM_ICDF(28200), AOM_ICDF(32768), 0,
5180       },
5181   },
5182   {
5183       {
5184           AOM_ICDF(12288), AOM_ICDF(15040), AOM_ICDF(18401), AOM_ICDF(21071),
5185           AOM_ICDF(22800), AOM_ICDF(23945), AOM_ICDF(25274), AOM_ICDF(26939),
5186           AOM_ICDF(28554), AOM_ICDF(31328), AOM_ICDF(32768), 0,
5187       },
5188       {
5189           AOM_ICDF(9344), AOM_ICDF(17170), AOM_ICDF(19325), AOM_ICDF(22119),
5190           AOM_ICDF(23284), AOM_ICDF(24378), AOM_ICDF(24911), AOM_ICDF(26095),
5191           AOM_ICDF(27781), AOM_ICDF(31121), AOM_ICDF(32768), 0,
5192       },
5193       {
5194           AOM_ICDF(9344), AOM_ICDF(11650), AOM_ICDF(19788), AOM_ICDF(21928),
5195           AOM_ICDF(22916), AOM_ICDF(23571), AOM_ICDF(24362), AOM_ICDF(26633),
5196           AOM_ICDF(27946), AOM_ICDF(31212), AOM_ICDF(32768), 0,
5197       },
5198       {
5199           AOM_ICDF(12928), AOM_ICDF(14428), AOM_ICDF(17080), AOM_ICDF(20882),
5200           AOM_ICDF(22104), AOM_ICDF(23149), AOM_ICDF(23715), AOM_ICDF(27167),
5201           AOM_ICDF(28932), AOM_ICDF(31218), AOM_ICDF(32768), 0,
5202       },
5203       {
5204           AOM_ICDF(9088), AOM_ICDF(11962), AOM_ICDF(13849), AOM_ICDF(16880),
5205           AOM_ICDF(19818), AOM_ICDF(21895), AOM_ICDF(23000), AOM_ICDF(25923),
5206           AOM_ICDF(27961), AOM_ICDF(31380), AOM_ICDF(32768), 0,
5207       },
5208       {
5209           AOM_ICDF(10240), AOM_ICDF(13336), AOM_ICDF(15505), AOM_ICDF(18844),
5210           AOM_ICDF(21646), AOM_ICDF(24723), AOM_ICDF(25832), AOM_ICDF(27802),
5211           AOM_ICDF(31088), AOM_ICDF(31096), AOM_ICDF(32768), 0,
5212       },
5213       {
5214           AOM_ICDF(8704), AOM_ICDF(10683), AOM_ICDF(14446), AOM_ICDF(17035),
5215           AOM_ICDF(20211), AOM_ICDF(21577), AOM_ICDF(24370), AOM_ICDF(26477),
5216           AOM_ICDF(28223), AOM_ICDF(31734), AOM_ICDF(32768), 0,
5217       },
5218       {
5219           AOM_ICDF(12928), AOM_ICDF(17358), AOM_ICDF(19982), AOM_ICDF(22123),
5220           AOM_ICDF(23335), AOM_ICDF(23948), AOM_ICDF(24890), AOM_ICDF(28884),
5221           AOM_ICDF(30197), AOM_ICDF(32148), AOM_ICDF(32768), 0,
5222       },
5223       {
5224           AOM_ICDF(10496), AOM_ICDF(12429), AOM_ICDF(16401), AOM_ICDF(20493),
5225           AOM_ICDF(21471), AOM_ICDF(22433), AOM_ICDF(23162), AOM_ICDF(24686),
5226           AOM_ICDF(29027), AOM_ICDF(31115), AOM_ICDF(32768), 0,
5227       },
5228       {
5229           AOM_ICDF(8448), AOM_ICDF(12157), AOM_ICDF(14796), AOM_ICDF(17676),
5230           AOM_ICDF(19754), AOM_ICDF(19762), AOM_ICDF(20641), AOM_ICDF(23274),
5231           AOM_ICDF(25569), AOM_ICDF(31058), AOM_ICDF(32768), 0,
5232       },
5233       {
5234           AOM_ICDF(7296), AOM_ICDF(11083), AOM_ICDF(15313), AOM_ICDF(20550),
5235           AOM_ICDF(21783), AOM_ICDF(22727), AOM_ICDF(23461), AOM_ICDF(25072),
5236           AOM_ICDF(27195), AOM_ICDF(30380), AOM_ICDF(32768), 0,
5237       },
5238   },
5239   {
5240       {
5241           AOM_ICDF(10880), AOM_ICDF(13214), AOM_ICDF(15829), AOM_ICDF(16866),
5242           AOM_ICDF(20613), AOM_ICDF(22316), AOM_ICDF(24539), AOM_ICDF(27077),
5243           AOM_ICDF(28116), AOM_ICDF(31485), AOM_ICDF(32768), 0,
5244       },
5245       {
5246           AOM_ICDF(9984), AOM_ICDF(13868), AOM_ICDF(16397), AOM_ICDF(17486),
5247           AOM_ICDF(20011), AOM_ICDF(22071), AOM_ICDF(23357), AOM_ICDF(24990),
5248           AOM_ICDF(26336), AOM_ICDF(30276), AOM_ICDF(32768), 0,
5249       },
5250       {
5251           AOM_ICDF(7168), AOM_ICDF(8637), AOM_ICDF(17963), AOM_ICDF(18813),
5252           AOM_ICDF(21065), AOM_ICDF(22052), AOM_ICDF(23502), AOM_ICDF(25702),
5253           AOM_ICDF(26745), AOM_ICDF(30668), AOM_ICDF(32768), 0,
5254       },
5255       {
5256           AOM_ICDF(8960), AOM_ICDF(10682), AOM_ICDF(12496), AOM_ICDF(18240),
5257           AOM_ICDF(20500), AOM_ICDF(21585), AOM_ICDF(23387), AOM_ICDF(25795),
5258           AOM_ICDF(27119), AOM_ICDF(31001), AOM_ICDF(32768), 0,
5259       },
5260       {
5261           AOM_ICDF(9856), AOM_ICDF(12056), AOM_ICDF(13722), AOM_ICDF(15196),
5262           AOM_ICDF(19276), AOM_ICDF(21891), AOM_ICDF(23643), AOM_ICDF(25538),
5263           AOM_ICDF(26854), AOM_ICDF(31515), AOM_ICDF(32768), 0,
5264       },
5265       {
5266           AOM_ICDF(9984), AOM_ICDF(12963), AOM_ICDF(14960), AOM_ICDF(16734),
5267           AOM_ICDF(21279), AOM_ICDF(25616), AOM_ICDF(27638), AOM_ICDF(28950),
5268           AOM_ICDF(31161), AOM_ICDF(31166), AOM_ICDF(32768), 0,
5269       },
5270       {
5271           AOM_ICDF(7168), AOM_ICDF(8604), AOM_ICDF(12044), AOM_ICDF(13632),
5272           AOM_ICDF(18931), AOM_ICDF(20553), AOM_ICDF(23452), AOM_ICDF(25800),
5273           AOM_ICDF(27754), AOM_ICDF(31668), AOM_ICDF(32768), 0,
5274       },
5275       {
5276           AOM_ICDF(11520), AOM_ICDF(13372), AOM_ICDF(16642), AOM_ICDF(18137),
5277           AOM_ICDF(20232), AOM_ICDF(21510), AOM_ICDF(23052), AOM_ICDF(26792),
5278           AOM_ICDF(27974), AOM_ICDF(31274), AOM_ICDF(32768), 0,
5279       },
5280       {
5281           AOM_ICDF(10240), AOM_ICDF(12483), AOM_ICDF(14364), AOM_ICDF(16168),
5282           AOM_ICDF(18668), AOM_ICDF(20707), AOM_ICDF(22158), AOM_ICDF(24410),
5283           AOM_ICDF(26370), AOM_ICDF(30744), AOM_ICDF(32768), 0,
5284       },
5285       {
5286           AOM_ICDF(8064), AOM_ICDF(10798), AOM_ICDF(13829), AOM_ICDF(15128),
5287           AOM_ICDF(19136), AOM_ICDF(19152), AOM_ICDF(21057), AOM_ICDF(22583),
5288           AOM_ICDF(24513), AOM_ICDF(30645), AOM_ICDF(32768), 0,
5289       },
5290       {
5291           AOM_ICDF(8448), AOM_ICDF(11025), AOM_ICDF(16073), AOM_ICDF(17603),
5292           AOM_ICDF(20094), AOM_ICDF(21468), AOM_ICDF(22971), AOM_ICDF(24628),
5293           AOM_ICDF(26015), AOM_ICDF(29728), AOM_ICDF(32768), 0,
5294       },
5295   },
5296   {
5297       {
5298           AOM_ICDF(10368), AOM_ICDF(15372), AOM_ICDF(18442), AOM_ICDF(19576),
5299           AOM_ICDF(22674), AOM_ICDF(27128), AOM_ICDF(28232), AOM_ICDF(29624),
5300           AOM_ICDF(31363), AOM_ICDF(31368), AOM_ICDF(32768), 0,
5301       },
5302       {
5303           AOM_ICDF(9472), AOM_ICDF(16687), AOM_ICDF(18957), AOM_ICDF(20272),
5304           AOM_ICDF(22852), AOM_ICDF(27082), AOM_ICDF(27839), AOM_ICDF(28995),
5305           AOM_ICDF(30943), AOM_ICDF(30948), AOM_ICDF(32768), 0,
5306       },
5307       {
5308           AOM_ICDF(8064), AOM_ICDF(12334), AOM_ICDF(19197), AOM_ICDF(20956),
5309           AOM_ICDF(24804), AOM_ICDF(26553), AOM_ICDF(27556), AOM_ICDF(29877),
5310           AOM_ICDF(31311), AOM_ICDF(31320), AOM_ICDF(32768), 0,
5311       },
5312       {
5313           AOM_ICDF(8960), AOM_ICDF(14083), AOM_ICDF(16058), AOM_ICDF(19129),
5314           AOM_ICDF(21136), AOM_ICDF(23635), AOM_ICDF(24870), AOM_ICDF(27577),
5315           AOM_ICDF(31176), AOM_ICDF(31187), AOM_ICDF(32768), 0,
5316       },
5317       {
5318           AOM_ICDF(9984), AOM_ICDF(14208), AOM_ICDF(15589), AOM_ICDF(17640),
5319           AOM_ICDF(22080), AOM_ICDF(26660), AOM_ICDF(27947), AOM_ICDF(29400),
5320           AOM_ICDF(31605), AOM_ICDF(31611), AOM_ICDF(32768), 0,
5321       },
5322       {
5323           AOM_ICDF(9216), AOM_ICDF(15167), AOM_ICDF(16263), AOM_ICDF(17767),
5324           AOM_ICDF(21531), AOM_ICDF(26689), AOM_ICDF(27607), AOM_ICDF(28880),
5325           AOM_ICDF(31291), AOM_ICDF(31296), AOM_ICDF(32768), 0,
5326       },
5327       {
5328           AOM_ICDF(8448), AOM_ICDF(12756), AOM_ICDF(15781), AOM_ICDF(17279),
5329           AOM_ICDF(21198), AOM_ICDF(24057), AOM_ICDF(26171), AOM_ICDF(29200),
5330           AOM_ICDF(31901), AOM_ICDF(31913), AOM_ICDF(32768), 0,
5331       },
5332       {
5333           AOM_ICDF(9984), AOM_ICDF(15074), AOM_ICDF(18244), AOM_ICDF(19878),
5334           AOM_ICDF(22246), AOM_ICDF(24436), AOM_ICDF(25560), AOM_ICDF(28991),
5335           AOM_ICDF(31687), AOM_ICDF(31700), AOM_ICDF(32768), 0,
5336       },
5337       {
5338           AOM_ICDF(10496), AOM_ICDF(15128), AOM_ICDF(17012), AOM_ICDF(18989),
5339           AOM_ICDF(21294), AOM_ICDF(25011), AOM_ICDF(25999), AOM_ICDF(27784),
5340           AOM_ICDF(30934), AOM_ICDF(30941), AOM_ICDF(32768), 0,
5341       },
5342       {
5343           AOM_ICDF(2944), AOM_ICDF(5875), AOM_ICDF(8846), AOM_ICDF(11817),
5344           AOM_ICDF(14806), AOM_ICDF(17795), AOM_ICDF(20769), AOM_ICDF(23761),
5345           AOM_ICDF(26747), AOM_ICDF(29739), AOM_ICDF(32768), 0,
5346       },
5347       {
5348           AOM_ICDF(7424), AOM_ICDF(12915), AOM_ICDF(17544), AOM_ICDF(19392),
5349           AOM_ICDF(23074), AOM_ICDF(25635), AOM_ICDF(26431), AOM_ICDF(28241),
5350           AOM_ICDF(30088), AOM_ICDF(30095), AOM_ICDF(32768), 0,
5351       },
5352   },
5353   {
5354       {
5355           AOM_ICDF(11648), AOM_ICDF(13565), AOM_ICDF(18996), AOM_ICDF(19908),
5356           AOM_ICDF(21897), AOM_ICDF(22852), AOM_ICDF(26656), AOM_ICDF(28172),
5357           AOM_ICDF(28995), AOM_ICDF(31283), AOM_ICDF(32768), 0,
5358       },
5359       {
5360           AOM_ICDF(10240), AOM_ICDF(14255), AOM_ICDF(18109), AOM_ICDF(19716),
5361           AOM_ICDF(21521), AOM_ICDF(22859), AOM_ICDF(24613), AOM_ICDF(26161),
5362           AOM_ICDF(27279), AOM_ICDF(30392), AOM_ICDF(32768), 0,
5363       },
5364       {
5365           AOM_ICDF(6784), AOM_ICDF(7848), AOM_ICDF(18820), AOM_ICDF(19447),
5366           AOM_ICDF(22335), AOM_ICDF(22733), AOM_ICDF(25112), AOM_ICDF(28427),
5367           AOM_ICDF(29013), AOM_ICDF(31550), AOM_ICDF(32768), 0,
5368       },
5369       {
5370           AOM_ICDF(11904), AOM_ICDF(13581), AOM_ICDF(17695), AOM_ICDF(19311),
5371           AOM_ICDF(21698), AOM_ICDF(22562), AOM_ICDF(24391), AOM_ICDF(26559),
5372           AOM_ICDF(27779), AOM_ICDF(30567), AOM_ICDF(32768), 0,
5373       },
5374       {
5375           AOM_ICDF(10624), AOM_ICDF(12334), AOM_ICDF(14643), AOM_ICDF(16255),
5376           AOM_ICDF(20783), AOM_ICDF(22767), AOM_ICDF(24929), AOM_ICDF(26876),
5377           AOM_ICDF(27998), AOM_ICDF(31470), AOM_ICDF(32768), 0,
5378       },
5379       {
5380           AOM_ICDF(12032), AOM_ICDF(14415), AOM_ICDF(16715), AOM_ICDF(18712),
5381           AOM_ICDF(21557), AOM_ICDF(25332), AOM_ICDF(27840), AOM_ICDF(29663),
5382           AOM_ICDF(31708), AOM_ICDF(31715), AOM_ICDF(32768), 0,
5383       },
5384       {
5385           AOM_ICDF(9728), AOM_ICDF(10683), AOM_ICDF(13955), AOM_ICDF(14786),
5386           AOM_ICDF(18481), AOM_ICDF(19492), AOM_ICDF(26749), AOM_ICDF(28483),
5387           AOM_ICDF(29116), AOM_ICDF(31958), AOM_ICDF(32768), 0,
5388       },
5389       {
5390           AOM_ICDF(8960), AOM_ICDF(10032), AOM_ICDF(15755), AOM_ICDF(16949),
5391           AOM_ICDF(19144), AOM_ICDF(19744), AOM_ICDF(22082), AOM_ICDF(27608),
5392           AOM_ICDF(28411), AOM_ICDF(31838), AOM_ICDF(32768), 0,
5393       },
5394       {
5395           AOM_ICDF(14592), AOM_ICDF(15937), AOM_ICDF(18518), AOM_ICDF(19566),
5396           AOM_ICDF(21817), AOM_ICDF(23102), AOM_ICDF(24436), AOM_ICDF(26651),
5397           AOM_ICDF(28100), AOM_ICDF(30993), AOM_ICDF(32768), 0,
5398       },
5399       {
5400           AOM_ICDF(8960), AOM_ICDF(10791), AOM_ICDF(14718), AOM_ICDF(16094),
5401           AOM_ICDF(18560), AOM_ICDF(18570), AOM_ICDF(22120), AOM_ICDF(24188),
5402           AOM_ICDF(25677), AOM_ICDF(31280), AOM_ICDF(32768), 0,
5403       },
5404       {
5405           AOM_ICDF(11136), AOM_ICDF(13058), AOM_ICDF(19006), AOM_ICDF(20135),
5406           AOM_ICDF(21463), AOM_ICDF(22159), AOM_ICDF(24042), AOM_ICDF(26348),
5407           AOM_ICDF(27367), AOM_ICDF(30064), AOM_ICDF(32768), 0,
5408       },
5409   },
5410   {
5411       {
5412           AOM_ICDF(12544), AOM_ICDF(15384), AOM_ICDF(20327), AOM_ICDF(21555),
5413           AOM_ICDF(23456), AOM_ICDF(24144), AOM_ICDF(25421), AOM_ICDF(27884),
5414           AOM_ICDF(28875), AOM_ICDF(31188), AOM_ICDF(32768), 0,
5415       },
5416       {
5417           AOM_ICDF(10368), AOM_ICDF(15009), AOM_ICDF(17631), AOM_ICDF(18970),
5418           AOM_ICDF(20691), AOM_ICDF(21850), AOM_ICDF(22749), AOM_ICDF(25280),
5419           AOM_ICDF(26570), AOM_ICDF(29530), AOM_ICDF(32768), 0,
5420       },
5421       {
5422           AOM_ICDF(9088), AOM_ICDF(10956), AOM_ICDF(21554), AOM_ICDF(22698),
5423           AOM_ICDF(23666), AOM_ICDF(24052), AOM_ICDF(25122), AOM_ICDF(27792),
5424           AOM_ICDF(28612), AOM_ICDF(30825), AOM_ICDF(32768), 0,
5425       },
5426       {
5427           AOM_ICDF(11520), AOM_ICDF(12888), AOM_ICDF(16374), AOM_ICDF(19132),
5428           AOM_ICDF(21186), AOM_ICDF(21843), AOM_ICDF(22902), AOM_ICDF(26440),
5429           AOM_ICDF(27928), AOM_ICDF(29946), AOM_ICDF(32768), 0,
5430       },
5431       {
5432           AOM_ICDF(9984), AOM_ICDF(12199), AOM_ICDF(14625), AOM_ICDF(17321),
5433           AOM_ICDF(20195), AOM_ICDF(21574), AOM_ICDF(23010), AOM_ICDF(25688),
5434           AOM_ICDF(27600), AOM_ICDF(30988), AOM_ICDF(32768), 0,
5435       },
5436       {
5437           AOM_ICDF(10112), AOM_ICDF(13705), AOM_ICDF(16847), AOM_ICDF(19242),
5438           AOM_ICDF(22011), AOM_ICDF(24064), AOM_ICDF(26481), AOM_ICDF(29125),
5439           AOM_ICDF(30545), AOM_ICDF(30555), AOM_ICDF(32768), 0,
5440       },
5441       {
5442           AOM_ICDF(9344), AOM_ICDF(10994), AOM_ICDF(15018), AOM_ICDF(16915),
5443           AOM_ICDF(20471), AOM_ICDF(21334), AOM_ICDF(24577), AOM_ICDF(27472),
5444           AOM_ICDF(28592), AOM_ICDF(31578), AOM_ICDF(32768), 0,
5445       },
5446       {
5447           AOM_ICDF(12928), AOM_ICDF(14540), AOM_ICDF(18022), AOM_ICDF(19481),
5448           AOM_ICDF(21028), AOM_ICDF(21825), AOM_ICDF(22728), AOM_ICDF(28191),
5449           AOM_ICDF(29154), AOM_ICDF(31683), AOM_ICDF(32768), 0,
5450       },
5451       {
5452           AOM_ICDF(10368), AOM_ICDF(12160), AOM_ICDF(14900), AOM_ICDF(17161),
5453           AOM_ICDF(19379), AOM_ICDF(20521), AOM_ICDF(21747), AOM_ICDF(24534),
5454           AOM_ICDF(26677), AOM_ICDF(30318), AOM_ICDF(32768), 0,
5455       },
5456       {
5457           AOM_ICDF(8960), AOM_ICDF(11488), AOM_ICDF(16197), AOM_ICDF(18030),
5458           AOM_ICDF(20010), AOM_ICDF(20018), AOM_ICDF(21347), AOM_ICDF(23948),
5459           AOM_ICDF(25016), AOM_ICDF(30536), AOM_ICDF(32768), 0,
5460       },
5461       {
5462           AOM_ICDF(7808), AOM_ICDF(10310), AOM_ICDF(15420), AOM_ICDF(18961),
5463           AOM_ICDF(20114), AOM_ICDF(20772), AOM_ICDF(21721), AOM_ICDF(24599),
5464           AOM_ICDF(26237), AOM_ICDF(29160), AOM_ICDF(32768), 0,
5465       },
5466   },
5467   {
5468       {
5469           AOM_ICDF(9856), AOM_ICDF(13764), AOM_ICDF(16995), AOM_ICDF(19540),
5470           AOM_ICDF(20802), AOM_ICDF(22302), AOM_ICDF(23113), AOM_ICDF(24519),
5471           AOM_ICDF(27717), AOM_ICDF(31604), AOM_ICDF(32768), 0,
5472       },
5473       {
5474           AOM_ICDF(8704), AOM_ICDF(15725), AOM_ICDF(17309), AOM_ICDF(20296),
5475           AOM_ICDF(21257), AOM_ICDF(22573), AOM_ICDF(23165), AOM_ICDF(23893),
5476           AOM_ICDF(27755), AOM_ICDF(31170), AOM_ICDF(32768), 0,
5477       },
5478       {
5479           AOM_ICDF(7936), AOM_ICDF(11343), AOM_ICDF(19355), AOM_ICDF(21223),
5480           AOM_ICDF(22121), AOM_ICDF(22978), AOM_ICDF(23703), AOM_ICDF(26079),
5481           AOM_ICDF(27978), AOM_ICDF(31507), AOM_ICDF(32768), 0,
5482       },
5483       {
5484           AOM_ICDF(11264), AOM_ICDF(14823), AOM_ICDF(17314), AOM_ICDF(20715),
5485           AOM_ICDF(21999), AOM_ICDF(22982), AOM_ICDF(23728), AOM_ICDF(25229),
5486           AOM_ICDF(28593), AOM_ICDF(31508), AOM_ICDF(32768), 0,
5487       },
5488       {
5489           AOM_ICDF(8704), AOM_ICDF(11788), AOM_ICDF(13666), AOM_ICDF(16523),
5490           AOM_ICDF(18630), AOM_ICDF(20579), AOM_ICDF(21574), AOM_ICDF(23335),
5491           AOM_ICDF(26298), AOM_ICDF(31264), AOM_ICDF(32768), 0,
5492       },
5493       {
5494           AOM_ICDF(9088), AOM_ICDF(14031), AOM_ICDF(15766), AOM_ICDF(18533),
5495           AOM_ICDF(21457), AOM_ICDF(24078), AOM_ICDF(24973), AOM_ICDF(26102),
5496           AOM_ICDF(31284), AOM_ICDF(31288), AOM_ICDF(32768), 0,
5497       },
5498       {
5499           AOM_ICDF(7040), AOM_ICDF(9648), AOM_ICDF(12140), AOM_ICDF(14601),
5500           AOM_ICDF(16742), AOM_ICDF(18070), AOM_ICDF(21154), AOM_ICDF(23582),
5501           AOM_ICDF(27647), AOM_ICDF(31763), AOM_ICDF(32768), 0,
5502       },
5503       {
5504           AOM_ICDF(10240), AOM_ICDF(13466), AOM_ICDF(16837), AOM_ICDF(19351),
5505           AOM_ICDF(20636), AOM_ICDF(21620), AOM_ICDF(22474), AOM_ICDF(25815),
5506           AOM_ICDF(28364), AOM_ICDF(31976), AOM_ICDF(32768), 0,
5507       },
5508       {
5509           AOM_ICDF(11008), AOM_ICDF(13682), AOM_ICDF(15127), AOM_ICDF(18779),
5510           AOM_ICDF(19841), AOM_ICDF(20792), AOM_ICDF(21954), AOM_ICDF(23365),
5511           AOM_ICDF(29100), AOM_ICDF(31748), AOM_ICDF(32768), 0,
5512       },
5513       {
5514           AOM_ICDF(7168), AOM_ICDF(12260), AOM_ICDF(15037), AOM_ICDF(17152),
5515           AOM_ICDF(18730), AOM_ICDF(18736), AOM_ICDF(19436), AOM_ICDF(20484),
5516           AOM_ICDF(24465), AOM_ICDF(30868), AOM_ICDF(32768), 0,
5517       },
5518       {
5519           AOM_ICDF(6784), AOM_ICDF(12469), AOM_ICDF(15422), AOM_ICDF(19291),
5520           AOM_ICDF(20301), AOM_ICDF(21344), AOM_ICDF(21894), AOM_ICDF(23415),
5521           AOM_ICDF(27696), AOM_ICDF(31042), AOM_ICDF(32768), 0,
5522       },
5523   },
5524   {
5525       {
5526           AOM_ICDF(10112), AOM_ICDF(13929), AOM_ICDF(17880), AOM_ICDF(18857),
5527           AOM_ICDF(20955), AOM_ICDF(20963), AOM_ICDF(21974), AOM_ICDF(23273),
5528           AOM_ICDF(24734), AOM_ICDF(31352), AOM_ICDF(32768), 0,
5529       },
5530       {
5531           AOM_ICDF(8064), AOM_ICDF(15826), AOM_ICDF(17929), AOM_ICDF(19017),
5532           AOM_ICDF(21016), AOM_ICDF(21024), AOM_ICDF(21687), AOM_ICDF(22701),
5533           AOM_ICDF(24242), AOM_ICDF(30645), AOM_ICDF(32768), 0,
5534       },
5535       {
5536           AOM_ICDF(6528), AOM_ICDF(9196), AOM_ICDF(20118), AOM_ICDF(21101),
5537           AOM_ICDF(22227), AOM_ICDF(22231), AOM_ICDF(22997), AOM_ICDF(25070),
5538           AOM_ICDF(25919), AOM_ICDF(30923), AOM_ICDF(32768), 0,
5539       },
5540       {
5541           AOM_ICDF(9600), AOM_ICDF(13218), AOM_ICDF(15898), AOM_ICDF(17780),
5542           AOM_ICDF(19991), AOM_ICDF(20000), AOM_ICDF(21196), AOM_ICDF(23912),
5543           AOM_ICDF(26044), AOM_ICDF(31139), AOM_ICDF(32768), 0,
5544       },
5545       {
5546           AOM_ICDF(8960), AOM_ICDF(12037), AOM_ICDF(14178), AOM_ICDF(15681),
5547           AOM_ICDF(20126), AOM_ICDF(20143), AOM_ICDF(21435), AOM_ICDF(23083),
5548           AOM_ICDF(24675), AOM_ICDF(31466), AOM_ICDF(32768), 0,
5549       },
5550       {
5551           AOM_ICDF(2944), AOM_ICDF(5875), AOM_ICDF(8846), AOM_ICDF(11817),
5552           AOM_ICDF(14806), AOM_ICDF(17795), AOM_ICDF(20769), AOM_ICDF(23761),
5553           AOM_ICDF(26747), AOM_ICDF(29739), AOM_ICDF(32768), 0,
5554       },
5555       {
5556           AOM_ICDF(9472), AOM_ICDF(12334), AOM_ICDF(15469), AOM_ICDF(16848),
5557           AOM_ICDF(19972), AOM_ICDF(19984), AOM_ICDF(22292), AOM_ICDF(24384),
5558           AOM_ICDF(25891), AOM_ICDF(31676), AOM_ICDF(32768), 0,
5559       },
5560       {
5561           AOM_ICDF(8448), AOM_ICDF(11176), AOM_ICDF(15497), AOM_ICDF(16676),
5562           AOM_ICDF(18528), AOM_ICDF(18535), AOM_ICDF(19595), AOM_ICDF(24334),
5563           AOM_ICDF(25725), AOM_ICDF(31723), AOM_ICDF(32768), 0,
5564       },
5565       {
5566           AOM_ICDF(8704), AOM_ICDF(12141), AOM_ICDF(14313), AOM_ICDF(15828),
5567           AOM_ICDF(18358), AOM_ICDF(18368), AOM_ICDF(19469), AOM_ICDF(21089),
5568           AOM_ICDF(24027), AOM_ICDF(30700), AOM_ICDF(32768), 0,
5569       },
5570       {
5571           AOM_ICDF(7680), AOM_ICDF(11689), AOM_ICDF(14556), AOM_ICDF(15548),
5572           AOM_ICDF(17878), AOM_ICDF(17887), AOM_ICDF(18873), AOM_ICDF(20512),
5573           AOM_ICDF(22152), AOM_ICDF(31004), AOM_ICDF(32768), 0,
5574       },
5575       {
5576           AOM_ICDF(6656), AOM_ICDF(11476), AOM_ICDF(16600), AOM_ICDF(18052),
5577           AOM_ICDF(19683), AOM_ICDF(19689), AOM_ICDF(20509), AOM_ICDF(22077),
5578           AOM_ICDF(23496), AOM_ICDF(29504), AOM_ICDF(32768), 0,
5579       },
5580   },
5581   {
5582       {
5583           AOM_ICDF(9728), AOM_ICDF(14651), AOM_ICDF(19394), AOM_ICDF(20550),
5584           AOM_ICDF(21680), AOM_ICDF(22479), AOM_ICDF(23516), AOM_ICDF(24952),
5585           AOM_ICDF(26183), AOM_ICDF(28538), AOM_ICDF(32768), 0,
5586       },
5587       {
5588           AOM_ICDF(8832), AOM_ICDF(18693), AOM_ICDF(20913), AOM_ICDF(21933),
5589           AOM_ICDF(22956), AOM_ICDF(23831), AOM_ICDF(24341), AOM_ICDF(25317),
5590           AOM_ICDF(26434), AOM_ICDF(29028), AOM_ICDF(32768), 0,
5591       },
5592       {
5593           AOM_ICDF(5888), AOM_ICDF(8413), AOM_ICDF(20542), AOM_ICDF(21609),
5594           AOM_ICDF(22437), AOM_ICDF(22864), AOM_ICDF(23663), AOM_ICDF(26329),
5595           AOM_ICDF(26900), AOM_ICDF(29828), AOM_ICDF(32768), 0,
5596       },
5597       {
5598           AOM_ICDF(9984), AOM_ICDF(13134), AOM_ICDF(16328), AOM_ICDF(18267),
5599           AOM_ICDF(19814), AOM_ICDF(21461), AOM_ICDF(22393), AOM_ICDF(24944),
5600           AOM_ICDF(26320), AOM_ICDF(29653), AOM_ICDF(32768), 0,
5601       },
5602       {
5603           AOM_ICDF(8448), AOM_ICDF(12425), AOM_ICDF(15474), AOM_ICDF(17031),
5604           AOM_ICDF(19216), AOM_ICDF(20889), AOM_ICDF(23077), AOM_ICDF(25108),
5605           AOM_ICDF(26548), AOM_ICDF(30108), AOM_ICDF(32768), 0,
5606       },
5607       {
5608           AOM_ICDF(9856), AOM_ICDF(15675), AOM_ICDF(19169), AOM_ICDF(20837),
5609           AOM_ICDF(22638), AOM_ICDF(24556), AOM_ICDF(25438), AOM_ICDF(27114),
5610           AOM_ICDF(29449), AOM_ICDF(29456), AOM_ICDF(32768), 0,
5611       },
5612       {
5613           AOM_ICDF(6784), AOM_ICDF(10294), AOM_ICDF(14542), AOM_ICDF(15724),
5614           AOM_ICDF(19109), AOM_ICDF(19972), AOM_ICDF(24084), AOM_ICDF(26329),
5615           AOM_ICDF(27637), AOM_ICDF(30433), AOM_ICDF(32768), 0,
5616       },
5617       {
5618           AOM_ICDF(8320), AOM_ICDF(10873), AOM_ICDF(17095), AOM_ICDF(18466),
5619           AOM_ICDF(19674), AOM_ICDF(20129), AOM_ICDF(21230), AOM_ICDF(27562),
5620           AOM_ICDF(28568), AOM_ICDF(30858), AOM_ICDF(32768), 0,
5621       },
5622       {
5623           AOM_ICDF(9088), AOM_ICDF(13196), AOM_ICDF(15898), AOM_ICDF(17566),
5624           AOM_ICDF(19210), AOM_ICDF(20354), AOM_ICDF(21186), AOM_ICDF(23647),
5625           AOM_ICDF(26235), AOM_ICDF(30548), AOM_ICDF(32768), 0,
5626       },
5627       {
5628           AOM_ICDF(6912), AOM_ICDF(11512), AOM_ICDF(16390), AOM_ICDF(17479),
5629           AOM_ICDF(19065), AOM_ICDF(19071), AOM_ICDF(19740), AOM_ICDF(21715),
5630           AOM_ICDF(23208), AOM_ICDF(29132), AOM_ICDF(32768), 0,
5631       },
5632       {
5633           AOM_ICDF(6656), AOM_ICDF(11485), AOM_ICDF(16060), AOM_ICDF(17734),
5634           AOM_ICDF(19099), AOM_ICDF(19814), AOM_ICDF(21018), AOM_ICDF(23053),
5635           AOM_ICDF(24333), AOM_ICDF(27260), AOM_ICDF(32768), 0,
5636       },
5637   },
5638 #endif  // CONFIG_SMOOTH_HV
5639 };
5640 #endif  // CONFIG_KF_CTX
5641 
5642 #if CONFIG_LPF_SB
5643 static const aom_cdf_prob default_lpf_reuse_cdf[LPF_REUSE_CONTEXT][CDF_SIZE(
5644     2)] = { { AOM_ICDF(8192), AOM_ICDF(32768), 0 },
5645             { AOM_ICDF(4096), AOM_ICDF(32768), 0 } };
5646 
5647 static const aom_cdf_prob
5648     default_lpf_delta_cdf[LPF_DELTA_CONTEXT][CDF_SIZE(DELTA_RANGE)] = {
5649       { AOM_ICDF(4096), AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13560),
5650         AOM_ICDF(15961), AOM_ICDF(18062), AOM_ICDF(19900), AOM_ICDF(32768), 0 },
5651       { AOM_ICDF(4096), AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13560),
5652         AOM_ICDF(15961), AOM_ICDF(18062), AOM_ICDF(19900), AOM_ICDF(32768), 0 },
5653       { AOM_ICDF(4096), AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13560),
5654         AOM_ICDF(15961), AOM_ICDF(18062), AOM_ICDF(19900), AOM_ICDF(32768), 0 },
5655       { AOM_ICDF(4096), AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13560),
5656         AOM_ICDF(15961), AOM_ICDF(18062), AOM_ICDF(19900), AOM_ICDF(32768), 0 },
5657       { AOM_ICDF(4096), AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13560),
5658         AOM_ICDF(15961), AOM_ICDF(18062), AOM_ICDF(19900), AOM_ICDF(32768), 0 },
5659       { AOM_ICDF(4096), AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13560),
5660         AOM_ICDF(15961), AOM_ICDF(18062), AOM_ICDF(19900), AOM_ICDF(32768), 0 },
5661       { AOM_ICDF(4096), AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13560),
5662         AOM_ICDF(15961), AOM_ICDF(18062), AOM_ICDF(19900), AOM_ICDF(32768), 0 },
5663       { AOM_ICDF(4096), AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13560),
5664         AOM_ICDF(15961), AOM_ICDF(18062), AOM_ICDF(19900), AOM_ICDF(32768), 0 }
5665     };
5666 
5667 static const aom_cdf_prob
5668     default_lpf_sign_cdf[LPF_REUSE_CONTEXT][LPF_SIGN_CONTEXT][CDF_SIZE(2)] = {
5669       { { AOM_ICDF(6554), AOM_ICDF(32768), 0 },
5670         { AOM_ICDF(26214), AOM_ICDF(32768), 0 } },
5671       { { AOM_ICDF(16384), AOM_ICDF(32768), 0 },
5672         { AOM_ICDF(16384), AOM_ICDF(32768), 0 } }
5673     };
5674 #endif  // CONFIG_LPF_SB
5675 
init_mode_probs(FRAME_CONTEXT * fc)5676 static void init_mode_probs(FRAME_CONTEXT *fc) {
5677   av1_copy(fc->partition_prob, default_partition_probs);
5678   av1_copy(fc->intra_inter_prob, default_intra_inter_p);
5679   av1_copy(fc->comp_inter_prob, default_comp_inter_p);
5680   av1_copy(fc->palette_y_size_cdf, default_palette_y_size_cdf);
5681   av1_copy(fc->palette_uv_size_cdf, default_palette_uv_size_cdf);
5682   av1_copy(fc->palette_y_color_index_cdf, default_palette_y_color_index_cdf);
5683   av1_copy(fc->palette_uv_color_index_cdf, default_palette_uv_color_index_cdf);
5684   av1_copy(fc->kf_y_cdf, default_kf_y_mode_cdf);
5685 #if CONFIG_MRC_TX
5686   av1_copy(fc->mrc_mask_inter_cdf, default_mrc_mask_inter_cdf);
5687   av1_copy(fc->mrc_mask_intra_cdf, default_mrc_mask_intra_cdf);
5688 #endif  // CONFIG_MRC_TX
5689 #if CONFIG_NEW_MULTISYMBOL
5690   av1_copy(fc->comp_inter_cdf, default_comp_inter_cdf);
5691 #endif  // CONFIG_NEW_MULTISYMBOL
5692 #if CONFIG_EXT_COMP_REFS
5693   av1_copy(fc->comp_ref_type_prob, default_comp_ref_type_p);
5694   av1_copy(fc->uni_comp_ref_prob, default_uni_comp_ref_p);
5695 #if CONFIG_NEW_MULTISYMBOL
5696   av1_copy(fc->comp_ref_type_cdf, default_comp_ref_type_cdf);
5697   av1_copy(fc->uni_comp_ref_cdf, default_uni_comp_ref_cdf);
5698 #endif  // CONFIG_NEW_MULTISYMBOL
5699 #endif  // CONFIG_EXT_COMP_REFS
5700   av1_copy(fc->comp_ref_prob, default_comp_ref_p);
5701 #if CONFIG_NEW_MULTISYMBOL
5702   av1_copy(fc->palette_y_mode_cdf, default_palette_y_mode_cdf);
5703   av1_copy(fc->palette_uv_mode_cdf, default_palette_uv_mode_cdf);
5704   av1_copy(fc->comp_ref_cdf, default_comp_ref_cdf);
5705 #endif
5706 #if CONFIG_LV_MAP
5707   av1_copy(fc->txb_skip, default_txb_skip);
5708   av1_copy(fc->nz_map, default_nz_map);
5709   av1_copy(fc->eob_flag, default_eob_flag);
5710   av1_copy(fc->dc_sign, default_dc_sign);
5711   av1_copy(fc->coeff_base, default_coeff_base);
5712   av1_copy(fc->coeff_lps, default_coeff_lps);
5713 #if BR_NODE
5714   av1_copy(fc->coeff_br, default_coeff_br);
5715 #endif
5716 #if CONFIG_CTX1D
5717   av1_copy(fc->eob_mode, default_eob_mode);
5718   av1_copy(fc->empty_line, default_empty_line);
5719   av1_copy(fc->hv_eob, default_hv_eob);
5720 #endif  // CONFIG_CTX1D
5721 
5722 #if LV_MAP_PROB
5723   av1_init_txb_probs(fc);
5724 #endif  // LV_MAP_PROB
5725 #endif
5726 #if CONFIG_EXT_REFS
5727   av1_copy(fc->comp_bwdref_prob, default_comp_bwdref_p);
5728 #if CONFIG_NEW_MULTISYMBOL
5729   av1_copy(fc->comp_bwdref_cdf, default_comp_bwdref_cdf);
5730 #endif
5731 #endif  // CONFIG_EXT_REFS
5732   av1_copy(fc->single_ref_prob, default_single_ref_p);
5733 #if CONFIG_NEW_MULTISYMBOL
5734   av1_copy(fc->single_ref_cdf, default_single_ref_cdf);
5735 #endif
5736 #if CONFIG_COMPOUND_SINGLEREF
5737   av1_copy(fc->comp_inter_mode_prob, default_comp_inter_mode_p);
5738 #endif  // CONFIG_COMPOUND_SINGLEREF
5739 #if CONFIG_RECT_TX_EXT && (CONFIG_EXT_TX || CONFIG_VAR_TX)
5740   fc->quarter_tx_size_prob = default_quarter_tx_size_prob;
5741 #if CONFIG_NEW_MULTISYMBOL
5742   av1_copy(fc->quarter_tx_size_cdf, default_quarter_tx_size_cdf);
5743 #endif  // CONFIG_NEW_MULTISYMBOL
5744 #endif
5745 #if CONFIG_VAR_TX
5746   av1_copy(fc->txfm_partition_prob, default_txfm_partition_probs);
5747 #if CONFIG_NEW_MULTISYMBOL
5748   av1_copy(fc->txfm_partition_cdf, default_txfm_partition_cdf);
5749 #endif
5750 #endif
5751   av1_copy(fc->skip_probs, default_skip_probs);
5752   av1_copy(fc->newmv_prob, default_newmv_prob);
5753   av1_copy(fc->zeromv_prob, default_zeromv_prob);
5754   av1_copy(fc->refmv_prob, default_refmv_prob);
5755   av1_copy(fc->drl_prob, default_drl_prob);
5756 #if CONFIG_NEW_MULTISYMBOL
5757   av1_copy(fc->newmv_cdf, default_newmv_cdf);
5758   av1_copy(fc->zeromv_cdf, default_zeromv_cdf);
5759   av1_copy(fc->refmv_cdf, default_refmv_cdf);
5760   av1_copy(fc->drl_cdf, default_drl_cdf);
5761 #endif
5762 #if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
5763   av1_copy(fc->motion_mode_prob, default_motion_mode_prob);
5764   av1_copy(fc->motion_mode_cdf, default_motion_mode_cdf);
5765 #if CONFIG_NCOBMC_ADAPT_WEIGHT && CONFIG_MOTION_VAR
5766   av1_copy(fc->ncobmc_mode_prob, default_ncobmc_mode_prob);
5767   av1_copy(fc->ncobmc_mode_cdf, default_ncobmc_mode_cdf);
5768 #endif
5769 #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
5770   av1_copy(fc->obmc_prob, default_obmc_prob);
5771 #if CONFIG_NEW_MULTISYMBOL || CONFIG_NCOBMC_ADAPT_WEIGHT
5772   av1_copy(fc->obmc_cdf, default_obmc_cdf);
5773 #endif
5774 #if CONFIG_NCOBMC_ADAPT_WEIGHT
5775   av1_copy(fc->ncobmc_prob, default_ncobmc_prob);
5776   av1_copy(fc->ncobmc_cdf, default_ncobmc_cdf);
5777 #endif  // CONFIG_NCOBMC_ADAPT_WEIGHT
5778 #endif  // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
5779 #endif  // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
5780   av1_copy(fc->inter_compound_mode_probs, default_inter_compound_mode_probs);
5781   av1_copy(fc->inter_compound_mode_cdf, default_inter_compound_mode_cdf);
5782 #if CONFIG_COMPOUND_SINGLEREF
5783   av1_copy(fc->inter_singleref_comp_mode_probs,
5784            default_inter_singleref_comp_mode_probs);
5785   av1_copy(fc->inter_singleref_comp_mode_cdf,
5786            default_inter_singleref_comp_mode_cdf);
5787 #endif  // CONFIG_COMPOUND_SINGLEREF
5788   av1_copy(fc->compound_type_prob, default_compound_type_probs);
5789 #if CONFIG_WEDGE || CONFIG_COMPOUND_SEGMENT
5790   av1_copy(fc->compound_type_cdf, default_compound_type_cdf);
5791 #endif  // CONFIG_WEDGE || CONFIG_COMPOUND_SEGMENT
5792 #if CONFIG_INTERINTRA
5793   av1_copy(fc->interintra_prob, default_interintra_prob);
5794   av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob);
5795 #if CONFIG_NEW_MULTISYMBOL
5796   av1_copy(fc->interintra_cdf, default_interintra_cdf);
5797   av1_copy(fc->wedge_interintra_cdf, default_wedge_interintra_cdf);
5798 #endif  // CONFIG_NEW_MULTISYMBOL
5799   av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob);
5800   av1_copy(fc->interintra_mode_cdf, default_interintra_mode_cdf);
5801 #endif  // CONFIG_INTERINTRA
5802 #if CONFIG_SUPERTX
5803   av1_copy(fc->supertx_prob, default_supertx_prob);
5804 #endif  // CONFIG_SUPERTX
5805   av1_copy(fc->seg.tree_probs, default_segment_tree_probs);
5806   av1_copy(fc->seg.pred_probs, default_segment_pred_probs);
5807 #if CONFIG_NEW_MULTISYMBOL
5808   av1_copy(fc->seg.pred_cdf, default_segment_pred_cdf);
5809 #endif
5810 #if CONFIG_EXT_INTRA
5811 #if CONFIG_INTRA_INTERP
5812   av1_copy(fc->intra_filter_probs, default_intra_filter_probs);
5813 #endif  // CONFIG_INTRA_INTERP
5814 #endif  // CONFIG_EXT_INTRA
5815 #if CONFIG_FILTER_INTRA
5816   av1_copy(fc->filter_intra_probs, default_filter_intra_probs);
5817 #endif  // CONFIG_FILTER_INTRA
5818 #if CONFIG_LGT_FROM_PRED
5819   av1_copy(fc->intra_lgt_prob, default_intra_lgt_prob);
5820   av1_copy(fc->inter_lgt_prob, default_inter_lgt_prob);
5821 #endif  // CONFIG_LGT_FROM_PRED
5822 #if CONFIG_LOOP_RESTORATION
5823   av1_copy(fc->switchable_restore_prob, default_switchable_restore_prob);
5824 #endif  // CONFIG_LOOP_RESTORATION
5825   av1_copy(fc->y_mode_cdf, default_if_y_mode_cdf);
5826   av1_copy(fc->uv_mode_cdf, default_uv_mode_cdf);
5827   av1_copy(fc->switchable_interp_cdf, default_switchable_interp_cdf);
5828   av1_copy(fc->partition_cdf, default_partition_cdf);
5829   av1_copy(fc->intra_ext_tx_cdf, default_intra_ext_tx_cdf);
5830   av1_copy(fc->inter_ext_tx_cdf, default_inter_ext_tx_cdf);
5831 #if CONFIG_NEW_MULTISYMBOL
5832   av1_copy(fc->skip_cdfs, default_skip_cdfs);
5833   av1_copy(fc->intra_inter_cdf, default_intra_inter_cdf);
5834 #endif
5835 #if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
5836   av1_copy(fc->intra_filter_cdf, default_intra_filter_cdf);
5837 #endif  // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
5838   av1_copy(fc->seg.tree_cdf, default_seg_tree_cdf);
5839   av1_copy(fc->tx_size_cdf, default_tx_size_cdf);
5840   av1_copy(fc->delta_q_prob, default_delta_q_probs);
5841   av1_copy(fc->delta_q_cdf, default_delta_q_cdf);
5842 #if CONFIG_EXT_DELTA_Q
5843   av1_copy(fc->delta_lf_prob, default_delta_lf_probs);
5844   av1_copy(fc->delta_lf_cdf, default_delta_lf_cdf);
5845 #if CONFIG_LOOPFILTER_LEVEL
5846   av1_copy(fc->delta_lf_multi_cdf, default_delta_lf_multi_cdf);
5847 #endif  // CONFIG_LOOPFILTER_LEVEL
5848 #endif
5849 #if CONFIG_CFL
5850   av1_copy(fc->cfl_sign_cdf, default_cfl_sign_cdf);
5851   av1_copy(fc->cfl_alpha_cdf, default_cfl_alpha_cdf);
5852 #endif
5853 #if CONFIG_INTRABC
5854   av1_copy(fc->intrabc_cdf, default_intrabc_cdf);
5855 #endif
5856 #if CONFIG_LPF_SB
5857   av1_copy(fc->lpf_reuse_cdf, default_lpf_reuse_cdf);
5858   av1_copy(fc->lpf_delta_cdf, default_lpf_delta_cdf);
5859   av1_copy(fc->lpf_sign_cdf, default_lpf_sign_cdf);
5860 #endif  // CONFIG_LPF_SB
5861 }
5862 
av1_adapt_inter_frame_probs(AV1_COMMON * cm)5863 void av1_adapt_inter_frame_probs(AV1_COMMON *cm) {
5864   int i, j;
5865   FRAME_CONTEXT *fc = cm->fc;
5866   const FRAME_CONTEXT *pre_fc = cm->pre_fc;
5867   const FRAME_COUNTS *counts = &cm->counts;
5868 
5869   for (i = 0; i < INTRA_INTER_CONTEXTS; i++)
5870     fc->intra_inter_prob[i] = av1_mode_mv_merge_probs(
5871         pre_fc->intra_inter_prob[i], counts->intra_inter[i]);
5872 
5873   for (i = 0; i < COMP_INTER_CONTEXTS; i++)
5874     fc->comp_inter_prob[i] = av1_mode_mv_merge_probs(pre_fc->comp_inter_prob[i],
5875                                                      counts->comp_inter[i]);
5876 
5877 #if CONFIG_EXT_COMP_REFS
5878   for (i = 0; i < COMP_REF_TYPE_CONTEXTS; i++)
5879     fc->comp_ref_type_prob[i] = av1_mode_mv_merge_probs(
5880         pre_fc->comp_ref_type_prob[i], counts->comp_ref_type[i]);
5881 
5882   for (i = 0; i < UNI_COMP_REF_CONTEXTS; i++)
5883     for (j = 0; j < (UNIDIR_COMP_REFS - 1); j++)
5884       fc->uni_comp_ref_prob[i][j] = av1_mode_mv_merge_probs(
5885           pre_fc->uni_comp_ref_prob[i][j], counts->uni_comp_ref[i][j]);
5886 #endif  // CONFIG_EXT_COMP_REFS
5887 
5888 #if CONFIG_EXT_REFS
5889   for (i = 0; i < REF_CONTEXTS; i++)
5890     for (j = 0; j < (FWD_REFS - 1); j++)
5891       fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
5892                                                     counts->comp_ref[i][j]);
5893   for (i = 0; i < REF_CONTEXTS; i++)
5894     for (j = 0; j < (BWD_REFS - 1); j++)
5895       fc->comp_bwdref_prob[i][j] = mode_mv_merge_probs(
5896           pre_fc->comp_bwdref_prob[i][j], counts->comp_bwdref[i][j]);
5897 #else
5898   for (i = 0; i < REF_CONTEXTS; i++)
5899     for (j = 0; j < (COMP_REFS - 1); j++)
5900       fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
5901                                                     counts->comp_ref[i][j]);
5902 #endif  // CONFIG_EXT_REFS
5903 
5904   for (i = 0; i < REF_CONTEXTS; i++)
5905     for (j = 0; j < (SINGLE_REFS - 1); j++)
5906       fc->single_ref_prob[i][j] = av1_mode_mv_merge_probs(
5907           pre_fc->single_ref_prob[i][j], counts->single_ref[i][j]);
5908 
5909 #if CONFIG_COMPOUND_SINGLEREF
5910   for (i = 0; i < COMP_INTER_MODE_CONTEXTS; i++)
5911     fc->comp_inter_mode_prob[i] = av1_mode_mv_merge_probs(
5912         pre_fc->comp_inter_mode_prob[i], counts->comp_inter_mode[i]);
5913 
5914 #endif  // CONFIG_COMPOUND_SINGLEREF
5915 
5916   for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i)
5917     fc->newmv_prob[i] =
5918         av1_mode_mv_merge_probs(pre_fc->newmv_prob[i], counts->newmv_mode[i]);
5919   for (i = 0; i < ZEROMV_MODE_CONTEXTS; ++i)
5920     fc->zeromv_prob[i] =
5921         av1_mode_mv_merge_probs(pre_fc->zeromv_prob[i], counts->zeromv_mode[i]);
5922   for (i = 0; i < REFMV_MODE_CONTEXTS; ++i)
5923     fc->refmv_prob[i] =
5924         av1_mode_mv_merge_probs(pre_fc->refmv_prob[i], counts->refmv_mode[i]);
5925 
5926   for (i = 0; i < DRL_MODE_CONTEXTS; ++i)
5927     fc->drl_prob[i] =
5928         av1_mode_mv_merge_probs(pre_fc->drl_prob[i], counts->drl_mode[i]);
5929 
5930 #if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
5931   for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i)
5932     aom_tree_merge_probs(av1_motion_mode_tree, pre_fc->motion_mode_prob[i],
5933                          counts->motion_mode[i], fc->motion_mode_prob[i]);
5934 #if CONFIG_NCOBMC_ADAPT_WEIGHT
5935   for (i = 0; i < ADAPT_OVERLAP_BLOCKS; ++i)
5936     aom_tree_merge_probs(av1_ncobmc_mode_tree, pre_fc->ncobmc_mode_prob[i],
5937                          counts->ncobmc_mode[i], fc->ncobmc_mode_prob[i]);
5938 #if CONFIG_WARPED_MOTION
5939   for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i)
5940     aom_tree_merge_probs(av1_ncobmc_tree, pre_fc->ncobmc_prob[i],
5941                          counts->ncobmc[i], fc->ncobmc_prob[i]);
5942 #endif
5943 #endif  // CONFIG_NCOBMC_ADAPT_WEIGHT
5944 #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
5945   for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i)
5946     fc->obmc_prob[i] =
5947         av1_mode_mv_merge_probs(pre_fc->obmc_prob[i], counts->obmc[i]);
5948 #endif  // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
5949 #endif  // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
5950 
5951 #if CONFIG_SUPERTX
5952   for (i = 0; i < PARTITION_SUPERTX_CONTEXTS; ++i) {
5953     for (j = TX_8X8; j < TX_SIZES; ++j) {
5954       fc->supertx_prob[i][j] = av1_mode_mv_merge_probs(
5955           pre_fc->supertx_prob[i][j], counts->supertx[i][j]);
5956     }
5957   }
5958 #endif  // CONFIG_SUPERTX
5959 
5960   for (i = 0; i < INTER_MODE_CONTEXTS; i++)
5961     aom_tree_merge_probs(
5962         av1_inter_compound_mode_tree, pre_fc->inter_compound_mode_probs[i],
5963         counts->inter_compound_mode[i], fc->inter_compound_mode_probs[i]);
5964 #if CONFIG_COMPOUND_SINGLEREF
5965   for (i = 0; i < INTER_MODE_CONTEXTS; i++)
5966     aom_tree_merge_probs(av1_inter_singleref_comp_mode_tree,
5967                          pre_fc->inter_singleref_comp_mode_probs[i],
5968                          counts->inter_singleref_comp_mode[i],
5969                          fc->inter_singleref_comp_mode_probs[i]);
5970 #endif  // CONFIG_COMPOUND_SINGLEREF
5971 #if CONFIG_INTERINTRA
5972   if (cm->allow_interintra_compound) {
5973     for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) {
5974       if (is_interintra_allowed_bsize_group(i))
5975         fc->interintra_prob[i] = av1_mode_mv_merge_probs(
5976             pre_fc->interintra_prob[i], counts->interintra[i]);
5977     }
5978     for (i = 0; i < BLOCK_SIZE_GROUPS; i++) {
5979       aom_tree_merge_probs(
5980           av1_interintra_mode_tree, pre_fc->interintra_mode_prob[i],
5981           counts->interintra_mode[i], fc->interintra_mode_prob[i]);
5982     }
5983 #if CONFIG_WEDGE
5984     for (i = 0; i < BLOCK_SIZES_ALL; ++i) {
5985       if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i))
5986         fc->wedge_interintra_prob[i] = av1_mode_mv_merge_probs(
5987             pre_fc->wedge_interintra_prob[i], counts->wedge_interintra[i]);
5988     }
5989 #endif  // CONFIG_WEDGE
5990   }
5991 #endif  // CONFIG_INTERINTRA
5992 
5993 #if CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
5994   if (cm->allow_masked_compound) {
5995     for (i = 0; i < BLOCK_SIZES_ALL; ++i) {
5996       aom_tree_merge_probs(
5997           av1_compound_type_tree, pre_fc->compound_type_prob[i],
5998           counts->compound_interinter[i], fc->compound_type_prob[i]);
5999     }
6000   }
6001 #endif  // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
6002 }
6003 
av1_adapt_intra_frame_probs(AV1_COMMON * cm)6004 void av1_adapt_intra_frame_probs(AV1_COMMON *cm) {
6005   int i;
6006   FRAME_CONTEXT *fc = cm->fc;
6007   const FRAME_CONTEXT *pre_fc = cm->pre_fc;
6008   const FRAME_COUNTS *counts = &cm->counts;
6009 
6010   if (cm->tx_mode == TX_MODE_SELECT) {
6011 #if CONFIG_RECT_TX_EXT && (CONFIG_EXT_TX || CONFIG_VAR_TX)
6012     fc->quarter_tx_size_prob = av1_mode_mv_merge_probs(
6013         pre_fc->quarter_tx_size_prob, counts->quarter_tx_size);
6014 #endif
6015   }
6016 
6017 #if CONFIG_VAR_TX
6018   if (cm->tx_mode == TX_MODE_SELECT) {
6019     for (i = 0; i < TXFM_PARTITION_CONTEXTS; ++i)
6020       fc->txfm_partition_prob[i] = av1_mode_mv_merge_probs(
6021           pre_fc->txfm_partition_prob[i], counts->txfm_partition[i]);
6022   }
6023 #endif
6024 
6025   for (i = 0; i < SKIP_CONTEXTS; ++i)
6026     fc->skip_probs[i] =
6027         av1_mode_mv_merge_probs(pre_fc->skip_probs[i], counts->skip[i]);
6028 
6029 #if CONFIG_LGT_FROM_PRED
6030   int j;
6031   if (LGT_FROM_PRED_INTRA) {
6032     for (i = TX_4X4; i < LGT_SIZES; ++i) {
6033       for (j = 0; j < INTRA_MODES; ++j)
6034         fc->intra_lgt_prob[i][j] = av1_mode_mv_merge_probs(
6035             pre_fc->intra_lgt_prob[i][j], counts->intra_lgt[i][j]);
6036     }
6037   }
6038   if (LGT_FROM_PRED_INTER) {
6039     for (i = TX_4X4; i < LGT_SIZES; ++i) {
6040       fc->inter_lgt_prob[i] = av1_mode_mv_merge_probs(pre_fc->inter_lgt_prob[i],
6041                                                       counts->inter_lgt[i]);
6042     }
6043   }
6044 #endif  // CONFIG_LGT_FROM_PRED
6045 
6046   if (cm->seg.temporal_update) {
6047     for (i = 0; i < PREDICTION_PROBS; i++)
6048       fc->seg.pred_probs[i] = av1_mode_mv_merge_probs(pre_fc->seg.pred_probs[i],
6049                                                       counts->seg.pred[i]);
6050 
6051     aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
6052                          counts->seg.tree_mispred, fc->seg.tree_probs);
6053   } else {
6054     aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
6055                          counts->seg.tree_total, fc->seg.tree_probs);
6056   }
6057 
6058 #if CONFIG_EXT_PARTITION_TYPES
6059   for (i = 0; i < PARTITION_PLOFFSET; ++i)
6060     aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
6061                          counts->partition[i], fc->partition_prob[i]);
6062   for (; i < PARTITION_CONTEXTS_PRIMARY; ++i)
6063     aom_tree_merge_probs(av1_ext_partition_tree, pre_fc->partition_prob[i],
6064                          counts->partition[i], fc->partition_prob[i]);
6065 #else
6066   for (i = 0; i < PARTITION_CONTEXTS_PRIMARY; ++i) {
6067     aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
6068                          counts->partition[i], fc->partition_prob[i]);
6069   }
6070 #endif  // CONFIG_EXT_PARTITION_TYPES
6071 #if CONFIG_UNPOISON_PARTITION_CTX
6072   for (i = PARTITION_CONTEXTS_PRIMARY;
6073        i < PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES; ++i) {
6074     unsigned int ct[2] = { counts->partition[i][PARTITION_VERT],
6075                            counts->partition[i][PARTITION_SPLIT] };
6076     assert(counts->partition[i][PARTITION_NONE] == 0);
6077     assert(counts->partition[i][PARTITION_HORZ] == 0);
6078     assert(fc->partition_prob[i][PARTITION_NONE] == 0);
6079     assert(fc->partition_prob[i][PARTITION_HORZ] == 0);
6080     fc->partition_prob[i][PARTITION_VERT] =
6081         av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_VERT], ct);
6082   }
6083   for (i = PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES;
6084        i < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++i) {
6085     unsigned int ct[2] = { counts->partition[i][PARTITION_HORZ],
6086                            counts->partition[i][PARTITION_SPLIT] };
6087     assert(counts->partition[i][PARTITION_NONE] == 0);
6088     assert(counts->partition[i][PARTITION_VERT] == 0);
6089     assert(fc->partition_prob[i][PARTITION_NONE] == 0);
6090     assert(fc->partition_prob[i][PARTITION_VERT] == 0);
6091     fc->partition_prob[i][PARTITION_HORZ] =
6092         av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_HORZ], ct);
6093   }
6094 #endif
6095   for (i = 0; i < DELTA_Q_PROBS; ++i)
6096     fc->delta_q_prob[i] =
6097         mode_mv_merge_probs(pre_fc->delta_q_prob[i], counts->delta_q[i]);
6098 #if CONFIG_EXT_DELTA_Q
6099 #if CONFIG_LOOPFILTER_LEVEL
6100   for (i = 0; i < FRAME_LF_COUNT; ++i)
6101     for (int j = 0; j < DELTA_LF_PROBS; ++j)
6102       fc->delta_lf_multi_prob[i][j] = mode_mv_merge_probs(
6103           pre_fc->delta_lf_multi_prob[i][j], counts->delta_lf_multi[i][j]);
6104 #endif  // CONFIG_LOOPFILTER_LEVEL
6105   for (i = 0; i < DELTA_LF_PROBS; ++i)
6106     fc->delta_lf_prob[i] =
6107         mode_mv_merge_probs(pre_fc->delta_lf_prob[i], counts->delta_lf[i]);
6108 #endif  // CONFIG_EXT_DELTA_Q
6109 #if CONFIG_EXT_INTRA
6110 #if CONFIG_INTRA_INTERP
6111   for (i = 0; i < INTRA_FILTERS + 1; ++i) {
6112     aom_tree_merge_probs(av1_intra_filter_tree, pre_fc->intra_filter_probs[i],
6113                          counts->intra_filter[i], fc->intra_filter_probs[i]);
6114   }
6115 #endif  // CONFIG_INTRA_INTERP
6116 #endif  // CONFIG_EXT_INTRA
6117 #if CONFIG_FILTER_INTRA
6118   for (i = 0; i < PLANE_TYPES; ++i) {
6119     fc->filter_intra_probs[i] = av1_mode_mv_merge_probs(
6120         pre_fc->filter_intra_probs[i], counts->filter_intra[i]);
6121   }
6122 #endif  // CONFIG_FILTER_INTRA
6123 }
6124 
set_default_lf_deltas(struct loopfilter * lf)6125 static void set_default_lf_deltas(struct loopfilter *lf) {
6126   lf->mode_ref_delta_enabled = 1;
6127   lf->mode_ref_delta_update = 1;
6128 
6129   lf->ref_deltas[INTRA_FRAME] = 1;
6130   lf->ref_deltas[LAST_FRAME] = 0;
6131 #if CONFIG_EXT_REFS
6132   lf->ref_deltas[LAST2_FRAME] = lf->ref_deltas[LAST_FRAME];
6133   lf->ref_deltas[LAST3_FRAME] = lf->ref_deltas[LAST_FRAME];
6134   lf->ref_deltas[BWDREF_FRAME] = lf->ref_deltas[LAST_FRAME];
6135 #endif  // CONFIG_EXT_REFS
6136   lf->ref_deltas[GOLDEN_FRAME] = -1;
6137 #if CONFIG_EXT_REFS
6138   lf->ref_deltas[ALTREF2_FRAME] = -1;
6139 #endif  // CONFIG_EXT_REFS
6140   lf->ref_deltas[ALTREF_FRAME] = -1;
6141 
6142   lf->mode_deltas[0] = 0;
6143   lf->mode_deltas[1] = 0;
6144 
6145   av1_copy(lf->last_ref_deltas, lf->ref_deltas);
6146   av1_copy(lf->last_mode_deltas, lf->mode_deltas);
6147 }
6148 
av1_setup_past_independence(AV1_COMMON * cm)6149 void av1_setup_past_independence(AV1_COMMON *cm) {
6150   // Reset the segment feature data to the default stats:
6151   // Features disabled, 0, with delta coding (Default state).
6152   struct loopfilter *const lf = &cm->lf;
6153 
6154   int i;
6155   av1_clearall_segfeatures(&cm->seg);
6156   cm->seg.abs_delta = SEGMENT_DELTADATA;
6157 
6158   if (cm->last_frame_seg_map && !cm->frame_parallel_decode)
6159     memset(cm->last_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
6160 
6161   if (cm->current_frame_seg_map)
6162     memset(cm->current_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
6163 
6164   // Reset the mode ref deltas for loop filter
6165   av1_zero(lf->last_ref_deltas);
6166   av1_zero(lf->last_mode_deltas);
6167   set_default_lf_deltas(lf);
6168 
6169   // To force update of the sharpness
6170   lf->last_sharpness_level = -1;
6171 
6172   av1_default_coef_probs(cm);
6173   init_mode_probs(cm->fc);
6174   av1_init_mv_probs(cm);
6175 #if CONFIG_LV_MAP
6176   av1_init_lv_map(cm);
6177 #endif
6178 #if CONFIG_PVQ
6179   av1_default_pvq_probs(cm);
6180 #endif  // CONFIG_PVQ
6181 #if CONFIG_ADAPT_SCAN
6182   av1_init_scan_order(cm);
6183 #endif
6184   av1_convolve_init(cm);
6185   cm->fc->initialized = 1;
6186 
6187 #if CONFIG_NO_FRAME_CONTEXT_SIGNALING
6188   if (cm->frame_type == KEY_FRAME) {
6189     // Reset all frame contexts, as all reference frames will be lost.
6190     for (i = 0; i < FRAME_CONTEXTS; ++i) cm->frame_contexts[i] = *cm->fc;
6191   }
6192 #else
6193   if (cm->frame_type == KEY_FRAME || cm->error_resilient_mode ||
6194       cm->reset_frame_context == RESET_FRAME_CONTEXT_ALL) {
6195     // Reset all frame contexts.
6196     for (i = 0; i < FRAME_CONTEXTS; ++i) cm->frame_contexts[i] = *cm->fc;
6197   } else if (cm->reset_frame_context == RESET_FRAME_CONTEXT_CURRENT) {
6198 #if CONFIG_NO_FRAME_CONTEXT_SIGNALING
6199     // Reset the frame context of the first specified ref frame.
6200     if (cm->frame_refs[0].idx >= 0) {
6201       cm->frame_contexts[cm->frame_refs[0].idx] = *cm->fc;
6202     }
6203 #else
6204     // Reset only the frame context specified in the frame header.
6205     cm->frame_contexts[cm->frame_context_idx] = *cm->fc;
6206 #endif  // CONFIG_NO_FRAME_CONTEXT_SIGNALING
6207   }
6208 #endif  // CONFIG_NO_FRAME_CONTEXT_SIGNALING
6209 
6210   // prev_mip will only be allocated in encoder.
6211   if (frame_is_intra_only(cm) && cm->prev_mip && !cm->frame_parallel_decode)
6212     memset(cm->prev_mip, 0,
6213            cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->prev_mip));
6214 #if !CONFIG_NO_FRAME_CONTEXT_SIGNALING
6215   cm->frame_context_idx = 0;
6216 #endif  // !CONFIG_NO_FRAME_CONTEXT_SIGNALING
6217 }
6218