blob: 6da7e675b45820701304e457913fe450868aaab2 [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"
18
Angie Chiangbabf3e72017-03-20 15:32:24 -070019#if CONFIG_LV_MAP
20const aom_prob default_txb_skip[TX_SIZES][TXB_SKIP_CONTEXTS] = {
Jingning Han480ee022017-04-03 20:31:08 -070021#if CONFIG_CB4X4
22 { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
23#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -070024 { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
25 { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
26 { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
27 { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
28};
29const aom_prob default_dc_sign[PLANE_TYPES][DC_SIGN_CONTEXTS] = {
30 { 125, 102, 147 }, { 119, 101, 135 },
31};
32
33const aom_prob default_coeff_base
34 [TX_SIZES][PLANE_TYPES][NUM_BASE_LEVELS][COEFF_BASE_CONTEXTS] = {
Jingning Han480ee022017-04-03 20:31:08 -070035#if CONFIG_CB4X4
36 { // TX_2X2
37 {
38 { 73, 128, 131, 204, 165, 226, 169, 236, 18, 128, 51,
39 153, 97, 179, 123, 201, 145, 226, 20, 128, 59, 153,
40 107, 181, 129, 201, 142, 226, 3, 128, 19, 99, 46,
41 135, 92, 166, 129, 190, 157, 217, 128, 128 },
42
43 { 128, 128, 178, 218, 192, 236, 186, 243, 55, 128, 110,
44 183, 151, 205, 168, 221, 180, 238, 65, 128, 116, 178,
45 157, 206, 172, 222, 183, 238, 24, 128, 65, 127, 104,
46 164, 154, 195, 187, 216, 205, 230, 128, 128 },
47 },
48 {
49 { 73, 128, 131, 204, 165, 226, 169, 236, 18, 128, 51,
50 153, 97, 179, 123, 201, 145, 226, 20, 128, 59, 153,
51 107, 181, 129, 201, 142, 226, 3, 128, 19, 99, 46,
52 135, 92, 166, 129, 190, 157, 217, 128, 128 },
53
54 { 128, 128, 178, 218, 192, 236, 186, 243, 55, 128, 110,
55 183, 151, 205, 168, 221, 180, 238, 65, 128, 116, 178,
56 157, 206, 172, 222, 183, 238, 24, 128, 65, 127, 104,
57 164, 154, 195, 187, 216, 205, 230, 128, 128 },
58 } },
59#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -070060 { // TX_4X4
61 {
62 // PLANE_Y
63 { 73, 128, 131, 204, 165, 226, 169, 236, 18, 128, 51,
64 153, 97, 179, 123, 201, 145, 226, 20, 128, 59, 153,
65 107, 181, 129, 201, 142, 226, 3, 128, 19, 99, 46,
66 135, 92, 166, 129, 190, 157, 217, 128, 128 },
67
68 { 128, 128, 178, 218, 192, 236, 186, 243, 55, 128, 110,
69 183, 151, 205, 168, 221, 180, 238, 65, 128, 116, 178,
70 157, 206, 172, 222, 183, 238, 24, 128, 65, 127, 104,
71 164, 154, 195, 187, 216, 205, 230, 128, 128 },
72 },
73 {
74 // PLANE_UV
75 { 47, 128, 100, 176, 140, 207, 150, 223, 11, 128, 35,
76 133, 79, 165, 115, 186, 129, 210, 8, 128, 30, 114,
77 80, 159, 116, 187, 146, 214, 2, 128, 9, 59, 28,
78 86, 71, 131, 117, 165, 149, 188, 128, 128 },
79
80 { 83, 128, 152, 205, 168, 227, 192, 238, 42, 128, 92,
81 169, 138, 193, 165, 209, 128, 206, 36, 128, 86, 159,
82 141, 198, 181, 213, 102, 223, 18, 128, 50, 132, 90,
83 144, 141, 169, 180, 191, 128, 217, 128, 128 },
84 } },
Angie Chiangbabf3e72017-03-20 15:32:24 -070085 {
86 // TX_8X8
87 {
88 // PLANE_Y
89 { 82, 128, 143, 203, 177, 225, 186, 237, 7, 128, 37,
90 109, 78, 151, 110, 182, 139, 213, 25, 128, 51, 115,
91 86, 146, 111, 175, 125, 205, 3, 128, 12, 55, 32,
92 78, 63, 111, 96, 148, 123, 185, 146, 206 },
93
94 { 136, 128, 182, 220, 201, 236, 205, 243, 46, 128, 101,
95 164, 147, 194, 170, 218, 177, 234, 62, 128, 104, 146,
96 143, 183, 165, 207, 183, 228, 30, 128, 60, 95, 95,
97 128, 135, 163, 166, 196, 175, 219, 192, 231 },
98 },
99 {
100 // PLANE_UV
101 { 47, 128, 112, 189, 164, 202, 163, 218, 8, 128, 32,
102 110, 68, 151, 102, 179, 134, 195, 5, 128, 22, 76,
103 54, 103, 80, 146, 101, 182, 1, 128, 5, 39, 17,
104 53, 46, 93, 79, 127, 112, 161, 64, 195 },
105
106 { 90, 128, 156, 210, 183, 225, 128, 236, 39, 128, 98,
107 164, 146, 201, 209, 219, 171, 208, 32, 128, 68, 123,
108 119, 169, 154, 184, 128, 213, 15, 128, 38, 111, 83,
109 112, 120, 163, 180, 170, 154, 213, 128, 205 },
110 },
111 },
112
113 {
114 // TX_16X16
115 {
116 // PLANE_Y
117 { 96, 128, 169, 218, 208, 233, 187, 244, 10, 128, 34,
118 101, 82, 153, 113, 184, 137, 212, 6, 128, 34, 104,
119 81, 145, 109, 176, 147, 202, 1, 128, 3, 43, 15,
120 53, 43, 89, 79, 129, 108, 168, 110, 194 },
121
122 { 156, 128, 206, 232, 218, 240, 128, 251, 39, 128, 108,
123 161, 156, 202, 187, 216, 179, 234, 40, 128, 103, 152,
124 144, 185, 159, 208, 205, 227, 14, 128, 39, 84, 76,
125 110, 121, 151, 157, 187, 201, 206, 64, 216 },
126 },
127 {
128 // PLANE_UV
129 { 42, 128, 139, 211, 180, 230, 199, 238, 3, 128, 32,
130 96, 69, 145, 102, 186, 117, 212, 4, 128, 25, 72,
131 55, 111, 81, 159, 116, 198, 1, 128, 4, 22, 16,
132 34, 35, 68, 63, 116, 89, 165, 102, 199 },
133
134 { 135, 128, 193, 227, 182, 239, 128, 246, 42, 128, 115,
135 156, 146, 203, 188, 216, 128, 229, 32, 128, 82, 127,
136 120, 178, 165, 203, 213, 229, 11, 128, 32, 73, 79,
137 111, 129, 158, 162, 187, 156, 209, 85, 222 },
138 },
139 },
140
141 {
142 // TX_32X32
143 {
144 // PLANE_Y
145 { 97, 128, 163, 232, 191, 246, 219, 252, 3, 128, 41,
146 108, 91, 147, 104, 183, 118, 225, 6, 128, 45, 91,
147 83, 125, 92, 160, 99, 215, 1, 128, 11, 36, 28,
148 46, 43, 59, 57, 86, 73, 145, 91, 210 },
149
150 { 127, 128, 201, 239, 247, 248, 128, 254, 40, 128, 103,
151 152, 158, 199, 186, 225, 181, 242, 38, 128, 92, 112,
152 146, 189, 162, 217, 112, 239, 17, 128, 30, 47, 63,
153 89, 113, 146, 147, 187, 168, 217, 150, 233 },
154 },
155 {
156 // PLANE_UV
157 { 65, 128, 155, 223, 166, 235, 154, 244, 15, 128, 57,
158 154, 110, 199, 159, 224, 149, 239, 9, 128, 57, 140,
159 97, 185, 148, 218, 176, 236, 1, 128, 3, 43, 19,
160 42, 64, 98, 117, 167, 154, 199, 128, 158 },
161
162 { 130, 128, 189, 231, 171, 247, 128, 246, 63, 128, 132,
163 222, 186, 224, 199, 244, 128, 247, 55, 128, 113, 211,
164 164, 230, 225, 243, 128, 239, 7, 128, 31, 102, 106,
165 138, 147, 183, 171, 223, 171, 224, 128, 128 },
166 },
167 },
168 };
169
170const aom_prob default_nz_map[TX_SIZES][PLANE_TYPES][SIG_COEF_CONTEXTS] = {
Jingning Han480ee022017-04-03 20:31:08 -0700171#if CONFIG_CB4X4
172 {
173 { 34, 103, 61, 106, 62, 160, 112, 54, 173, 121,
174 75, 157, 92, 75, 157, 129, 94, 65, 52, 37 },
175 { 52, 124, 84, 136, 107, 197, 161, 82, 183, 151,
176 109, 153, 140, 103, 152, 134, 109, 81, 69, 50 },
177 },
178#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -0700179 {
180 { 34, 103, 61, 106, 62, 160, 112, 54, 173, 121,
181 75, 157, 92, 75, 157, 129, 94, 65, 52, 37 },
182 { 52, 124, 84, 136, 107, 197, 161, 82, 183, 151,
183 109, 153, 140, 103, 152, 134, 109, 81, 69, 50 },
184 },
185 {
186 { 34, 127, 74, 124, 74, 204, 153, 76, 226, 162,
187 92, 207, 126, 91, 227, 192, 149, 108, 85, 55 },
188 { 43, 136, 115, 158, 130, 212, 187, 112, 231, 180,
189 130, 202, 164, 130, 236, 204, 168, 139, 112, 114 },
190 },
191 {
192 { 25, 117, 70, 120, 77, 215, 171, 102, 234, 156,
193 105, 235, 155, 109, 247, 220, 176, 127, 92, 72 },
194 { 24, 88, 49, 100, 62, 202, 148, 62, 237, 178,
195 102, 233, 168, 105, 244, 198, 162, 127, 103, 71 },
196 },
197 {
198 { 11, 54, 17, 69, 26, 128, 125, 56, 232, 130,
199 60, 237, 121, 66, 250, 168, 134, 114, 93, 53 },
200 { 21, 52, 32, 95, 64, 171, 152, 70, 247, 159,
201 81, 252, 177, 100, 252, 221, 192, 143, 195, 146 },
202 },
203};
Jingning Han480ee022017-04-03 20:31:08 -0700204
Angie Chiangbabf3e72017-03-20 15:32:24 -0700205const aom_prob default_eob_flag[TX_SIZES][PLANE_TYPES][EOB_COEF_CONTEXTS] = {
Jingning Han480ee022017-04-03 20:31:08 -0700206#if CONFIG_CB4X4
207 {
208 { 229, 236, 231, 222, 239, 236, 214, 201, 236, 226, 195, 134, 228,
209 210, 150, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
210 { 182, 186, 172, 176, 207, 213, 152, 122, 187, 171, 131, 65, 170,
211 134, 101, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
212 },
213#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -0700214 {
215 { 229, 236, 231, 222, 239, 236, 214, 201, 236, 226, 195, 134, 228,
216 210, 150, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
217 { 182, 186, 172, 176, 207, 213, 152, 122, 187, 171, 131, 65, 170,
218 134, 101, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
219 },
220 {
221 { 225, 234, 244, 236, 205, 242, 246, 247, 246, 234, 191, 242, 237,
222 215, 142, 224, 206, 142, 73, 128, 128, 128, 128, 128, 128 },
223 { 154, 171, 187, 175, 62, 199, 202, 206, 215, 200, 111, 197, 199,
224 174, 100, 135, 105, 104, 45, 128, 128, 128, 128, 128, 128 },
225 },
226 {
227 { 180, 213, 216, 229, 233, 232, 240, 235, 220, 178, 239, 238, 225,
228 187, 229, 214, 226, 200, 183, 141, 158, 179, 128, 128, 128 },
229 { 190, 225, 234, 248, 249, 248, 253, 251, 232, 110, 254, 252, 236,
230 57, 253, 248, 232, 85, 244, 189, 112, 64, 128, 128, 128 },
231 },
232 {
233 { 248, 224, 246, 244, 239, 245, 251, 246, 251, 255, 255, 255, 249,
234 255, 255, 255, 229, 255, 255, 255, 228, 255, 255, 247, 137 },
235 { 204, 207, 233, 215, 193, 228, 239, 221, 227, 250, 236, 207, 135,
236 236, 186, 182, 57, 209, 140, 128, 85, 184, 110, 128, 128 },
237 },
238};
Jingning Han480ee022017-04-03 20:31:08 -0700239
Angie Chiangbabf3e72017-03-20 15:32:24 -0700240const aom_prob default_coeff_lps[TX_SIZES][PLANE_TYPES][LEVEL_CONTEXTS] = {
Jingning Han480ee022017-04-03 20:31:08 -0700241#if CONFIG_CB4X4
242 {
243 { 164, 128, 134, 165, 128, 137, 168, 128, 97, 136, 167, 128,
244 182, 205, 143, 172, 200, 145, 173, 193, 103, 137, 170, 191,
245 198, 214, 162, 187, 209, 162, 187, 207, 128, 156, 183, 201,
246 219, 230, 204, 210, 225, 201, 209, 225, 187, 190, 203, 214 },
247 { 106, 128, 98, 126, 128, 87, 122, 128, 54, 89, 131, 128,
248 142, 180, 123, 154, 189, 115, 149, 175, 79, 115, 157, 182,
249 175, 197, 147, 174, 199, 145, 174, 201, 89, 135, 173, 194,
250 212, 222, 206, 203, 223, 188, 201, 220, 128, 144, 202, 206 },
251 },
252#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -0700253 {
254 { 164, 128, 134, 165, 128, 137, 168, 128, 97, 136, 167, 128,
255 182, 205, 143, 172, 200, 145, 173, 193, 103, 137, 170, 191,
256 198, 214, 162, 187, 209, 162, 187, 207, 128, 156, 183, 201,
257 219, 230, 204, 210, 225, 201, 209, 225, 187, 190, 203, 214 },
258 { 106, 128, 98, 126, 128, 87, 122, 128, 54, 89, 131, 128,
259 142, 180, 123, 154, 189, 115, 149, 175, 79, 115, 157, 182,
260 175, 197, 147, 174, 199, 145, 174, 201, 89, 135, 173, 194,
261 212, 222, 206, 203, 223, 188, 201, 220, 128, 144, 202, 206 },
262 },
263 {
264 { 171, 128, 123, 169, 128, 121, 165, 128, 82, 125, 168, 128,
265 191, 213, 143, 177, 199, 136, 170, 194, 95, 135, 171, 195,
266 206, 222, 166, 191, 212, 154, 184, 207, 115, 149, 180, 204,
267 223, 237, 196, 215, 231, 186, 209, 228, 158, 178, 201, 222 },
268 { 115, 128, 115, 146, 128, 91, 147, 128, 55, 93, 139, 128,
269 147, 190, 141, 176, 201, 123, 156, 173, 68, 114, 156, 195,
270 186, 205, 153, 191, 214, 141, 179, 205, 107, 132, 166, 184,
271 215, 225, 200, 212, 230, 102, 207, 222, 128, 119, 200, 212 },
272 },
273 {
274 { 185, 128, 134, 198, 128, 128, 195, 128, 58, 110, 162, 128,
275 208, 227, 154, 196, 206, 144, 188, 209, 83, 130, 168, 198,
276 219, 232, 167, 205, 222, 158, 196, 216, 107, 143, 178, 204,
277 233, 244, 202, 226, 238, 191, 217, 234, 153, 178, 200, 223 },
278 { 160, 128, 154, 197, 128, 129, 178, 128, 53, 112, 157, 128,
279 185, 214, 169, 196, 221, 134, 179, 186, 82, 131, 168, 194,
280 204, 220, 176, 209, 221, 173, 194, 209, 107, 154, 181, 203,
281 230, 241, 202, 226, 237, 185, 223, 234, 162, 187, 203, 222 },
282 },
283 {
284 { 177, 128, 165, 226, 128, 152, 219, 128, 45, 129, 188, 128,
285 198, 218, 179, 220, 228, 163, 214, 220, 72, 134, 181, 206,
286 216, 225, 177, 218, 231, 158, 213, 223, 112, 150, 185, 210,
287 245, 251, 204, 234, 247, 195, 231, 243, 163, 186, 213, 235 },
288 { 161, 128, 174, 205, 128, 146, 182, 128, 59, 125, 179, 128,
289 183, 208, 199, 220, 239, 184, 213, 217, 71, 141, 196, 217,
290 213, 219, 215, 230, 237, 171, 224, 238, 112, 173, 193, 221,
291 239, 246, 168, 243, 249, 93, 241, 247, 128, 195, 216, 233 },
292 },
293};
294#endif // CONFIG_LV_MAP
295
Urvang Joshi6be4a542016-11-03 15:24:05 -0700296#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -0700297#if CONFIG_SMOOTH_HV
298const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1] = {
299 {
300 // above = dc
301 { 111, 28, 44, 99, 166, 154, 28, 28, 27, 45, 134, 109 }, // left = dc
302 { 82, 31, 102, 75, 117, 135, 33, 34, 21, 31, 134, 149 }, // left = v
303 { 40, 29, 14, 161, 235, 180, 14, 12, 34, 52, 128, 69 }, // left = h
304 { 98, 19, 36, 74, 137, 153, 49, 35, 25, 61, 137, 106 }, // left = d45
305 { 59, 11, 25, 128, 47, 162, 29, 20, 53, 38, 143, 117 }, // left = d135
306 { 86, 20, 51, 160, 39, 101, 69, 101, 112, 154, 158, 145 }, // left = d117
307 { 49, 10, 17, 112, 98, 206, 16, 11, 104, 44, 138, 88 }, // left = d153
308 { 64, 14, 22, 80, 170, 168, 19, 15, 26, 101, 137, 90 }, // left = d207
309 { 84, 21, 31, 62, 110, 135, 40, 57, 22, 45, 143, 130 }, // left = d63
310 { 58, 16, 31, 60, 154, 225, 17, 23, 19, 30, 138, 113 }, // left = smooth
311 { 51, 19, 46, 64, 148, 209, 18, 28, 17, 25, 137,
312 149 }, // left = smooth_v
313 { 68, 15, 26, 61, 175, 233, 17, 17, 19, 29, 135, 76 }, // left = smooth_h
314 { 49, 61, 41, 113, 203, 158, 26, 26, 29, 55, 123, 99 }, // left = tm
315 },
316 {
317 // above = v
318 { 31, 26, 135, 81, 100, 82, 13, 40, 14, 18, 131, 182 }, // left = dc
319 { 24, 27, 175, 53, 93, 85, 17, 40, 5, 14, 119, 195 }, // left = v
320 { 20, 34, 71, 97, 209, 133, 15, 24, 14, 28, 138, 129 }, // left = h
321 { 54, 19, 88, 55, 102, 103, 39, 45, 8, 44, 134, 167 }, // left = d45
322 { 23, 16, 93, 101, 33, 119, 23, 41, 26, 22, 136, 168 }, // left = d135
323 { 34, 17, 130, 149, 30, 72, 43, 129, 66, 100, 143, 192 }, // left = d117
324 { 23, 17, 83, 85, 63, 158, 16, 30, 64, 28, 145, 146 }, // left = d153
325 { 33, 17, 85, 60, 136, 115, 21, 32, 15, 59, 134, 155 }, // left = d207
326 { 40, 20, 103, 53, 66, 84, 26, 72, 9, 29, 134, 177 }, // left = d63
327 { 22, 18, 112, 41, 138, 192, 12, 30, 9, 16, 131, 178 }, // left = smooth
328 { 20, 20, 125, 39, 137, 179, 11, 28, 7, 12, 123,
329 199 }, // left = smooth_v
330 { 26, 19, 111, 46, 160, 201, 13, 29, 8, 17, 132,
331 156 }, // left = smooth_h
332 { 20, 35, 138, 62, 162, 107, 21, 36, 9, 24, 125, 181 }, // left = tm
333 },
334 {
335 // above = h
336 { 89, 27, 21, 136, 218, 175, 20, 19, 35, 56, 134, 96 }, // left = dc
337 { 63, 37, 67, 117, 190, 160, 22, 29, 20, 45, 137, 137 }, // left = v
338 { 34, 23, 7, 177, 245, 207, 13, 9, 30, 73, 125, 63 }, // left = h
339 { 84, 29, 20, 83, 184, 182, 38, 25, 34, 86, 134, 106 }, // left = d45
340 { 65, 19, 19, 119, 109, 177, 27, 19, 56, 56, 141, 103 }, // left = d135
341 { 88, 25, 46, 152, 102, 130, 70, 61, 96, 157, 130, 102 }, // left = d117
342 { 51, 11, 10, 108, 168, 216, 14, 9, 93, 58, 132, 79 }, // left = d153
343 { 53, 15, 9, 103, 224, 192, 20, 13, 23, 122, 135, 80 }, // left = d207
344 { 64, 30, 19, 90, 171, 176, 24, 44, 23, 56, 144, 121 }, // left = d63
345 { 46, 20, 17, 94, 214, 234, 14, 15, 23, 38, 132, 98 }, // left = smooth
346 { 41, 27, 22, 102, 214, 229, 13, 17, 18, 35, 133,
347 137 }, // left = smooth_v
348 { 52, 17, 14, 95, 224, 241, 14, 11, 24, 38, 133, 62 }, // left = smooth_h
349 { 35, 43, 21, 148, 234, 188, 22, 17, 27, 47, 133, 100 }, // left = tm
350 },
351 {
352 // above = d45
353 { 80, 14, 31, 74, 129, 146, 52, 50, 29, 50, 138, 110 }, // left = dc
354 { 59, 16, 84, 52, 106, 121, 63, 60, 20, 40, 143, 150 }, // left = v
355 { 41, 19, 16, 118, 216, 168, 36, 27, 24, 62, 136, 69 }, // left = h
356 { 86, 11, 11, 37, 168, 158, 113, 53, 8, 99, 140, 121 }, // left = d45
357 { 49, 8, 24, 94, 49, 139, 48, 45, 40, 53, 134, 131 }, // left = d135
358 { 58, 11, 36, 127, 45, 97, 90, 143, 91, 180, 153, 146 }, // left = d117
359 { 39, 9, 14, 93, 97, 187, 32, 26, 66, 57, 134, 106 }, // left = d153
360 { 75, 8, 26, 68, 135, 154, 51, 30, 17, 113, 144, 83 }, // left = d207
361 { 77, 13, 18, 46, 146, 143, 81, 102, 18, 59, 142, 143 }, // left = d63
362 { 49, 13, 31, 47, 142, 218, 46, 42, 19, 46, 146, 120 }, // left = smooth
363 { 46, 15, 35, 47, 132, 206, 47, 50, 18, 37, 143,
364 147 }, // left = smooth_v
365 { 54, 11, 25, 54, 157, 229, 43, 34, 20, 44, 136, 99 }, // left = smooth_h
366 { 40, 26, 41, 72, 176, 145, 78, 51, 27, 59, 133, 121 }, // left = tm
367 },
368 {
369 // above = d135
370 { 57, 10, 21, 118, 61, 178, 16, 20, 65, 52, 145, 125 }, // left = dc
371 { 56, 15, 48, 107, 58, 153, 20, 32, 42, 35, 143, 162 }, // left = v
372 { 28, 19, 8, 132, 172, 184, 14, 14, 45, 55, 140, 79 }, // left = h
373 { 58, 13, 15, 73, 66, 177, 61, 24, 30, 72, 143, 122 }, // left = d45
374 { 35, 5, 13, 150, 20, 187, 19, 21, 66, 38, 144, 130 }, // left = d135
375 { 57, 9, 30, 173, 28, 133, 38, 71, 156, 140, 156, 173 }, // left = d117
376 { 30, 6, 9, 121, 54, 207, 16, 20, 110, 62, 151, 94 }, // left = d153
377 { 51, 9, 15, 88, 96, 188, 22, 18, 40, 95, 140, 98 }, // left = d207
378 { 56, 12, 21, 82, 53, 140, 30, 37, 32, 47, 145, 149 }, // left = d63
379 { 43, 12, 21, 83, 84, 222, 14, 23, 31, 35, 143, 127 }, // left = smooth
380 { 41, 12, 25, 81, 75, 210, 16, 29, 29, 29, 141, 154 }, // left = smooth_v
381 { 42, 11, 19, 81, 109, 226, 17, 20, 34, 36, 143,
382 110 }, // left = smooth_h
383 { 36, 26, 27, 107, 132, 151, 24, 28, 38, 46, 140, 127 }, // left = tm
384 },
385 {
386 // above = d117
387 { 52, 15, 58, 191, 40, 95, 38, 78, 98, 140, 152, 175 }, // left = dc
388 { 50, 16, 85, 186, 28, 84, 41, 105, 65, 119, 158, 206 }, // left = v
389 { 30, 23, 30, 179, 122, 124, 38, 47, 68, 140, 161, 102 }, // left = h
390 { 75, 15, 47, 120, 49, 127, 63, 86, 54, 204, 175, 185 }, // left = d45
391 { 36, 9, 37, 198, 15, 120, 56, 78, 104, 151, 155, 165 }, // left = d135
392 { 38, 9, 54, 198, 12, 75, 47, 92, 71, 130, 170, 201 }, // left = d117
393 { 31, 13, 33, 167, 46, 144, 32, 59, 124, 151, 162, 128 }, // left = d153
394 { 47, 15, 43, 123, 70, 129, 49, 72, 48, 175, 163, 125 }, // left = d207
395 { 61, 19, 62, 141, 35, 116, 55, 117, 51, 162, 150, 201 }, // left = d63
396 { 22, 17, 34, 105, 41, 101, 20, 34, 26, 39, 146, 157 }, // left = smooth
397 { 19, 14, 37, 116, 33, 91, 23, 38, 17, 36, 137, 178 }, // left = smooth_v
398 { 25, 17, 35, 102, 59, 118, 23, 28, 30, 43, 147,
399 148 }, // left = smooth_h
400 { 35, 24, 62, 164, 95, 103, 47, 94, 65, 115, 186, 128 }, // left = tm
401 },
402 {
403 // above = d153
404 { 75, 12, 17, 101, 150, 177, 14, 13, 101, 55, 141, 104 }, // left = dc
405 { 69, 19, 46, 91, 133, 167, 19, 22, 72, 41, 133, 143 }, // left = v
406 { 30, 12, 6, 132, 209, 214, 10, 8, 75, 78, 137, 70 }, // left = h
407 { 77, 16, 12, 85, 120, 203, 35, 17, 69, 66, 137, 96 }, // left = d45
408 { 51, 8, 11, 119, 58, 178, 20, 17, 90, 51, 145, 92 }, // left = d135
409 { 76, 8, 24, 144, 48, 128, 37, 46, 173, 153, 159, 111 }, // left = d117
410 { 40, 6, 6, 87, 112, 213, 7, 7, 152, 54, 141, 84 }, // left = d153
411 { 46, 6, 7, 78, 161, 195, 15, 11, 66, 97, 137, 83 }, // left = d207
412 { 81, 17, 17, 82, 97, 187, 26, 34, 54, 60, 154, 128 }, // left = d63
413 { 47, 10, 16, 74, 138, 233, 13, 17, 59, 42, 143, 106 }, // left = smooth
414 { 45, 12, 17, 76, 141, 227, 14, 16, 56, 43, 141,
415 135 }, // left = smooth_v
416 { 55, 10, 13, 69, 162, 238, 11, 11, 59, 45, 133, 73 }, // left = smooth_h
417 { 44, 23, 19, 110, 176, 165, 16, 19, 68, 59, 131, 89 }, // left = tm
418 },
419 {
420 // above = d207
421 { 86, 15, 26, 87, 166, 178, 27, 25, 27, 75, 145, 108 }, // left = dc
422 { 71, 27, 62, 70, 126, 142, 29, 34, 17, 69, 141, 144 }, // left = v
423 { 48, 21, 11, 130, 231, 196, 24, 19, 27, 82, 133, 72 }, // left = h
424 { 82, 21, 14, 54, 128, 188, 55, 38, 19, 111, 148, 119 }, // left = d45
425 { 57, 11, 17, 78, 83, 171, 43, 31, 37, 58, 143, 100 }, // left = d135
426 { 76, 16, 44, 115, 77, 130, 78, 79, 82, 178, 132, 123 }, // left = d117
427 { 50, 12, 11, 82, 133, 207, 27, 20, 67, 79, 138, 87 }, // left = d153
428 { 77, 9, 13, 44, 174, 169, 26, 13, 9, 167, 135, 90 }, // left = d207
429 { 70, 16, 18, 57, 117, 167, 43, 46, 17, 70, 150, 116 }, // left = d63
430 { 56, 13, 18, 60, 170, 236, 24, 19, 18, 59, 139, 105 }, // left = smooth
431 { 50, 17, 26, 60, 165, 234, 24, 20, 15, 53, 134,
432 136 }, // left = smooth_v
433 { 57, 11, 16, 62, 188, 239, 23, 15, 18, 57, 134, 79 }, // left = smooth_h
434 { 49, 31, 24, 78, 194, 184, 45, 27, 19, 81, 138, 102 }, // left = tm
435 },
436 {
437 // above = d63
438 { 53, 13, 46, 61, 109, 116, 40, 83, 19, 31, 141, 150 }, // left = dc
439 { 45, 14, 75, 40, 79, 102, 48, 118, 14, 23, 138, 174 }, // left = v
440 { 34, 14, 24, 98, 214, 128, 33, 54, 18, 51, 138, 103 }, // left = h
441 { 74, 11, 26, 37, 127, 154, 75, 89, 11, 61, 146, 125 }, // left = d45
442 { 35, 9, 26, 68, 55, 128, 53, 74, 21, 33, 138, 132 }, // left = d135
443 { 47, 9, 55, 108, 39, 105, 64, 193, 71, 127, 141, 193 }, // left = d117
444 { 35, 9, 22, 66, 79, 172, 34, 64, 57, 44, 139, 112 }, // left = d153
445 { 54, 7, 26, 48, 136, 139, 48, 60, 15, 82, 144, 116 }, // left = d207
446 { 60, 9, 30, 25, 106, 127, 64, 143, 14, 42, 140, 165 }, // left = d63
447 { 39, 11, 35, 40, 136, 212, 34, 67, 12, 28, 145, 150 }, // left = smooth
448 { 37, 12, 45, 36, 128, 190, 34, 80, 8, 23, 138, 165 }, // left = smooth_v
449 { 45, 9, 37, 46, 152, 196, 36, 58, 14, 29, 145, 127 }, // left = smooth_h
450 { 35, 17, 53, 48, 159, 101, 53, 104, 15, 36, 132, 152 }, // left = tm
451 },
452 {
453 // above = smooth
454 { 58, 12, 33, 66, 168, 219, 13, 21, 16, 27, 137, 113 }, // left = dc
455 { 42, 20, 78, 51, 139, 216, 16, 27, 11, 18, 134, 160 }, // left = v
456 { 28, 17, 16, 118, 236, 231, 13, 14, 16, 41, 132, 77 }, // left = h
457 { 58, 12, 23, 47, 138, 238, 39, 31, 16, 63, 142, 125 }, // left = d45
458 { 44, 9, 27, 76, 80, 220, 21, 27, 27, 30, 142, 122 }, // left = d135
459 { 30, 13, 38, 96, 47, 111, 26, 40, 31, 40, 146, 146 }, // left = d117
460 { 42, 9, 19, 70, 127, 234, 15, 18, 53, 39, 138, 97 }, // left = d153
461 { 44, 10, 20, 57, 186, 229, 15, 18, 15, 80, 141, 97 }, // left = d207
462 { 51, 13, 33, 46, 123, 225, 23, 46, 15, 34, 143, 132 }, // left = d63
463 { 42, 11, 29, 49, 154, 226, 13, 20, 12, 27, 139, 117 }, // left = smooth
464 { 37, 13, 40, 48, 146, 217, 13, 23, 10, 24, 136,
465 149 }, // left = smooth_v
466 { 45, 10, 24, 55, 176, 230, 11, 16, 14, 26, 136, 86 }, // left = smooth_h
467 { 32, 23, 43, 78, 204, 225, 18, 23, 15, 30, 134, 117 }, // left = tm
468 },
469 {
470 // above = smooth_v
471 { 62, 13, 47, 68, 165, 204, 14, 24, 14, 22, 137, 146 }, // left = dc
472 { 42, 18, 97, 43, 138, 210, 12, 28, 8, 14, 127, 184 }, // left = v
473 { 30, 19, 21, 128, 238, 231, 13, 13, 17, 38, 138, 103 }, // left = h
474 { 66, 12, 31, 50, 132, 228, 37, 34, 14, 56, 142, 135 }, // left = d45
475 { 45, 9, 33, 75, 73, 216, 20, 33, 25, 25, 146, 153 }, // left = d135
476 { 31, 13, 48, 97, 46, 82, 26, 55, 31, 25, 140, 179 }, // left = d117
477 { 47, 10, 26, 67, 109, 229, 15, 23, 52, 34, 136, 133 }, // left = d153
478 { 49, 9, 25, 58, 174, 206, 14, 20, 13, 83, 144, 121 }, // left = d207
479 { 54, 15, 42, 47, 120, 209, 22, 55, 13, 25, 139, 162 }, // left = d63
480 { 41, 11, 43, 50, 146, 216, 11, 21, 11, 23, 136, 151 }, // left = smooth
481 { 37, 12, 58, 48, 148, 202, 11, 24, 8, 19, 134, 178 }, // left = smooth_v
482 { 47, 11, 39, 54, 169, 212, 12, 21, 14, 22, 144,
483 115 }, // left = smooth_h
484 { 36, 25, 57, 80, 215, 211, 16, 28, 11, 25, 130, 154 }, // left = tm
485 },
486 {
487 // above = smooth_h
488 { 57, 12, 28, 68, 186, 224, 11, 17, 20, 31, 133, 80 }, // left = dc
489 { 42, 21, 86, 51, 159, 221, 14, 25, 10, 19, 134, 131 }, // left = v
490 { 25, 17, 13, 123, 240, 240, 12, 10, 18, 42, 126, 56 }, // left = h
491 { 55, 11, 25, 47, 146, 238, 36, 32, 18, 67, 144, 99 }, // left = d45
492 { 47, 11, 23, 75, 95, 222, 20, 24, 28, 36, 143, 103 }, // left = d135
493 { 30, 14, 34, 92, 59, 101, 27, 44, 31, 41, 142, 129 }, // left = d117
494 { 42, 11, 17, 73, 158, 234, 14, 14, 59, 46, 138, 67 }, // left = d153
495 { 45, 10, 15, 64, 194, 228, 14, 15, 17, 78, 133, 73 }, // left = d207
496 { 52, 14, 29, 45, 138, 227, 25, 43, 16, 36, 136, 119 }, // left = d63
497 { 42, 12, 23, 51, 173, 235, 12, 16, 13, 28, 134, 95 }, // left = smooth
498 { 37, 16, 34, 52, 161, 228, 12, 19, 10, 28, 137,
499 123 }, // left = smooth_v
500 { 45, 9, 18, 58, 200, 240, 10, 13, 13, 27, 129, 61 }, // left = smooth_h
501 { 32, 26, 44, 82, 217, 222, 19, 23, 16, 34, 134, 99 }, // left = tm
502 },
503 {
504 // above = tm
505 { 51, 42, 80, 104, 178, 121, 20, 37, 25, 42, 136, 150 }, // left = dc
506 { 35, 38, 132, 73, 152, 132, 21, 36, 10, 32, 127, 174 }, // left = v
507 { 21, 34, 26, 149, 241, 165, 17, 15, 19, 60, 132, 95 }, // left = h
508 { 64, 20, 36, 67, 169, 142, 45, 30, 16, 86, 145, 134 }, // left = d45
509 { 40, 23, 51, 96, 102, 149, 25, 33, 34, 43, 143, 125 }, // left = d135
510 { 58, 29, 93, 140, 93, 89, 51, 107, 64, 146, 145, 154 }, // left = d117
511 { 33, 23, 44, 95, 139, 209, 12, 20, 76, 56, 131, 104 }, // left = d153
512 { 40, 21, 28, 79, 210, 165, 21, 15, 16, 134, 138, 108 }, // left = d207
513 { 45, 24, 58, 62, 132, 127, 32, 58, 15, 51, 143, 152 }, // left = d63
514 { 33, 27, 53, 71, 195, 223, 14, 24, 12, 36, 136, 135 }, // left = smooth
515 { 30, 29, 62, 68, 201, 217, 14, 24, 11, 31, 132,
516 162 }, // left = smooth_v
517 { 37, 25, 50, 76, 204, 212, 12, 18, 15, 38, 134,
518 106 }, // left = smooth_h
519 { 28, 53, 64, 100, 203, 162, 26, 29, 15, 52, 127, 138 }, // left = tm
520 },
521};
522
523static const aom_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = {
524 { 56, 13, 37, 112, 91, 147, 66, 55, 72, 82, 124, 121 }, // block_size < 8x8
525 { 92, 120, 47, 89, 120, 139, 18, 38, 32, 51, 146,
526 124 }, // block_size < 16x16
527 { 115, 102, 41, 69, 170, 142, 8, 23, 13, 23, 122,
528 110 }, // block_size < 32x32
529 { 148, 157, 47, 62, 238, 64, 7, 3, 1, 3, 74, 87 }, // block_size >= 32x32
530};
531
532static const aom_prob default_uv_probs[INTRA_MODES][INTRA_MODES - 1] = {
533 { 184, 3, 67, 135, 194, 108, 33, 43, 40, 86, 121, 118 }, // y = dc
534 { 23, 3, 204, 105, 117, 53, 14, 68, 13, 19, 112, 86 }, // y = v
535 { 34, 3, 7, 220, 249, 142, 11, 13, 59, 124, 119, 131 }, // y = h
536 { 138, 3, 45, 51, 162, 99, 110, 107, 21, 113, 119, 111 }, // y = d45
537 { 130, 2, 28, 163, 52, 163, 16, 25, 94, 46, 127, 118 }, // y = d135
538 { 109, 3, 55, 218, 20, 43, 34, 71, 74, 68, 108, 128 }, // y = d117
539 { 124, 1, 17, 124, 151, 197, 8, 9, 184, 71, 123, 101 }, // y = d153
540 { 127, 2, 16, 110, 225, 134, 28, 19, 18, 190, 124, 132 }, // y = d207
541 { 115, 3, 65, 46, 134, 81, 37, 170, 20, 57, 122, 106 }, // y = d63
542 { 131, 4, 52, 71, 177, 205, 17, 27, 20, 41, 128, 118 }, // y = smooth
543 { 131, 5, 65, 70, 182, 196, 17, 30, 17, 35, 123, 154 }, // y = smooth_v
544 { 137, 4, 43, 78, 196, 202, 16, 21, 24, 48, 123, 91 }, // y = smooth_h
545 { 137, 12, 92, 142, 217, 71, 14, 45, 29, 62, 108, 109 }, // y = tm
546};
547
548#else // !CONFIG_SMOOTH_HV
Urvang Joshi6be4a542016-11-03 15:24:05 -0700549
550const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1] = {
551 {
552 // above = dc
553 { 121, 30, 54, 128, 164, 158, 45, 41, 57, 91 }, // left = dc
554 { 91, 38, 101, 102, 124, 141, 49, 48, 45, 73 }, // left = v
555 { 66, 28, 27, 177, 225, 178, 32, 27, 52, 114 }, // left = h
556 { 106, 23, 50, 101, 134, 148, 64, 50, 49, 107 }, // left = d45
557 { 75, 24, 32, 118, 66, 143, 42, 28, 57, 74 }, // left = d135
558 { 95, 24, 40, 142, 56, 141, 72, 121, 129, 255 }, // left = d117
559 { 71, 14, 25, 126, 117, 201, 28, 21, 117, 89 }, // left = d153
560 { 85, 16, 37, 110, 163, 178, 41, 28, 48, 134 }, // left = d207
561 { 86, 25, 32, 83, 105, 133, 58, 81, 46, 95 }, // left = d63
562 { 79, 25, 38, 75, 150, 255, 30, 49, 34, 51 }, // left = smooth
563 { 68, 59, 48, 122, 193, 158, 43, 46, 46, 112 }, // left = paeth
564 },
565 {
566 // above = v
567 { 66, 21, 118, 111, 145, 107, 27, 50, 27, 54 }, // left = dc
568 { 52, 25, 167, 81, 120, 101, 34, 55, 19, 32 }, // left = v
569 { 56, 18, 72, 134, 208, 139, 31, 34, 27, 89 }, // left = h
570 { 75, 21, 94, 88, 134, 123, 49, 57, 30, 68 }, // left = d45
571 { 54, 18, 95, 96, 78, 107, 33, 49, 28, 65 }, // left = d135
572 { 61, 19, 121, 131, 58, 101, 56, 143, 120, 255 }, // left = d117
573 { 53, 13, 78, 103, 110, 147, 31, 41, 64, 77 }, // left = d153
574 { 69, 14, 78, 93, 167, 121, 31, 39, 25, 113 }, // left = d207
575 { 64, 18, 103, 79, 90, 108, 34, 73, 27, 69 }, // left = d63
576 { 52, 20, 103, 61, 161, 255, 22, 42, 16, 35 }, // left = smooth
577 { 50, 31, 124, 92, 161, 120, 50, 53, 23, 60 }, // left = paeth
578 },
579 {
580 // above = h
581 { 94, 29, 31, 158, 214, 178, 35, 31, 72, 111 }, // left = dc
582 { 72, 37, 72, 149, 184, 177, 43, 40, 53, 105 }, // left = v
583 { 53, 21, 14, 196, 242, 209, 29, 19, 55, 145 }, // left = h
584 { 93, 36, 36, 104, 176, 166, 56, 37, 49, 141 }, // left = d45
585 { 84, 32, 27, 124, 108, 143, 38, 36, 76, 134 }, // left = d135
586 { 82, 31, 47, 142, 122, 161, 83, 73, 126, 255 }, // left = d117
587 { 66, 16, 20, 133, 148, 210, 30, 17, 113, 104 }, // left = d153
588 { 76, 16, 17, 129, 207, 181, 41, 20, 46, 163 }, // left = d207
589 { 72, 38, 21, 100, 142, 171, 37, 70, 49, 111 }, // left = d63
590 { 61, 30, 27, 115, 208, 255, 27, 31, 44, 63 }, // left = smooth
591 { 53, 45, 29, 157, 222, 185, 49, 37, 55, 102 }, // left = paeth
592 },
593 {
594 // above = d45
595 { 96, 18, 37, 98, 138, 154, 68, 56, 59, 96 }, // left = dc
596 { 73, 18, 92, 81, 125, 132, 75, 64, 27, 67 }, // left = v
597 { 73, 17, 27, 128, 213, 154, 56, 44, 32, 105 }, // left = h
598 { 101, 20, 21, 75, 138, 138, 82, 56, 23, 154 }, // left = d45
599 { 71, 15, 33, 91, 70, 150, 62, 55, 38, 118 }, // left = d135
600 { 80, 19, 38, 116, 69, 122, 88, 132, 92, 255 }, // left = d117
601 { 68, 11, 22, 101, 116, 179, 52, 44, 85, 96 }, // left = d153
602 { 101, 8, 59, 77, 151, 170, 53, 41, 35, 172 }, // left = d207
603 { 82, 19, 24, 81, 172, 129, 82, 128, 43, 108 }, // left = d63
604 { 66, 18, 42, 64, 143, 255, 52, 52, 25, 83 }, // left = smooth
605 { 57, 24, 42, 85, 169, 145, 104, 71, 34, 86 }, // left = paeth
606 },
607 {
608 // above = d135
609 { 85, 15, 29, 113, 83, 176, 26, 29, 70, 110 }, // left = dc
610 { 78, 28, 49, 111, 91, 141, 30, 42, 48, 75 }, // left = v
611 { 56, 21, 16, 146, 190, 178, 23, 31, 49, 92 }, // left = h
612 { 70, 19, 20, 65, 90, 173, 97, 36, 57, 98 }, // left = d45
613 { 77, 14, 26, 110, 51, 156, 34, 35, 54, 74 }, // left = d135
614 { 78, 18, 36, 153, 47, 131, 62, 102, 155, 255 }, // left = d117
615 { 56, 11, 15, 115, 85, 196, 32, 45, 81, 96 }, // left = d153
616 { 90, 18, 24, 95, 126, 159, 34, 31, 46, 136 }, // left = d207
617 { 80, 23, 28, 90, 75, 141, 39, 50, 46, 87 }, // left = d63
618 { 63, 22, 31, 91, 110, 255, 26, 43, 51, 51 }, // left = smooth
619 { 66, 32, 31, 122, 145, 165, 40, 43, 56, 79 }, // left = paeth
620 },
621 {
622 // above = d117
623 { 81, 16, 61, 170, 74, 105, 54, 105, 113, 255 }, // left = dc
624 { 74, 20, 86, 163, 64, 97, 65, 129, 101, 255 }, // left = v
625 { 63, 15, 47, 168, 141, 176, 69, 77, 77, 255 }, // left = h
626 { 70, 17, 59, 97, 78, 114, 74, 122, 80, 255 }, // left = d45
627 { 78, 13, 50, 153, 34, 126, 75, 114, 120, 255 }, // left = d135
628 { 72, 16, 69, 159, 28, 108, 63, 134, 107, 255 }, // left = d117
629 { 66, 9, 47, 131, 79, 148, 41, 88, 105, 255 }, // left = d153
630 { 78, 12, 60, 119, 105, 133, 47, 95, 63, 255 }, // left = d207
631 { 82, 21, 58, 128, 61, 98, 64, 136, 91, 255 }, // left = d63
632 { 23, 26, 28, 96, 85, 128, 51, 64, 85, 128 }, // left = smooth
633 { 58, 27, 62, 162, 109, 151, 75, 106, 78, 255 }, // left = paeth
634 },
635 {
636 // above = d153
637 { 91, 18, 25, 121, 166, 173, 25, 25, 128, 102 }, // left = dc
638 { 80, 27, 51, 111, 141, 147, 45, 38, 70, 85 }, // left = v
639 { 53, 12, 11, 154, 197, 225, 17, 17, 74, 145 }, // left = h
640 { 93, 27, 23, 111, 143, 188, 43, 39, 69, 112 }, // left = d45
641 { 83, 15, 21, 118, 67, 178, 40, 33, 73, 92 }, // left = d135
642 { 94, 13, 31, 132, 66, 110, 61, 82, 148, 255 }, // left = d117
643 { 76, 9, 11, 96, 105, 201, 16, 13, 157, 97 }, // left = d153
644 { 70, 10, 12, 100, 172, 201, 23, 17, 53, 158 }, // left = d207
645 { 114, 25, 21, 104, 108, 163, 30, 47, 53, 111 }, // left = d63
646 { 70, 16, 21, 80, 157, 255, 25, 30, 81, 69 }, // left = smooth
647 { 87, 32, 26, 120, 191, 168, 32, 33, 70, 118 }, // left = paeth
648 },
649 {
650 // above = d207
651 { 98, 20, 39, 122, 168, 188, 38, 36, 54, 132 }, // left = dc
652 { 81, 37, 62, 97, 122, 153, 38, 43, 36, 118 }, // left = v
653 { 71, 21, 22, 154, 227, 183, 37, 31, 46, 140 }, // left = h
654 { 90, 34, 19, 93, 144, 194, 65, 47, 41, 163 }, // left = d45
655 { 78, 20, 27, 91, 93, 173, 57, 52, 49, 113 }, // left = d135
656 { 79, 25, 45, 121, 101, 147, 69, 56, 122, 255 }, // left = d117
657 { 73, 13, 19, 105, 122, 206, 40, 28, 91, 126 }, // left = d153
658 { 101, 14, 22, 87, 153, 169, 33, 25, 26, 175 }, // left = d207
659 { 81, 28, 23, 86, 115, 169, 48, 56, 41, 111 }, // left = d63
660 { 70, 24, 30, 90, 180, 255, 38, 26, 36, 82 }, // left = smooth
661 { 61, 37, 30, 94, 189, 163, 76, 50, 36, 127 }, // left = paeth
662 },
663 {
664 // above = d63
665 { 77, 13, 46, 86, 138, 117, 55, 88, 34, 68 }, // left = dc
666 { 68, 17, 80, 64, 105, 108, 66, 115, 32, 45 }, // left = v
667 { 62, 13, 37, 124, 210, 131, 46, 57, 28, 103 }, // left = h
668 { 88, 15, 45, 73, 134, 145, 73, 101, 37, 87 }, // left = d45
669 { 68, 16, 35, 78, 81, 133, 54, 71, 33, 67 }, // left = d135
670 { 71, 16, 57, 108, 61, 135, 71, 184, 113, 255 }, // left = d117
671 { 55, 10, 27, 69, 107, 158, 39, 76, 82, 95 }, // left = d153
672 { 80, 9, 38, 78, 153, 145, 50, 63, 28, 123 }, // left = d207
673 { 86, 12, 33, 49, 107, 135, 64, 134, 57, 89 }, // left = d63
674 { 56, 19, 55, 60, 163, 255, 38, 84, 22, 36 }, // left = smooth
675 { 53, 17, 60, 69, 151, 126, 73, 113, 26, 80 }, // left = paeth
676 },
677 {
678 // above = smooth
679 { 79, 16, 46, 89, 167, 255, 22, 36, 29, 42 }, // left = dc
680 { 63, 22, 88, 71, 131, 255, 26, 41, 21, 35 }, // left = v
681 { 51, 18, 28, 142, 232, 255, 26, 25, 25, 75 }, // left = h
682 { 75, 18, 43, 70, 140, 255, 37, 49, 34, 89 }, // left = d45
683 { 70, 14, 35, 87, 83, 255, 30, 36, 34, 50 }, // left = d135
684 { 23, 26, 28, 96, 85, 128, 51, 64, 85, 128 }, // left = d117
685 { 74, 12, 33, 83, 128, 255, 27, 33, 58, 68 }, // left = d153
686 { 66, 11, 30, 77, 179, 255, 21, 27, 23, 113 }, // left = d207
687 { 68, 22, 40, 65, 118, 255, 28, 61, 30, 50 }, // left = d63
688 { 60, 18, 44, 69, 141, 255, 18, 32, 22, 40 }, // left = smooth
689 { 52, 32, 54, 96, 194, 255, 33, 37, 25, 53 }, // left = paeth
690 },
691 {
692 // above = paeth
693 { 76, 47, 67, 123, 182, 150, 41, 52, 55, 97 }, // left = dc
694 { 69, 40, 125, 102, 138, 138, 42, 55, 32, 70 }, // left = v
695 { 46, 28, 27, 160, 232, 169, 34, 21, 32, 122 }, // left = h
696 { 78, 35, 41, 99, 128, 124, 49, 43, 35, 111 }, // left = d45
697 { 66, 28, 47, 100, 113, 145, 37, 40, 72, 93 }, // left = d135
698 { 77, 37, 76, 134, 124, 124, 65, 122, 88, 255 }, // left = d117
699 { 53, 23, 38, 108, 128, 204, 26, 32, 115, 114 }, // left = d153
700 { 65, 20, 29, 101, 202, 186, 29, 24, 29, 188 }, // left = d207
701 { 71, 24, 49, 81, 126, 151, 36, 65, 28, 93 }, // left = d63
702 { 54, 36, 53, 94, 193, 255, 25, 38, 20, 64 }, // left = smooth
703 { 52, 54, 60, 108, 176, 168, 47, 44, 50, 105 }, // left = paeth
704 },
705};
706
707static const aom_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = {
708 { 88, 16, 47, 133, 143, 150, 70, 48, 84, 122 }, // block_size < 8x8
709 { 75, 26, 51, 120, 158, 157, 44, 45, 56, 102 }, // block_size < 16x16
710 { 73, 24, 60, 115, 184, 164, 26, 36, 32, 63 }, // block_size < 32x32
711 { 96, 27, 50, 107, 221, 148, 16, 22, 14, 39 }, // block_size >= 32x32
712};
713
714static const aom_prob default_uv_probs[INTRA_MODES][INTRA_MODES - 1] = {
715 { 199, 3, 79, 179, 220, 109, 38, 50, 68, 138 }, // y = dc
716 { 17, 2, 219, 136, 131, 58, 21, 106, 23, 41 }, // y = v
717 { 26, 1, 5, 244, 253, 138, 16, 21, 68, 205 }, // y = h
718 { 183, 3, 66, 94, 195, 97, 101, 104, 41, 178 }, // y = d45
719 { 178, 2, 36, 158, 99, 175, 21, 29, 105, 77 }, // y = d135
720 { 154, 3, 65, 219, 40, 48, 45, 95, 146, 255 }, // y = d117
721 { 167, 1, 16, 160, 214, 187, 10, 10, 200, 155 }, // y = d153
722 { 154, 2, 18, 178, 238, 132, 25, 21, 34, 221 }, // y = d207
723 { 153, 4, 76, 85, 157, 90, 38, 165, 46, 104 }, // y = d63
724 { 163, 3, 68, 87, 190, 255, 19, 27, 25, 46 }, // y = smooth
725 { 185, 7, 113, 171, 203, 57, 18, 69, 49, 104 }, // y = paeth
726};
727
Urvang Joshie6ca8e82017-03-15 14:57:41 -0700728#endif // CONFIG_SMOOTH_HV
729
730#else // !CONFIG_ALT_INTRA
Urvang Joshi6be4a542016-11-03 15:24:05 -0700731
Yaowu Xuf883b422016-08-30 14:01:10 -0700732const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1] = {
733 {
734 // above = dc
735 { 137, 30, 42, 148, 151, 207, 70, 52, 91 }, // left = dc
736 { 92, 45, 102, 136, 116, 180, 74, 90, 100 }, // left = v
737 { 73, 32, 19, 187, 222, 215, 46, 34, 100 }, // left = h
738 { 91, 30, 32, 116, 121, 186, 93, 86, 94 }, // left = d45
739 { 72, 35, 36, 149, 68, 206, 68, 63, 105 }, // left = d135
740 { 73, 31, 28, 138, 57, 124, 55, 122, 151 }, // left = d117
741 { 67, 23, 21, 140, 126, 197, 40, 37, 171 }, // left = d153
742 { 86, 27, 28, 128, 154, 212, 45, 43, 53 }, // left = d207
743 { 74, 32, 27, 107, 86, 160, 63, 134, 102 }, // left = d63
744 { 59, 67, 44, 140, 161, 202, 78, 67, 119 } // left = tm
745 },
746 {
747 // above = v
748 { 63, 36, 126, 146, 123, 158, 60, 90, 96 }, // left = dc
749 { 43, 46, 168, 134, 107, 128, 69, 142, 92 }, // left = v
750 { 44, 29, 68, 159, 201, 177, 50, 57, 77 }, // left = h
751 { 58, 38, 76, 114, 97, 172, 78, 133, 92 }, // left = d45
752 { 46, 41, 76, 140, 63, 184, 69, 112, 57 }, // left = d135
753 { 38, 32, 85, 140, 46, 112, 54, 151, 133 }, // left = d117
754 { 39, 27, 61, 131, 110, 175, 44, 75, 136 }, // left = d153
755 { 52, 30, 74, 113, 130, 175, 51, 64, 58 }, // left = d207
756 { 47, 35, 80, 100, 74, 143, 64, 163, 74 }, // left = d63
757 { 36, 61, 116, 114, 128, 162, 80, 125, 82 } // left = tm
758 },
759 {
760 // above = h
761 { 82, 26, 26, 171, 208, 204, 44, 32, 105 }, // left = dc
762 { 55, 44, 68, 166, 179, 192, 57, 57, 108 }, // left = v
763 { 42, 26, 11, 199, 241, 228, 23, 15, 85 }, // left = h
764 { 68, 42, 19, 131, 160, 199, 55, 52, 83 }, // left = d45
765 { 58, 50, 25, 139, 115, 232, 39, 52, 118 }, // left = d135
766 { 50, 35, 33, 153, 104, 162, 64, 59, 131 }, // left = d117
767 { 44, 24, 16, 150, 177, 202, 33, 19, 156 }, // left = d153
768 { 55, 27, 12, 153, 203, 218, 26, 27, 49 }, // left = d207
769 { 53, 49, 21, 110, 116, 168, 59, 80, 76 }, // left = d63
770 { 38, 72, 19, 168, 203, 212, 50, 50, 107 } // left = tm
771 },
772 {
773 // above = d45
774 { 103, 26, 36, 129, 132, 201, 83, 80, 93 }, // left = dc
775 { 59, 38, 83, 112, 103, 162, 98, 136, 90 }, // left = v
776 { 62, 30, 23, 158, 200, 207, 59, 57, 50 }, // left = h
777 { 67, 30, 29, 84, 86, 191, 102, 91, 59 }, // left = d45
778 { 60, 32, 33, 112, 71, 220, 64, 89, 104 }, // left = d135
779 { 53, 26, 34, 130, 56, 149, 84, 120, 103 }, // left = d117
780 { 53, 21, 23, 133, 109, 210, 56, 77, 172 }, // left = d153
781 { 77, 19, 29, 112, 142, 228, 55, 66, 36 }, // left = d207
782 { 61, 29, 29, 93, 97, 165, 83, 175, 162 }, // left = d63
783 { 47, 47, 43, 114, 137, 181, 100, 99, 95 } // left = tm
784 },
785 {
786 // above = d135
787 { 69, 23, 29, 128, 83, 199, 46, 44, 101 }, // left = dc
788 { 53, 40, 55, 139, 69, 183, 61, 80, 110 }, // left = v
789 { 40, 29, 19, 161, 180, 207, 43, 24, 91 }, // left = h
790 { 60, 34, 19, 105, 61, 198, 53, 64, 89 }, // left = d45
791 { 52, 31, 22, 158, 40, 209, 58, 62, 89 }, // left = d135
792 { 44, 31, 29, 147, 46, 158, 56, 102, 198 }, // left = d117
793 { 35, 19, 12, 135, 87, 209, 41, 45, 167 }, // left = d153
794 { 55, 25, 21, 118, 95, 215, 38, 39, 66 }, // left = d207
795 { 51, 38, 25, 113, 58, 164, 70, 93, 97 }, // left = d63
796 { 47, 54, 34, 146, 108, 203, 72, 103, 151 } // left = tm
797 },
798 {
799 // above = d117
800 { 64, 19, 37, 156, 66, 138, 49, 95, 133 }, // left = dc
801 { 46, 27, 80, 150, 55, 124, 55, 121, 135 }, // left = v
802 { 36, 23, 27, 165, 149, 166, 54, 64, 118 }, // left = h
803 { 53, 21, 36, 131, 63, 163, 60, 109, 81 }, // left = d45
804 { 40, 26, 35, 154, 40, 185, 51, 97, 123 }, // left = d135
805 { 35, 19, 34, 179, 19, 97, 48, 129, 124 }, // left = d117
806 { 36, 20, 26, 136, 62, 164, 33, 77, 154 }, // left = d153
807 { 45, 18, 32, 130, 90, 157, 40, 79, 91 }, // left = d207
808 { 45, 26, 28, 129, 45, 129, 49, 147, 123 }, // left = d63
809 { 38, 44, 51, 136, 74, 162, 57, 97, 121 } // left = tm
810 },
811 {
812 // above = d153
813 { 75, 17, 22, 136, 138, 185, 32, 34, 166 }, // left = dc
814 { 56, 39, 58, 133, 117, 173, 48, 53, 187 }, // left = v
815 { 35, 21, 12, 161, 212, 207, 20, 23, 145 }, // left = h
816 { 56, 29, 19, 117, 109, 181, 55, 68, 112 }, // left = d45
817 { 47, 29, 17, 153, 64, 220, 59, 51, 114 }, // left = d135
818 { 46, 16, 24, 136, 76, 147, 41, 64, 172 }, // left = d117
819 { 34, 17, 11, 108, 152, 187, 13, 15, 209 }, // left = d153
820 { 51, 24, 14, 115, 133, 209, 32, 26, 104 }, // left = d207
821 { 55, 30, 18, 122, 79, 179, 44, 88, 116 }, // left = d63
822 { 37, 49, 25, 129, 168, 164, 41, 54, 148 } // left = tm
823 },
824 {
825 // above = d207
826 { 82, 22, 32, 127, 143, 213, 39, 41, 70 }, // left = dc
827 { 62, 44, 61, 123, 105, 189, 48, 57, 64 }, // left = v
828 { 47, 25, 17, 175, 222, 220, 24, 30, 86 }, // left = h
829 { 68, 36, 17, 106, 102, 206, 59, 74, 74 }, // left = d45
830 { 57, 39, 23, 151, 68, 216, 55, 63, 58 }, // left = d135
831 { 49, 30, 35, 141, 70, 168, 82, 40, 115 }, // left = d117
832 { 51, 25, 15, 136, 129, 202, 38, 35, 139 }, // left = d153
833 { 68, 26, 16, 111, 141, 215, 29, 28, 28 }, // left = d207
834 { 59, 39, 19, 114, 75, 180, 77, 104, 42 }, // left = d63
835 { 40, 61, 26, 126, 152, 206, 61, 59, 93 } // left = tm
836 },
837 {
838 // above = d63
839 { 78, 23, 39, 111, 117, 170, 74, 124, 94 }, // left = dc
840 { 48, 34, 86, 101, 92, 146, 78, 179, 134 }, // left = v
841 { 47, 22, 24, 138, 187, 178, 68, 69, 59 }, // left = h
842 { 56, 25, 33, 105, 112, 187, 95, 177, 129 }, // left = d45
843 { 48, 31, 27, 114, 63, 183, 82, 116, 56 }, // left = d135
844 { 43, 28, 37, 121, 63, 123, 61, 192, 169 }, // left = d117
845 { 42, 17, 24, 109, 97, 177, 56, 76, 122 }, // left = d153
846 { 58, 18, 28, 105, 139, 182, 70, 92, 63 }, // left = d207
847 { 46, 23, 32, 74, 86, 150, 67, 183, 88 }, // left = d63
848 { 36, 38, 48, 92, 122, 165, 88, 137, 91 } // left = tm
849 },
850 {
851 // above = tm
852 { 65, 70, 60, 155, 159, 199, 61, 60, 81 }, // left = dc
853 { 44, 78, 115, 132, 119, 173, 71, 112, 93 }, // left = v
854 { 39, 38, 21, 184, 227, 206, 42, 32, 64 }, // left = h
855 { 58, 47, 36, 124, 137, 193, 80, 82, 78 }, // left = d45
856 { 49, 50, 35, 144, 95, 205, 63, 78, 59 }, // left = d135
857 { 41, 53, 52, 148, 71, 142, 65, 128, 51 }, // left = d117
858 { 40, 36, 28, 143, 143, 202, 40, 55, 137 }, // left = d153
859 { 52, 34, 29, 129, 183, 227, 42, 35, 43 }, // left = d207
860 { 42, 44, 44, 104, 105, 164, 64, 130, 80 }, // left = d63
861 { 43, 81, 53, 140, 169, 204, 68, 84, 72 } // left = tm
862 }
863};
Yaowu Xuc27fc142016-08-22 16:08:15 -0700864
Urvang Joshi92b90f32017-02-07 17:06:31 -0800865// Default probabilities for signaling Intra mode for Y plane -- used only for
866// inter frames. ('av1_kf_y_mode_prob' is used for intra-only frames).
867// Context used: block size group.
Yaowu Xuf883b422016-08-30 14:01:10 -0700868static const aom_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -0700869 { 65, 32, 18, 144, 162, 194, 41, 51, 98 }, // block_size < 8x8
870 { 132, 68, 18, 165, 217, 196, 45, 40, 78 }, // block_size < 16x16
871 { 173, 80, 19, 176, 240, 193, 64, 35, 46 }, // block_size < 32x32
872 { 221, 135, 38, 194, 248, 121, 96, 85, 29 } // block_size >= 32x32
873};
874
Urvang Joshi92b90f32017-02-07 17:06:31 -0800875// Default probabilities for signaling Intra mode for UV plane -- common for
876// both intra and inter frames.
877// Context used: Intra mode used by Y plane of the same block.
Yaowu Xuf883b422016-08-30 14:01:10 -0700878static const aom_prob default_uv_probs[INTRA_MODES][INTRA_MODES - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -0700879 { 120, 7, 76, 176, 208, 126, 28, 54, 103 }, // y = dc
880 { 48, 12, 154, 155, 139, 90, 34, 117, 119 }, // y = v
881 { 67, 6, 25, 204, 243, 158, 13, 21, 96 }, // y = h
882 { 97, 5, 44, 131, 176, 139, 48, 68, 97 }, // y = d45
883 { 83, 5, 42, 156, 111, 152, 26, 49, 152 }, // y = d135
884 { 80, 5, 58, 178, 74, 83, 33, 62, 145 }, // y = d117
885 { 86, 5, 32, 154, 192, 168, 14, 22, 163 }, // y = d153
886 { 85, 5, 32, 156, 216, 148, 19, 29, 73 }, // y = d207
887 { 77, 7, 64, 116, 132, 122, 37, 126, 120 }, // y = d63
888 { 101, 21, 107, 181, 192, 103, 19, 67, 125 } // y = tm
889};
890
Urvang Joshi6be4a542016-11-03 15:24:05 -0700891#endif // CONFIG_ALT_INTRA
892
Yaowu Xuc27fc142016-08-22 16:08:15 -0700893#if CONFIG_EXT_PARTITION_TYPES
Yaowu Xuf883b422016-08-30 14:01:10 -0700894static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -0700895 default_partition_probs[PARTITION_CONTEXTS][EXT_PARTITION_TYPES - 1] = {
896 // 8x8 -> 4x4
897 { 199, 122, 141, 128, 128, 128, 128 }, // a/l both not split
898 { 147, 63, 159, 128, 128, 128, 128 }, // a split, l not split
899 { 148, 133, 118, 128, 128, 128, 128 }, // l split, a not split
900 { 121, 104, 114, 128, 128, 128, 128 }, // a/l both split
901 // 16x16 -> 8x8
902 { 174, 73, 87, 128, 128, 128, 128 }, // a/l both not split
903 { 92, 41, 83, 128, 128, 128, 128 }, // a split, l not split
904 { 82, 99, 50, 128, 128, 128, 128 }, // l split, a not split
905 { 53, 39, 39, 128, 128, 128, 128 }, // a/l both split
906 // 32x32 -> 16x16
907 { 177, 58, 59, 128, 128, 128, 128 }, // a/l both not split
908 { 68, 26, 63, 128, 128, 128, 128 }, // a split, l not split
909 { 52, 79, 25, 128, 128, 128, 128 }, // l split, a not split
910 { 17, 14, 12, 128, 128, 128, 128 }, // a/l both split
911 // 64x64 -> 32x32
912 { 222, 34, 30, 128, 128, 128, 128 }, // a/l both not split
913 { 72, 16, 44, 128, 128, 128, 128 }, // a split, l not split
914 { 58, 32, 12, 128, 128, 128, 128 }, // l split, a not split
915 { 10, 7, 6, 128, 128, 128, 128 }, // a/l both split
916#if CONFIG_EXT_PARTITION
917 // 128x128 -> 64x64
918 { 222, 34, 30, 128, 128, 128, 128 }, // a/l both not split
919 { 72, 16, 44, 128, 128, 128, 128 }, // a split, l not split
920 { 58, 32, 12, 128, 128, 128, 128 }, // l split, a not split
921 { 10, 7, 6, 128, 128, 128, 128 }, // a/l both split
922#endif // CONFIG_EXT_PARTITION
Alex Converse55c6bde2017-01-12 15:55:31 -0800923#if CONFIG_UNPOISON_PARTITION_CTX
924 { 0, 0, 141, 0, 0, 0, 0 }, // 8x8 -> 4x4
925 { 0, 0, 87, 0, 0, 0, 0 }, // 16x16 -> 8x8
926 { 0, 0, 59, 0, 0, 0, 0 }, // 32x32 -> 16x16
927 { 0, 0, 30, 0, 0, 0, 0 }, // 64x64 -> 32x32
928#if CONFIG_EXT_PARTITION
929 { 0, 0, 30, 0, 0, 0, 0 }, // 128x128 -> 64x64
930#endif // CONFIG_EXT_PARTITION
931 { 0, 122, 0, 0, 0, 0, 0 }, // 8x8 -> 4x4
932 { 0, 73, 0, 0, 0, 0, 0 }, // 16x16 -> 8x8
933 { 0, 58, 0, 0, 0, 0, 0 }, // 32x32 -> 16x16
934 { 0, 34, 0, 0, 0, 0, 0 }, // 64x64 -> 32x32
935#if CONFIG_EXT_PARTITION
936 { 0, 34, 0, 0, 0, 0, 0 }, // 128x128 -> 64x64
937#endif // CONFIG_EXT_PARTITION
938#endif // CONFIG_UNPOISON_PARTITION_CTX
Yaowu Xuc27fc142016-08-22 16:08:15 -0700939 };
940#else
Yaowu Xuf883b422016-08-30 14:01:10 -0700941static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -0700942 default_partition_probs[PARTITION_CONTEXTS][PARTITION_TYPES - 1] = {
943 // 8x8 -> 4x4
944 { 199, 122, 141 }, // a/l both not split
945 { 147, 63, 159 }, // a split, l not split
946 { 148, 133, 118 }, // l split, a not split
947 { 121, 104, 114 }, // a/l both split
948 // 16x16 -> 8x8
949 { 174, 73, 87 }, // a/l both not split
950 { 92, 41, 83 }, // a split, l not split
951 { 82, 99, 50 }, // l split, a not split
952 { 53, 39, 39 }, // a/l both split
953 // 32x32 -> 16x16
954 { 177, 58, 59 }, // a/l both not split
955 { 68, 26, 63 }, // a split, l not split
956 { 52, 79, 25 }, // l split, a not split
957 { 17, 14, 12 }, // a/l both split
958 // 64x64 -> 32x32
959 { 222, 34, 30 }, // a/l both not split
960 { 72, 16, 44 }, // a split, l not split
961 { 58, 32, 12 }, // l split, a not split
962 { 10, 7, 6 }, // a/l both split
963#if CONFIG_EXT_PARTITION
964 // 128x128 -> 64x64
965 { 222, 34, 30 }, // a/l both not split
966 { 72, 16, 44 }, // a split, l not split
967 { 58, 32, 12 }, // l split, a not split
968 { 10, 7, 6 }, // a/l both split
969#endif // CONFIG_EXT_PARTITION
Alex Converse55c6bde2017-01-12 15:55:31 -0800970#if CONFIG_UNPOISON_PARTITION_CTX
971 { 0, 0, 141 }, // 8x8 -> 4x4
972 { 0, 0, 87 }, // 16x16 -> 8x8
973 { 0, 0, 59 }, // 32x32 -> 16x16
974 { 0, 0, 30 }, // 64x64 -> 32x32
975#if CONFIG_EXT_PARTITION
976 { 0, 0, 30 }, // 128x128 -> 64x64
977#endif // CONFIG_EXT_PARTITION
978 { 0, 122, 0 }, // 8x8 -> 4x4
979 { 0, 73, 0 }, // 16x16 -> 8x8
980 { 0, 58, 0 }, // 32x32 -> 16x16
981 { 0, 34, 0 }, // 64x64 -> 32x32
982#if CONFIG_EXT_PARTITION
983 { 0, 34, 0 }, // 128x128 -> 64x64
984#endif // CONFIG_EXT_PARTITION
985#endif // CONFIG_UNPOISON_PARTITION_CTX
Yaowu Xuc27fc142016-08-22 16:08:15 -0700986 };
987#endif // CONFIG_EXT_PARTITION_TYPES
988
Yaowu Xuf883b422016-08-30 14:01:10 -0700989static const aom_prob default_newmv_prob[NEWMV_MODE_CONTEXTS] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -0700990 200, 180, 150, 150, 110, 70, 60,
991};
992
Yaowu Xuf883b422016-08-30 14:01:10 -0700993static const aom_prob default_zeromv_prob[ZEROMV_MODE_CONTEXTS] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -0700994 192, 64,
995};
996
Yaowu Xuf883b422016-08-30 14:01:10 -0700997static const aom_prob default_refmv_prob[REFMV_MODE_CONTEXTS] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -0700998 220, 220, 200, 200, 180, 128, 30, 220, 30,
999};
1000
Yaowu Xuf883b422016-08-30 14:01:10 -07001001static const aom_prob default_drl_prob[DRL_MODE_CONTEXTS] = { 128, 160, 180,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001002 128, 160 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001003
Yaowu Xuf883b422016-08-30 14:01:10 -07001004static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -07001005 default_inter_mode_probs[INTER_MODE_CONTEXTS][INTER_MODES - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001006 { 2, 173, 34 }, // 0 = both zero mv
1007 { 7, 145, 85 }, // 1 = one zero mv + one a predicted mv
1008 { 7, 166, 63 }, // 2 = two predicted mvs
1009 { 7, 94, 66 }, // 3 = one predicted/zero and one new mv
1010 { 8, 64, 46 }, // 4 = two new mvs
1011 { 17, 81, 31 }, // 5 = one intra neighbour + x
1012 { 25, 29, 30 }, // 6 = two intra neighbours
Yaowu Xuc27fc142016-08-22 16:08:15 -07001013 };
1014
1015#if CONFIG_EXT_INTER
Yaowu Xuf883b422016-08-30 14:01:10 -07001016static const aom_prob default_inter_compound_mode_probs
Yaowu Xuc27fc142016-08-22 16:08:15 -07001017 [INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES - 1] = {
Debargha Mukherjeebb6e1342017-04-17 16:05:04 -07001018 { 2, 173, 68, 192, 128, 180, 180 }, // 0 = both zero mv
1019 { 7, 145, 160, 192, 128, 180, 180 }, // 1 = 1 zero + 1 predicted
1020 { 7, 166, 126, 192, 128, 180, 180 }, // 2 = two predicted mvs
1021 { 7, 94, 132, 192, 128, 180, 180 }, // 3 = 1 pred/zero, 1 new
1022 { 8, 64, 64, 192, 128, 180, 180 }, // 4 = two new mvs
1023 { 17, 81, 52, 192, 128, 180, 180 }, // 5 = one intra neighbour
1024 { 25, 29, 50, 192, 128, 180, 180 }, // 6 = two intra neighbours
Yaowu Xuc27fc142016-08-22 16:08:15 -07001025 };
1026
Zoe Liu239f06b2017-04-20 13:10:55 -07001027#if CONFIG_COMPOUND_SINGLEREF
1028// TODO(zoeliu): Default values to be further adjusted based on the collected
1029// stats.
1030static const aom_prob default_inter_singleref_comp_mode_probs
1031 [INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
1032 { 2, 173, 68, 180 }, // 0 = both zero mv
1033 { 7, 145, 160, 180 }, // 1 = 1 zero + 1 predicted
1034 { 7, 166, 126, 180 }, // 2 = two predicted mvs
1035 { 7, 94, 132, 180 }, // 3 = 1 pred/zero, 1 new
1036 { 8, 64, 64, 180 }, // 4 = two new mvs
1037 { 17, 81, 52, 180 }, // 5 = one intra neighbour
1038 { 25, 29, 50, 180 }, // 6 = two intra neighbours
1039 };
1040#endif // CONFIG_COMPOUND_SINGLEREF
1041
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001042#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker2f6ce752016-12-08 15:26:46 -08001043static const aom_prob
1044 default_compound_type_probs[BLOCK_SIZES][COMPOUND_TYPES - 1] = {
Yue Chen4415b6c2017-01-31 11:59:38 -08001045#if CONFIG_CB4X4
Debargha Mukherjeeed057992017-05-07 05:15:06 -07001046 { 255, 128 }, { 255, 128 }, { 255, 128 },
Yue Chen4415b6c2017-01-31 11:59:38 -08001047#endif
Debargha Mukherjeeed057992017-05-07 05:15:06 -07001048 { 208, 128 }, { 208, 128 }, { 208, 128 }, { 208, 128 }, { 208, 128 },
1049 { 208, 128 }, { 216, 128 }, { 216, 128 }, { 216, 128 }, { 224, 128 },
Debargha Mukherjeef6429c92017-05-15 15:42:13 -07001050 { 224, 1 }, { 240, 1 }, { 240, 1 },
Sarah Parker2f6ce752016-12-08 15:26:46 -08001051#if CONFIG_EXT_PARTITION
Debargha Mukherjeef6429c92017-05-15 15:42:13 -07001052 { 255, 1 }, { 255, 1 }, { 255, 1 },
Sarah Parker2f6ce752016-12-08 15:26:46 -08001053#endif // CONFIG_EXT_PARTITION
1054 };
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001055#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
clang-format55ce9e02017-02-15 22:27:12 -08001056static const aom_prob
1057 default_compound_type_probs[BLOCK_SIZES][COMPOUND_TYPES - 1] = {
Jingning Han61418bb2017-01-23 17:12:48 -08001058#if CONFIG_CB4X4
Debargha Mukherjeeed057992017-05-07 05:15:06 -07001059 { 255 }, { 255 }, { 255 },
Jingning Han61418bb2017-01-23 17:12:48 -08001060#endif
clang-format55ce9e02017-02-15 22:27:12 -08001061 { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 216 },
1062 { 216 }, { 216 }, { 224 }, { 224 }, { 240 }, { 240 },
Sarah Parker6fddd182016-11-10 20:57:20 -08001063#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001064 { 255 }, { 255 }, { 255 },
Sarah Parker6fddd182016-11-10 20:57:20 -08001065#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001066 };
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001067#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
1068static const aom_prob
1069 default_compound_type_probs[BLOCK_SIZES][COMPOUND_TYPES - 1] = {
1070#if CONFIG_CB4X4
Debargha Mukherjeeed057992017-05-07 05:15:06 -07001071 { 255 }, { 255 }, { 255 },
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001072#endif
1073 { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 216 },
1074 { 216 }, { 216 }, { 224 }, { 224 }, { 240 }, { 240 },
1075#if CONFIG_EXT_PARTITION
1076 { 255 }, { 255 }, { 255 },
1077#endif // CONFIG_EXT_PARTITION
1078 };
1079#else
1080static const aom_prob default_compound_type_probs[BLOCK_SIZES]
1081 [COMPOUND_TYPES - 1];
1082#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker6fddd182016-11-10 20:57:20 -08001083
Yue Chen4d26acb2017-05-01 12:28:34 -07001084#if CONFIG_INTERINTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07001085static const aom_prob default_interintra_prob[BLOCK_SIZE_GROUPS] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001086 208, 208, 208, 208,
1087};
1088
Yue Chen4d26acb2017-05-01 12:28:34 -07001089static const aom_prob
1090 default_interintra_mode_prob[BLOCK_SIZE_GROUPS][INTERINTRA_MODES - 1] = {
Yue Chen94d84462017-05-18 12:02:47 -07001091 { 88, 16, 150 }, // block_size < 8x8
1092 { 75, 26, 150 }, // block_size < 16x16
1093 { 73, 24, 150 }, // block_size < 32x32
1094 { 96, 27, 150 } // block_size >= 32x32
Yue Chen4d26acb2017-05-01 12:28:34 -07001095 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001096
Yaowu Xuf883b422016-08-30 14:01:10 -07001097static const aom_prob default_wedge_interintra_prob[BLOCK_SIZES] = {
Jingning Han61418bb2017-01-23 17:12:48 -08001098#if CONFIG_CB4X4
1099 208, 208, 208,
1100#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001101 208, 208, 208, 208, 208, 208, 216, 216, 216, 224, 224, 224, 240,
1102#if CONFIG_EXT_PARTITION
1103 208, 208, 208
1104#endif // CONFIG_EXT_PARTITION
1105};
Yue Chen4d26acb2017-05-01 12:28:34 -07001106#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001107#endif // CONFIG_EXT_INTER
1108
1109// Change this section appropriately once warped motion is supported
Yue Chencb60b182016-10-13 15:18:22 -07001110#if CONFIG_MOTION_VAR && !CONFIG_WARPED_MOTION
1111const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001112 -SIMPLE_TRANSLATION, -OBMC_CAUSAL
1113};
clang-format55ce9e02017-02-15 22:27:12 -08001114static const aom_prob default_motion_mode_prob[BLOCK_SIZES][MOTION_MODES - 1] =
1115 {
Jingning Hanb3044dd2017-01-18 16:14:56 -08001116#if CONFIG_CB4X4
clang-format55ce9e02017-02-15 22:27:12 -08001117 { 255 }, { 255 }, { 255 },
Jingning Hanb3044dd2017-01-18 16:14:56 -08001118#endif
clang-format55ce9e02017-02-15 22:27:12 -08001119 { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
1120 { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001121#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001122 { 252 }, { 252 }, { 252 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001123#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001124 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001125
Yue Chencb60b182016-10-13 15:18:22 -07001126#elif !CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07001127
Yue Chencb60b182016-10-13 15:18:22 -07001128const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001129 -SIMPLE_TRANSLATION, -WARPED_CAUSAL
1130};
Yue Chen69f18e12016-09-08 14:48:15 -07001131
clang-format55ce9e02017-02-15 22:27:12 -08001132static const aom_prob default_motion_mode_prob[BLOCK_SIZES][MOTION_MODES - 1] =
1133 {
Jingning Han71bf3ee2017-01-18 17:23:27 -08001134#if CONFIG_CB4X4
clang-format55ce9e02017-02-15 22:27:12 -08001135 { 255 }, { 255 }, { 255 },
Jingning Han71bf3ee2017-01-18 17:23:27 -08001136#endif
clang-format55ce9e02017-02-15 22:27:12 -08001137 { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
1138 { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001139#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001140 { 252 }, { 252 }, { 252 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001141#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001142 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001143
Yue Chencb60b182016-10-13 15:18:22 -07001144#elif CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07001145
Yue Chencb60b182016-10-13 15:18:22 -07001146const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001147 -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -WARPED_CAUSAL,
1148};
Yue Chencb60b182016-10-13 15:18:22 -07001149static const aom_prob default_motion_mode_prob[BLOCK_SIZES][MOTION_MODES - 1] =
Yaowu Xuc27fc142016-08-22 16:08:15 -07001150 {
Jingning Han71bf3ee2017-01-18 17:23:27 -08001151#if CONFIG_CB4X4
1152 { 255, 200 }, { 255, 200 }, { 255, 200 },
1153#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001154 { 255, 200 }, { 255, 200 }, { 255, 200 }, { 151, 200 }, { 153, 200 },
1155 { 144, 200 }, { 178, 200 }, { 165, 200 }, { 160, 200 }, { 207, 200 },
1156 { 195, 200 }, { 168, 200 }, { 244, 200 },
1157#if CONFIG_EXT_PARTITION
1158 { 252, 200 }, { 252, 200 }, { 252, 200 },
1159#endif // CONFIG_EXT_PARTITION
1160 };
Yue Chen69f18e12016-09-08 14:48:15 -07001161
1162// Probability for the case that only 1 additional motion mode is allowed
1163static const aom_prob default_obmc_prob[BLOCK_SIZES] = {
Jingning Han71bf3ee2017-01-18 17:23:27 -08001164#if CONFIG_CB4X4
1165 255, 255, 255,
1166#endif
Yue Chen69f18e12016-09-08 14:48:15 -07001167 255, 255, 255, 151, 153, 144, 178, 165, 160, 207, 195, 168, 244,
1168#if CONFIG_EXT_PARTITION
1169 252, 252, 252,
1170#endif // CONFIG_EXT_PARTITION
1171};
1172#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001173
Thomas Daviesf6936102016-09-05 16:51:31 +01001174#if CONFIG_DELTA_Q
Thomas Davies665cd702017-03-02 10:20:30 +00001175static const aom_prob default_delta_q_probs[DELTA_Q_PROBS] = { 220, 220, 220 };
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00001176#if CONFIG_EC_MULTISYMBOL
1177static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07001178 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00001179};
1180#endif
Fangwen Fu231fe422017-04-24 17:52:29 -07001181#if CONFIG_EXT_DELTA_Q
1182static const aom_prob default_delta_lf_probs[DELTA_LF_PROBS] = { 220, 220,
1183 220 };
1184#if CONFIG_EC_MULTISYMBOL
1185static const aom_cdf_prob default_delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)] = {
Timothy B. Terriberrye1804782017-05-05 14:38:57 -07001186 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Fangwen Fu231fe422017-04-24 17:52:29 -07001187};
1188#endif
1189#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01001190#endif
Nathan E. Eggeecc21ec2016-11-16 09:44:26 -05001191#if CONFIG_EC_MULTISYMBOL
Nathan E. Egge3ef926e2016-09-07 18:20:41 -04001192int av1_intra_mode_ind[INTRA_MODES];
1193int av1_intra_mode_inv[INTRA_MODES];
Nathan E. Egge6ec4d102016-09-08 10:41:20 -04001194int av1_inter_mode_ind[INTER_MODES];
1195int av1_inter_mode_inv[INTER_MODES];
Thomas Daviesb1bedf52017-03-17 14:03:28 +00001196#if CONFIG_EXT_TX
1197int av1_ext_tx_intra_ind[EXT_TX_SETS_INTRA][TX_TYPES];
1198int av1_ext_tx_intra_inv[EXT_TX_SETS_INTRA][TX_TYPES];
1199int av1_ext_tx_inter_ind[EXT_TX_SETS_INTER][TX_TYPES];
1200int av1_ext_tx_inter_inv[EXT_TX_SETS_INTER][TX_TYPES];
1201#endif
Nathan E. Eggea59b23d2016-11-16 09:44:26 -05001202#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01001203
Urvang Joshi6be4a542016-11-03 15:24:05 -07001204#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07001205#if CONFIG_SMOOTH_HV
1206const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
1207 -DC_PRED,
1208 2, /* 0 = DC_NODE */
1209 -TM_PRED,
1210 4, /* 1 = TM_NODE */
1211 -V_PRED,
1212 6, /* 2 = V_NODE */
1213 8,
1214 12, /* 3 = COM_NODE */
1215 -H_PRED,
1216 10, /* 4 = H_NODE */
1217 -D135_PRED,
1218 -D117_PRED, /* 5 = D135_NODE */
1219 -D45_PRED,
1220 14, /* 6 = D45_NODE */
1221 -D63_PRED,
1222 16, /* 7 = D63_NODE */
1223 -D153_PRED,
1224 18, /* 8 = D153_NODE */
1225 -D207_PRED,
1226 20, /* 9 = D207_NODE */
1227 -SMOOTH_PRED,
1228 22, /* 10 = SMOOTH_NODE */
1229 -SMOOTH_V_PRED,
1230 -SMOOTH_H_PRED /* 11 = SMOOTH_V_NODE */
1231};
1232#else
Urvang Joshi6be4a542016-11-03 15:24:05 -07001233const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
1234 -DC_PRED, 2, /* 0 = DC_NODE */
1235 -TM_PRED, 4, /* 1 = TM_NODE */
1236 -V_PRED, 6, /* 2 = V_NODE */
1237 8, 12, /* 3 = COM_NODE */
1238 -H_PRED, 10, /* 4 = H_NODE */
1239 -D135_PRED, -D117_PRED, /* 5 = D135_NODE */
1240 -D45_PRED, 14, /* 6 = D45_NODE */
1241 -D63_PRED, 16, /* 7 = D63_NODE */
1242 -D153_PRED, 18, /* 8 = D153_NODE */
1243 -D207_PRED, -SMOOTH_PRED, /* 9 = D207_NODE */
1244};
Urvang Joshie6ca8e82017-03-15 14:57:41 -07001245#endif // CONFIG_SMOOTH_HV
Urvang Joshi6be4a542016-11-03 15:24:05 -07001246#else
Yaowu Xuf883b422016-08-30 14:01:10 -07001247const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001248 -DC_PRED, 2, /* 0 = DC_NODE */
1249 -TM_PRED, 4, /* 1 = TM_NODE */
1250 -V_PRED, 6, /* 2 = V_NODE */
1251 8, 12, /* 3 = COM_NODE */
1252 -H_PRED, 10, /* 4 = H_NODE */
1253 -D135_PRED, -D117_PRED, /* 5 = D135_NODE */
1254 -D45_PRED, 14, /* 6 = D45_NODE */
1255 -D63_PRED, 16, /* 7 = D63_NODE */
1256 -D153_PRED, -D207_PRED /* 8 = D153_NODE */
1257};
Urvang Joshi6be4a542016-11-03 15:24:05 -07001258#endif // CONFIG_ALT_INTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001259
Yaowu Xuf883b422016-08-30 14:01:10 -07001260const aom_tree_index av1_inter_mode_tree[TREE_SIZE(INTER_MODES)] = {
Zoe Liu7f24e1b2017-03-17 17:42:05 -07001261 -INTER_OFFSET(ZEROMV), 2, -INTER_OFFSET(NEARESTMV), 4, -INTER_OFFSET(NEARMV),
1262 -INTER_OFFSET(NEWMV)
Yaowu Xuc27fc142016-08-22 16:08:15 -07001263};
1264
1265#if CONFIG_EXT_INTER
1266/* clang-format off */
Yue Chen4d26acb2017-05-01 12:28:34 -07001267#if CONFIG_INTERINTRA
Yue Chen4d26acb2017-05-01 12:28:34 -07001268const aom_tree_index av1_interintra_mode_tree[TREE_SIZE(INTERINTRA_MODES)] = {
1269 -II_DC_PRED, 2, /* 0 = II_DC_NODE */
1270#if CONFIG_ALT_INTRA
1271 -II_SMOOTH_PRED, 4, /* 1 = II_SMOOTH_PRED */
1272#else
1273 -II_TM_PRED, 4, /* 1 = II_TM_NODE */
1274#endif
1275 -II_V_PRED, -II_H_PRED /* 2 = II_V_NODE */
1276};
Yue Chen4d26acb2017-05-01 12:28:34 -07001277#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001278
Yaowu Xuf883b422016-08-30 14:01:10 -07001279const aom_tree_index av1_inter_compound_mode_tree
Yaowu Xuc27fc142016-08-22 16:08:15 -07001280 [TREE_SIZE(INTER_COMPOUND_MODES)] = {
1281 -INTER_COMPOUND_OFFSET(ZERO_ZEROMV), 2,
1282 -INTER_COMPOUND_OFFSET(NEAREST_NEARESTMV), 4,
1283 6, -INTER_COMPOUND_OFFSET(NEW_NEWMV),
Debargha Mukherjeebb6e1342017-04-17 16:05:04 -07001284 -INTER_COMPOUND_OFFSET(NEAR_NEARMV), 8,
1285 10, 12,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001286 -INTER_COMPOUND_OFFSET(NEAREST_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARESTMV),
1287 -INTER_COMPOUND_OFFSET(NEAR_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARMV)
1288};
Sarah Parker6fddd182016-11-10 20:57:20 -08001289
Zoe Liu239f06b2017-04-20 13:10:55 -07001290#if CONFIG_COMPOUND_SINGLEREF
1291const aom_tree_index av1_inter_singleref_comp_mode_tree
1292 [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
1293 -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
1294 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
1295 6, -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV),
1296 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEWMV),
1297 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV)
1298};
1299#endif // CONFIG_COMPOUND_SINGLEREF
1300
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001301#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker2f6ce752016-12-08 15:26:46 -08001302const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1303 -COMPOUND_AVERAGE, 2, -COMPOUND_WEDGE, -COMPOUND_SEG
1304};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001305#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker6fddd182016-11-10 20:57:20 -08001306const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1307 -COMPOUND_AVERAGE, -COMPOUND_WEDGE
1308};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001309#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
1310const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1311 -COMPOUND_AVERAGE, -COMPOUND_SEG
1312};
1313#else
1314const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {};
1315#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001316/* clang-format on */
1317#endif // CONFIG_EXT_INTER
1318
Yaowu Xuf883b422016-08-30 14:01:10 -07001319const aom_tree_index av1_partition_tree[TREE_SIZE(PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001320 -PARTITION_NONE, 2, -PARTITION_HORZ, 4, -PARTITION_VERT, -PARTITION_SPLIT
1321};
1322
1323#if CONFIG_EXT_PARTITION_TYPES
1324/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07001325const aom_tree_index av1_ext_partition_tree[TREE_SIZE(EXT_PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001326 -PARTITION_NONE, 2,
1327 6, 4,
1328 8, -PARTITION_SPLIT,
1329 -PARTITION_HORZ, 10,
1330 -PARTITION_VERT, 12,
1331 -PARTITION_HORZ_A, -PARTITION_HORZ_B,
1332 -PARTITION_VERT_A, -PARTITION_VERT_B
1333};
1334/* clang-format on */
1335#endif // CONFIG_EXT_PARTITION_TYPES
1336
Yaowu Xuf883b422016-08-30 14:01:10 -07001337static const aom_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001338 9, 102, 187, 225
1339};
1340
Yaowu Xuf883b422016-08-30 14:01:10 -07001341static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001342 239, 183, 119, 96, 41
1343};
1344
1345#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07001346static const aom_prob default_comp_ref_p[REF_CONTEXTS][FWD_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001347 // TODO(zoeliu): To adjust the initial prob values.
1348 { 33, 16, 16 },
1349 { 77, 74, 74 },
1350 { 142, 142, 142 },
1351 { 172, 170, 170 },
1352 { 238, 247, 247 }
1353};
Yaowu Xuf883b422016-08-30 14:01:10 -07001354static const aom_prob default_comp_bwdref_p[REF_CONTEXTS][BWD_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001355 { 16 }, { 74 }, { 142 }, { 170 }, { 247 }
1356};
1357#else
Yaowu Xuf883b422016-08-30 14:01:10 -07001358static const aom_prob default_comp_ref_p[REF_CONTEXTS][COMP_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001359 { 50 }, { 126 }, { 123 }, { 221 }, { 226 }
1360};
1361#endif // CONFIG_EXT_REFS
1362
Yaowu Xuf883b422016-08-30 14:01:10 -07001363static const aom_prob default_single_ref_p[REF_CONTEXTS][SINGLE_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001364#if CONFIG_EXT_REFS
1365 { 33, 16, 16, 16, 16 },
1366 { 77, 74, 74, 74, 74 },
1367 { 142, 142, 142, 142, 142 },
1368 { 172, 170, 170, 170, 170 },
1369 { 238, 247, 247, 247, 247 }
1370#else
1371 { 33, 16 }, { 77, 74 }, { 142, 142 }, { 172, 170 }, { 238, 247 }
1372#endif // CONFIG_EXT_REFS
1373};
1374
Zoe Liu239f06b2017-04-20 13:10:55 -07001375#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
1376// TODO(zoeliu): Default values to be further adjusted based on the collected
1377// stats.
1378static const aom_prob default_comp_inter_mode_p[COMP_INTER_MODE_CONTEXTS] = {
1379 41, 119, 187, 225
1380};
1381#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
1382
Urvang Joshib100db72016-10-12 16:28:56 -07001383#if CONFIG_PALETTE
Urvang Joshi23a61112017-01-30 14:59:27 -08001384
1385// Tree to code palette size (number of colors in a palette) and the
1386// corresponding probabilities for Y and UV planes.
Yaowu Xuf883b422016-08-30 14:01:10 -07001387const aom_tree_index av1_palette_size_tree[TREE_SIZE(PALETTE_SIZES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001388 -TWO_COLORS, 2, -THREE_COLORS, 4, -FOUR_COLORS, 6,
1389 -FIVE_COLORS, 8, -SIX_COLORS, 10, -SEVEN_COLORS, -EIGHT_COLORS,
1390};
1391
1392// TODO(huisu): tune these probs
Yaowu Xuf883b422016-08-30 14:01:10 -07001393const aom_prob
1394 av1_default_palette_y_size_prob[PALETTE_BLOCK_SIZES][PALETTE_SIZES - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001395 { 96, 89, 100, 64, 77, 130 }, { 22, 15, 44, 16, 34, 82 },
1396 { 30, 19, 57, 18, 38, 86 }, { 94, 36, 104, 23, 43, 92 },
1397 { 116, 76, 107, 46, 65, 105 }, { 112, 82, 94, 40, 70, 112 },
1398 { 147, 124, 123, 58, 69, 103 }, { 180, 113, 136, 49, 45, 114 },
1399 { 107, 70, 87, 49, 154, 156 }, { 98, 105, 142, 63, 64, 152 },
1400#if CONFIG_EXT_PARTITION
1401 { 98, 105, 142, 63, 64, 152 }, { 98, 105, 142, 63, 64, 152 },
1402 { 98, 105, 142, 63, 64, 152 },
1403#endif // CONFIG_EXT_PARTITION
1404 };
1405
Yaowu Xuf883b422016-08-30 14:01:10 -07001406const aom_prob
1407 av1_default_palette_uv_size_prob[PALETTE_BLOCK_SIZES][PALETTE_SIZES - 1] = {
1408 { 160, 196, 228, 213, 175, 230 }, { 87, 148, 208, 141, 166, 163 },
1409 { 72, 151, 204, 139, 155, 161 }, { 78, 135, 171, 104, 120, 173 },
1410 { 59, 92, 131, 78, 92, 142 }, { 75, 118, 149, 84, 90, 128 },
1411 { 89, 87, 92, 66, 66, 128 }, { 67, 53, 54, 55, 66, 93 },
1412 { 120, 130, 83, 171, 75, 214 }, { 72, 55, 66, 68, 79, 107 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001413#if CONFIG_EXT_PARTITION
Yaowu Xuf883b422016-08-30 14:01:10 -07001414 { 72, 55, 66, 68, 79, 107 }, { 72, 55, 66, 68, 79, 107 },
1415 { 72, 55, 66, 68, 79, 107 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001416#endif // CONFIG_EXT_PARTITION
Yaowu Xuf883b422016-08-30 14:01:10 -07001417 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001418
Urvang Joshi23a61112017-01-30 14:59:27 -08001419// When palette mode is enabled, following probability tables indicate the
1420// probabilities to code the "is_palette" bit (i.e. the bit that indicates
1421// if this block uses palette mode or DC_PRED mode).
clang-format55ce9e02017-02-15 22:27:12 -08001422const aom_prob av1_default_palette_y_mode_prob
1423 [PALETTE_BLOCK_SIZES][PALETTE_Y_MODE_CONTEXTS] = {
1424 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1425 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1426 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1427 { 240, 180, 100 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001428#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001429 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001430#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001431 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001432
Urvang Joshi23a61112017-01-30 14:59:27 -08001433const aom_prob av1_default_palette_uv_mode_prob[PALETTE_UV_MODE_CONTEXTS] = {
1434 253, 229
1435};
Yaowu Xuc27fc142016-08-22 16:08:15 -07001436
Urvang Joshi23a61112017-01-30 14:59:27 -08001437// Trees to code palette color indices (for various palette sizes), and the
1438// corresponding probability tables for Y and UV planes.
Yaowu Xuf883b422016-08-30 14:01:10 -07001439const aom_tree_index
Alex Converse92109812017-02-22 10:21:40 -08001440 av1_palette_color_index_tree[PALETTE_SIZES][TREE_SIZE(PALETTE_COLORS)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001441 { // 2 colors
1442 -PALETTE_COLOR_ONE, -PALETTE_COLOR_TWO },
1443 { // 3 colors
1444 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, -PALETTE_COLOR_THREE },
1445 { // 4 colors
1446 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE,
1447 -PALETTE_COLOR_FOUR },
1448 { // 5 colors
1449 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1450 -PALETTE_COLOR_FOUR, -PALETTE_COLOR_FIVE },
1451 { // 6 colors
1452 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1453 -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, -PALETTE_COLOR_SIX },
1454 { // 7 colors
1455 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1456 -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, 10, -PALETTE_COLOR_SIX,
1457 -PALETTE_COLOR_SEVEN },
1458 { // 8 colors
1459 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1460 -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, 10, -PALETTE_COLOR_SIX, 12,
1461 -PALETTE_COLOR_SEVEN, -PALETTE_COLOR_EIGHT },
1462 };
1463
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001464// Note: Has to be non-zero to avoid any asserts triggering.
1465#define UNUSED_PROB 128
Yaowu Xuc27fc142016-08-22 16:08:15 -07001466
Urvang Joshi23a61112017-01-30 14:59:27 -08001467const aom_prob av1_default_palette_y_color_index_prob
Alex Converse92109812017-02-22 10:21:40 -08001468 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][PALETTE_COLORS - 1] = {
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001469 {
1470 // 2 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001471 { 231, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001472 UNUSED_PROB, UNUSED_PROB },
1473 { UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1474 UNUSED_PROB, UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001475 { 69, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001476 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001477 { 224, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001478 UNUSED_PROB, UNUSED_PROB },
1479 { 249, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1480 UNUSED_PROB, UNUSED_PROB },
1481 },
1482 {
1483 // 3 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001484 { 219, 124, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001485 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001486 { 91, 191, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001487 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001488 { 34, 237, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001489 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001490 { 184, 118, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001491 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001492 { 252, 124, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001493 UNUSED_PROB },
1494 },
1495 {
1496 // 4 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001497 { 204, 87, 97, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1498 { 74, 144, 129, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1499 { 52, 191, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1500 { 151, 85, 147, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1501 { 248, 60, 115, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001502 },
1503 {
1504 // 5 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001505 { 218, 69, 62, 106, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1506 { 76, 143, 89, 127, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1507 { 21, 233, 94, 131, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1508 { 172, 72, 89, 112, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1509 { 253, 66, 65, 128, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001510 },
1511 {
1512 // 6 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001513 { 190, 60, 47, 54, 74, UNUSED_PROB, UNUSED_PROB },
1514 { 62, 106, 51, 95, 110, UNUSED_PROB, UNUSED_PROB },
1515 { 52, 180, 69, 72, 107, UNUSED_PROB, UNUSED_PROB },
1516 { 156, 83, 72, 83, 101, UNUSED_PROB, UNUSED_PROB },
1517 { 245, 45, 37, 52, 91, UNUSED_PROB, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001518 },
1519 {
1520 // 7 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001521 { 206, 56, 42, 42, 53, 85, UNUSED_PROB },
1522 { 70, 100, 45, 68, 77, 94, UNUSED_PROB },
1523 { 57, 169, 51, 62, 74, 119, UNUSED_PROB },
1524 { 172, 76, 71, 40, 59, 76, UNUSED_PROB },
1525 { 248, 47, 36, 53, 61, 110, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001526 },
1527 {
1528 // 8 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001529 { 208, 52, 38, 34, 34, 44, 66 },
1530 { 52, 107, 34, 73, 69, 82, 87 },
1531 { 28, 208, 53, 43, 62, 70, 102 },
1532 { 184, 64, 45, 37, 37, 69, 105 },
1533 { 251, 18, 31, 45, 47, 61, 104 },
1534 },
1535 };
1536
Urvang Joshi23a61112017-01-30 14:59:27 -08001537const aom_prob av1_default_palette_uv_color_index_prob
Alex Converse92109812017-02-22 10:21:40 -08001538 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][PALETTE_COLORS - 1] = {
Urvang Joshi199a2f42017-01-23 15:02:07 -08001539 {
1540 // 2 colors
1541 { 233, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1542 UNUSED_PROB, UNUSED_PROB },
1543 { UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1544 UNUSED_PROB, UNUSED_PROB },
1545 { 69, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1546 UNUSED_PROB },
1547 { 240, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1548 UNUSED_PROB, UNUSED_PROB },
1549 { 248, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1550 UNUSED_PROB, UNUSED_PROB },
1551 },
1552 {
1553 // 3 colors
1554 { 216, 128, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1555 UNUSED_PROB },
1556 { 110, 171, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1557 UNUSED_PROB },
1558 { 40, 239, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1559 UNUSED_PROB },
1560 { 191, 104, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1561 UNUSED_PROB },
1562 { 247, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1563 UNUSED_PROB },
1564 },
1565 {
1566 // 4 colors
1567 { 202, 89, 132, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1568 { 90, 132, 136, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1569 { 63, 195, 149, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1570 { 152, 84, 152, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1571 { 241, 87, 136, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1572 },
1573 {
1574 // 5 colors
1575 { 209, 54, 82, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1576 { 94, 173, 180, 93, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1577 { 10, 251, 127, 84, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1578 { 183, 20, 150, 47, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1579 { 252, 73, 111, 150, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1580 },
1581 {
1582 // 6 colors
1583 { 192, 67, 59, 46, 184, UNUSED_PROB, UNUSED_PROB },
1584 { 59, 92, 61, 100, 130, UNUSED_PROB, UNUSED_PROB },
1585 { 49, 162, 68, 91, 150, UNUSED_PROB, UNUSED_PROB },
1586 { 133, 29, 36, 153, 101, UNUSED_PROB, UNUSED_PROB },
1587 { 247, 71, 44, 90, 129, UNUSED_PROB, UNUSED_PROB },
1588 },
1589 {
1590 // 7 colors
1591 { 182, 62, 80, 78, 46, 116, UNUSED_PROB },
1592 { 59, 62, 39, 81, 65, 99, UNUSED_PROB },
1593 { 54, 177, 48, 58, 93, 104, UNUSED_PROB },
1594 { 137, 79, 54, 55, 44, 134, UNUSED_PROB },
1595 { 239, 82, 79, 44, 69, 71, UNUSED_PROB },
1596 },
1597 {
1598 // 8 colors
1599 { 172, 53, 27, 67, 30, 79, 113 },
1600 { 63, 57, 45, 81, 62, 35, 47 },
1601 { 51, 200, 36, 47, 82, 165, 129 },
1602 { 141, 100, 47, 29, 33, 37, 129 },
1603 { 236, 42, 50, 91, 24, 154, 65 },
1604 },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001605 };
1606
1607#undef UNUSED_PROB
Yaowu Xuc27fc142016-08-22 16:08:15 -07001608
Urvang Joshicdbe7082017-01-26 13:06:49 -08001609#define MAX_COLOR_CONTEXT_HASH 8
1610// Negative values are invalid
Urvang Joshi23a61112017-01-30 14:59:27 -08001611static const int palette_color_index_context_lookup[MAX_COLOR_CONTEXT_HASH +
1612 1] = { -1, -1, 0, -1, -1,
1613 4, 3, 2, 1 };
Urvang Joshicdbe7082017-01-26 13:06:49 -08001614
Urvang Joshib100db72016-10-12 16:28:56 -07001615#endif // CONFIG_PALETTE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001616
Jingning Hanb4329a22016-11-22 16:20:13 -08001617// The transform size is coded as an offset to the smallest transform
1618// block size.
Jingning Han607fa6a2016-10-26 10:46:28 -07001619const aom_tree_index av1_tx_size_tree[MAX_TX_DEPTH][TREE_SIZE(TX_SIZES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001620 {
1621 // Max tx_size is 8X8
Jingning Hanb4329a22016-11-22 16:20:13 -08001622 -0, -1,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001623 },
1624 {
1625 // Max tx_size is 16X16
Jingning Hanb4329a22016-11-22 16:20:13 -08001626 -0, 2, -1, -2,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001627 },
1628 {
1629 // Max tx_size is 32X32
Jingning Hanb4329a22016-11-22 16:20:13 -08001630 -0, 2, -1, 4, -2, -3,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001631 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001632#if CONFIG_TX64X64
Debargha Mukherjee25ed5302016-11-22 12:13:41 -08001633 {
1634 // Max tx_size is 64X64
Jingning Hanb4329a22016-11-22 16:20:13 -08001635 -0, 2, -1, 4, -2, 6, -3, -4,
Debargha Mukherjee25ed5302016-11-22 12:13:41 -08001636 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001637#endif // CONFIG_TX64X64
Yaowu Xuc27fc142016-08-22 16:08:15 -07001638};
1639
Jingning Hanaae72a62016-10-25 15:35:29 -07001640static const aom_prob default_tx_size_prob[MAX_TX_DEPTH][TX_SIZE_CONTEXTS]
1641 [MAX_TX_DEPTH] = {
clang-format67948d32016-09-07 22:40:40 -07001642 {
1643 // Max tx_size is 8X8
1644 { 100 },
1645 { 66 },
1646 },
1647 {
1648 // Max tx_size is 16X16
1649 { 20, 152 },
1650 { 15, 101 },
1651 },
1652 {
1653 // Max tx_size is 32X32
1654 { 3, 136, 37 },
1655 { 5, 52, 13 },
1656 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001657#if CONFIG_TX64X64
1658 {
1659 // Max tx_size is 64X64
1660 { 1, 64, 136, 127 },
1661 { 1, 32, 52, 67 },
1662 },
1663#endif // CONFIG_TX64X64
clang-format67948d32016-09-07 22:40:40 -07001664 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001665
Yue Chen56e226e2017-05-02 16:21:40 -07001666#if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
1667static const aom_prob default_quarter_tx_size_prob = 192;
1668#endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
1669
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07001670#if CONFIG_LOOP_RESTORATION
Debargha Mukherjeeb3c43bc2017-02-01 13:09:03 -08001671const aom_tree_index
1672 av1_switchable_restore_tree[TREE_SIZE(RESTORE_SWITCHABLE_TYPES)] = {
1673 -RESTORE_NONE, 2, -RESTORE_WIENER, -RESTORE_SGRPROJ,
1674 };
1675
1676static const aom_prob
1677 default_switchable_restore_prob[RESTORE_SWITCHABLE_TYPES - 1] = {
1678 32, 128,
1679 };
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07001680#endif // CONFIG_LOOP_RESTORATION
1681
Urvang Joshib100db72016-10-12 16:28:56 -07001682#if CONFIG_PALETTE
Urvang Joshi23a61112017-01-30 14:59:27 -08001683#define NUM_PALETTE_NEIGHBORS 3 // left, top-left and top.
1684int av1_get_palette_color_index_context(const uint8_t *color_map, int stride,
1685 int r, int c, int palette_size,
1686 uint8_t *color_order, int *color_idx) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001687 int i;
1688 // The +10 below should not be needed. But we get a warning "array subscript
1689 // is above array bounds [-Werror=array-bounds]" without it, possibly due to
1690 // this (or similar) bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124
Yaowu Xuc27fc142016-08-22 16:08:15 -07001691 int scores[PALETTE_MAX_SIZE + 10];
Urvang Joshicdbe7082017-01-26 13:06:49 -08001692 const int weights[NUM_PALETTE_NEIGHBORS] = { 2, 1, 2 };
1693 const int hash_multipliers[NUM_PALETTE_NEIGHBORS] = { 1, 2, 2 };
Urvang Joshi23a61112017-01-30 14:59:27 -08001694 int color_index_ctx_hash;
1695 int color_index_ctx;
Urvang Joshicdbe7082017-01-26 13:06:49 -08001696 int color_neighbors[NUM_PALETTE_NEIGHBORS];
Urvang Joshi967ff392016-09-07 14:57:49 -07001697 int inverse_color_order[PALETTE_MAX_SIZE];
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001698 assert(palette_size <= PALETTE_MAX_SIZE);
Urvang Joshicdbe7082017-01-26 13:06:49 -08001699 assert(r > 0 || c > 0);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001700
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001701 // Get color indices of neighbors.
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001702 color_neighbors[0] = (c - 1 >= 0) ? color_map[r * stride + c - 1] : -1;
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001703 color_neighbors[1] =
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001704 (c - 1 >= 0 && r - 1 >= 0) ? color_map[(r - 1) * stride + c - 1] : -1;
1705 color_neighbors[2] = (r - 1 >= 0) ? color_map[(r - 1) * stride + c] : -1;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001706
Urvang Joshi967ff392016-09-07 14:57:49 -07001707 for (i = 0; i < PALETTE_MAX_SIZE; ++i) {
1708 color_order[i] = i;
1709 inverse_color_order[i] = i;
1710 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001711 memset(scores, 0, PALETTE_MAX_SIZE * sizeof(scores[0]));
Urvang Joshicdbe7082017-01-26 13:06:49 -08001712 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001713 if (color_neighbors[i] >= 0) {
1714 scores[color_neighbors[i]] += weights[i];
1715 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001716 }
1717
Urvang Joshicdbe7082017-01-26 13:06:49 -08001718 // Get the top NUM_PALETTE_NEIGHBORS scores (sorted from large to small).
1719 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001720 int max = scores[i];
1721 int max_idx = i;
1722 int j;
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001723 for (j = i + 1; j < palette_size; ++j) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001724 if (scores[j] > max) {
1725 max = scores[j];
1726 max_idx = j;
1727 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001728 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001729 if (max_idx != i) {
Urvang Joshif1c06a72017-01-09 14:46:51 -08001730 // Move the score at index 'max_idx' to index 'i', and shift the scores
1731 // from 'i' to 'max_idx - 1' by 1.
1732 const int max_score = scores[max_idx];
1733 const uint8_t max_color_order = color_order[max_idx];
1734 int k;
1735 for (k = max_idx; k > i; --k) {
1736 scores[k] = scores[k - 1];
1737 color_order[k] = color_order[k - 1];
1738 inverse_color_order[color_order[k]] = k;
1739 }
1740 scores[i] = max_score;
1741 color_order[i] = max_color_order;
Urvang Joshi967ff392016-09-07 14:57:49 -07001742 inverse_color_order[color_order[i]] = i;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001743 }
1744 }
1745
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001746 // Get hash value of context.
Urvang Joshi23a61112017-01-30 14:59:27 -08001747 color_index_ctx_hash = 0;
Urvang Joshicdbe7082017-01-26 13:06:49 -08001748 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi23a61112017-01-30 14:59:27 -08001749 color_index_ctx_hash += scores[i] * hash_multipliers[i];
Urvang Joshicdbe7082017-01-26 13:06:49 -08001750 }
Urvang Joshi23a61112017-01-30 14:59:27 -08001751 assert(color_index_ctx_hash > 0);
1752 assert(color_index_ctx_hash <= MAX_COLOR_CONTEXT_HASH);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001753
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001754 // Lookup context from hash.
Urvang Joshi23a61112017-01-30 14:59:27 -08001755 color_index_ctx = palette_color_index_context_lookup[color_index_ctx_hash];
1756 assert(color_index_ctx >= 0);
1757 assert(color_index_ctx < PALETTE_COLOR_INDEX_CONTEXTS);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001758
Urvang Joshi967ff392016-09-07 14:57:49 -07001759 if (color_idx != NULL) {
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001760 *color_idx = inverse_color_order[color_map[r * stride + c]];
Urvang Joshi967ff392016-09-07 14:57:49 -07001761 }
Urvang Joshi23a61112017-01-30 14:59:27 -08001762 return color_index_ctx;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001763}
Urvang Joshicdbe7082017-01-26 13:06:49 -08001764#undef NUM_PALETTE_NEIGHBORS
1765#undef MAX_COLOR_CONTEXT_HASH
1766
Urvang Joshib100db72016-10-12 16:28:56 -07001767#endif // CONFIG_PALETTE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001768
1769#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07001770static const aom_prob default_txfm_partition_probs[TXFM_PARTITION_CONTEXTS] = {
Jingning Hanc8b89362016-11-01 10:28:53 -07001771 250, 231, 212, 241, 166, 66, 241, 230, 135, 243, 154, 64, 248, 161, 63, 128,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001772};
1773#endif
1774
Yaowu Xuf883b422016-08-30 14:01:10 -07001775static const aom_prob default_skip_probs[SKIP_CONTEXTS] = { 192, 128, 64 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001776
Angie Chiang1733f6b2017-01-05 09:52:20 -08001777#if CONFIG_DUAL_FILTER
clang-format55ce9e02017-02-15 22:27:12 -08001778static const aom_prob default_switchable_interp_prob
1779 [SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
1780 { 235, 192, 128 }, { 36, 243, 48 }, { 34, 16, 128 },
1781 { 34, 16, 128 }, { 149, 160, 128 }, { 235, 192, 128 },
1782 { 36, 243, 48 }, { 34, 16, 128 }, { 34, 16, 128 },
1783 { 149, 160, 128 }, { 235, 192, 128 }, { 36, 243, 48 },
1784 { 34, 16, 128 }, { 34, 16, 128 }, { 149, 160, 128 },
1785 { 235, 192, 128 }, { 36, 243, 48 }, { 34, 16, 128 },
1786 { 34, 16, 128 }, { 149, 160, 128 },
1787 };
Angie Chiang1733f6b2017-01-05 09:52:20 -08001788#else // CONFIG_DUAL_FILTER
clang-format67948d32016-09-07 22:40:40 -07001789static const aom_prob default_switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS]
1790 [SWITCHABLE_FILTERS - 1] = {
1791 { 235, 162 },
1792 { 36, 255 },
1793 { 34, 3 },
1794 { 149, 144 },
1795 };
Angie Chiang1733f6b2017-01-05 09:52:20 -08001796#endif // CONFIG_DUAL_FILTER
Yaowu Xuc27fc142016-08-22 16:08:15 -07001797
1798#if CONFIG_EXT_TX
1799/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07001800const aom_tree_index av1_ext_tx_inter_tree[EXT_TX_SETS_INTER]
Yaowu Xuc27fc142016-08-22 16:08:15 -07001801 [TREE_SIZE(TX_TYPES)] = {
1802 { // ToDo(yaowu): remove used entry 0.
1803 0
1804 }, {
1805 -IDTX, 2,
1806 4, 14,
1807 6, 8,
1808 -V_DCT, -H_DCT,
1809 10, 12,
1810 -V_ADST, -H_ADST,
1811 -V_FLIPADST, -H_FLIPADST,
1812 -DCT_DCT, 16,
1813 18, 24,
1814 20, 22,
1815 -ADST_DCT, -DCT_ADST,
1816 -FLIPADST_DCT, -DCT_FLIPADST,
1817 26, 28,
1818 -ADST_ADST, -FLIPADST_FLIPADST,
1819 -ADST_FLIPADST, -FLIPADST_ADST
1820 }, {
1821 -IDTX, 2,
1822 4, 6,
1823 -V_DCT, -H_DCT,
1824 -DCT_DCT, 8,
1825 10, 16,
1826 12, 14,
1827 -ADST_DCT, -DCT_ADST,
1828 -FLIPADST_DCT, -DCT_FLIPADST,
1829 18, 20,
1830 -ADST_ADST, -FLIPADST_FLIPADST,
1831 -ADST_FLIPADST, -FLIPADST_ADST
1832 }, {
1833 -IDTX, -DCT_DCT,
1834 }
1835};
1836
Yaowu Xuf883b422016-08-30 14:01:10 -07001837const aom_tree_index av1_ext_tx_intra_tree[EXT_TX_SETS_INTRA]
Yaowu Xuc27fc142016-08-22 16:08:15 -07001838 [TREE_SIZE(TX_TYPES)] = {
1839 { // ToDo(yaowu): remove unused entry 0.
1840 0
1841 }, {
1842 -IDTX, 2,
1843 -DCT_DCT, 4,
1844 6, 8,
1845 -V_DCT, -H_DCT,
1846 -ADST_ADST, 10,
1847 -ADST_DCT, -DCT_ADST,
1848 }, {
1849 -IDTX, 2,
1850 -DCT_DCT, 4,
1851 -ADST_ADST, 6,
1852 -ADST_DCT, -DCT_ADST,
1853 }
1854};
1855/* clang-format on */
1856
Yaowu Xuf883b422016-08-30 14:01:10 -07001857static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -07001858 default_inter_ext_tx_prob[EXT_TX_SETS_INTER][EXT_TX_SIZES][TX_TYPES - 1] = {
1859 {
Jingning Han1a00cff2016-12-28 14:53:14 -08001860// ToDo(yaowu): remove unused entry 0.
1861#if CONFIG_CB4X4
1862 { 0 },
1863#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001864 { 0 },
1865 { 0 },
1866 { 0 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001867 { 0 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001868 },
1869 {
Jingning Han1a00cff2016-12-28 14:53:14 -08001870#if CONFIG_CB4X4
1871 { 0 },
1872#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001873 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1874 128 },
1875 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1876 128 },
1877 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1878 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001879 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1880 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001881 },
1882 {
Jingning Han1a00cff2016-12-28 14:53:14 -08001883#if CONFIG_CB4X4
1884 { 0 },
1885#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001886 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
1887 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
1888 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001889 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001890 },
1891 {
Jingning Han1a00cff2016-12-28 14:53:14 -08001892#if CONFIG_CB4X4
1893 { 0 },
1894#endif
1895 { 12 },
1896 { 12 },
1897 { 12 },
1898 { 12 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001899 }
1900 };
1901
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001902// TODO(urvang): 3rd context should be tx_type instead of intra mode just like
1903// the baseline.
clang-format67948d32016-09-07 22:40:40 -07001904static const aom_prob
1905 default_intra_ext_tx_prob[EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES]
1906 [TX_TYPES - 1] = {
1907 {
Jingning Han1a00cff2016-12-28 14:53:14 -08001908// ToDo(yaowu): remove unused entry 0.
1909#if CONFIG_CB4X4
1910 {
1911 { 0 },
1912 },
1913#endif
clang-format67948d32016-09-07 22:40:40 -07001914 {
1915 { 0 },
1916 { 0 },
1917 { 0 },
1918 { 0 },
1919 { 0 },
1920 { 0 },
1921 { 0 },
1922 { 0 },
1923 { 0 },
1924 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001925#if CONFIG_ALT_INTRA
1926 { 0 },
1927#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07001928 },
1929 {
1930 { 0 },
1931 { 0 },
1932 { 0 },
1933 { 0 },
1934 { 0 },
1935 { 0 },
1936 { 0 },
1937 { 0 },
1938 { 0 },
1939 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001940#if CONFIG_ALT_INTRA
1941 { 0 },
1942#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07001943 },
1944 {
1945 { 0 },
1946 { 0 },
1947 { 0 },
1948 { 0 },
1949 { 0 },
1950 { 0 },
1951 { 0 },
1952 { 0 },
1953 { 0 },
1954 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001955#if CONFIG_ALT_INTRA
1956 { 0 },
1957#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07001958 },
1959 {
1960 { 0 },
1961 { 0 },
1962 { 0 },
1963 { 0 },
1964 { 0 },
1965 { 0 },
1966 { 0 },
1967 { 0 },
1968 { 0 },
1969 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001970#if CONFIG_ALT_INTRA
1971 { 0 },
1972#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07001973 },
1974 },
1975 {
Jingning Han1a00cff2016-12-28 14:53:14 -08001976#if CONFIG_CB4X4
1977 {
1978 { 0 },
1979 },
1980#endif
clang-format67948d32016-09-07 22:40:40 -07001981 {
1982 { 8, 224, 32, 128, 64, 128 },
1983 { 10, 32, 32, 128, 16, 192 },
1984 { 10, 32, 32, 128, 16, 64 },
1985 { 9, 200, 32, 128, 64, 128 },
1986 { 8, 8, 32, 128, 224, 128 },
1987 { 10, 32, 32, 128, 16, 192 },
1988 { 10, 32, 32, 128, 16, 64 },
1989 { 10, 23, 32, 128, 80, 176 },
1990 { 10, 23, 32, 128, 80, 176 },
1991 { 10, 32, 32, 128, 16, 64 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001992#if CONFIG_ALT_INTRA
1993 { 10, 32, 32, 128, 16, 64 },
1994#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07001995 },
1996 {
1997 { 8, 224, 32, 128, 64, 128 },
1998 { 10, 32, 32, 128, 16, 192 },
1999 { 10, 32, 32, 128, 16, 64 },
2000 { 9, 200, 32, 128, 64, 128 },
2001 { 8, 8, 32, 128, 224, 128 },
2002 { 10, 32, 32, 128, 16, 192 },
2003 { 10, 32, 32, 128, 16, 64 },
2004 { 10, 23, 32, 128, 80, 176 },
2005 { 10, 23, 32, 128, 80, 176 },
2006 { 10, 32, 32, 128, 16, 64 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002007#if CONFIG_ALT_INTRA
2008 { 10, 32, 32, 128, 16, 64 },
2009#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07002010 },
2011 {
2012 { 8, 224, 32, 128, 64, 128 },
2013 { 10, 32, 32, 128, 16, 192 },
2014 { 10, 32, 32, 128, 16, 64 },
2015 { 9, 200, 32, 128, 64, 128 },
2016 { 8, 8, 32, 128, 224, 128 },
2017 { 10, 32, 32, 128, 16, 192 },
2018 { 10, 32, 32, 128, 16, 64 },
2019 { 10, 23, 32, 128, 80, 176 },
2020 { 10, 23, 32, 128, 80, 176 },
2021 { 10, 32, 32, 128, 16, 64 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002022#if CONFIG_ALT_INTRA
2023 { 10, 32, 32, 128, 16, 64 },
2024#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07002025 },
2026 {
2027 { 8, 224, 32, 128, 64, 128 },
2028 { 10, 32, 32, 128, 16, 192 },
2029 { 10, 32, 32, 128, 16, 64 },
2030 { 9, 200, 32, 128, 64, 128 },
2031 { 8, 8, 32, 128, 224, 128 },
2032 { 10, 32, 32, 128, 16, 192 },
2033 { 10, 32, 32, 128, 16, 64 },
2034 { 10, 23, 32, 128, 80, 176 },
2035 { 10, 23, 32, 128, 80, 176 },
2036 { 10, 32, 32, 128, 16, 64 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002037#if CONFIG_ALT_INTRA
2038 { 10, 32, 32, 128, 16, 64 },
2039#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07002040 },
2041 },
2042 {
Jingning Han1a00cff2016-12-28 14:53:14 -08002043#if CONFIG_CB4X4
2044 {
2045 { 0 },
2046 },
2047#endif
clang-format67948d32016-09-07 22:40:40 -07002048 {
2049 { 8, 224, 64, 128 },
2050 { 10, 32, 16, 192 },
2051 { 10, 32, 16, 64 },
2052 { 9, 200, 64, 128 },
2053 { 8, 8, 224, 128 },
2054 { 10, 32, 16, 192 },
2055 { 10, 32, 16, 64 },
2056 { 10, 23, 80, 176 },
2057 { 10, 23, 80, 176 },
2058 { 10, 32, 16, 64 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002059#if CONFIG_ALT_INTRA
2060 { 10, 32, 16, 64 },
2061#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07002062 },
2063 {
2064 { 8, 224, 64, 128 },
2065 { 10, 32, 16, 192 },
2066 { 10, 32, 16, 64 },
2067 { 9, 200, 64, 128 },
2068 { 8, 8, 224, 128 },
2069 { 10, 32, 16, 192 },
2070 { 10, 32, 16, 64 },
2071 { 10, 23, 80, 176 },
2072 { 10, 23, 80, 176 },
2073 { 10, 32, 16, 64 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002074#if CONFIG_ALT_INTRA
2075 { 10, 32, 16, 64 },
2076#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07002077 },
2078 {
2079 { 8, 224, 64, 128 },
2080 { 10, 32, 16, 192 },
2081 { 10, 32, 16, 64 },
2082 { 9, 200, 64, 128 },
2083 { 8, 8, 224, 128 },
2084 { 10, 32, 16, 192 },
2085 { 10, 32, 16, 64 },
2086 { 10, 23, 80, 176 },
2087 { 10, 23, 80, 176 },
2088 { 10, 32, 16, 64 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002089#if CONFIG_ALT_INTRA
2090 { 10, 32, 16, 64 },
2091#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07002092 },
2093 {
2094 { 8, 224, 64, 128 },
2095 { 10, 32, 16, 192 },
2096 { 10, 32, 16, 64 },
2097 { 9, 200, 64, 128 },
2098 { 8, 8, 224, 128 },
2099 { 10, 32, 16, 192 },
2100 { 10, 32, 16, 64 },
2101 { 10, 23, 80, 176 },
2102 { 10, 23, 80, 176 },
2103 { 10, 32, 16, 64 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002104#if CONFIG_ALT_INTRA
2105 { 10, 32, 16, 64 },
2106#endif // CONFIG_ALT_INTRA
clang-format67948d32016-09-07 22:40:40 -07002107 },
2108 },
2109 };
Zoe Liu7f24e1b2017-03-17 17:42:05 -07002110#else // !CONFIG_EXT_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07002111
2112/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07002113const aom_tree_index av1_ext_tx_tree[TREE_SIZE(TX_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002114 -DCT_DCT, 2,
2115 -ADST_ADST, 4,
2116 -ADST_DCT, -DCT_ADST
2117};
2118/* clang-format on */
2119
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04002120int av1_ext_tx_ind[TX_TYPES];
2121int av1_ext_tx_inv[TX_TYPES];
2122
Yaowu Xuf883b422016-08-30 14:01:10 -07002123static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -07002124 default_intra_ext_tx_prob[EXT_TX_SIZES][TX_TYPES][TX_TYPES - 1] = {
Jingning Han607fa6a2016-10-26 10:46:28 -07002125#if CONFIG_CB4X4
2126 { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
2127#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07002128 { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
2129 { { 244, 85, 128 }, { 8, 2, 248 }, { 8, 2, 8 }, { 8, 248, 128 } },
2130 { { 248, 85, 128 }, { 16, 4, 248 }, { 16, 4, 8 }, { 16, 248, 128 } },
2131 };
2132
Yaowu Xuf883b422016-08-30 14:01:10 -07002133static const aom_prob default_inter_ext_tx_prob[EXT_TX_SIZES][TX_TYPES - 1] = {
Jingning Han607fa6a2016-10-26 10:46:28 -07002134#if CONFIG_CB4X4
2135 { 160, 85, 128 },
2136#endif
2137 { 160, 85, 128 },
2138 { 176, 85, 128 },
2139 { 192, 85, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002140};
2141#endif // CONFIG_EXT_TX
2142
hui sub4e25d22017-03-09 15:32:30 -08002143#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
clang-format55ce9e02017-02-15 22:27:12 -08002144static const aom_prob
2145 default_intra_filter_probs[INTRA_FILTERS + 1][INTRA_FILTERS - 1] = {
2146 { 98, 63, 60 }, { 98, 82, 80 }, { 94, 65, 103 },
2147 { 49, 25, 24 }, { 72, 38, 50 },
2148 };
Yaowu Xuf883b422016-08-30 14:01:10 -07002149const aom_tree_index av1_intra_filter_tree[TREE_SIZE(INTRA_FILTERS)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002150 -INTRA_FILTER_LINEAR, 2, -INTRA_FILTER_8TAP, 4, -INTRA_FILTER_8TAP_SHARP,
2151 -INTRA_FILTER_8TAP_SMOOTH,
2152};
hui sub4e25d22017-03-09 15:32:30 -08002153#if CONFIG_EC_MULTISYMBOL
2154int av1_intra_filter_ind[INTRA_FILTERS];
2155int av1_intra_filter_inv[INTRA_FILTERS];
2156#endif // CONFIG_EC_MULTISYMBOL
2157#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07002158
hui su5db97432016-10-14 16:10:14 -07002159#if CONFIG_FILTER_INTRA
2160static const aom_prob default_filter_intra_probs[2] = { 230, 230 };
2161#endif // CONFIG_FILTER_INTRA
2162
Yaowu Xuc27fc142016-08-22 16:08:15 -07002163#if CONFIG_SUPERTX
clang-format55ce9e02017-02-15 22:27:12 -08002164static const aom_prob
2165 default_supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES] = {
Jingning Hanfeb517c2016-12-21 16:02:07 -08002166#if CONFIG_CB4X4
2167#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002168 { 1, 1, 160, 160, 170, 180 }, { 1, 1, 200, 200, 210, 220 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002169#else
clang-format55ce9e02017-02-15 22:27:12 -08002170 { 1, 1, 160, 160, 170 }, { 1, 1, 200, 200, 210 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002171#endif // CONFIG_TX64X64
2172#else
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002173#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002174 { 1, 160, 160, 170, 180 }, { 1, 200, 200, 210, 220 },
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002175#else
clang-format55ce9e02017-02-15 22:27:12 -08002176 { 1, 160, 160, 170 }, { 1, 200, 200, 210 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002177#endif // CONFIG_CB4X4
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002178#endif // CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002179 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07002180#endif // CONFIG_SUPERTX
2181
2182// FIXME(someone) need real defaults here
Nathan E. Eggef627e582016-08-19 20:06:51 -04002183static const aom_prob default_segment_tree_probs[SEG_TREE_PROBS] = {
2184 128, 128, 128, 128, 128, 128, 128
Yaowu Xuc27fc142016-08-22 16:08:15 -07002185};
Nathan E. Eggef627e582016-08-19 20:06:51 -04002186// clang-format off
2187static const aom_prob default_segment_pred_probs[PREDICTION_PROBS] = {
2188 128, 128, 128
2189};
2190// clang-format on
Yaowu Xuc27fc142016-08-22 16:08:15 -07002191
Thomas Davies1d7db722017-02-22 11:15:00 +00002192#if CONFIG_EC_MULTISYMBOL
Thomas Davies4ba27d02017-04-05 11:43:36 +01002193#if CONFIG_DUAL_FILTER
2194static const aom_cdf_prob
2195 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2196 SWITCHABLE_FILTERS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002197 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2198 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2199 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2200 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2201 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2202 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2203 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2204 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2205 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2206 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2207 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2208 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2209 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2210 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2211 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2212 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2213 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2214 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2215 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2216 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 }
Thomas Davies4ba27d02017-04-05 11:43:36 +01002217 };
2218#else
Thomas Davies1d7db722017-02-22 11:15:00 +00002219static const aom_cdf_prob
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002220 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2221 SWITCHABLE_FILTERS)] = {
2222 { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
2223 { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
2224 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
2225 { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
2226 };
Thomas Davies4ba27d02017-04-05 11:43:36 +01002227#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00002228
2229static const aom_cdf_prob default_seg_tree_cdf[CDF_SIZE(MAX_SEGMENTS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002230 AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288),
2231 AOM_ICDF(16384), AOM_ICDF(20480), AOM_ICDF(24576),
2232 AOM_ICDF(28672), AOM_ICDF(32768), 0
Thomas Davies1d7db722017-02-22 11:15:00 +00002233};
2234
2235static const aom_cdf_prob
2236 default_tx_size_cdf[MAX_TX_DEPTH][TX_SIZE_CONTEXTS][CDF_SIZE(MAX_TX_DEPTH +
2237 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002238 { { AOM_ICDF(12800), AOM_ICDF(32768), 0 },
2239 { AOM_ICDF(8448), AOM_ICDF(32768), 0 } },
2240 { { AOM_ICDF(2560), AOM_ICDF(20496), AOM_ICDF(32768), 0 },
2241 { AOM_ICDF(1920), AOM_ICDF(14091), AOM_ICDF(32768), 0 } },
2242 { { AOM_ICDF(384), AOM_ICDF(17588), AOM_ICDF(19782), AOM_ICDF(32768), 0 },
2243 { AOM_ICDF(640), AOM_ICDF(7166), AOM_ICDF(8466), AOM_ICDF(32768), 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002244#if CONFIG_TX64X64
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002245 { { AOM_ICDF(128), AOM_ICDF(8288), AOM_ICDF(21293), AOM_ICDF(26986),
2246 AOM_ICDF(32768), 0 },
2247 { AOM_ICDF(128), AOM_ICDF(4208), AOM_ICDF(10009), AOM_ICDF(15965),
2248 AOM_ICDF(32768), 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002249#endif
2250 };
2251
Urvang Joshi63234542017-03-10 12:04:03 -08002252#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002253#if CONFIG_SMOOTH_HV
2254static const aom_cdf_prob
2255 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2256 { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(11980), AOM_ICDF(15213),
2257 AOM_ICDF(18579), AOM_ICDF(21075), AOM_ICDF(24090), AOM_ICDF(25954),
2258 AOM_ICDF(27870), AOM_ICDF(29439), AOM_ICDF(31051), AOM_ICDF(31863),
2259 AOM_ICDF(32768), 0 },
2260 { AOM_ICDF(11776), AOM_ICDF(21616), AOM_ICDF(23663), AOM_ICDF(25147),
2261 AOM_ICDF(26060), AOM_ICDF(26828), AOM_ICDF(27246), AOM_ICDF(28066),
2262 AOM_ICDF(28654), AOM_ICDF(29474), AOM_ICDF(31353), AOM_ICDF(32038),
2263 AOM_ICDF(32768), 0 },
2264 { AOM_ICDF(14720), AOM_ICDF(21911), AOM_ICDF(23650), AOM_ICDF(25282),
2265 AOM_ICDF(25740), AOM_ICDF(26108), AOM_ICDF(26316), AOM_ICDF(26896),
2266 AOM_ICDF(27194), AOM_ICDF(27695), AOM_ICDF(30113), AOM_ICDF(31254),
2267 AOM_ICDF(32768), 0 },
2268 { AOM_ICDF(18944), AOM_ICDF(27422), AOM_ICDF(28403), AOM_ICDF(29386),
2269 AOM_ICDF(29405), AOM_ICDF(29460), AOM_ICDF(29550), AOM_ICDF(29588),
2270 AOM_ICDF(29600), AOM_ICDF(29637), AOM_ICDF(30542), AOM_ICDF(31298),
2271 AOM_ICDF(32768), 0 },
2272 };
2273
2274static const aom_cdf_prob
2275 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
2276 { AOM_ICDF(23552), AOM_ICDF(23660), AOM_ICDF(26044), AOM_ICDF(28731),
2277 AOM_ICDF(29093), AOM_ICDF(29590), AOM_ICDF(30000), AOM_ICDF(30465),
2278 AOM_ICDF(30825), AOM_ICDF(31478), AOM_ICDF(32088), AOM_ICDF(32401),
2279 AOM_ICDF(32768), 0 },
2280 { AOM_ICDF(2944), AOM_ICDF(3294), AOM_ICDF(26781), AOM_ICDF(27903),
2281 AOM_ICDF(28179), AOM_ICDF(29237), AOM_ICDF(29430), AOM_ICDF(30317),
2282 AOM_ICDF(30441), AOM_ICDF(30614), AOM_ICDF(31556), AOM_ICDF(31963),
2283 AOM_ICDF(32768), 0 },
2284 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(5453), AOM_ICDF(28285),
2285 AOM_ICDF(28641), AOM_ICDF(28927), AOM_ICDF(29092), AOM_ICDF(29279),
2286 AOM_ICDF(30083), AOM_ICDF(31384), AOM_ICDF(32027), AOM_ICDF(32406),
2287 AOM_ICDF(32768), 0 },
2288 { AOM_ICDF(17664), AOM_ICDF(17841), AOM_ICDF(20465), AOM_ICDF(22016),
2289 AOM_ICDF(22364), AOM_ICDF(22916), AOM_ICDF(27149), AOM_ICDF(29498),
2290 AOM_ICDF(29766), AOM_ICDF(31091), AOM_ICDF(31871), AOM_ICDF(32260),
2291 AOM_ICDF(32768), 0 },
2292 { AOM_ICDF(16640), AOM_ICDF(16766), AOM_ICDF(18516), AOM_ICDF(20359),
2293 AOM_ICDF(24964), AOM_ICDF(27591), AOM_ICDF(27915), AOM_ICDF(28389),
2294 AOM_ICDF(29997), AOM_ICDF(30495), AOM_ICDF(31623), AOM_ICDF(32151),
2295 AOM_ICDF(32768), 0 },
2296 { AOM_ICDF(13952), AOM_ICDF(14173), AOM_ICDF(18168), AOM_ICDF(19139),
2297 AOM_ICDF(21064), AOM_ICDF(30601), AOM_ICDF(30889), AOM_ICDF(31410),
2298 AOM_ICDF(31803), AOM_ICDF(32059), AOM_ICDF(32358), AOM_ICDF(32563),
2299 AOM_ICDF(32768), 0 },
2300 { AOM_ICDF(15872), AOM_ICDF(15938), AOM_ICDF(17056), AOM_ICDF(21545),
2301 AOM_ICDF(23947), AOM_ICDF(24667), AOM_ICDF(24920), AOM_ICDF(25196),
2302 AOM_ICDF(30638), AOM_ICDF(31229), AOM_ICDF(31968), AOM_ICDF(32284),
2303 AOM_ICDF(32768), 0 },
2304 { AOM_ICDF(16256), AOM_ICDF(16385), AOM_ICDF(17409), AOM_ICDF(23210),
2305 AOM_ICDF(23628), AOM_ICDF(24009), AOM_ICDF(24967), AOM_ICDF(25546),
2306 AOM_ICDF(26054), AOM_ICDF(31037), AOM_ICDF(31875), AOM_ICDF(32335),
2307 AOM_ICDF(32768), 0 },
2308 { AOM_ICDF(14720), AOM_ICDF(14932), AOM_ICDF(19461), AOM_ICDF(20713),
2309 AOM_ICDF(21073), AOM_ICDF(21852), AOM_ICDF(23430), AOM_ICDF(29631),
2310 AOM_ICDF(29876), AOM_ICDF(30520), AOM_ICDF(31591), AOM_ICDF(32078),
2311 AOM_ICDF(32768), 0 },
2312 { AOM_ICDF(16768), AOM_ICDF(17018), AOM_ICDF(20217), AOM_ICDF(22624),
2313 AOM_ICDF(23484), AOM_ICDF(23698), AOM_ICDF(24300), AOM_ICDF(25193),
2314 AOM_ICDF(25785), AOM_ICDF(26903), AOM_ICDF(29835), AOM_ICDF(31187),
2315 AOM_ICDF(32768), 0 },
2316 { AOM_ICDF(16768), AOM_ICDF(17081), AOM_ICDF(21064), AOM_ICDF(23339),
2317 AOM_ICDF(24047), AOM_ICDF(24264), AOM_ICDF(24829), AOM_ICDF(25759),
2318 AOM_ICDF(26224), AOM_ICDF(27119), AOM_ICDF(29833), AOM_ICDF(31599),
2319 AOM_ICDF(32768), 0 },
2320 { AOM_ICDF(17536), AOM_ICDF(17774), AOM_ICDF(20293), AOM_ICDF(23203),
2321 AOM_ICDF(23906), AOM_ICDF(24094), AOM_ICDF(24636), AOM_ICDF(25303),
2322 AOM_ICDF(26003), AOM_ICDF(27271), AOM_ICDF(29912), AOM_ICDF(30927),
2323 AOM_ICDF(32768), 0 },
2324 { AOM_ICDF(17536), AOM_ICDF(18250), AOM_ICDF(23467), AOM_ICDF(27840),
2325 AOM_ICDF(28058), AOM_ICDF(28626), AOM_ICDF(28853), AOM_ICDF(29541),
2326 AOM_ICDF(29907), AOM_ICDF(30600), AOM_ICDF(31515), AOM_ICDF(32049),
2327 AOM_ICDF(32768), 0 },
2328 };
2329#else // !CONFIG_SMOOTH_HV
Urvang Joshi63234542017-03-10 12:04:03 -08002330static const aom_cdf_prob
2331 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002332 { AOM_ICDF(11264), AOM_ICDF(12608), AOM_ICDF(16309), AOM_ICDF(21086),
2333 AOM_ICDF(23297), AOM_ICDF(24860), AOM_ICDF(27022), AOM_ICDF(28099),
2334 AOM_ICDF(29631), AOM_ICDF(31126), AOM_ICDF(32768), 0 },
2335 { AOM_ICDF(9600), AOM_ICDF(11953), AOM_ICDF(16100), AOM_ICDF(20922),
2336 AOM_ICDF(22756), AOM_ICDF(23913), AOM_ICDF(25435), AOM_ICDF(26724),
2337 AOM_ICDF(28046), AOM_ICDF(29927), AOM_ICDF(32768), 0 },
2338 { AOM_ICDF(9344), AOM_ICDF(11540), AOM_ICDF(16515), AOM_ICDF(21763),
2339 AOM_ICDF(23078), AOM_ICDF(23816), AOM_ICDF(24725), AOM_ICDF(25856),
2340 AOM_ICDF(26720), AOM_ICDF(28208), AOM_ICDF(32768), 0 },
2341 { AOM_ICDF(12288), AOM_ICDF(14448), AOM_ICDF(18026), AOM_ICDF(23346),
2342 AOM_ICDF(23833), AOM_ICDF(24188), AOM_ICDF(24724), AOM_ICDF(25415),
2343 AOM_ICDF(25817), AOM_ICDF(26876), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08002344 };
2345
2346static const aom_cdf_prob
2347 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002348 { AOM_ICDF(25472), AOM_ICDF(25558), AOM_ICDF(27783), AOM_ICDF(30779),
2349 AOM_ICDF(30988), AOM_ICDF(31269), AOM_ICDF(31492), AOM_ICDF(31741),
2350 AOM_ICDF(32014), AOM_ICDF(32420), AOM_ICDF(32768), 0 },
2351 { AOM_ICDF(2176), AOM_ICDF(2415), AOM_ICDF(28381), AOM_ICDF(29574),
2352 AOM_ICDF(29832), AOM_ICDF(30712), AOM_ICDF(30881), AOM_ICDF(31662),
2353 AOM_ICDF(31761), AOM_ICDF(31922), AOM_ICDF(32768), 0 },
2354 { AOM_ICDF(3328), AOM_ICDF(3443), AOM_ICDF(4016), AOM_ICDF(31099),
2355 AOM_ICDF(31272), AOM_ICDF(31420), AOM_ICDF(31504), AOM_ICDF(31608),
2356 AOM_ICDF(31916), AOM_ICDF(32598), AOM_ICDF(32768), 0 },
2357 { AOM_ICDF(23424), AOM_ICDF(23534), AOM_ICDF(25915), AOM_ICDF(27831),
2358 AOM_ICDF(28058), AOM_ICDF(28431), AOM_ICDF(30142), AOM_ICDF(31209),
2359 AOM_ICDF(31459), AOM_ICDF(32369), AOM_ICDF(32768), 0 },
2360 { AOM_ICDF(22784), AOM_ICDF(22862), AOM_ICDF(24255), AOM_ICDF(26287),
2361 AOM_ICDF(28490), AOM_ICDF(29509), AOM_ICDF(29776), AOM_ICDF(30115),
2362 AOM_ICDF(31203), AOM_ICDF(31674), AOM_ICDF(32768), 0 },
2363 { AOM_ICDF(19712), AOM_ICDF(19865), AOM_ICDF(23141), AOM_ICDF(24428),
2364 AOM_ICDF(25731), AOM_ICDF(31377), AOM_ICDF(31622), AOM_ICDF(32047),
2365 AOM_ICDF(32458), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
2366 { AOM_ICDF(21376), AOM_ICDF(21421), AOM_ICDF(22130), AOM_ICDF(27688),
2367 AOM_ICDF(28485), AOM_ICDF(28779), AOM_ICDF(28935), AOM_ICDF(29085),
2368 AOM_ICDF(31962), AOM_ICDF(32450), AOM_ICDF(32768), 0 },
2369 { AOM_ICDF(19712), AOM_ICDF(19814), AOM_ICDF(20725), AOM_ICDF(28510),
2370 AOM_ICDF(28814), AOM_ICDF(29099), AOM_ICDF(29457), AOM_ICDF(29729),
2371 AOM_ICDF(30133), AOM_ICDF(32408), AOM_ICDF(32768), 0 },
2372 { AOM_ICDF(19584), AOM_ICDF(19790), AOM_ICDF(23643), AOM_ICDF(25501),
2373 AOM_ICDF(25913), AOM_ICDF(26673), AOM_ICDF(27578), AOM_ICDF(30923),
2374 AOM_ICDF(31255), AOM_ICDF(31870), AOM_ICDF(32768), 0 },
2375 { AOM_ICDF(20864), AOM_ICDF(21004), AOM_ICDF(24129), AOM_ICDF(26308),
2376 AOM_ICDF(27062), AOM_ICDF(27065), AOM_ICDF(27488), AOM_ICDF(28045),
2377 AOM_ICDF(28506), AOM_ICDF(29272), AOM_ICDF(32768), 0 },
2378 { AOM_ICDF(23680), AOM_ICDF(23929), AOM_ICDF(27831), AOM_ICDF(30446),
2379 AOM_ICDF(30598), AOM_ICDF(31129), AOM_ICDF(31244), AOM_ICDF(31655),
2380 AOM_ICDF(31868), AOM_ICDF(32234), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08002381 };
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002382#endif // CONFIG_SMOOTH_HV
Zoe Liu7f24e1b2017-03-17 17:42:05 -07002383#else // !CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002384static const aom_cdf_prob
2385 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2386 { AOM_ICDF(8320), AOM_ICDF(11376), AOM_ICDF(12880), AOM_ICDF(19959),
2387 AOM_ICDF(23072), AOM_ICDF(24067), AOM_ICDF(25461), AOM_ICDF(26917),
2388 AOM_ICDF(29157), AOM_ICDF(32768), 0 },
2389 { AOM_ICDF(16896), AOM_ICDF(21112), AOM_ICDF(21932), AOM_ICDF(27852),
2390 AOM_ICDF(28667), AOM_ICDF(28916), AOM_ICDF(29593), AOM_ICDF(30089),
2391 AOM_ICDF(30905), AOM_ICDF(32768), 0 },
2392 { AOM_ICDF(22144), AOM_ICDF(25464), AOM_ICDF(26006), AOM_ICDF(30364),
2393 AOM_ICDF(30583), AOM_ICDF(30655), AOM_ICDF(31183), AOM_ICDF(31400),
2394 AOM_ICDF(31646), AOM_ICDF(32768), 0 },
2395 { AOM_ICDF(28288), AOM_ICDF(30650), AOM_ICDF(30964), AOM_ICDF(32288),
2396 AOM_ICDF(32308), AOM_ICDF(32331), AOM_ICDF(32495), AOM_ICDF(32586),
2397 AOM_ICDF(32607), AOM_ICDF(32768), 0 },
2398 };
Thomas Davies1d7db722017-02-22 11:15:00 +00002399
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002400static const aom_cdf_prob
2401 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
2402 { AOM_ICDF(15360), AOM_ICDF(15836), AOM_ICDF(20863), AOM_ICDF(27513),
2403 AOM_ICDF(28269), AOM_ICDF(29048), AOM_ICDF(29455), AOM_ICDF(30154),
2404 AOM_ICDF(31206), AOM_ICDF(32768), 0 },
2405 { AOM_ICDF(6144), AOM_ICDF(7392), AOM_ICDF(22657), AOM_ICDF(25981),
2406 AOM_ICDF(26965), AOM_ICDF(28779), AOM_ICDF(29309), AOM_ICDF(30890),
2407 AOM_ICDF(31763), AOM_ICDF(32768), 0 },
2408 { AOM_ICDF(8576), AOM_ICDF(9143), AOM_ICDF(11450), AOM_ICDF(27575),
2409 AOM_ICDF(28108), AOM_ICDF(28438), AOM_ICDF(28658), AOM_ICDF(28995),
2410 AOM_ICDF(30410), AOM_ICDF(32768), 0 },
2411 { AOM_ICDF(12416), AOM_ICDF(12814), AOM_ICDF(16244), AOM_ICDF(22057),
2412 AOM_ICDF(23492), AOM_ICDF(24700), AOM_ICDF(26213), AOM_ICDF(27954),
2413 AOM_ICDF(29778), AOM_ICDF(32768), 0 },
2414 { AOM_ICDF(10624), AOM_ICDF(11057), AOM_ICDF(14619), AOM_ICDF(19415),
2415 AOM_ICDF(23134), AOM_ICDF(25679), AOM_ICDF(26399), AOM_ICDF(27618),
2416 AOM_ICDF(30676), AOM_ICDF(32768), 0 },
2417 { AOM_ICDF(10240), AOM_ICDF(10680), AOM_ICDF(15684), AOM_ICDF(19118),
2418 AOM_ICDF(21856), AOM_ICDF(27563), AOM_ICDF(28234), AOM_ICDF(29332),
2419 AOM_ICDF(31278), AOM_ICDF(32768), 0 },
2420 { AOM_ICDF(11008), AOM_ICDF(11433), AOM_ICDF(14100), AOM_ICDF(22522),
2421 AOM_ICDF(24365), AOM_ICDF(25330), AOM_ICDF(25737), AOM_ICDF(26341),
2422 AOM_ICDF(30433), AOM_ICDF(32768), 0 },
2423 { AOM_ICDF(10880), AOM_ICDF(11308), AOM_ICDF(13991), AOM_ICDF(23645),
2424 AOM_ICDF(24679), AOM_ICDF(25433), AOM_ICDF(25977), AOM_ICDF(26746),
2425 AOM_ICDF(28463), AOM_ICDF(32768), 0 },
2426 { AOM_ICDF(9856), AOM_ICDF(10483), AOM_ICDF(16054), AOM_ICDF(19959),
2427 AOM_ICDF(21708), AOM_ICDF(23628), AOM_ICDF(24949), AOM_ICDF(28797),
2428 AOM_ICDF(30658), AOM_ICDF(32768), 0 },
2429 { AOM_ICDF(12928), AOM_ICDF(14556), AOM_ICDF(22168), AOM_ICDF(27789),
2430 AOM_ICDF(28543), AOM_ICDF(29663), AOM_ICDF(29893), AOM_ICDF(30645),
2431 AOM_ICDF(31682), AOM_ICDF(32768), 0 },
2432 };
Urvang Joshi63234542017-03-10 12:04:03 -08002433#endif // CONFIG_ALT_INTRA
Thomas Davies1d7db722017-02-22 11:15:00 +00002434
Alex Converse57795a42017-03-14 12:18:25 -07002435#if CONFIG_EXT_PARTITION_TYPES
2436static const aom_cdf_prob
2437 default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(EXT_PARTITION_TYPES)] = {
2438 // 8x8 -> 4x4 only supports the four legacy partition types
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002439 { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0,
2440 0, 0, 0, 0 },
2441 { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0,
2442 0, 0, 0, 0 },
2443 { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0,
2444 0, 0, 0, 0 },
2445 { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0,
2446 0, 0, 0, 0 },
2447 { AOM_ICDF(22272), AOM_ICDF(23768), AOM_ICDF(25043), AOM_ICDF(29996),
2448 AOM_ICDF(30744), AOM_ICDF(31493), AOM_ICDF(32130), AOM_ICDF(32768), 0 },
2449 { AOM_ICDF(11776), AOM_ICDF(13457), AOM_ICDF(16315), AOM_ICDF(28229),
2450 AOM_ICDF(29069), AOM_ICDF(29910), AOM_ICDF(31339), AOM_ICDF(32768), 0 },
2451 { AOM_ICDF(10496), AOM_ICDF(14802), AOM_ICDF(16136), AOM_ICDF(27127),
2452 AOM_ICDF(29280), AOM_ICDF(31434), AOM_ICDF(32101), AOM_ICDF(32768), 0 },
2453 { AOM_ICDF(6784), AOM_ICDF(8763), AOM_ICDF(10440), AOM_ICDF(29110),
2454 AOM_ICDF(30100), AOM_ICDF(31090), AOM_ICDF(31929), AOM_ICDF(32768), 0 },
2455 { AOM_ICDF(22656), AOM_ICDF(23801), AOM_ICDF(24702), AOM_ICDF(30721),
2456 AOM_ICDF(31294), AOM_ICDF(31867), AOM_ICDF(32317), AOM_ICDF(32768), 0 },
2457 { AOM_ICDF(8704), AOM_ICDF(9926), AOM_ICDF(12586), AOM_ICDF(28885),
2458 AOM_ICDF(29496), AOM_ICDF(30107), AOM_ICDF(31437), AOM_ICDF(32768), 0 },
2459 { AOM_ICDF(6656), AOM_ICDF(10685), AOM_ICDF(11566), AOM_ICDF(27857),
2460 AOM_ICDF(29871), AOM_ICDF(31886), AOM_ICDF(32327), AOM_ICDF(32768), 0 },
2461 { AOM_ICDF(2176), AOM_ICDF(3012), AOM_ICDF(3690), AOM_ICDF(31253),
2462 AOM_ICDF(31671), AOM_ICDF(32090), AOM_ICDF(32429), AOM_ICDF(32768), 0 },
2463 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
2464 AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32657), AOM_ICDF(32768), 0 },
2465 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
2466 AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(31819), AOM_ICDF(32768), 0 },
2467 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
2468 AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32508), AOM_ICDF(32768), 0 },
2469 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
2470 AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32588), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002471#if CONFIG_EXT_PARTITION
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002472 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
2473 AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32657), AOM_ICDF(32768), 0 },
2474 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
2475 AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(31819), AOM_ICDF(32768), 0 },
2476 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
2477 AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32508), AOM_ICDF(32768), 0 },
2478 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
2479 AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32588), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002480#endif
2481 };
2482#else
Thomas Davies1d7db722017-02-22 11:15:00 +00002483static const aom_cdf_prob
2484 default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(PARTITION_TYPES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002485 { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0 },
2486 { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0 },
2487 { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0 },
2488 { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0 },
2489 { AOM_ICDF(22272), AOM_ICDF(25265), AOM_ICDF(27815), AOM_ICDF(32768), 0 },
2490 { AOM_ICDF(11776), AOM_ICDF(15138), AOM_ICDF(20854), AOM_ICDF(32768), 0 },
2491 { AOM_ICDF(10496), AOM_ICDF(19109), AOM_ICDF(21777), AOM_ICDF(32768), 0 },
2492 { AOM_ICDF(6784), AOM_ICDF(10743), AOM_ICDF(14098), AOM_ICDF(32768), 0 },
2493 { AOM_ICDF(22656), AOM_ICDF(24947), AOM_ICDF(26749), AOM_ICDF(32768), 0 },
2494 { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(16469), AOM_ICDF(32768), 0 },
2495 { AOM_ICDF(6656), AOM_ICDF(14714), AOM_ICDF(16477), AOM_ICDF(32768), 0 },
2496 { AOM_ICDF(2176), AOM_ICDF(3849), AOM_ICDF(5205), AOM_ICDF(32768), 0 },
2497 { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
2498 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
2499 { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
2500 { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002501#if CONFIG_EXT_PARTITION
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002502 { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
2503 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
2504 { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
2505 { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002506#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00002507 };
Alex Converse57795a42017-03-14 12:18:25 -07002508#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00002509
2510static const aom_cdf_prob
2511 default_inter_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE(INTER_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002512 { AOM_ICDF(256), AOM_ICDF(22227), AOM_ICDF(23627), AOM_ICDF(32768), 0 },
2513 { AOM_ICDF(896), AOM_ICDF(18948), AOM_ICDF(23537), AOM_ICDF(32768), 0 },
2514 { AOM_ICDF(896), AOM_ICDF(21563), AOM_ICDF(24320), AOM_ICDF(32768), 0 },
2515 { AOM_ICDF(896), AOM_ICDF(12599), AOM_ICDF(17799), AOM_ICDF(32768), 0 },
2516 { AOM_ICDF(1024), AOM_ICDF(8960), AOM_ICDF(13238), AOM_ICDF(32768), 0 },
2517 { AOM_ICDF(2176), AOM_ICDF(11856), AOM_ICDF(14388), AOM_ICDF(32768), 0 },
2518 { AOM_ICDF(3200), AOM_ICDF(6550), AOM_ICDF(9622), AOM_ICDF(32768), 0 },
Thomas Davies1d7db722017-02-22 11:15:00 +00002519 };
2520
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002521#if CONFIG_EXT_TX
2522static const aom_cdf_prob default_intra_ext_tx_cdf
2523 [EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES][CDF_SIZE(TX_TYPES)] = {
2524 {
2525// FIXME: unused zero positions, from uncoded trivial transform set
2526#if CONFIG_CB4X4
2527 {
2528 { 0 },
2529 },
2530#endif
2531 { { 0 },
2532 { 0 },
2533 { 0 },
2534 { 0 },
2535 { 0 },
2536 { 0 },
2537 { 0 },
2538 { 0 },
2539 { 0 },
2540 { 0 },
2541#if CONFIG_ALT_INTRA
2542 { 0 }
2543#endif
2544 },
2545 { { 0 },
2546 { 0 },
2547 { 0 },
2548 { 0 },
2549 { 0 },
2550 { 0 },
2551 { 0 },
2552 { 0 },
2553 { 0 },
2554 { 0 },
2555#if CONFIG_ALT_INTRA
2556 { 0 }
2557#endif
2558 },
2559 { { 0 },
2560 { 0 },
2561 { 0 },
2562 { 0 },
2563 { 0 },
2564 { 0 },
2565 { 0 },
2566 { 0 },
2567 { 0 },
2568 { 0 },
2569#if CONFIG_ALT_INTRA
2570 { 0 }
2571#endif
2572 },
2573 { { 0 },
2574 { 0 },
2575 { 0 },
2576 { 0 },
2577 { 0 },
2578 { 0 },
2579 { 0 },
2580 { 0 },
2581 { 0 },
2582 { 0 },
2583#if CONFIG_ALT_INTRA
2584 { 0 }
2585#endif
2586 },
2587 },
2588 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002589 { { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048), AOM_ICDF(29296),
2590 AOM_ICDF(30164), AOM_ICDF(31466), AOM_ICDF(32768), 0 },
2591 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2592 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2593 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2594 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2595 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284), AOM_ICDF(26717),
2596 AOM_ICDF(28230), AOM_ICDF(30499), AOM_ICDF(32768), 0 },
2597 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
2598 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
2599 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2600 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2601 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2602 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2603 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2604 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2605 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2606 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2607 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2608 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002609#if CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002610 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2611 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002612#endif
2613 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002614 { { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048), AOM_ICDF(29296),
2615 AOM_ICDF(30164), AOM_ICDF(31466), AOM_ICDF(32768), 0 },
2616 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2617 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2618 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2619 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2620 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284), AOM_ICDF(26717),
2621 AOM_ICDF(28230), AOM_ICDF(30499), AOM_ICDF(32768), 0 },
2622 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
2623 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
2624 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2625 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2626 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2627 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2628 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2629 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2630 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2631 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2632 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2633 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002634#if CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002635 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2636 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002637#endif
2638 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002639 { { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048), AOM_ICDF(29296),
2640 AOM_ICDF(30164), AOM_ICDF(31466), AOM_ICDF(32768), 0 },
2641 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2642 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2643 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2644 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2645 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284), AOM_ICDF(26717),
2646 AOM_ICDF(28230), AOM_ICDF(30499), AOM_ICDF(32768), 0 },
2647 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
2648 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
2649 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2650 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2651 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2652 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2653 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2654 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2655 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2656 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2657 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2658 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002659#if CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002660 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2661 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002662#endif
2663 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002664 { { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048), AOM_ICDF(29296),
2665 AOM_ICDF(30164), AOM_ICDF(31466), AOM_ICDF(32768), 0 },
2666 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2667 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2668 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2669 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2670 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284), AOM_ICDF(26717),
2671 AOM_ICDF(28230), AOM_ICDF(30499), AOM_ICDF(32768), 0 },
2672 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
2673 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
2674 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2675 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2676 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2677 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2678 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2679 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2680 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2681 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2682 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2683 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002684#if CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002685 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2686 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002687#endif
2688 },
2689 },
2690 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002691 { { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792), AOM_ICDF(31280),
2692 AOM_ICDF(32768), 0 },
2693 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2694 AOM_ICDF(32768), 0 },
2695 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2696 AOM_ICDF(32768), 0 },
2697 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581), AOM_ICDF(30174),
2698 AOM_ICDF(32768), 0 },
2699 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924), AOM_ICDF(30846),
2700 AOM_ICDF(32768), 0 },
2701 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2702 AOM_ICDF(32768), 0 },
2703 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2704 AOM_ICDF(32768), 0 },
2705 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065), AOM_ICDF(26611),
2706 AOM_ICDF(32768), 0 },
2707 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065), AOM_ICDF(26611),
2708 AOM_ICDF(32768), 0 },
2709 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2710 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002711#if CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002712 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2713 AOM_ICDF(32768), 0 }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002714#endif
2715 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002716 { { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792), AOM_ICDF(31280),
2717 AOM_ICDF(32768), 0 },
2718 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2719 AOM_ICDF(32768), 0 },
2720 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2721 AOM_ICDF(32768), 0 },
2722 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581), AOM_ICDF(30174),
2723 AOM_ICDF(32768), 0 },
2724 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924), AOM_ICDF(30846),
2725 AOM_ICDF(32768), 0 },
2726 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2727 AOM_ICDF(32768), 0 },
2728 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2729 AOM_ICDF(32768), 0 },
2730 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065), AOM_ICDF(26611),
2731 AOM_ICDF(32768), 0 },
2732 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065), AOM_ICDF(26611),
2733 AOM_ICDF(32768), 0 },
2734 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2735 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002736#if CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002737 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2738 AOM_ICDF(32768), 0 }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002739#endif
2740 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002741 { { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792), AOM_ICDF(31280),
2742 AOM_ICDF(32768), 0 },
2743 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2744 AOM_ICDF(32768), 0 },
2745 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2746 AOM_ICDF(32768), 0 },
2747 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581), AOM_ICDF(30174),
2748 AOM_ICDF(32768), 0 },
2749 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924), AOM_ICDF(30846),
2750 AOM_ICDF(32768), 0 },
2751 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2752 AOM_ICDF(32768), 0 },
2753 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2754 AOM_ICDF(32768), 0 },
2755 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065), AOM_ICDF(26611),
2756 AOM_ICDF(32768), 0 },
2757 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065), AOM_ICDF(26611),
2758 AOM_ICDF(32768), 0 },
2759 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2760 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002761#if CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002762 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2763 AOM_ICDF(32768), 0 }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002764#endif
2765 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002766 { { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792), AOM_ICDF(31280),
2767 AOM_ICDF(32768), 0 },
2768 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2769 AOM_ICDF(32768), 0 },
2770 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2771 AOM_ICDF(32768), 0 },
2772 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581), AOM_ICDF(30174),
2773 AOM_ICDF(32768), 0 },
2774 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924), AOM_ICDF(30846),
2775 AOM_ICDF(32768), 0 },
2776 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2777 AOM_ICDF(32768), 0 },
2778 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2779 AOM_ICDF(32768), 0 },
2780 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065), AOM_ICDF(26611),
2781 AOM_ICDF(32768), 0 },
2782 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065), AOM_ICDF(26611),
2783 AOM_ICDF(32768), 0 },
2784 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2785 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002786#if CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002787 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2788 AOM_ICDF(32768), 0 }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002789#endif
2790 },
2791 }
2792 };
2793static const aom_cdf_prob
2794 default_inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES][CDF_SIZE(
2795 TX_TYPES)] = {
2796 {
2797#if CONFIG_CB4X4
2798 { 0 },
2799#endif
2800 { 0 },
2801 { 0 },
2802 { 0 },
2803 { 0 } },
2804 {
2805#if CONFIG_CB4X4
2806 { 0 },
2807#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002808 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
2809 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
2810 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
2811 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
2812 0 },
2813 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
2814 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
2815 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
2816 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
2817 0 },
2818 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
2819 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
2820 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
2821 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
2822 0 },
2823 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
2824 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
2825 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
2826 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
2827 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002828 {
2829#if CONFIG_CB4X4
2830 { 0 },
2831#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002832 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
2833 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
2834 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
2835 0 },
2836 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
2837 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
2838 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
2839 0 },
2840 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
2841 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
2842 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
2843 0 },
2844 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
2845 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
2846 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
2847 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002848 {
2849#if CONFIG_CB4X4
2850 { 0 },
2851#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002852 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
2853 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
2854 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
2855 { AOM_ICDF(1536), AOM_ICDF(32768), 0 } }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002856 };
2857#else
Thomas Davies1d7db722017-02-22 11:15:00 +00002858static const aom_cdf_prob
2859 default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002860#if CONFIG_CB4X4
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002861 { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
2862 0 },
2863 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
2864 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
2865 { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
2866 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002867#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002868 { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
2869 0 },
2870 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
2871 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
2872 { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
2873 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002874
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002875 { { AOM_ICDF(31232), AOM_ICDF(31742), AOM_ICDF(32255), AOM_ICDF(32768),
2876 0 },
2877 { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(31784), AOM_ICDF(32768), 0 },
2878 { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(2256), AOM_ICDF(32768), 0 },
2879 { AOM_ICDF(1024), AOM_ICDF(31776), AOM_ICDF(32272), AOM_ICDF(32768),
2880 0 } },
2881 { { AOM_ICDF(31744), AOM_ICDF(32084), AOM_ICDF(32426), AOM_ICDF(32768),
2882 0 },
2883 { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(31823), AOM_ICDF(32768), 0 },
2884 { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(3473), AOM_ICDF(32768), 0 },
2885 { AOM_ICDF(2048), AOM_ICDF(31808), AOM_ICDF(32288), AOM_ICDF(32768),
2886 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002887 };
2888
2889static const aom_cdf_prob
2890 default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002891#if CONFIG_CB4X4
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002892 { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002893#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002894 { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
2895 { AOM_ICDF(22528), AOM_ICDF(25928), AOM_ICDF(29348), AOM_ICDF(32768), 0 },
2896 { AOM_ICDF(24576), AOM_ICDF(27296), AOM_ICDF(30032), AOM_ICDF(32768), 0 },
Thomas Davies1d7db722017-02-22 11:15:00 +00002897 };
hui sub4e25d22017-03-09 15:32:30 -08002898#endif // !CONFIG_EXT_TX
2899
2900#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
2901static const aom_cdf_prob
2902 default_intra_filter_cdf[INTRA_FILTERS + 1][CDF_SIZE(INTRA_FILTERS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002903 { AOM_ICDF(12544), AOM_ICDF(17521), AOM_ICDF(21095), AOM_ICDF(32768), 0 },
2904 { AOM_ICDF(12544), AOM_ICDF(19022), AOM_ICDF(23318), AOM_ICDF(32768), 0 },
2905 { AOM_ICDF(12032), AOM_ICDF(17297), AOM_ICDF(23522), AOM_ICDF(32768), 0 },
2906 { AOM_ICDF(6272), AOM_ICDF(8860), AOM_ICDF(11101), AOM_ICDF(32768), 0 },
2907 { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(16629), AOM_ICDF(32768), 0 },
hui sub4e25d22017-03-09 15:32:30 -08002908 };
2909#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies1d7db722017-02-22 11:15:00 +00002910
Luc Trudeauf5334002017-04-25 12:21:26 -04002911#if CONFIG_CFL
Luc Trudeaue21c0812017-05-10 13:53:33 -04002912static const aom_cdf_prob default_cfl_alpha_cdf[CDF_SIZE(CFL_ALPHABET_SIZE)] = {
Luc Trudeauf5334002017-04-25 12:21:26 -04002913 // decreasing likelihood, after 6 iterations of alpha RDO on subset 3
2914 AOM_ICDF(23928), AOM_ICDF(26267), AOM_ICDF(27319), AOM_ICDF(28330),
2915 AOM_ICDF(29341), AOM_ICDF(30160), AOM_ICDF(30581), AOM_ICDF(30983),
2916 AOM_ICDF(31353), AOM_ICDF(31634), AOM_ICDF(31907), AOM_ICDF(32171),
2917 AOM_ICDF(32407), AOM_ICDF(32558), AOM_ICDF(32669), AOM_ICDF(32768)
2918};
2919#endif
2920
Thomas Davies1d7db722017-02-22 11:15:00 +00002921// CDF version of 'av1_kf_y_mode_prob'.
Urvang Joshi63234542017-03-10 12:04:03 -08002922const aom_cdf_prob
2923 av1_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
2924#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002925#if CONFIG_SMOOTH_HV
2926 {
2927 { AOM_ICDF(14208), AOM_ICDF(16238), AOM_ICDF(19079), AOM_ICDF(22512),
2928 AOM_ICDF(23632), AOM_ICDF(24373), AOM_ICDF(25291), AOM_ICDF(26109),
2929 AOM_ICDF(26811), AOM_ICDF(27858), AOM_ICDF(30428), AOM_ICDF(31424),
2930 AOM_ICDF(32768), 0 },
2931 { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(20992), AOM_ICDF(22569),
2932 AOM_ICDF(23557), AOM_ICDF(24442), AOM_ICDF(25515), AOM_ICDF(26478),
2933 AOM_ICDF(26994), AOM_ICDF(27693), AOM_ICDF(30349), AOM_ICDF(31757),
2934 AOM_ICDF(32768), 0 },
2935 { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(9593), AOM_ICDF(22972),
2936 AOM_ICDF(23813), AOM_ICDF(24168), AOM_ICDF(24638), AOM_ICDF(25019),
2937 AOM_ICDF(26048), AOM_ICDF(27413), AOM_ICDF(30090), AOM_ICDF(30812),
2938 AOM_ICDF(32768), 0 },
2939 { AOM_ICDF(12544), AOM_ICDF(14045), AOM_ICDF(16678), AOM_ICDF(19167),
2940 AOM_ICDF(20459), AOM_ICDF(21329), AOM_ICDF(23518), AOM_ICDF(24783),
2941 AOM_ICDF(25563), AOM_ICDF(27280), AOM_ICDF(30217), AOM_ICDF(31273),
2942 AOM_ICDF(32768), 0 },
2943 { AOM_ICDF(7552), AOM_ICDF(8636), AOM_ICDF(10993), AOM_ICDF(12992),
2944 AOM_ICDF(18616), AOM_ICDF(21880), AOM_ICDF(23113), AOM_ICDF(23867),
2945 AOM_ICDF(25710), AOM_ICDF(26758), AOM_ICDF(30115), AOM_ICDF(31328),
2946 AOM_ICDF(32768), 0 },
2947 { AOM_ICDF(11008), AOM_ICDF(12708), AOM_ICDF(16704), AOM_ICDF(18234),
2948 AOM_ICDF(21591), AOM_ICDF(26744), AOM_ICDF(28368), AOM_ICDF(30104),
2949 AOM_ICDF(31270), AOM_ICDF(32171), AOM_ICDF(32539), AOM_ICDF(32669),
2950 AOM_ICDF(32768), 0 },
2951 { AOM_ICDF(6272), AOM_ICDF(7307), AOM_ICDF(8998), AOM_ICDF(12979),
2952 AOM_ICDF(18143), AOM_ICDF(19397), AOM_ICDF(20233), AOM_ICDF(20772),
2953 AOM_ICDF(25645), AOM_ICDF(26869), AOM_ICDF(30049), AOM_ICDF(30984),
2954 AOM_ICDF(32768), 0 },
2955 { AOM_ICDF(8192), AOM_ICDF(9536), AOM_ICDF(11533), AOM_ICDF(15940),
2956 AOM_ICDF(17403), AOM_ICDF(18169), AOM_ICDF(19253), AOM_ICDF(20045),
2957 AOM_ICDF(21337), AOM_ICDF(25847), AOM_ICDF(29551), AOM_ICDF(30682),
2958 AOM_ICDF(32768), 0 },
2959 { AOM_ICDF(10752), AOM_ICDF(12558), AOM_ICDF(15005), AOM_ICDF(16854),
2960 AOM_ICDF(18148), AOM_ICDF(19307), AOM_ICDF(21410), AOM_ICDF(23939),
2961 AOM_ICDF(24698), AOM_ICDF(26117), AOM_ICDF(29832), AOM_ICDF(31323),
2962 AOM_ICDF(32768), 0 },
2963 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(11885), AOM_ICDF(14829),
2964 AOM_ICDF(16543), AOM_ICDF(16779), AOM_ICDF(17841), AOM_ICDF(19182),
2965 AOM_ICDF(20190), AOM_ICDF(21664), AOM_ICDF(27650), AOM_ICDF(29909),
2966 AOM_ICDF(32768), 0 },
2967 { AOM_ICDF(6528), AOM_ICDF(8476), AOM_ICDF(12841), AOM_ICDF(15721),
2968 AOM_ICDF(17437), AOM_ICDF(17823), AOM_ICDF(18874), AOM_ICDF(20394),
2969 AOM_ICDF(21216), AOM_ICDF(22344), AOM_ICDF(27922), AOM_ICDF(30743),
2970 AOM_ICDF(32768), 0 },
2971 { AOM_ICDF(8704), AOM_ICDF(10114), AOM_ICDF(12415), AOM_ICDF(15730),
2972 AOM_ICDF(17127), AOM_ICDF(17265), AOM_ICDF(18294), AOM_ICDF(19255),
2973 AOM_ICDF(20258), AOM_ICDF(21675), AOM_ICDF(27525), AOM_ICDF(29082),
2974 AOM_ICDF(32768), 0 },
2975 { AOM_ICDF(6272), AOM_ICDF(12586), AOM_ICDF(15818), AOM_ICDF(21751),
2976 AOM_ICDF(22707), AOM_ICDF(23300), AOM_ICDF(24262), AOM_ICDF(25126),
2977 AOM_ICDF(25992), AOM_ICDF(27448), AOM_ICDF(30004), AOM_ICDF(31073),
2978 AOM_ICDF(32768), 0 },
2979 },
2980 {
2981 { AOM_ICDF(3968), AOM_ICDF(6893), AOM_ICDF(20538), AOM_ICDF(22050),
2982 AOM_ICDF(22805), AOM_ICDF(24408), AOM_ICDF(24833), AOM_ICDF(26073),
2983 AOM_ICDF(26439), AOM_ICDF(26884), AOM_ICDF(29895), AOM_ICDF(31938),
2984 AOM_ICDF(32768), 0 },
2985 { AOM_ICDF(3072), AOM_ICDF(6204), AOM_ICDF(24363), AOM_ICDF(24995),
2986 AOM_ICDF(25363), AOM_ICDF(26103), AOM_ICDF(26546), AOM_ICDF(27518),
2987 AOM_ICDF(27621), AOM_ICDF(27902), AOM_ICDF(30164), AOM_ICDF(32148),
2988 AOM_ICDF(32768), 0 },
2989 { AOM_ICDF(2560), AOM_ICDF(6572), AOM_ICDF(13837), AOM_ICDF(19693),
2990 AOM_ICDF(20377), AOM_ICDF(21010), AOM_ICDF(21699), AOM_ICDF(22737),
2991 AOM_ICDF(23286), AOM_ICDF(24323), AOM_ICDF(28875), AOM_ICDF(30837),
2992 AOM_ICDF(32768), 0 },
2993 { AOM_ICDF(6912), AOM_ICDF(8831), AOM_ICDF(17059), AOM_ICDF(18404),
2994 AOM_ICDF(19221), AOM_ICDF(20434), AOM_ICDF(22313), AOM_ICDF(24151),
2995 AOM_ICDF(24420), AOM_ICDF(25855), AOM_ICDF(29474), AOM_ICDF(31623),
2996 AOM_ICDF(32768), 0 },
2997 { AOM_ICDF(2944), AOM_ICDF(4808), AOM_ICDF(14965), AOM_ICDF(15870),
2998 AOM_ICDF(18714), AOM_ICDF(21989), AOM_ICDF(22957), AOM_ICDF(24528),
2999 AOM_ICDF(25365), AOM_ICDF(26001), AOM_ICDF(29596), AOM_ICDF(31678),
3000 AOM_ICDF(32768), 0 },
3001 { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(19711), AOM_ICDF(20602),
3002 AOM_ICDF(22489), AOM_ICDF(27311), AOM_ICDF(28228), AOM_ICDF(30516),
3003 AOM_ICDF(31097), AOM_ICDF(31750), AOM_ICDF(32319), AOM_ICDF(32656),
3004 AOM_ICDF(32768), 0 },
3005 { AOM_ICDF(2944), AOM_ICDF(4925), AOM_ICDF(13952), AOM_ICDF(15490),
3006 AOM_ICDF(18397), AOM_ICDF(20200), AOM_ICDF(20986), AOM_ICDF(22367),
3007 AOM_ICDF(24967), AOM_ICDF(25820), AOM_ICDF(29755), AOM_ICDF(31473),
3008 AOM_ICDF(32768), 0 },
3009 { AOM_ICDF(4224), AOM_ICDF(6120), AOM_ICDF(14968), AOM_ICDF(17184),
3010 AOM_ICDF(18063), AOM_ICDF(19140), AOM_ICDF(20258), AOM_ICDF(21822),
3011 AOM_ICDF(22463), AOM_ICDF(24838), AOM_ICDF(28989), AOM_ICDF(31277),
3012 AOM_ICDF(32768), 0 },
3013 { AOM_ICDF(5120), AOM_ICDF(7280), AOM_ICDF(17535), AOM_ICDF(18348),
3014 AOM_ICDF(19116), AOM_ICDF(20689), AOM_ICDF(21916), AOM_ICDF(24968),
3015 AOM_ICDF(25242), AOM_ICDF(26095), AOM_ICDF(29588), AOM_ICDF(31787),
3016 AOM_ICDF(32768), 0 },
3017 { AOM_ICDF(2816), AOM_ICDF(4922), AOM_ICDF(17105), AOM_ICDF(18458),
3018 AOM_ICDF(19325), AOM_ICDF(19614), AOM_ICDF(20231), AOM_ICDF(21700),
3019 AOM_ICDF(22089), AOM_ICDF(22756), AOM_ICDF(27879), AOM_ICDF(31278),
3020 AOM_ICDF(32768), 0 },
3021 { AOM_ICDF(2560), AOM_ICDF(4920), AOM_ICDF(18518), AOM_ICDF(19680),
3022 AOM_ICDF(20386), AOM_ICDF(20689), AOM_ICDF(21208), AOM_ICDF(22472),
3023 AOM_ICDF(22754), AOM_ICDF(23223), AOM_ICDF(27809), AOM_ICDF(31664),
3024 AOM_ICDF(32768), 0 },
3025 { AOM_ICDF(3328), AOM_ICDF(5513), AOM_ICDF(17331), AOM_ICDF(19065),
3026 AOM_ICDF(19882), AOM_ICDF(20105), AOM_ICDF(20748), AOM_ICDF(22110),
3027 AOM_ICDF(22443), AOM_ICDF(23129), AOM_ICDF(28099), AOM_ICDF(30944),
3028 AOM_ICDF(32768), 0 },
3029 { AOM_ICDF(2560), AOM_ICDF(6690), AOM_ICDF(20748), AOM_ICDF(22590),
3030 AOM_ICDF(23037), AOM_ICDF(23659), AOM_ICDF(24406), AOM_ICDF(25582),
3031 AOM_ICDF(25835), AOM_ICDF(26485), AOM_ICDF(29553), AOM_ICDF(31826),
3032 AOM_ICDF(32768), 0 },
3033 },
3034 {
3035 { AOM_ICDF(11392), AOM_ICDF(13647), AOM_ICDF(15216), AOM_ICDF(23156),
3036 AOM_ICDF(24102), AOM_ICDF(24540), AOM_ICDF(25183), AOM_ICDF(25746),
3037 AOM_ICDF(26706), AOM_ICDF(28032), AOM_ICDF(30511), AOM_ICDF(31357),
3038 AOM_ICDF(32768), 0 },
3039 { AOM_ICDF(8064), AOM_ICDF(11635), AOM_ICDF(17166), AOM_ICDF(22459),
3040 AOM_ICDF(23608), AOM_ICDF(24297), AOM_ICDF(25025), AOM_ICDF(25902),
3041 AOM_ICDF(26438), AOM_ICDF(27551), AOM_ICDF(30343), AOM_ICDF(31641),
3042 AOM_ICDF(32768), 0 },
3043 { AOM_ICDF(4352), AOM_ICDF(6905), AOM_ICDF(7612), AOM_ICDF(24258),
3044 AOM_ICDF(24862), AOM_ICDF(25005), AOM_ICDF(25399), AOM_ICDF(25658),
3045 AOM_ICDF(26491), AOM_ICDF(28281), AOM_ICDF(30472), AOM_ICDF(31037),
3046 AOM_ICDF(32768), 0 },
3047 { AOM_ICDF(10752), AOM_ICDF(13246), AOM_ICDF(14771), AOM_ICDF(18965),
3048 AOM_ICDF(20132), AOM_ICDF(20606), AOM_ICDF(22411), AOM_ICDF(23422),
3049 AOM_ICDF(24663), AOM_ICDF(27386), AOM_ICDF(30203), AOM_ICDF(31265),
3050 AOM_ICDF(32768), 0 },
3051 { AOM_ICDF(8320), AOM_ICDF(10135), AOM_ICDF(11815), AOM_ICDF(15962),
3052 AOM_ICDF(19829), AOM_ICDF(21555), AOM_ICDF(22738), AOM_ICDF(23482),
3053 AOM_ICDF(25513), AOM_ICDF(27100), AOM_ICDF(30222), AOM_ICDF(31246),
3054 AOM_ICDF(32768), 0 },
3055 { AOM_ICDF(11264), AOM_ICDF(13364), AOM_ICDF(16851), AOM_ICDF(20617),
3056 AOM_ICDF(23504), AOM_ICDF(26302), AOM_ICDF(28070), AOM_ICDF(29189),
3057 AOM_ICDF(30531), AOM_ICDF(31903), AOM_ICDF(32342), AOM_ICDF(32512),
3058 AOM_ICDF(32768), 0 },
3059 { AOM_ICDF(6528), AOM_ICDF(7656), AOM_ICDF(8637), AOM_ICDF(15318),
3060 AOM_ICDF(18270), AOM_ICDF(18817), AOM_ICDF(19580), AOM_ICDF(20044),
3061 AOM_ICDF(24666), AOM_ICDF(26502), AOM_ICDF(29733), AOM_ICDF(30670),
3062 AOM_ICDF(32768), 0 },
3063 { AOM_ICDF(6784), AOM_ICDF(8307), AOM_ICDF(9167), AOM_ICDF(17476),
3064 AOM_ICDF(18366), AOM_ICDF(18663), AOM_ICDF(19765), AOM_ICDF(20425),
3065 AOM_ICDF(21534), AOM_ICDF(26888), AOM_ICDF(29989), AOM_ICDF(30857),
3066 AOM_ICDF(32768), 0 },
3067 { AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12682), AOM_ICDF(17399),
3068 AOM_ICDF(19010), AOM_ICDF(19743), AOM_ICDF(20964), AOM_ICDF(22993),
3069 AOM_ICDF(23871), AOM_ICDF(25817), AOM_ICDF(29727), AOM_ICDF(31164),
3070 AOM_ICDF(32768), 0 },
3071 { AOM_ICDF(5888), AOM_ICDF(7988), AOM_ICDF(9634), AOM_ICDF(16735),
3072 AOM_ICDF(18009), AOM_ICDF(18129), AOM_ICDF(18930), AOM_ICDF(19741),
3073 AOM_ICDF(20911), AOM_ICDF(22671), AOM_ICDF(27877), AOM_ICDF(29749),
3074 AOM_ICDF(32768), 0 },
3075 { AOM_ICDF(5248), AOM_ICDF(8151), AOM_ICDF(10267), AOM_ICDF(17761),
3076 AOM_ICDF(19077), AOM_ICDF(19232), AOM_ICDF(19919), AOM_ICDF(20772),
3077 AOM_ICDF(21615), AOM_ICDF(23140), AOM_ICDF(28142), AOM_ICDF(30618),
3078 AOM_ICDF(32768), 0 },
3079 { AOM_ICDF(6656), AOM_ICDF(8390), AOM_ICDF(9723), AOM_ICDF(17206),
3080 AOM_ICDF(18212), AOM_ICDF(18275), AOM_ICDF(19068), AOM_ICDF(19657),
3081 AOM_ICDF(20886), AOM_ICDF(22650), AOM_ICDF(27907), AOM_ICDF(29084),
3082 AOM_ICDF(32768), 0 },
3083 { AOM_ICDF(4480), AOM_ICDF(9232), AOM_ICDF(11163), AOM_ICDF(22580),
3084 AOM_ICDF(23368), AOM_ICDF(23653), AOM_ICDF(24436), AOM_ICDF(24989),
3085 AOM_ICDF(25809), AOM_ICDF(27087), AOM_ICDF(30038), AOM_ICDF(31104),
3086 AOM_ICDF(32768), 0 },
3087 },
3088 {
3089 { AOM_ICDF(10240), AOM_ICDF(11472), AOM_ICDF(14051), AOM_ICDF(16777),
3090 AOM_ICDF(18308), AOM_ICDF(19461), AOM_ICDF(22164), AOM_ICDF(24235),
3091 AOM_ICDF(25202), AOM_ICDF(26680), AOM_ICDF(29962), AOM_ICDF(31168),
3092 AOM_ICDF(32768), 0 },
3093 { AOM_ICDF(7552), AOM_ICDF(9128), AOM_ICDF(16885), AOM_ICDF(18221),
3094 AOM_ICDF(19114), AOM_ICDF(20111), AOM_ICDF(23226), AOM_ICDF(25462),
3095 AOM_ICDF(26033), AOM_ICDF(27085), AOM_ICDF(30259), AOM_ICDF(31729),
3096 AOM_ICDF(32768), 0 },
3097 { AOM_ICDF(5248), AOM_ICDF(7291), AOM_ICDF(8883), AOM_ICDF(18172),
3098 AOM_ICDF(19301), AOM_ICDF(19892), AOM_ICDF(21703), AOM_ICDF(22870),
3099 AOM_ICDF(23798), AOM_ICDF(25970), AOM_ICDF(29581), AOM_ICDF(30440),
3100 AOM_ICDF(32768), 0 },
3101 { AOM_ICDF(11008), AOM_ICDF(11943), AOM_ICDF(12838), AOM_ICDF(14729),
3102 AOM_ICDF(15340), AOM_ICDF(15719), AOM_ICDF(23245), AOM_ICDF(25217),
3103 AOM_ICDF(25453), AOM_ICDF(28282), AOM_ICDF(30735), AOM_ICDF(31696),
3104 AOM_ICDF(32768), 0 },
3105 { AOM_ICDF(6272), AOM_ICDF(7100), AOM_ICDF(9506), AOM_ICDF(11141),
3106 AOM_ICDF(14891), AOM_ICDF(18048), AOM_ICDF(20808), AOM_ICDF(22910),
3107 AOM_ICDF(24450), AOM_ICDF(26172), AOM_ICDF(29625), AOM_ICDF(31233),
3108 AOM_ICDF(32768), 0 },
3109 { AOM_ICDF(7424), AOM_ICDF(8513), AOM_ICDF(11924), AOM_ICDF(13742),
3110 AOM_ICDF(16971), AOM_ICDF(22265), AOM_ICDF(25957), AOM_ICDF(29762),
3111 AOM_ICDF(30831), AOM_ICDF(32193), AOM_ICDF(32537), AOM_ICDF(32669),
3112 AOM_ICDF(32768), 0 },
3113 { AOM_ICDF(4992), AOM_ICDF(5969), AOM_ICDF(7435), AOM_ICDF(10922),
3114 AOM_ICDF(15097), AOM_ICDF(16638), AOM_ICDF(18654), AOM_ICDF(20087),
3115 AOM_ICDF(23356), AOM_ICDF(25452), AOM_ICDF(29281), AOM_ICDF(30725),
3116 AOM_ICDF(32768), 0 },
3117 { AOM_ICDF(9600), AOM_ICDF(10324), AOM_ICDF(12603), AOM_ICDF(15427),
3118 AOM_ICDF(16950), AOM_ICDF(17959), AOM_ICDF(20909), AOM_ICDF(22299),
3119 AOM_ICDF(22994), AOM_ICDF(27308), AOM_ICDF(30379), AOM_ICDF(31154),
3120 AOM_ICDF(32768), 0 },
3121 { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(12549), AOM_ICDF(14621),
3122 AOM_ICDF(15493), AOM_ICDF(16182), AOM_ICDF(21430), AOM_ICDF(25947),
3123 AOM_ICDF(26427), AOM_ICDF(27888), AOM_ICDF(30595), AOM_ICDF(31809),
3124 AOM_ICDF(32768), 0 },
3125 { AOM_ICDF(6272), AOM_ICDF(7618), AOM_ICDF(10664), AOM_ICDF(12915),
3126 AOM_ICDF(14454), AOM_ICDF(14722), AOM_ICDF(17965), AOM_ICDF(20394),
3127 AOM_ICDF(21312), AOM_ICDF(23371), AOM_ICDF(28730), AOM_ICDF(30623),
3128 AOM_ICDF(32768), 0 },
3129 { AOM_ICDF(5888), AOM_ICDF(7463), AOM_ICDF(10923), AOM_ICDF(12991),
3130 AOM_ICDF(14555), AOM_ICDF(14934), AOM_ICDF(18208), AOM_ICDF(21052),
3131 AOM_ICDF(21876), AOM_ICDF(23450), AOM_ICDF(28655), AOM_ICDF(31017),
3132 AOM_ICDF(32768), 0 },
3133 { AOM_ICDF(6912), AOM_ICDF(8023), AOM_ICDF(10440), AOM_ICDF(13329),
3134 AOM_ICDF(14958), AOM_ICDF(15150), AOM_ICDF(18109), AOM_ICDF(20056),
3135 AOM_ICDF(21049), AOM_ICDF(23063), AOM_ICDF(28219), AOM_ICDF(29978),
3136 AOM_ICDF(32768), 0 },
3137 { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11906), AOM_ICDF(15940),
3138 AOM_ICDF(16978), AOM_ICDF(17773), AOM_ICDF(22342), AOM_ICDF(24419),
3139 AOM_ICDF(25300), AOM_ICDF(27021), AOM_ICDF(30007), AOM_ICDF(31312),
3140 AOM_ICDF(32768), 0 },
3141 },
3142 {
3143 { AOM_ICDF(7296), AOM_ICDF(8291), AOM_ICDF(10299), AOM_ICDF(12767),
3144 AOM_ICDF(18252), AOM_ICDF(20656), AOM_ICDF(21413), AOM_ICDF(22300),
3145 AOM_ICDF(24958), AOM_ICDF(26544), AOM_ICDF(30069), AOM_ICDF(31387),
3146 AOM_ICDF(32768), 0 },
3147 { AOM_ICDF(7168), AOM_ICDF(8668), AOM_ICDF(13187), AOM_ICDF(15041),
3148 AOM_ICDF(18824), AOM_ICDF(21371), AOM_ICDF(22261), AOM_ICDF(23574),
3149 AOM_ICDF(25082), AOM_ICDF(26133), AOM_ICDF(29839), AOM_ICDF(31693),
3150 AOM_ICDF(32768), 0 },
3151 { AOM_ICDF(3584), AOM_ICDF(5750), AOM_ICDF(6594), AOM_ICDF(15662),
3152 AOM_ICDF(18845), AOM_ICDF(20090), AOM_ICDF(20783), AOM_ICDF(21438),
3153 AOM_ICDF(23430), AOM_ICDF(25436), AOM_ICDF(29446), AOM_ICDF(30471),
3154 AOM_ICDF(32768), 0 },
3155 { AOM_ICDF(7424), AOM_ICDF(8711), AOM_ICDF(10121), AOM_ICDF(11786),
3156 AOM_ICDF(15100), AOM_ICDF(16579), AOM_ICDF(20437), AOM_ICDF(21593),
3157 AOM_ICDF(22903), AOM_ICDF(25678), AOM_ICDF(29638), AOM_ICDF(31130),
3158 AOM_ICDF(32768), 0 },
3159 { AOM_ICDF(4480), AOM_ICDF(5033), AOM_ICDF(6441), AOM_ICDF(7646),
3160 AOM_ICDF(18034), AOM_ICDF(21867), AOM_ICDF(22676), AOM_ICDF(23504),
3161 AOM_ICDF(25892), AOM_ICDF(26913), AOM_ICDF(30206), AOM_ICDF(31507),
3162 AOM_ICDF(32768), 0 },
3163 { AOM_ICDF(7296), AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12676),
3164 AOM_ICDF(19460), AOM_ICDF(25734), AOM_ICDF(26778), AOM_ICDF(28439),
3165 AOM_ICDF(31077), AOM_ICDF(32002), AOM_ICDF(32469), AOM_ICDF(32671),
3166 AOM_ICDF(32768), 0 },
3167 { AOM_ICDF(3840), AOM_ICDF(4518), AOM_ICDF(5511), AOM_ICDF(8229),
3168 AOM_ICDF(16448), AOM_ICDF(18394), AOM_ICDF(19292), AOM_ICDF(20345),
3169 AOM_ICDF(25683), AOM_ICDF(27399), AOM_ICDF(30566), AOM_ICDF(31375),
3170 AOM_ICDF(32768), 0 },
3171 { AOM_ICDF(6528), AOM_ICDF(7451), AOM_ICDF(8934), AOM_ICDF(12006),
3172 AOM_ICDF(15767), AOM_ICDF(17127), AOM_ICDF(18471), AOM_ICDF(19476),
3173 AOM_ICDF(21553), AOM_ICDF(25715), AOM_ICDF(29572), AOM_ICDF(30795),
3174 AOM_ICDF(32768), 0 },
3175 { AOM_ICDF(7168), AOM_ICDF(8368), AOM_ICDF(10370), AOM_ICDF(11855),
3176 AOM_ICDF(14966), AOM_ICDF(17544), AOM_ICDF(19328), AOM_ICDF(21271),
3177 AOM_ICDF(22708), AOM_ICDF(24555), AOM_ICDF(29207), AOM_ICDF(31280),
3178 AOM_ICDF(32768), 0 },
3179 { AOM_ICDF(5504), AOM_ICDF(6782), AOM_ICDF(8914), AOM_ICDF(11452),
3180 AOM_ICDF(15958), AOM_ICDF(16648), AOM_ICDF(17530), AOM_ICDF(18899),
3181 AOM_ICDF(20578), AOM_ICDF(22245), AOM_ICDF(28123), AOM_ICDF(30427),
3182 AOM_ICDF(32768), 0 },
3183 { AOM_ICDF(5248), AOM_ICDF(6538), AOM_ICDF(9100), AOM_ICDF(11294),
3184 AOM_ICDF(15638), AOM_ICDF(16589), AOM_ICDF(17600), AOM_ICDF(19318),
3185 AOM_ICDF(20842), AOM_ICDF(22193), AOM_ICDF(28018), AOM_ICDF(30875),
3186 AOM_ICDF(32768), 0 },
3187 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8499), AOM_ICDF(11769),
3188 AOM_ICDF(15661), AOM_ICDF(16178), AOM_ICDF(17280), AOM_ICDF(18490),
3189 AOM_ICDF(20386), AOM_ICDF(22127), AOM_ICDF(28071), AOM_ICDF(30089),
3190 AOM_ICDF(32768), 0 },
3191 { AOM_ICDF(4608), AOM_ICDF(7468), AOM_ICDF(10136), AOM_ICDF(15013),
3192 AOM_ICDF(17716), AOM_ICDF(19595), AOM_ICDF(20830), AOM_ICDF(22136),
3193 AOM_ICDF(23714), AOM_ICDF(25341), AOM_ICDF(29403), AOM_ICDF(31072),
3194 AOM_ICDF(32768), 0 },
3195 },
3196 {
3197 { AOM_ICDF(6656), AOM_ICDF(8186), AOM_ICDF(13755), AOM_ICDF(15971),
3198 AOM_ICDF(20413), AOM_ICDF(27940), AOM_ICDF(28657), AOM_ICDF(29910),
3199 AOM_ICDF(31004), AOM_ICDF(31969), AOM_ICDF(32443), AOM_ICDF(32665),
3200 AOM_ICDF(32768), 0 },
3201 { AOM_ICDF(6400), AOM_ICDF(8048), AOM_ICDF(16256), AOM_ICDF(17568),
3202 AOM_ICDF(21074), AOM_ICDF(28253), AOM_ICDF(28976), AOM_ICDF(30531),
3203 AOM_ICDF(31099), AOM_ICDF(31875), AOM_ICDF(32426), AOM_ICDF(32701),
3204 AOM_ICDF(32768), 0 },
3205 { AOM_ICDF(3840), AOM_ICDF(6439), AOM_ICDF(9524), AOM_ICDF(17270),
3206 AOM_ICDF(21391), AOM_ICDF(25777), AOM_ICDF(26815), AOM_ICDF(27908),
3207 AOM_ICDF(29199), AOM_ICDF(31151), AOM_ICDF(32168), AOM_ICDF(32407),
3208 AOM_ICDF(32768), 0 },
3209 { AOM_ICDF(9600), AOM_ICDF(10958), AOM_ICDF(14962), AOM_ICDF(16560),
3210 AOM_ICDF(19908), AOM_ICDF(23309), AOM_ICDF(25637), AOM_ICDF(28033),
3211 AOM_ICDF(29032), AOM_ICDF(32009), AOM_ICDF(32528), AOM_ICDF(32701),
3212 AOM_ICDF(32768), 0 },
3213 { AOM_ICDF(4608), AOM_ICDF(5598), AOM_ICDF(9525), AOM_ICDF(10578),
3214 AOM_ICDF(18511), AOM_ICDF(27502), AOM_ICDF(28654), AOM_ICDF(29907),
3215 AOM_ICDF(31069), AOM_ICDF(32071), AOM_ICDF(32493), AOM_ICDF(32670),
3216 AOM_ICDF(32768), 0 },
3217 { AOM_ICDF(4864), AOM_ICDF(5845), AOM_ICDF(11524), AOM_ICDF(12294),
3218 AOM_ICDF(16882), AOM_ICDF(27955), AOM_ICDF(28839), AOM_ICDF(30251),
3219 AOM_ICDF(30949), AOM_ICDF(31873), AOM_ICDF(32467), AOM_ICDF(32703),
3220 AOM_ICDF(32768), 0 },
3221 { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(8955), AOM_ICDF(11746),
3222 AOM_ICDF(18914), AOM_ICDF(24489), AOM_ICDF(25524), AOM_ICDF(27194),
3223 AOM_ICDF(29894), AOM_ICDF(31589), AOM_ICDF(32335), AOM_ICDF(32551),
3224 AOM_ICDF(32768), 0 },
3225 { AOM_ICDF(6016), AOM_ICDF(7584), AOM_ICDF(11814), AOM_ICDF(14567),
3226 AOM_ICDF(18253), AOM_ICDF(21882), AOM_ICDF(23966), AOM_ICDF(26442),
3227 AOM_ICDF(27628), AOM_ICDF(31142), AOM_ICDF(32177), AOM_ICDF(32466),
3228 AOM_ICDF(32768), 0 },
3229 { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(15257), AOM_ICDF(16576),
3230 AOM_ICDF(20349), AOM_ICDF(24902), AOM_ICDF(26592), AOM_ICDF(29415),
3231 AOM_ICDF(30083), AOM_ICDF(31782), AOM_ICDF(32360), AOM_ICDF(32680),
3232 AOM_ICDF(32768), 0 },
3233 { AOM_ICDF(2816), AOM_ICDF(4805), AOM_ICDF(8519), AOM_ICDF(10112),
3234 AOM_ICDF(13408), AOM_ICDF(18465), AOM_ICDF(19582), AOM_ICDF(21333),
3235 AOM_ICDF(22494), AOM_ICDF(24059), AOM_ICDF(29026), AOM_ICDF(31321),
3236 AOM_ICDF(32768), 0 },
3237 { AOM_ICDF(2432), AOM_ICDF(4091), AOM_ICDF(8236), AOM_ICDF(9669),
3238 AOM_ICDF(13111), AOM_ICDF(19352), AOM_ICDF(20557), AOM_ICDF(22370),
3239 AOM_ICDF(23060), AOM_ICDF(24425), AOM_ICDF(28890), AOM_ICDF(31586),
3240 AOM_ICDF(32768), 0 },
3241 { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(8938), AOM_ICDF(11126),
3242 AOM_ICDF(14494), AOM_ICDF(18433), AOM_ICDF(19721), AOM_ICDF(21148),
3243 AOM_ICDF(22510), AOM_ICDF(24233), AOM_ICDF(29134), AOM_ICDF(31235),
3244 AOM_ICDF(32768), 0 },
3245 { AOM_ICDF(4480), AOM_ICDF(7132), AOM_ICDF(13341), AOM_ICDF(17959),
3246 AOM_ICDF(21108), AOM_ICDF(25786), AOM_ICDF(27068), AOM_ICDF(29161),
3247 AOM_ICDF(30077), AOM_ICDF(31286), AOM_ICDF(32363), AOM_ICDF(32565),
3248 AOM_ICDF(32768), 0 },
3249 },
3250 {
3251 { AOM_ICDF(9600), AOM_ICDF(10686), AOM_ICDF(12152), AOM_ICDF(16918),
3252 AOM_ICDF(19247), AOM_ICDF(20286), AOM_ICDF(20969), AOM_ICDF(21568),
3253 AOM_ICDF(25987), AOM_ICDF(27444), AOM_ICDF(30376), AOM_ICDF(31348),
3254 AOM_ICDF(32768), 0 },
3255 { AOM_ICDF(8832), AOM_ICDF(10609), AOM_ICDF(14591), AOM_ICDF(17948),
3256 AOM_ICDF(19973), AOM_ICDF(21052), AOM_ICDF(21922), AOM_ICDF(22854),
3257 AOM_ICDF(25642), AOM_ICDF(26783), AOM_ICDF(29892), AOM_ICDF(31499),
3258 AOM_ICDF(32768), 0 },
3259 { AOM_ICDF(3840), AOM_ICDF(5196), AOM_ICDF(5842), AOM_ICDF(17177),
3260 AOM_ICDF(19308), AOM_ICDF(19726), AOM_ICDF(20235), AOM_ICDF(20627),
3261 AOM_ICDF(24184), AOM_ICDF(26799), AOM_ICDF(29993), AOM_ICDF(30752),
3262 AOM_ICDF(32768), 0 },
3263 { AOM_ICDF(9856), AOM_ICDF(11288), AOM_ICDF(12295), AOM_ICDF(15482),
3264 AOM_ICDF(18345), AOM_ICDF(19093), AOM_ICDF(20963), AOM_ICDF(21747),
3265 AOM_ICDF(24718), AOM_ICDF(26793), AOM_ICDF(29991), AOM_ICDF(31032),
3266 AOM_ICDF(32768), 0 },
3267 { AOM_ICDF(6528), AOM_ICDF(7348), AOM_ICDF(8440), AOM_ICDF(11002),
3268 AOM_ICDF(17084), AOM_ICDF(19749), AOM_ICDF(20766), AOM_ICDF(21563),
3269 AOM_ICDF(25502), AOM_ICDF(26950), AOM_ICDF(30245), AOM_ICDF(31152),
3270 AOM_ICDF(32768), 0 },
3271 { AOM_ICDF(9728), AOM_ICDF(10448), AOM_ICDF(12541), AOM_ICDF(14674),
3272 AOM_ICDF(19296), AOM_ICDF(23919), AOM_ICDF(25198), AOM_ICDF(26558),
3273 AOM_ICDF(30755), AOM_ICDF(31958), AOM_ICDF(32461), AOM_ICDF(32594),
3274 AOM_ICDF(32768), 0 },
3275 { AOM_ICDF(5120), AOM_ICDF(5768), AOM_ICDF(6401), AOM_ICDF(10321),
3276 AOM_ICDF(14515), AOM_ICDF(15362), AOM_ICDF(15838), AOM_ICDF(16301),
3277 AOM_ICDF(26078), AOM_ICDF(27489), AOM_ICDF(30397), AOM_ICDF(31175),
3278 AOM_ICDF(32768), 0 },
3279 { AOM_ICDF(5888), AOM_ICDF(6518), AOM_ICDF(7236), AOM_ICDF(12128),
3280 AOM_ICDF(14327), AOM_ICDF(15015), AOM_ICDF(16055), AOM_ICDF(16773),
3281 AOM_ICDF(20897), AOM_ICDF(25395), AOM_ICDF(29341), AOM_ICDF(30452),
3282 AOM_ICDF(32768), 0 },
3283 { AOM_ICDF(10368), AOM_ICDF(11856), AOM_ICDF(13245), AOM_ICDF(15614),
3284 AOM_ICDF(18451), AOM_ICDF(19498), AOM_ICDF(20846), AOM_ICDF(22429),
3285 AOM_ICDF(24610), AOM_ICDF(26522), AOM_ICDF(30279), AOM_ICDF(31523),
3286 AOM_ICDF(32768), 0 },
3287 { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(8668), AOM_ICDF(12423),
3288 AOM_ICDF(15346), AOM_ICDF(15634), AOM_ICDF(16504), AOM_ICDF(17584),
3289 AOM_ICDF(21083), AOM_ICDF(23000), AOM_ICDF(28456), AOM_ICDF(30241),
3290 AOM_ICDF(32768), 0 },
3291 { AOM_ICDF(5760), AOM_ICDF(7026), AOM_ICDF(8735), AOM_ICDF(12665),
3292 AOM_ICDF(15507), AOM_ICDF(15870), AOM_ICDF(16794), AOM_ICDF(17792),
3293 AOM_ICDF(21068), AOM_ICDF(23033), AOM_ICDF(28395), AOM_ICDF(30701),
3294 AOM_ICDF(32768), 0 },
3295 { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(9300), AOM_ICDF(13303),
3296 AOM_ICDF(15462), AOM_ICDF(15625), AOM_ICDF(16362), AOM_ICDF(17067),
3297 AOM_ICDF(20686), AOM_ICDF(22810), AOM_ICDF(27983), AOM_ICDF(29347),
3298 AOM_ICDF(32768), 0 },
3299 { AOM_ICDF(5632), AOM_ICDF(8070), AOM_ICDF(9903), AOM_ICDF(16658),
3300 AOM_ICDF(18637), AOM_ICDF(19728), AOM_ICDF(20543), AOM_ICDF(21450),
3301 AOM_ICDF(24456), AOM_ICDF(26372), AOM_ICDF(29645), AOM_ICDF(30731),
3302 AOM_ICDF(32768), 0 },
3303 },
3304 {
3305 { AOM_ICDF(11008), AOM_ICDF(12283), AOM_ICDF(14364), AOM_ICDF(18419),
3306 AOM_ICDF(19948), AOM_ICDF(20618), AOM_ICDF(21899), AOM_ICDF(22960),
3307 AOM_ICDF(23994), AOM_ICDF(26565), AOM_ICDF(30078), AOM_ICDF(31213),
3308 AOM_ICDF(32768), 0 },
3309 { AOM_ICDF(9088), AOM_ICDF(11586), AOM_ICDF(16716), AOM_ICDF(18876),
3310 AOM_ICDF(20112), AOM_ICDF(21105), AOM_ICDF(22426), AOM_ICDF(23800),
3311 AOM_ICDF(24396), AOM_ICDF(26653), AOM_ICDF(30021), AOM_ICDF(31566),
3312 AOM_ICDF(32768), 0 },
3313 { AOM_ICDF(6144), AOM_ICDF(8328), AOM_ICDF(9378), AOM_ICDF(20096),
3314 AOM_ICDF(20984), AOM_ICDF(21256), AOM_ICDF(22335), AOM_ICDF(23109),
3315 AOM_ICDF(24128), AOM_ICDF(26896), AOM_ICDF(29947), AOM_ICDF(30740),
3316 AOM_ICDF(32768), 0 },
3317 { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(13441), AOM_ICDF(15479),
3318 AOM_ICDF(16976), AOM_ICDF(17518), AOM_ICDF(20794), AOM_ICDF(22571),
3319 AOM_ICDF(23328), AOM_ICDF(27421), AOM_ICDF(30512), AOM_ICDF(31561),
3320 AOM_ICDF(32768), 0 },
3321 { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(10010), AOM_ICDF(12258),
3322 AOM_ICDF(15388), AOM_ICDF(16944), AOM_ICDF(19602), AOM_ICDF(21196),
3323 AOM_ICDF(22869), AOM_ICDF(25112), AOM_ICDF(29389), AOM_ICDF(30709),
3324 AOM_ICDF(32768), 0 },
3325 { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(14881), AOM_ICDF(17298),
3326 AOM_ICDF(20151), AOM_ICDF(22916), AOM_ICDF(25918), AOM_ICDF(28032),
3327 AOM_ICDF(29549), AOM_ICDF(31787), AOM_ICDF(32293), AOM_ICDF(32521),
3328 AOM_ICDF(32768), 0 },
3329 { AOM_ICDF(6400), AOM_ICDF(7636), AOM_ICDF(8716), AOM_ICDF(12718),
3330 AOM_ICDF(15711), AOM_ICDF(16420), AOM_ICDF(18144), AOM_ICDF(19287),
3331 AOM_ICDF(22815), AOM_ICDF(25886), AOM_ICDF(29596), AOM_ICDF(30674),
3332 AOM_ICDF(32768), 0 },
3333 { AOM_ICDF(9856), AOM_ICDF(10662), AOM_ICDF(11785), AOM_ICDF(14236),
3334 AOM_ICDF(14998), AOM_ICDF(15391), AOM_ICDF(17156), AOM_ICDF(17949),
3335 AOM_ICDF(18470), AOM_ICDF(27797), AOM_ICDF(30418), AOM_ICDF(31244),
3336 AOM_ICDF(32768), 0 },
3337 { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12017), AOM_ICDF(14128),
3338 AOM_ICDF(15765), AOM_ICDF(16637), AOM_ICDF(19347), AOM_ICDF(21759),
3339 AOM_ICDF(22490), AOM_ICDF(25300), AOM_ICDF(29676), AOM_ICDF(31077),
3340 AOM_ICDF(32768), 0 },
3341 { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(10177), AOM_ICDF(13693),
3342 AOM_ICDF(15333), AOM_ICDF(15472), AOM_ICDF(17094), AOM_ICDF(18257),
3343 AOM_ICDF(19277), AOM_ICDF(22386), AOM_ICDF(28023), AOM_ICDF(29969),
3344 AOM_ICDF(32768), 0 },
3345 { AOM_ICDF(6400), AOM_ICDF(8151), AOM_ICDF(10651), AOM_ICDF(13992),
3346 AOM_ICDF(15677), AOM_ICDF(15835), AOM_ICDF(17422), AOM_ICDF(18621),
3347 AOM_ICDF(19450), AOM_ICDF(22207), AOM_ICDF(27735), AOM_ICDF(30409),
3348 AOM_ICDF(32768), 0 },
3349 { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(9915), AOM_ICDF(13980),
3350 AOM_ICDF(15352), AOM_ICDF(15450), AOM_ICDF(17006), AOM_ICDF(17930),
3351 AOM_ICDF(18973), AOM_ICDF(22045), AOM_ICDF(27658), AOM_ICDF(29235),
3352 AOM_ICDF(32768), 0 },
3353 { AOM_ICDF(6272), AOM_ICDF(9481), AOM_ICDF(11664), AOM_ICDF(16537),
3354 AOM_ICDF(17656), AOM_ICDF(18094), AOM_ICDF(20673), AOM_ICDF(21949),
3355 AOM_ICDF(22752), AOM_ICDF(25921), AOM_ICDF(29612), AOM_ICDF(30869),
3356 AOM_ICDF(32768), 0 },
3357 },
3358 {
3359 { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(12536), AOM_ICDF(14589),
3360 AOM_ICDF(15843), AOM_ICDF(17357), AOM_ICDF(19765), AOM_ICDF(23981),
3361 AOM_ICDF(24633), AOM_ICDF(25618), AOM_ICDF(29556), AOM_ICDF(31438),
3362 AOM_ICDF(32768), 0 },
3363 { AOM_ICDF(5760), AOM_ICDF(7237), AOM_ICDF(14717), AOM_ICDF(15587),
3364 AOM_ICDF(16364), AOM_ICDF(17537), AOM_ICDF(20393), AOM_ICDF(26097),
3365 AOM_ICDF(26462), AOM_ICDF(27029), AOM_ICDF(30123), AOM_ICDF(31921),
3366 AOM_ICDF(32768), 0 },
3367 { AOM_ICDF(4352), AOM_ICDF(5906), AOM_ICDF(8424), AOM_ICDF(16214),
3368 AOM_ICDF(16978), AOM_ICDF(17743), AOM_ICDF(19680), AOM_ICDF(22441),
3369 AOM_ICDF(23167), AOM_ICDF(25080), AOM_ICDF(29224), AOM_ICDF(30650),
3370 AOM_ICDF(32768), 0 },
3371 { AOM_ICDF(9472), AOM_ICDF(10473), AOM_ICDF(12737), AOM_ICDF(14173),
3372 AOM_ICDF(15051), AOM_ICDF(15632), AOM_ICDF(20652), AOM_ICDF(24864),
3373 AOM_ICDF(25204), AOM_ICDF(27006), AOM_ICDF(30292), AOM_ICDF(31501),
3374 AOM_ICDF(32768), 0 },
3375 { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(8247), AOM_ICDF(9646),
3376 AOM_ICDF(12203), AOM_ICDF(14760), AOM_ICDF(18488), AOM_ICDF(22616),
3377 AOM_ICDF(23449), AOM_ICDF(24650), AOM_ICDF(29026), AOM_ICDF(30955),
3378 AOM_ICDF(32768), 0 },
3379 { AOM_ICDF(6016), AOM_ICDF(6957), AOM_ICDF(12502), AOM_ICDF(13805),
3380 AOM_ICDF(16777), AOM_ICDF(21052), AOM_ICDF(23981), AOM_ICDF(30606),
3381 AOM_ICDF(31206), AOM_ICDF(31981), AOM_ICDF(32414), AOM_ICDF(32681),
3382 AOM_ICDF(32768), 0 },
3383 { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(7820), AOM_ICDF(9805),
3384 AOM_ICDF(12793), AOM_ICDF(14252), AOM_ICDF(16711), AOM_ICDF(20725),
3385 AOM_ICDF(23406), AOM_ICDF(25015), AOM_ICDF(29225), AOM_ICDF(30775),
3386 AOM_ICDF(32768), 0 },
3387 { AOM_ICDF(6912), AOM_ICDF(7619), AOM_ICDF(10173), AOM_ICDF(12424),
3388 AOM_ICDF(13502), AOM_ICDF(14410), AOM_ICDF(17852), AOM_ICDF(21348),
3389 AOM_ICDF(22017), AOM_ICDF(25461), AOM_ICDF(29571), AOM_ICDF(31020),
3390 AOM_ICDF(32768), 0 },
3391 { AOM_ICDF(7680), AOM_ICDF(8562), AOM_ICDF(11399), AOM_ICDF(12263),
3392 AOM_ICDF(12870), AOM_ICDF(13486), AOM_ICDF(18307), AOM_ICDF(26385),
3393 AOM_ICDF(26734), AOM_ICDF(27724), AOM_ICDF(30482), AOM_ICDF(31955),
3394 AOM_ICDF(32768), 0 },
3395 { AOM_ICDF(4992), AOM_ICDF(6186), AOM_ICDF(9820), AOM_ICDF(11725),
3396 AOM_ICDF(13117), AOM_ICDF(13406), AOM_ICDF(15978), AOM_ICDF(20372),
3397 AOM_ICDF(20953), AOM_ICDF(22245), AOM_ICDF(28205), AOM_ICDF(30879),
3398 AOM_ICDF(32768), 0 },
3399 { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(10747), AOM_ICDF(12295),
3400 AOM_ICDF(13445), AOM_ICDF(13844), AOM_ICDF(16357), AOM_ICDF(21485),
3401 AOM_ICDF(21838), AOM_ICDF(22820), AOM_ICDF(28183), AOM_ICDF(31138),
3402 AOM_ICDF(32768), 0 },
3403 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10476), AOM_ICDF(12855),
3404 AOM_ICDF(14101), AOM_ICDF(14482), AOM_ICDF(17053), AOM_ICDF(20613),
3405 AOM_ICDF(21278), AOM_ICDF(22580), AOM_ICDF(28351), AOM_ICDF(30542),
3406 AOM_ICDF(32768), 0 },
3407 { AOM_ICDF(4480), AOM_ICDF(6359), AOM_ICDF(11826), AOM_ICDF(14265),
3408 AOM_ICDF(14852), AOM_ICDF(15753), AOM_ICDF(19276), AOM_ICDF(24757),
3409 AOM_ICDF(25226), AOM_ICDF(26287), AOM_ICDF(29629), AOM_ICDF(31493),
3410 AOM_ICDF(32768), 0 },
3411 },
3412 {
3413 { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(11726), AOM_ICDF(15286),
3414 AOM_ICDF(16881), AOM_ICDF(17151), AOM_ICDF(17944), AOM_ICDF(19160),
3415 AOM_ICDF(20011), AOM_ICDF(21356), AOM_ICDF(27463), AOM_ICDF(29805),
3416 AOM_ICDF(32768), 0 },
3417 { AOM_ICDF(5376), AOM_ICDF(7516), AOM_ICDF(15210), AOM_ICDF(17109),
3418 AOM_ICDF(18458), AOM_ICDF(18708), AOM_ICDF(19587), AOM_ICDF(20977),
3419 AOM_ICDF(21484), AOM_ICDF(22277), AOM_ICDF(27768), AOM_ICDF(30893),
3420 AOM_ICDF(32768), 0 },
3421 { AOM_ICDF(3584), AOM_ICDF(5522), AOM_ICDF(7225), AOM_ICDF(18079),
3422 AOM_ICDF(18909), AOM_ICDF(18999), AOM_ICDF(19698), AOM_ICDF(20413),
3423 AOM_ICDF(21185), AOM_ICDF(23040), AOM_ICDF(28056), AOM_ICDF(29473),
3424 AOM_ICDF(32768), 0 },
3425 { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(10782), AOM_ICDF(12958),
3426 AOM_ICDF(14687), AOM_ICDF(14818), AOM_ICDF(17553), AOM_ICDF(19395),
3427 AOM_ICDF(20231), AOM_ICDF(23316), AOM_ICDF(28559), AOM_ICDF(30614),
3428 AOM_ICDF(32768), 0 },
3429 { AOM_ICDF(5632), AOM_ICDF(6586), AOM_ICDF(9347), AOM_ICDF(11520),
3430 AOM_ICDF(15628), AOM_ICDF(16300), AOM_ICDF(17651), AOM_ICDF(19245),
3431 AOM_ICDF(20671), AOM_ICDF(22089), AOM_ICDF(28013), AOM_ICDF(30279),
3432 AOM_ICDF(32768), 0 },
3433 { AOM_ICDF(3840), AOM_ICDF(5309), AOM_ICDF(9385), AOM_ICDF(10995),
3434 AOM_ICDF(14099), AOM_ICDF(18154), AOM_ICDF(19638), AOM_ICDF(21690),
3435 AOM_ICDF(23031), AOM_ICDF(24552), AOM_ICDF(29238), AOM_ICDF(31251),
3436 AOM_ICDF(32768), 0 },
3437 { AOM_ICDF(5376), AOM_ICDF(6339), AOM_ICDF(8301), AOM_ICDF(11620),
3438 AOM_ICDF(14701), AOM_ICDF(14991), AOM_ICDF(16033), AOM_ICDF(17210),
3439 AOM_ICDF(20431), AOM_ICDF(22310), AOM_ICDF(27948), AOM_ICDF(29774),
3440 AOM_ICDF(32768), 0 },
3441 { AOM_ICDF(5632), AOM_ICDF(6692), AOM_ICDF(8729), AOM_ICDF(12618),
3442 AOM_ICDF(13927), AOM_ICDF(14081), AOM_ICDF(15176), AOM_ICDF(16413),
3443 AOM_ICDF(17371), AOM_ICDF(22183), AOM_ICDF(28013), AOM_ICDF(29815),
3444 AOM_ICDF(32768), 0 },
3445 { AOM_ICDF(6528), AOM_ICDF(7861), AOM_ICDF(11072), AOM_ICDF(12945),
3446 AOM_ICDF(14726), AOM_ICDF(14971), AOM_ICDF(16570), AOM_ICDF(19481),
3447 AOM_ICDF(20260), AOM_ICDF(21921), AOM_ICDF(27980), AOM_ICDF(30449),
3448 AOM_ICDF(32768), 0 },
3449 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(9523), AOM_ICDF(12199),
3450 AOM_ICDF(13764), AOM_ICDF(13972), AOM_ICDF(14926), AOM_ICDF(16320),
3451 AOM_ICDF(17091), AOM_ICDF(18744), AOM_ICDF(26359), AOM_ICDF(29288),
3452 AOM_ICDF(32768), 0 },
3453 { AOM_ICDF(4736), AOM_ICDF(6160), AOM_ICDF(10318), AOM_ICDF(12718),
3454 AOM_ICDF(14251), AOM_ICDF(14527), AOM_ICDF(15453), AOM_ICDF(17009),
3455 AOM_ICDF(17625), AOM_ICDF(19045), AOM_ICDF(26335), AOM_ICDF(30079),
3456 AOM_ICDF(32768), 0 },
3457 { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(9248), AOM_ICDF(12722),
3458 AOM_ICDF(14141), AOM_ICDF(14301), AOM_ICDF(15095), AOM_ICDF(16200),
3459 AOM_ICDF(17106), AOM_ICDF(18697), AOM_ICDF(26172), AOM_ICDF(28388),
3460 AOM_ICDF(32768), 0 },
3461 { AOM_ICDF(4096), AOM_ICDF(6672), AOM_ICDF(11055), AOM_ICDF(16327),
3462 AOM_ICDF(17508), AOM_ICDF(17671), AOM_ICDF(18733), AOM_ICDF(19994),
3463 AOM_ICDF(20742), AOM_ICDF(22151), AOM_ICDF(27708), AOM_ICDF(30021),
3464 AOM_ICDF(32768), 0 },
3465 },
3466 {
3467 { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(13524), AOM_ICDF(16819),
3468 AOM_ICDF(18267), AOM_ICDF(18636), AOM_ICDF(19409), AOM_ICDF(20661),
3469 AOM_ICDF(21323), AOM_ICDF(22307), AOM_ICDF(27905), AOM_ICDF(30678),
3470 AOM_ICDF(32768), 0 },
3471 { AOM_ICDF(5376), AOM_ICDF(7302), AOM_ICDF(16951), AOM_ICDF(18383),
3472 AOM_ICDF(19388), AOM_ICDF(19608), AOM_ICDF(20225), AOM_ICDF(21597),
3473 AOM_ICDF(21946), AOM_ICDF(22538), AOM_ICDF(27613), AOM_ICDF(31318),
3474 AOM_ICDF(32768), 0 },
3475 { AOM_ICDF(3840), AOM_ICDF(5987), AOM_ICDF(8184), AOM_ICDF(19612),
3476 AOM_ICDF(20392), AOM_ICDF(20476), AOM_ICDF(21100), AOM_ICDF(21693),
3477 AOM_ICDF(22428), AOM_ICDF(23963), AOM_ICDF(28709), AOM_ICDF(30342),
3478 AOM_ICDF(32768), 0 },
3479 { AOM_ICDF(8448), AOM_ICDF(9588), AOM_ICDF(12395), AOM_ICDF(14447),
3480 AOM_ICDF(16163), AOM_ICDF(16374), AOM_ICDF(18743), AOM_ICDF(20606),
3481 AOM_ICDF(21271), AOM_ICDF(23786), AOM_ICDF(28768), AOM_ICDF(30877),
3482 AOM_ICDF(32768), 0 },
3483 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10069), AOM_ICDF(11965),
3484 AOM_ICDF(15976), AOM_ICDF(16719), AOM_ICDF(17973), AOM_ICDF(19880),
3485 AOM_ICDF(21139), AOM_ICDF(22275), AOM_ICDF(28259), AOM_ICDF(30954),
3486 AOM_ICDF(32768), 0 },
3487 { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(10557), AOM_ICDF(12069),
3488 AOM_ICDF(14280), AOM_ICDF(18973), AOM_ICDF(20374), AOM_ICDF(23037),
3489 AOM_ICDF(24215), AOM_ICDF(25050), AOM_ICDF(29271), AOM_ICDF(31716),
3490 AOM_ICDF(32768), 0 },
3491 { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(9672), AOM_ICDF(12246),
3492 AOM_ICDF(15351), AOM_ICDF(15717), AOM_ICDF(16716), AOM_ICDF(18158),
3493 AOM_ICDF(21126), AOM_ICDF(22672), AOM_ICDF(28035), AOM_ICDF(30494),
3494 AOM_ICDF(32768), 0 },
3495 { AOM_ICDF(6272), AOM_ICDF(7204), AOM_ICDF(9700), AOM_ICDF(13252),
3496 AOM_ICDF(14599), AOM_ICDF(14926), AOM_ICDF(15902), AOM_ICDF(17220),
3497 AOM_ICDF(18010), AOM_ICDF(22795), AOM_ICDF(28405), AOM_ICDF(30467),
3498 AOM_ICDF(32768), 0 },
3499 { AOM_ICDF(6912), AOM_ICDF(8427), AOM_ICDF(12420), AOM_ICDF(14171),
3500 AOM_ICDF(15792), AOM_ICDF(16156), AOM_ICDF(17584), AOM_ICDF(20846),
3501 AOM_ICDF(21451), AOM_ICDF(22556), AOM_ICDF(28101), AOM_ICDF(31054),
3502 AOM_ICDF(32768), 0 },
3503 { AOM_ICDF(5248), AOM_ICDF(6431), AOM_ICDF(10855), AOM_ICDF(13296),
3504 AOM_ICDF(14848), AOM_ICDF(15135), AOM_ICDF(15893), AOM_ICDF(17277),
3505 AOM_ICDF(17943), AOM_ICDF(19275), AOM_ICDF(26443), AOM_ICDF(30174),
3506 AOM_ICDF(32768), 0 },
3507 { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(12103), AOM_ICDF(14343),
3508 AOM_ICDF(15633), AOM_ICDF(15978), AOM_ICDF(16699), AOM_ICDF(18205),
3509 AOM_ICDF(18660), AOM_ICDF(19707), AOM_ICDF(26544), AOM_ICDF(30872),
3510 AOM_ICDF(32768), 0 },
3511 { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(11066), AOM_ICDF(14088),
3512 AOM_ICDF(15377), AOM_ICDF(15644), AOM_ICDF(16447), AOM_ICDF(17786),
3513 AOM_ICDF(18605), AOM_ICDF(19822), AOM_ICDF(27104), AOM_ICDF(29648),
3514 AOM_ICDF(32768), 0 },
3515 { AOM_ICDF(4608), AOM_ICDF(7358), AOM_ICDF(13016), AOM_ICDF(18200),
3516 AOM_ICDF(19015), AOM_ICDF(19189), AOM_ICDF(20038), AOM_ICDF(21430),
3517 AOM_ICDF(21917), AOM_ICDF(22977), AOM_ICDF(27949), AOM_ICDF(30848),
3518 AOM_ICDF(32768), 0 },
3519 },
3520 {
3521 { AOM_ICDF(7296), AOM_ICDF(8490), AOM_ICDF(11145), AOM_ICDF(15318),
3522 AOM_ICDF(16693), AOM_ICDF(16889), AOM_ICDF(17571), AOM_ICDF(18580),
3523 AOM_ICDF(19688), AOM_ICDF(21272), AOM_ICDF(27245), AOM_ICDF(28971),
3524 AOM_ICDF(32768), 0 },
3525 { AOM_ICDF(5376), AOM_ICDF(7623), AOM_ICDF(16070), AOM_ICDF(18136),
3526 AOM_ICDF(19225), AOM_ICDF(19397), AOM_ICDF(20128), AOM_ICDF(21362),
3527 AOM_ICDF(21808), AOM_ICDF(22621), AOM_ICDF(27932), AOM_ICDF(30407),
3528 AOM_ICDF(32768), 0 },
3529 { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(6566), AOM_ICDF(18368),
3530 AOM_ICDF(19106), AOM_ICDF(19155), AOM_ICDF(19793), AOM_ICDF(20300),
3531 AOM_ICDF(21177), AOM_ICDF(23079), AOM_ICDF(27848), AOM_ICDF(28924),
3532 AOM_ICDF(32768), 0 },
3533 { AOM_ICDF(7040), AOM_ICDF(8146), AOM_ICDF(10550), AOM_ICDF(12876),
3534 AOM_ICDF(14506), AOM_ICDF(14629), AOM_ICDF(17180), AOM_ICDF(19129),
3535 AOM_ICDF(20088), AOM_ICDF(23407), AOM_ICDF(28673), AOM_ICDF(30257),
3536 AOM_ICDF(32768), 0 },
3537 { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(9466), AOM_ICDF(11999),
3538 AOM_ICDF(15723), AOM_ICDF(16293), AOM_ICDF(17580), AOM_ICDF(19004),
3539 AOM_ICDF(20509), AOM_ICDF(22233), AOM_ICDF(28118), AOM_ICDF(29989),
3540 AOM_ICDF(32768), 0 },
3541 { AOM_ICDF(3840), AOM_ICDF(5422), AOM_ICDF(9054), AOM_ICDF(11018),
3542 AOM_ICDF(13605), AOM_ICDF(17576), AOM_ICDF(19178), AOM_ICDF(21514),
3543 AOM_ICDF(22877), AOM_ICDF(24461), AOM_ICDF(29069), AOM_ICDF(30933),
3544 AOM_ICDF(32768), 0 },
3545 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8294), AOM_ICDF(12601),
3546 AOM_ICDF(15043), AOM_ICDF(15273), AOM_ICDF(16230), AOM_ICDF(17134),
3547 AOM_ICDF(20737), AOM_ICDF(22899), AOM_ICDF(28219), AOM_ICDF(29410),
3548 AOM_ICDF(32768), 0 },
3549 { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(8336), AOM_ICDF(12965),
3550 AOM_ICDF(14282), AOM_ICDF(14444), AOM_ICDF(15446), AOM_ICDF(16461),
3551 AOM_ICDF(17544), AOM_ICDF(22183), AOM_ICDF(27682), AOM_ICDF(29132),
3552 AOM_ICDF(32768), 0 },
3553 { AOM_ICDF(6656), AOM_ICDF(8084), AOM_ICDF(10880), AOM_ICDF(12954),
3554 AOM_ICDF(14527), AOM_ICDF(14728), AOM_ICDF(16490), AOM_ICDF(19224),
3555 AOM_ICDF(20071), AOM_ICDF(21857), AOM_ICDF(27653), AOM_ICDF(30031),
3556 AOM_ICDF(32768), 0 },
3557 { AOM_ICDF(5376), AOM_ICDF(6660), AOM_ICDF(9006), AOM_ICDF(12205),
3558 AOM_ICDF(13614), AOM_ICDF(13740), AOM_ICDF(14632), AOM_ICDF(15766),
3559 AOM_ICDF(16629), AOM_ICDF(18394), AOM_ICDF(25918), AOM_ICDF(28460),
3560 AOM_ICDF(32768), 0 },
3561 { AOM_ICDF(4736), AOM_ICDF(6488), AOM_ICDF(9978), AOM_ICDF(12889),
3562 AOM_ICDF(14419), AOM_ICDF(14607), AOM_ICDF(15458), AOM_ICDF(16743),
3563 AOM_ICDF(17369), AOM_ICDF(19053), AOM_ICDF(26393), AOM_ICDF(29456),
3564 AOM_ICDF(32768), 0 },
3565 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(8542), AOM_ICDF(12830),
3566 AOM_ICDF(13956), AOM_ICDF(14031), AOM_ICDF(14763), AOM_ICDF(15677),
3567 AOM_ICDF(16545), AOM_ICDF(18256), AOM_ICDF(25569), AOM_ICDF(27284),
3568 AOM_ICDF(32768), 0 },
3569 { AOM_ICDF(4096), AOM_ICDF(7008), AOM_ICDF(11436), AOM_ICDF(17228),
3570 AOM_ICDF(18131), AOM_ICDF(18269), AOM_ICDF(19345), AOM_ICDF(20551),
3571 AOM_ICDF(21315), AOM_ICDF(22836), AOM_ICDF(28035), AOM_ICDF(29865),
3572 AOM_ICDF(32768), 0 },
3573 },
3574 {
3575 { AOM_ICDF(6528), AOM_ICDF(10833), AOM_ICDF(17688), AOM_ICDF(21947),
3576 AOM_ICDF(22829), AOM_ICDF(23814), AOM_ICDF(24514), AOM_ICDF(25707),
3577 AOM_ICDF(26397), AOM_ICDF(27442), AOM_ICDF(30271), AOM_ICDF(31734),
3578 AOM_ICDF(32768), 0 },
3579 { AOM_ICDF(4480), AOM_ICDF(8679), AOM_ICDF(21100), AOM_ICDF(23075),
3580 AOM_ICDF(23772), AOM_ICDF(24427), AOM_ICDF(25111), AOM_ICDF(26188),
3581 AOM_ICDF(26445), AOM_ICDF(27235), AOM_ICDF(29980), AOM_ICDF(31875),
3582 AOM_ICDF(32768), 0 },
3583 { AOM_ICDF(2688), AOM_ICDF(6683), AOM_ICDF(9332), AOM_ICDF(22173),
3584 AOM_ICDF(22688), AOM_ICDF(22972), AOM_ICDF(23623), AOM_ICDF(24159),
3585 AOM_ICDF(24798), AOM_ICDF(26666), AOM_ICDF(29812), AOM_ICDF(30909),
3586 AOM_ICDF(32768), 0 },
3587 { AOM_ICDF(8192), AOM_ICDF(10112), AOM_ICDF(13298), AOM_ICDF(16662),
3588 AOM_ICDF(17623), AOM_ICDF(18394), AOM_ICDF(20921), AOM_ICDF(22309),
3589 AOM_ICDF(22963), AOM_ICDF(26257), AOM_ICDF(29945), AOM_ICDF(31423),
3590 AOM_ICDF(32768), 0 },
3591 { AOM_ICDF(5120), AOM_ICDF(7604), AOM_ICDF(12617), AOM_ICDF(15628),
3592 AOM_ICDF(18274), AOM_ICDF(20174), AOM_ICDF(21404), AOM_ICDF(22869),
3593 AOM_ICDF(24184), AOM_ICDF(25626), AOM_ICDF(29615), AOM_ICDF(31155),
3594 AOM_ICDF(32768), 0 },
3595 { AOM_ICDF(7424), AOM_ICDF(10295), AOM_ICDF(18459), AOM_ICDF(21302),
3596 AOM_ICDF(23034), AOM_ICDF(26284), AOM_ICDF(27576), AOM_ICDF(29746),
3597 AOM_ICDF(30502), AOM_ICDF(31794), AOM_ICDF(32346), AOM_ICDF(32600),
3598 AOM_ICDF(32768), 0 },
3599 { AOM_ICDF(4224), AOM_ICDF(6789), AOM_ICDF(11254), AOM_ICDF(15589),
3600 AOM_ICDF(18568), AOM_ICDF(19238), AOM_ICDF(19872), AOM_ICDF(20880),
3601 AOM_ICDF(24409), AOM_ICDF(26238), AOM_ICDF(29580), AOM_ICDF(30875),
3602 AOM_ICDF(32768), 0 },
3603 { AOM_ICDF(5120), AOM_ICDF(7388), AOM_ICDF(10164), AOM_ICDF(15886),
3604 AOM_ICDF(16694), AOM_ICDF(17139), AOM_ICDF(18421), AOM_ICDF(19262),
3605 AOM_ICDF(20106), AOM_ICDF(26734), AOM_ICDF(29987), AOM_ICDF(31160),
3606 AOM_ICDF(32768), 0 },
3607 { AOM_ICDF(5760), AOM_ICDF(8292), AOM_ICDF(13837), AOM_ICDF(16201),
3608 AOM_ICDF(17303), AOM_ICDF(18422), AOM_ICDF(20215), AOM_ICDF(23059),
3609 AOM_ICDF(23628), AOM_ICDF(25449), AOM_ICDF(29537), AOM_ICDF(31455),
3610 AOM_ICDF(32768), 0 },
3611 { AOM_ICDF(4224), AOM_ICDF(7235), AOM_ICDF(12521), AOM_ICDF(16798),
3612 AOM_ICDF(17964), AOM_ICDF(18136), AOM_ICDF(18936), AOM_ICDF(20233),
3613 AOM_ICDF(20821), AOM_ICDF(22501), AOM_ICDF(27955), AOM_ICDF(30493),
3614 AOM_ICDF(32768), 0 },
3615 { AOM_ICDF(3840), AOM_ICDF(7117), AOM_ICDF(13329), AOM_ICDF(17383),
3616 AOM_ICDF(18323), AOM_ICDF(18492), AOM_ICDF(19273), AOM_ICDF(20538),
3617 AOM_ICDF(21064), AOM_ICDF(22481), AOM_ICDF(27785), AOM_ICDF(30938),
3618 AOM_ICDF(32768), 0 },
3619 { AOM_ICDF(4736), AOM_ICDF(7474), AOM_ICDF(12414), AOM_ICDF(17230),
3620 AOM_ICDF(18246), AOM_ICDF(18457), AOM_ICDF(19128), AOM_ICDF(20087),
3621 AOM_ICDF(20830), AOM_ICDF(22602), AOM_ICDF(27923), AOM_ICDF(29929),
3622 AOM_ICDF(32768), 0 },
3623 { AOM_ICDF(3584), AOM_ICDF(9626), AOM_ICDF(15412), AOM_ICDF(20788),
3624 AOM_ICDF(21676), AOM_ICDF(22192), AOM_ICDF(23266), AOM_ICDF(24342),
3625 AOM_ICDF(24836), AOM_ICDF(26447), AOM_ICDF(29583), AOM_ICDF(31300),
3626 AOM_ICDF(32768), 0 },
3627 },
3628#else
Urvang Joshi63234542017-03-10 12:04:03 -08003629 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003630 { AOM_ICDF(15488), AOM_ICDF(17513), AOM_ICDF(20731), AOM_ICDF(24586),
3631 AOM_ICDF(25921), AOM_ICDF(26749), AOM_ICDF(27807), AOM_ICDF(28602),
3632 AOM_ICDF(29530), AOM_ICDF(30681), AOM_ICDF(32768), 0 },
3633 { AOM_ICDF(11648), AOM_ICDF(14783), AOM_ICDF(21879), AOM_ICDF(23981),
3634 AOM_ICDF(25213), AOM_ICDF(26218), AOM_ICDF(27472), AOM_ICDF(28465),
3635 AOM_ICDF(29221), AOM_ICDF(30232), AOM_ICDF(32768), 0 },
3636 { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(13392), AOM_ICDF(25167),
3637 AOM_ICDF(26295), AOM_ICDF(26789), AOM_ICDF(27536), AOM_ICDF(28088),
3638 AOM_ICDF(29039), AOM_ICDF(30700), AOM_ICDF(32768), 0 },
3639 { AOM_ICDF(13568), AOM_ICDF(15293), AOM_ICDF(18706), AOM_ICDF(21610),
3640 AOM_ICDF(23139), AOM_ICDF(24254), AOM_ICDF(26383), AOM_ICDF(27630),
3641 AOM_ICDF(28613), AOM_ICDF(30350), AOM_ICDF(32768), 0 },
3642 { AOM_ICDF(9600), AOM_ICDF(11772), AOM_ICDF(14397), AOM_ICDF(16580),
3643 AOM_ICDF(20091), AOM_ICDF(22865), AOM_ICDF(24490), AOM_ICDF(25395),
3644 AOM_ICDF(27037), AOM_ICDF(28694), AOM_ICDF(32768), 0 },
3645 { AOM_ICDF(12160), AOM_ICDF(14092), AOM_ICDF(17010), AOM_ICDF(18922),
3646 AOM_ICDF(22683), AOM_ICDF(25751), AOM_ICDF(27725), AOM_ICDF(30109),
3647 AOM_ICDF(31449), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3648 { AOM_ICDF(9088), AOM_ICDF(10383), AOM_ICDF(12569), AOM_ICDF(17113),
3649 AOM_ICDF(21351), AOM_ICDF(22511), AOM_ICDF(23633), AOM_ICDF(24382),
3650 AOM_ICDF(28215), AOM_ICDF(29798), AOM_ICDF(32768), 0 },
3651 { AOM_ICDF(10880), AOM_ICDF(12248), AOM_ICDF(15214), AOM_ICDF(20017),
3652 AOM_ICDF(21922), AOM_ICDF(22757), AOM_ICDF(24360), AOM_ICDF(25280),
3653 AOM_ICDF(26684), AOM_ICDF(29869), AOM_ICDF(32768), 0 },
3654 { AOM_ICDF(11008), AOM_ICDF(13133), AOM_ICDF(15587), AOM_ICDF(17872),
3655 AOM_ICDF(19579), AOM_ICDF(21157), AOM_ICDF(23788), AOM_ICDF(26629),
3656 AOM_ICDF(27732), AOM_ICDF(29601), AOM_ICDF(32768), 0 },
3657 { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15360), AOM_ICDF(18348),
3658 AOM_ICDF(20452), AOM_ICDF(20460), AOM_ICDF(21902), AOM_ICDF(23982),
3659 AOM_ICDF(25149), AOM_ICDF(26667), AOM_ICDF(32768), 0 },
3660 { AOM_ICDF(8704), AOM_ICDF(14250), AOM_ICDF(17722), AOM_ICDF(23128),
3661 AOM_ICDF(24217), AOM_ICDF(24892), AOM_ICDF(26215), AOM_ICDF(27392),
3662 AOM_ICDF(28358), AOM_ICDF(30287), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003663 },
3664 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003665 { AOM_ICDF(8448), AOM_ICDF(10443), AOM_ICDF(20733), AOM_ICDF(23689),
3666 AOM_ICDF(24634), AOM_ICDF(25951), AOM_ICDF(26670), AOM_ICDF(27861),
3667 AOM_ICDF(28379), AOM_ICDF(29305), AOM_ICDF(32768), 0 },
3668 { AOM_ICDF(6656), AOM_ICDF(9206), AOM_ICDF(24577), AOM_ICDF(25792),
3669 AOM_ICDF(26335), AOM_ICDF(27169), AOM_ICDF(27913), AOM_ICDF(28956),
3670 AOM_ICDF(29239), AOM_ICDF(29680), AOM_ICDF(32768), 0 },
3671 { AOM_ICDF(7168), AOM_ICDF(8968), AOM_ICDF(15662), AOM_ICDF(22937),
3672 AOM_ICDF(23849), AOM_ICDF(24616), AOM_ICDF(25603), AOM_ICDF(26555),
3673 AOM_ICDF(27210), AOM_ICDF(29142), AOM_ICDF(32768), 0 },
3674 { AOM_ICDF(9600), AOM_ICDF(11501), AOM_ICDF(19310), AOM_ICDF(21731),
3675 AOM_ICDF(22790), AOM_ICDF(23936), AOM_ICDF(25627), AOM_ICDF(27217),
3676 AOM_ICDF(27868), AOM_ICDF(29170), AOM_ICDF(32768), 0 },
3677 { AOM_ICDF(6912), AOM_ICDF(8730), AOM_ICDF(17650), AOM_ICDF(19377),
3678 AOM_ICDF(21025), AOM_ICDF(23319), AOM_ICDF(24537), AOM_ICDF(26112),
3679 AOM_ICDF(26840), AOM_ICDF(28345), AOM_ICDF(32768), 0 },
3680 { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(20583), AOM_ICDF(21996),
3681 AOM_ICDF(23898), AOM_ICDF(26818), AOM_ICDF(28120), AOM_ICDF(30716),
3682 AOM_ICDF(31678), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
3683 { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(15619), AOM_ICDF(18584),
3684 AOM_ICDF(20844), AOM_ICDF(22519), AOM_ICDF(23760), AOM_ICDF(25203),
3685 AOM_ICDF(27094), AOM_ICDF(28801), AOM_ICDF(32768), 0 },
3686 { AOM_ICDF(8832), AOM_ICDF(10141), AOM_ICDF(17035), AOM_ICDF(20764),
3687 AOM_ICDF(21703), AOM_ICDF(22751), AOM_ICDF(23964), AOM_ICDF(25305),
3688 AOM_ICDF(26034), AOM_ICDF(29006), AOM_ICDF(32768), 0 },
3689 { AOM_ICDF(8192), AOM_ICDF(9920), AOM_ICDF(19113), AOM_ICDF(20594),
3690 AOM_ICDF(21747), AOM_ICDF(23327), AOM_ICDF(24581), AOM_ICDF(26916),
3691 AOM_ICDF(27533), AOM_ICDF(28944), AOM_ICDF(32768), 0 },
3692 { AOM_ICDF(6656), AOM_ICDF(8696), AOM_ICDF(18381), AOM_ICDF(20537),
3693 AOM_ICDF(21804), AOM_ICDF(21809), AOM_ICDF(22751), AOM_ICDF(24394),
3694 AOM_ICDF(24917), AOM_ICDF(25990), AOM_ICDF(32768), 0 },
3695 { AOM_ICDF(6400), AOM_ICDF(9593), AOM_ICDF(20818), AOM_ICDF(23519),
3696 AOM_ICDF(24266), AOM_ICDF(25113), AOM_ICDF(26608), AOM_ICDF(27883),
3697 AOM_ICDF(28322), AOM_ICDF(29364), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003698 },
3699 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003700 { AOM_ICDF(12032), AOM_ICDF(14381), AOM_ICDF(16608), AOM_ICDF(24946),
3701 AOM_ICDF(26084), AOM_ICDF(26582), AOM_ICDF(27428), AOM_ICDF(28075),
3702 AOM_ICDF(29395), AOM_ICDF(30858), AOM_ICDF(32768), 0 },
3703 { AOM_ICDF(9216), AOM_ICDF(12620), AOM_ICDF(18287), AOM_ICDF(24345),
3704 AOM_ICDF(25984), AOM_ICDF(26715), AOM_ICDF(27732), AOM_ICDF(28519),
3705 AOM_ICDF(29399), AOM_ICDF(30781), AOM_ICDF(32768), 0 },
3706 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(10220), AOM_ICDF(26539),
3707 AOM_ICDF(27310), AOM_ICDF(27483), AOM_ICDF(28082), AOM_ICDF(28430),
3708 AOM_ICDF(29362), AOM_ICDF(31291), AOM_ICDF(32768), 0 },
3709 { AOM_ICDF(11904), AOM_ICDF(14838), AOM_ICDF(17359), AOM_ICDF(21663),
3710 AOM_ICDF(22931), AOM_ICDF(23619), AOM_ICDF(25620), AOM_ICDF(26653),
3711 AOM_ICDF(27823), AOM_ICDF(30547), AOM_ICDF(32768), 0 },
3712 { AOM_ICDF(10752), AOM_ICDF(13504), AOM_ICDF(15536), AOM_ICDF(19057),
3713 AOM_ICDF(21753), AOM_ICDF(23883), AOM_ICDF(25202), AOM_ICDF(26266),
3714 AOM_ICDF(28196), AOM_ICDF(30589), AOM_ICDF(32768), 0 },
3715 { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(16787), AOM_ICDF(21011),
3716 AOM_ICDF(23929), AOM_ICDF(25651), AOM_ICDF(27958), AOM_ICDF(29330),
3717 AOM_ICDF(31022), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
3718 { AOM_ICDF(8448), AOM_ICDF(9968), AOM_ICDF(11749), AOM_ICDF(18062),
3719 AOM_ICDF(21841), AOM_ICDF(22669), AOM_ICDF(23852), AOM_ICDF(24444),
3720 AOM_ICDF(28118), AOM_ICDF(30007), AOM_ICDF(32768), 0 },
3721 { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(12602), AOM_ICDF(20819),
3722 AOM_ICDF(22194), AOM_ICDF(22764), AOM_ICDF(24366), AOM_ICDF(25022),
3723 AOM_ICDF(26414), AOM_ICDF(30460), AOM_ICDF(32768), 0 },
3724 { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(14357), AOM_ICDF(18346),
3725 AOM_ICDF(20486), AOM_ICDF(21549), AOM_ICDF(23170), AOM_ICDF(25794),
3726 AOM_ICDF(27129), AOM_ICDF(29574), AOM_ICDF(32768), 0 },
3727 { AOM_ICDF(7808), AOM_ICDF(10733), AOM_ICDF(13057), AOM_ICDF(20252),
3728 AOM_ICDF(21906), AOM_ICDF(21912), AOM_ICDF(23057), AOM_ICDF(24233),
3729 AOM_ICDF(25700), AOM_ICDF(27439), AOM_ICDF(32768), 0 },
3730 { AOM_ICDF(6784), AOM_ICDF(11352), AOM_ICDF(13778), AOM_ICDF(23877),
3731 AOM_ICDF(24995), AOM_ICDF(25424), AOM_ICDF(26830), AOM_ICDF(27688),
3732 AOM_ICDF(28779), AOM_ICDF(30368), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003733 },
3734 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003735 { AOM_ICDF(12288), AOM_ICDF(13728), AOM_ICDF(16480), AOM_ICDF(19841),
3736 AOM_ICDF(21570), AOM_ICDF(22715), AOM_ICDF(25385), AOM_ICDF(27000),
3737 AOM_ICDF(28329), AOM_ICDF(29994), AOM_ICDF(32768), 0 },
3738 { AOM_ICDF(9344), AOM_ICDF(10991), AOM_ICDF(18817), AOM_ICDF(20972),
3739 AOM_ICDF(22137), AOM_ICDF(23231), AOM_ICDF(26025), AOM_ICDF(27711),
3740 AOM_ICDF(28244), AOM_ICDF(29428), AOM_ICDF(32768), 0 },
3741 { AOM_ICDF(9344), AOM_ICDF(10900), AOM_ICDF(13206), AOM_ICDF(21344),
3742 AOM_ICDF(22332), AOM_ICDF(22987), AOM_ICDF(25127), AOM_ICDF(26440),
3743 AOM_ICDF(27231), AOM_ICDF(29502), AOM_ICDF(32768), 0 },
3744 { AOM_ICDF(12928), AOM_ICDF(14478), AOM_ICDF(15978), AOM_ICDF(18630),
3745 AOM_ICDF(19852), AOM_ICDF(20897), AOM_ICDF(24699), AOM_ICDF(26464),
3746 AOM_ICDF(27030), AOM_ICDF(30482), AOM_ICDF(32768), 0 },
3747 { AOM_ICDF(9088), AOM_ICDF(10476), AOM_ICDF(13350), AOM_ICDF(15237),
3748 AOM_ICDF(18175), AOM_ICDF(20252), AOM_ICDF(23283), AOM_ICDF(25321),
3749 AOM_ICDF(26426), AOM_ICDF(29349), AOM_ICDF(32768), 0 },
3750 { AOM_ICDF(10240), AOM_ICDF(11912), AOM_ICDF(15008), AOM_ICDF(17177),
3751 AOM_ICDF(19979), AOM_ICDF(23056), AOM_ICDF(26395), AOM_ICDF(29681),
3752 AOM_ICDF(30790), AOM_ICDF(32760), AOM_ICDF(32768), 0 },
3753 { AOM_ICDF(8704), AOM_ICDF(9738), AOM_ICDF(11717), AOM_ICDF(15480),
3754 AOM_ICDF(18656), AOM_ICDF(20022), AOM_ICDF(22611), AOM_ICDF(24357),
3755 AOM_ICDF(27150), AOM_ICDF(29257), AOM_ICDF(32768), 0 },
3756 { AOM_ICDF(12928), AOM_ICDF(13548), AOM_ICDF(17978), AOM_ICDF(20602),
3757 AOM_ICDF(21814), AOM_ICDF(22427), AOM_ICDF(24568), AOM_ICDF(25881),
3758 AOM_ICDF(26823), AOM_ICDF(30817), AOM_ICDF(32768), 0 },
3759 { AOM_ICDF(10496), AOM_ICDF(12149), AOM_ICDF(14082), AOM_ICDF(18054),
3760 AOM_ICDF(19032), AOM_ICDF(19994), AOM_ICDF(24086), AOM_ICDF(28427),
3761 AOM_ICDF(29156), AOM_ICDF(30680), AOM_ICDF(32768), 0 },
3762 { AOM_ICDF(8448), AOM_ICDF(10158), AOM_ICDF(13867), AOM_ICDF(16506),
3763 AOM_ICDF(18584), AOM_ICDF(18592), AOM_ICDF(21472), AOM_ICDF(23767),
3764 AOM_ICDF(24646), AOM_ICDF(27279), AOM_ICDF(32768), 0 },
3765 { AOM_ICDF(7296), AOM_ICDF(9684), AOM_ICDF(13471), AOM_ICDF(17701),
3766 AOM_ICDF(18934), AOM_ICDF(19878), AOM_ICDF(25115), AOM_ICDF(27238),
3767 AOM_ICDF(27972), AOM_ICDF(29583), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003768 },
3769 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003770 { AOM_ICDF(10880), AOM_ICDF(12163), AOM_ICDF(14497), AOM_ICDF(17112),
3771 AOM_ICDF(20859), AOM_ICDF(22562), AOM_ICDF(23599), AOM_ICDF(24638),
3772 AOM_ICDF(26861), AOM_ICDF(29399), AOM_ICDF(32768), 0 },
3773 { AOM_ICDF(9984), AOM_ICDF(12476), AOM_ICDF(16360), AOM_ICDF(18889),
3774 AOM_ICDF(21414), AOM_ICDF(23474), AOM_ICDF(24563), AOM_ICDF(25909),
3775 AOM_ICDF(27195), AOM_ICDF(28828), AOM_ICDF(32768), 0 },
3776 { AOM_ICDF(7168), AOM_ICDF(9268), AOM_ICDF(10737), AOM_ICDF(20063),
3777 AOM_ICDF(22315), AOM_ICDF(23302), AOM_ICDF(24152), AOM_ICDF(25195),
3778 AOM_ICDF(26645), AOM_ICDF(28845), AOM_ICDF(32768), 0 },
3779 { AOM_ICDF(8960), AOM_ICDF(10727), AOM_ICDF(12449), AOM_ICDF(14263),
3780 AOM_ICDF(16523), AOM_ICDF(17608), AOM_ICDF(23352), AOM_ICDF(24676),
3781 AOM_ICDF(26478), AOM_ICDF(28886), AOM_ICDF(32768), 0 },
3782 { AOM_ICDF(9856), AOM_ICDF(11109), AOM_ICDF(13309), AOM_ICDF(14975),
3783 AOM_ICDF(19055), AOM_ICDF(21670), AOM_ICDF(23144), AOM_ICDF(24460),
3784 AOM_ICDF(26212), AOM_ICDF(28107), AOM_ICDF(32768), 0 },
3785 { AOM_ICDF(9984), AOM_ICDF(11586), AOM_ICDF(14565), AOM_ICDF(16562),
3786 AOM_ICDF(21107), AOM_ICDF(25444), AOM_ICDF(27218), AOM_ICDF(29429),
3787 AOM_ICDF(31451), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3788 { AOM_ICDF(7168), AOM_ICDF(8268), AOM_ICDF(9704), AOM_ICDF(13144),
3789 AOM_ICDF(18443), AOM_ICDF(20065), AOM_ICDF(21653), AOM_ICDF(23607),
3790 AOM_ICDF(26506), AOM_ICDF(28854), AOM_ICDF(32768), 0 },
3791 { AOM_ICDF(11520), AOM_ICDF(13014), AOM_ICDF(14866), AOM_ICDF(18136),
3792 AOM_ICDF(20231), AOM_ICDF(21509), AOM_ICDF(23004), AOM_ICDF(24186),
3793 AOM_ICDF(25728), AOM_ICDF(29468), AOM_ICDF(32768), 0 },
3794 { AOM_ICDF(10240), AOM_ICDF(12264), AOM_ICDF(14507), AOM_ICDF(16388),
3795 AOM_ICDF(18888), AOM_ICDF(20927), AOM_ICDF(22731), AOM_ICDF(24691),
3796 AOM_ICDF(26142), AOM_ICDF(28394), AOM_ICDF(32768), 0 },
3797 { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(12921), AOM_ICDF(15952),
3798 AOM_ICDF(19960), AOM_ICDF(19976), AOM_ICDF(21275), AOM_ICDF(23205),
3799 AOM_ICDF(25110), AOM_ICDF(26636), AOM_ICDF(32768), 0 },
3800 { AOM_ICDF(8448), AOM_ICDF(11488), AOM_ICDF(14065), AOM_ICDF(19113),
3801 AOM_ICDF(21604), AOM_ICDF(22978), AOM_ICDF(24508), AOM_ICDF(25895),
3802 AOM_ICDF(27398), AOM_ICDF(29055), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003803 },
3804 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003805 { AOM_ICDF(10368), AOM_ICDF(11768), AOM_ICDF(16772), AOM_ICDF(19842),
3806 AOM_ICDF(22940), AOM_ICDF(27394), AOM_ICDF(28528), AOM_ICDF(30267),
3807 AOM_ICDF(31371), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3808 { AOM_ICDF(9472), AOM_ICDF(11292), AOM_ICDF(18507), AOM_ICDF(20777),
3809 AOM_ICDF(23357), AOM_ICDF(27587), AOM_ICDF(28902), AOM_ICDF(30850),
3810 AOM_ICDF(31607), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3811 { AOM_ICDF(8064), AOM_ICDF(9512), AOM_ICDF(13782), AOM_ICDF(20645),
3812 AOM_ICDF(24493), AOM_ICDF(26242), AOM_ICDF(28001), AOM_ICDF(29435),
3813 AOM_ICDF(30438), AOM_ICDF(32759), AOM_ICDF(32768), 0 },
3814 { AOM_ICDF(8960), AOM_ICDF(10541), AOM_ICDF(15664), AOM_ICDF(17639),
3815 AOM_ICDF(19646), AOM_ICDF(22145), AOM_ICDF(25216), AOM_ICDF(28815),
3816 AOM_ICDF(30050), AOM_ICDF(32757), AOM_ICDF(32768), 0 },
3817 { AOM_ICDF(9984), AOM_ICDF(11141), AOM_ICDF(15365), AOM_ICDF(16746),
3818 AOM_ICDF(21186), AOM_ICDF(25766), AOM_ICDF(27817), AOM_ICDF(30022),
3819 AOM_ICDF(31309), AOM_ICDF(32762), AOM_ICDF(32768), 0 },
3820 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(16639), AOM_ICDF(17735),
3821 AOM_ICDF(21499), AOM_ICDF(26657), AOM_ICDF(28161), AOM_ICDF(30572),
3822 AOM_ICDF(31490), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3823 { AOM_ICDF(8448), AOM_ICDF(9303), AOM_ICDF(13611), AOM_ICDF(16636),
3824 AOM_ICDF(20555), AOM_ICDF(23414), AOM_ICDF(24912), AOM_ICDF(27613),
3825 AOM_ICDF(29727), AOM_ICDF(32756), AOM_ICDF(32768), 0 },
3826 { AOM_ICDF(9984), AOM_ICDF(11052), AOM_ICDF(16142), AOM_ICDF(19312),
3827 AOM_ICDF(21680), AOM_ICDF(23870), AOM_ICDF(25504), AOM_ICDF(28200),
3828 AOM_ICDF(29324), AOM_ICDF(32755), AOM_ICDF(32768), 0 },
3829 { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(16955), AOM_ICDF(18839),
3830 AOM_ICDF(21144), AOM_ICDF(24861), AOM_ICDF(26838), AOM_ICDF(29988),
3831 AOM_ICDF(30976), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
3832 { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
3833 AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
3834 AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
3835 { AOM_ICDF(7424), AOM_ICDF(10097), AOM_ICDF(15588), AOM_ICDF(20217),
3836 AOM_ICDF(23899), AOM_ICDF(26460), AOM_ICDF(28308), AOM_ICDF(30155),
3837 AOM_ICDF(30951), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003838 },
3839 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003840 { AOM_ICDF(11648), AOM_ICDF(13133), AOM_ICDF(15050), AOM_ICDF(20481),
3841 AOM_ICDF(22470), AOM_ICDF(23425), AOM_ICDF(24337), AOM_ICDF(25160),
3842 AOM_ICDF(28964), AOM_ICDF(30480), AOM_ICDF(32768), 0 },
3843 { AOM_ICDF(10240), AOM_ICDF(12616), AOM_ICDF(16631), AOM_ICDF(20485),
3844 AOM_ICDF(22290), AOM_ICDF(23628), AOM_ICDF(25235), AOM_ICDF(26353),
3845 AOM_ICDF(28107), AOM_ICDF(29655), AOM_ICDF(32768), 0 },
3846 { AOM_ICDF(6784), AOM_ICDF(8002), AOM_ICDF(9066), AOM_ICDF(20038),
3847 AOM_ICDF(22926), AOM_ICDF(23324), AOM_ICDF(23951), AOM_ICDF(24537),
3848 AOM_ICDF(26916), AOM_ICDF(30231), AOM_ICDF(32768), 0 },
3849 { AOM_ICDF(11904), AOM_ICDF(14105), AOM_ICDF(15782), AOM_ICDF(19896),
3850 AOM_ICDF(22283), AOM_ICDF(23147), AOM_ICDF(24763), AOM_ICDF(25983),
3851 AOM_ICDF(27812), AOM_ICDF(29980), AOM_ICDF(32768), 0 },
3852 { AOM_ICDF(10624), AOM_ICDF(11922), AOM_ICDF(13632), AOM_ICDF(15941),
3853 AOM_ICDF(20469), AOM_ICDF(22453), AOM_ICDF(24065), AOM_ICDF(25187),
3854 AOM_ICDF(27349), AOM_ICDF(29296), AOM_ICDF(32768), 0 },
3855 { AOM_ICDF(12032), AOM_ICDF(13085), AOM_ICDF(15468), AOM_ICDF(17768),
3856 AOM_ICDF(20613), AOM_ICDF(24388), AOM_ICDF(26385), AOM_ICDF(28430),
3857 AOM_ICDF(30938), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
3858 { AOM_ICDF(9728), AOM_ICDF(10538), AOM_ICDF(11493), AOM_ICDF(14765),
3859 AOM_ICDF(18460), AOM_ICDF(19471), AOM_ICDF(20302), AOM_ICDF(20935),
3860 AOM_ICDF(28192), AOM_ICDF(29926), AOM_ICDF(32768), 0 },
3861 { AOM_ICDF(8960), AOM_ICDF(9890), AOM_ICDF(10962), AOM_ICDF(16685),
3862 AOM_ICDF(18880), AOM_ICDF(19480), AOM_ICDF(20674), AOM_ICDF(21477),
3863 AOM_ICDF(23815), AOM_ICDF(29341), AOM_ICDF(32768), 0 },
3864 { AOM_ICDF(14592), AOM_ICDF(16367), AOM_ICDF(17712), AOM_ICDF(20293),
3865 AOM_ICDF(22544), AOM_ICDF(23829), AOM_ICDF(24877), AOM_ICDF(26326),
3866 AOM_ICDF(27660), AOM_ICDF(29875), AOM_ICDF(32768), 0 },
3867 { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12279), AOM_ICDF(16206),
3868 AOM_ICDF(18672), AOM_ICDF(18682), AOM_ICDF(20058), AOM_ICDF(21547),
3869 AOM_ICDF(25097), AOM_ICDF(27165), AOM_ICDF(32768), 0 },
3870 { AOM_ICDF(11136), AOM_ICDF(13840), AOM_ICDF(15762), AOM_ICDF(21710),
3871 AOM_ICDF(23038), AOM_ICDF(23734), AOM_ICDF(24863), AOM_ICDF(25882),
3872 AOM_ICDF(27765), AOM_ICDF(30071), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003873 },
3874 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003875 { AOM_ICDF(12544), AOM_ICDF(14124), AOM_ICDF(16964), AOM_ICDF(21907),
3876 AOM_ICDF(23808), AOM_ICDF(24496), AOM_ICDF(25724), AOM_ICDF(26715),
3877 AOM_ICDF(27992), AOM_ICDF(30455), AOM_ICDF(32768), 0 },
3878 { AOM_ICDF(10368), AOM_ICDF(13606), AOM_ICDF(18247), AOM_ICDF(20869),
3879 AOM_ICDF(22590), AOM_ICDF(23749), AOM_ICDF(25088), AOM_ICDF(26378),
3880 AOM_ICDF(27277), AOM_ICDF(29808), AOM_ICDF(32768), 0 },
3881 { AOM_ICDF(9088), AOM_ICDF(11031), AOM_ICDF(12899), AOM_ICDF(23497),
3882 AOM_ICDF(24465), AOM_ICDF(24851), AOM_ICDF(25995), AOM_ICDF(26815),
3883 AOM_ICDF(27885), AOM_ICDF(30555), AOM_ICDF(32768), 0 },
3884 { AOM_ICDF(11520), AOM_ICDF(14342), AOM_ICDF(15710), AOM_ICDF(19196),
3885 AOM_ICDF(21250), AOM_ICDF(21907), AOM_ICDF(24665), AOM_ICDF(26153),
3886 AOM_ICDF(27212), AOM_ICDF(30750), AOM_ICDF(32768), 0 },
3887 { AOM_ICDF(9984), AOM_ICDF(11764), AOM_ICDF(13979), AOM_ICDF(16405),
3888 AOM_ICDF(19279), AOM_ICDF(20658), AOM_ICDF(23354), AOM_ICDF(25266),
3889 AOM_ICDF(26702), AOM_ICDF(29380), AOM_ICDF(32768), 0 },
3890 { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15918), AOM_ICDF(19060),
3891 AOM_ICDF(21829), AOM_ICDF(23882), AOM_ICDF(26277), AOM_ICDF(27697),
3892 AOM_ICDF(30114), AOM_ICDF(32758), AOM_ICDF(32768), 0 },
3893 { AOM_ICDF(9344), AOM_ICDF(10534), AOM_ICDF(12184), AOM_ICDF(16208),
3894 AOM_ICDF(19764), AOM_ICDF(20627), AOM_ICDF(22524), AOM_ICDF(23644),
3895 AOM_ICDF(26887), AOM_ICDF(29782), AOM_ICDF(32768), 0 },
3896 { AOM_ICDF(12928), AOM_ICDF(14013), AOM_ICDF(15625), AOM_ICDF(19107),
3897 AOM_ICDF(20654), AOM_ICDF(21451), AOM_ICDF(22910), AOM_ICDF(23873),
3898 AOM_ICDF(24776), AOM_ICDF(30239), AOM_ICDF(32768), 0 },
3899 { AOM_ICDF(10368), AOM_ICDF(12818), AOM_ICDF(14610), AOM_ICDF(17350),
3900 AOM_ICDF(19568), AOM_ICDF(20710), AOM_ICDF(22971), AOM_ICDF(25114),
3901 AOM_ICDF(26340), AOM_ICDF(29127), AOM_ICDF(32768), 0 },
3902 { AOM_ICDF(8960), AOM_ICDF(11192), AOM_ICDF(13720), AOM_ICDF(18429),
3903 AOM_ICDF(20409), AOM_ICDF(20417), AOM_ICDF(22250), AOM_ICDF(23318),
3904 AOM_ICDF(24647), AOM_ICDF(27248), AOM_ICDF(32768), 0 },
3905 { AOM_ICDF(7808), AOM_ICDF(11416), AOM_ICDF(13918), AOM_ICDF(19028),
3906 AOM_ICDF(20181), AOM_ICDF(20839), AOM_ICDF(24380), AOM_ICDF(26018),
3907 AOM_ICDF(26967), AOM_ICDF(29845), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003908 },
3909 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003910 { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(14928), AOM_ICDF(18159),
3911 AOM_ICDF(19421), AOM_ICDF(20921), AOM_ICDF(23466), AOM_ICDF(26664),
3912 AOM_ICDF(27475), AOM_ICDF(28881), AOM_ICDF(32768), 0 },
3913 { AOM_ICDF(8704), AOM_ICDF(10302), AOM_ICDF(17323), AOM_ICDF(18907),
3914 AOM_ICDF(19868), AOM_ICDF(21184), AOM_ICDF(24171), AOM_ICDF(28033),
3915 AOM_ICDF(28625), AOM_ICDF(29353), AOM_ICDF(32768), 0 },
3916 { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(12604), AOM_ICDF(20616),
3917 AOM_ICDF(21514), AOM_ICDF(22371), AOM_ICDF(24239), AOM_ICDF(26138),
3918 AOM_ICDF(26863), AOM_ICDF(29239), AOM_ICDF(32768), 0 },
3919 { AOM_ICDF(11264), AOM_ICDF(12524), AOM_ICDF(16083), AOM_ICDF(18574),
3920 AOM_ICDF(19858), AOM_ICDF(20841), AOM_ICDF(24242), AOM_ICDF(27606),
3921 AOM_ICDF(28352), AOM_ICDF(29853), AOM_ICDF(32768), 0 },
3922 { AOM_ICDF(8704), AOM_ICDF(10208), AOM_ICDF(13292), AOM_ICDF(15170),
3923 AOM_ICDF(17277), AOM_ICDF(19226), AOM_ICDF(22083), AOM_ICDF(25046),
3924 AOM_ICDF(26041), AOM_ICDF(27802), AOM_ICDF(32768), 0 },
3925 { AOM_ICDF(9088), AOM_ICDF(10568), AOM_ICDF(15511), AOM_ICDF(17246),
3926 AOM_ICDF(20170), AOM_ICDF(22791), AOM_ICDF(25558), AOM_ICDF(30740),
3927 AOM_ICDF(31635), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
3928 { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(10653), AOM_ICDF(13145),
3929 AOM_ICDF(15286), AOM_ICDF(16614), AOM_ICDF(19075), AOM_ICDF(23140),
3930 AOM_ICDF(26224), AOM_ICDF(28652), AOM_ICDF(32768), 0 },
3931 { AOM_ICDF(10240), AOM_ICDF(11032), AOM_ICDF(14258), AOM_ICDF(17629),
3932 AOM_ICDF(18914), AOM_ICDF(19898), AOM_ICDF(22412), AOM_ICDF(24961),
3933 AOM_ICDF(25815), AOM_ICDF(29156), AOM_ICDF(32768), 0 },
3934 { AOM_ICDF(11008), AOM_ICDF(12028), AOM_ICDF(14702), AOM_ICDF(16147),
3935 AOM_ICDF(17209), AOM_ICDF(18160), AOM_ICDF(21812), AOM_ICDF(27547),
3936 AOM_ICDF(28709), AOM_ICDF(30120), AOM_ICDF(32768), 0 },
3937 { AOM_ICDF(7168), AOM_ICDF(9068), AOM_ICDF(14160), AOM_ICDF(16937),
3938 AOM_ICDF(18515), AOM_ICDF(18521), AOM_ICDF(20636), AOM_ICDF(24617),
3939 AOM_ICDF(25317), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
3940 { AOM_ICDF(6784), AOM_ICDF(8510), AOM_ICDF(14195), AOM_ICDF(17148),
3941 AOM_ICDF(18158), AOM_ICDF(19201), AOM_ICDF(23070), AOM_ICDF(27351),
3942 AOM_ICDF(27901), AOM_ICDF(29422), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003943 },
3944 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003945 { AOM_ICDF(10112), AOM_ICDF(11528), AOM_ICDF(15345), AOM_ICDF(19296),
3946 AOM_ICDF(21394), AOM_ICDF(21402), AOM_ICDF(22379), AOM_ICDF(23840),
3947 AOM_ICDF(24851), AOM_ICDF(26150), AOM_ICDF(32768), 0 },
3948 { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(17949), AOM_ICDF(20052),
3949 AOM_ICDF(22051), AOM_ICDF(22059), AOM_ICDF(23147), AOM_ICDF(24688),
3950 AOM_ICDF(25351), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
3951 { AOM_ICDF(6528), AOM_ICDF(8373), AOM_ICDF(11041), AOM_ICDF(21963),
3952 AOM_ICDF(23089), AOM_ICDF(23093), AOM_ICDF(24076), AOM_ICDF(24925),
3953 AOM_ICDF(25691), AOM_ICDF(27764), AOM_ICDF(32768), 0 },
3954 { AOM_ICDF(9600), AOM_ICDF(11229), AOM_ICDF(14847), AOM_ICDF(17527),
3955 AOM_ICDF(19738), AOM_ICDF(19747), AOM_ICDF(21629), AOM_ICDF(23761),
3956 AOM_ICDF(24957), AOM_ICDF(27673), AOM_ICDF(32768), 0 },
3957 { AOM_ICDF(8960), AOM_ICDF(10262), AOM_ICDF(13339), AOM_ICDF(15480),
3958 AOM_ICDF(19925), AOM_ICDF(19942), AOM_ICDF(21445), AOM_ICDF(23037),
3959 AOM_ICDF(24329), AOM_ICDF(25977), AOM_ICDF(32768), 0 },
3960 { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
3961 AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
3962 AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
3963 { AOM_ICDF(9472), AOM_ICDF(10564), AOM_ICDF(13426), AOM_ICDF(16561),
3964 AOM_ICDF(19685), AOM_ICDF(19697), AOM_ICDF(21076), AOM_ICDF(22583),
3965 AOM_ICDF(24891), AOM_ICDF(26983), AOM_ICDF(32768), 0 },
3966 { AOM_ICDF(8448), AOM_ICDF(9493), AOM_ICDF(12221), AOM_ICDF(16542),
3967 AOM_ICDF(18394), AOM_ICDF(18401), AOM_ICDF(19580), AOM_ICDF(20971),
3968 AOM_ICDF(22031), AOM_ICDF(26770), AOM_ICDF(32768), 0 },
3969 { AOM_ICDF(8704), AOM_ICDF(10772), AOM_ICDF(14209), AOM_ICDF(16381),
3970 AOM_ICDF(18911), AOM_ICDF(18921), AOM_ICDF(20436), AOM_ICDF(23374),
3971 AOM_ICDF(24475), AOM_ICDF(26095), AOM_ICDF(32768), 0 },
3972 { AOM_ICDF(7680), AOM_ICDF(9444), AOM_ICDF(13453), AOM_ICDF(16320),
3973 AOM_ICDF(18650), AOM_ICDF(18659), AOM_ICDF(19651), AOM_ICDF(21291),
3974 AOM_ICDF(22277), AOM_ICDF(23916), AOM_ICDF(32768), 0 },
3975 { AOM_ICDF(6656), AOM_ICDF(9920), AOM_ICDF(14740), AOM_ICDF(19864),
3976 AOM_ICDF(21495), AOM_ICDF(21501), AOM_ICDF(22953), AOM_ICDF(24372),
3977 AOM_ICDF(25192), AOM_ICDF(26760), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003978 },
3979 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003980 { AOM_ICDF(9728), AOM_ICDF(13958), AOM_ICDF(18881), AOM_ICDF(23624),
3981 AOM_ICDF(24754), AOM_ICDF(25553), AOM_ICDF(26709), AOM_ICDF(27940),
3982 AOM_ICDF(28977), AOM_ICDF(30413), AOM_ICDF(32768), 0 },
3983 { AOM_ICDF(8832), AOM_ICDF(12572), AOM_ICDF(22433), AOM_ICDF(24653),
3984 AOM_ICDF(25676), AOM_ICDF(26551), AOM_ICDF(27571), AOM_ICDF(28688),
3985 AOM_ICDF(29198), AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3986 { AOM_ICDF(5888), AOM_ICDF(8828), AOM_ICDF(11353), AOM_ICDF(23482),
3987 AOM_ICDF(24310), AOM_ICDF(24737), AOM_ICDF(25804), AOM_ICDF(26375),
3988 AOM_ICDF(27174), AOM_ICDF(29840), AOM_ICDF(32768), 0 },
3989 { AOM_ICDF(9984), AOM_ICDF(13099), AOM_ICDF(16249), AOM_ICDF(19443),
3990 AOM_ICDF(20990), AOM_ICDF(22637), AOM_ICDF(24576), AOM_ICDF(25952),
3991 AOM_ICDF(26884), AOM_ICDF(29435), AOM_ICDF(32768), 0 },
3992 { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(15085), AOM_ICDF(18134),
3993 AOM_ICDF(20319), AOM_ICDF(21992), AOM_ICDF(23549), AOM_ICDF(24989),
3994 AOM_ICDF(27177), AOM_ICDF(29208), AOM_ICDF(32768), 0 },
3995 { AOM_ICDF(9856), AOM_ICDF(13168), AOM_ICDF(18987), AOM_ICDF(22481),
3996 AOM_ICDF(24282), AOM_ICDF(26200), AOM_ICDF(27868), AOM_ICDF(30203),
3997 AOM_ICDF(31085), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
3998 { AOM_ICDF(6784), AOM_ICDF(9119), AOM_ICDF(12629), AOM_ICDF(16877),
3999 AOM_ICDF(20262), AOM_ICDF(21125), AOM_ICDF(22307), AOM_ICDF(23615),
4000 AOM_ICDF(27727), AOM_ICDF(29972), AOM_ICDF(32768), 0 },
4001 { AOM_ICDF(8320), AOM_ICDF(10230), AOM_ICDF(12783), AOM_ICDF(19005),
4002 AOM_ICDF(20213), AOM_ICDF(20668), AOM_ICDF(22039), AOM_ICDF(23045),
4003 AOM_ICDF(24146), AOM_ICDF(30478), AOM_ICDF(32768), 0 },
4004 { AOM_ICDF(9088), AOM_ICDF(11308), AOM_ICDF(15416), AOM_ICDF(18118),
4005 AOM_ICDF(19762), AOM_ICDF(20906), AOM_ICDF(22574), AOM_ICDF(25162),
4006 AOM_ICDF(25994), AOM_ICDF(28455), AOM_ICDF(32768), 0 },
4007 { AOM_ICDF(6912), AOM_ICDF(10548), AOM_ICDF(15148), AOM_ICDF(20026),
4008 AOM_ICDF(21612), AOM_ICDF(21618), AOM_ICDF(22707), AOM_ICDF(24200),
4009 AOM_ICDF(24869), AOM_ICDF(26844), AOM_ICDF(32768), 0 },
4010 { AOM_ICDF(6656), AOM_ICDF(12164), AOM_ICDF(16993), AOM_ICDF(21568),
4011 AOM_ICDF(22933), AOM_ICDF(23648), AOM_ICDF(25322), AOM_ICDF(26602),
4012 AOM_ICDF(27806), AOM_ICDF(29841), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004013 },
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004014#endif // CONFIG_SMOOTH_HV
4015#else // CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004016 { { AOM_ICDF(17536), AOM_ICDF(19321), AOM_ICDF(21527), AOM_ICDF(25360),
4017 AOM_ICDF(27516), AOM_ICDF(28026), AOM_ICDF(29323), AOM_ICDF(30023),
4018 AOM_ICDF(30999), AOM_ICDF(32768), 0 },
4019 { AOM_ICDF(11776), AOM_ICDF(15466), AOM_ICDF(22360), AOM_ICDF(24865),
4020 AOM_ICDF(26991), AOM_ICDF(27889), AOM_ICDF(29299), AOM_ICDF(30519),
4021 AOM_ICDF(31398), AOM_ICDF(32768), 0 },
4022 { AOM_ICDF(9344), AOM_ICDF(12272), AOM_ICDF(13793), AOM_ICDF(25813),
4023 AOM_ICDF(27359), AOM_ICDF(27654), AOM_ICDF(28573), AOM_ICDF(29130),
4024 AOM_ICDF(30551), AOM_ICDF(32768), 0 },
4025 { AOM_ICDF(11648), AOM_ICDF(14123), AOM_ICDF(16454), AOM_ICDF(19948),
4026 AOM_ICDF(22780), AOM_ICDF(23846), AOM_ICDF(27087), AOM_ICDF(28995),
4027 AOM_ICDF(30380), AOM_ICDF(32768), 0 },
4028 { AOM_ICDF(9216), AOM_ICDF(12436), AOM_ICDF(15295), AOM_ICDF(17996),
4029 AOM_ICDF(24006), AOM_ICDF(25465), AOM_ICDF(27405), AOM_ICDF(28725),
4030 AOM_ICDF(30383), AOM_ICDF(32768), 0 },
4031 { AOM_ICDF(9344), AOM_ICDF(12181), AOM_ICDF(14433), AOM_ICDF(16634),
4032 AOM_ICDF(20355), AOM_ICDF(24317), AOM_ICDF(26133), AOM_ICDF(29295),
4033 AOM_ICDF(31344), AOM_ICDF(32768), 0 },
4034 { AOM_ICDF(8576), AOM_ICDF(10750), AOM_ICDF(12556), AOM_ICDF(17996),
4035 AOM_ICDF(22315), AOM_ICDF(23609), AOM_ICDF(25040), AOM_ICDF(26157),
4036 AOM_ICDF(30573), AOM_ICDF(32768), 0 },
4037 { AOM_ICDF(11008), AOM_ICDF(13303), AOM_ICDF(15432), AOM_ICDF(20646),
4038 AOM_ICDF(23506), AOM_ICDF(24100), AOM_ICDF(25624), AOM_ICDF(26824),
4039 AOM_ICDF(28055), AOM_ICDF(32768), 0 },
4040 { AOM_ICDF(9472), AOM_ICDF(12384), AOM_ICDF(14534), AOM_ICDF(17094),
4041 AOM_ICDF(20257), AOM_ICDF(22155), AOM_ICDF(24767), AOM_ICDF(28955),
4042 AOM_ICDF(30474), AOM_ICDF(32768), 0 },
4043 { AOM_ICDF(7552), AOM_ICDF(14152), AOM_ICDF(17352), AOM_ICDF(22654),
4044 AOM_ICDF(25123), AOM_ICDF(25783), AOM_ICDF(27911), AOM_ICDF(29182),
4045 AOM_ICDF(30849), AOM_ICDF(32768), 0 } },
4046 { { AOM_ICDF(8064), AOM_ICDF(11538), AOM_ICDF(21987), AOM_ICDF(24941),
4047 AOM_ICDF(26913), AOM_ICDF(28136), AOM_ICDF(29222), AOM_ICDF(30469),
4048 AOM_ICDF(31331), AOM_ICDF(32768), 0 },
4049 { AOM_ICDF(5504), AOM_ICDF(10403), AOM_ICDF(25080), AOM_ICDF(26762),
4050 AOM_ICDF(27933), AOM_ICDF(29104), AOM_ICDF(30092), AOM_ICDF(31576),
4051 AOM_ICDF(32004), AOM_ICDF(32768), 0 },
4052 { AOM_ICDF(5632), AOM_ICDF(8706), AOM_ICDF(15097), AOM_ICDF(23714),
4053 AOM_ICDF(25344), AOM_ICDF(26072), AOM_ICDF(27380), AOM_ICDF(28580),
4054 AOM_ICDF(29840), AOM_ICDF(32768), 0 },
4055 { AOM_ICDF(7424), AOM_ICDF(11186), AOM_ICDF(17593), AOM_ICDF(20154),
4056 AOM_ICDF(22974), AOM_ICDF(24351), AOM_ICDF(26916), AOM_ICDF(29956),
4057 AOM_ICDF(30967), AOM_ICDF(32768), 0 },
4058 { AOM_ICDF(5888), AOM_ICDF(10193), AOM_ICDF(16895), AOM_ICDF(19031),
4059 AOM_ICDF(23735), AOM_ICDF(25576), AOM_ICDF(27514), AOM_ICDF(29813),
4060 AOM_ICDF(30471), AOM_ICDF(32768), 0 },
4061 { AOM_ICDF(4864), AOM_ICDF(8352), AOM_ICDF(16459), AOM_ICDF(18062),
4062 AOM_ICDF(21263), AOM_ICDF(25378), AOM_ICDF(26937), AOM_ICDF(30376),
4063 AOM_ICDF(31619), AOM_ICDF(32768), 0 },
4064 { AOM_ICDF(4992), AOM_ICDF(7922), AOM_ICDF(13842), AOM_ICDF(18004),
4065 AOM_ICDF(21779), AOM_ICDF(23527), AOM_ICDF(25115), AOM_ICDF(27357),
4066 AOM_ICDF(30232), AOM_ICDF(32768), 0 },
4067 { AOM_ICDF(6656), AOM_ICDF(9716), AOM_ICDF(16379), AOM_ICDF(20053),
4068 AOM_ICDF(22487), AOM_ICDF(23613), AOM_ICDF(25437), AOM_ICDF(27270),
4069 AOM_ICDF(28516), AOM_ICDF(32768), 0 },
4070 { AOM_ICDF(6016), AOM_ICDF(9674), AOM_ICDF(16891), AOM_ICDF(18684),
4071 AOM_ICDF(21147), AOM_ICDF(23093), AOM_ICDF(25512), AOM_ICDF(30132),
4072 AOM_ICDF(30894), AOM_ICDF(32768), 0 },
4073 { AOM_ICDF(4608), AOM_ICDF(11318), AOM_ICDF(21038), AOM_ICDF(23650),
4074 AOM_ICDF(25303), AOM_ICDF(26262), AOM_ICDF(28295), AOM_ICDF(30479),
4075 AOM_ICDF(31212), AOM_ICDF(32768), 0 } },
4076 { { AOM_ICDF(10496), AOM_ICDF(12758), AOM_ICDF(14790), AOM_ICDF(24547),
4077 AOM_ICDF(26342), AOM_ICDF(26799), AOM_ICDF(27825), AOM_ICDF(28443),
4078 AOM_ICDF(30217), AOM_ICDF(32768), 0 },
4079 { AOM_ICDF(7040), AOM_ICDF(11462), AOM_ICDF(17121), AOM_ICDF(24215),
4080 AOM_ICDF(26504), AOM_ICDF(27267), AOM_ICDF(28492), AOM_ICDF(29444),
4081 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
4082 { AOM_ICDF(5376), AOM_ICDF(8158), AOM_ICDF(9215), AOM_ICDF(26451),
4083 AOM_ICDF(27407), AOM_ICDF(27524), AOM_ICDF(27995), AOM_ICDF(28275),
4084 AOM_ICDF(29767), AOM_ICDF(32768), 0 },
4085 { AOM_ICDF(8704), AOM_ICDF(12652), AOM_ICDF(14145), AOM_ICDF(20101),
4086 AOM_ICDF(22879), AOM_ICDF(23675), AOM_ICDF(25629), AOM_ICDF(27079),
4087 AOM_ICDF(28923), AOM_ICDF(32768), 0 },
4088 { AOM_ICDF(7424), AOM_ICDF(12374), AOM_ICDF(14366), AOM_ICDF(18855),
4089 AOM_ICDF(23842), AOM_ICDF(24358), AOM_ICDF(25639), AOM_ICDF(27087),
4090 AOM_ICDF(29706), AOM_ICDF(32768), 0 },
4091 { AOM_ICDF(6400), AOM_ICDF(10005), AOM_ICDF(12939), AOM_ICDF(17753),
4092 AOM_ICDF(22206), AOM_ICDF(24790), AOM_ICDF(26785), AOM_ICDF(28164),
4093 AOM_ICDF(30520), AOM_ICDF(32768), 0 },
4094 { AOM_ICDF(5632), AOM_ICDF(8176), AOM_ICDF(9713), AOM_ICDF(19053),
4095 AOM_ICDF(22343), AOM_ICDF(23222), AOM_ICDF(24453), AOM_ICDF(25070),
4096 AOM_ICDF(29761), AOM_ICDF(32768), 0 },
4097 { AOM_ICDF(7040), AOM_ICDF(9754), AOM_ICDF(10833), AOM_ICDF(21229),
4098 AOM_ICDF(23540), AOM_ICDF(23943), AOM_ICDF(24839), AOM_ICDF(25675),
4099 AOM_ICDF(27033), AOM_ICDF(32768), 0 },
4100 { AOM_ICDF(6784), AOM_ICDF(11758), AOM_ICDF(13481), AOM_ICDF(17236),
4101 AOM_ICDF(20210), AOM_ICDF(21768), AOM_ICDF(24303), AOM_ICDF(26948),
4102 AOM_ICDF(28676), AOM_ICDF(32768), 0 },
4103 { AOM_ICDF(4864), AOM_ICDF(12712), AOM_ICDF(14201), AOM_ICDF(23863),
4104 AOM_ICDF(25952), AOM_ICDF(26386), AOM_ICDF(27632), AOM_ICDF(28635),
4105 AOM_ICDF(30362), AOM_ICDF(32768), 0 } },
4106 { { AOM_ICDF(13184), AOM_ICDF(15173), AOM_ICDF(17647), AOM_ICDF(21576),
4107 AOM_ICDF(24474), AOM_ICDF(25267), AOM_ICDF(27699), AOM_ICDF(29283),
4108 AOM_ICDF(30549), AOM_ICDF(32768), 0 },
4109 { AOM_ICDF(7552), AOM_ICDF(11295), AOM_ICDF(18257), AOM_ICDF(20811),
4110 AOM_ICDF(23213), AOM_ICDF(24606), AOM_ICDF(27731), AOM_ICDF(30407),
4111 AOM_ICDF(31237), AOM_ICDF(32768), 0 },
4112 { AOM_ICDF(7936), AOM_ICDF(10846), AOM_ICDF(12816), AOM_ICDF(22436),
4113 AOM_ICDF(24614), AOM_ICDF(25130), AOM_ICDF(26890), AOM_ICDF(28199),
4114 AOM_ICDF(29091), AOM_ICDF(32768), 0 },
4115 { AOM_ICDF(8576), AOM_ICDF(11411), AOM_ICDF(13830), AOM_ICDF(15918),
4116 AOM_ICDF(18996), AOM_ICDF(20044), AOM_ICDF(25114), AOM_ICDF(27835),
4117 AOM_ICDF(28972), AOM_ICDF(32768), 0 },
4118 { AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13646), AOM_ICDF(15966),
4119 AOM_ICDF(21162), AOM_ICDF(22012), AOM_ICDF(24701), AOM_ICDF(27506),
4120 AOM_ICDF(29644), AOM_ICDF(32768), 0 },
4121 { AOM_ICDF(6784), AOM_ICDF(9423), AOM_ICDF(12524), AOM_ICDF(14773),
4122 AOM_ICDF(19447), AOM_ICDF(22804), AOM_ICDF(26073), AOM_ICDF(29211),
4123 AOM_ICDF(30642), AOM_ICDF(32768), 0 },
4124 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(11059), AOM_ICDF(15861),
4125 AOM_ICDF(21174), AOM_ICDF(22338), AOM_ICDF(24620), AOM_ICDF(27071),
4126 AOM_ICDF(30899), AOM_ICDF(32768), 0 },
4127 { AOM_ICDF(9856), AOM_ICDF(11557), AOM_ICDF(13960), AOM_ICDF(18525),
4128 AOM_ICDF(21788), AOM_ICDF(22189), AOM_ICDF(24462), AOM_ICDF(26603),
4129 AOM_ICDF(27470), AOM_ICDF(32768), 0 },
4130 { AOM_ICDF(7808), AOM_ICDF(10636), AOM_ICDF(13143), AOM_ICDF(15844),
4131 AOM_ICDF(18698), AOM_ICDF(20272), AOM_ICDF(24323), AOM_ICDF(30096),
4132 AOM_ICDF(31787), AOM_ICDF(32768), 0 },
4133 { AOM_ICDF(6016), AOM_ICDF(10928), AOM_ICDF(14596), AOM_ICDF(18926),
4134 AOM_ICDF(21586), AOM_ICDF(22688), AOM_ICDF(26626), AOM_ICDF(29001),
4135 AOM_ICDF(30399), AOM_ICDF(32768), 0 } },
4136 { { AOM_ICDF(8832), AOM_ICDF(10983), AOM_ICDF(13451), AOM_ICDF(16582),
4137 AOM_ICDF(21656), AOM_ICDF(23109), AOM_ICDF(24845), AOM_ICDF(26207),
4138 AOM_ICDF(28796), AOM_ICDF(32768), 0 },
4139 { AOM_ICDF(6784), AOM_ICDF(10844), AOM_ICDF(15554), AOM_ICDF(18073),
4140 AOM_ICDF(22954), AOM_ICDF(24901), AOM_ICDF(26776), AOM_ICDF(28649),
4141 AOM_ICDF(30419), AOM_ICDF(32768), 0 },
4142 { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(10072), AOM_ICDF(20108),
4143 AOM_ICDF(23535), AOM_ICDF(24346), AOM_ICDF(25761), AOM_ICDF(26418),
4144 AOM_ICDF(28675), AOM_ICDF(32768), 0 },
4145 { AOM_ICDF(7680), AOM_ICDF(11012), AOM_ICDF(12627), AOM_ICDF(14595),
4146 AOM_ICDF(19462), AOM_ICDF(20888), AOM_ICDF(23348), AOM_ICDF(25703),
4147 AOM_ICDF(28159), AOM_ICDF(32768), 0 },
4148 { AOM_ICDF(6656), AOM_ICDF(9818), AOM_ICDF(11790), AOM_ICDF(13813),
4149 AOM_ICDF(22731), AOM_ICDF(24737), AOM_ICDF(26557), AOM_ICDF(28061),
4150 AOM_ICDF(29697), AOM_ICDF(32768), 0 },
4151 { AOM_ICDF(5632), AOM_ICDF(8918), AOM_ICDF(11620), AOM_ICDF(13802),
4152 AOM_ICDF(19950), AOM_ICDF(23764), AOM_ICDF(25734), AOM_ICDF(28537),
4153 AOM_ICDF(31809), AOM_ICDF(32768), 0 },
4154 { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(7808), AOM_ICDF(12281),
4155 AOM_ICDF(19375), AOM_ICDF(20970), AOM_ICDF(22860), AOM_ICDF(24602),
4156 AOM_ICDF(29929), AOM_ICDF(32768), 0 },
4157 { AOM_ICDF(7040), AOM_ICDF(9553), AOM_ICDF(11457), AOM_ICDF(15102),
4158 AOM_ICDF(20291), AOM_ICDF(21280), AOM_ICDF(22985), AOM_ICDF(24475),
4159 AOM_ICDF(26613), AOM_ICDF(32768), 0 },
Jonathan Matthewsb28b78c2017-04-19 08:47:01 +01004160 { AOM_ICDF(6528), AOM_ICDF(10423), AOM_ICDF(12605), AOM_ICDF(14621),
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004161 AOM_ICDF(19031), AOM_ICDF(21505), AOM_ICDF(24585), AOM_ICDF(27558),
4162 AOM_ICDF(29532), AOM_ICDF(32768), 0 },
4163 { AOM_ICDF(6016), AOM_ICDF(11659), AOM_ICDF(14463), AOM_ICDF(18867),
4164 AOM_ICDF(23653), AOM_ICDF(24903), AOM_ICDF(27115), AOM_ICDF(29389),
4165 AOM_ICDF(31382), AOM_ICDF(32768), 0 } },
4166 { { AOM_ICDF(8192), AOM_ICDF(10016), AOM_ICDF(13304), AOM_ICDF(16362),
4167 AOM_ICDF(21107), AOM_ICDF(25165), AOM_ICDF(26620), AOM_ICDF(28901),
4168 AOM_ICDF(30910), AOM_ICDF(32768), 0 },
4169 { AOM_ICDF(5888), AOM_ICDF(8723), AOM_ICDF(16237), AOM_ICDF(18318),
4170 AOM_ICDF(22002), AOM_ICDF(25923), AOM_ICDF(27394), AOM_ICDF(29934),
4171 AOM_ICDF(31428), AOM_ICDF(32768), 0 },
4172 { AOM_ICDF(4608), AOM_ICDF(7138), AOM_ICDF(9841), AOM_ICDF(18442),
4173 AOM_ICDF(22447), AOM_ICDF(24618), AOM_ICDF(26337), AOM_ICDF(27945),
4174 AOM_ICDF(30168), AOM_ICDF(32768), 0 },
4175 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(12270), AOM_ICDF(14851),
4176 AOM_ICDF(19886), AOM_ICDF(22759), AOM_ICDF(25105), AOM_ICDF(28368),
4177 AOM_ICDF(29760), AOM_ICDF(32768), 0 },
4178 { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11324), AOM_ICDF(13340),
4179 AOM_ICDF(21205), AOM_ICDF(24224), AOM_ICDF(25926), AOM_ICDF(28518),
4180 AOM_ICDF(30560), AOM_ICDF(32768), 0 },
4181 { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(10058), AOM_ICDF(11237),
4182 AOM_ICDF(16807), AOM_ICDF(25937), AOM_ICDF(27218), AOM_ICDF(30015),
4183 AOM_ICDF(31348), AOM_ICDF(32768), 0 },
4184 { AOM_ICDF(4608), AOM_ICDF(6808), AOM_ICDF(9445), AOM_ICDF(12446),
4185 AOM_ICDF(18461), AOM_ICDF(21835), AOM_ICDF(23244), AOM_ICDF(26109),
4186 AOM_ICDF(30115), AOM_ICDF(32768), 0 },
4187 { AOM_ICDF(5760), AOM_ICDF(7659), AOM_ICDF(10798), AOM_ICDF(14720),
4188 AOM_ICDF(19157), AOM_ICDF(21955), AOM_ICDF(23645), AOM_ICDF(26460),
4189 AOM_ICDF(28702), AOM_ICDF(32768), 0 },
4190 { AOM_ICDF(5760), AOM_ICDF(8503), AOM_ICDF(11157), AOM_ICDF(13071),
4191 AOM_ICDF(17594), AOM_ICDF(22047), AOM_ICDF(24099), AOM_ICDF(29077),
4192 AOM_ICDF(30850), AOM_ICDF(32768), 0 },
4193 { AOM_ICDF(4864), AOM_ICDF(9660), AOM_ICDF(14264), AOM_ICDF(17105),
4194 AOM_ICDF(21528), AOM_ICDF(24094), AOM_ICDF(26025), AOM_ICDF(28580),
4195 AOM_ICDF(30559), AOM_ICDF(32768), 0 } },
4196 { { AOM_ICDF(9600), AOM_ICDF(11139), AOM_ICDF(12998), AOM_ICDF(18660),
4197 AOM_ICDF(22158), AOM_ICDF(23501), AOM_ICDF(24659), AOM_ICDF(25736),
4198 AOM_ICDF(30296), AOM_ICDF(32768), 0 },
4199 { AOM_ICDF(7168), AOM_ICDF(11068), AOM_ICDF(15984), AOM_ICDF(19969),
4200 AOM_ICDF(23169), AOM_ICDF(24704), AOM_ICDF(26216), AOM_ICDF(27572),
4201 AOM_ICDF(31368), AOM_ICDF(32768), 0 },
4202 { AOM_ICDF(4480), AOM_ICDF(6801), AOM_ICDF(8018), AOM_ICDF(20908),
4203 AOM_ICDF(23071), AOM_ICDF(23583), AOM_ICDF(24301), AOM_ICDF(25062),
4204 AOM_ICDF(29427), AOM_ICDF(32768), 0 },
4205 { AOM_ICDF(7168), AOM_ICDF(10068), AOM_ICDF(11753), AOM_ICDF(15843),
4206 AOM_ICDF(19742), AOM_ICDF(21358), AOM_ICDF(23809), AOM_ICDF(26189),
4207 AOM_ICDF(29067), AOM_ICDF(32768), 0 },
4208 { AOM_ICDF(6016), AOM_ICDF(9047), AOM_ICDF(10622), AOM_ICDF(13931),
4209 AOM_ICDF(22462), AOM_ICDF(23858), AOM_ICDF(25911), AOM_ICDF(27277),
4210 AOM_ICDF(29722), AOM_ICDF(32768), 0 },
4211 { AOM_ICDF(5888), AOM_ICDF(7568), AOM_ICDF(9931), AOM_ICDF(13533),
4212 AOM_ICDF(18431), AOM_ICDF(22063), AOM_ICDF(23777), AOM_ICDF(26025),
4213 AOM_ICDF(30555), AOM_ICDF(32768), 0 },
4214 { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(7379), AOM_ICDF(13739),
4215 AOM_ICDF(16917), AOM_ICDF(18090), AOM_ICDF(18835), AOM_ICDF(19651),
4216 AOM_ICDF(30360), AOM_ICDF(32768), 0 },
4217 { AOM_ICDF(6528), AOM_ICDF(8988), AOM_ICDF(10288), AOM_ICDF(15534),
4218 AOM_ICDF(19495), AOM_ICDF(20386), AOM_ICDF(21934), AOM_ICDF(23034),
4219 AOM_ICDF(26988), AOM_ICDF(32768), 0 },
4220 { AOM_ICDF(7040), AOM_ICDF(10055), AOM_ICDF(11652), AOM_ICDF(14757),
4221 AOM_ICDF(19622), AOM_ICDF(21715), AOM_ICDF(23615), AOM_ICDF(26761),
4222 AOM_ICDF(29483), AOM_ICDF(32768), 0 },
4223 { AOM_ICDF(4736), AOM_ICDF(10102), AOM_ICDF(12315), AOM_ICDF(19078),
4224 AOM_ICDF(21348), AOM_ICDF(22621), AOM_ICDF(24246), AOM_ICDF(26044),
4225 AOM_ICDF(29931), AOM_ICDF(32768), 0 } },
4226 { { AOM_ICDF(10496), AOM_ICDF(12410), AOM_ICDF(14955), AOM_ICDF(19891),
4227 AOM_ICDF(23137), AOM_ICDF(23792), AOM_ICDF(25159), AOM_ICDF(26378),
4228 AOM_ICDF(28125), AOM_ICDF(32768), 0 },
4229 { AOM_ICDF(7936), AOM_ICDF(12204), AOM_ICDF(17104), AOM_ICDF(20191),
4230 AOM_ICDF(23468), AOM_ICDF(24630), AOM_ICDF(26156), AOM_ICDF(27628),
4231 AOM_ICDF(28913), AOM_ICDF(32768), 0 },
4232 { AOM_ICDF(6016), AOM_ICDF(8629), AOM_ICDF(10232), AOM_ICDF(23591),
4233 AOM_ICDF(25349), AOM_ICDF(25637), AOM_ICDF(26306), AOM_ICDF(27063),
4234 AOM_ICDF(28980), AOM_ICDF(32768), 0 },
4235 { AOM_ICDF(8704), AOM_ICDF(12088), AOM_ICDF(13461), AOM_ICDF(16646),
4236 AOM_ICDF(20516), AOM_ICDF(21455), AOM_ICDF(24062), AOM_ICDF(26579),
4237 AOM_ICDF(28368), AOM_ICDF(32768), 0 },
4238 { AOM_ICDF(7296), AOM_ICDF(11177), AOM_ICDF(13117), AOM_ICDF(16196),
4239 AOM_ICDF(23378), AOM_ICDF(24708), AOM_ICDF(26440), AOM_ICDF(27997),
4240 AOM_ICDF(29078), AOM_ICDF(32768), 0 },
4241 { AOM_ICDF(6272), AOM_ICDF(9377), AOM_ICDF(12575), AOM_ICDF(15616),
4242 AOM_ICDF(20919), AOM_ICDF(23697), AOM_ICDF(26603), AOM_ICDF(27566),
4243 AOM_ICDF(29903), AOM_ICDF(32768), 0 },
4244 { AOM_ICDF(6528), AOM_ICDF(9091), AOM_ICDF(10478), AOM_ICDF(16445),
4245 AOM_ICDF(21081), AOM_ICDF(22320), AOM_ICDF(23871), AOM_ICDF(25087),
4246 AOM_ICDF(29258), AOM_ICDF(32768), 0 },
4247 { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(12499), AOM_ICDF(17340),
4248 AOM_ICDF(20656), AOM_ICDF(21288), AOM_ICDF(22588), AOM_ICDF(23701),
4249 AOM_ICDF(24693), AOM_ICDF(32768), 0 },
4250 { AOM_ICDF(7552), AOM_ICDF(11394), AOM_ICDF(12980), AOM_ICDF(15562),
4251 AOM_ICDF(19942), AOM_ICDF(21792), AOM_ICDF(25093), AOM_ICDF(28211),
4252 AOM_ICDF(28959), AOM_ICDF(32768), 0 },
4253 { AOM_ICDF(5120), AOM_ICDF(11708), AOM_ICDF(13847), AOM_ICDF(19377),
4254 AOM_ICDF(22421), AOM_ICDF(23160), AOM_ICDF(25449), AOM_ICDF(27136),
4255 AOM_ICDF(29182), AOM_ICDF(32768), 0 } },
4256 { { AOM_ICDF(9984), AOM_ICDF(12031), AOM_ICDF(15190), AOM_ICDF(18673),
4257 AOM_ICDF(21422), AOM_ICDF(22812), AOM_ICDF(25690), AOM_ICDF(29118),
4258 AOM_ICDF(30458), AOM_ICDF(32768), 0 },
4259 { AOM_ICDF(6144), AOM_ICDF(9680), AOM_ICDF(17436), AOM_ICDF(19610),
4260 AOM_ICDF(21820), AOM_ICDF(23485), AOM_ICDF(26313), AOM_ICDF(30826),
4261 AOM_ICDF(31843), AOM_ICDF(32768), 0 },
4262 { AOM_ICDF(6016), AOM_ICDF(8315), AOM_ICDF(10607), AOM_ICDF(19333),
4263 AOM_ICDF(21572), AOM_ICDF(22553), AOM_ICDF(25266), AOM_ICDF(27288),
4264 AOM_ICDF(28551), AOM_ICDF(32768), 0 },
4265 { AOM_ICDF(7168), AOM_ICDF(9668), AOM_ICDF(12646), AOM_ICDF(16257),
4266 AOM_ICDF(19648), AOM_ICDF(20899), AOM_ICDF(25304), AOM_ICDF(30465),
4267 AOM_ICDF(31625), AOM_ICDF(32768), 0 },
4268 { AOM_ICDF(6144), AOM_ICDF(9368), AOM_ICDF(11836), AOM_ICDF(14130),
4269 AOM_ICDF(19153), AOM_ICDF(21157), AOM_ICDF(24876), AOM_ICDF(28452),
4270 AOM_ICDF(29396), AOM_ICDF(32768), 0 },
4271 { AOM_ICDF(5504), AOM_ICDF(8486), AOM_ICDF(11996), AOM_ICDF(14412),
4272 AOM_ICDF(17968), AOM_ICDF(21814), AOM_ICDF(24424), AOM_ICDF(30682),
4273 AOM_ICDF(32059), AOM_ICDF(32768), 0 },
4274 { AOM_ICDF(5376), AOM_ICDF(7195), AOM_ICDF(9592), AOM_ICDF(13331),
4275 AOM_ICDF(17569), AOM_ICDF(19460), AOM_ICDF(22371), AOM_ICDF(25458),
4276 AOM_ICDF(28942), AOM_ICDF(32768), 0 },
4277 { AOM_ICDF(7424), AOM_ICDF(9206), AOM_ICDF(11783), AOM_ICDF(16456),
4278 AOM_ICDF(19253), AOM_ICDF(20390), AOM_ICDF(23775), AOM_ICDF(27007),
4279 AOM_ICDF(28425), AOM_ICDF(32768), 0 },
4280 { AOM_ICDF(5888), AOM_ICDF(8303), AOM_ICDF(11361), AOM_ICDF(13440),
4281 AOM_ICDF(15848), AOM_ICDF(17549), AOM_ICDF(21532), AOM_ICDF(29564),
4282 AOM_ICDF(30665), AOM_ICDF(32768), 0 },
4283 { AOM_ICDF(4608), AOM_ICDF(8788), AOM_ICDF(13284), AOM_ICDF(16621),
4284 AOM_ICDF(18983), AOM_ICDF(20286), AOM_ICDF(24577), AOM_ICDF(28960),
4285 AOM_ICDF(30314), AOM_ICDF(32768), 0 } },
4286 { { AOM_ICDF(8320), AOM_ICDF(15005), AOM_ICDF(19168), AOM_ICDF(24282),
4287 AOM_ICDF(26707), AOM_ICDF(27402), AOM_ICDF(28681), AOM_ICDF(29639),
4288 AOM_ICDF(30629), AOM_ICDF(32768), 0 },
4289 { AOM_ICDF(5632), AOM_ICDF(13900), AOM_ICDF(22376), AOM_ICDF(24867),
4290 AOM_ICDF(26804), AOM_ICDF(27734), AOM_ICDF(29130), AOM_ICDF(30722),
4291 AOM_ICDF(31465), AOM_ICDF(32768), 0 },
4292 { AOM_ICDF(4992), AOM_ICDF(9115), AOM_ICDF(11055), AOM_ICDF(24893),
4293 AOM_ICDF(26316), AOM_ICDF(26661), AOM_ICDF(27663), AOM_ICDF(28301),
4294 AOM_ICDF(29418), AOM_ICDF(32768), 0 },
4295 { AOM_ICDF(7424), AOM_ICDF(12077), AOM_ICDF(14987), AOM_ICDF(19596),
4296 AOM_ICDF(22615), AOM_ICDF(23600), AOM_ICDF(26465), AOM_ICDF(28484),
4297 AOM_ICDF(29789), AOM_ICDF(32768), 0 },
4298 { AOM_ICDF(6272), AOM_ICDF(11447), AOM_ICDF(14362), AOM_ICDF(18204),
4299 AOM_ICDF(23418), AOM_ICDF(24715), AOM_ICDF(26697), AOM_ICDF(28547),
4300 AOM_ICDF(29520), AOM_ICDF(32768), 0 },
4301 { AOM_ICDF(5248), AOM_ICDF(10946), AOM_ICDF(15379), AOM_ICDF(18167),
4302 AOM_ICDF(22197), AOM_ICDF(25432), AOM_ICDF(27295), AOM_ICDF(30031),
4303 AOM_ICDF(30576), AOM_ICDF(32768), 0 },
4304 { AOM_ICDF(5120), AOM_ICDF(9008), AOM_ICDF(11607), AOM_ICDF(18210),
4305 AOM_ICDF(22327), AOM_ICDF(23427), AOM_ICDF(24887), AOM_ICDF(26580),
4306 AOM_ICDF(29892), AOM_ICDF(32768), 0 },
4307 { AOM_ICDF(6656), AOM_ICDF(10124), AOM_ICDF(12689), AOM_ICDF(19922),
4308 AOM_ICDF(22480), AOM_ICDF(22807), AOM_ICDF(24441), AOM_ICDF(25579),
4309 AOM_ICDF(26787), AOM_ICDF(32768), 0 },
4310 { AOM_ICDF(5376), AOM_ICDF(10084), AOM_ICDF(13983), AOM_ICDF(17113),
4311 AOM_ICDF(19996), AOM_ICDF(21614), AOM_ICDF(24403), AOM_ICDF(28651),
4312 AOM_ICDF(29938), AOM_ICDF(32768), 0 },
4313 { AOM_ICDF(5504), AOM_ICDF(14131), AOM_ICDF(17989), AOM_ICDF(23324),
4314 AOM_ICDF(25513), AOM_ICDF(26071), AOM_ICDF(27850), AOM_ICDF(29464),
4315 AOM_ICDF(30393), AOM_ICDF(32768), 0 } },
Urvang Joshi63234542017-03-10 12:04:03 -08004316#endif // CONFIG_ALT_INTRA
4317 };
Thomas Davies1d7db722017-02-22 11:15:00 +00004318#endif // CONFIG_EC_MULTISYMBOL
4319
Yaowu Xuc27fc142016-08-22 16:08:15 -07004320static void init_mode_probs(FRAME_CONTEXT *fc) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004321 av1_copy(fc->uv_mode_prob, default_uv_probs);
4322 av1_copy(fc->y_mode_prob, default_if_y_probs);
4323 av1_copy(fc->switchable_interp_prob, default_switchable_interp_prob);
4324 av1_copy(fc->partition_prob, default_partition_probs);
4325 av1_copy(fc->intra_inter_prob, default_intra_inter_p);
4326 av1_copy(fc->comp_inter_prob, default_comp_inter_p);
4327 av1_copy(fc->comp_ref_prob, default_comp_ref_p);
Angie Chiangbabf3e72017-03-20 15:32:24 -07004328#if CONFIG_LV_MAP
4329 av1_copy(fc->txb_skip, default_txb_skip);
4330 av1_copy(fc->nz_map, default_nz_map);
4331 av1_copy(fc->eob_flag, default_eob_flag);
4332 av1_copy(fc->dc_sign, default_dc_sign);
4333 av1_copy(fc->coeff_base, default_coeff_base);
4334 av1_copy(fc->coeff_lps, default_coeff_lps);
4335#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004336#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07004337 av1_copy(fc->comp_bwdref_prob, default_comp_bwdref_p);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004338#endif // CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07004339 av1_copy(fc->single_ref_prob, default_single_ref_p);
Zoe Liu239f06b2017-04-20 13:10:55 -07004340#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
4341 av1_copy(fc->comp_inter_mode_prob, default_comp_inter_mode_p);
4342#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
Yaowu Xuf883b422016-08-30 14:01:10 -07004343 av1_copy(fc->tx_size_probs, default_tx_size_prob);
Yue Chen56e226e2017-05-02 16:21:40 -07004344#if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
4345 fc->quarter_tx_size_prob = default_quarter_tx_size_prob;
4346#endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
Yaowu Xuc27fc142016-08-22 16:08:15 -07004347#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07004348 av1_copy(fc->txfm_partition_prob, default_txfm_partition_probs);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004349#endif
Yaowu Xuf883b422016-08-30 14:01:10 -07004350 av1_copy(fc->skip_probs, default_skip_probs);
Yaowu Xuf883b422016-08-30 14:01:10 -07004351 av1_copy(fc->newmv_prob, default_newmv_prob);
4352 av1_copy(fc->zeromv_prob, default_zeromv_prob);
4353 av1_copy(fc->refmv_prob, default_refmv_prob);
4354 av1_copy(fc->drl_prob, default_drl_prob);
Yaowu Xuf883b422016-08-30 14:01:10 -07004355 av1_copy(fc->inter_mode_probs, default_inter_mode_probs);
Yue Chencb60b182016-10-13 15:18:22 -07004356#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
4357 av1_copy(fc->motion_mode_prob, default_motion_mode_prob);
Yue Chen69f18e12016-09-08 14:48:15 -07004358#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
4359 av1_copy(fc->obmc_prob, default_obmc_prob);
4360#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yue Chencb60b182016-10-13 15:18:22 -07004361#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07004362#if CONFIG_EXT_INTER
Yaowu Xuf883b422016-08-30 14:01:10 -07004363 av1_copy(fc->inter_compound_mode_probs, default_inter_compound_mode_probs);
Zoe Liu239f06b2017-04-20 13:10:55 -07004364#if CONFIG_COMPOUND_SINGLEREF
4365 av1_copy(fc->inter_singleref_comp_mode_probs,
4366 default_inter_singleref_comp_mode_probs);
4367#endif // CONFIG_COMPOUND_SINGLEREF
Sarah Parker6fddd182016-11-10 20:57:20 -08004368 av1_copy(fc->compound_type_prob, default_compound_type_probs);
Yue Chen4d26acb2017-05-01 12:28:34 -07004369#if CONFIG_INTERINTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07004370 av1_copy(fc->interintra_prob, default_interintra_prob);
4371 av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob);
4372 av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob);
Yue Chen4d26acb2017-05-01 12:28:34 -07004373#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004374#endif // CONFIG_EXT_INTER
4375#if CONFIG_SUPERTX
Yaowu Xuf883b422016-08-30 14:01:10 -07004376 av1_copy(fc->supertx_prob, default_supertx_prob);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004377#endif // CONFIG_SUPERTX
Nathan E. Eggef627e582016-08-19 20:06:51 -04004378 av1_copy(fc->seg.tree_probs, default_segment_tree_probs);
4379 av1_copy(fc->seg.pred_probs, default_segment_pred_probs);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004380#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08004381#if CONFIG_INTRA_INTERP
Yaowu Xuf883b422016-08-30 14:01:10 -07004382 av1_copy(fc->intra_filter_probs, default_intra_filter_probs);
hui sueda3d762016-12-06 16:58:23 -08004383#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07004384#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07004385#if CONFIG_FILTER_INTRA
4386 av1_copy(fc->filter_intra_probs, default_filter_intra_probs);
4387#endif // CONFIG_FILTER_INTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07004388 av1_copy(fc->inter_ext_tx_prob, default_inter_ext_tx_prob);
4389 av1_copy(fc->intra_ext_tx_prob, default_intra_ext_tx_prob);
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07004390#if CONFIG_LOOP_RESTORATION
4391 av1_copy(fc->switchable_restore_prob, default_switchable_restore_prob);
4392#endif // CONFIG_LOOP_RESTORATION
Nathan E. Egge31296062016-11-16 09:44:26 -05004393#if CONFIG_EC_MULTISYMBOL
Thomas Davies1d7db722017-02-22 11:15:00 +00004394 av1_copy(fc->y_mode_cdf, default_if_y_mode_cdf);
4395 av1_copy(fc->uv_mode_cdf, default_uv_mode_cdf);
4396 av1_copy(fc->switchable_interp_cdf, default_switchable_interp_cdf);
4397 av1_copy(fc->partition_cdf, default_partition_cdf);
4398 av1_copy(fc->inter_mode_cdf, default_inter_mode_cdf);
Thomas Davies1d7db722017-02-22 11:15:00 +00004399 av1_copy(fc->intra_ext_tx_cdf, default_intra_ext_tx_cdf);
4400 av1_copy(fc->inter_ext_tx_cdf, default_inter_ext_tx_cdf);
hui sub4e25d22017-03-09 15:32:30 -08004401#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
4402 av1_copy(fc->intra_filter_cdf, default_intra_filter_cdf);
4403#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies1d7db722017-02-22 11:15:00 +00004404 av1_copy(fc->seg.tree_cdf, default_seg_tree_cdf);
4405 av1_copy(fc->tx_size_cdf, default_tx_size_cdf);
hui sub4e25d22017-03-09 15:32:30 -08004406#endif // CONFIG_EC_MULTISYMBOL
Thomas Daviesf6936102016-09-05 16:51:31 +01004407#if CONFIG_DELTA_Q
4408 av1_copy(fc->delta_q_prob, default_delta_q_probs);
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00004409#if CONFIG_EC_MULTISYMBOL
4410 av1_copy(fc->delta_q_cdf, default_delta_q_cdf);
hui sub4e25d22017-03-09 15:32:30 -08004411#endif // CONFIG_EC_MULTISYMBOL
Fangwen Fu231fe422017-04-24 17:52:29 -07004412#if CONFIG_EXT_DELTA_Q
4413 av1_copy(fc->delta_lf_prob, default_delta_lf_probs);
4414#if CONFIG_EC_MULTISYMBOL
4415 av1_copy(fc->delta_lf_cdf, default_delta_lf_cdf);
4416#endif // CONFIG_EC_MULTISYMBOL
4417#endif
hui sub4e25d22017-03-09 15:32:30 -08004418#endif // CONFIG_DELTA_Q
Luc Trudeauf5334002017-04-25 12:21:26 -04004419#if CONFIG_CFL
4420 av1_copy(fc->cfl_alpha_cdf, default_cfl_alpha_cdf);
4421#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004422}
4423
Nathan E. Egge00b33312016-11-16 09:44:26 -05004424#if CONFIG_EC_MULTISYMBOL
Nathan E. Egge4947c292016-04-26 11:37:06 -04004425int av1_switchable_interp_ind[SWITCHABLE_FILTERS];
4426int av1_switchable_interp_inv[SWITCHABLE_FILTERS];
Thomas Davies6519beb2016-10-19 14:46:07 +01004427
Thomas Davies028b57f2017-02-22 16:42:11 +00004428#if !CONFIG_EC_ADAPT
Thomas Davies6519beb2016-10-19 14:46:07 +01004429void av1_set_mode_cdfs(struct AV1Common *cm) {
4430 FRAME_CONTEXT *fc = cm->fc;
4431 int i, j;
4432 if (cm->seg.enabled && cm->seg.update_map) {
4433 av1_tree_to_cdf(av1_segment_tree, cm->fc->seg.tree_probs,
4434 cm->fc->seg.tree_cdf);
4435 }
Thomas Davies6519beb2016-10-19 14:46:07 +01004436
Nathan E. Eggedd28aed2016-11-16 09:44:26 -05004437 for (i = 0; i < INTRA_MODES; ++i)
4438 av1_tree_to_cdf(av1_intra_mode_tree, fc->uv_mode_prob[i],
4439 fc->uv_mode_cdf[i]);
Thomas Davies028b57f2017-02-22 16:42:11 +00004440#if CONFIG_EXT_PARTITION_TYPES
Alex Converse57795a42017-03-14 12:18:25 -07004441 for (i = 0; i < PARTITION_PLOFFSET; ++i)
4442 av1_tree_to_cdf(av1_partition_tree, fc->partition_prob[i],
4443 fc->partition_cdf[i]);
4444 // Logical index (enum value) to inorder index (tree_to_cdf order)
4445 aom_cdf_prob inorder_partition_cdf[CDF_SIZE(EXT_PARTITION_TYPES)] = {};
4446 // TODO(aconverse): Generate this dynamically. The assumptions that
4447 // av1_indices_from_tree() makes don't hold for this tree.
4448 static const uint8_t av1_ext_partition_index_map[EXT_PARTITION_TYPES] = {
4449 0, 1, 4, 7, 2, 3, 5, 6,
4450 };
4451 for (; i < PARTITION_CONTEXTS; ++i) {
4452 av1_tree_to_cdf(av1_ext_partition_tree, fc->partition_prob[i],
4453 inorder_partition_cdf);
4454 aom_cdf_prob cum_prob = 0;
4455 for (j = 0; j < EXT_PARTITION_TYPES; ++j) {
4456 int inorder_idx = av1_ext_partition_index_map[j];
4457 aom_cdf_prob prob =
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004458 AOM_ICDF(inorder_partition_cdf[inorder_idx]) -
4459 (inorder_idx > 0 ? AOM_ICDF(inorder_partition_cdf[inorder_idx - 1])
4460 : 0);
4461 cum_prob += prob;
4462 fc->partition_cdf[i][j] = AOM_ICDF(cum_prob);
Alex Converse57795a42017-03-14 12:18:25 -07004463 }
4464 assert(cum_prob == CDF_PROB_TOP);
4465 }
Thomas Davies028b57f2017-02-22 16:42:11 +00004466#else
Thomas Davies6519beb2016-10-19 14:46:07 +01004467 for (i = 0; i < PARTITION_CONTEXTS; ++i)
4468 av1_tree_to_cdf(av1_partition_tree, fc->partition_prob[i],
4469 fc->partition_cdf[i]);
Thomas Davies028b57f2017-02-22 16:42:11 +00004470#endif
Nathan E. Eggedfa33f22016-11-16 09:44:26 -05004471
Nathan E. Egge10ba2be2016-11-16 09:44:26 -05004472 for (i = 0; i < INTRA_MODES; ++i)
4473 for (j = 0; j < INTRA_MODES; ++j)
4474 av1_tree_to_cdf(av1_intra_mode_tree, cm->kf_y_prob[i][j],
Thomas Davies1bfb5ed2017-01-11 15:28:11 +00004475 cm->fc->kf_y_cdf[i][j]);
Nathan E. Egge10ba2be2016-11-16 09:44:26 -05004476
Nathan E. Egge00b33312016-11-16 09:44:26 -05004477 for (j = 0; j < SWITCHABLE_FILTER_CONTEXTS; ++j)
4478 av1_tree_to_cdf(av1_switchable_interp_tree, fc->switchable_interp_prob[j],
4479 fc->switchable_interp_cdf[j]);
4480
Nathan E. Eggea59b23d2016-11-16 09:44:26 -05004481 for (i = 0; i < INTER_MODE_CONTEXTS; ++i)
4482 av1_tree_to_cdf(av1_inter_mode_tree, fc->inter_mode_probs[i],
4483 fc->inter_mode_cdf[i]);
4484
Nathan E. Eggeecc21ec2016-11-16 09:44:26 -05004485 for (i = 0; i < BLOCK_SIZE_GROUPS; ++i)
4486 av1_tree_to_cdf(av1_intra_mode_tree, fc->y_mode_prob[i], fc->y_mode_cdf[i]);
4487
Thomas Daviesb1bedf52017-03-17 14:03:28 +00004488#if CONFIG_EXT_TX
4489 int s;
4490 for (s = 0; s < EXT_TX_SETS_INTRA; ++s)
4491 for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
4492 for (j = 0; j < INTRA_MODES; ++j)
4493 av1_tree_to_cdf(av1_ext_tx_intra_tree[s],
4494 fc->intra_ext_tx_prob[s][i][j],
4495 fc->intra_ext_tx_cdf[s][i][j]);
4496
4497 for (s = 0; s < EXT_TX_SETS_INTER; ++s)
4498 for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
4499 av1_tree_to_cdf(av1_ext_tx_inter_tree[s], fc->inter_ext_tx_prob[s][i],
4500 fc->inter_ext_tx_cdf[s][i]);
4501#else
Nathan E. Eggedfa33f22016-11-16 09:44:26 -05004502 for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
Nathan E. Egge29ccee02016-11-16 09:44:26 -05004503 for (j = 0; j < TX_TYPES; ++j)
4504 av1_tree_to_cdf(av1_ext_tx_tree, fc->intra_ext_tx_prob[i][j],
4505 fc->intra_ext_tx_cdf[i][j]);
4506
4507 for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
Nathan E. Eggedfa33f22016-11-16 09:44:26 -05004508 av1_tree_to_cdf(av1_ext_tx_tree, fc->inter_ext_tx_prob[i],
4509 fc->inter_ext_tx_cdf[i]);
4510#endif
Nathan E. Egge2ea519e2017-02-16 18:18:15 -05004511 for (i = 0; i < MAX_TX_DEPTH; i++) {
4512 for (j = 0; j < TX_SIZE_CONTEXTS; j++) {
4513 av1_tree_to_cdf(av1_tx_size_tree[i], fc->tx_size_probs[i][j],
4514 fc->tx_size_cdf[i][j]);
4515 }
4516 }
hui sub4e25d22017-03-09 15:32:30 -08004517#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
4518 for (i = 0; i < INTRA_FILTERS + 1; ++i) {
4519 av1_tree_to_cdf(av1_intra_filter_tree, fc->intra_filter_probs[i],
4520 fc->intra_filter_cdf[i]);
4521 }
4522#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies6519beb2016-10-19 14:46:07 +01004523}
Thomas Davies028b57f2017-02-22 16:42:11 +00004524#endif // !CONFIG_EC_ADAPT
hui sub4e25d22017-03-09 15:32:30 -08004525#endif // CONFIG_EC_MULTISYMBOL
Nathan E. Egge4947c292016-04-26 11:37:06 -04004526
Angie Chiang1733f6b2017-01-05 09:52:20 -08004527#if CONFIG_DUAL_FILTER
Yaowu Xuf883b422016-08-30 14:01:10 -07004528const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
4529 {
Angie Chiangd91ab372016-11-21 18:16:49 -08004530 -EIGHTTAP_REGULAR, 2, 4, -MULTITAP_SHARP, -EIGHTTAP_SMOOTH,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004531 -EIGHTTAP_SMOOTH2,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004532 };
4533#else
Yaowu Xuf883b422016-08-30 14:01:10 -07004534const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
4535 { -EIGHTTAP_REGULAR, 2, -EIGHTTAP_SMOOTH, -MULTITAP_SHARP };
Angie Chiang1733f6b2017-01-05 09:52:20 -08004536#endif // CONFIG_DUAL_FILTER
Yaowu Xuc27fc142016-08-22 16:08:15 -07004537
Yaowu Xuf883b422016-08-30 14:01:10 -07004538void av1_adapt_inter_frame_probs(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004539 int i, j;
4540 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07004541 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07004542 const FRAME_COUNTS *counts = &cm->counts;
4543
4544 for (i = 0; i < INTRA_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004545 fc->intra_inter_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004546 pre_fc->intra_inter_prob[i], counts->intra_inter[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07004547
Yaowu Xuc27fc142016-08-22 16:08:15 -07004548 for (i = 0; i < COMP_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004549 fc->comp_inter_prob[i] = av1_mode_mv_merge_probs(pre_fc->comp_inter_prob[i],
4550 counts->comp_inter[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004551
4552#if CONFIG_EXT_REFS
4553 for (i = 0; i < REF_CONTEXTS; i++)
4554 for (j = 0; j < (FWD_REFS - 1); j++)
4555 fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
4556 counts->comp_ref[i][j]);
4557 for (i = 0; i < REF_CONTEXTS; i++)
4558 for (j = 0; j < (BWD_REFS - 1); j++)
4559 fc->comp_bwdref_prob[i][j] = mode_mv_merge_probs(
4560 pre_fc->comp_bwdref_prob[i][j], counts->comp_bwdref[i][j]);
4561#else
4562 for (i = 0; i < REF_CONTEXTS; i++)
4563 for (j = 0; j < (COMP_REFS - 1); j++)
4564 fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
4565 counts->comp_ref[i][j]);
4566#endif // CONFIG_EXT_REFS
4567
4568 for (i = 0; i < REF_CONTEXTS; i++)
4569 for (j = 0; j < (SINGLE_REFS - 1); j++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004570 fc->single_ref_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004571 pre_fc->single_ref_prob[i][j], counts->single_ref[i][j]);
4572
Zoe Liu239f06b2017-04-20 13:10:55 -07004573#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
4574 for (i = 0; i < COMP_INTER_MODE_CONTEXTS; i++)
4575 fc->comp_inter_mode_prob[i] = av1_mode_mv_merge_probs(
4576 pre_fc->comp_inter_mode_prob[i], counts->comp_inter_mode[i]);
4577
4578#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
4579
Yaowu Xuc27fc142016-08-22 16:08:15 -07004580 for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i)
4581 fc->newmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07004582 av1_mode_mv_merge_probs(pre_fc->newmv_prob[i], counts->newmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004583 for (i = 0; i < ZEROMV_MODE_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07004584 fc->zeromv_prob[i] =
4585 av1_mode_mv_merge_probs(pre_fc->zeromv_prob[i], counts->zeromv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004586 for (i = 0; i < REFMV_MODE_CONTEXTS; ++i)
4587 fc->refmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07004588 av1_mode_mv_merge_probs(pre_fc->refmv_prob[i], counts->refmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004589
4590 for (i = 0; i < DRL_MODE_CONTEXTS; ++i)
4591 fc->drl_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07004592 av1_mode_mv_merge_probs(pre_fc->drl_prob[i], counts->drl_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004593
Yue Chencb60b182016-10-13 15:18:22 -07004594#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07004595 for (i = BLOCK_8X8; i < BLOCK_SIZES; ++i)
Yue Chencb60b182016-10-13 15:18:22 -07004596 aom_tree_merge_probs(av1_motion_mode_tree, pre_fc->motion_mode_prob[i],
4597 counts->motion_mode[i], fc->motion_mode_prob[i]);
Yue Chen69f18e12016-09-08 14:48:15 -07004598#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
4599 for (i = BLOCK_8X8; i < BLOCK_SIZES; ++i)
4600 fc->obmc_prob[i] =
4601 av1_mode_mv_merge_probs(pre_fc->obmc_prob[i], counts->obmc[i]);
4602#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yue Chencb60b182016-10-13 15:18:22 -07004603#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07004604
4605#if CONFIG_SUPERTX
4606 for (i = 0; i < PARTITION_SUPERTX_CONTEXTS; ++i) {
Jingning Han93531242016-12-20 11:54:36 -08004607 for (j = TX_8X8; j < TX_SIZES; ++j) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004608 fc->supertx_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004609 pre_fc->supertx_prob[i][j], counts->supertx[i][j]);
4610 }
4611 }
4612#endif // CONFIG_SUPERTX
4613
4614#if CONFIG_EXT_INTER
4615 for (i = 0; i < INTER_MODE_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004616 aom_tree_merge_probs(
4617 av1_inter_compound_mode_tree, pre_fc->inter_compound_mode_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004618 counts->inter_compound_mode[i], fc->inter_compound_mode_probs[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07004619#if CONFIG_COMPOUND_SINGLEREF
4620 for (i = 0; i < INTER_MODE_CONTEXTS; i++)
4621 aom_tree_merge_probs(av1_inter_singleref_comp_mode_tree,
4622 pre_fc->inter_singleref_comp_mode_probs[i],
4623 counts->inter_singleref_comp_mode[i],
4624 fc->inter_singleref_comp_mode_probs[i]);
4625#endif // CONFIG_COMPOUND_SINGLEREF
Debargha Mukherjeeed057992017-05-07 05:15:06 -07004626#if CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07004627 for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) {
4628 if (is_interintra_allowed_bsize_group(i))
Yaowu Xuf883b422016-08-30 14:01:10 -07004629 fc->interintra_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004630 pre_fc->interintra_prob[i], counts->interintra[i]);
4631 }
4632 for (i = 0; i < BLOCK_SIZE_GROUPS; i++) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004633 aom_tree_merge_probs(
4634 av1_interintra_mode_tree, pre_fc->interintra_mode_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004635 counts->interintra_mode[i], fc->interintra_mode_prob[i]);
4636 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07004637#if CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07004638 for (i = 0; i < BLOCK_SIZES; ++i) {
4639 if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i))
Yaowu Xuf883b422016-08-30 14:01:10 -07004640 fc->wedge_interintra_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004641 pre_fc->wedge_interintra_prob[i], counts->wedge_interintra[i]);
4642 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07004643#endif // CONFIG_WEDGE
4644#endif // CONFIG_INTERINTRA
Sarah Parker6fddd182016-11-10 20:57:20 -08004645
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00004646#if CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07004647 for (i = 0; i < BLOCK_SIZES; ++i) {
Sarah Parker6fdc8532016-11-16 17:47:13 -08004648 aom_tree_merge_probs(av1_compound_type_tree, pre_fc->compound_type_prob[i],
4649 counts->compound_interinter[i],
4650 fc->compound_type_prob[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004651 }
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00004652#endif // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07004653#endif // CONFIG_EXT_INTER
4654
4655 for (i = 0; i < BLOCK_SIZE_GROUPS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004656 aom_tree_merge_probs(av1_intra_mode_tree, pre_fc->y_mode_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004657 counts->y_mode[i], fc->y_mode_prob[i]);
4658
4659 if (cm->interp_filter == SWITCHABLE) {
4660 for (i = 0; i < SWITCHABLE_FILTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004661 aom_tree_merge_probs(
4662 av1_switchable_interp_tree, pre_fc->switchable_interp_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004663 counts->switchable_interp[i], fc->switchable_interp_prob[i]);
4664 }
4665}
4666
Yaowu Xuf883b422016-08-30 14:01:10 -07004667void av1_adapt_intra_frame_probs(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004668 int i, j;
4669 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07004670 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07004671 const FRAME_COUNTS *counts = &cm->counts;
4672
4673 if (cm->tx_mode == TX_MODE_SELECT) {
Jingning Hanaae72a62016-10-25 15:35:29 -07004674 for (i = 0; i < MAX_TX_DEPTH; ++i) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004675 for (j = 0; j < TX_SIZE_CONTEXTS; ++j)
Yaowu Xuf883b422016-08-30 14:01:10 -07004676 aom_tree_merge_probs(av1_tx_size_tree[i], pre_fc->tx_size_probs[i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004677 counts->tx_size[i][j], fc->tx_size_probs[i][j]);
4678 }
Yue Chen56e226e2017-05-02 16:21:40 -07004679#if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
4680 fc->quarter_tx_size_prob = av1_mode_mv_merge_probs(
4681 pre_fc->quarter_tx_size_prob, counts->quarter_tx_size);
4682#endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
Yaowu Xuc27fc142016-08-22 16:08:15 -07004683 }
4684
4685#if CONFIG_VAR_TX
Yue Chena1e48dc2016-08-29 17:29:33 -07004686 if (cm->tx_mode == TX_MODE_SELECT) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004687 for (i = 0; i < TXFM_PARTITION_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07004688 fc->txfm_partition_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004689 pre_fc->txfm_partition_prob[i], counts->txfm_partition[i]);
Yue Chena1e48dc2016-08-29 17:29:33 -07004690 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07004691#endif
4692
4693 for (i = 0; i < SKIP_CONTEXTS; ++i)
4694 fc->skip_probs[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07004695 av1_mode_mv_merge_probs(pre_fc->skip_probs[i], counts->skip[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004696
4697#if CONFIG_EXT_TX
4698 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
4699 int s;
4700 for (s = 1; s < EXT_TX_SETS_INTER; ++s) {
4701 if (use_inter_ext_tx_for_txsize[s][i]) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004702 aom_tree_merge_probs(
4703 av1_ext_tx_inter_tree[s], pre_fc->inter_ext_tx_prob[s][i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004704 counts->inter_ext_tx[s][i], fc->inter_ext_tx_prob[s][i]);
4705 }
4706 }
4707 for (s = 1; s < EXT_TX_SETS_INTRA; ++s) {
4708 if (use_intra_ext_tx_for_txsize[s][i]) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004709 for (j = 0; j < INTRA_MODES; ++j)
Yaowu Xuf883b422016-08-30 14:01:10 -07004710 aom_tree_merge_probs(
4711 av1_ext_tx_intra_tree[s], pre_fc->intra_ext_tx_prob[s][i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004712 counts->intra_ext_tx[s][i][j], fc->intra_ext_tx_prob[s][i][j]);
4713 }
4714 }
4715 }
4716#else
4717 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04004718 for (j = 0; j < TX_TYPES; ++j) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004719 aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->intra_ext_tx_prob[i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004720 counts->intra_ext_tx[i][j],
4721 fc->intra_ext_tx_prob[i][j]);
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04004722 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07004723 }
4724 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004725 aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->inter_ext_tx_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004726 counts->inter_ext_tx[i], fc->inter_ext_tx_prob[i]);
4727 }
4728#endif // CONFIG_EXT_TX
4729
4730 if (cm->seg.temporal_update) {
4731 for (i = 0; i < PREDICTION_PROBS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004732 fc->seg.pred_probs[i] = av1_mode_mv_merge_probs(pre_fc->seg.pred_probs[i],
4733 counts->seg.pred[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004734
Yaowu Xuf883b422016-08-30 14:01:10 -07004735 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004736 counts->seg.tree_mispred, fc->seg.tree_probs);
4737 } else {
Yaowu Xuf883b422016-08-30 14:01:10 -07004738 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004739 counts->seg.tree_total, fc->seg.tree_probs);
4740 }
4741
4742 for (i = 0; i < INTRA_MODES; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07004743 aom_tree_merge_probs(av1_intra_mode_tree, pre_fc->uv_mode_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004744 counts->uv_mode[i], fc->uv_mode_prob[i]);
4745
4746#if CONFIG_EXT_PARTITION_TYPES
Alex Converse4e18d402017-03-14 15:36:38 -07004747 for (i = 0; i < PARTITION_PLOFFSET; ++i)
4748 aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
4749 counts->partition[i], fc->partition_prob[i]);
4750 for (; i < PARTITION_CONTEXTS_PRIMARY; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07004751 aom_tree_merge_probs(av1_ext_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004752 counts->partition[i], fc->partition_prob[i]);
4753#else
Alex Converse4e18d402017-03-14 15:36:38 -07004754 for (i = 0; i < PARTITION_CONTEXTS_PRIMARY; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004755 aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004756 counts->partition[i], fc->partition_prob[i]);
Nathan E. Eggefba2be62016-05-03 09:48:54 -04004757 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07004758#endif // CONFIG_EXT_PARTITION_TYPES
Alex Converse55c6bde2017-01-12 15:55:31 -08004759#if CONFIG_UNPOISON_PARTITION_CTX
4760 for (i = PARTITION_CONTEXTS_PRIMARY;
4761 i < PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES; ++i) {
4762 unsigned int ct[2] = { counts->partition[i][PARTITION_VERT],
4763 counts->partition[i][PARTITION_SPLIT] };
4764 assert(counts->partition[i][PARTITION_NONE] == 0);
4765 assert(counts->partition[i][PARTITION_HORZ] == 0);
4766 assert(fc->partition_prob[i][PARTITION_NONE] == 0);
4767 assert(fc->partition_prob[i][PARTITION_HORZ] == 0);
4768 fc->partition_prob[i][PARTITION_VERT] =
4769 av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_VERT], ct);
4770 }
4771 for (i = PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES;
4772 i < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++i) {
4773 unsigned int ct[2] = { counts->partition[i][PARTITION_HORZ],
4774 counts->partition[i][PARTITION_SPLIT] };
4775 assert(counts->partition[i][PARTITION_NONE] == 0);
4776 assert(counts->partition[i][PARTITION_VERT] == 0);
4777 assert(fc->partition_prob[i][PARTITION_NONE] == 0);
4778 assert(fc->partition_prob[i][PARTITION_VERT] == 0);
4779 fc->partition_prob[i][PARTITION_HORZ] =
4780 av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_HORZ], ct);
4781 }
4782#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01004783#if CONFIG_DELTA_Q
Thomas Davies665cd702017-03-02 10:20:30 +00004784 for (i = 0; i < DELTA_Q_PROBS; ++i)
Thomas Daviesf6936102016-09-05 16:51:31 +01004785 fc->delta_q_prob[i] =
4786 mode_mv_merge_probs(pre_fc->delta_q_prob[i], counts->delta_q[i]);
Fangwen Fu231fe422017-04-24 17:52:29 -07004787#if CONFIG_EXT_DELTA_Q
4788 for (i = 0; i < DELTA_LF_PROBS; ++i)
4789 fc->delta_lf_prob[i] =
4790 mode_mv_merge_probs(pre_fc->delta_lf_prob[i], counts->delta_lf[i]);
4791#endif // CONFIG_EXT_DELTA_Q
Thomas Daviesf6936102016-09-05 16:51:31 +01004792#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004793#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08004794#if CONFIG_INTRA_INTERP
hui su5db97432016-10-14 16:10:14 -07004795 for (i = 0; i < INTRA_FILTERS + 1; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004796 aom_tree_merge_probs(av1_intra_filter_tree, pre_fc->intra_filter_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004797 counts->intra_filter[i], fc->intra_filter_probs[i]);
hui su5db97432016-10-14 16:10:14 -07004798 }
hui sueda3d762016-12-06 16:58:23 -08004799#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07004800#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07004801#if CONFIG_FILTER_INTRA
4802 for (i = 0; i < PLANE_TYPES; ++i) {
4803 fc->filter_intra_probs[i] = av1_mode_mv_merge_probs(
4804 pre_fc->filter_intra_probs[i], counts->filter_intra[i]);
4805 }
4806#endif // CONFIG_FILTER_INTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07004807}
4808
4809static void set_default_lf_deltas(struct loopfilter *lf) {
4810 lf->mode_ref_delta_enabled = 1;
4811 lf->mode_ref_delta_update = 1;
4812
4813 lf->ref_deltas[INTRA_FRAME] = 1;
4814 lf->ref_deltas[LAST_FRAME] = 0;
4815#if CONFIG_EXT_REFS
4816 lf->ref_deltas[LAST2_FRAME] = lf->ref_deltas[LAST_FRAME];
4817 lf->ref_deltas[LAST3_FRAME] = lf->ref_deltas[LAST_FRAME];
4818 lf->ref_deltas[BWDREF_FRAME] = lf->ref_deltas[LAST_FRAME];
4819#endif // CONFIG_EXT_REFS
4820 lf->ref_deltas[GOLDEN_FRAME] = -1;
4821 lf->ref_deltas[ALTREF_FRAME] = -1;
4822
4823 lf->mode_deltas[0] = 0;
4824 lf->mode_deltas[1] = 0;
4825}
4826
Yaowu Xuf883b422016-08-30 14:01:10 -07004827void av1_setup_past_independence(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004828 // Reset the segment feature data to the default stats:
4829 // Features disabled, 0, with delta coding (Default state).
4830 struct loopfilter *const lf = &cm->lf;
4831
4832 int i;
Yaowu Xuf883b422016-08-30 14:01:10 -07004833 av1_clearall_segfeatures(&cm->seg);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004834 cm->seg.abs_delta = SEGMENT_DELTADATA;
4835
4836 if (cm->last_frame_seg_map && !cm->frame_parallel_decode)
4837 memset(cm->last_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
4838
4839 if (cm->current_frame_seg_map)
4840 memset(cm->current_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
4841
4842 // Reset the mode ref deltas for loop filter
Yaowu Xuf883b422016-08-30 14:01:10 -07004843 av1_zero(lf->last_ref_deltas);
4844 av1_zero(lf->last_mode_deltas);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004845 set_default_lf_deltas(lf);
4846
4847 // To force update of the sharpness
4848 lf->last_sharpness_level = -1;
Yaowu Xuc27fc142016-08-22 16:08:15 -07004849
Yaowu Xuf883b422016-08-30 14:01:10 -07004850 av1_default_coef_probs(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004851 init_mode_probs(cm->fc);
Yaowu Xuf883b422016-08-30 14:01:10 -07004852 av1_init_mv_probs(cm);
Yushin Chob188ea12017-03-13 13:45:23 -07004853#if CONFIG_PVQ
4854 av1_default_pvq_probs(cm);
4855#endif // CONFIG_PVQ
Angie Chianged8cd9a2016-10-21 16:44:47 -07004856#if CONFIG_ADAPT_SCAN
4857 av1_init_scan_order(cm);
4858#endif
Angie Chiang0a2c0cb2017-02-23 14:19:15 -08004859 av1_convolve_init(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004860 cm->fc->initialized = 1;
4861
4862 if (cm->frame_type == KEY_FRAME || cm->error_resilient_mode ||
4863 cm->reset_frame_context == RESET_FRAME_CONTEXT_ALL) {
4864 // Reset all frame contexts.
4865 for (i = 0; i < FRAME_CONTEXTS; ++i) cm->frame_contexts[i] = *cm->fc;
4866 } else if (cm->reset_frame_context == RESET_FRAME_CONTEXT_CURRENT) {
4867 // Reset only the frame context specified in the frame header.
4868 cm->frame_contexts[cm->frame_context_idx] = *cm->fc;
4869 }
4870
4871 // prev_mip will only be allocated in encoder.
4872 if (frame_is_intra_only(cm) && cm->prev_mip && !cm->frame_parallel_decode)
4873 memset(cm->prev_mip, 0,
4874 cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->prev_mip));
4875
4876 cm->frame_context_idx = 0;
4877}