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