blob: 207f1e245189645042b0d3c6f9e5c3d26b46acf4 [file] [log] [blame]
Yaowu Xuc27fc142016-08-22 16:08:15 -07001/*
Yaowu Xu2ab7ff02016-09-02 12:04:54 -07002 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
Yaowu Xuc27fc142016-08-22 16:08:15 -07003 *
Yaowu Xu2ab7ff02016-09-02 12:04:54 -07004 * 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.
Yaowu Xuc27fc142016-08-22 16:08:15 -070010 */
11
Yaowu Xuf883b422016-08-30 14:01:10 -070012#include "aom_mem/aom_mem.h"
Yaowu Xuc27fc142016-08-22 16:08:15 -070013
14#include "av1/common/reconinter.h"
Angie Chianged8cd9a2016-10-21 16:44:47 -070015#include "av1/common/scan.h"
Yaowu Xuc27fc142016-08-22 16:08:15 -070016#include "av1/common/onyxc_int.h"
17#include "av1/common/seg_common.h"
Angie Chiangdef11252017-08-18 14:37:32 -070018#if CONFIG_LV_MAP
19#include "av1/common/txb_common.h"
20#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -070021
Angie Chiangbabf3e72017-03-20 15:32:24 -070022#if CONFIG_LV_MAP
Jingning Hanbb72caf2017-08-18 16:35:24 -070023#include "av1/common/txb_common.h"
Angie Chiangbabf3e72017-03-20 15:32:24 -070024const aom_prob default_txb_skip[TX_SIZES][TXB_SKIP_CONTEXTS] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -070025#if CONFIG_CHROMA_2X2
Jingning Han480ee022017-04-03 20:31:08 -070026 { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
27#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -070028 { 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};
33const aom_prob default_dc_sign[PLANE_TYPES][DC_SIGN_CONTEXTS] = {
34 { 125, 102, 147 }, { 119, 101, 135 },
35};
36
37const aom_prob default_coeff_base
38 [TX_SIZES][PLANE_TYPES][NUM_BASE_LEVELS][COEFF_BASE_CONTEXTS] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -070039#if CONFIG_CHROMA_2X2
Jingning Han480ee022017-04-03 20:31:08 -070040 { // 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
Angie Chiangbabf3e72017-03-20 15:32:24 -070064 { // 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 } },
Angie Chiangbabf3e72017-03-20 15:32:24 -070089 {
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
174const aom_prob default_nz_map[TX_SIZES][PLANE_TYPES][SIG_COEF_CONTEXTS] = {
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700175#if CONFIG_EXT_TX
176#if CONFIG_CHROMA_2X2
Angie Chiang698a6182017-09-05 15:00:11 -0700177 { { 56, 137, 82, 136, 83, 187, 124, 65,
178 215, 118, 155, 97, 160, 111, 71, 55,
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700179
Angie Chiang698a6182017-09-05 15:00:11 -0700180 142, 156, 91, 226, 107, 231, 146, 65,
181 105, 91, 232, 97, 185, 121, 90, 74,
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700182
Angie Chiang698a6182017-09-05 15:00:11 -0700183 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,
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700187
Angie Chiang698a6182017-09-05 15:00:11 -0700188 139, 174, 112, 200, 94, 206, 146, 71,
189 163, 164, 212, 99, 177, 143, 125, 85,
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700190
Angie Chiang698a6182017-09-05 15:00:11 -0700191 151, 181, 126, 168, 135, 186, 143, 94,
192 207, 129, 142, 135, 145, 112, 98, 81 } },
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700193#endif
Angie Chiang698a6182017-09-05 15:00:11 -0700194 { { 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 } },
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700242 {
Angie Chiang698a6182017-09-05 15:00:11 -0700243 { 14, 79, 44, 86, 59, 178, 124, 63,
244 244, 106, 233, 117, 252, 185, 132, 92,
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700245
Angie Chiang698a6182017-09-05 15:00:11 -0700246 85, 225, 47, 236, 103, 255, 190, 116,
247 235, 114, 247, 123, 250, 174, 122, 110,
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700248
Angie Chiang698a6182017-09-05 15:00:11 -0700249 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,
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700253
Angie Chiang698a6182017-09-05 15:00:11 -0700254 85, 225, 47, 236, 103, 255, 190, 116,
255 235, 114, 247, 123, 250, 174, 122, 110,
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700256
Angie Chiang698a6182017-09-05 15:00:11 -0700257 109, 197, 78, 177, 76, 242, 148, 68,
258 236, 123, 231, 103, 247, 171, 122, 91 },
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700259 },
260#else // CONFIG_EXT_TX
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -0700261#if CONFIG_CHROMA_2X2
Jingning Han480ee022017-04-03 20:31:08 -0700262 {
Angie Chiang2b38def2017-08-28 14:04:09 -0700263 {
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 },
Jingning Han480ee022017-04-03 20:31:08 -0700272 },
273#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -0700274 {
Angie Chiang2b38def2017-08-28 14:04:09 -0700275 {
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 },
Angie Chiangbabf3e72017-03-20 15:32:24 -0700284 },
285 {
Angie Chiang2b38def2017-08-28 14:04:09 -0700286 {
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 },
Angie Chiangbabf3e72017-03-20 15:32:24 -0700295 },
296 {
Angie Chiang2b38def2017-08-28 14:04:09 -0700297 {
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 },
Angie Chiangbabf3e72017-03-20 15:32:24 -0700306 },
307 {
Angie Chiang2b38def2017-08-28 14:04:09 -0700308 {
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 },
Angie Chiangbabf3e72017-03-20 15:32:24 -0700317 },
Angie Chiangcf85d5c2017-08-20 12:56:19 -0700318#endif // CONFIG_EXT_TX
Angie Chiangbabf3e72017-03-20 15:32:24 -0700319};
Jingning Han480ee022017-04-03 20:31:08 -0700320
Angie Chiangf12cc4a2017-08-28 15:42:33 -0700321#if CONFIG_CTX1D
322const 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
Angie Chiangbabf3e72017-03-20 15:32:24 -0700429const aom_prob default_eob_flag[TX_SIZES][PLANE_TYPES][EOB_COEF_CONTEXTS] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -0700430#if CONFIG_CHROMA_2X2
Jingning Han480ee022017-04-03 20:31:08 -0700431 {
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
Angie Chiangbabf3e72017-03-20 15:32:24 -0700438 {
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};
Angie Chiangf12cc4a2017-08-28 15:42:33 -0700463#endif // CONFIG_CTX1D
Jingning Han480ee022017-04-03 20:31:08 -0700464
Angie Chiangbabf3e72017-03-20 15:32:24 -0700465const aom_prob default_coeff_lps[TX_SIZES][PLANE_TYPES][LEVEL_CONTEXTS] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -0700466#if CONFIG_CHROMA_2X2
Jingning Han87b01b52017-08-31 12:07:20 -0700467 { { 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 } },
Jingning Han480ee022017-04-03 20:31:08 -0700475#endif
Jingning Han87b01b52017-08-31 12:07:20 -0700476 { { 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 } }
Angie Chiangbabf3e72017-03-20 15:32:24 -0700508};
Jingning Han87b01b52017-08-31 12:07:20 -0700509#if BR_NODE
510const 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
Angie Chiangf12cc4a2017-08-28 15:42:33 -0700636#if CONFIG_CTX1D
637static 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};
646static 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 };
681static 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
Angie Chiangbabf3e72017-03-20 15:32:24 -0700747#endif // CONFIG_LV_MAP
748
Yaowu Xuc27fc142016-08-22 16:08:15 -0700749#if CONFIG_EXT_PARTITION_TYPES
Yaowu Xuf883b422016-08-30 14:01:10 -0700750static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -0700751 default_partition_probs[PARTITION_CONTEXTS][EXT_PARTITION_TYPES - 1] = {
752 // 8x8 -> 4x4
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100753 { 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
Yaowu Xuc27fc142016-08-22 16:08:15 -0700757 // 16x16 -> 8x8
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100758 { 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
Yaowu Xuc27fc142016-08-22 16:08:15 -0700762 // 32x32 -> 16x16
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100763 { 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
Yaowu Xuc27fc142016-08-22 16:08:15 -0700767 // 64x64 -> 32x32
Rupert Swarbrick72678572017-08-02 12:05:26 +0100768 { 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
Yaowu Xuc27fc142016-08-22 16:08:15 -0700772#if CONFIG_EXT_PARTITION
773 // 128x128 -> 64x64
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100774 { 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
Alex Converse55c6bde2017-01-12 15:55:31 -0800779#if CONFIG_UNPOISON_PARTITION_CTX
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100780 { 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
Alex Converse55c6bde2017-01-12 15:55:31 -0800784#if CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100785 { 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
Alex Converse55c6bde2017-01-12 15:55:31 -0800791#if CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100792 { 0, 34, 0, 0, 0, 0, 0, 0, 0 }, // 128x128 -> 64x64
793#endif // CONFIG_EXT_PARTITION
794#endif // CONFIG_UNPOISON_PARTITION_CTX
Yaowu Xuc27fc142016-08-22 16:08:15 -0700795 };
796#else
Yaowu Xuf883b422016-08-30 14:01:10 -0700797static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -0700798 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
Alex Converse55c6bde2017-01-12 15:55:31 -0800826#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
Yaowu Xuc27fc142016-08-22 16:08:15 -0700842 };
843#endif // CONFIG_EXT_PARTITION_TYPES
844
Yaowu Xuf883b422016-08-30 14:01:10 -0700845static const aom_prob default_newmv_prob[NEWMV_MODE_CONTEXTS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700846 155, 116, 94, 32, 96, 56, 30,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700847};
848
Yaowu Xuf883b422016-08-30 14:01:10 -0700849static const aom_prob default_zeromv_prob[ZEROMV_MODE_CONTEXTS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700850 45, 13,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700851};
852
Yaowu Xuf883b422016-08-30 14:01:10 -0700853static const aom_prob default_refmv_prob[REFMV_MODE_CONTEXTS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700854 178, 212, 135, 244, 203, 122, 128, 128, 128,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700855};
856
Yue Chend1b8c2a2017-07-05 14:28:20 -0700857static const aom_prob default_drl_prob[DRL_MODE_CONTEXTS] = {
858 119, 128, 189, 134, 128,
859};
Thomas Davies149eda52017-06-12 18:11:55 +0100860#if CONFIG_NEW_MULTISYMBOL
861static const aom_cdf_prob default_newmv_cdf[NEWMV_MODE_CONTEXTS][CDF_SIZE(2)] =
Yue Chena9529a32017-07-10 17:53:17 -0700862 { { 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 },
Thomas Davies149eda52017-06-12 18:11:55 +0100868 { AOM_ICDF(128 * 30), AOM_ICDF(32768), 0 } };
Yue Chena9529a32017-07-10 17:53:17 -0700869static 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 } };
872static 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 } };
Thomas Davies149eda52017-06-12 18:11:55 +0100882static const aom_cdf_prob default_drl_cdf[DRL_MODE_CONTEXTS][CDF_SIZE(2)] = {
Yue Chena9529a32017-07-10 17:53:17 -0700883 { AOM_ICDF(128 * 119), AOM_ICDF(32768), 0 },
Thomas Davies149eda52017-06-12 18:11:55 +0100884 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
Yue Chena9529a32017-07-10 17:53:17 -0700885 { 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 }
Thomas Davies149eda52017-06-12 18:11:55 +0100888};
889#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -0700890
Yaowu Xuf883b422016-08-30 14:01:10 -0700891static const aom_prob default_inter_compound_mode_probs
Yaowu Xuc27fc142016-08-22 16:08:15 -0700892 [INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES - 1] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700893 { 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
Yaowu Xuc27fc142016-08-22 16:08:15 -0700900 };
901
Thomas Davies8c08a332017-06-26 17:30:34 +0100902static const aom_cdf_prob
903 default_inter_compound_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE(
904 INTER_COMPOUND_MODES)] = {
Yue Chend9de81e2017-07-10 16:58:13 -0700905 { 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 }
Thomas Davies8c08a332017-06-26 17:30:34 +0100919 };
Thomas Davies8c08a332017-06-26 17:30:34 +0100920
Zoe Liu239f06b2017-04-20 13:10:55 -0700921#if CONFIG_COMPOUND_SINGLEREF
922// TODO(zoeliu): Default values to be further adjusted based on the collected
923// stats.
Zoe Liu85b66462017-04-20 14:28:19 -0700924/*
Zoe Liu239f06b2017-04-20 13:10:55 -0700925static 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
Zoe Liu85b66462017-04-20 14:28:19 -0700934 };*/
935static 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
Zoe Liu239f06b2017-04-20 13:10:55 -0700944 };
Thomas Daviesb8b14a92017-07-12 15:11:49 +0100945
946static 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 };
Zoe Liu239f06b2017-04-20 13:10:55 -0700957#endif // CONFIG_COMPOUND_SINGLEREF
958
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000959#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker2f6ce752016-12-08 15:26:46 -0800960static const aom_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100961 default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700962#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -0700963 { 128, 128 }, { 128, 128 }, { 128, 128 },
Yue Chen4415b6c2017-01-31 11:59:38 -0800964#endif
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100965 { 128, 128 }, { 255, 128 }, { 255, 128 }, { 66, 51 }, { 72, 35 },
966 { 79, 29 }, { 71, 18 }, { 81, 29 }, { 81, 26 }, { 69, 19 },
Yue Chend1b8c2a2017-07-05 14:28:20 -0700967 { 104, 1 }, { 99, 1 }, { 75, 1 },
Sarah Parker2f6ce752016-12-08 15:26:46 -0800968#if CONFIG_EXT_PARTITION
Debargha Mukherjeef6429c92017-05-15 15:42:13 -0700969 { 255, 1 }, { 255, 1 }, { 255, 1 },
Sarah Parker2f6ce752016-12-08 15:26:46 -0800970#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +0100971 { 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
Sarah Parker2f6ce752016-12-08 15:26:46 -0800976 };
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000977#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
clang-format55ce9e02017-02-15 22:27:12 -0800978static const aom_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100979 default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700980#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Debargha Mukherjeeed057992017-05-07 05:15:06 -0700981 { 255 }, { 255 }, { 255 },
Jingning Han61418bb2017-01-23 17:12:48 -0800982#endif
clang-format55ce9e02017-02-15 22:27:12 -0800983 { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 216 },
984 { 216 }, { 216 }, { 224 }, { 224 }, { 240 }, { 240 },
Sarah Parker6fddd182016-11-10 20:57:20 -0800985#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -0800986 { 255 }, { 255 }, { 255 },
Sarah Parker6fddd182016-11-10 20:57:20 -0800987#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +0100988 { 208 }, { 208 }, { 208 }, { 208 }, { 255 }, { 255 },
989#if CONFIG_EXT_PARTITION
990 { 255 }, { 255 }
991#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -0800992 };
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000993#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
994static const aom_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100995 default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700996#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Debargha Mukherjeeed057992017-05-07 05:15:06 -0700997 { 255 }, { 255 }, { 255 },
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000998#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
Rupert Swarbrick72678572017-08-02 12:05:26 +01001004 { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001005#if CONFIG_EXT_PARTITION
1006 { 208 }, { 208 }
1007#endif // CONFIG_EXT_PARTITION
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001008 };
1009#else
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001010static const aom_prob default_compound_type_probs[BLOCK_SIZES_ALL]
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001011 [COMPOUND_TYPES - 1];
1012#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker6fddd182016-11-10 20:57:20 -08001013
Thomas Daviesd8dac222017-06-27 11:23:15 +01001014#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
1015static const aom_cdf_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001016 default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
Thomas Daviesd8dac222017-06-27 11:23:15 +01001017#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend9de81e2017-07-10 16:58:13 -07001018 { 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 },
Thomas Daviesd8dac222017-06-27 11:23:15 +01001021#endif
Yue Chend9de81e2017-07-10 16:58:13 -07001022 { 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 },
Thomas Daviesd8dac222017-06-27 11:23:15 +01001035#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
Rupert Swarbrick72678572017-08-02 12:05:26 +01001040 { 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 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001044 { 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
Thomas Daviesd8dac222017-06-27 11:23:15 +01001050 };
1051#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
1052static const aom_cdf_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001053 default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
Thomas Daviesd8dac222017-06-27 11:23:15 +01001054#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
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001077 { 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 },
Rupert Swarbrick72678572017-08-02 12:05:26 +01001081 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
1082 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001083#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
Thomas Daviesd8dac222017-06-27 11:23:15 +01001087 };
1088#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
1089static const aom_cdf_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001090 default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
Thomas Daviesd8dac222017-06-27 11:23:15 +01001091#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
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001114 { 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
Thomas Daviesd8dac222017-06-27 11:23:15 +01001124 };
Thomas Daviesd8dac222017-06-27 11:23:15 +01001125#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Thomas Daviesd8dac222017-06-27 11:23:15 +01001126
Yue Chen4d26acb2017-05-01 12:28:34 -07001127#if CONFIG_INTERINTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07001128static const aom_prob default_interintra_prob[BLOCK_SIZE_GROUPS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001129 128, 226, 244, 254,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001130};
Thomas Daviescff91712017-07-07 11:49:55 +01001131#if CONFIG_NEW_MULTISYMBOL
1132static const aom_cdf_prob default_interintra_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(
Yue Chend1b8c2a2017-07-05 14:28:20 -07001133 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 } };
Thomas Daviescff91712017-07-07 11:49:55 +01001137#endif
1138
Yue Chen4d26acb2017-05-01 12:28:34 -07001139static const aom_prob
1140 default_interintra_mode_prob[BLOCK_SIZE_GROUPS][INTERINTRA_MODES - 1] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001141 { 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
Yue Chen4d26acb2017-05-01 12:28:34 -07001145 };
Thomas Davies299ff042017-06-27 13:41:59 +01001146static const aom_cdf_prob
Yue Chend9de81e2017-07-10 16:58:13 -07001147 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 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001154
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001155static const aom_prob default_wedge_interintra_prob[BLOCK_SIZES_ALL] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -07001156#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -07001157 128, 128, 128,
Jingning Han61418bb2017-01-23 17:12:48 -08001158#endif
Yue Chend1b8c2a2017-07-05 14:28:20 -07001159 128, 128, 128, 194, 213, 217, 222, 224, 226, 220, 128, 128, 128,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001160#if CONFIG_EXT_PARTITION
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001161 255, 255, 255,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001162#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001163 208, 208, 208, 208, 255, 255,
1164#if CONFIG_EXT_PARTITION
1165 255, 255
1166#endif // CONFIG_EXT_PARTITION
Yaowu Xuc27fc142016-08-22 16:08:15 -07001167};
Thomas Davies299ff042017-06-27 13:41:59 +01001168
Thomas Daviescff91712017-07-07 11:49:55 +01001169#if CONFIG_NEW_MULTISYMBOL
1170static const aom_cdf_prob
Thomas Davies8e6267f2017-07-13 17:09:52 +01001171 default_wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
Thomas Daviescff91712017-07-07 11:49:55 +01001172#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -07001173 { 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 },
Thomas Daviescff91712017-07-07 11:49:55 +01001176#endif
Yue Chend1b8c2a2017-07-05 14:28:20 -07001177 { 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 },
Thomas Daviescff91712017-07-07 11:49:55 +01001184 { AOM_ICDF(224 * 128), AOM_ICDF(32768), 0 },
Yue Chend1b8c2a2017-07-05 14:28:20 -07001185 { 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 },
Thomas Daviescff91712017-07-07 11:49:55 +01001190#if CONFIG_EXT_PARTITION
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001191 { 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 },
Thomas Daviescff91712017-07-07 11:49:55 +01001194#endif // CONFIG_EXT_PARTITION
Thomas Davies8e6267f2017-07-13 17:09:52 +01001195 { 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 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001199 { 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
Thomas Daviescff91712017-07-07 11:49:55 +01001205 };
1206#endif // CONFIG_NEW_MULTISYMBOL
1207
Yue Chen4d26acb2017-05-01 12:28:34 -07001208#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001209
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07001210#if CONFIG_NCOBMC_ADAPT_WEIGHT
Wei-Ting Lin482551b2017-08-03 12:29:24 -07001211#ifdef TWO_MODE
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07001212const aom_tree_index av1_ncobmc_mode_tree[TREE_SIZE(MAX_NCOBMC_MODES)] = {
Wei-Ting Lin482551b2017-08-03 12:29:24 -07001213 -NCOBMC_MODE_0, -NCOBMC_MODE_1
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07001214};
Wei-Ting Lin482551b2017-08-03 12:29:24 -07001215#else
1216const 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
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07001226
1227// TODO(weitinglin): find default prob
Wei-Ting Lin482551b2017-08-03 12:29:24 -07001228// right now setting the first mode with probability 1/255,
1229// the last eight modes with equal probabilities
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07001230static const aom_prob
1231 default_ncobmc_mode_prob[ADAPT_OVERLAP_BLOCKS][MAX_NCOBMC_MODES - 1] = {
Wei-Ting Lin482551b2017-08-03 12:29:24 -07001232#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
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07001240 };
Wei-Ting Linca710d62017-07-13 11:41:02 -07001241static const aom_cdf_prob
1242 default_ncobmc_mode_cdf[ADAPT_OVERLAP_BLOCKS][CDF_SIZE(MAX_NCOBMC_MODES)] =
Wei-Ting Lin482551b2017-08-03 12:29:24 -07001243#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
Wei-Ting Linca710d62017-07-13 11:41:02 -07001262#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
Wei-Ting Lin85268302017-06-28 14:08:29 -07001263// Change this section appropriately once warped motion is supported
1264#if CONFIG_MOTION_VAR && !CONFIG_WARPED_MOTION
Wei-Ting Lin482551b2017-08-03 12:29:24 -07001265#if CONFIG_NCOBMC_ADAPT_WEIGHT
1266const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
1267 -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -NCOBMC_ADAPT_WEIGHT,
1268};
1269static 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 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001300#if CONFIG_EXT_PARTITION
1301 { 252, 255 },
1302 { 252, 200 },
1303 { 252, 200 },
1304#endif // CONFIG_EXT_PARTITION
Wei-Ting Lin482551b2017-08-03 12:29:24 -07001305 };
1306static 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 }
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001339#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
Wei-Ting Lin482551b2017-08-03 12:29:24 -07001343 };
1344#else // CONFIG_NCOBMC_ADAPT_WEIGHT
Wei-Ting Lin85268302017-06-28 14:08:29 -07001345const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
1346 -SIMPLE_TRANSLATION, -OBMC_CAUSAL
1347};
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001348
Wei-Ting Lin8e43f212017-07-13 15:25:17 -07001349static const aom_prob
1350 default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
Wei-Ting Lin85268302017-06-28 14:08:29 -07001351#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
Rupert Swarbrick72678572017-08-02 12:05:26 +01001359 { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001360#if CONFIG_EXT_PARTITION
1361 { 208 }, { 208 }
1362#endif // CONFIG_EXT_PARTITION
Wei-Ting Lin85268302017-06-28 14:08:29 -07001363 };
Wei-Ting Lin9bcff192017-07-12 10:31:53 -07001364
Thomas Davies04e5aa72017-06-28 14:36:39 +01001365static const aom_cdf_prob
Wei-Ting Lin8e43f212017-07-13 15:25:17 -07001366 default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
Thomas Davies04e5aa72017-06-28 14:36:39 +01001367#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
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001390 { 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 },
Rupert Swarbrick72678572017-08-02 12:05:26 +01001394 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1395 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001396#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
Thomas Davies04e5aa72017-06-28 14:36:39 +01001400 };
Wei-Ting Lin9bcff192017-07-12 10:31:53 -07001401#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
Yue Chencb60b182016-10-13 15:18:22 -07001402#elif !CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07001403
Yue Chencb60b182016-10-13 15:18:22 -07001404const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001405 -SIMPLE_TRANSLATION, -WARPED_CAUSAL
1406};
Yue Chen69f18e12016-09-08 14:48:15 -07001407
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001408static const aom_prob
1409 default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -07001410#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
clang-format55ce9e02017-02-15 22:27:12 -08001411 { 255 }, { 255 }, { 255 },
Jingning Han71bf3ee2017-01-18 17:23:27 -08001412#endif
clang-format55ce9e02017-02-15 22:27:12 -08001413 { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
1414 { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001415#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001416 { 252 }, { 252 }, { 252 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001417#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick72678572017-08-02 12:05:26 +01001418 { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001419#if CONFIG_EXT_PARTITION
1420 { 252 }, { 252 }
1421#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001422 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001423
Thomas Davies04e5aa72017-06-28 14:36:39 +01001424static const aom_cdf_prob
Wei-Ting Lin8e43f212017-07-13 15:25:17 -07001425 default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
Thomas Davies04e5aa72017-06-28 14:36:39 +01001426#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
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001449 { 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 },
Rupert Swarbrick72678572017-08-02 12:05:26 +01001453 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
1454 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001455#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
Thomas Davies04e5aa72017-06-28 14:36:39 +01001459 };
Thomas Davies04e5aa72017-06-28 14:36:39 +01001460
Yue Chencb60b182016-10-13 15:18:22 -07001461#elif CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Wei-Ting Lin07ed3ab2017-08-28 17:50:25 -07001462#if CONFIG_NCOBMC_ADAPT_WEIGHT
1463const 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
1467static 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};
1481static 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
Wei-Ting Lin5f8f7a12017-08-31 14:39:52 -07001516const aom_tree_index av1_ncobmc_tree[TREE_SIZE(OBMC_FAMILY_MODES)] = {
Wei-Ting Lin07ed3ab2017-08-28 17:50:25 -07001517 -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -NCOBMC_ADAPT_WEIGHT
1518};
1519
1520static 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
1534static 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
Yue Chencb60b182016-10-13 15:18:22 -07001569const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001570 -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -WARPED_CAUSAL,
1571};
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001572
1573static const aom_prob
1574 default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -07001575#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -07001576 { 128, 128 }, { 128, 128 }, { 128, 128 },
Jingning Han71bf3ee2017-01-18 17:23:27 -08001577#endif
Yue Chend1b8c2a2017-07-05 14:28:20 -07001578 { 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 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001581#if CONFIG_EXT_PARTITION
1582 { 252, 200 }, { 252, 200 }, { 252, 200 },
1583#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick72678572017-08-02 12:05:26 +01001584 { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 },
1585 { 208, 200 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001586#if CONFIG_EXT_PARTITION
1587 { 252, 200 }, { 252, 200 }
1588#endif // CONFIG_EXT_PARTITION
Yaowu Xuc27fc142016-08-22 16:08:15 -07001589 };
Thomas Davies04e5aa72017-06-28 14:36:39 +01001590static const aom_cdf_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001591 default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
Thomas Davies04e5aa72017-06-28 14:36:39 +01001592#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Thomas Davies78653492017-07-11 12:04:41 +01001593 { 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 },
Thomas Davies04e5aa72017-06-28 14:36:39 +01001596#endif
Thomas Davies78653492017-07-11 12:04:41 +01001597 { 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 },
Thomas Davies04e5aa72017-06-28 14:36:39 +01001610#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
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001615 { 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 },
Rupert Swarbrick72678572017-08-02 12:05:26 +01001619 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
1620 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001621#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
Thomas Davies04e5aa72017-06-28 14:36:39 +01001625 };
Wei-Ting Lin07ed3ab2017-08-28 17:50:25 -07001626#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
Yue Chen69f18e12016-09-08 14:48:15 -07001627// Probability for the case that only 1 additional motion mode is allowed
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001628static const aom_prob default_obmc_prob[BLOCK_SIZES_ALL] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -07001629#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -07001630 128, 128, 128,
Jingning Han71bf3ee2017-01-18 17:23:27 -08001631#endif
Rupert Swarbrick72678572017-08-02 12:05:26 +01001632 128, 128, 128, 45, 79, 75, 130, 141, 144, 208, 201, 186, 231,
Yue Chen69f18e12016-09-08 14:48:15 -07001633#if CONFIG_EXT_PARTITION
1634 252, 252, 252,
1635#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick72678572017-08-02 12:05:26 +01001636 208, 208, 208, 208, 208, 208,
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001637#if CONFIG_EXT_PARTITION
1638 252, 252
1639#endif // CONFIG_EXT_PARTITION
Yue Chen69f18e12016-09-08 14:48:15 -07001640};
Thomas Daviesd9b57262017-06-27 17:43:25 +01001641
Wei-Ting Lin07ed3ab2017-08-28 17:50:25 -07001642#if CONFIG_NEW_MULTISYMBOL || CONFIG_NCOBMC_ADAPT_WEIGHT
Thomas Davies8e6267f2017-07-13 17:09:52 +01001643static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
Thomas Daviesd9b57262017-06-27 17:43:25 +01001644#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Thomas Davies78653492017-07-11 12:04:41 +01001645 { 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 },
Thomas Daviesd9b57262017-06-27 17:43:25 +01001648#endif
Thomas Davies78653492017-07-11 12:04:41 +01001649 { 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 },
Thomas Daviesd9b57262017-06-27 17:43:25 +01001657 { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
Thomas Davies78653492017-07-11 12:04:41 +01001658 { 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 },
Thomas Daviesd9b57262017-06-27 17:43:25 +01001662#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
Thomas Davies8e6267f2017-07-13 17:09:52 +01001667 { 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 },
Rupert Swarbrick72678572017-08-02 12:05:26 +01001671 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1672 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01001673#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
Thomas Daviesd9b57262017-06-27 17:43:25 +01001677};
1678#endif // CONFIG_NEW_MULTISYMBOL
Yue Chen69f18e12016-09-08 14:48:15 -07001679#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001680
Thomas Davies665cd702017-03-02 10:20:30 +00001681static const aom_prob default_delta_q_probs[DELTA_Q_PROBS] = { 220, 220, 220 };
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00001682static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07001683 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00001684};
Fangwen Fu231fe422017-04-24 17:52:29 -07001685#if CONFIG_EXT_DELTA_Q
Cheng Chena97394f2017-09-27 15:05:14 -07001686#if CONFIG_LOOPFILTER_LEVEL
Cheng Chen880166a2017-10-02 17:48:48 -07001687static 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 };
Cheng Chena97394f2017-09-27 15:05:14 -07001691static const aom_cdf_prob
Cheng Chen880166a2017-10-02 17:48:48 -07001692 default_delta_lf_multi_cdf[FRAME_LF_COUNT][CDF_SIZE(DELTA_LF_PROBS + 1)] = {
Cheng Chena97394f2017-09-27 15:05:14 -07001693 { 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 };
Cheng Chen880166a2017-10-02 17:48:48 -07001698#endif // CONFIG_LOOPFILTER_LEVEL
Fangwen Fu231fe422017-04-24 17:52:29 -07001699static const aom_prob default_delta_lf_probs[DELTA_LF_PROBS] = { 220, 220,
1700 220 };
Fangwen Fu231fe422017-04-24 17:52:29 -07001701static const aom_cdf_prob default_delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)] = {
Timothy B. Terriberrye1804782017-05-05 14:38:57 -07001702 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Fangwen Fu231fe422017-04-24 17:52:29 -07001703};
1704#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01001705
Yaowu Xuc27fc142016-08-22 16:08:15 -07001706/* clang-format off */
Yue Chen4d26acb2017-05-01 12:28:34 -07001707#if CONFIG_INTERINTRA
Yue Chen4d26acb2017-05-01 12:28:34 -07001708const aom_tree_index av1_interintra_mode_tree[TREE_SIZE(INTERINTRA_MODES)] = {
1709 -II_DC_PRED, 2, /* 0 = II_DC_NODE */
Yue Chen4d26acb2017-05-01 12:28:34 -07001710 -II_SMOOTH_PRED, 4, /* 1 = II_SMOOTH_PRED */
Yue Chen4d26acb2017-05-01 12:28:34 -07001711 -II_V_PRED, -II_H_PRED /* 2 = II_V_NODE */
1712};
Yue Chen4d26acb2017-05-01 12:28:34 -07001713#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001714
Yaowu Xuf883b422016-08-30 14:01:10 -07001715const aom_tree_index av1_inter_compound_mode_tree
Yaowu Xuc27fc142016-08-22 16:08:15 -07001716 [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),
Debargha Mukherjeebb6e1342017-04-17 16:05:04 -07001720 -INTER_COMPOUND_OFFSET(NEAR_NEARMV), 8,
1721 10, 12,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001722 -INTER_COMPOUND_OFFSET(NEAREST_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARESTMV),
1723 -INTER_COMPOUND_OFFSET(NEAR_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARMV)
1724};
Sarah Parker6fddd182016-11-10 20:57:20 -08001725
Zoe Liu239f06b2017-04-20 13:10:55 -07001726#if CONFIG_COMPOUND_SINGLEREF
Zoe Liu85b66462017-04-20 14:28:19 -07001727// TODO(zoeliu): To redesign the tree structure once the number of mode changes.
1728/*
Zoe Liu239f06b2017-04-20 13:10:55 -07001729const 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)
Zoe Liu85b66462017-04-20 14:28:19 -07001736};*/
1737
1738const 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)
Zoe Liu239f06b2017-04-20 13:10:55 -07001744};
1745#endif // CONFIG_COMPOUND_SINGLEREF
1746
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001747#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker2f6ce752016-12-08 15:26:46 -08001748const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1749 -COMPOUND_AVERAGE, 2, -COMPOUND_WEDGE, -COMPOUND_SEG
1750};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001751#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker6fddd182016-11-10 20:57:20 -08001752const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1753 -COMPOUND_AVERAGE, -COMPOUND_WEDGE
1754};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001755#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
1756const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1757 -COMPOUND_AVERAGE, -COMPOUND_SEG
1758};
1759#else
1760const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {};
1761#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001762/* clang-format on */
Yaowu Xuc27fc142016-08-22 16:08:15 -07001763
Yaowu Xuf883b422016-08-30 14:01:10 -07001764const aom_tree_index av1_partition_tree[TREE_SIZE(PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001765 -PARTITION_NONE, 2, -PARTITION_HORZ, 4, -PARTITION_VERT, -PARTITION_SPLIT
1766};
1767
1768#if CONFIG_EXT_PARTITION_TYPES
1769/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07001770const aom_tree_index av1_ext_partition_tree[TREE_SIZE(EXT_PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001771 -PARTITION_NONE, 2,
1772 6, 4,
1773 8, -PARTITION_SPLIT,
1774 -PARTITION_HORZ, 10,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001775 -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
Yaowu Xuc27fc142016-08-22 16:08:15 -07001782};
1783/* clang-format on */
1784#endif // CONFIG_EXT_PARTITION_TYPES
1785
Yaowu Xuf883b422016-08-30 14:01:10 -07001786static const aom_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001787 6, 97, 151, 205,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001788};
1789
Thomas Daviesf6ad9352017-04-19 11:38:06 +01001790#if CONFIG_NEW_MULTISYMBOL
1791static const aom_cdf_prob
1792 default_intra_inter_cdf[INTRA_INTER_CONTEXTS][CDF_SIZE(2)] = {
Yue Chen292c8e02017-07-21 12:20:01 -07001793 { 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 }
Thomas Daviesf6ad9352017-04-19 11:38:06 +01001797 };
1798#endif
1799
Yaowu Xuf883b422016-08-30 14:01:10 -07001800static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
Zoe Liu6905dc72017-09-26 11:16:32 -07001801 190, 156, 91, 77, 22
Yaowu Xuc27fc142016-08-22 16:08:15 -07001802};
Zoe Liufcf5fa22017-06-26 16:00:38 -07001803
Thomas Davies860def62017-06-14 10:00:03 +01001804#if CONFIG_NEW_MULTISYMBOL
Zoe Liue3c476e2017-09-29 11:32:48 -07001805static 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 } };
Zoe Liufcf5fa22017-06-26 16:00:38 -07001811#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001812
Zoe Liuc082bbc2017-05-17 13:31:37 -07001813#if CONFIG_EXT_COMP_REFS
1814static const aom_prob default_comp_ref_type_p[COMP_REF_TYPE_CONTEXTS] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001815 8, 20, 78, 91, 194
Zoe Liuc082bbc2017-05-17 13:31:37 -07001816};
Zoe Liuc082bbc2017-05-17 13:31:37 -07001817static const aom_prob
1818 default_uni_comp_ref_p[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001819 { 88, 30, 28 }, { 218, 97, 105 }, { 254, 180, 196 }
Zoe Liuc082bbc2017-05-17 13:31:37 -07001820 };
Zoe Liufcf5fa22017-06-26 16:00:38 -07001821
1822#if CONFIG_NEW_MULTISYMBOL
1823static 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 };
1831static 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
Zoe Liuc082bbc2017-05-17 13:31:37 -07001845#endif // CONFIG_EXT_COMP_REFS
1846
Yaowu Xuc27fc142016-08-22 16:08:15 -07001847#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07001848static const aom_prob default_comp_ref_p[REF_CONTEXTS][FWD_REFS - 1] = {
Zoe Liu6905dc72017-09-26 11:16:32 -07001849 { 28, 10, 8 },
1850 { 77, 27, 26 },
1851 { 127, 62, 56 },
1852 { 186, 126, 160 },
1853 { 236, 143, 172 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001854};
Zoe Liu97ad0582017-02-09 10:51:00 -08001855
Yaowu Xuf883b422016-08-30 14:01:10 -07001856static const aom_prob default_comp_bwdref_p[REF_CONTEXTS][BWD_REFS - 1] = {
Zoe Liu6905dc72017-09-26 11:16:32 -07001857 { 22, 13 }, { 140, 124 }, { 241, 239 }, { 128, 128 }, { 128, 128 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001858};
Zoe Liufcf5fa22017-06-26 16:00:38 -07001859
Thomas Davies894cc812017-06-22 17:51:33 +01001860#if CONFIG_NEW_MULTISYMBOL
1861static const aom_cdf_prob
1862 default_comp_ref_cdf[REF_CONTEXTS][FWD_REFS - 1][CDF_SIZE(2)] = {
Zoe Liu6905dc72017-09-26 11:16:32 -07001863 { { 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 } }
Thomas Davies894cc812017-06-22 17:51:33 +01001878 };
Zoe Liu97ad0582017-02-09 10:51:00 -08001879
Thomas Davies894cc812017-06-22 17:51:33 +01001880static const aom_cdf_prob
1881 default_comp_bwdref_cdf[REF_CONTEXTS][BWD_REFS - 1][CDF_SIZE(2)] = {
Zoe Liu6905dc72017-09-26 11:16:32 -07001882 { { 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 } }
Thomas Davies894cc812017-06-22 17:51:33 +01001892 };
1893#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liu97ad0582017-02-09 10:51:00 -08001894
1895#else // !CONFIG_EXT_REFS
1896
Yaowu Xuf883b422016-08-30 14:01:10 -07001897static const aom_prob default_comp_ref_p[REF_CONTEXTS][COMP_REFS - 1] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001898 { 43 }, { 100 }, { 137 }, { 212 }, { 229 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001899};
Thomas Davies894cc812017-06-22 17:51:33 +01001900#if CONFIG_NEW_MULTISYMBOL
1901static const aom_cdf_prob
1902 default_comp_ref_cdf[REF_CONTEXTS][COMP_REFS - 1][CDF_SIZE(2)] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001903 { { 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 } }
Thomas Davies894cc812017-06-22 17:51:33 +01001908 };
1909#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001910#endif // CONFIG_EXT_REFS
1911
Yaowu Xuf883b422016-08-30 14:01:10 -07001912static const aom_prob default_single_ref_p[REF_CONTEXTS][SINGLE_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001913#if CONFIG_EXT_REFS
Zoe Liu6905dc72017-09-26 11:16:32 -07001914 { 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 }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001919#else // !CONFIG_EXT_REFS
Yue Chend1b8c2a2017-07-05 14:28:20 -07001920 { 31, 25 }, { 72, 80 }, { 147, 148 }, { 197, 191 }, { 235, 247 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001921#endif // CONFIG_EXT_REFS
1922};
Zoe Liufcf5fa22017-06-26 16:00:38 -07001923
Thomas Davies315f5782017-06-14 15:14:55 +01001924#if CONFIG_NEW_MULTISYMBOL
1925static const aom_cdf_prob
1926 default_single_ref_cdf[REF_CONTEXTS][SINGLE_REFS - 1][CDF_SIZE(2)] = {
1927#if CONFIG_EXT_REFS
Zoe Liu6905dc72017-09-26 11:16:32 -07001928 { { 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 } }
Zoe Liub5e48d92017-08-23 12:05:19 -07001958#else // !CONFIG_EXT_REFS
Yue Chend1b8c2a2017-07-05 14:28:20 -07001959 { { 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 },
Thomas Davies315f5782017-06-14 15:14:55 +01001968 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
1969#endif // CONFIG_EXT_REFS
1970 };
Zoe Liufcf5fa22017-06-26 16:00:38 -07001971#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001972
Sebastien Alaiwan0bdea0d2017-10-02 15:15:05 +02001973#if CONFIG_COMPOUND_SINGLEREF
Zoe Liu239f06b2017-04-20 13:10:55 -07001974// TODO(zoeliu): Default values to be further adjusted based on the collected
1975// stats.
1976static const aom_prob default_comp_inter_mode_p[COMP_INTER_MODE_CONTEXTS] = {
Zoe Liu85b66462017-04-20 14:28:19 -07001977 40, 110, 160, 220
Zoe Liu239f06b2017-04-20 13:10:55 -07001978};
Sebastien Alaiwan0bdea0d2017-10-02 15:15:05 +02001979#endif // CONFIG_COMPOUND_SINGLEREF
Zoe Liu239f06b2017-04-20 13:10:55 -07001980
hui su466ae062017-07-25 16:55:51 -07001981// TODO(huisu): tune these cdfs
Thomas Daviesce7272d2017-07-04 16:11:08 +01001982const 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 };
Thomas Daviesce7272d2017-07-04 16:11:08 +01002013
Thomas Daviesce7272d2017-07-04 16:11:08 +01002014const 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};
Thomas Daviesce7272d2017-07-04 16:11:08 +01002045
Urvang Joshi23a61112017-01-30 14:59:27 -08002046// 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).
clang-format55ce9e02017-02-15 22:27:12 -08002049const 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 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002055#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08002056 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002057#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08002058 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07002059
Urvang Joshi23a61112017-01-30 14:59:27 -08002060const aom_prob av1_default_palette_uv_mode_prob[PALETTE_UV_MODE_CONTEXTS] = {
2061 253, 229
2062};
Yaowu Xuc27fc142016-08-22 16:08:15 -07002063
Thomas Davies59f92312017-08-23 00:33:12 +01002064#if CONFIG_NEW_MULTISYMBOL
2065const 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
2111const 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
Thomas Daviesce7272d2017-07-04 16:11:08 +01002119const 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 };
Thomas Daviesce7272d2017-07-04 16:11:08 +01002206
Thomas Daviesce7272d2017-07-04 16:11:08 +01002207const 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 };
Sarah Parker5c6744b2017-08-25 17:27:45 -07002294#if CONFIG_MRC_TX
2295// TODO(sarahparker) Tune these cdfs
2296const 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
2384const 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
Yaowu Xuc27fc142016-08-22 16:08:15 -07002472
Hui Su6c8584f2017-09-14 15:37:02 -07002473#if CONFIG_INTRABC
2474static 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
Urvang Joshicdbe7082017-01-26 13:06:49 -08002479#define MAX_COLOR_CONTEXT_HASH 8
2480// Negative values are invalid
Urvang Joshi23a61112017-01-30 14:59:27 -08002481static const int palette_color_index_context_lookup[MAX_COLOR_CONTEXT_HASH +
2482 1] = { -1, -1, 0, -1, -1,
2483 4, 3, 2, 1 };
Urvang Joshicdbe7082017-01-26 13:06:49 -08002484
Yue Chend6bdd462017-07-19 16:05:43 -07002485#if CONFIG_RECT_TX_EXT && (CONFIG_EXT_TX || CONFIG_VAR_TX)
Yue Chen56e226e2017-05-02 16:21:40 -07002486static const aom_prob default_quarter_tx_size_prob = 192;
Thomas Daviese3f69782017-10-03 10:43:17 +01002487#if CONFIG_NEW_MULTISYMBOL
2488static const aom_cdf_prob default_quarter_tx_size_cdf[CDF_SIZE(2)] = {
2489 AOM_ICDF(192 * 128), AOM_ICDF(32768), 0
2490};
2491#endif
Yue Chend6bdd462017-07-19 16:05:43 -07002492#endif
Yue Chen56e226e2017-05-02 16:21:40 -07002493
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07002494#if CONFIG_LOOP_RESTORATION
Debargha Mukherjeeb3c43bc2017-02-01 13:09:03 -08002495const aom_tree_index
2496 av1_switchable_restore_tree[TREE_SIZE(RESTORE_SWITCHABLE_TYPES)] = {
2497 -RESTORE_NONE, 2, -RESTORE_WIENER, -RESTORE_SGRPROJ,
2498 };
2499
2500static const aom_prob
2501 default_switchable_restore_prob[RESTORE_SWITCHABLE_TYPES - 1] = {
2502 32, 128,
2503 };
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07002504#endif // CONFIG_LOOP_RESTORATION
2505
Urvang Joshi23a61112017-01-30 14:59:27 -08002506#define NUM_PALETTE_NEIGHBORS 3 // left, top-left and top.
2507int 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) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07002510 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
Yaowu Xuc27fc142016-08-22 16:08:15 -07002514 int scores[PALETTE_MAX_SIZE + 10];
Urvang Joshicdbe7082017-01-26 13:06:49 -08002515 const int weights[NUM_PALETTE_NEIGHBORS] = { 2, 1, 2 };
2516 const int hash_multipliers[NUM_PALETTE_NEIGHBORS] = { 1, 2, 2 };
Urvang Joshi23a61112017-01-30 14:59:27 -08002517 int color_index_ctx_hash;
2518 int color_index_ctx;
Urvang Joshicdbe7082017-01-26 13:06:49 -08002519 int color_neighbors[NUM_PALETTE_NEIGHBORS];
Urvang Joshi967ff392016-09-07 14:57:49 -07002520 int inverse_color_order[PALETTE_MAX_SIZE];
Urvang Joshi56ba91b2017-01-10 13:22:09 -08002521 assert(palette_size <= PALETTE_MAX_SIZE);
Urvang Joshicdbe7082017-01-26 13:06:49 -08002522 assert(r > 0 || c > 0);
Yaowu Xuc27fc142016-08-22 16:08:15 -07002523
Urvang Joshi79f4fc42016-10-26 09:40:35 -07002524 // Get color indices of neighbors.
Urvang Joshi56ba91b2017-01-10 13:22:09 -08002525 color_neighbors[0] = (c - 1 >= 0) ? color_map[r * stride + c - 1] : -1;
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07002526 color_neighbors[1] =
Urvang Joshi56ba91b2017-01-10 13:22:09 -08002527 (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;
Yaowu Xuc27fc142016-08-22 16:08:15 -07002529
Urvang Joshi967ff392016-09-07 14:57:49 -07002530 for (i = 0; i < PALETTE_MAX_SIZE; ++i) {
2531 color_order[i] = i;
2532 inverse_color_order[i] = i;
2533 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07002534 memset(scores, 0, PALETTE_MAX_SIZE * sizeof(scores[0]));
Urvang Joshicdbe7082017-01-26 13:06:49 -08002535 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07002536 if (color_neighbors[i] >= 0) {
2537 scores[color_neighbors[i]] += weights[i];
2538 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07002539 }
2540
Urvang Joshicdbe7082017-01-26 13:06:49 -08002541 // Get the top NUM_PALETTE_NEIGHBORS scores (sorted from large to small).
2542 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07002543 int max = scores[i];
2544 int max_idx = i;
2545 int j;
Urvang Joshi56ba91b2017-01-10 13:22:09 -08002546 for (j = i + 1; j < palette_size; ++j) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002547 if (scores[j] > max) {
2548 max = scores[j];
2549 max_idx = j;
2550 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07002551 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07002552 if (max_idx != i) {
Urvang Joshif1c06a72017-01-09 14:46:51 -08002553 // 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;
Urvang Joshi967ff392016-09-07 14:57:49 -07002565 inverse_color_order[color_order[i]] = i;
Yaowu Xuc27fc142016-08-22 16:08:15 -07002566 }
2567 }
2568
Urvang Joshi79f4fc42016-10-26 09:40:35 -07002569 // Get hash value of context.
Urvang Joshi23a61112017-01-30 14:59:27 -08002570 color_index_ctx_hash = 0;
Urvang Joshicdbe7082017-01-26 13:06:49 -08002571 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi23a61112017-01-30 14:59:27 -08002572 color_index_ctx_hash += scores[i] * hash_multipliers[i];
Urvang Joshicdbe7082017-01-26 13:06:49 -08002573 }
Urvang Joshi23a61112017-01-30 14:59:27 -08002574 assert(color_index_ctx_hash > 0);
2575 assert(color_index_ctx_hash <= MAX_COLOR_CONTEXT_HASH);
Yaowu Xuc27fc142016-08-22 16:08:15 -07002576
Urvang Joshi79f4fc42016-10-26 09:40:35 -07002577 // Lookup context from hash.
Urvang Joshi23a61112017-01-30 14:59:27 -08002578 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);
Yaowu Xuc27fc142016-08-22 16:08:15 -07002581
Urvang Joshi967ff392016-09-07 14:57:49 -07002582 if (color_idx != NULL) {
Urvang Joshi56ba91b2017-01-10 13:22:09 -08002583 *color_idx = inverse_color_order[color_map[r * stride + c]];
Urvang Joshi967ff392016-09-07 14:57:49 -07002584 }
Urvang Joshi23a61112017-01-30 14:59:27 -08002585 return color_index_ctx;
Yaowu Xuc27fc142016-08-22 16:08:15 -07002586}
Urvang Joshicdbe7082017-01-26 13:06:49 -08002587#undef NUM_PALETTE_NEIGHBORS
2588#undef MAX_COLOR_CONTEXT_HASH
2589
Yaowu Xuc27fc142016-08-22 16:08:15 -07002590#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07002591static const aom_prob default_txfm_partition_probs[TXFM_PARTITION_CONTEXTS] = {
Urvang Joshi9136ab72017-07-28 14:15:49 -07002592#if CONFIG_TX64X64
Urvang Joshi886bfc72017-08-22 17:40:38 -07002593 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
Urvang Joshi9136ab72017-07-28 14:15:49 -07002597#endif // CONFIG_TX64X64
Yaowu Xuc27fc142016-08-22 16:08:15 -07002598};
Thomas Davies985bfc32017-06-27 16:51:26 +01002599#if CONFIG_NEW_MULTISYMBOL
2600static const aom_cdf_prob
2601 default_txfm_partition_cdf[TXFM_PARTITION_CONTEXTS][CDF_SIZE(2)] = {
Urvang Joshi886bfc72017-08-22 17:40:38 -07002602#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
Thomas Davies985bfc32017-06-27 16:51:26 +01002626 { 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 },
Urvang Joshi9136ab72017-07-28 14:15:49 -07002641 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
Urvang Joshi9136ab72017-07-28 14:15:49 -07002642#endif // CONFIG_TX64X64
Thomas Davies985bfc32017-06-27 16:51:26 +01002643 };
2644#endif // CONFIG_NEW_MULTISYMBOL
Urvang Joshi9136ab72017-07-28 14:15:49 -07002645#endif // CONFIG_VAR_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07002646
Yaowu Xuf883b422016-08-30 14:01:10 -07002647static const aom_prob default_skip_probs[SKIP_CONTEXTS] = { 192, 128, 64 };
Thomas Davies61e3e372017-04-04 16:10:23 +01002648#if CONFIG_NEW_MULTISYMBOL
2649static 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
Yaowu Xuc27fc142016-08-22 16:08:15 -07002655
Lester Lu432012f2017-08-17 14:39:29 -07002656#if CONFIG_LGT_FROM_PRED
2657static 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
2670static const aom_prob default_inter_lgt_prob[LGT_SIZES] = { 230, 230 };
2671#endif // CONFIG_LGT_FROM_PRED
2672
hui sub4e25d22017-03-09 15:32:30 -08002673#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
clang-format55ce9e02017-02-15 22:27:12 -08002674static 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 };
Yaowu Xuf883b422016-08-30 14:01:10 -07002679const aom_tree_index av1_intra_filter_tree[TREE_SIZE(INTRA_FILTERS)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002680 -INTRA_FILTER_LINEAR, 2, -INTRA_FILTER_8TAP, 4, -INTRA_FILTER_8TAP_SHARP,
2681 -INTRA_FILTER_8TAP_SMOOTH,
2682};
hui sub4e25d22017-03-09 15:32:30 -08002683int av1_intra_filter_ind[INTRA_FILTERS];
2684int av1_intra_filter_inv[INTRA_FILTERS];
hui sub4e25d22017-03-09 15:32:30 -08002685#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07002686
hui su5db97432016-10-14 16:10:14 -07002687#if CONFIG_FILTER_INTRA
2688static const aom_prob default_filter_intra_probs[2] = { 230, 230 };
2689#endif // CONFIG_FILTER_INTRA
2690
Yaowu Xuc27fc142016-08-22 16:08:15 -07002691#if CONFIG_SUPERTX
clang-format55ce9e02017-02-15 22:27:12 -08002692static const aom_prob
2693 default_supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002694#if CONFIG_CHROMA_2X2
Jingning Hanfeb517c2016-12-21 16:02:07 -08002695#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002696 { 1, 1, 160, 160, 170, 180 }, { 1, 1, 200, 200, 210, 220 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002697#else
clang-format55ce9e02017-02-15 22:27:12 -08002698 { 1, 1, 160, 160, 170 }, { 1, 1, 200, 200, 210 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002699#endif // CONFIG_TX64X64
2700#else
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002701#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002702 { 1, 160, 160, 170, 180 }, { 1, 200, 200, 210, 220 },
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002703#else
clang-format55ce9e02017-02-15 22:27:12 -08002704 { 1, 160, 160, 170 }, { 1, 200, 200, 210 },
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002705#endif // CONFIG_TX64X64
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002706#endif // CONFIG_CHROMA_2X2
clang-format55ce9e02017-02-15 22:27:12 -08002707 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07002708#endif // CONFIG_SUPERTX
2709
2710// FIXME(someone) need real defaults here
Nathan E. Eggef627e582016-08-19 20:06:51 -04002711static const aom_prob default_segment_tree_probs[SEG_TREE_PROBS] = {
2712 128, 128, 128, 128, 128, 128, 128
Yaowu Xuc27fc142016-08-22 16:08:15 -07002713};
Nathan E. Eggef627e582016-08-19 20:06:51 -04002714// clang-format off
2715static const aom_prob default_segment_pred_probs[PREDICTION_PROBS] = {
2716 128, 128, 128
2717};
Thomas Davies00021352017-07-11 16:07:55 +01002718#if CONFIG_NEW_MULTISYMBOL
2719static 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
Nathan E. Eggef627e582016-08-19 20:06:51 -04002726// clang-format on
Thomas Davies4ba27d02017-04-05 11:43:36 +01002727#if CONFIG_DUAL_FILTER
Angie Chiangaadbb022017-06-01 16:08:03 -07002728#if USE_EXTRA_FILTER
Thomas Davies4ba27d02017-04-05 11:43:36 +01002729static const aom_cdf_prob
2730 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2731 SWITCHABLE_FILTERS)] = {
Thomas Daviesec92c112017-09-25 11:03:58 +01002732 { 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 },
Thomas Davies4ba27d02017-04-05 11:43:36 +01002752 };
Angie Chiangaadbb022017-06-01 16:08:03 -07002753#else // USE_EXTRA_FILTER
2754static const aom_cdf_prob
2755 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2756 SWITCHABLE_FILTERS)] = {
Yue Chend9de81e2017-07-10 16:58:13 -07002757 { 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 }
Angie Chiangaadbb022017-06-01 16:08:03 -07002773 };
2774#endif // USE_EXTRA_FILTER
2775#else // CONFIG_DUAL_FILTER
Thomas Davies1d7db722017-02-22 11:15:00 +00002776static const aom_cdf_prob
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002777 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 };
Angie Chiangaadbb022017-06-01 16:08:03 -07002784#endif // CONFIG_DUAL_FILTER
Thomas Davies1d7db722017-02-22 11:15:00 +00002785
2786static const aom_cdf_prob default_seg_tree_cdf[CDF_SIZE(MAX_SEGMENTS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002787 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
Thomas Davies1d7db722017-02-22 11:15:00 +00002790};
2791
2792static const aom_cdf_prob
2793 default_tx_size_cdf[MAX_TX_DEPTH][TX_SIZE_CONTEXTS][CDF_SIZE(MAX_TX_DEPTH +
2794 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002795 { { 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 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002801#if CONFIG_TX64X64
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002802 { { 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 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002806#endif
2807 };
2808
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002809#if CONFIG_SMOOTH_HV
2810static const aom_cdf_prob
2811 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
Hui Su814f41e2017-10-02 12:21:24 -07002812 {
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 },
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002836 };
2837
Luc Trudeau6e1cd782017-06-21 13:52:36 -04002838#if CONFIG_CFL
2839static 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
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002895static const aom_cdf_prob
Luc Trudeaud6d9eee2017-07-12 12:36:50 -04002896 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
Hui Su814f41e2017-10-02 12:21:24 -07002897 {
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 },
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002975 };
Luc Trudeau6e1cd782017-06-21 13:52:36 -04002976#endif // CONFIG_CFL
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002977#else // !CONFIG_SMOOTH_HV
Urvang Joshi63234542017-03-10 12:04:03 -08002978static const aom_cdf_prob
2979 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
Hui Su814f41e2017-10-02 12:21:24 -07002980 {
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 },
Urvang Joshi63234542017-03-10 12:04:03 -08003000 };
3001
3002static const aom_cdf_prob
Luc Trudeaud6d9eee2017-07-12 12:36:50 -04003003 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
Hui Su814f41e2017-10-02 12:21:24 -07003004 {
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 },
Urvang Joshi63234542017-03-10 12:04:03 -08003059 };
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003060#endif // CONFIG_SMOOTH_HV
Thomas Davies1d7db722017-02-22 11:15:00 +00003061
Alex Converse57795a42017-03-14 12:18:25 -07003062#if CONFIG_EXT_PARTITION_TYPES
3063static 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
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003066 { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003067 0, 0, 0, 0, 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003068 { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003069 0, 0, 0, 0, 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003070 { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003071 0, 0, 0, 0, 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003072 { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003073 0, 0, 0, 0, 0, 0 },
3074 // 16x16 -> 8x8
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003075 { AOM_ICDF(22272), AOM_ICDF(23768), AOM_ICDF(25043), AOM_ICDF(29996),
Rupert Swarbrick6a93b152017-08-09 10:18:21 +01003076 AOM_ICDF(30495), AOM_ICDF(30994), AOM_ICDF(31419), AOM_ICDF(31844),
3077 AOM_ICDF(32343), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003078 { AOM_ICDF(11776), AOM_ICDF(13457), AOM_ICDF(16315), AOM_ICDF(28229),
Rupert Swarbrick6a93b152017-08-09 10:18:21 +01003079 AOM_ICDF(28789), AOM_ICDF(29349), AOM_ICDF(30302), AOM_ICDF(31255),
3080 AOM_ICDF(31816), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003081 { AOM_ICDF(10496), AOM_ICDF(14802), AOM_ICDF(16136), AOM_ICDF(27127),
Rupert Swarbrick6a93b152017-08-09 10:18:21 +01003082 AOM_ICDF(28563), AOM_ICDF(29999), AOM_ICDF(30444), AOM_ICDF(30889),
3083 AOM_ICDF(32324), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003084 { AOM_ICDF(6784), AOM_ICDF(8763), AOM_ICDF(10440), AOM_ICDF(29110),
Rupert Swarbrick6a93b152017-08-09 10:18:21 +01003085 AOM_ICDF(29770), AOM_ICDF(30430), AOM_ICDF(30989), AOM_ICDF(31548),
3086 AOM_ICDF(32208), AOM_ICDF(32768), 0 },
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003087 // 32x32 -> 16x16
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003088 { AOM_ICDF(22656), AOM_ICDF(23801), AOM_ICDF(24702), AOM_ICDF(30721),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003089 AOM_ICDF(31103), AOM_ICDF(31485), AOM_ICDF(31785), AOM_ICDF(32085),
3090 AOM_ICDF(32467), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003091 { AOM_ICDF(8704), AOM_ICDF(9926), AOM_ICDF(12586), AOM_ICDF(28885),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003092 AOM_ICDF(29292), AOM_ICDF(29699), AOM_ICDF(30586), AOM_ICDF(31473),
3093 AOM_ICDF(31881), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003094 { AOM_ICDF(6656), AOM_ICDF(10685), AOM_ICDF(11566), AOM_ICDF(27857),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003095 AOM_ICDF(29200), AOM_ICDF(30543), AOM_ICDF(30837), AOM_ICDF(31131),
3096 AOM_ICDF(32474), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003097 { AOM_ICDF(2176), AOM_ICDF(3012), AOM_ICDF(3690), AOM_ICDF(31253),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003098 AOM_ICDF(31532), AOM_ICDF(31811), AOM_ICDF(32037), AOM_ICDF(32263),
3099 AOM_ICDF(32542), AOM_ICDF(32768), 0 },
3100 // 64x64 -> 32x32
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003101 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
Rupert Swarbrick72678572017-08-02 12:05:26 +01003102 AOM_ICDF(32354), AOM_ICDF(32450), AOM_ICDF(32523), AOM_ICDF(32596),
3103 AOM_ICDF(32693), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003104 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
Rupert Swarbrick72678572017-08-02 12:05:26 +01003105 AOM_ICDF(30379), AOM_ICDF(30624), AOM_ICDF(31256), AOM_ICDF(31888),
3106 AOM_ICDF(32134), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003107 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
Rupert Swarbrick72678572017-08-02 12:05:26 +01003108 AOM_ICDF(31192), AOM_ICDF(31720), AOM_ICDF(31893), AOM_ICDF(32066),
3109 AOM_ICDF(32594), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003110 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
Rupert Swarbrick72678572017-08-02 12:05:26 +01003111 AOM_ICDF(32121), AOM_ICDF(32264), AOM_ICDF(32383), AOM_ICDF(32502),
3112 AOM_ICDF(32647), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07003113#if CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01003114 // 128x128 -> 64x64
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003115 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01003116 AOM_ICDF(32354), AOM_ICDF(32450), AOM_ICDF(32523), AOM_ICDF(32596),
3117 AOM_ICDF(32693), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003118 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01003119 AOM_ICDF(30379), AOM_ICDF(30624), AOM_ICDF(31256), AOM_ICDF(31888),
3120 AOM_ICDF(32134), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003121 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01003122 AOM_ICDF(31192), AOM_ICDF(31720), AOM_ICDF(31893), AOM_ICDF(32066),
3123 AOM_ICDF(32594), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003124 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
Rupert Swarbrick2fa6e1c2017-09-11 12:38:10 +01003125 AOM_ICDF(32121), AOM_ICDF(32264), AOM_ICDF(32383), AOM_ICDF(32502),
3126 AOM_ICDF(32647), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07003127#endif
3128 };
3129#else
Thomas Davies1d7db722017-02-22 11:15:00 +00003130static const aom_cdf_prob
3131 default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(PARTITION_TYPES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003132 { 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 },
Alex Converse57795a42017-03-14 12:18:25 -07003148#if CONFIG_EXT_PARTITION
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003149 { 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 },
Alex Converse57795a42017-03-14 12:18:25 -07003153#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00003154 };
Alex Converse57795a42017-03-14 12:18:25 -07003155#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00003156
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003157#if CONFIG_EXT_TX
3158static 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
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003162#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003163 {
3164 { 0 },
3165 },
3166#endif
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003167 {
3168 { 0 },
3169 { 0 },
3170 { 0 },
3171 { 0 },
3172 { 0 },
3173 { 0 },
3174 { 0 },
3175 { 0 },
3176 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003177 { 0 },
3178#if CONFIG_SMOOTH_HV
3179 { 0 },
3180 { 0 },
3181#endif // CONFIG_SMOOTH_HV
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003182 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003183 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003184 {
3185 { 0 },
3186 { 0 },
3187 { 0 },
3188 { 0 },
3189 { 0 },
3190 { 0 },
3191 { 0 },
3192 { 0 },
3193 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003194 { 0 },
3195#if CONFIG_SMOOTH_HV
3196 { 0 },
3197 { 0 },
3198#endif // CONFIG_SMOOTH_HV
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003199 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003200 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003201 {
3202 { 0 },
3203 { 0 },
3204 { 0 },
3205 { 0 },
3206 { 0 },
3207 { 0 },
3208 { 0 },
3209 { 0 },
3210 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003211 { 0 },
3212#if CONFIG_SMOOTH_HV
3213 { 0 },
3214 { 0 },
3215#endif // CONFIG_SMOOTH_HV
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003216 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003217 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003218 {
3219 { 0 },
3220 { 0 },
3221 { 0 },
3222 { 0 },
3223 { 0 },
3224 { 0 },
3225 { 0 },
3226 { 0 },
3227 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003228 { 0 },
3229#if CONFIG_SMOOTH_HV
3230 { 0 },
3231 { 0 },
3232#endif // CONFIG_SMOOTH_HV
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003233 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003234 },
3235 },
3236 {
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003237 {
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 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003258 { 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
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003266 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3267 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003268 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003269 {
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 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003290 { 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
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003298 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3299 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003300 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003301 {
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 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003322 { 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
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003330 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3331 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003332 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003333 {
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 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003354 { 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
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003362 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3363 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003364 },
3365 },
3366 {
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003367 {
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 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003386 { 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
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003394 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3395 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003396 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003397 {
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 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003416 { 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
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003424 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3425 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003426 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003427 {
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 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003446 { 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
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003454 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3455 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003456 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003457 {
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 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003476 { 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
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003484 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3485 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003486 },
Sarah Parker53f93db2017-07-11 17:20:04 -07003487 },
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 },
Sarah Parker53f93db2017-07-11 17:20:04 -07003500 { 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
Sarah Parker53f93db2017-07-11 17:20:04 -07003505 { 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 },
Sarah Parker53f93db2017-07-11 17:20:04 -07003517 { 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
Sarah Parker53f93db2017-07-11 17:20:04 -07003522 { 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 },
Sarah Parker53f93db2017-07-11 17:20:04 -07003534 { 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
Sarah Parker53f93db2017-07-11 17:20:04 -07003539 { 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 },
Sarah Parker53f93db2017-07-11 17:20:04 -07003551 { 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
Sarah Parker53f93db2017-07-11 17:20:04 -07003556 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3557 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003558 }
Sarah Parker53f93db2017-07-11 17:20:04 -07003559#endif // CONFIG_MRC_TX
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003560 };
3561static const aom_cdf_prob
3562 default_inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES][CDF_SIZE(
3563 TX_TYPES)] = {
3564 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003565#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003566 { 0 },
3567#endif
3568 { 0 },
3569 { 0 },
3570 { 0 },
3571 { 0 } },
3572 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003573#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003574 { 0 },
3575#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003576 { 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 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003596 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003597#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003598 { 0 },
3599#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003600 { 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 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003616 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003617#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003618 { 0 },
3619#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003620 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3621 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3622 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
Sarah Parker53f93db2017-07-11 17:20:04 -07003623 { 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
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003634 };
3635#else
Sarah Parker53f93db2017-07-11 17:20:04 -07003636#if CONFIG_MRC_TX
3637static 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
Sarah Parker964cabf2017-07-31 17:13:49 -07003673 { { AOM_ICDF(31744), AOM_ICDF(31940), AOM_ICDF(32084), AOM_ICDF(32426),
Sarah Parker53f93db2017-07-11 17:20:04 -07003674 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
3685static 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
Thomas Davies1d7db722017-02-22 11:15:00 +00003699static const aom_cdf_prob
3700 default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003701#if CONFIG_CHROMA_2X2
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003702 { { 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 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003708#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003709 { { 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 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003715
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003716 { { 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 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00003728 };
3729
3730static const aom_cdf_prob
3731 default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003732#if CONFIG_CHROMA_2X2
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003733 { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003734#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003735 { 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 },
Thomas Davies1d7db722017-02-22 11:15:00 +00003738 };
Sarah Parker53f93db2017-07-11 17:20:04 -07003739#endif // CONFIG_MRC_TX
hui sub4e25d22017-03-09 15:32:30 -08003740#endif // !CONFIG_EXT_TX
3741
3742#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
3743static const aom_cdf_prob
3744 default_intra_filter_cdf[INTRA_FILTERS + 1][CDF_SIZE(INTRA_FILTERS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003745 { 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 },
hui sub4e25d22017-03-09 15:32:30 -08003750 };
3751#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies1d7db722017-02-22 11:15:00 +00003752
Luc Trudeauf5334002017-04-25 12:21:26 -04003753#if CONFIG_CFL
David Michael Barrf6eaa152017-07-19 19:42:28 +09003754static 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
Luc Trudeauf5334002017-04-25 12:21:26 -04003758};
David Michael Barrf6eaa152017-07-19 19:42:28 +09003759
3760static 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 };
Luc Trudeauf5334002017-04-25 12:21:26 -04003787#endif
3788
Jingning Hana45d8422017-10-05 09:57:38 -07003789#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.
3795const 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
Hui Su814f41e2017-10-02 12:21:24 -07003967const aom_cdf_prob default_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(
3968 INTRA_MODES)] = {
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003969#if CONFIG_SMOOTH_HV
Hui Su814f41e2017-10-02 12:21:24 -07003970 {
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003971 {
Hui Su814f41e2017-10-02 12:21:24 -07003972 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003976 },
3977 {
Hui Su814f41e2017-10-02 12:21:24 -07003978 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003982 },
3983 {
Hui Su814f41e2017-10-02 12:21:24 -07003984 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003988 },
3989 {
Hui Su814f41e2017-10-02 12:21:24 -07003990 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003994 },
3995 {
Hui Su814f41e2017-10-02 12:21:24 -07003996 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004000 },
4001 {
Hui Su814f41e2017-10-02 12:21:24 -07004002 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004006 },
4007 {
Hui Su814f41e2017-10-02 12:21:24 -07004008 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004012 },
4013 {
Hui Su814f41e2017-10-02 12:21:24 -07004014 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004018 },
4019 {
Hui Su814f41e2017-10-02 12:21:24 -07004020 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004024 },
4025 {
Hui Su814f41e2017-10-02 12:21:24 -07004026 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004030 },
4031 {
Hui Su814f41e2017-10-02 12:21:24 -07004032 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004036 },
4037 {
Hui Su814f41e2017-10-02 12:21:24 -07004038 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004042 },
4043 {
Hui Su814f41e2017-10-02 12:21:24 -07004044 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,
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004048 },
Hui Su814f41e2017-10-02 12:21:24 -07004049 },
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 },
Urvang Joshie6ca8e82017-03-15 14:57:41 -07005010#else
Hui Su814f41e2017-10-02 12:21:24 -07005011 {
Urvang Joshi63234542017-03-10 12:04:03 -08005012 {
Hui Su814f41e2017-10-02 12:21:24 -07005013 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005016 },
5017 {
Hui Su814f41e2017-10-02 12:21:24 -07005018 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005021 },
5022 {
Hui Su814f41e2017-10-02 12:21:24 -07005023 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005026 },
5027 {
Hui Su814f41e2017-10-02 12:21:24 -07005028 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005031 },
5032 {
Hui Su814f41e2017-10-02 12:21:24 -07005033 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005036 },
5037 {
Hui Su814f41e2017-10-02 12:21:24 -07005038 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005041 },
5042 {
Hui Su814f41e2017-10-02 12:21:24 -07005043 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005046 },
5047 {
Hui Su814f41e2017-10-02 12:21:24 -07005048 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005051 },
5052 {
Hui Su814f41e2017-10-02 12:21:24 -07005053 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005056 },
5057 {
Hui Su814f41e2017-10-02 12:21:24 -07005058 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005061 },
5062 {
Hui Su814f41e2017-10-02 12:21:24 -07005063 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,
Urvang Joshi63234542017-03-10 12:04:03 -08005066 },
Hui Su814f41e2017-10-02 12:21:24 -07005067 },
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 },
Urvang Joshie6ca8e82017-03-15 14:57:41 -07005638#endif // CONFIG_SMOOTH_HV
Hui Su814f41e2017-10-02 12:21:24 -07005639};
Jingning Hana45d8422017-10-05 09:57:38 -07005640#endif // CONFIG_KF_CTX
Thomas Davies1d7db722017-02-22 11:15:00 +00005641
Cheng Chen41d37c22017-09-08 19:00:21 -07005642#if CONFIG_LPF_SB
5643static 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
5647static 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
5667static 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
Yaowu Xuc27fc142016-08-22 16:08:15 -07005676static void init_mode_probs(FRAME_CONTEXT *fc) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005677 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);
Thomas Daviesce7272d2017-07-04 16:11:08 +01005680 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);
Debargha Mukherjee801cc922017-09-22 17:22:50 -07005684 av1_copy(fc->kf_y_cdf, default_kf_y_mode_cdf);
Sarah Parker5c6744b2017-08-25 17:27:45 -07005685#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
hui su466ae062017-07-25 16:55:51 -07005689#if CONFIG_NEW_MULTISYMBOL
5690 av1_copy(fc->comp_inter_cdf, default_comp_inter_cdf);
Thomas Daviesce7272d2017-07-04 16:11:08 +01005691#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liuc082bbc2017-05-17 13:31:37 -07005692#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);
Zoe Liufcf5fa22017-06-26 16:00:38 -07005695#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
Zoe Liuc082bbc2017-05-17 13:31:37 -07005699#endif // CONFIG_EXT_COMP_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07005700 av1_copy(fc->comp_ref_prob, default_comp_ref_p);
Thomas Davies894cc812017-06-22 17:51:33 +01005701#if CONFIG_NEW_MULTISYMBOL
Thomas Davies59f92312017-08-23 00:33:12 +01005702 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);
Thomas Davies894cc812017-06-22 17:51:33 +01005704 av1_copy(fc->comp_ref_cdf, default_comp_ref_cdf);
5705#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -07005706#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);
Jingning Han87b01b52017-08-31 12:07:20 -07005713#if BR_NODE
5714 av1_copy(fc->coeff_br, default_coeff_br);
5715#endif
Angie Chiangf12cc4a2017-08-28 15:42:33 -07005716#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
Jingning Hanfdaa55e2017-08-18 16:21:36 -07005721
5722#if LV_MAP_PROB
5723 av1_init_txb_probs(fc);
5724#endif // LV_MAP_PROB
Angie Chiangbabf3e72017-03-20 15:32:24 -07005725#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005726#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07005727 av1_copy(fc->comp_bwdref_prob, default_comp_bwdref_p);
Thomas Davies894cc812017-06-22 17:51:33 +01005728#if CONFIG_NEW_MULTISYMBOL
5729 av1_copy(fc->comp_bwdref_cdf, default_comp_bwdref_cdf);
5730#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005731#endif // CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07005732 av1_copy(fc->single_ref_prob, default_single_ref_p);
Thomas Davies315f5782017-06-14 15:14:55 +01005733#if CONFIG_NEW_MULTISYMBOL
5734 av1_copy(fc->single_ref_cdf, default_single_ref_cdf);
5735#endif
Sebastien Alaiwan0bdea0d2017-10-02 15:15:05 +02005736#if CONFIG_COMPOUND_SINGLEREF
Zoe Liu239f06b2017-04-20 13:10:55 -07005737 av1_copy(fc->comp_inter_mode_prob, default_comp_inter_mode_p);
Sebastien Alaiwan0bdea0d2017-10-02 15:15:05 +02005738#endif // CONFIG_COMPOUND_SINGLEREF
Yue Chend6bdd462017-07-19 16:05:43 -07005739#if CONFIG_RECT_TX_EXT && (CONFIG_EXT_TX || CONFIG_VAR_TX)
Yue Chen56e226e2017-05-02 16:21:40 -07005740 fc->quarter_tx_size_prob = default_quarter_tx_size_prob;
Thomas Daviese3f69782017-10-03 10:43:17 +01005741#if CONFIG_NEW_MULTISYMBOL
5742 av1_copy(fc->quarter_tx_size_cdf, default_quarter_tx_size_cdf);
5743#endif // CONFIG_NEW_MULTISYMBOL
Yue Chend6bdd462017-07-19 16:05:43 -07005744#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005745#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07005746 av1_copy(fc->txfm_partition_prob, default_txfm_partition_probs);
Thomas Davies985bfc32017-06-27 16:51:26 +01005747#if CONFIG_NEW_MULTISYMBOL
5748 av1_copy(fc->txfm_partition_cdf, default_txfm_partition_cdf);
5749#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005750#endif
Yaowu Xuf883b422016-08-30 14:01:10 -07005751 av1_copy(fc->skip_probs, default_skip_probs);
Yaowu Xuf883b422016-08-30 14:01:10 -07005752 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);
Thomas Davies149eda52017-06-12 18:11:55 +01005756#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
Yue Chencb60b182016-10-13 15:18:22 -07005762#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
5763 av1_copy(fc->motion_mode_prob, default_motion_mode_prob);
Wei-Ting Linca710d62017-07-13 11:41:02 -07005764 av1_copy(fc->motion_mode_cdf, default_motion_mode_cdf);
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07005765#if CONFIG_NCOBMC_ADAPT_WEIGHT && CONFIG_MOTION_VAR
5766 av1_copy(fc->ncobmc_mode_prob, default_ncobmc_mode_prob);
Wei-Ting Linca710d62017-07-13 11:41:02 -07005767 av1_copy(fc->ncobmc_mode_cdf, default_ncobmc_mode_cdf);
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07005768#endif
Yue Chen69f18e12016-09-08 14:48:15 -07005769#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
5770 av1_copy(fc->obmc_prob, default_obmc_prob);
Wei-Ting Lin07ed3ab2017-08-28 17:50:25 -07005771#if CONFIG_NEW_MULTISYMBOL || CONFIG_NCOBMC_ADAPT_WEIGHT
Thomas Daviesd9b57262017-06-27 17:43:25 +01005772 av1_copy(fc->obmc_cdf, default_obmc_cdf);
5773#endif
Wei-Ting Lin07ed3ab2017-08-28 17:50:25 -07005774#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
Yue Chen69f18e12016-09-08 14:48:15 -07005778#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yue Chencb60b182016-10-13 15:18:22 -07005779#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuf883b422016-08-30 14:01:10 -07005780 av1_copy(fc->inter_compound_mode_probs, default_inter_compound_mode_probs);
Thomas Davies8c08a332017-06-26 17:30:34 +01005781 av1_copy(fc->inter_compound_mode_cdf, default_inter_compound_mode_cdf);
Zoe Liu239f06b2017-04-20 13:10:55 -07005782#if CONFIG_COMPOUND_SINGLEREF
5783 av1_copy(fc->inter_singleref_comp_mode_probs,
5784 default_inter_singleref_comp_mode_probs);
Thomas Daviesb8b14a92017-07-12 15:11:49 +01005785 av1_copy(fc->inter_singleref_comp_mode_cdf,
5786 default_inter_singleref_comp_mode_cdf);
Zoe Liu239f06b2017-04-20 13:10:55 -07005787#endif // CONFIG_COMPOUND_SINGLEREF
Sarah Parker6fddd182016-11-10 20:57:20 -08005788 av1_copy(fc->compound_type_prob, default_compound_type_probs);
David Barker9b75e212017-07-28 15:31:41 +01005789#if CONFIG_WEDGE || CONFIG_COMPOUND_SEGMENT
Thomas Daviesd8dac222017-06-27 11:23:15 +01005790 av1_copy(fc->compound_type_cdf, default_compound_type_cdf);
David Barker9b75e212017-07-28 15:31:41 +01005791#endif // CONFIG_WEDGE || CONFIG_COMPOUND_SEGMENT
Yue Chen4d26acb2017-05-01 12:28:34 -07005792#if CONFIG_INTERINTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07005793 av1_copy(fc->interintra_prob, default_interintra_prob);
Yaowu Xuf883b422016-08-30 14:01:10 -07005794 av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob);
Thomas Daviescff91712017-07-07 11:49:55 +01005795#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
Thomas Davies299ff042017-06-27 13:41:59 +01005799 av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob);
Thomas Davies299ff042017-06-27 13:41:59 +01005800 av1_copy(fc->interintra_mode_cdf, default_interintra_mode_cdf);
Thomas Davies299ff042017-06-27 13:41:59 +01005801#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07005802#if CONFIG_SUPERTX
Yaowu Xuf883b422016-08-30 14:01:10 -07005803 av1_copy(fc->supertx_prob, default_supertx_prob);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005804#endif // CONFIG_SUPERTX
Nathan E. Eggef627e582016-08-19 20:06:51 -04005805 av1_copy(fc->seg.tree_probs, default_segment_tree_probs);
5806 av1_copy(fc->seg.pred_probs, default_segment_pred_probs);
Thomas Davies00021352017-07-11 16:07:55 +01005807#if CONFIG_NEW_MULTISYMBOL
5808 av1_copy(fc->seg.pred_cdf, default_segment_pred_cdf);
5809#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005810#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08005811#if CONFIG_INTRA_INTERP
Yaowu Xuf883b422016-08-30 14:01:10 -07005812 av1_copy(fc->intra_filter_probs, default_intra_filter_probs);
hui sueda3d762016-12-06 16:58:23 -08005813#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07005814#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07005815#if CONFIG_FILTER_INTRA
5816 av1_copy(fc->filter_intra_probs, default_filter_intra_probs);
5817#endif // CONFIG_FILTER_INTRA
Lester Lu432012f2017-08-17 14:39:29 -07005818#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
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07005822#if CONFIG_LOOP_RESTORATION
5823 av1_copy(fc->switchable_restore_prob, default_switchable_restore_prob);
5824#endif // CONFIG_LOOP_RESTORATION
Thomas Davies1d7db722017-02-22 11:15:00 +00005825 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);
Thomas Davies1d7db722017-02-22 11:15:00 +00005829 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);
Thomas Davies61e3e372017-04-04 16:10:23 +01005831#if CONFIG_NEW_MULTISYMBOL
5832 av1_copy(fc->skip_cdfs, default_skip_cdfs);
Thomas Daviesf6ad9352017-04-19 11:38:06 +01005833 av1_copy(fc->intra_inter_cdf, default_intra_inter_cdf);
Thomas Davies61e3e372017-04-04 16:10:23 +01005834#endif
hui sub4e25d22017-03-09 15:32:30 -08005835#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
Thomas Davies1d7db722017-02-22 11:15:00 +00005838 av1_copy(fc->seg.tree_cdf, default_seg_tree_cdf);
5839 av1_copy(fc->tx_size_cdf, default_tx_size_cdf);
Thomas Daviesf6936102016-09-05 16:51:31 +01005840 av1_copy(fc->delta_q_prob, default_delta_q_probs);
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00005841 av1_copy(fc->delta_q_cdf, default_delta_q_cdf);
Fangwen Fu231fe422017-04-24 17:52:29 -07005842#if CONFIG_EXT_DELTA_Q
5843 av1_copy(fc->delta_lf_prob, default_delta_lf_probs);
Fangwen Fu231fe422017-04-24 17:52:29 -07005844 av1_copy(fc->delta_lf_cdf, default_delta_lf_cdf);
Cheng Chen880166a2017-10-02 17:48:48 -07005845#if CONFIG_LOOPFILTER_LEVEL
5846 av1_copy(fc->delta_lf_multi_cdf, default_delta_lf_multi_cdf);
5847#endif // CONFIG_LOOPFILTER_LEVEL
Fangwen Fu231fe422017-04-24 17:52:29 -07005848#endif
Luc Trudeauf5334002017-04-25 12:21:26 -04005849#if CONFIG_CFL
David Michael Barrf6eaa152017-07-19 19:42:28 +09005850 av1_copy(fc->cfl_sign_cdf, default_cfl_sign_cdf);
Luc Trudeauf5334002017-04-25 12:21:26 -04005851 av1_copy(fc->cfl_alpha_cdf, default_cfl_alpha_cdf);
5852#endif
Alex Converse7c412ea2017-06-01 15:16:22 -07005853#if CONFIG_INTRABC
Hui Su6c8584f2017-09-14 15:37:02 -07005854 av1_copy(fc->intrabc_cdf, default_intrabc_cdf);
Alex Converse7c412ea2017-06-01 15:16:22 -07005855#endif
Cheng Chen41d37c22017-09-08 19:00:21 -07005856#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
Yaowu Xuc27fc142016-08-22 16:08:15 -07005861}
5862
Yaowu Xuf883b422016-08-30 14:01:10 -07005863void av1_adapt_inter_frame_probs(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005864 int i, j;
5865 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07005866 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07005867 const FRAME_COUNTS *counts = &cm->counts;
5868
5869 for (i = 0; i < INTRA_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005870 fc->intra_inter_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07005871 pre_fc->intra_inter_prob[i], counts->intra_inter[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07005872
Yaowu Xuc27fc142016-08-22 16:08:15 -07005873 for (i = 0; i < COMP_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005874 fc->comp_inter_prob[i] = av1_mode_mv_merge_probs(pre_fc->comp_inter_prob[i],
5875 counts->comp_inter[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005876
Zoe Liuc082bbc2017-05-17 13:31:37 -07005877#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
Yaowu Xuc27fc142016-08-22 16:08:15 -07005888#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++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005906 fc->single_ref_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07005907 pre_fc->single_ref_prob[i][j], counts->single_ref[i][j]);
5908
Sebastien Alaiwan0bdea0d2017-10-02 15:15:05 +02005909#if CONFIG_COMPOUND_SINGLEREF
Zoe Liu239f06b2017-04-20 13:10:55 -07005910 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
Sebastien Alaiwan0bdea0d2017-10-02 15:15:05 +02005914#endif // CONFIG_COMPOUND_SINGLEREF
Zoe Liu239f06b2017-04-20 13:10:55 -07005915
Yaowu Xuc27fc142016-08-22 16:08:15 -07005916 for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i)
5917 fc->newmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005918 av1_mode_mv_merge_probs(pre_fc->newmv_prob[i], counts->newmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005919 for (i = 0; i < ZEROMV_MODE_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07005920 fc->zeromv_prob[i] =
5921 av1_mode_mv_merge_probs(pre_fc->zeromv_prob[i], counts->zeromv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005922 for (i = 0; i < REFMV_MODE_CONTEXTS; ++i)
5923 fc->refmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005924 av1_mode_mv_merge_probs(pre_fc->refmv_prob[i], counts->refmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005925
5926 for (i = 0; i < DRL_MODE_CONTEXTS; ++i)
5927 fc->drl_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005928 av1_mode_mv_merge_probs(pre_fc->drl_prob[i], counts->drl_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005929
Yue Chencb60b182016-10-13 15:18:22 -07005930#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005931 for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i)
Yue Chencb60b182016-10-13 15:18:22 -07005932 aom_tree_merge_probs(av1_motion_mode_tree, pre_fc->motion_mode_prob[i],
5933 counts->motion_mode[i], fc->motion_mode_prob[i]);
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07005934#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]);
Wei-Ting Lin5f8f7a12017-08-31 14:39:52 -07005938#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]);
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07005942#endif
Wei-Ting Lin5f8f7a12017-08-31 14:39:52 -07005943#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
Yue Chen69f18e12016-09-08 14:48:15 -07005944#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005945 for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i)
Yue Chen69f18e12016-09-08 14:48:15 -07005946 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
Yue Chencb60b182016-10-13 15:18:22 -07005949#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07005950
5951#if CONFIG_SUPERTX
5952 for (i = 0; i < PARTITION_SUPERTX_CONTEXTS; ++i) {
Jingning Han93531242016-12-20 11:54:36 -08005953 for (j = TX_8X8; j < TX_SIZES; ++j) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005954 fc->supertx_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07005955 pre_fc->supertx_prob[i][j], counts->supertx[i][j]);
5956 }
5957 }
5958#endif // CONFIG_SUPERTX
5959
Yaowu Xuc27fc142016-08-22 16:08:15 -07005960 for (i = 0; i < INTER_MODE_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005961 aom_tree_merge_probs(
5962 av1_inter_compound_mode_tree, pre_fc->inter_compound_mode_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005963 counts->inter_compound_mode[i], fc->inter_compound_mode_probs[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07005964#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
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005971#if CONFIG_INTERINTRA
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005972 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 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005983#if CONFIG_WEDGE
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005984 for (i = 0; i < BLOCK_SIZES_ALL; ++i) {
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005985 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 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005989#endif // CONFIG_WEDGE
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005990 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005991#endif // CONFIG_INTERINTRA
Sarah Parker6fddd182016-11-10 20:57:20 -08005992
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00005993#if CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005994 if (cm->allow_masked_compound) {
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005995 for (i = 0; i < BLOCK_SIZES_ALL; ++i) {
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005996 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 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07006000 }
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00006001#endif // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07006002}
6003
Yaowu Xuf883b422016-08-30 14:01:10 -07006004void av1_adapt_intra_frame_probs(AV1_COMMON *cm) {
Urvang Joshi355a7a72017-09-29 17:12:44 -07006005 int i;
Yaowu Xuc27fc142016-08-22 16:08:15 -07006006 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07006007 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07006008 const FRAME_COUNTS *counts = &cm->counts;
6009
6010 if (cm->tx_mode == TX_MODE_SELECT) {
Yue Chend6bdd462017-07-19 16:05:43 -07006011#if CONFIG_RECT_TX_EXT && (CONFIG_EXT_TX || CONFIG_VAR_TX)
Yue Chen56e226e2017-05-02 16:21:40 -07006012 fc->quarter_tx_size_prob = av1_mode_mv_merge_probs(
6013 pre_fc->quarter_tx_size_prob, counts->quarter_tx_size);
Yue Chend6bdd462017-07-19 16:05:43 -07006014#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07006015 }
6016
6017#if CONFIG_VAR_TX
Yue Chena1e48dc2016-08-29 17:29:33 -07006018 if (cm->tx_mode == TX_MODE_SELECT) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07006019 for (i = 0; i < TXFM_PARTITION_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07006020 fc->txfm_partition_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07006021 pre_fc->txfm_partition_prob[i], counts->txfm_partition[i]);
Yue Chena1e48dc2016-08-29 17:29:33 -07006022 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07006023#endif
6024
6025 for (i = 0; i < SKIP_CONTEXTS; ++i)
6026 fc->skip_probs[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07006027 av1_mode_mv_merge_probs(pre_fc->skip_probs[i], counts->skip[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07006028
Lester Lu432012f2017-08-17 14:39:29 -07006029#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
Yaowu Xuc27fc142016-08-22 16:08:15 -07006046 if (cm->seg.temporal_update) {
6047 for (i = 0; i < PREDICTION_PROBS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07006048 fc->seg.pred_probs[i] = av1_mode_mv_merge_probs(pre_fc->seg.pred_probs[i],
6049 counts->seg.pred[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07006050
Yaowu Xuf883b422016-08-30 14:01:10 -07006051 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07006052 counts->seg.tree_mispred, fc->seg.tree_probs);
6053 } else {
Yaowu Xuf883b422016-08-30 14:01:10 -07006054 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07006055 counts->seg.tree_total, fc->seg.tree_probs);
6056 }
6057
Yaowu Xuc27fc142016-08-22 16:08:15 -07006058#if CONFIG_EXT_PARTITION_TYPES
Alex Converse4e18d402017-03-14 15:36:38 -07006059 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)
Yaowu Xuf883b422016-08-30 14:01:10 -07006063 aom_tree_merge_probs(av1_ext_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07006064 counts->partition[i], fc->partition_prob[i]);
6065#else
Alex Converse4e18d402017-03-14 15:36:38 -07006066 for (i = 0; i < PARTITION_CONTEXTS_PRIMARY; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07006067 aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07006068 counts->partition[i], fc->partition_prob[i]);
Nathan E. Eggefba2be62016-05-03 09:48:54 -04006069 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07006070#endif // CONFIG_EXT_PARTITION_TYPES
Alex Converse55c6bde2017-01-12 15:55:31 -08006071#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
Thomas Davies665cd702017-03-02 10:20:30 +00006095 for (i = 0; i < DELTA_Q_PROBS; ++i)
Thomas Daviesf6936102016-09-05 16:51:31 +01006096 fc->delta_q_prob[i] =
6097 mode_mv_merge_probs(pre_fc->delta_q_prob[i], counts->delta_q[i]);
Fangwen Fu231fe422017-04-24 17:52:29 -07006098#if CONFIG_EXT_DELTA_Q
Cheng Chena97394f2017-09-27 15:05:14 -07006099#if CONFIG_LOOPFILTER_LEVEL
6100 for (i = 0; i < FRAME_LF_COUNT; ++i)
6101 for (int j = 0; j < DELTA_LF_PROBS; ++j)
Cheng Chen880166a2017-10-02 17:48:48 -07006102 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
Fangwen Fu231fe422017-04-24 17:52:29 -07006105 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
Yaowu Xuc27fc142016-08-22 16:08:15 -07006109#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08006110#if CONFIG_INTRA_INTERP
hui su5db97432016-10-14 16:10:14 -07006111 for (i = 0; i < INTRA_FILTERS + 1; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07006112 aom_tree_merge_probs(av1_intra_filter_tree, pre_fc->intra_filter_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07006113 counts->intra_filter[i], fc->intra_filter_probs[i]);
hui su5db97432016-10-14 16:10:14 -07006114 }
hui sueda3d762016-12-06 16:58:23 -08006115#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07006116#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07006117#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
Yaowu Xuc27fc142016-08-22 16:08:15 -07006123}
6124
6125static 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;
Zoe Liu3ac20932017-08-30 16:35:55 -07006137#if CONFIG_EXT_REFS
Zoe Liu97ad0582017-02-09 10:51:00 -08006138 lf->ref_deltas[ALTREF2_FRAME] = -1;
Zoe Liu3ac20932017-08-30 16:35:55 -07006139#endif // CONFIG_EXT_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07006140 lf->ref_deltas[ALTREF_FRAME] = -1;
6141
6142 lf->mode_deltas[0] = 0;
6143 lf->mode_deltas[1] = 0;
Ryana97c8972017-09-01 14:36:30 -07006144
6145 av1_copy(lf->last_ref_deltas, lf->ref_deltas);
6146 av1_copy(lf->last_mode_deltas, lf->mode_deltas);
Yaowu Xuc27fc142016-08-22 16:08:15 -07006147}
6148
Yaowu Xuf883b422016-08-30 14:01:10 -07006149void av1_setup_past_independence(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07006150 // 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;
Yaowu Xuf883b422016-08-30 14:01:10 -07006155 av1_clearall_segfeatures(&cm->seg);
Yaowu Xuc27fc142016-08-22 16:08:15 -07006156 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
Yaowu Xuf883b422016-08-30 14:01:10 -07006165 av1_zero(lf->last_ref_deltas);
6166 av1_zero(lf->last_mode_deltas);
Yaowu Xuc27fc142016-08-22 16:08:15 -07006167 set_default_lf_deltas(lf);
6168
6169 // To force update of the sharpness
6170 lf->last_sharpness_level = -1;
Yaowu Xuc27fc142016-08-22 16:08:15 -07006171
Yaowu Xuf883b422016-08-30 14:01:10 -07006172 av1_default_coef_probs(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07006173 init_mode_probs(cm->fc);
Yaowu Xuf883b422016-08-30 14:01:10 -07006174 av1_init_mv_probs(cm);
Angie Chiangdef11252017-08-18 14:37:32 -07006175#if CONFIG_LV_MAP
6176 av1_init_lv_map(cm);
6177#endif
Yushin Chob188ea12017-03-13 13:45:23 -07006178#if CONFIG_PVQ
6179 av1_default_pvq_probs(cm);
6180#endif // CONFIG_PVQ
Angie Chianged8cd9a2016-10-21 16:44:47 -07006181#if CONFIG_ADAPT_SCAN
6182 av1_init_scan_order(cm);
6183#endif
Angie Chiang0a2c0cb2017-02-23 14:19:15 -08006184 av1_convolve_init(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07006185 cm->fc->initialized = 1;
6186
Thomas Daedea6a854b2017-06-22 17:49:11 -07006187#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
Yaowu Xuc27fc142016-08-22 16:08:15 -07006193 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) {
Thomas Daededa4d8b92017-06-05 15:44:14 -07006198#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
Yaowu Xuc27fc142016-08-22 16:08:15 -07006204 // Reset only the frame context specified in the frame header.
6205 cm->frame_contexts[cm->frame_context_idx] = *cm->fc;
Thomas Daededa4d8b92017-06-05 15:44:14 -07006206#endif // CONFIG_NO_FRAME_CONTEXT_SIGNALING
Yaowu Xuc27fc142016-08-22 16:08:15 -07006207 }
Thomas Daedea6a854b2017-06-22 17:49:11 -07006208#endif // CONFIG_NO_FRAME_CONTEXT_SIGNALING
Yaowu Xuc27fc142016-08-22 16:08:15 -07006209
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));
Thomas Daededa4d8b92017-06-05 15:44:14 -07006214#if !CONFIG_NO_FRAME_CONTEXT_SIGNALING
Yaowu Xuc27fc142016-08-22 16:08:15 -07006215 cm->frame_context_idx = 0;
Thomas Daededa4d8b92017-06-05 15:44:14 -07006216#endif // !CONFIG_NO_FRAME_CONTEXT_SIGNALING
Yaowu Xuc27fc142016-08-22 16:08:15 -07006217}