blob: c5aca1d7f15cb5cadf675c071b6b8978f9099b1c [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] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -070021#if CONFIG_CHROMA_2X2
Jingning Han480ee022017-04-03 20:31:08 -070022 { 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] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -070035#if CONFIG_CHROMA_2X2
Jingning Han480ee022017-04-03 20:31:08 -070036 { // 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] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -0700171#if CONFIG_CHROMA_2X2
Jingning Han480ee022017-04-03 20:31:08 -0700172 {
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] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -0700206#if CONFIG_CHROMA_2X2
Jingning Han480ee022017-04-03 20:31:08 -0700207 {
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] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -0700241#if CONFIG_CHROMA_2X2
Jingning Han480ee022017-04-03 20:31:08 -0700242 {
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 Xuc27fc142016-08-22 16:08:15 -07001004#if CONFIG_EXT_INTER
Yaowu Xuf883b422016-08-30 14:01:10 -07001005static const aom_prob default_inter_compound_mode_probs
Yaowu Xuc27fc142016-08-22 16:08:15 -07001006 [INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES - 1] = {
Debargha Mukherjeebb6e1342017-04-17 16:05:04 -07001007 { 2, 173, 68, 192, 128, 180, 180 }, // 0 = both zero mv
1008 { 7, 145, 160, 192, 128, 180, 180 }, // 1 = 1 zero + 1 predicted
1009 { 7, 166, 126, 192, 128, 180, 180 }, // 2 = two predicted mvs
1010 { 7, 94, 132, 192, 128, 180, 180 }, // 3 = 1 pred/zero, 1 new
1011 { 8, 64, 64, 192, 128, 180, 180 }, // 4 = two new mvs
1012 { 17, 81, 52, 192, 128, 180, 180 }, // 5 = one intra neighbour
1013 { 25, 29, 50, 192, 128, 180, 180 }, // 6 = two intra neighbours
Yaowu Xuc27fc142016-08-22 16:08:15 -07001014 };
1015
Zoe Liu239f06b2017-04-20 13:10:55 -07001016#if CONFIG_COMPOUND_SINGLEREF
1017// TODO(zoeliu): Default values to be further adjusted based on the collected
1018// stats.
Zoe Liu85b66462017-04-20 14:28:19 -07001019/*
Zoe Liu239f06b2017-04-20 13:10:55 -07001020static const aom_prob default_inter_singleref_comp_mode_probs
1021 [INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
1022 { 2, 173, 68, 180 }, // 0 = both zero mv
1023 { 7, 145, 160, 180 }, // 1 = 1 zero + 1 predicted
1024 { 7, 166, 126, 180 }, // 2 = two predicted mvs
1025 { 7, 94, 132, 180 }, // 3 = 1 pred/zero, 1 new
1026 { 8, 64, 64, 180 }, // 4 = two new mvs
1027 { 17, 81, 52, 180 }, // 5 = one intra neighbour
1028 { 25, 29, 50, 180 }, // 6 = two intra neighbours
Zoe Liu85b66462017-04-20 14:28:19 -07001029 };*/
1030static const aom_prob default_inter_singleref_comp_mode_probs
1031 [INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
1032 { 2, 173, 68 }, // 0 = both zero mv
1033 { 7, 145, 160 }, // 1 = 1 zero + 1 predicted
1034 { 7, 166, 126 }, // 2 = two predicted mvs
1035 { 7, 94, 132 }, // 3 = 1 pred/zero, 1 new
1036 { 8, 64, 64 }, // 4 = two new mvs
1037 { 17, 81, 52 }, // 5 = one intra neighbour
1038 { 25, 29, 50 }, // 6 = two intra neighbours
Zoe Liu239f06b2017-04-20 13:10:55 -07001039 };
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 +00001176static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07001177 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00001178};
Fangwen Fu231fe422017-04-24 17:52:29 -07001179#if CONFIG_EXT_DELTA_Q
1180static const aom_prob default_delta_lf_probs[DELTA_LF_PROBS] = { 220, 220,
1181 220 };
Fangwen Fu231fe422017-04-24 17:52:29 -07001182static const aom_cdf_prob default_delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)] = {
Timothy B. Terriberrye1804782017-05-05 14:38:57 -07001183 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Fangwen Fu231fe422017-04-24 17:52:29 -07001184};
1185#endif
1186#endif
Nathan E. Egge3ef926e2016-09-07 18:20:41 -04001187int av1_intra_mode_ind[INTRA_MODES];
1188int av1_intra_mode_inv[INTRA_MODES];
Thomas Daviesb1bedf52017-03-17 14:03:28 +00001189#if CONFIG_EXT_TX
1190int av1_ext_tx_intra_ind[EXT_TX_SETS_INTRA][TX_TYPES];
1191int av1_ext_tx_intra_inv[EXT_TX_SETS_INTRA][TX_TYPES];
1192int av1_ext_tx_inter_ind[EXT_TX_SETS_INTER][TX_TYPES];
1193int av1_ext_tx_inter_inv[EXT_TX_SETS_INTER][TX_TYPES];
1194#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01001195
Urvang Joshi6be4a542016-11-03 15:24:05 -07001196#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07001197#if CONFIG_SMOOTH_HV
1198const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
1199 -DC_PRED,
1200 2, /* 0 = DC_NODE */
1201 -TM_PRED,
1202 4, /* 1 = TM_NODE */
1203 -V_PRED,
1204 6, /* 2 = V_NODE */
1205 8,
1206 12, /* 3 = COM_NODE */
1207 -H_PRED,
1208 10, /* 4 = H_NODE */
1209 -D135_PRED,
1210 -D117_PRED, /* 5 = D135_NODE */
1211 -D45_PRED,
1212 14, /* 6 = D45_NODE */
1213 -D63_PRED,
1214 16, /* 7 = D63_NODE */
1215 -D153_PRED,
1216 18, /* 8 = D153_NODE */
1217 -D207_PRED,
1218 20, /* 9 = D207_NODE */
1219 -SMOOTH_PRED,
1220 22, /* 10 = SMOOTH_NODE */
1221 -SMOOTH_V_PRED,
1222 -SMOOTH_H_PRED /* 11 = SMOOTH_V_NODE */
1223};
1224#else
Urvang Joshi6be4a542016-11-03 15:24:05 -07001225const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
1226 -DC_PRED, 2, /* 0 = DC_NODE */
1227 -TM_PRED, 4, /* 1 = TM_NODE */
1228 -V_PRED, 6, /* 2 = V_NODE */
1229 8, 12, /* 3 = COM_NODE */
1230 -H_PRED, 10, /* 4 = H_NODE */
1231 -D135_PRED, -D117_PRED, /* 5 = D135_NODE */
1232 -D45_PRED, 14, /* 6 = D45_NODE */
1233 -D63_PRED, 16, /* 7 = D63_NODE */
1234 -D153_PRED, 18, /* 8 = D153_NODE */
1235 -D207_PRED, -SMOOTH_PRED, /* 9 = D207_NODE */
1236};
Urvang Joshie6ca8e82017-03-15 14:57:41 -07001237#endif // CONFIG_SMOOTH_HV
Urvang Joshi6be4a542016-11-03 15:24:05 -07001238#else
Yaowu Xuf883b422016-08-30 14:01:10 -07001239const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001240 -DC_PRED, 2, /* 0 = DC_NODE */
1241 -TM_PRED, 4, /* 1 = TM_NODE */
1242 -V_PRED, 6, /* 2 = V_NODE */
1243 8, 12, /* 3 = COM_NODE */
1244 -H_PRED, 10, /* 4 = H_NODE */
1245 -D135_PRED, -D117_PRED, /* 5 = D135_NODE */
1246 -D45_PRED, 14, /* 6 = D45_NODE */
1247 -D63_PRED, 16, /* 7 = D63_NODE */
1248 -D153_PRED, -D207_PRED /* 8 = D153_NODE */
1249};
Urvang Joshi6be4a542016-11-03 15:24:05 -07001250#endif // CONFIG_ALT_INTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001251
Yaowu Xuf883b422016-08-30 14:01:10 -07001252const aom_tree_index av1_inter_mode_tree[TREE_SIZE(INTER_MODES)] = {
Zoe Liu7f24e1b2017-03-17 17:42:05 -07001253 -INTER_OFFSET(ZEROMV), 2, -INTER_OFFSET(NEARESTMV), 4, -INTER_OFFSET(NEARMV),
1254 -INTER_OFFSET(NEWMV)
Yaowu Xuc27fc142016-08-22 16:08:15 -07001255};
1256
1257#if CONFIG_EXT_INTER
1258/* clang-format off */
Yue Chen4d26acb2017-05-01 12:28:34 -07001259#if CONFIG_INTERINTRA
Yue Chen4d26acb2017-05-01 12:28:34 -07001260const aom_tree_index av1_interintra_mode_tree[TREE_SIZE(INTERINTRA_MODES)] = {
1261 -II_DC_PRED, 2, /* 0 = II_DC_NODE */
1262#if CONFIG_ALT_INTRA
1263 -II_SMOOTH_PRED, 4, /* 1 = II_SMOOTH_PRED */
1264#else
1265 -II_TM_PRED, 4, /* 1 = II_TM_NODE */
1266#endif
1267 -II_V_PRED, -II_H_PRED /* 2 = II_V_NODE */
1268};
Yue Chen4d26acb2017-05-01 12:28:34 -07001269#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001270
Yaowu Xuf883b422016-08-30 14:01:10 -07001271const aom_tree_index av1_inter_compound_mode_tree
Yaowu Xuc27fc142016-08-22 16:08:15 -07001272 [TREE_SIZE(INTER_COMPOUND_MODES)] = {
1273 -INTER_COMPOUND_OFFSET(ZERO_ZEROMV), 2,
1274 -INTER_COMPOUND_OFFSET(NEAREST_NEARESTMV), 4,
1275 6, -INTER_COMPOUND_OFFSET(NEW_NEWMV),
Debargha Mukherjeebb6e1342017-04-17 16:05:04 -07001276 -INTER_COMPOUND_OFFSET(NEAR_NEARMV), 8,
1277 10, 12,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001278 -INTER_COMPOUND_OFFSET(NEAREST_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARESTMV),
1279 -INTER_COMPOUND_OFFSET(NEAR_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARMV)
1280};
Sarah Parker6fddd182016-11-10 20:57:20 -08001281
Zoe Liu239f06b2017-04-20 13:10:55 -07001282#if CONFIG_COMPOUND_SINGLEREF
Zoe Liu85b66462017-04-20 14:28:19 -07001283// TODO(zoeliu): To redesign the tree structure once the number of mode changes.
1284/*
Zoe Liu239f06b2017-04-20 13:10:55 -07001285const aom_tree_index av1_inter_singleref_comp_mode_tree
1286 [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
1287 -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
1288 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
1289 6, -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV),
1290 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEWMV),
1291 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV)
Zoe Liu85b66462017-04-20 14:28:19 -07001292};*/
1293
1294const aom_tree_index av1_inter_singleref_comp_mode_tree
1295 [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
1296 -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
1297 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
1298 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV),
1299 -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV)
Zoe Liu239f06b2017-04-20 13:10:55 -07001300};
1301#endif // CONFIG_COMPOUND_SINGLEREF
1302
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001303#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker2f6ce752016-12-08 15:26:46 -08001304const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1305 -COMPOUND_AVERAGE, 2, -COMPOUND_WEDGE, -COMPOUND_SEG
1306};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001307#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker6fddd182016-11-10 20:57:20 -08001308const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1309 -COMPOUND_AVERAGE, -COMPOUND_WEDGE
1310};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001311#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
1312const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1313 -COMPOUND_AVERAGE, -COMPOUND_SEG
1314};
1315#else
1316const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {};
1317#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001318/* clang-format on */
1319#endif // CONFIG_EXT_INTER
1320
Yaowu Xuf883b422016-08-30 14:01:10 -07001321const aom_tree_index av1_partition_tree[TREE_SIZE(PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001322 -PARTITION_NONE, 2, -PARTITION_HORZ, 4, -PARTITION_VERT, -PARTITION_SPLIT
1323};
1324
1325#if CONFIG_EXT_PARTITION_TYPES
1326/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07001327const aom_tree_index av1_ext_partition_tree[TREE_SIZE(EXT_PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001328 -PARTITION_NONE, 2,
1329 6, 4,
1330 8, -PARTITION_SPLIT,
1331 -PARTITION_HORZ, 10,
1332 -PARTITION_VERT, 12,
1333 -PARTITION_HORZ_A, -PARTITION_HORZ_B,
1334 -PARTITION_VERT_A, -PARTITION_VERT_B
1335};
1336/* clang-format on */
1337#endif // CONFIG_EXT_PARTITION_TYPES
1338
Yaowu Xuf883b422016-08-30 14:01:10 -07001339static const aom_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001340 9, 102, 187, 225
1341};
1342
Yaowu Xuf883b422016-08-30 14:01:10 -07001343static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001344 239, 183, 119, 96, 41
1345};
1346
1347#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07001348static const aom_prob default_comp_ref_p[REF_CONTEXTS][FWD_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001349 // TODO(zoeliu): To adjust the initial prob values.
1350 { 33, 16, 16 },
1351 { 77, 74, 74 },
1352 { 142, 142, 142 },
1353 { 172, 170, 170 },
1354 { 238, 247, 247 }
1355};
Yaowu Xuf883b422016-08-30 14:01:10 -07001356static const aom_prob default_comp_bwdref_p[REF_CONTEXTS][BWD_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001357 { 16 }, { 74 }, { 142 }, { 170 }, { 247 }
1358};
1359#else
Yaowu Xuf883b422016-08-30 14:01:10 -07001360static const aom_prob default_comp_ref_p[REF_CONTEXTS][COMP_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001361 { 50 }, { 126 }, { 123 }, { 221 }, { 226 }
1362};
1363#endif // CONFIG_EXT_REFS
1364
Yaowu Xuf883b422016-08-30 14:01:10 -07001365static const aom_prob default_single_ref_p[REF_CONTEXTS][SINGLE_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001366#if CONFIG_EXT_REFS
1367 { 33, 16, 16, 16, 16 },
1368 { 77, 74, 74, 74, 74 },
1369 { 142, 142, 142, 142, 142 },
1370 { 172, 170, 170, 170, 170 },
1371 { 238, 247, 247, 247, 247 }
1372#else
1373 { 33, 16 }, { 77, 74 }, { 142, 142 }, { 172, 170 }, { 238, 247 }
1374#endif // CONFIG_EXT_REFS
1375};
1376
Zoe Liu239f06b2017-04-20 13:10:55 -07001377#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
1378// TODO(zoeliu): Default values to be further adjusted based on the collected
1379// stats.
1380static const aom_prob default_comp_inter_mode_p[COMP_INTER_MODE_CONTEXTS] = {
Zoe Liu85b66462017-04-20 14:28:19 -07001381 40, 110, 160, 220
Zoe Liu239f06b2017-04-20 13:10:55 -07001382};
1383#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
1384
Urvang Joshib100db72016-10-12 16:28:56 -07001385#if CONFIG_PALETTE
Urvang Joshi23a61112017-01-30 14:59:27 -08001386
1387// Tree to code palette size (number of colors in a palette) and the
1388// corresponding probabilities for Y and UV planes.
Yaowu Xuf883b422016-08-30 14:01:10 -07001389const aom_tree_index av1_palette_size_tree[TREE_SIZE(PALETTE_SIZES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001390 -TWO_COLORS, 2, -THREE_COLORS, 4, -FOUR_COLORS, 6,
1391 -FIVE_COLORS, 8, -SIX_COLORS, 10, -SEVEN_COLORS, -EIGHT_COLORS,
1392};
1393
1394// TODO(huisu): tune these probs
Yaowu Xuf883b422016-08-30 14:01:10 -07001395const aom_prob
1396 av1_default_palette_y_size_prob[PALETTE_BLOCK_SIZES][PALETTE_SIZES - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001397 { 96, 89, 100, 64, 77, 130 }, { 22, 15, 44, 16, 34, 82 },
1398 { 30, 19, 57, 18, 38, 86 }, { 94, 36, 104, 23, 43, 92 },
1399 { 116, 76, 107, 46, 65, 105 }, { 112, 82, 94, 40, 70, 112 },
1400 { 147, 124, 123, 58, 69, 103 }, { 180, 113, 136, 49, 45, 114 },
1401 { 107, 70, 87, 49, 154, 156 }, { 98, 105, 142, 63, 64, 152 },
1402#if CONFIG_EXT_PARTITION
1403 { 98, 105, 142, 63, 64, 152 }, { 98, 105, 142, 63, 64, 152 },
1404 { 98, 105, 142, 63, 64, 152 },
1405#endif // CONFIG_EXT_PARTITION
1406 };
1407
Yaowu Xuf883b422016-08-30 14:01:10 -07001408const aom_prob
1409 av1_default_palette_uv_size_prob[PALETTE_BLOCK_SIZES][PALETTE_SIZES - 1] = {
1410 { 160, 196, 228, 213, 175, 230 }, { 87, 148, 208, 141, 166, 163 },
1411 { 72, 151, 204, 139, 155, 161 }, { 78, 135, 171, 104, 120, 173 },
1412 { 59, 92, 131, 78, 92, 142 }, { 75, 118, 149, 84, 90, 128 },
1413 { 89, 87, 92, 66, 66, 128 }, { 67, 53, 54, 55, 66, 93 },
1414 { 120, 130, 83, 171, 75, 214 }, { 72, 55, 66, 68, 79, 107 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001415#if CONFIG_EXT_PARTITION
Yaowu Xuf883b422016-08-30 14:01:10 -07001416 { 72, 55, 66, 68, 79, 107 }, { 72, 55, 66, 68, 79, 107 },
1417 { 72, 55, 66, 68, 79, 107 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001418#endif // CONFIG_EXT_PARTITION
Yaowu Xuf883b422016-08-30 14:01:10 -07001419 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001420
Urvang Joshi23a61112017-01-30 14:59:27 -08001421// When palette mode is enabled, following probability tables indicate the
1422// probabilities to code the "is_palette" bit (i.e. the bit that indicates
1423// if this block uses palette mode or DC_PRED mode).
clang-format55ce9e02017-02-15 22:27:12 -08001424const aom_prob av1_default_palette_y_mode_prob
1425 [PALETTE_BLOCK_SIZES][PALETTE_Y_MODE_CONTEXTS] = {
1426 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1427 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1428 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1429 { 240, 180, 100 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001430#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001431 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001432#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001433 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001434
Urvang Joshi23a61112017-01-30 14:59:27 -08001435const aom_prob av1_default_palette_uv_mode_prob[PALETTE_UV_MODE_CONTEXTS] = {
1436 253, 229
1437};
Yaowu Xuc27fc142016-08-22 16:08:15 -07001438
Urvang Joshi23a61112017-01-30 14:59:27 -08001439// Trees to code palette color indices (for various palette sizes), and the
1440// corresponding probability tables for Y and UV planes.
Yaowu Xuf883b422016-08-30 14:01:10 -07001441const aom_tree_index
Alex Converse92109812017-02-22 10:21:40 -08001442 av1_palette_color_index_tree[PALETTE_SIZES][TREE_SIZE(PALETTE_COLORS)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001443 { // 2 colors
1444 -PALETTE_COLOR_ONE, -PALETTE_COLOR_TWO },
1445 { // 3 colors
1446 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, -PALETTE_COLOR_THREE },
1447 { // 4 colors
1448 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE,
1449 -PALETTE_COLOR_FOUR },
1450 { // 5 colors
1451 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1452 -PALETTE_COLOR_FOUR, -PALETTE_COLOR_FIVE },
1453 { // 6 colors
1454 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1455 -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, -PALETTE_COLOR_SIX },
1456 { // 7 colors
1457 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1458 -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, 10, -PALETTE_COLOR_SIX,
1459 -PALETTE_COLOR_SEVEN },
1460 { // 8 colors
1461 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1462 -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, 10, -PALETTE_COLOR_SIX, 12,
1463 -PALETTE_COLOR_SEVEN, -PALETTE_COLOR_EIGHT },
1464 };
1465
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001466// Note: Has to be non-zero to avoid any asserts triggering.
1467#define UNUSED_PROB 128
Yaowu Xuc27fc142016-08-22 16:08:15 -07001468
Urvang Joshi23a61112017-01-30 14:59:27 -08001469const aom_prob av1_default_palette_y_color_index_prob
Alex Converse92109812017-02-22 10:21:40 -08001470 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][PALETTE_COLORS - 1] = {
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001471 {
1472 // 2 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001473 { 231, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001474 UNUSED_PROB, UNUSED_PROB },
1475 { UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1476 UNUSED_PROB, UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001477 { 69, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001478 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001479 { 224, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001480 UNUSED_PROB, UNUSED_PROB },
1481 { 249, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1482 UNUSED_PROB, UNUSED_PROB },
1483 },
1484 {
1485 // 3 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001486 { 219, 124, 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 { 91, 191, 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 { 34, 237, 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 { 184, 118, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001493 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001494 { 252, 124, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001495 UNUSED_PROB },
1496 },
1497 {
1498 // 4 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001499 { 204, 87, 97, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1500 { 74, 144, 129, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1501 { 52, 191, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1502 { 151, 85, 147, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1503 { 248, 60, 115, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001504 },
1505 {
1506 // 5 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001507 { 218, 69, 62, 106, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1508 { 76, 143, 89, 127, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1509 { 21, 233, 94, 131, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1510 { 172, 72, 89, 112, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1511 { 253, 66, 65, 128, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001512 },
1513 {
1514 // 6 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001515 { 190, 60, 47, 54, 74, UNUSED_PROB, UNUSED_PROB },
1516 { 62, 106, 51, 95, 110, UNUSED_PROB, UNUSED_PROB },
1517 { 52, 180, 69, 72, 107, UNUSED_PROB, UNUSED_PROB },
1518 { 156, 83, 72, 83, 101, UNUSED_PROB, UNUSED_PROB },
1519 { 245, 45, 37, 52, 91, UNUSED_PROB, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001520 },
1521 {
1522 // 7 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001523 { 206, 56, 42, 42, 53, 85, UNUSED_PROB },
1524 { 70, 100, 45, 68, 77, 94, UNUSED_PROB },
1525 { 57, 169, 51, 62, 74, 119, UNUSED_PROB },
1526 { 172, 76, 71, 40, 59, 76, UNUSED_PROB },
1527 { 248, 47, 36, 53, 61, 110, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001528 },
1529 {
1530 // 8 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001531 { 208, 52, 38, 34, 34, 44, 66 },
1532 { 52, 107, 34, 73, 69, 82, 87 },
1533 { 28, 208, 53, 43, 62, 70, 102 },
1534 { 184, 64, 45, 37, 37, 69, 105 },
1535 { 251, 18, 31, 45, 47, 61, 104 },
1536 },
1537 };
1538
Urvang Joshi23a61112017-01-30 14:59:27 -08001539const aom_prob av1_default_palette_uv_color_index_prob
Alex Converse92109812017-02-22 10:21:40 -08001540 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][PALETTE_COLORS - 1] = {
Urvang Joshi199a2f42017-01-23 15:02:07 -08001541 {
1542 // 2 colors
1543 { 233, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1544 UNUSED_PROB, UNUSED_PROB },
1545 { UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1546 UNUSED_PROB, UNUSED_PROB },
1547 { 69, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1548 UNUSED_PROB },
1549 { 240, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1550 UNUSED_PROB, UNUSED_PROB },
1551 { 248, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1552 UNUSED_PROB, UNUSED_PROB },
1553 },
1554 {
1555 // 3 colors
1556 { 216, 128, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1557 UNUSED_PROB },
1558 { 110, 171, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1559 UNUSED_PROB },
1560 { 40, 239, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1561 UNUSED_PROB },
1562 { 191, 104, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1563 UNUSED_PROB },
1564 { 247, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1565 UNUSED_PROB },
1566 },
1567 {
1568 // 4 colors
1569 { 202, 89, 132, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1570 { 90, 132, 136, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1571 { 63, 195, 149, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1572 { 152, 84, 152, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1573 { 241, 87, 136, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1574 },
1575 {
1576 // 5 colors
1577 { 209, 54, 82, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1578 { 94, 173, 180, 93, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1579 { 10, 251, 127, 84, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1580 { 183, 20, 150, 47, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1581 { 252, 73, 111, 150, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1582 },
1583 {
1584 // 6 colors
1585 { 192, 67, 59, 46, 184, UNUSED_PROB, UNUSED_PROB },
1586 { 59, 92, 61, 100, 130, UNUSED_PROB, UNUSED_PROB },
1587 { 49, 162, 68, 91, 150, UNUSED_PROB, UNUSED_PROB },
1588 { 133, 29, 36, 153, 101, UNUSED_PROB, UNUSED_PROB },
1589 { 247, 71, 44, 90, 129, UNUSED_PROB, UNUSED_PROB },
1590 },
1591 {
1592 // 7 colors
1593 { 182, 62, 80, 78, 46, 116, UNUSED_PROB },
1594 { 59, 62, 39, 81, 65, 99, UNUSED_PROB },
1595 { 54, 177, 48, 58, 93, 104, UNUSED_PROB },
1596 { 137, 79, 54, 55, 44, 134, UNUSED_PROB },
1597 { 239, 82, 79, 44, 69, 71, UNUSED_PROB },
1598 },
1599 {
1600 // 8 colors
1601 { 172, 53, 27, 67, 30, 79, 113 },
1602 { 63, 57, 45, 81, 62, 35, 47 },
1603 { 51, 200, 36, 47, 82, 165, 129 },
1604 { 141, 100, 47, 29, 33, 37, 129 },
1605 { 236, 42, 50, 91, 24, 154, 65 },
1606 },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001607 };
1608
1609#undef UNUSED_PROB
Yaowu Xuc27fc142016-08-22 16:08:15 -07001610
Urvang Joshicdbe7082017-01-26 13:06:49 -08001611#define MAX_COLOR_CONTEXT_HASH 8
1612// Negative values are invalid
Urvang Joshi23a61112017-01-30 14:59:27 -08001613static const int palette_color_index_context_lookup[MAX_COLOR_CONTEXT_HASH +
1614 1] = { -1, -1, 0, -1, -1,
1615 4, 3, 2, 1 };
Urvang Joshicdbe7082017-01-26 13:06:49 -08001616
Urvang Joshib100db72016-10-12 16:28:56 -07001617#endif // CONFIG_PALETTE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001618
Jingning Hanb4329a22016-11-22 16:20:13 -08001619// The transform size is coded as an offset to the smallest transform
1620// block size.
Jingning Han607fa6a2016-10-26 10:46:28 -07001621const aom_tree_index av1_tx_size_tree[MAX_TX_DEPTH][TREE_SIZE(TX_SIZES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001622 {
1623 // Max tx_size is 8X8
Jingning Hanb4329a22016-11-22 16:20:13 -08001624 -0, -1,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001625 },
1626 {
1627 // Max tx_size is 16X16
Jingning Hanb4329a22016-11-22 16:20:13 -08001628 -0, 2, -1, -2,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001629 },
1630 {
1631 // Max tx_size is 32X32
Jingning Hanb4329a22016-11-22 16:20:13 -08001632 -0, 2, -1, 4, -2, -3,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001633 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001634#if CONFIG_TX64X64
Debargha Mukherjee25ed5302016-11-22 12:13:41 -08001635 {
1636 // Max tx_size is 64X64
Jingning Hanb4329a22016-11-22 16:20:13 -08001637 -0, 2, -1, 4, -2, 6, -3, -4,
Debargha Mukherjee25ed5302016-11-22 12:13:41 -08001638 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001639#endif // CONFIG_TX64X64
Yaowu Xuc27fc142016-08-22 16:08:15 -07001640};
1641
Jingning Hanaae72a62016-10-25 15:35:29 -07001642static const aom_prob default_tx_size_prob[MAX_TX_DEPTH][TX_SIZE_CONTEXTS]
1643 [MAX_TX_DEPTH] = {
clang-format67948d32016-09-07 22:40:40 -07001644 {
1645 // Max tx_size is 8X8
1646 { 100 },
1647 { 66 },
1648 },
1649 {
1650 // Max tx_size is 16X16
1651 { 20, 152 },
1652 { 15, 101 },
1653 },
1654 {
1655 // Max tx_size is 32X32
1656 { 3, 136, 37 },
1657 { 5, 52, 13 },
1658 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001659#if CONFIG_TX64X64
1660 {
1661 // Max tx_size is 64X64
1662 { 1, 64, 136, 127 },
1663 { 1, 32, 52, 67 },
1664 },
1665#endif // CONFIG_TX64X64
clang-format67948d32016-09-07 22:40:40 -07001666 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001667
Yue Chen56e226e2017-05-02 16:21:40 -07001668#if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
1669static const aom_prob default_quarter_tx_size_prob = 192;
1670#endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
1671
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07001672#if CONFIG_LOOP_RESTORATION
Debargha Mukherjeeb3c43bc2017-02-01 13:09:03 -08001673const aom_tree_index
1674 av1_switchable_restore_tree[TREE_SIZE(RESTORE_SWITCHABLE_TYPES)] = {
1675 -RESTORE_NONE, 2, -RESTORE_WIENER, -RESTORE_SGRPROJ,
1676 };
1677
1678static const aom_prob
1679 default_switchable_restore_prob[RESTORE_SWITCHABLE_TYPES - 1] = {
1680 32, 128,
1681 };
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07001682#endif // CONFIG_LOOP_RESTORATION
1683
Urvang Joshib100db72016-10-12 16:28:56 -07001684#if CONFIG_PALETTE
Urvang Joshi23a61112017-01-30 14:59:27 -08001685#define NUM_PALETTE_NEIGHBORS 3 // left, top-left and top.
1686int av1_get_palette_color_index_context(const uint8_t *color_map, int stride,
1687 int r, int c, int palette_size,
1688 uint8_t *color_order, int *color_idx) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001689 int i;
1690 // The +10 below should not be needed. But we get a warning "array subscript
1691 // is above array bounds [-Werror=array-bounds]" without it, possibly due to
1692 // this (or similar) bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124
Yaowu Xuc27fc142016-08-22 16:08:15 -07001693 int scores[PALETTE_MAX_SIZE + 10];
Urvang Joshicdbe7082017-01-26 13:06:49 -08001694 const int weights[NUM_PALETTE_NEIGHBORS] = { 2, 1, 2 };
1695 const int hash_multipliers[NUM_PALETTE_NEIGHBORS] = { 1, 2, 2 };
Urvang Joshi23a61112017-01-30 14:59:27 -08001696 int color_index_ctx_hash;
1697 int color_index_ctx;
Urvang Joshicdbe7082017-01-26 13:06:49 -08001698 int color_neighbors[NUM_PALETTE_NEIGHBORS];
Urvang Joshi967ff392016-09-07 14:57:49 -07001699 int inverse_color_order[PALETTE_MAX_SIZE];
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001700 assert(palette_size <= PALETTE_MAX_SIZE);
Urvang Joshicdbe7082017-01-26 13:06:49 -08001701 assert(r > 0 || c > 0);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001702
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001703 // Get color indices of neighbors.
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001704 color_neighbors[0] = (c - 1 >= 0) ? color_map[r * stride + c - 1] : -1;
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001705 color_neighbors[1] =
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001706 (c - 1 >= 0 && r - 1 >= 0) ? color_map[(r - 1) * stride + c - 1] : -1;
1707 color_neighbors[2] = (r - 1 >= 0) ? color_map[(r - 1) * stride + c] : -1;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001708
Urvang Joshi967ff392016-09-07 14:57:49 -07001709 for (i = 0; i < PALETTE_MAX_SIZE; ++i) {
1710 color_order[i] = i;
1711 inverse_color_order[i] = i;
1712 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001713 memset(scores, 0, PALETTE_MAX_SIZE * sizeof(scores[0]));
Urvang Joshicdbe7082017-01-26 13:06:49 -08001714 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001715 if (color_neighbors[i] >= 0) {
1716 scores[color_neighbors[i]] += weights[i];
1717 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001718 }
1719
Urvang Joshicdbe7082017-01-26 13:06:49 -08001720 // Get the top NUM_PALETTE_NEIGHBORS scores (sorted from large to small).
1721 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001722 int max = scores[i];
1723 int max_idx = i;
1724 int j;
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001725 for (j = i + 1; j < palette_size; ++j) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001726 if (scores[j] > max) {
1727 max = scores[j];
1728 max_idx = j;
1729 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001730 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001731 if (max_idx != i) {
Urvang Joshif1c06a72017-01-09 14:46:51 -08001732 // Move the score at index 'max_idx' to index 'i', and shift the scores
1733 // from 'i' to 'max_idx - 1' by 1.
1734 const int max_score = scores[max_idx];
1735 const uint8_t max_color_order = color_order[max_idx];
1736 int k;
1737 for (k = max_idx; k > i; --k) {
1738 scores[k] = scores[k - 1];
1739 color_order[k] = color_order[k - 1];
1740 inverse_color_order[color_order[k]] = k;
1741 }
1742 scores[i] = max_score;
1743 color_order[i] = max_color_order;
Urvang Joshi967ff392016-09-07 14:57:49 -07001744 inverse_color_order[color_order[i]] = i;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001745 }
1746 }
1747
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001748 // Get hash value of context.
Urvang Joshi23a61112017-01-30 14:59:27 -08001749 color_index_ctx_hash = 0;
Urvang Joshicdbe7082017-01-26 13:06:49 -08001750 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi23a61112017-01-30 14:59:27 -08001751 color_index_ctx_hash += scores[i] * hash_multipliers[i];
Urvang Joshicdbe7082017-01-26 13:06:49 -08001752 }
Urvang Joshi23a61112017-01-30 14:59:27 -08001753 assert(color_index_ctx_hash > 0);
1754 assert(color_index_ctx_hash <= MAX_COLOR_CONTEXT_HASH);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001755
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001756 // Lookup context from hash.
Urvang Joshi23a61112017-01-30 14:59:27 -08001757 color_index_ctx = palette_color_index_context_lookup[color_index_ctx_hash];
1758 assert(color_index_ctx >= 0);
1759 assert(color_index_ctx < PALETTE_COLOR_INDEX_CONTEXTS);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001760
Urvang Joshi967ff392016-09-07 14:57:49 -07001761 if (color_idx != NULL) {
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001762 *color_idx = inverse_color_order[color_map[r * stride + c]];
Urvang Joshi967ff392016-09-07 14:57:49 -07001763 }
Urvang Joshi23a61112017-01-30 14:59:27 -08001764 return color_index_ctx;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001765}
Urvang Joshicdbe7082017-01-26 13:06:49 -08001766#undef NUM_PALETTE_NEIGHBORS
1767#undef MAX_COLOR_CONTEXT_HASH
1768
Urvang Joshib100db72016-10-12 16:28:56 -07001769#endif // CONFIG_PALETTE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001770
1771#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07001772static const aom_prob default_txfm_partition_probs[TXFM_PARTITION_CONTEXTS] = {
Jingning Hanc8b89362016-11-01 10:28:53 -07001773 250, 231, 212, 241, 166, 66, 241, 230, 135, 243, 154, 64, 248, 161, 63, 128,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001774};
1775#endif
1776
Yaowu Xuf883b422016-08-30 14:01:10 -07001777static const aom_prob default_skip_probs[SKIP_CONTEXTS] = { 192, 128, 64 };
Thomas Davies61e3e372017-04-04 16:10:23 +01001778#if CONFIG_NEW_MULTISYMBOL
1779static const aom_cdf_prob default_skip_cdfs[SKIP_CONTEXTS][CDF_SIZE(2)] = {
1780 { AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1781 { AOM_ICDF(16384), AOM_ICDF(32768), 0 },
1782 { AOM_ICDF(8192), AOM_ICDF(32768), 0 }
1783};
1784#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001785
Angie Chiang1733f6b2017-01-05 09:52:20 -08001786#if CONFIG_DUAL_FILTER
Angie Chiangaadbb022017-06-01 16:08:03 -07001787#if USE_EXTRA_FILTER
clang-format55ce9e02017-02-15 22:27:12 -08001788static const aom_prob default_switchable_interp_prob
1789 [SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
1790 { 235, 192, 128 }, { 36, 243, 48 }, { 34, 16, 128 },
1791 { 34, 16, 128 }, { 149, 160, 128 }, { 235, 192, 128 },
1792 { 36, 243, 48 }, { 34, 16, 128 }, { 34, 16, 128 },
1793 { 149, 160, 128 }, { 235, 192, 128 }, { 36, 243, 48 },
1794 { 34, 16, 128 }, { 34, 16, 128 }, { 149, 160, 128 },
1795 { 235, 192, 128 }, { 36, 243, 48 }, { 34, 16, 128 },
1796 { 34, 16, 128 }, { 149, 160, 128 },
1797 };
Angie Chiangaadbb022017-06-01 16:08:03 -07001798#else // USE_EXTRA_FILTER
1799static const aom_prob default_switchable_interp_prob
1800 [SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
1801 { 235, 162 }, { 36, 255 }, { 34, 3 }, { 149, 144 },
1802 { 235, 162 }, { 36, 255 }, { 34, 3 }, { 149, 144 },
1803 { 235, 162 }, { 36, 255 }, { 34, 3 }, { 149, 144 },
1804 { 235, 162 }, { 36, 255 }, { 34, 3 }, { 149, 144 },
1805 };
1806#endif // USE_EXTRA_FILTER
Angie Chiang1733f6b2017-01-05 09:52:20 -08001807#else // CONFIG_DUAL_FILTER
clang-format67948d32016-09-07 22:40:40 -07001808static const aom_prob default_switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS]
1809 [SWITCHABLE_FILTERS - 1] = {
1810 { 235, 162 },
1811 { 36, 255 },
1812 { 34, 3 },
1813 { 149, 144 },
1814 };
Angie Chiang1733f6b2017-01-05 09:52:20 -08001815#endif // CONFIG_DUAL_FILTER
Yaowu Xuc27fc142016-08-22 16:08:15 -07001816
1817#if CONFIG_EXT_TX
1818/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07001819const aom_tree_index av1_ext_tx_inter_tree[EXT_TX_SETS_INTER]
Yaowu Xuc27fc142016-08-22 16:08:15 -07001820 [TREE_SIZE(TX_TYPES)] = {
1821 { // ToDo(yaowu): remove used entry 0.
1822 0
1823 }, {
1824 -IDTX, 2,
1825 4, 14,
1826 6, 8,
1827 -V_DCT, -H_DCT,
1828 10, 12,
1829 -V_ADST, -H_ADST,
1830 -V_FLIPADST, -H_FLIPADST,
1831 -DCT_DCT, 16,
1832 18, 24,
1833 20, 22,
1834 -ADST_DCT, -DCT_ADST,
1835 -FLIPADST_DCT, -DCT_FLIPADST,
1836 26, 28,
1837 -ADST_ADST, -FLIPADST_FLIPADST,
1838 -ADST_FLIPADST, -FLIPADST_ADST
1839 }, {
1840 -IDTX, 2,
1841 4, 6,
1842 -V_DCT, -H_DCT,
1843 -DCT_DCT, 8,
1844 10, 16,
1845 12, 14,
1846 -ADST_DCT, -DCT_ADST,
1847 -FLIPADST_DCT, -DCT_FLIPADST,
1848 18, 20,
1849 -ADST_ADST, -FLIPADST_FLIPADST,
1850 -ADST_FLIPADST, -FLIPADST_ADST
1851 }, {
1852 -IDTX, -DCT_DCT,
1853 }
1854};
1855
Yaowu Xuf883b422016-08-30 14:01:10 -07001856const aom_tree_index av1_ext_tx_intra_tree[EXT_TX_SETS_INTRA]
Yaowu Xuc27fc142016-08-22 16:08:15 -07001857 [TREE_SIZE(TX_TYPES)] = {
1858 { // ToDo(yaowu): remove unused entry 0.
1859 0
1860 }, {
1861 -IDTX, 2,
1862 -DCT_DCT, 4,
1863 6, 8,
1864 -V_DCT, -H_DCT,
1865 -ADST_ADST, 10,
1866 -ADST_DCT, -DCT_ADST,
1867 }, {
1868 -IDTX, 2,
1869 -DCT_DCT, 4,
1870 -ADST_ADST, 6,
1871 -ADST_DCT, -DCT_ADST,
1872 }
1873};
1874/* clang-format on */
1875
Yaowu Xuf883b422016-08-30 14:01:10 -07001876static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -07001877 default_inter_ext_tx_prob[EXT_TX_SETS_INTER][EXT_TX_SIZES][TX_TYPES - 1] = {
1878 {
Jingning Han1a00cff2016-12-28 14:53:14 -08001879// ToDo(yaowu): remove unused entry 0.
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07001880#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08001881 { 0 },
1882#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001883 { 0 },
1884 { 0 },
1885 { 0 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001886 { 0 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001887 },
1888 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07001889#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08001890 { 0 },
1891#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001892 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1893 128 },
1894 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1895 128 },
1896 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1897 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001898 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1899 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001900 },
1901 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07001902#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08001903 { 0 },
1904#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001905 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
1906 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
1907 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001908 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001909 },
1910 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07001911#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08001912 { 0 },
1913#endif
1914 { 12 },
1915 { 12 },
1916 { 12 },
1917 { 12 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001918 }
1919 };
1920
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001921// TODO(urvang): 3rd context should be tx_type instead of intra mode just like
1922// the baseline.
clang-format67948d32016-09-07 22:40:40 -07001923static const aom_prob
1924 default_intra_ext_tx_prob[EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES]
1925 [TX_TYPES - 1] = {
1926 {
Jingning Han1a00cff2016-12-28 14:53:14 -08001927// ToDo(yaowu): remove unused entry 0.
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07001928#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08001929 {
1930 { 0 },
1931 },
1932#endif
clang-format67948d32016-09-07 22:40:40 -07001933 {
1934 { 0 },
1935 { 0 },
1936 { 0 },
1937 { 0 },
1938 { 0 },
1939 { 0 },
1940 { 0 },
1941 { 0 },
1942 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001943#if CONFIG_ALT_INTRA
1944 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07001945#if CONFIG_SMOOTH_HV
1946 { 0 },
1947 { 0 },
1948#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001949#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07001950 { 0 },
clang-format67948d32016-09-07 22:40:40 -07001951 },
1952 {
1953 { 0 },
1954 { 0 },
1955 { 0 },
1956 { 0 },
1957 { 0 },
1958 { 0 },
1959 { 0 },
1960 { 0 },
1961 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001962#if CONFIG_ALT_INTRA
1963 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07001964#if CONFIG_SMOOTH_HV
1965 { 0 },
1966 { 0 },
1967#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001968#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07001969 { 0 },
clang-format67948d32016-09-07 22:40:40 -07001970 },
1971 {
1972 { 0 },
1973 { 0 },
1974 { 0 },
1975 { 0 },
1976 { 0 },
1977 { 0 },
1978 { 0 },
1979 { 0 },
1980 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001981#if CONFIG_ALT_INTRA
1982 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07001983#if CONFIG_SMOOTH_HV
1984 { 0 },
1985 { 0 },
1986#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08001987#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07001988 { 0 },
clang-format67948d32016-09-07 22:40:40 -07001989 },
1990 {
1991 { 0 },
1992 { 0 },
1993 { 0 },
1994 { 0 },
1995 { 0 },
1996 { 0 },
1997 { 0 },
1998 { 0 },
1999 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002000#if CONFIG_ALT_INTRA
2001 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002002#if CONFIG_SMOOTH_HV
2003 { 0 },
2004 { 0 },
2005#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002006#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002007 { 0 },
clang-format67948d32016-09-07 22:40:40 -07002008 },
2009 },
2010 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002011#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002012 {
2013 { 0 },
2014 },
2015#endif
clang-format67948d32016-09-07 22:40:40 -07002016 {
2017 { 8, 224, 32, 128, 64, 128 },
2018 { 10, 32, 32, 128, 16, 192 },
2019 { 10, 32, 32, 128, 16, 64 },
2020 { 9, 200, 32, 128, 64, 128 },
2021 { 8, 8, 32, 128, 224, 128 },
2022 { 10, 32, 32, 128, 16, 192 },
2023 { 10, 32, 32, 128, 16, 64 },
2024 { 10, 23, 32, 128, 80, 176 },
2025 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002026#if CONFIG_ALT_INTRA
2027 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002028#if CONFIG_SMOOTH_HV
2029 { 10, 32, 32, 128, 16, 64 },
2030 { 10, 32, 32, 128, 16, 64 },
2031#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002032#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002033 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002034 },
2035 {
2036 { 8, 224, 32, 128, 64, 128 },
2037 { 10, 32, 32, 128, 16, 192 },
2038 { 10, 32, 32, 128, 16, 64 },
2039 { 9, 200, 32, 128, 64, 128 },
2040 { 8, 8, 32, 128, 224, 128 },
2041 { 10, 32, 32, 128, 16, 192 },
2042 { 10, 32, 32, 128, 16, 64 },
2043 { 10, 23, 32, 128, 80, 176 },
2044 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002045#if CONFIG_ALT_INTRA
2046 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002047#if CONFIG_SMOOTH_HV
2048 { 10, 32, 32, 128, 16, 64 },
2049 { 10, 32, 32, 128, 16, 64 },
2050#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002051#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002052 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002053 },
2054 {
2055 { 8, 224, 32, 128, 64, 128 },
2056 { 10, 32, 32, 128, 16, 192 },
2057 { 10, 32, 32, 128, 16, 64 },
2058 { 9, 200, 32, 128, 64, 128 },
2059 { 8, 8, 32, 128, 224, 128 },
2060 { 10, 32, 32, 128, 16, 192 },
2061 { 10, 32, 32, 128, 16, 64 },
2062 { 10, 23, 32, 128, 80, 176 },
2063 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002064#if CONFIG_ALT_INTRA
2065 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002066#if CONFIG_SMOOTH_HV
2067 { 10, 32, 32, 128, 16, 64 },
2068 { 10, 32, 32, 128, 16, 64 },
2069#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002070#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002071 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002072 },
2073 {
2074 { 8, 224, 32, 128, 64, 128 },
2075 { 10, 32, 32, 128, 16, 192 },
2076 { 10, 32, 32, 128, 16, 64 },
2077 { 9, 200, 32, 128, 64, 128 },
2078 { 8, 8, 32, 128, 224, 128 },
2079 { 10, 32, 32, 128, 16, 192 },
2080 { 10, 32, 32, 128, 16, 64 },
2081 { 10, 23, 32, 128, 80, 176 },
2082 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002083#if CONFIG_ALT_INTRA
2084 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002085#if CONFIG_SMOOTH_HV
2086 { 10, 32, 32, 128, 16, 64 },
2087 { 10, 32, 32, 128, 16, 64 },
2088#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002089#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002090 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002091 },
2092 },
2093 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002094#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002095 {
2096 { 0 },
2097 },
2098#endif
clang-format67948d32016-09-07 22:40:40 -07002099 {
2100 { 8, 224, 64, 128 },
2101 { 10, 32, 16, 192 },
2102 { 10, 32, 16, 64 },
2103 { 9, 200, 64, 128 },
2104 { 8, 8, 224, 128 },
2105 { 10, 32, 16, 192 },
2106 { 10, 32, 16, 64 },
2107 { 10, 23, 80, 176 },
2108 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002109#if CONFIG_ALT_INTRA
2110 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002111#if CONFIG_SMOOTH_HV
2112 { 10, 32, 16, 64 },
2113 { 10, 32, 16, 64 },
2114#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002115#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002116 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002117 },
2118 {
2119 { 8, 224, 64, 128 },
2120 { 10, 32, 16, 192 },
2121 { 10, 32, 16, 64 },
2122 { 9, 200, 64, 128 },
2123 { 8, 8, 224, 128 },
2124 { 10, 32, 16, 192 },
2125 { 10, 32, 16, 64 },
2126 { 10, 23, 80, 176 },
2127 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002128#if CONFIG_ALT_INTRA
2129 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002130#if CONFIG_SMOOTH_HV
2131 { 10, 32, 16, 64 },
2132 { 10, 32, 16, 64 },
2133#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002134#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002135 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002136 },
2137 {
2138 { 8, 224, 64, 128 },
2139 { 10, 32, 16, 192 },
2140 { 10, 32, 16, 64 },
2141 { 9, 200, 64, 128 },
2142 { 8, 8, 224, 128 },
2143 { 10, 32, 16, 192 },
2144 { 10, 32, 16, 64 },
2145 { 10, 23, 80, 176 },
2146 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002147#if CONFIG_ALT_INTRA
2148 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002149#if CONFIG_SMOOTH_HV
2150 { 10, 32, 16, 64 },
2151 { 10, 32, 16, 64 },
2152#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002153#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002154 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002155 },
2156 {
2157 { 8, 224, 64, 128 },
2158 { 10, 32, 16, 192 },
2159 { 10, 32, 16, 64 },
2160 { 9, 200, 64, 128 },
2161 { 8, 8, 224, 128 },
2162 { 10, 32, 16, 192 },
2163 { 10, 32, 16, 64 },
2164 { 10, 23, 80, 176 },
2165 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002166#if CONFIG_ALT_INTRA
2167 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002168#if CONFIG_SMOOTH_HV
2169 { 10, 32, 16, 64 },
2170 { 10, 32, 16, 64 },
2171#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002172#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002173 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002174 },
2175 },
2176 };
Zoe Liu7f24e1b2017-03-17 17:42:05 -07002177#else // !CONFIG_EXT_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07002178
2179/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07002180const aom_tree_index av1_ext_tx_tree[TREE_SIZE(TX_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002181 -DCT_DCT, 2,
2182 -ADST_ADST, 4,
2183 -ADST_DCT, -DCT_ADST
2184};
2185/* clang-format on */
2186
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04002187int av1_ext_tx_ind[TX_TYPES];
2188int av1_ext_tx_inv[TX_TYPES];
2189
Yaowu Xuf883b422016-08-30 14:01:10 -07002190static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -07002191 default_intra_ext_tx_prob[EXT_TX_SIZES][TX_TYPES][TX_TYPES - 1] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002192#if CONFIG_CHROMA_2X2
Jingning Han607fa6a2016-10-26 10:46:28 -07002193 { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
2194#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07002195 { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
2196 { { 244, 85, 128 }, { 8, 2, 248 }, { 8, 2, 8 }, { 8, 248, 128 } },
2197 { { 248, 85, 128 }, { 16, 4, 248 }, { 16, 4, 8 }, { 16, 248, 128 } },
2198 };
2199
Yaowu Xuf883b422016-08-30 14:01:10 -07002200static const aom_prob default_inter_ext_tx_prob[EXT_TX_SIZES][TX_TYPES - 1] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002201#if CONFIG_CHROMA_2X2
Jingning Han607fa6a2016-10-26 10:46:28 -07002202 { 160, 85, 128 },
2203#endif
2204 { 160, 85, 128 },
2205 { 176, 85, 128 },
2206 { 192, 85, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002207};
2208#endif // CONFIG_EXT_TX
2209
hui sub4e25d22017-03-09 15:32:30 -08002210#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
clang-format55ce9e02017-02-15 22:27:12 -08002211static const aom_prob
2212 default_intra_filter_probs[INTRA_FILTERS + 1][INTRA_FILTERS - 1] = {
2213 { 98, 63, 60 }, { 98, 82, 80 }, { 94, 65, 103 },
2214 { 49, 25, 24 }, { 72, 38, 50 },
2215 };
Yaowu Xuf883b422016-08-30 14:01:10 -07002216const aom_tree_index av1_intra_filter_tree[TREE_SIZE(INTRA_FILTERS)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002217 -INTRA_FILTER_LINEAR, 2, -INTRA_FILTER_8TAP, 4, -INTRA_FILTER_8TAP_SHARP,
2218 -INTRA_FILTER_8TAP_SMOOTH,
2219};
hui sub4e25d22017-03-09 15:32:30 -08002220int av1_intra_filter_ind[INTRA_FILTERS];
2221int av1_intra_filter_inv[INTRA_FILTERS];
hui sub4e25d22017-03-09 15:32:30 -08002222#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07002223
hui su5db97432016-10-14 16:10:14 -07002224#if CONFIG_FILTER_INTRA
2225static const aom_prob default_filter_intra_probs[2] = { 230, 230 };
2226#endif // CONFIG_FILTER_INTRA
2227
Yaowu Xuc27fc142016-08-22 16:08:15 -07002228#if CONFIG_SUPERTX
clang-format55ce9e02017-02-15 22:27:12 -08002229static const aom_prob
2230 default_supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002231#if CONFIG_CHROMA_2X2
Jingning Hanfeb517c2016-12-21 16:02:07 -08002232#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002233 { 1, 1, 160, 160, 170, 180 }, { 1, 1, 200, 200, 210, 220 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002234#else
clang-format55ce9e02017-02-15 22:27:12 -08002235 { 1, 1, 160, 160, 170 }, { 1, 1, 200, 200, 210 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002236#endif // CONFIG_TX64X64
2237#else
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002238#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002239 { 1, 160, 160, 170, 180 }, { 1, 200, 200, 210, 220 },
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002240#else
clang-format55ce9e02017-02-15 22:27:12 -08002241 { 1, 160, 160, 170 }, { 1, 200, 200, 210 },
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002242#endif // CONFIG_TX64X64
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002243#endif // CONFIG_CHROMA_2X2
clang-format55ce9e02017-02-15 22:27:12 -08002244 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07002245#endif // CONFIG_SUPERTX
2246
2247// FIXME(someone) need real defaults here
Nathan E. Eggef627e582016-08-19 20:06:51 -04002248static const aom_prob default_segment_tree_probs[SEG_TREE_PROBS] = {
2249 128, 128, 128, 128, 128, 128, 128
Yaowu Xuc27fc142016-08-22 16:08:15 -07002250};
Nathan E. Eggef627e582016-08-19 20:06:51 -04002251// clang-format off
2252static const aom_prob default_segment_pred_probs[PREDICTION_PROBS] = {
2253 128, 128, 128
2254};
2255// clang-format on
Yaowu Xuc27fc142016-08-22 16:08:15 -07002256
Thomas Davies4ba27d02017-04-05 11:43:36 +01002257#if CONFIG_DUAL_FILTER
Angie Chiangaadbb022017-06-01 16:08:03 -07002258#if USE_EXTRA_FILTER
Thomas Davies4ba27d02017-04-05 11:43:36 +01002259static const aom_cdf_prob
2260 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2261 SWITCHABLE_FILTERS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002262 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2263 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2264 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2265 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2266 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2267 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2268 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2269 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2270 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2271 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2272 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2273 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2274 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2275 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2276 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2277 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2278 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2279 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2280 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2281 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 }
Thomas Davies4ba27d02017-04-05 11:43:36 +01002282 };
Angie Chiangaadbb022017-06-01 16:08:03 -07002283#else // USE_EXTRA_FILTER
2284static const aom_cdf_prob
2285 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2286 SWITCHABLE_FILTERS)] = {
2287 { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
2288 { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
2289 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
2290 { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
2291 { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
2292 { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
2293 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
2294 { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
2295 { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
2296 { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
2297 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
2298 { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
2299 { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
2300 { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
2301 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
2302 { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
2303 };
2304#endif // USE_EXTRA_FILTER
2305#else // CONFIG_DUAL_FILTER
Thomas Davies1d7db722017-02-22 11:15:00 +00002306static const aom_cdf_prob
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002307 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2308 SWITCHABLE_FILTERS)] = {
2309 { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
2310 { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
2311 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
2312 { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
2313 };
Angie Chiangaadbb022017-06-01 16:08:03 -07002314#endif // CONFIG_DUAL_FILTER
Thomas Davies1d7db722017-02-22 11:15:00 +00002315
2316static const aom_cdf_prob default_seg_tree_cdf[CDF_SIZE(MAX_SEGMENTS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002317 AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288),
2318 AOM_ICDF(16384), AOM_ICDF(20480), AOM_ICDF(24576),
2319 AOM_ICDF(28672), AOM_ICDF(32768), 0
Thomas Davies1d7db722017-02-22 11:15:00 +00002320};
2321
2322static const aom_cdf_prob
2323 default_tx_size_cdf[MAX_TX_DEPTH][TX_SIZE_CONTEXTS][CDF_SIZE(MAX_TX_DEPTH +
2324 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002325 { { AOM_ICDF(12800), AOM_ICDF(32768), 0 },
2326 { AOM_ICDF(8448), AOM_ICDF(32768), 0 } },
2327 { { AOM_ICDF(2560), AOM_ICDF(20496), AOM_ICDF(32768), 0 },
2328 { AOM_ICDF(1920), AOM_ICDF(14091), AOM_ICDF(32768), 0 } },
2329 { { AOM_ICDF(384), AOM_ICDF(17588), AOM_ICDF(19782), AOM_ICDF(32768), 0 },
2330 { AOM_ICDF(640), AOM_ICDF(7166), AOM_ICDF(8466), AOM_ICDF(32768), 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002331#if CONFIG_TX64X64
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002332 { { AOM_ICDF(128), AOM_ICDF(8288), AOM_ICDF(21293), AOM_ICDF(26986),
2333 AOM_ICDF(32768), 0 },
2334 { AOM_ICDF(128), AOM_ICDF(4208), AOM_ICDF(10009), AOM_ICDF(15965),
2335 AOM_ICDF(32768), 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002336#endif
2337 };
2338
Urvang Joshi63234542017-03-10 12:04:03 -08002339#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002340#if CONFIG_SMOOTH_HV
2341static const aom_cdf_prob
2342 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2343 { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(11980), AOM_ICDF(15213),
2344 AOM_ICDF(18579), AOM_ICDF(21075), AOM_ICDF(24090), AOM_ICDF(25954),
2345 AOM_ICDF(27870), AOM_ICDF(29439), AOM_ICDF(31051), AOM_ICDF(31863),
2346 AOM_ICDF(32768), 0 },
2347 { AOM_ICDF(11776), AOM_ICDF(21616), AOM_ICDF(23663), AOM_ICDF(25147),
2348 AOM_ICDF(26060), AOM_ICDF(26828), AOM_ICDF(27246), AOM_ICDF(28066),
2349 AOM_ICDF(28654), AOM_ICDF(29474), AOM_ICDF(31353), AOM_ICDF(32038),
2350 AOM_ICDF(32768), 0 },
2351 { AOM_ICDF(14720), AOM_ICDF(21911), AOM_ICDF(23650), AOM_ICDF(25282),
2352 AOM_ICDF(25740), AOM_ICDF(26108), AOM_ICDF(26316), AOM_ICDF(26896),
2353 AOM_ICDF(27194), AOM_ICDF(27695), AOM_ICDF(30113), AOM_ICDF(31254),
2354 AOM_ICDF(32768), 0 },
2355 { AOM_ICDF(18944), AOM_ICDF(27422), AOM_ICDF(28403), AOM_ICDF(29386),
2356 AOM_ICDF(29405), AOM_ICDF(29460), AOM_ICDF(29550), AOM_ICDF(29588),
2357 AOM_ICDF(29600), AOM_ICDF(29637), AOM_ICDF(30542), AOM_ICDF(31298),
2358 AOM_ICDF(32768), 0 },
2359 };
2360
2361static const aom_cdf_prob
2362 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
2363 { AOM_ICDF(23552), AOM_ICDF(23660), AOM_ICDF(26044), AOM_ICDF(28731),
2364 AOM_ICDF(29093), AOM_ICDF(29590), AOM_ICDF(30000), AOM_ICDF(30465),
2365 AOM_ICDF(30825), AOM_ICDF(31478), AOM_ICDF(32088), AOM_ICDF(32401),
2366 AOM_ICDF(32768), 0 },
2367 { AOM_ICDF(2944), AOM_ICDF(3294), AOM_ICDF(26781), AOM_ICDF(27903),
2368 AOM_ICDF(28179), AOM_ICDF(29237), AOM_ICDF(29430), AOM_ICDF(30317),
2369 AOM_ICDF(30441), AOM_ICDF(30614), AOM_ICDF(31556), AOM_ICDF(31963),
2370 AOM_ICDF(32768), 0 },
2371 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(5453), AOM_ICDF(28285),
2372 AOM_ICDF(28641), AOM_ICDF(28927), AOM_ICDF(29092), AOM_ICDF(29279),
2373 AOM_ICDF(30083), AOM_ICDF(31384), AOM_ICDF(32027), AOM_ICDF(32406),
2374 AOM_ICDF(32768), 0 },
2375 { AOM_ICDF(17664), AOM_ICDF(17841), AOM_ICDF(20465), AOM_ICDF(22016),
2376 AOM_ICDF(22364), AOM_ICDF(22916), AOM_ICDF(27149), AOM_ICDF(29498),
2377 AOM_ICDF(29766), AOM_ICDF(31091), AOM_ICDF(31871), AOM_ICDF(32260),
2378 AOM_ICDF(32768), 0 },
2379 { AOM_ICDF(16640), AOM_ICDF(16766), AOM_ICDF(18516), AOM_ICDF(20359),
2380 AOM_ICDF(24964), AOM_ICDF(27591), AOM_ICDF(27915), AOM_ICDF(28389),
2381 AOM_ICDF(29997), AOM_ICDF(30495), AOM_ICDF(31623), AOM_ICDF(32151),
2382 AOM_ICDF(32768), 0 },
2383 { AOM_ICDF(13952), AOM_ICDF(14173), AOM_ICDF(18168), AOM_ICDF(19139),
2384 AOM_ICDF(21064), AOM_ICDF(30601), AOM_ICDF(30889), AOM_ICDF(31410),
2385 AOM_ICDF(31803), AOM_ICDF(32059), AOM_ICDF(32358), AOM_ICDF(32563),
2386 AOM_ICDF(32768), 0 },
2387 { AOM_ICDF(15872), AOM_ICDF(15938), AOM_ICDF(17056), AOM_ICDF(21545),
2388 AOM_ICDF(23947), AOM_ICDF(24667), AOM_ICDF(24920), AOM_ICDF(25196),
2389 AOM_ICDF(30638), AOM_ICDF(31229), AOM_ICDF(31968), AOM_ICDF(32284),
2390 AOM_ICDF(32768), 0 },
2391 { AOM_ICDF(16256), AOM_ICDF(16385), AOM_ICDF(17409), AOM_ICDF(23210),
2392 AOM_ICDF(23628), AOM_ICDF(24009), AOM_ICDF(24967), AOM_ICDF(25546),
2393 AOM_ICDF(26054), AOM_ICDF(31037), AOM_ICDF(31875), AOM_ICDF(32335),
2394 AOM_ICDF(32768), 0 },
2395 { AOM_ICDF(14720), AOM_ICDF(14932), AOM_ICDF(19461), AOM_ICDF(20713),
2396 AOM_ICDF(21073), AOM_ICDF(21852), AOM_ICDF(23430), AOM_ICDF(29631),
2397 AOM_ICDF(29876), AOM_ICDF(30520), AOM_ICDF(31591), AOM_ICDF(32078),
2398 AOM_ICDF(32768), 0 },
2399 { AOM_ICDF(16768), AOM_ICDF(17018), AOM_ICDF(20217), AOM_ICDF(22624),
2400 AOM_ICDF(23484), AOM_ICDF(23698), AOM_ICDF(24300), AOM_ICDF(25193),
2401 AOM_ICDF(25785), AOM_ICDF(26903), AOM_ICDF(29835), AOM_ICDF(31187),
2402 AOM_ICDF(32768), 0 },
2403 { AOM_ICDF(16768), AOM_ICDF(17081), AOM_ICDF(21064), AOM_ICDF(23339),
2404 AOM_ICDF(24047), AOM_ICDF(24264), AOM_ICDF(24829), AOM_ICDF(25759),
2405 AOM_ICDF(26224), AOM_ICDF(27119), AOM_ICDF(29833), AOM_ICDF(31599),
2406 AOM_ICDF(32768), 0 },
2407 { AOM_ICDF(17536), AOM_ICDF(17774), AOM_ICDF(20293), AOM_ICDF(23203),
2408 AOM_ICDF(23906), AOM_ICDF(24094), AOM_ICDF(24636), AOM_ICDF(25303),
2409 AOM_ICDF(26003), AOM_ICDF(27271), AOM_ICDF(29912), AOM_ICDF(30927),
2410 AOM_ICDF(32768), 0 },
2411 { AOM_ICDF(17536), AOM_ICDF(18250), AOM_ICDF(23467), AOM_ICDF(27840),
2412 AOM_ICDF(28058), AOM_ICDF(28626), AOM_ICDF(28853), AOM_ICDF(29541),
2413 AOM_ICDF(29907), AOM_ICDF(30600), AOM_ICDF(31515), AOM_ICDF(32049),
2414 AOM_ICDF(32768), 0 },
2415 };
2416#else // !CONFIG_SMOOTH_HV
Urvang Joshi63234542017-03-10 12:04:03 -08002417static const aom_cdf_prob
2418 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002419 { AOM_ICDF(11264), AOM_ICDF(12608), AOM_ICDF(16309), AOM_ICDF(21086),
2420 AOM_ICDF(23297), AOM_ICDF(24860), AOM_ICDF(27022), AOM_ICDF(28099),
2421 AOM_ICDF(29631), AOM_ICDF(31126), AOM_ICDF(32768), 0 },
2422 { AOM_ICDF(9600), AOM_ICDF(11953), AOM_ICDF(16100), AOM_ICDF(20922),
2423 AOM_ICDF(22756), AOM_ICDF(23913), AOM_ICDF(25435), AOM_ICDF(26724),
2424 AOM_ICDF(28046), AOM_ICDF(29927), AOM_ICDF(32768), 0 },
2425 { AOM_ICDF(9344), AOM_ICDF(11540), AOM_ICDF(16515), AOM_ICDF(21763),
2426 AOM_ICDF(23078), AOM_ICDF(23816), AOM_ICDF(24725), AOM_ICDF(25856),
2427 AOM_ICDF(26720), AOM_ICDF(28208), AOM_ICDF(32768), 0 },
2428 { AOM_ICDF(12288), AOM_ICDF(14448), AOM_ICDF(18026), AOM_ICDF(23346),
2429 AOM_ICDF(23833), AOM_ICDF(24188), AOM_ICDF(24724), AOM_ICDF(25415),
2430 AOM_ICDF(25817), AOM_ICDF(26876), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08002431 };
2432
2433static const aom_cdf_prob
2434 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002435 { AOM_ICDF(25472), AOM_ICDF(25558), AOM_ICDF(27783), AOM_ICDF(30779),
2436 AOM_ICDF(30988), AOM_ICDF(31269), AOM_ICDF(31492), AOM_ICDF(31741),
2437 AOM_ICDF(32014), AOM_ICDF(32420), AOM_ICDF(32768), 0 },
2438 { AOM_ICDF(2176), AOM_ICDF(2415), AOM_ICDF(28381), AOM_ICDF(29574),
2439 AOM_ICDF(29832), AOM_ICDF(30712), AOM_ICDF(30881), AOM_ICDF(31662),
2440 AOM_ICDF(31761), AOM_ICDF(31922), AOM_ICDF(32768), 0 },
2441 { AOM_ICDF(3328), AOM_ICDF(3443), AOM_ICDF(4016), AOM_ICDF(31099),
2442 AOM_ICDF(31272), AOM_ICDF(31420), AOM_ICDF(31504), AOM_ICDF(31608),
2443 AOM_ICDF(31916), AOM_ICDF(32598), AOM_ICDF(32768), 0 },
2444 { AOM_ICDF(23424), AOM_ICDF(23534), AOM_ICDF(25915), AOM_ICDF(27831),
2445 AOM_ICDF(28058), AOM_ICDF(28431), AOM_ICDF(30142), AOM_ICDF(31209),
2446 AOM_ICDF(31459), AOM_ICDF(32369), AOM_ICDF(32768), 0 },
2447 { AOM_ICDF(22784), AOM_ICDF(22862), AOM_ICDF(24255), AOM_ICDF(26287),
2448 AOM_ICDF(28490), AOM_ICDF(29509), AOM_ICDF(29776), AOM_ICDF(30115),
2449 AOM_ICDF(31203), AOM_ICDF(31674), AOM_ICDF(32768), 0 },
2450 { AOM_ICDF(19712), AOM_ICDF(19865), AOM_ICDF(23141), AOM_ICDF(24428),
2451 AOM_ICDF(25731), AOM_ICDF(31377), AOM_ICDF(31622), AOM_ICDF(32047),
2452 AOM_ICDF(32458), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
2453 { AOM_ICDF(21376), AOM_ICDF(21421), AOM_ICDF(22130), AOM_ICDF(27688),
2454 AOM_ICDF(28485), AOM_ICDF(28779), AOM_ICDF(28935), AOM_ICDF(29085),
2455 AOM_ICDF(31962), AOM_ICDF(32450), AOM_ICDF(32768), 0 },
2456 { AOM_ICDF(19712), AOM_ICDF(19814), AOM_ICDF(20725), AOM_ICDF(28510),
2457 AOM_ICDF(28814), AOM_ICDF(29099), AOM_ICDF(29457), AOM_ICDF(29729),
2458 AOM_ICDF(30133), AOM_ICDF(32408), AOM_ICDF(32768), 0 },
2459 { AOM_ICDF(19584), AOM_ICDF(19790), AOM_ICDF(23643), AOM_ICDF(25501),
2460 AOM_ICDF(25913), AOM_ICDF(26673), AOM_ICDF(27578), AOM_ICDF(30923),
2461 AOM_ICDF(31255), AOM_ICDF(31870), AOM_ICDF(32768), 0 },
2462 { AOM_ICDF(20864), AOM_ICDF(21004), AOM_ICDF(24129), AOM_ICDF(26308),
2463 AOM_ICDF(27062), AOM_ICDF(27065), AOM_ICDF(27488), AOM_ICDF(28045),
2464 AOM_ICDF(28506), AOM_ICDF(29272), AOM_ICDF(32768), 0 },
2465 { AOM_ICDF(23680), AOM_ICDF(23929), AOM_ICDF(27831), AOM_ICDF(30446),
2466 AOM_ICDF(30598), AOM_ICDF(31129), AOM_ICDF(31244), AOM_ICDF(31655),
2467 AOM_ICDF(31868), AOM_ICDF(32234), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08002468 };
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002469#endif // CONFIG_SMOOTH_HV
Zoe Liu7f24e1b2017-03-17 17:42:05 -07002470#else // !CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002471static const aom_cdf_prob
2472 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2473 { AOM_ICDF(8320), AOM_ICDF(11376), AOM_ICDF(12880), AOM_ICDF(19959),
2474 AOM_ICDF(23072), AOM_ICDF(24067), AOM_ICDF(25461), AOM_ICDF(26917),
2475 AOM_ICDF(29157), AOM_ICDF(32768), 0 },
2476 { AOM_ICDF(16896), AOM_ICDF(21112), AOM_ICDF(21932), AOM_ICDF(27852),
2477 AOM_ICDF(28667), AOM_ICDF(28916), AOM_ICDF(29593), AOM_ICDF(30089),
2478 AOM_ICDF(30905), AOM_ICDF(32768), 0 },
2479 { AOM_ICDF(22144), AOM_ICDF(25464), AOM_ICDF(26006), AOM_ICDF(30364),
2480 AOM_ICDF(30583), AOM_ICDF(30655), AOM_ICDF(31183), AOM_ICDF(31400),
2481 AOM_ICDF(31646), AOM_ICDF(32768), 0 },
2482 { AOM_ICDF(28288), AOM_ICDF(30650), AOM_ICDF(30964), AOM_ICDF(32288),
2483 AOM_ICDF(32308), AOM_ICDF(32331), AOM_ICDF(32495), AOM_ICDF(32586),
2484 AOM_ICDF(32607), AOM_ICDF(32768), 0 },
2485 };
Thomas Davies1d7db722017-02-22 11:15:00 +00002486
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002487static const aom_cdf_prob
2488 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
2489 { AOM_ICDF(15360), AOM_ICDF(15836), AOM_ICDF(20863), AOM_ICDF(27513),
2490 AOM_ICDF(28269), AOM_ICDF(29048), AOM_ICDF(29455), AOM_ICDF(30154),
2491 AOM_ICDF(31206), AOM_ICDF(32768), 0 },
2492 { AOM_ICDF(6144), AOM_ICDF(7392), AOM_ICDF(22657), AOM_ICDF(25981),
2493 AOM_ICDF(26965), AOM_ICDF(28779), AOM_ICDF(29309), AOM_ICDF(30890),
2494 AOM_ICDF(31763), AOM_ICDF(32768), 0 },
2495 { AOM_ICDF(8576), AOM_ICDF(9143), AOM_ICDF(11450), AOM_ICDF(27575),
2496 AOM_ICDF(28108), AOM_ICDF(28438), AOM_ICDF(28658), AOM_ICDF(28995),
2497 AOM_ICDF(30410), AOM_ICDF(32768), 0 },
2498 { AOM_ICDF(12416), AOM_ICDF(12814), AOM_ICDF(16244), AOM_ICDF(22057),
2499 AOM_ICDF(23492), AOM_ICDF(24700), AOM_ICDF(26213), AOM_ICDF(27954),
2500 AOM_ICDF(29778), AOM_ICDF(32768), 0 },
2501 { AOM_ICDF(10624), AOM_ICDF(11057), AOM_ICDF(14619), AOM_ICDF(19415),
2502 AOM_ICDF(23134), AOM_ICDF(25679), AOM_ICDF(26399), AOM_ICDF(27618),
2503 AOM_ICDF(30676), AOM_ICDF(32768), 0 },
2504 { AOM_ICDF(10240), AOM_ICDF(10680), AOM_ICDF(15684), AOM_ICDF(19118),
2505 AOM_ICDF(21856), AOM_ICDF(27563), AOM_ICDF(28234), AOM_ICDF(29332),
2506 AOM_ICDF(31278), AOM_ICDF(32768), 0 },
2507 { AOM_ICDF(11008), AOM_ICDF(11433), AOM_ICDF(14100), AOM_ICDF(22522),
2508 AOM_ICDF(24365), AOM_ICDF(25330), AOM_ICDF(25737), AOM_ICDF(26341),
2509 AOM_ICDF(30433), AOM_ICDF(32768), 0 },
2510 { AOM_ICDF(10880), AOM_ICDF(11308), AOM_ICDF(13991), AOM_ICDF(23645),
2511 AOM_ICDF(24679), AOM_ICDF(25433), AOM_ICDF(25977), AOM_ICDF(26746),
2512 AOM_ICDF(28463), AOM_ICDF(32768), 0 },
2513 { AOM_ICDF(9856), AOM_ICDF(10483), AOM_ICDF(16054), AOM_ICDF(19959),
2514 AOM_ICDF(21708), AOM_ICDF(23628), AOM_ICDF(24949), AOM_ICDF(28797),
2515 AOM_ICDF(30658), AOM_ICDF(32768), 0 },
2516 { AOM_ICDF(12928), AOM_ICDF(14556), AOM_ICDF(22168), AOM_ICDF(27789),
2517 AOM_ICDF(28543), AOM_ICDF(29663), AOM_ICDF(29893), AOM_ICDF(30645),
2518 AOM_ICDF(31682), AOM_ICDF(32768), 0 },
2519 };
Urvang Joshi63234542017-03-10 12:04:03 -08002520#endif // CONFIG_ALT_INTRA
Thomas Davies1d7db722017-02-22 11:15:00 +00002521
Alex Converse57795a42017-03-14 12:18:25 -07002522#if CONFIG_EXT_PARTITION_TYPES
2523static const aom_cdf_prob
2524 default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(EXT_PARTITION_TYPES)] = {
2525 // 8x8 -> 4x4 only supports the four legacy partition types
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002526 { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0,
2527 0, 0, 0, 0 },
2528 { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0,
2529 0, 0, 0, 0 },
2530 { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0,
2531 0, 0, 0, 0 },
2532 { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0,
2533 0, 0, 0, 0 },
2534 { AOM_ICDF(22272), AOM_ICDF(23768), AOM_ICDF(25043), AOM_ICDF(29996),
2535 AOM_ICDF(30744), AOM_ICDF(31493), AOM_ICDF(32130), AOM_ICDF(32768), 0 },
2536 { AOM_ICDF(11776), AOM_ICDF(13457), AOM_ICDF(16315), AOM_ICDF(28229),
2537 AOM_ICDF(29069), AOM_ICDF(29910), AOM_ICDF(31339), AOM_ICDF(32768), 0 },
2538 { AOM_ICDF(10496), AOM_ICDF(14802), AOM_ICDF(16136), AOM_ICDF(27127),
2539 AOM_ICDF(29280), AOM_ICDF(31434), AOM_ICDF(32101), AOM_ICDF(32768), 0 },
2540 { AOM_ICDF(6784), AOM_ICDF(8763), AOM_ICDF(10440), AOM_ICDF(29110),
2541 AOM_ICDF(30100), AOM_ICDF(31090), AOM_ICDF(31929), AOM_ICDF(32768), 0 },
2542 { AOM_ICDF(22656), AOM_ICDF(23801), AOM_ICDF(24702), AOM_ICDF(30721),
2543 AOM_ICDF(31294), AOM_ICDF(31867), AOM_ICDF(32317), AOM_ICDF(32768), 0 },
2544 { AOM_ICDF(8704), AOM_ICDF(9926), AOM_ICDF(12586), AOM_ICDF(28885),
2545 AOM_ICDF(29496), AOM_ICDF(30107), AOM_ICDF(31437), AOM_ICDF(32768), 0 },
2546 { AOM_ICDF(6656), AOM_ICDF(10685), AOM_ICDF(11566), AOM_ICDF(27857),
2547 AOM_ICDF(29871), AOM_ICDF(31886), AOM_ICDF(32327), AOM_ICDF(32768), 0 },
2548 { AOM_ICDF(2176), AOM_ICDF(3012), AOM_ICDF(3690), AOM_ICDF(31253),
2549 AOM_ICDF(31671), AOM_ICDF(32090), AOM_ICDF(32429), AOM_ICDF(32768), 0 },
2550 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
2551 AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32657), AOM_ICDF(32768), 0 },
2552 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
2553 AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(31819), AOM_ICDF(32768), 0 },
2554 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
2555 AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32508), AOM_ICDF(32768), 0 },
2556 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
2557 AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32588), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002558#if CONFIG_EXT_PARTITION
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002559 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
2560 AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32657), AOM_ICDF(32768), 0 },
2561 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
2562 AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(31819), AOM_ICDF(32768), 0 },
2563 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
2564 AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32508), AOM_ICDF(32768), 0 },
2565 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
2566 AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32588), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002567#endif
2568 };
2569#else
Thomas Davies1d7db722017-02-22 11:15:00 +00002570static const aom_cdf_prob
2571 default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(PARTITION_TYPES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002572 { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0 },
2573 { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0 },
2574 { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0 },
2575 { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0 },
2576 { AOM_ICDF(22272), AOM_ICDF(25265), AOM_ICDF(27815), AOM_ICDF(32768), 0 },
2577 { AOM_ICDF(11776), AOM_ICDF(15138), AOM_ICDF(20854), AOM_ICDF(32768), 0 },
2578 { AOM_ICDF(10496), AOM_ICDF(19109), AOM_ICDF(21777), AOM_ICDF(32768), 0 },
2579 { AOM_ICDF(6784), AOM_ICDF(10743), AOM_ICDF(14098), AOM_ICDF(32768), 0 },
2580 { AOM_ICDF(22656), AOM_ICDF(24947), AOM_ICDF(26749), AOM_ICDF(32768), 0 },
2581 { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(16469), AOM_ICDF(32768), 0 },
2582 { AOM_ICDF(6656), AOM_ICDF(14714), AOM_ICDF(16477), AOM_ICDF(32768), 0 },
2583 { AOM_ICDF(2176), AOM_ICDF(3849), AOM_ICDF(5205), AOM_ICDF(32768), 0 },
2584 { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
2585 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
2586 { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
2587 { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002588#if CONFIG_EXT_PARTITION
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002589 { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
2590 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
2591 { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
2592 { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002593#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00002594 };
Alex Converse57795a42017-03-14 12:18:25 -07002595#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00002596
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002597#if CONFIG_EXT_TX
2598static const aom_cdf_prob default_intra_ext_tx_cdf
2599 [EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES][CDF_SIZE(TX_TYPES)] = {
2600 {
2601// FIXME: unused zero positions, from uncoded trivial transform set
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002602#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002603 {
2604 { 0 },
2605 },
2606#endif
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002607 {
2608 { 0 },
2609 { 0 },
2610 { 0 },
2611 { 0 },
2612 { 0 },
2613 { 0 },
2614 { 0 },
2615 { 0 },
2616 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002617#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002618 { 0 },
2619#if CONFIG_SMOOTH_HV
2620 { 0 },
2621 { 0 },
2622#endif // CONFIG_SMOOTH_HV
2623#endif // CONFIG_ALT_INTRA
2624 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002625 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002626 {
2627 { 0 },
2628 { 0 },
2629 { 0 },
2630 { 0 },
2631 { 0 },
2632 { 0 },
2633 { 0 },
2634 { 0 },
2635 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002636#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002637 { 0 },
2638#if CONFIG_SMOOTH_HV
2639 { 0 },
2640 { 0 },
2641#endif // CONFIG_SMOOTH_HV
2642#endif // CONFIG_ALT_INTRA
2643 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002644 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002645 {
2646 { 0 },
2647 { 0 },
2648 { 0 },
2649 { 0 },
2650 { 0 },
2651 { 0 },
2652 { 0 },
2653 { 0 },
2654 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002655#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002656 { 0 },
2657#if CONFIG_SMOOTH_HV
2658 { 0 },
2659 { 0 },
2660#endif // CONFIG_SMOOTH_HV
2661#endif // CONFIG_ALT_INTRA
2662 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002663 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002664 {
2665 { 0 },
2666 { 0 },
2667 { 0 },
2668 { 0 },
2669 { 0 },
2670 { 0 },
2671 { 0 },
2672 { 0 },
2673 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002674#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002675 { 0 },
2676#if CONFIG_SMOOTH_HV
2677 { 0 },
2678 { 0 },
2679#endif // CONFIG_SMOOTH_HV
2680#endif // CONFIG_ALT_INTRA
2681 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002682 },
2683 },
2684 {
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002685 {
2686 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
2687 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
2688 AOM_ICDF(32768), 0 },
2689 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2690 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2691 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2692 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2693 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
2694 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
2695 AOM_ICDF(32768), 0 },
2696 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
2697 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
2698 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2699 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2700 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2701 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2702 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2703 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2704 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2705 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002706#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002707 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2708 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2709#if CONFIG_SMOOTH_HV
2710 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2711 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2712 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2713 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2714#endif // CONFIG_SMOOTH_HV
2715#endif // CONFIG_ALT_INTRA
2716 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2717 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002718 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002719 {
2720 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
2721 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
2722 AOM_ICDF(32768), 0 },
2723 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2724 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2725 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2726 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2727 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
2728 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
2729 AOM_ICDF(32768), 0 },
2730 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
2731 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
2732 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2733 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2734 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2735 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2736 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2737 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2738 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2739 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002740#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002741 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2742 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2743#if CONFIG_SMOOTH_HV
2744 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2745 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2746 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2747 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2748#endif // CONFIG_SMOOTH_HV
2749#endif // CONFIG_ALT_INTRA
2750 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2751 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002752 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002753 {
2754 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
2755 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
2756 AOM_ICDF(32768), 0 },
2757 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2758 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2759 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2760 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2761 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
2762 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
2763 AOM_ICDF(32768), 0 },
2764 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
2765 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
2766 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2767 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2768 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2769 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2770 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2771 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2772 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2773 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002774#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002775 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2776 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2777#if CONFIG_SMOOTH_HV
2778 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2779 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2780 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2781 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2782#endif // CONFIG_SMOOTH_HV
2783#endif // CONFIG_ALT_INTRA
2784 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2785 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002786 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002787 {
2788 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
2789 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
2790 AOM_ICDF(32768), 0 },
2791 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2792 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2793 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2794 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2795 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
2796 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
2797 AOM_ICDF(32768), 0 },
2798 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
2799 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
2800 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2801 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2802 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2803 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2804 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2805 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2806 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2807 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002808#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002809 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2810 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2811#if CONFIG_SMOOTH_HV
2812 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2813 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2814 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2815 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2816#endif // CONFIG_SMOOTH_HV
2817#endif // CONFIG_ALT_INTRA
2818 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2819 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002820 },
2821 },
2822 {
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002823 {
2824 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
2825 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
2826 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2827 AOM_ICDF(32768), 0 },
2828 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2829 AOM_ICDF(32768), 0 },
2830 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
2831 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
2832 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
2833 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
2834 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2835 AOM_ICDF(32768), 0 },
2836 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2837 AOM_ICDF(32768), 0 },
2838 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
2839 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
2840 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
2841 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002842#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002843 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2844 AOM_ICDF(32768), 0 },
2845#if CONFIG_SMOOTH_HV
2846 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2847 AOM_ICDF(32768), 0 },
2848 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2849 AOM_ICDF(32768), 0 },
2850#endif // CONFIG_SMOOTH_HV
2851#endif // CONFIG_ALT_INTRA
2852 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2853 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002854 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002855 {
2856 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
2857 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
2858 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2859 AOM_ICDF(32768), 0 },
2860 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2861 AOM_ICDF(32768), 0 },
2862 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
2863 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
2864 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
2865 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
2866 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2867 AOM_ICDF(32768), 0 },
2868 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2869 AOM_ICDF(32768), 0 },
2870 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
2871 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
2872 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
2873 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002874#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002875 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2876 AOM_ICDF(32768), 0 },
2877#if CONFIG_SMOOTH_HV
2878 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2879 AOM_ICDF(32768), 0 },
2880 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2881 AOM_ICDF(32768), 0 },
2882#endif // CONFIG_SMOOTH_HV
2883#endif // CONFIG_ALT_INTRA
2884 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2885 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002886 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002887 {
2888 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
2889 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
2890 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2891 AOM_ICDF(32768), 0 },
2892 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2893 AOM_ICDF(32768), 0 },
2894 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
2895 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
2896 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
2897 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
2898 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2899 AOM_ICDF(32768), 0 },
2900 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2901 AOM_ICDF(32768), 0 },
2902 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
2903 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
2904 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
2905 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002906#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002907 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2908 AOM_ICDF(32768), 0 },
2909#if CONFIG_SMOOTH_HV
2910 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2911 AOM_ICDF(32768), 0 },
2912 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2913 AOM_ICDF(32768), 0 },
2914#endif // CONFIG_SMOOTH_HV
2915#endif // CONFIG_ALT_INTRA
2916 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2917 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002918 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002919 {
2920 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
2921 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
2922 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2923 AOM_ICDF(32768), 0 },
2924 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2925 AOM_ICDF(32768), 0 },
2926 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
2927 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
2928 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
2929 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
2930 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
2931 AOM_ICDF(32768), 0 },
2932 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2933 AOM_ICDF(32768), 0 },
2934 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
2935 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
2936 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
2937 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002938#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002939 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2940 AOM_ICDF(32768), 0 },
2941#if CONFIG_SMOOTH_HV
2942 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2943 AOM_ICDF(32768), 0 },
2944 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2945 AOM_ICDF(32768), 0 },
2946#endif // CONFIG_SMOOTH_HV
2947#endif // CONFIG_ALT_INTRA
2948 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
2949 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002950 },
2951 }
2952 };
2953static const aom_cdf_prob
2954 default_inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES][CDF_SIZE(
2955 TX_TYPES)] = {
2956 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002957#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002958 { 0 },
2959#endif
2960 { 0 },
2961 { 0 },
2962 { 0 },
2963 { 0 } },
2964 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002965#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002966 { 0 },
2967#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002968 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
2969 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
2970 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
2971 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
2972 0 },
2973 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
2974 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
2975 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
2976 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
2977 0 },
2978 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
2979 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
2980 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
2981 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
2982 0 },
2983 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
2984 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
2985 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
2986 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
2987 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002988 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002989#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002990 { 0 },
2991#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002992 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
2993 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
2994 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
2995 0 },
2996 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
2997 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
2998 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
2999 0 },
3000 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3001 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3002 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3003 0 },
3004 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3005 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3006 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3007 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003008 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003009#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003010 { 0 },
3011#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003012 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3013 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3014 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3015 { AOM_ICDF(1536), AOM_ICDF(32768), 0 } }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003016 };
3017#else
Thomas Davies1d7db722017-02-22 11:15:00 +00003018static const aom_cdf_prob
3019 default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003020#if CONFIG_CHROMA_2X2
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003021 { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
3022 0 },
3023 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
3024 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
3025 { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
3026 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003027#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003028 { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
3029 0 },
3030 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
3031 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
3032 { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
3033 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003034
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003035 { { AOM_ICDF(31232), AOM_ICDF(31742), AOM_ICDF(32255), AOM_ICDF(32768),
3036 0 },
3037 { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(31784), AOM_ICDF(32768), 0 },
3038 { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(2256), AOM_ICDF(32768), 0 },
3039 { AOM_ICDF(1024), AOM_ICDF(31776), AOM_ICDF(32272), AOM_ICDF(32768),
3040 0 } },
3041 { { AOM_ICDF(31744), AOM_ICDF(32084), AOM_ICDF(32426), AOM_ICDF(32768),
3042 0 },
3043 { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(31823), AOM_ICDF(32768), 0 },
3044 { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(3473), AOM_ICDF(32768), 0 },
3045 { AOM_ICDF(2048), AOM_ICDF(31808), AOM_ICDF(32288), AOM_ICDF(32768),
3046 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00003047 };
3048
3049static const aom_cdf_prob
3050 default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003051#if CONFIG_CHROMA_2X2
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003052 { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003053#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003054 { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
3055 { AOM_ICDF(22528), AOM_ICDF(25928), AOM_ICDF(29348), AOM_ICDF(32768), 0 },
3056 { AOM_ICDF(24576), AOM_ICDF(27296), AOM_ICDF(30032), AOM_ICDF(32768), 0 },
Thomas Davies1d7db722017-02-22 11:15:00 +00003057 };
hui sub4e25d22017-03-09 15:32:30 -08003058#endif // !CONFIG_EXT_TX
3059
3060#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
3061static const aom_cdf_prob
3062 default_intra_filter_cdf[INTRA_FILTERS + 1][CDF_SIZE(INTRA_FILTERS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003063 { AOM_ICDF(12544), AOM_ICDF(17521), AOM_ICDF(21095), AOM_ICDF(32768), 0 },
3064 { AOM_ICDF(12544), AOM_ICDF(19022), AOM_ICDF(23318), AOM_ICDF(32768), 0 },
3065 { AOM_ICDF(12032), AOM_ICDF(17297), AOM_ICDF(23522), AOM_ICDF(32768), 0 },
3066 { AOM_ICDF(6272), AOM_ICDF(8860), AOM_ICDF(11101), AOM_ICDF(32768), 0 },
3067 { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(16629), AOM_ICDF(32768), 0 },
hui sub4e25d22017-03-09 15:32:30 -08003068 };
3069#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies1d7db722017-02-22 11:15:00 +00003070
Luc Trudeauf5334002017-04-25 12:21:26 -04003071#if CONFIG_CFL
Luc Trudeaue21c0812017-05-10 13:53:33 -04003072static const aom_cdf_prob default_cfl_alpha_cdf[CDF_SIZE(CFL_ALPHABET_SIZE)] = {
Luc Trudeauf5334002017-04-25 12:21:26 -04003073 // decreasing likelihood, after 6 iterations of alpha RDO on subset 3
3074 AOM_ICDF(23928), AOM_ICDF(26267), AOM_ICDF(27319), AOM_ICDF(28330),
3075 AOM_ICDF(29341), AOM_ICDF(30160), AOM_ICDF(30581), AOM_ICDF(30983),
3076 AOM_ICDF(31353), AOM_ICDF(31634), AOM_ICDF(31907), AOM_ICDF(32171),
3077 AOM_ICDF(32407), AOM_ICDF(32558), AOM_ICDF(32669), AOM_ICDF(32768)
3078};
3079#endif
3080
Thomas Davies1d7db722017-02-22 11:15:00 +00003081// CDF version of 'av1_kf_y_mode_prob'.
Urvang Joshi63234542017-03-10 12:04:03 -08003082const aom_cdf_prob
3083 av1_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
3084#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003085#if CONFIG_SMOOTH_HV
3086 {
3087 { AOM_ICDF(14208), AOM_ICDF(16238), AOM_ICDF(19079), AOM_ICDF(22512),
3088 AOM_ICDF(23632), AOM_ICDF(24373), AOM_ICDF(25291), AOM_ICDF(26109),
3089 AOM_ICDF(26811), AOM_ICDF(27858), AOM_ICDF(30428), AOM_ICDF(31424),
3090 AOM_ICDF(32768), 0 },
3091 { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(20992), AOM_ICDF(22569),
3092 AOM_ICDF(23557), AOM_ICDF(24442), AOM_ICDF(25515), AOM_ICDF(26478),
3093 AOM_ICDF(26994), AOM_ICDF(27693), AOM_ICDF(30349), AOM_ICDF(31757),
3094 AOM_ICDF(32768), 0 },
3095 { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(9593), AOM_ICDF(22972),
3096 AOM_ICDF(23813), AOM_ICDF(24168), AOM_ICDF(24638), AOM_ICDF(25019),
3097 AOM_ICDF(26048), AOM_ICDF(27413), AOM_ICDF(30090), AOM_ICDF(30812),
3098 AOM_ICDF(32768), 0 },
3099 { AOM_ICDF(12544), AOM_ICDF(14045), AOM_ICDF(16678), AOM_ICDF(19167),
3100 AOM_ICDF(20459), AOM_ICDF(21329), AOM_ICDF(23518), AOM_ICDF(24783),
3101 AOM_ICDF(25563), AOM_ICDF(27280), AOM_ICDF(30217), AOM_ICDF(31273),
3102 AOM_ICDF(32768), 0 },
3103 { AOM_ICDF(7552), AOM_ICDF(8636), AOM_ICDF(10993), AOM_ICDF(12992),
3104 AOM_ICDF(18616), AOM_ICDF(21880), AOM_ICDF(23113), AOM_ICDF(23867),
3105 AOM_ICDF(25710), AOM_ICDF(26758), AOM_ICDF(30115), AOM_ICDF(31328),
3106 AOM_ICDF(32768), 0 },
3107 { AOM_ICDF(11008), AOM_ICDF(12708), AOM_ICDF(16704), AOM_ICDF(18234),
3108 AOM_ICDF(21591), AOM_ICDF(26744), AOM_ICDF(28368), AOM_ICDF(30104),
3109 AOM_ICDF(31270), AOM_ICDF(32171), AOM_ICDF(32539), AOM_ICDF(32669),
3110 AOM_ICDF(32768), 0 },
3111 { AOM_ICDF(6272), AOM_ICDF(7307), AOM_ICDF(8998), AOM_ICDF(12979),
3112 AOM_ICDF(18143), AOM_ICDF(19397), AOM_ICDF(20233), AOM_ICDF(20772),
3113 AOM_ICDF(25645), AOM_ICDF(26869), AOM_ICDF(30049), AOM_ICDF(30984),
3114 AOM_ICDF(32768), 0 },
3115 { AOM_ICDF(8192), AOM_ICDF(9536), AOM_ICDF(11533), AOM_ICDF(15940),
3116 AOM_ICDF(17403), AOM_ICDF(18169), AOM_ICDF(19253), AOM_ICDF(20045),
3117 AOM_ICDF(21337), AOM_ICDF(25847), AOM_ICDF(29551), AOM_ICDF(30682),
3118 AOM_ICDF(32768), 0 },
3119 { AOM_ICDF(10752), AOM_ICDF(12558), AOM_ICDF(15005), AOM_ICDF(16854),
3120 AOM_ICDF(18148), AOM_ICDF(19307), AOM_ICDF(21410), AOM_ICDF(23939),
3121 AOM_ICDF(24698), AOM_ICDF(26117), AOM_ICDF(29832), AOM_ICDF(31323),
3122 AOM_ICDF(32768), 0 },
3123 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(11885), AOM_ICDF(14829),
3124 AOM_ICDF(16543), AOM_ICDF(16779), AOM_ICDF(17841), AOM_ICDF(19182),
3125 AOM_ICDF(20190), AOM_ICDF(21664), AOM_ICDF(27650), AOM_ICDF(29909),
3126 AOM_ICDF(32768), 0 },
3127 { AOM_ICDF(6528), AOM_ICDF(8476), AOM_ICDF(12841), AOM_ICDF(15721),
3128 AOM_ICDF(17437), AOM_ICDF(17823), AOM_ICDF(18874), AOM_ICDF(20394),
3129 AOM_ICDF(21216), AOM_ICDF(22344), AOM_ICDF(27922), AOM_ICDF(30743),
3130 AOM_ICDF(32768), 0 },
3131 { AOM_ICDF(8704), AOM_ICDF(10114), AOM_ICDF(12415), AOM_ICDF(15730),
3132 AOM_ICDF(17127), AOM_ICDF(17265), AOM_ICDF(18294), AOM_ICDF(19255),
3133 AOM_ICDF(20258), AOM_ICDF(21675), AOM_ICDF(27525), AOM_ICDF(29082),
3134 AOM_ICDF(32768), 0 },
3135 { AOM_ICDF(6272), AOM_ICDF(12586), AOM_ICDF(15818), AOM_ICDF(21751),
3136 AOM_ICDF(22707), AOM_ICDF(23300), AOM_ICDF(24262), AOM_ICDF(25126),
3137 AOM_ICDF(25992), AOM_ICDF(27448), AOM_ICDF(30004), AOM_ICDF(31073),
3138 AOM_ICDF(32768), 0 },
3139 },
3140 {
3141 { AOM_ICDF(3968), AOM_ICDF(6893), AOM_ICDF(20538), AOM_ICDF(22050),
3142 AOM_ICDF(22805), AOM_ICDF(24408), AOM_ICDF(24833), AOM_ICDF(26073),
3143 AOM_ICDF(26439), AOM_ICDF(26884), AOM_ICDF(29895), AOM_ICDF(31938),
3144 AOM_ICDF(32768), 0 },
3145 { AOM_ICDF(3072), AOM_ICDF(6204), AOM_ICDF(24363), AOM_ICDF(24995),
3146 AOM_ICDF(25363), AOM_ICDF(26103), AOM_ICDF(26546), AOM_ICDF(27518),
3147 AOM_ICDF(27621), AOM_ICDF(27902), AOM_ICDF(30164), AOM_ICDF(32148),
3148 AOM_ICDF(32768), 0 },
3149 { AOM_ICDF(2560), AOM_ICDF(6572), AOM_ICDF(13837), AOM_ICDF(19693),
3150 AOM_ICDF(20377), AOM_ICDF(21010), AOM_ICDF(21699), AOM_ICDF(22737),
3151 AOM_ICDF(23286), AOM_ICDF(24323), AOM_ICDF(28875), AOM_ICDF(30837),
3152 AOM_ICDF(32768), 0 },
3153 { AOM_ICDF(6912), AOM_ICDF(8831), AOM_ICDF(17059), AOM_ICDF(18404),
3154 AOM_ICDF(19221), AOM_ICDF(20434), AOM_ICDF(22313), AOM_ICDF(24151),
3155 AOM_ICDF(24420), AOM_ICDF(25855), AOM_ICDF(29474), AOM_ICDF(31623),
3156 AOM_ICDF(32768), 0 },
3157 { AOM_ICDF(2944), AOM_ICDF(4808), AOM_ICDF(14965), AOM_ICDF(15870),
3158 AOM_ICDF(18714), AOM_ICDF(21989), AOM_ICDF(22957), AOM_ICDF(24528),
3159 AOM_ICDF(25365), AOM_ICDF(26001), AOM_ICDF(29596), AOM_ICDF(31678),
3160 AOM_ICDF(32768), 0 },
3161 { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(19711), AOM_ICDF(20602),
3162 AOM_ICDF(22489), AOM_ICDF(27311), AOM_ICDF(28228), AOM_ICDF(30516),
3163 AOM_ICDF(31097), AOM_ICDF(31750), AOM_ICDF(32319), AOM_ICDF(32656),
3164 AOM_ICDF(32768), 0 },
3165 { AOM_ICDF(2944), AOM_ICDF(4925), AOM_ICDF(13952), AOM_ICDF(15490),
3166 AOM_ICDF(18397), AOM_ICDF(20200), AOM_ICDF(20986), AOM_ICDF(22367),
3167 AOM_ICDF(24967), AOM_ICDF(25820), AOM_ICDF(29755), AOM_ICDF(31473),
3168 AOM_ICDF(32768), 0 },
3169 { AOM_ICDF(4224), AOM_ICDF(6120), AOM_ICDF(14968), AOM_ICDF(17184),
3170 AOM_ICDF(18063), AOM_ICDF(19140), AOM_ICDF(20258), AOM_ICDF(21822),
3171 AOM_ICDF(22463), AOM_ICDF(24838), AOM_ICDF(28989), AOM_ICDF(31277),
3172 AOM_ICDF(32768), 0 },
3173 { AOM_ICDF(5120), AOM_ICDF(7280), AOM_ICDF(17535), AOM_ICDF(18348),
3174 AOM_ICDF(19116), AOM_ICDF(20689), AOM_ICDF(21916), AOM_ICDF(24968),
3175 AOM_ICDF(25242), AOM_ICDF(26095), AOM_ICDF(29588), AOM_ICDF(31787),
3176 AOM_ICDF(32768), 0 },
3177 { AOM_ICDF(2816), AOM_ICDF(4922), AOM_ICDF(17105), AOM_ICDF(18458),
3178 AOM_ICDF(19325), AOM_ICDF(19614), AOM_ICDF(20231), AOM_ICDF(21700),
3179 AOM_ICDF(22089), AOM_ICDF(22756), AOM_ICDF(27879), AOM_ICDF(31278),
3180 AOM_ICDF(32768), 0 },
3181 { AOM_ICDF(2560), AOM_ICDF(4920), AOM_ICDF(18518), AOM_ICDF(19680),
3182 AOM_ICDF(20386), AOM_ICDF(20689), AOM_ICDF(21208), AOM_ICDF(22472),
3183 AOM_ICDF(22754), AOM_ICDF(23223), AOM_ICDF(27809), AOM_ICDF(31664),
3184 AOM_ICDF(32768), 0 },
3185 { AOM_ICDF(3328), AOM_ICDF(5513), AOM_ICDF(17331), AOM_ICDF(19065),
3186 AOM_ICDF(19882), AOM_ICDF(20105), AOM_ICDF(20748), AOM_ICDF(22110),
3187 AOM_ICDF(22443), AOM_ICDF(23129), AOM_ICDF(28099), AOM_ICDF(30944),
3188 AOM_ICDF(32768), 0 },
3189 { AOM_ICDF(2560), AOM_ICDF(6690), AOM_ICDF(20748), AOM_ICDF(22590),
3190 AOM_ICDF(23037), AOM_ICDF(23659), AOM_ICDF(24406), AOM_ICDF(25582),
3191 AOM_ICDF(25835), AOM_ICDF(26485), AOM_ICDF(29553), AOM_ICDF(31826),
3192 AOM_ICDF(32768), 0 },
3193 },
3194 {
3195 { AOM_ICDF(11392), AOM_ICDF(13647), AOM_ICDF(15216), AOM_ICDF(23156),
3196 AOM_ICDF(24102), AOM_ICDF(24540), AOM_ICDF(25183), AOM_ICDF(25746),
3197 AOM_ICDF(26706), AOM_ICDF(28032), AOM_ICDF(30511), AOM_ICDF(31357),
3198 AOM_ICDF(32768), 0 },
3199 { AOM_ICDF(8064), AOM_ICDF(11635), AOM_ICDF(17166), AOM_ICDF(22459),
3200 AOM_ICDF(23608), AOM_ICDF(24297), AOM_ICDF(25025), AOM_ICDF(25902),
3201 AOM_ICDF(26438), AOM_ICDF(27551), AOM_ICDF(30343), AOM_ICDF(31641),
3202 AOM_ICDF(32768), 0 },
3203 { AOM_ICDF(4352), AOM_ICDF(6905), AOM_ICDF(7612), AOM_ICDF(24258),
3204 AOM_ICDF(24862), AOM_ICDF(25005), AOM_ICDF(25399), AOM_ICDF(25658),
3205 AOM_ICDF(26491), AOM_ICDF(28281), AOM_ICDF(30472), AOM_ICDF(31037),
3206 AOM_ICDF(32768), 0 },
3207 { AOM_ICDF(10752), AOM_ICDF(13246), AOM_ICDF(14771), AOM_ICDF(18965),
3208 AOM_ICDF(20132), AOM_ICDF(20606), AOM_ICDF(22411), AOM_ICDF(23422),
3209 AOM_ICDF(24663), AOM_ICDF(27386), AOM_ICDF(30203), AOM_ICDF(31265),
3210 AOM_ICDF(32768), 0 },
3211 { AOM_ICDF(8320), AOM_ICDF(10135), AOM_ICDF(11815), AOM_ICDF(15962),
3212 AOM_ICDF(19829), AOM_ICDF(21555), AOM_ICDF(22738), AOM_ICDF(23482),
3213 AOM_ICDF(25513), AOM_ICDF(27100), AOM_ICDF(30222), AOM_ICDF(31246),
3214 AOM_ICDF(32768), 0 },
3215 { AOM_ICDF(11264), AOM_ICDF(13364), AOM_ICDF(16851), AOM_ICDF(20617),
3216 AOM_ICDF(23504), AOM_ICDF(26302), AOM_ICDF(28070), AOM_ICDF(29189),
3217 AOM_ICDF(30531), AOM_ICDF(31903), AOM_ICDF(32342), AOM_ICDF(32512),
3218 AOM_ICDF(32768), 0 },
3219 { AOM_ICDF(6528), AOM_ICDF(7656), AOM_ICDF(8637), AOM_ICDF(15318),
3220 AOM_ICDF(18270), AOM_ICDF(18817), AOM_ICDF(19580), AOM_ICDF(20044),
3221 AOM_ICDF(24666), AOM_ICDF(26502), AOM_ICDF(29733), AOM_ICDF(30670),
3222 AOM_ICDF(32768), 0 },
3223 { AOM_ICDF(6784), AOM_ICDF(8307), AOM_ICDF(9167), AOM_ICDF(17476),
3224 AOM_ICDF(18366), AOM_ICDF(18663), AOM_ICDF(19765), AOM_ICDF(20425),
3225 AOM_ICDF(21534), AOM_ICDF(26888), AOM_ICDF(29989), AOM_ICDF(30857),
3226 AOM_ICDF(32768), 0 },
3227 { AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12682), AOM_ICDF(17399),
3228 AOM_ICDF(19010), AOM_ICDF(19743), AOM_ICDF(20964), AOM_ICDF(22993),
3229 AOM_ICDF(23871), AOM_ICDF(25817), AOM_ICDF(29727), AOM_ICDF(31164),
3230 AOM_ICDF(32768), 0 },
3231 { AOM_ICDF(5888), AOM_ICDF(7988), AOM_ICDF(9634), AOM_ICDF(16735),
3232 AOM_ICDF(18009), AOM_ICDF(18129), AOM_ICDF(18930), AOM_ICDF(19741),
3233 AOM_ICDF(20911), AOM_ICDF(22671), AOM_ICDF(27877), AOM_ICDF(29749),
3234 AOM_ICDF(32768), 0 },
3235 { AOM_ICDF(5248), AOM_ICDF(8151), AOM_ICDF(10267), AOM_ICDF(17761),
3236 AOM_ICDF(19077), AOM_ICDF(19232), AOM_ICDF(19919), AOM_ICDF(20772),
3237 AOM_ICDF(21615), AOM_ICDF(23140), AOM_ICDF(28142), AOM_ICDF(30618),
3238 AOM_ICDF(32768), 0 },
3239 { AOM_ICDF(6656), AOM_ICDF(8390), AOM_ICDF(9723), AOM_ICDF(17206),
3240 AOM_ICDF(18212), AOM_ICDF(18275), AOM_ICDF(19068), AOM_ICDF(19657),
3241 AOM_ICDF(20886), AOM_ICDF(22650), AOM_ICDF(27907), AOM_ICDF(29084),
3242 AOM_ICDF(32768), 0 },
3243 { AOM_ICDF(4480), AOM_ICDF(9232), AOM_ICDF(11163), AOM_ICDF(22580),
3244 AOM_ICDF(23368), AOM_ICDF(23653), AOM_ICDF(24436), AOM_ICDF(24989),
3245 AOM_ICDF(25809), AOM_ICDF(27087), AOM_ICDF(30038), AOM_ICDF(31104),
3246 AOM_ICDF(32768), 0 },
3247 },
3248 {
3249 { AOM_ICDF(10240), AOM_ICDF(11472), AOM_ICDF(14051), AOM_ICDF(16777),
3250 AOM_ICDF(18308), AOM_ICDF(19461), AOM_ICDF(22164), AOM_ICDF(24235),
3251 AOM_ICDF(25202), AOM_ICDF(26680), AOM_ICDF(29962), AOM_ICDF(31168),
3252 AOM_ICDF(32768), 0 },
3253 { AOM_ICDF(7552), AOM_ICDF(9128), AOM_ICDF(16885), AOM_ICDF(18221),
3254 AOM_ICDF(19114), AOM_ICDF(20111), AOM_ICDF(23226), AOM_ICDF(25462),
3255 AOM_ICDF(26033), AOM_ICDF(27085), AOM_ICDF(30259), AOM_ICDF(31729),
3256 AOM_ICDF(32768), 0 },
3257 { AOM_ICDF(5248), AOM_ICDF(7291), AOM_ICDF(8883), AOM_ICDF(18172),
3258 AOM_ICDF(19301), AOM_ICDF(19892), AOM_ICDF(21703), AOM_ICDF(22870),
3259 AOM_ICDF(23798), AOM_ICDF(25970), AOM_ICDF(29581), AOM_ICDF(30440),
3260 AOM_ICDF(32768), 0 },
3261 { AOM_ICDF(11008), AOM_ICDF(11943), AOM_ICDF(12838), AOM_ICDF(14729),
3262 AOM_ICDF(15340), AOM_ICDF(15719), AOM_ICDF(23245), AOM_ICDF(25217),
3263 AOM_ICDF(25453), AOM_ICDF(28282), AOM_ICDF(30735), AOM_ICDF(31696),
3264 AOM_ICDF(32768), 0 },
3265 { AOM_ICDF(6272), AOM_ICDF(7100), AOM_ICDF(9506), AOM_ICDF(11141),
3266 AOM_ICDF(14891), AOM_ICDF(18048), AOM_ICDF(20808), AOM_ICDF(22910),
3267 AOM_ICDF(24450), AOM_ICDF(26172), AOM_ICDF(29625), AOM_ICDF(31233),
3268 AOM_ICDF(32768), 0 },
3269 { AOM_ICDF(7424), AOM_ICDF(8513), AOM_ICDF(11924), AOM_ICDF(13742),
3270 AOM_ICDF(16971), AOM_ICDF(22265), AOM_ICDF(25957), AOM_ICDF(29762),
3271 AOM_ICDF(30831), AOM_ICDF(32193), AOM_ICDF(32537), AOM_ICDF(32669),
3272 AOM_ICDF(32768), 0 },
3273 { AOM_ICDF(4992), AOM_ICDF(5969), AOM_ICDF(7435), AOM_ICDF(10922),
3274 AOM_ICDF(15097), AOM_ICDF(16638), AOM_ICDF(18654), AOM_ICDF(20087),
3275 AOM_ICDF(23356), AOM_ICDF(25452), AOM_ICDF(29281), AOM_ICDF(30725),
3276 AOM_ICDF(32768), 0 },
3277 { AOM_ICDF(9600), AOM_ICDF(10324), AOM_ICDF(12603), AOM_ICDF(15427),
3278 AOM_ICDF(16950), AOM_ICDF(17959), AOM_ICDF(20909), AOM_ICDF(22299),
3279 AOM_ICDF(22994), AOM_ICDF(27308), AOM_ICDF(30379), AOM_ICDF(31154),
3280 AOM_ICDF(32768), 0 },
3281 { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(12549), AOM_ICDF(14621),
3282 AOM_ICDF(15493), AOM_ICDF(16182), AOM_ICDF(21430), AOM_ICDF(25947),
3283 AOM_ICDF(26427), AOM_ICDF(27888), AOM_ICDF(30595), AOM_ICDF(31809),
3284 AOM_ICDF(32768), 0 },
3285 { AOM_ICDF(6272), AOM_ICDF(7618), AOM_ICDF(10664), AOM_ICDF(12915),
3286 AOM_ICDF(14454), AOM_ICDF(14722), AOM_ICDF(17965), AOM_ICDF(20394),
3287 AOM_ICDF(21312), AOM_ICDF(23371), AOM_ICDF(28730), AOM_ICDF(30623),
3288 AOM_ICDF(32768), 0 },
3289 { AOM_ICDF(5888), AOM_ICDF(7463), AOM_ICDF(10923), AOM_ICDF(12991),
3290 AOM_ICDF(14555), AOM_ICDF(14934), AOM_ICDF(18208), AOM_ICDF(21052),
3291 AOM_ICDF(21876), AOM_ICDF(23450), AOM_ICDF(28655), AOM_ICDF(31017),
3292 AOM_ICDF(32768), 0 },
3293 { AOM_ICDF(6912), AOM_ICDF(8023), AOM_ICDF(10440), AOM_ICDF(13329),
3294 AOM_ICDF(14958), AOM_ICDF(15150), AOM_ICDF(18109), AOM_ICDF(20056),
3295 AOM_ICDF(21049), AOM_ICDF(23063), AOM_ICDF(28219), AOM_ICDF(29978),
3296 AOM_ICDF(32768), 0 },
3297 { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11906), AOM_ICDF(15940),
3298 AOM_ICDF(16978), AOM_ICDF(17773), AOM_ICDF(22342), AOM_ICDF(24419),
3299 AOM_ICDF(25300), AOM_ICDF(27021), AOM_ICDF(30007), AOM_ICDF(31312),
3300 AOM_ICDF(32768), 0 },
3301 },
3302 {
3303 { AOM_ICDF(7296), AOM_ICDF(8291), AOM_ICDF(10299), AOM_ICDF(12767),
3304 AOM_ICDF(18252), AOM_ICDF(20656), AOM_ICDF(21413), AOM_ICDF(22300),
3305 AOM_ICDF(24958), AOM_ICDF(26544), AOM_ICDF(30069), AOM_ICDF(31387),
3306 AOM_ICDF(32768), 0 },
3307 { AOM_ICDF(7168), AOM_ICDF(8668), AOM_ICDF(13187), AOM_ICDF(15041),
3308 AOM_ICDF(18824), AOM_ICDF(21371), AOM_ICDF(22261), AOM_ICDF(23574),
3309 AOM_ICDF(25082), AOM_ICDF(26133), AOM_ICDF(29839), AOM_ICDF(31693),
3310 AOM_ICDF(32768), 0 },
3311 { AOM_ICDF(3584), AOM_ICDF(5750), AOM_ICDF(6594), AOM_ICDF(15662),
3312 AOM_ICDF(18845), AOM_ICDF(20090), AOM_ICDF(20783), AOM_ICDF(21438),
3313 AOM_ICDF(23430), AOM_ICDF(25436), AOM_ICDF(29446), AOM_ICDF(30471),
3314 AOM_ICDF(32768), 0 },
3315 { AOM_ICDF(7424), AOM_ICDF(8711), AOM_ICDF(10121), AOM_ICDF(11786),
3316 AOM_ICDF(15100), AOM_ICDF(16579), AOM_ICDF(20437), AOM_ICDF(21593),
3317 AOM_ICDF(22903), AOM_ICDF(25678), AOM_ICDF(29638), AOM_ICDF(31130),
3318 AOM_ICDF(32768), 0 },
3319 { AOM_ICDF(4480), AOM_ICDF(5033), AOM_ICDF(6441), AOM_ICDF(7646),
3320 AOM_ICDF(18034), AOM_ICDF(21867), AOM_ICDF(22676), AOM_ICDF(23504),
3321 AOM_ICDF(25892), AOM_ICDF(26913), AOM_ICDF(30206), AOM_ICDF(31507),
3322 AOM_ICDF(32768), 0 },
3323 { AOM_ICDF(7296), AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12676),
3324 AOM_ICDF(19460), AOM_ICDF(25734), AOM_ICDF(26778), AOM_ICDF(28439),
3325 AOM_ICDF(31077), AOM_ICDF(32002), AOM_ICDF(32469), AOM_ICDF(32671),
3326 AOM_ICDF(32768), 0 },
3327 { AOM_ICDF(3840), AOM_ICDF(4518), AOM_ICDF(5511), AOM_ICDF(8229),
3328 AOM_ICDF(16448), AOM_ICDF(18394), AOM_ICDF(19292), AOM_ICDF(20345),
3329 AOM_ICDF(25683), AOM_ICDF(27399), AOM_ICDF(30566), AOM_ICDF(31375),
3330 AOM_ICDF(32768), 0 },
3331 { AOM_ICDF(6528), AOM_ICDF(7451), AOM_ICDF(8934), AOM_ICDF(12006),
3332 AOM_ICDF(15767), AOM_ICDF(17127), AOM_ICDF(18471), AOM_ICDF(19476),
3333 AOM_ICDF(21553), AOM_ICDF(25715), AOM_ICDF(29572), AOM_ICDF(30795),
3334 AOM_ICDF(32768), 0 },
3335 { AOM_ICDF(7168), AOM_ICDF(8368), AOM_ICDF(10370), AOM_ICDF(11855),
3336 AOM_ICDF(14966), AOM_ICDF(17544), AOM_ICDF(19328), AOM_ICDF(21271),
3337 AOM_ICDF(22708), AOM_ICDF(24555), AOM_ICDF(29207), AOM_ICDF(31280),
3338 AOM_ICDF(32768), 0 },
3339 { AOM_ICDF(5504), AOM_ICDF(6782), AOM_ICDF(8914), AOM_ICDF(11452),
3340 AOM_ICDF(15958), AOM_ICDF(16648), AOM_ICDF(17530), AOM_ICDF(18899),
3341 AOM_ICDF(20578), AOM_ICDF(22245), AOM_ICDF(28123), AOM_ICDF(30427),
3342 AOM_ICDF(32768), 0 },
3343 { AOM_ICDF(5248), AOM_ICDF(6538), AOM_ICDF(9100), AOM_ICDF(11294),
3344 AOM_ICDF(15638), AOM_ICDF(16589), AOM_ICDF(17600), AOM_ICDF(19318),
3345 AOM_ICDF(20842), AOM_ICDF(22193), AOM_ICDF(28018), AOM_ICDF(30875),
3346 AOM_ICDF(32768), 0 },
3347 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8499), AOM_ICDF(11769),
3348 AOM_ICDF(15661), AOM_ICDF(16178), AOM_ICDF(17280), AOM_ICDF(18490),
3349 AOM_ICDF(20386), AOM_ICDF(22127), AOM_ICDF(28071), AOM_ICDF(30089),
3350 AOM_ICDF(32768), 0 },
3351 { AOM_ICDF(4608), AOM_ICDF(7468), AOM_ICDF(10136), AOM_ICDF(15013),
3352 AOM_ICDF(17716), AOM_ICDF(19595), AOM_ICDF(20830), AOM_ICDF(22136),
3353 AOM_ICDF(23714), AOM_ICDF(25341), AOM_ICDF(29403), AOM_ICDF(31072),
3354 AOM_ICDF(32768), 0 },
3355 },
3356 {
3357 { AOM_ICDF(6656), AOM_ICDF(8186), AOM_ICDF(13755), AOM_ICDF(15971),
3358 AOM_ICDF(20413), AOM_ICDF(27940), AOM_ICDF(28657), AOM_ICDF(29910),
3359 AOM_ICDF(31004), AOM_ICDF(31969), AOM_ICDF(32443), AOM_ICDF(32665),
3360 AOM_ICDF(32768), 0 },
3361 { AOM_ICDF(6400), AOM_ICDF(8048), AOM_ICDF(16256), AOM_ICDF(17568),
3362 AOM_ICDF(21074), AOM_ICDF(28253), AOM_ICDF(28976), AOM_ICDF(30531),
3363 AOM_ICDF(31099), AOM_ICDF(31875), AOM_ICDF(32426), AOM_ICDF(32701),
3364 AOM_ICDF(32768), 0 },
3365 { AOM_ICDF(3840), AOM_ICDF(6439), AOM_ICDF(9524), AOM_ICDF(17270),
3366 AOM_ICDF(21391), AOM_ICDF(25777), AOM_ICDF(26815), AOM_ICDF(27908),
3367 AOM_ICDF(29199), AOM_ICDF(31151), AOM_ICDF(32168), AOM_ICDF(32407),
3368 AOM_ICDF(32768), 0 },
3369 { AOM_ICDF(9600), AOM_ICDF(10958), AOM_ICDF(14962), AOM_ICDF(16560),
3370 AOM_ICDF(19908), AOM_ICDF(23309), AOM_ICDF(25637), AOM_ICDF(28033),
3371 AOM_ICDF(29032), AOM_ICDF(32009), AOM_ICDF(32528), AOM_ICDF(32701),
3372 AOM_ICDF(32768), 0 },
3373 { AOM_ICDF(4608), AOM_ICDF(5598), AOM_ICDF(9525), AOM_ICDF(10578),
3374 AOM_ICDF(18511), AOM_ICDF(27502), AOM_ICDF(28654), AOM_ICDF(29907),
3375 AOM_ICDF(31069), AOM_ICDF(32071), AOM_ICDF(32493), AOM_ICDF(32670),
3376 AOM_ICDF(32768), 0 },
3377 { AOM_ICDF(4864), AOM_ICDF(5845), AOM_ICDF(11524), AOM_ICDF(12294),
3378 AOM_ICDF(16882), AOM_ICDF(27955), AOM_ICDF(28839), AOM_ICDF(30251),
3379 AOM_ICDF(30949), AOM_ICDF(31873), AOM_ICDF(32467), AOM_ICDF(32703),
3380 AOM_ICDF(32768), 0 },
3381 { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(8955), AOM_ICDF(11746),
3382 AOM_ICDF(18914), AOM_ICDF(24489), AOM_ICDF(25524), AOM_ICDF(27194),
3383 AOM_ICDF(29894), AOM_ICDF(31589), AOM_ICDF(32335), AOM_ICDF(32551),
3384 AOM_ICDF(32768), 0 },
3385 { AOM_ICDF(6016), AOM_ICDF(7584), AOM_ICDF(11814), AOM_ICDF(14567),
3386 AOM_ICDF(18253), AOM_ICDF(21882), AOM_ICDF(23966), AOM_ICDF(26442),
3387 AOM_ICDF(27628), AOM_ICDF(31142), AOM_ICDF(32177), AOM_ICDF(32466),
3388 AOM_ICDF(32768), 0 },
3389 { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(15257), AOM_ICDF(16576),
3390 AOM_ICDF(20349), AOM_ICDF(24902), AOM_ICDF(26592), AOM_ICDF(29415),
3391 AOM_ICDF(30083), AOM_ICDF(31782), AOM_ICDF(32360), AOM_ICDF(32680),
3392 AOM_ICDF(32768), 0 },
3393 { AOM_ICDF(2816), AOM_ICDF(4805), AOM_ICDF(8519), AOM_ICDF(10112),
3394 AOM_ICDF(13408), AOM_ICDF(18465), AOM_ICDF(19582), AOM_ICDF(21333),
3395 AOM_ICDF(22494), AOM_ICDF(24059), AOM_ICDF(29026), AOM_ICDF(31321),
3396 AOM_ICDF(32768), 0 },
3397 { AOM_ICDF(2432), AOM_ICDF(4091), AOM_ICDF(8236), AOM_ICDF(9669),
3398 AOM_ICDF(13111), AOM_ICDF(19352), AOM_ICDF(20557), AOM_ICDF(22370),
3399 AOM_ICDF(23060), AOM_ICDF(24425), AOM_ICDF(28890), AOM_ICDF(31586),
3400 AOM_ICDF(32768), 0 },
3401 { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(8938), AOM_ICDF(11126),
3402 AOM_ICDF(14494), AOM_ICDF(18433), AOM_ICDF(19721), AOM_ICDF(21148),
3403 AOM_ICDF(22510), AOM_ICDF(24233), AOM_ICDF(29134), AOM_ICDF(31235),
3404 AOM_ICDF(32768), 0 },
3405 { AOM_ICDF(4480), AOM_ICDF(7132), AOM_ICDF(13341), AOM_ICDF(17959),
3406 AOM_ICDF(21108), AOM_ICDF(25786), AOM_ICDF(27068), AOM_ICDF(29161),
3407 AOM_ICDF(30077), AOM_ICDF(31286), AOM_ICDF(32363), AOM_ICDF(32565),
3408 AOM_ICDF(32768), 0 },
3409 },
3410 {
3411 { AOM_ICDF(9600), AOM_ICDF(10686), AOM_ICDF(12152), AOM_ICDF(16918),
3412 AOM_ICDF(19247), AOM_ICDF(20286), AOM_ICDF(20969), AOM_ICDF(21568),
3413 AOM_ICDF(25987), AOM_ICDF(27444), AOM_ICDF(30376), AOM_ICDF(31348),
3414 AOM_ICDF(32768), 0 },
3415 { AOM_ICDF(8832), AOM_ICDF(10609), AOM_ICDF(14591), AOM_ICDF(17948),
3416 AOM_ICDF(19973), AOM_ICDF(21052), AOM_ICDF(21922), AOM_ICDF(22854),
3417 AOM_ICDF(25642), AOM_ICDF(26783), AOM_ICDF(29892), AOM_ICDF(31499),
3418 AOM_ICDF(32768), 0 },
3419 { AOM_ICDF(3840), AOM_ICDF(5196), AOM_ICDF(5842), AOM_ICDF(17177),
3420 AOM_ICDF(19308), AOM_ICDF(19726), AOM_ICDF(20235), AOM_ICDF(20627),
3421 AOM_ICDF(24184), AOM_ICDF(26799), AOM_ICDF(29993), AOM_ICDF(30752),
3422 AOM_ICDF(32768), 0 },
3423 { AOM_ICDF(9856), AOM_ICDF(11288), AOM_ICDF(12295), AOM_ICDF(15482),
3424 AOM_ICDF(18345), AOM_ICDF(19093), AOM_ICDF(20963), AOM_ICDF(21747),
3425 AOM_ICDF(24718), AOM_ICDF(26793), AOM_ICDF(29991), AOM_ICDF(31032),
3426 AOM_ICDF(32768), 0 },
3427 { AOM_ICDF(6528), AOM_ICDF(7348), AOM_ICDF(8440), AOM_ICDF(11002),
3428 AOM_ICDF(17084), AOM_ICDF(19749), AOM_ICDF(20766), AOM_ICDF(21563),
3429 AOM_ICDF(25502), AOM_ICDF(26950), AOM_ICDF(30245), AOM_ICDF(31152),
3430 AOM_ICDF(32768), 0 },
3431 { AOM_ICDF(9728), AOM_ICDF(10448), AOM_ICDF(12541), AOM_ICDF(14674),
3432 AOM_ICDF(19296), AOM_ICDF(23919), AOM_ICDF(25198), AOM_ICDF(26558),
3433 AOM_ICDF(30755), AOM_ICDF(31958), AOM_ICDF(32461), AOM_ICDF(32594),
3434 AOM_ICDF(32768), 0 },
3435 { AOM_ICDF(5120), AOM_ICDF(5768), AOM_ICDF(6401), AOM_ICDF(10321),
3436 AOM_ICDF(14515), AOM_ICDF(15362), AOM_ICDF(15838), AOM_ICDF(16301),
3437 AOM_ICDF(26078), AOM_ICDF(27489), AOM_ICDF(30397), AOM_ICDF(31175),
3438 AOM_ICDF(32768), 0 },
3439 { AOM_ICDF(5888), AOM_ICDF(6518), AOM_ICDF(7236), AOM_ICDF(12128),
3440 AOM_ICDF(14327), AOM_ICDF(15015), AOM_ICDF(16055), AOM_ICDF(16773),
3441 AOM_ICDF(20897), AOM_ICDF(25395), AOM_ICDF(29341), AOM_ICDF(30452),
3442 AOM_ICDF(32768), 0 },
3443 { AOM_ICDF(10368), AOM_ICDF(11856), AOM_ICDF(13245), AOM_ICDF(15614),
3444 AOM_ICDF(18451), AOM_ICDF(19498), AOM_ICDF(20846), AOM_ICDF(22429),
3445 AOM_ICDF(24610), AOM_ICDF(26522), AOM_ICDF(30279), AOM_ICDF(31523),
3446 AOM_ICDF(32768), 0 },
3447 { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(8668), AOM_ICDF(12423),
3448 AOM_ICDF(15346), AOM_ICDF(15634), AOM_ICDF(16504), AOM_ICDF(17584),
3449 AOM_ICDF(21083), AOM_ICDF(23000), AOM_ICDF(28456), AOM_ICDF(30241),
3450 AOM_ICDF(32768), 0 },
3451 { AOM_ICDF(5760), AOM_ICDF(7026), AOM_ICDF(8735), AOM_ICDF(12665),
3452 AOM_ICDF(15507), AOM_ICDF(15870), AOM_ICDF(16794), AOM_ICDF(17792),
3453 AOM_ICDF(21068), AOM_ICDF(23033), AOM_ICDF(28395), AOM_ICDF(30701),
3454 AOM_ICDF(32768), 0 },
3455 { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(9300), AOM_ICDF(13303),
3456 AOM_ICDF(15462), AOM_ICDF(15625), AOM_ICDF(16362), AOM_ICDF(17067),
3457 AOM_ICDF(20686), AOM_ICDF(22810), AOM_ICDF(27983), AOM_ICDF(29347),
3458 AOM_ICDF(32768), 0 },
3459 { AOM_ICDF(5632), AOM_ICDF(8070), AOM_ICDF(9903), AOM_ICDF(16658),
3460 AOM_ICDF(18637), AOM_ICDF(19728), AOM_ICDF(20543), AOM_ICDF(21450),
3461 AOM_ICDF(24456), AOM_ICDF(26372), AOM_ICDF(29645), AOM_ICDF(30731),
3462 AOM_ICDF(32768), 0 },
3463 },
3464 {
3465 { AOM_ICDF(11008), AOM_ICDF(12283), AOM_ICDF(14364), AOM_ICDF(18419),
3466 AOM_ICDF(19948), AOM_ICDF(20618), AOM_ICDF(21899), AOM_ICDF(22960),
3467 AOM_ICDF(23994), AOM_ICDF(26565), AOM_ICDF(30078), AOM_ICDF(31213),
3468 AOM_ICDF(32768), 0 },
3469 { AOM_ICDF(9088), AOM_ICDF(11586), AOM_ICDF(16716), AOM_ICDF(18876),
3470 AOM_ICDF(20112), AOM_ICDF(21105), AOM_ICDF(22426), AOM_ICDF(23800),
3471 AOM_ICDF(24396), AOM_ICDF(26653), AOM_ICDF(30021), AOM_ICDF(31566),
3472 AOM_ICDF(32768), 0 },
3473 { AOM_ICDF(6144), AOM_ICDF(8328), AOM_ICDF(9378), AOM_ICDF(20096),
3474 AOM_ICDF(20984), AOM_ICDF(21256), AOM_ICDF(22335), AOM_ICDF(23109),
3475 AOM_ICDF(24128), AOM_ICDF(26896), AOM_ICDF(29947), AOM_ICDF(30740),
3476 AOM_ICDF(32768), 0 },
3477 { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(13441), AOM_ICDF(15479),
3478 AOM_ICDF(16976), AOM_ICDF(17518), AOM_ICDF(20794), AOM_ICDF(22571),
3479 AOM_ICDF(23328), AOM_ICDF(27421), AOM_ICDF(30512), AOM_ICDF(31561),
3480 AOM_ICDF(32768), 0 },
3481 { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(10010), AOM_ICDF(12258),
3482 AOM_ICDF(15388), AOM_ICDF(16944), AOM_ICDF(19602), AOM_ICDF(21196),
3483 AOM_ICDF(22869), AOM_ICDF(25112), AOM_ICDF(29389), AOM_ICDF(30709),
3484 AOM_ICDF(32768), 0 },
3485 { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(14881), AOM_ICDF(17298),
3486 AOM_ICDF(20151), AOM_ICDF(22916), AOM_ICDF(25918), AOM_ICDF(28032),
3487 AOM_ICDF(29549), AOM_ICDF(31787), AOM_ICDF(32293), AOM_ICDF(32521),
3488 AOM_ICDF(32768), 0 },
3489 { AOM_ICDF(6400), AOM_ICDF(7636), AOM_ICDF(8716), AOM_ICDF(12718),
3490 AOM_ICDF(15711), AOM_ICDF(16420), AOM_ICDF(18144), AOM_ICDF(19287),
3491 AOM_ICDF(22815), AOM_ICDF(25886), AOM_ICDF(29596), AOM_ICDF(30674),
3492 AOM_ICDF(32768), 0 },
3493 { AOM_ICDF(9856), AOM_ICDF(10662), AOM_ICDF(11785), AOM_ICDF(14236),
3494 AOM_ICDF(14998), AOM_ICDF(15391), AOM_ICDF(17156), AOM_ICDF(17949),
3495 AOM_ICDF(18470), AOM_ICDF(27797), AOM_ICDF(30418), AOM_ICDF(31244),
3496 AOM_ICDF(32768), 0 },
3497 { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12017), AOM_ICDF(14128),
3498 AOM_ICDF(15765), AOM_ICDF(16637), AOM_ICDF(19347), AOM_ICDF(21759),
3499 AOM_ICDF(22490), AOM_ICDF(25300), AOM_ICDF(29676), AOM_ICDF(31077),
3500 AOM_ICDF(32768), 0 },
3501 { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(10177), AOM_ICDF(13693),
3502 AOM_ICDF(15333), AOM_ICDF(15472), AOM_ICDF(17094), AOM_ICDF(18257),
3503 AOM_ICDF(19277), AOM_ICDF(22386), AOM_ICDF(28023), AOM_ICDF(29969),
3504 AOM_ICDF(32768), 0 },
3505 { AOM_ICDF(6400), AOM_ICDF(8151), AOM_ICDF(10651), AOM_ICDF(13992),
3506 AOM_ICDF(15677), AOM_ICDF(15835), AOM_ICDF(17422), AOM_ICDF(18621),
3507 AOM_ICDF(19450), AOM_ICDF(22207), AOM_ICDF(27735), AOM_ICDF(30409),
3508 AOM_ICDF(32768), 0 },
3509 { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(9915), AOM_ICDF(13980),
3510 AOM_ICDF(15352), AOM_ICDF(15450), AOM_ICDF(17006), AOM_ICDF(17930),
3511 AOM_ICDF(18973), AOM_ICDF(22045), AOM_ICDF(27658), AOM_ICDF(29235),
3512 AOM_ICDF(32768), 0 },
3513 { AOM_ICDF(6272), AOM_ICDF(9481), AOM_ICDF(11664), AOM_ICDF(16537),
3514 AOM_ICDF(17656), AOM_ICDF(18094), AOM_ICDF(20673), AOM_ICDF(21949),
3515 AOM_ICDF(22752), AOM_ICDF(25921), AOM_ICDF(29612), AOM_ICDF(30869),
3516 AOM_ICDF(32768), 0 },
3517 },
3518 {
3519 { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(12536), AOM_ICDF(14589),
3520 AOM_ICDF(15843), AOM_ICDF(17357), AOM_ICDF(19765), AOM_ICDF(23981),
3521 AOM_ICDF(24633), AOM_ICDF(25618), AOM_ICDF(29556), AOM_ICDF(31438),
3522 AOM_ICDF(32768), 0 },
3523 { AOM_ICDF(5760), AOM_ICDF(7237), AOM_ICDF(14717), AOM_ICDF(15587),
3524 AOM_ICDF(16364), AOM_ICDF(17537), AOM_ICDF(20393), AOM_ICDF(26097),
3525 AOM_ICDF(26462), AOM_ICDF(27029), AOM_ICDF(30123), AOM_ICDF(31921),
3526 AOM_ICDF(32768), 0 },
3527 { AOM_ICDF(4352), AOM_ICDF(5906), AOM_ICDF(8424), AOM_ICDF(16214),
3528 AOM_ICDF(16978), AOM_ICDF(17743), AOM_ICDF(19680), AOM_ICDF(22441),
3529 AOM_ICDF(23167), AOM_ICDF(25080), AOM_ICDF(29224), AOM_ICDF(30650),
3530 AOM_ICDF(32768), 0 },
3531 { AOM_ICDF(9472), AOM_ICDF(10473), AOM_ICDF(12737), AOM_ICDF(14173),
3532 AOM_ICDF(15051), AOM_ICDF(15632), AOM_ICDF(20652), AOM_ICDF(24864),
3533 AOM_ICDF(25204), AOM_ICDF(27006), AOM_ICDF(30292), AOM_ICDF(31501),
3534 AOM_ICDF(32768), 0 },
3535 { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(8247), AOM_ICDF(9646),
3536 AOM_ICDF(12203), AOM_ICDF(14760), AOM_ICDF(18488), AOM_ICDF(22616),
3537 AOM_ICDF(23449), AOM_ICDF(24650), AOM_ICDF(29026), AOM_ICDF(30955),
3538 AOM_ICDF(32768), 0 },
3539 { AOM_ICDF(6016), AOM_ICDF(6957), AOM_ICDF(12502), AOM_ICDF(13805),
3540 AOM_ICDF(16777), AOM_ICDF(21052), AOM_ICDF(23981), AOM_ICDF(30606),
3541 AOM_ICDF(31206), AOM_ICDF(31981), AOM_ICDF(32414), AOM_ICDF(32681),
3542 AOM_ICDF(32768), 0 },
3543 { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(7820), AOM_ICDF(9805),
3544 AOM_ICDF(12793), AOM_ICDF(14252), AOM_ICDF(16711), AOM_ICDF(20725),
3545 AOM_ICDF(23406), AOM_ICDF(25015), AOM_ICDF(29225), AOM_ICDF(30775),
3546 AOM_ICDF(32768), 0 },
3547 { AOM_ICDF(6912), AOM_ICDF(7619), AOM_ICDF(10173), AOM_ICDF(12424),
3548 AOM_ICDF(13502), AOM_ICDF(14410), AOM_ICDF(17852), AOM_ICDF(21348),
3549 AOM_ICDF(22017), AOM_ICDF(25461), AOM_ICDF(29571), AOM_ICDF(31020),
3550 AOM_ICDF(32768), 0 },
3551 { AOM_ICDF(7680), AOM_ICDF(8562), AOM_ICDF(11399), AOM_ICDF(12263),
3552 AOM_ICDF(12870), AOM_ICDF(13486), AOM_ICDF(18307), AOM_ICDF(26385),
3553 AOM_ICDF(26734), AOM_ICDF(27724), AOM_ICDF(30482), AOM_ICDF(31955),
3554 AOM_ICDF(32768), 0 },
3555 { AOM_ICDF(4992), AOM_ICDF(6186), AOM_ICDF(9820), AOM_ICDF(11725),
3556 AOM_ICDF(13117), AOM_ICDF(13406), AOM_ICDF(15978), AOM_ICDF(20372),
3557 AOM_ICDF(20953), AOM_ICDF(22245), AOM_ICDF(28205), AOM_ICDF(30879),
3558 AOM_ICDF(32768), 0 },
3559 { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(10747), AOM_ICDF(12295),
3560 AOM_ICDF(13445), AOM_ICDF(13844), AOM_ICDF(16357), AOM_ICDF(21485),
3561 AOM_ICDF(21838), AOM_ICDF(22820), AOM_ICDF(28183), AOM_ICDF(31138),
3562 AOM_ICDF(32768), 0 },
3563 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10476), AOM_ICDF(12855),
3564 AOM_ICDF(14101), AOM_ICDF(14482), AOM_ICDF(17053), AOM_ICDF(20613),
3565 AOM_ICDF(21278), AOM_ICDF(22580), AOM_ICDF(28351), AOM_ICDF(30542),
3566 AOM_ICDF(32768), 0 },
3567 { AOM_ICDF(4480), AOM_ICDF(6359), AOM_ICDF(11826), AOM_ICDF(14265),
3568 AOM_ICDF(14852), AOM_ICDF(15753), AOM_ICDF(19276), AOM_ICDF(24757),
3569 AOM_ICDF(25226), AOM_ICDF(26287), AOM_ICDF(29629), AOM_ICDF(31493),
3570 AOM_ICDF(32768), 0 },
3571 },
3572 {
3573 { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(11726), AOM_ICDF(15286),
3574 AOM_ICDF(16881), AOM_ICDF(17151), AOM_ICDF(17944), AOM_ICDF(19160),
3575 AOM_ICDF(20011), AOM_ICDF(21356), AOM_ICDF(27463), AOM_ICDF(29805),
3576 AOM_ICDF(32768), 0 },
3577 { AOM_ICDF(5376), AOM_ICDF(7516), AOM_ICDF(15210), AOM_ICDF(17109),
3578 AOM_ICDF(18458), AOM_ICDF(18708), AOM_ICDF(19587), AOM_ICDF(20977),
3579 AOM_ICDF(21484), AOM_ICDF(22277), AOM_ICDF(27768), AOM_ICDF(30893),
3580 AOM_ICDF(32768), 0 },
3581 { AOM_ICDF(3584), AOM_ICDF(5522), AOM_ICDF(7225), AOM_ICDF(18079),
3582 AOM_ICDF(18909), AOM_ICDF(18999), AOM_ICDF(19698), AOM_ICDF(20413),
3583 AOM_ICDF(21185), AOM_ICDF(23040), AOM_ICDF(28056), AOM_ICDF(29473),
3584 AOM_ICDF(32768), 0 },
3585 { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(10782), AOM_ICDF(12958),
3586 AOM_ICDF(14687), AOM_ICDF(14818), AOM_ICDF(17553), AOM_ICDF(19395),
3587 AOM_ICDF(20231), AOM_ICDF(23316), AOM_ICDF(28559), AOM_ICDF(30614),
3588 AOM_ICDF(32768), 0 },
3589 { AOM_ICDF(5632), AOM_ICDF(6586), AOM_ICDF(9347), AOM_ICDF(11520),
3590 AOM_ICDF(15628), AOM_ICDF(16300), AOM_ICDF(17651), AOM_ICDF(19245),
3591 AOM_ICDF(20671), AOM_ICDF(22089), AOM_ICDF(28013), AOM_ICDF(30279),
3592 AOM_ICDF(32768), 0 },
3593 { AOM_ICDF(3840), AOM_ICDF(5309), AOM_ICDF(9385), AOM_ICDF(10995),
3594 AOM_ICDF(14099), AOM_ICDF(18154), AOM_ICDF(19638), AOM_ICDF(21690),
3595 AOM_ICDF(23031), AOM_ICDF(24552), AOM_ICDF(29238), AOM_ICDF(31251),
3596 AOM_ICDF(32768), 0 },
3597 { AOM_ICDF(5376), AOM_ICDF(6339), AOM_ICDF(8301), AOM_ICDF(11620),
3598 AOM_ICDF(14701), AOM_ICDF(14991), AOM_ICDF(16033), AOM_ICDF(17210),
3599 AOM_ICDF(20431), AOM_ICDF(22310), AOM_ICDF(27948), AOM_ICDF(29774),
3600 AOM_ICDF(32768), 0 },
3601 { AOM_ICDF(5632), AOM_ICDF(6692), AOM_ICDF(8729), AOM_ICDF(12618),
3602 AOM_ICDF(13927), AOM_ICDF(14081), AOM_ICDF(15176), AOM_ICDF(16413),
3603 AOM_ICDF(17371), AOM_ICDF(22183), AOM_ICDF(28013), AOM_ICDF(29815),
3604 AOM_ICDF(32768), 0 },
3605 { AOM_ICDF(6528), AOM_ICDF(7861), AOM_ICDF(11072), AOM_ICDF(12945),
3606 AOM_ICDF(14726), AOM_ICDF(14971), AOM_ICDF(16570), AOM_ICDF(19481),
3607 AOM_ICDF(20260), AOM_ICDF(21921), AOM_ICDF(27980), AOM_ICDF(30449),
3608 AOM_ICDF(32768), 0 },
3609 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(9523), AOM_ICDF(12199),
3610 AOM_ICDF(13764), AOM_ICDF(13972), AOM_ICDF(14926), AOM_ICDF(16320),
3611 AOM_ICDF(17091), AOM_ICDF(18744), AOM_ICDF(26359), AOM_ICDF(29288),
3612 AOM_ICDF(32768), 0 },
3613 { AOM_ICDF(4736), AOM_ICDF(6160), AOM_ICDF(10318), AOM_ICDF(12718),
3614 AOM_ICDF(14251), AOM_ICDF(14527), AOM_ICDF(15453), AOM_ICDF(17009),
3615 AOM_ICDF(17625), AOM_ICDF(19045), AOM_ICDF(26335), AOM_ICDF(30079),
3616 AOM_ICDF(32768), 0 },
3617 { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(9248), AOM_ICDF(12722),
3618 AOM_ICDF(14141), AOM_ICDF(14301), AOM_ICDF(15095), AOM_ICDF(16200),
3619 AOM_ICDF(17106), AOM_ICDF(18697), AOM_ICDF(26172), AOM_ICDF(28388),
3620 AOM_ICDF(32768), 0 },
3621 { AOM_ICDF(4096), AOM_ICDF(6672), AOM_ICDF(11055), AOM_ICDF(16327),
3622 AOM_ICDF(17508), AOM_ICDF(17671), AOM_ICDF(18733), AOM_ICDF(19994),
3623 AOM_ICDF(20742), AOM_ICDF(22151), AOM_ICDF(27708), AOM_ICDF(30021),
3624 AOM_ICDF(32768), 0 },
3625 },
3626 {
3627 { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(13524), AOM_ICDF(16819),
3628 AOM_ICDF(18267), AOM_ICDF(18636), AOM_ICDF(19409), AOM_ICDF(20661),
3629 AOM_ICDF(21323), AOM_ICDF(22307), AOM_ICDF(27905), AOM_ICDF(30678),
3630 AOM_ICDF(32768), 0 },
3631 { AOM_ICDF(5376), AOM_ICDF(7302), AOM_ICDF(16951), AOM_ICDF(18383),
3632 AOM_ICDF(19388), AOM_ICDF(19608), AOM_ICDF(20225), AOM_ICDF(21597),
3633 AOM_ICDF(21946), AOM_ICDF(22538), AOM_ICDF(27613), AOM_ICDF(31318),
3634 AOM_ICDF(32768), 0 },
3635 { AOM_ICDF(3840), AOM_ICDF(5987), AOM_ICDF(8184), AOM_ICDF(19612),
3636 AOM_ICDF(20392), AOM_ICDF(20476), AOM_ICDF(21100), AOM_ICDF(21693),
3637 AOM_ICDF(22428), AOM_ICDF(23963), AOM_ICDF(28709), AOM_ICDF(30342),
3638 AOM_ICDF(32768), 0 },
3639 { AOM_ICDF(8448), AOM_ICDF(9588), AOM_ICDF(12395), AOM_ICDF(14447),
3640 AOM_ICDF(16163), AOM_ICDF(16374), AOM_ICDF(18743), AOM_ICDF(20606),
3641 AOM_ICDF(21271), AOM_ICDF(23786), AOM_ICDF(28768), AOM_ICDF(30877),
3642 AOM_ICDF(32768), 0 },
3643 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10069), AOM_ICDF(11965),
3644 AOM_ICDF(15976), AOM_ICDF(16719), AOM_ICDF(17973), AOM_ICDF(19880),
3645 AOM_ICDF(21139), AOM_ICDF(22275), AOM_ICDF(28259), AOM_ICDF(30954),
3646 AOM_ICDF(32768), 0 },
3647 { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(10557), AOM_ICDF(12069),
3648 AOM_ICDF(14280), AOM_ICDF(18973), AOM_ICDF(20374), AOM_ICDF(23037),
3649 AOM_ICDF(24215), AOM_ICDF(25050), AOM_ICDF(29271), AOM_ICDF(31716),
3650 AOM_ICDF(32768), 0 },
3651 { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(9672), AOM_ICDF(12246),
3652 AOM_ICDF(15351), AOM_ICDF(15717), AOM_ICDF(16716), AOM_ICDF(18158),
3653 AOM_ICDF(21126), AOM_ICDF(22672), AOM_ICDF(28035), AOM_ICDF(30494),
3654 AOM_ICDF(32768), 0 },
3655 { AOM_ICDF(6272), AOM_ICDF(7204), AOM_ICDF(9700), AOM_ICDF(13252),
3656 AOM_ICDF(14599), AOM_ICDF(14926), AOM_ICDF(15902), AOM_ICDF(17220),
3657 AOM_ICDF(18010), AOM_ICDF(22795), AOM_ICDF(28405), AOM_ICDF(30467),
3658 AOM_ICDF(32768), 0 },
3659 { AOM_ICDF(6912), AOM_ICDF(8427), AOM_ICDF(12420), AOM_ICDF(14171),
3660 AOM_ICDF(15792), AOM_ICDF(16156), AOM_ICDF(17584), AOM_ICDF(20846),
3661 AOM_ICDF(21451), AOM_ICDF(22556), AOM_ICDF(28101), AOM_ICDF(31054),
3662 AOM_ICDF(32768), 0 },
3663 { AOM_ICDF(5248), AOM_ICDF(6431), AOM_ICDF(10855), AOM_ICDF(13296),
3664 AOM_ICDF(14848), AOM_ICDF(15135), AOM_ICDF(15893), AOM_ICDF(17277),
3665 AOM_ICDF(17943), AOM_ICDF(19275), AOM_ICDF(26443), AOM_ICDF(30174),
3666 AOM_ICDF(32768), 0 },
3667 { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(12103), AOM_ICDF(14343),
3668 AOM_ICDF(15633), AOM_ICDF(15978), AOM_ICDF(16699), AOM_ICDF(18205),
3669 AOM_ICDF(18660), AOM_ICDF(19707), AOM_ICDF(26544), AOM_ICDF(30872),
3670 AOM_ICDF(32768), 0 },
3671 { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(11066), AOM_ICDF(14088),
3672 AOM_ICDF(15377), AOM_ICDF(15644), AOM_ICDF(16447), AOM_ICDF(17786),
3673 AOM_ICDF(18605), AOM_ICDF(19822), AOM_ICDF(27104), AOM_ICDF(29648),
3674 AOM_ICDF(32768), 0 },
3675 { AOM_ICDF(4608), AOM_ICDF(7358), AOM_ICDF(13016), AOM_ICDF(18200),
3676 AOM_ICDF(19015), AOM_ICDF(19189), AOM_ICDF(20038), AOM_ICDF(21430),
3677 AOM_ICDF(21917), AOM_ICDF(22977), AOM_ICDF(27949), AOM_ICDF(30848),
3678 AOM_ICDF(32768), 0 },
3679 },
3680 {
3681 { AOM_ICDF(7296), AOM_ICDF(8490), AOM_ICDF(11145), AOM_ICDF(15318),
3682 AOM_ICDF(16693), AOM_ICDF(16889), AOM_ICDF(17571), AOM_ICDF(18580),
3683 AOM_ICDF(19688), AOM_ICDF(21272), AOM_ICDF(27245), AOM_ICDF(28971),
3684 AOM_ICDF(32768), 0 },
3685 { AOM_ICDF(5376), AOM_ICDF(7623), AOM_ICDF(16070), AOM_ICDF(18136),
3686 AOM_ICDF(19225), AOM_ICDF(19397), AOM_ICDF(20128), AOM_ICDF(21362),
3687 AOM_ICDF(21808), AOM_ICDF(22621), AOM_ICDF(27932), AOM_ICDF(30407),
3688 AOM_ICDF(32768), 0 },
3689 { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(6566), AOM_ICDF(18368),
3690 AOM_ICDF(19106), AOM_ICDF(19155), AOM_ICDF(19793), AOM_ICDF(20300),
3691 AOM_ICDF(21177), AOM_ICDF(23079), AOM_ICDF(27848), AOM_ICDF(28924),
3692 AOM_ICDF(32768), 0 },
3693 { AOM_ICDF(7040), AOM_ICDF(8146), AOM_ICDF(10550), AOM_ICDF(12876),
3694 AOM_ICDF(14506), AOM_ICDF(14629), AOM_ICDF(17180), AOM_ICDF(19129),
3695 AOM_ICDF(20088), AOM_ICDF(23407), AOM_ICDF(28673), AOM_ICDF(30257),
3696 AOM_ICDF(32768), 0 },
3697 { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(9466), AOM_ICDF(11999),
3698 AOM_ICDF(15723), AOM_ICDF(16293), AOM_ICDF(17580), AOM_ICDF(19004),
3699 AOM_ICDF(20509), AOM_ICDF(22233), AOM_ICDF(28118), AOM_ICDF(29989),
3700 AOM_ICDF(32768), 0 },
3701 { AOM_ICDF(3840), AOM_ICDF(5422), AOM_ICDF(9054), AOM_ICDF(11018),
3702 AOM_ICDF(13605), AOM_ICDF(17576), AOM_ICDF(19178), AOM_ICDF(21514),
3703 AOM_ICDF(22877), AOM_ICDF(24461), AOM_ICDF(29069), AOM_ICDF(30933),
3704 AOM_ICDF(32768), 0 },
3705 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8294), AOM_ICDF(12601),
3706 AOM_ICDF(15043), AOM_ICDF(15273), AOM_ICDF(16230), AOM_ICDF(17134),
3707 AOM_ICDF(20737), AOM_ICDF(22899), AOM_ICDF(28219), AOM_ICDF(29410),
3708 AOM_ICDF(32768), 0 },
3709 { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(8336), AOM_ICDF(12965),
3710 AOM_ICDF(14282), AOM_ICDF(14444), AOM_ICDF(15446), AOM_ICDF(16461),
3711 AOM_ICDF(17544), AOM_ICDF(22183), AOM_ICDF(27682), AOM_ICDF(29132),
3712 AOM_ICDF(32768), 0 },
3713 { AOM_ICDF(6656), AOM_ICDF(8084), AOM_ICDF(10880), AOM_ICDF(12954),
3714 AOM_ICDF(14527), AOM_ICDF(14728), AOM_ICDF(16490), AOM_ICDF(19224),
3715 AOM_ICDF(20071), AOM_ICDF(21857), AOM_ICDF(27653), AOM_ICDF(30031),
3716 AOM_ICDF(32768), 0 },
3717 { AOM_ICDF(5376), AOM_ICDF(6660), AOM_ICDF(9006), AOM_ICDF(12205),
3718 AOM_ICDF(13614), AOM_ICDF(13740), AOM_ICDF(14632), AOM_ICDF(15766),
3719 AOM_ICDF(16629), AOM_ICDF(18394), AOM_ICDF(25918), AOM_ICDF(28460),
3720 AOM_ICDF(32768), 0 },
3721 { AOM_ICDF(4736), AOM_ICDF(6488), AOM_ICDF(9978), AOM_ICDF(12889),
3722 AOM_ICDF(14419), AOM_ICDF(14607), AOM_ICDF(15458), AOM_ICDF(16743),
3723 AOM_ICDF(17369), AOM_ICDF(19053), AOM_ICDF(26393), AOM_ICDF(29456),
3724 AOM_ICDF(32768), 0 },
3725 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(8542), AOM_ICDF(12830),
3726 AOM_ICDF(13956), AOM_ICDF(14031), AOM_ICDF(14763), AOM_ICDF(15677),
3727 AOM_ICDF(16545), AOM_ICDF(18256), AOM_ICDF(25569), AOM_ICDF(27284),
3728 AOM_ICDF(32768), 0 },
3729 { AOM_ICDF(4096), AOM_ICDF(7008), AOM_ICDF(11436), AOM_ICDF(17228),
3730 AOM_ICDF(18131), AOM_ICDF(18269), AOM_ICDF(19345), AOM_ICDF(20551),
3731 AOM_ICDF(21315), AOM_ICDF(22836), AOM_ICDF(28035), AOM_ICDF(29865),
3732 AOM_ICDF(32768), 0 },
3733 },
3734 {
3735 { AOM_ICDF(6528), AOM_ICDF(10833), AOM_ICDF(17688), AOM_ICDF(21947),
3736 AOM_ICDF(22829), AOM_ICDF(23814), AOM_ICDF(24514), AOM_ICDF(25707),
3737 AOM_ICDF(26397), AOM_ICDF(27442), AOM_ICDF(30271), AOM_ICDF(31734),
3738 AOM_ICDF(32768), 0 },
3739 { AOM_ICDF(4480), AOM_ICDF(8679), AOM_ICDF(21100), AOM_ICDF(23075),
3740 AOM_ICDF(23772), AOM_ICDF(24427), AOM_ICDF(25111), AOM_ICDF(26188),
3741 AOM_ICDF(26445), AOM_ICDF(27235), AOM_ICDF(29980), AOM_ICDF(31875),
3742 AOM_ICDF(32768), 0 },
3743 { AOM_ICDF(2688), AOM_ICDF(6683), AOM_ICDF(9332), AOM_ICDF(22173),
3744 AOM_ICDF(22688), AOM_ICDF(22972), AOM_ICDF(23623), AOM_ICDF(24159),
3745 AOM_ICDF(24798), AOM_ICDF(26666), AOM_ICDF(29812), AOM_ICDF(30909),
3746 AOM_ICDF(32768), 0 },
3747 { AOM_ICDF(8192), AOM_ICDF(10112), AOM_ICDF(13298), AOM_ICDF(16662),
3748 AOM_ICDF(17623), AOM_ICDF(18394), AOM_ICDF(20921), AOM_ICDF(22309),
3749 AOM_ICDF(22963), AOM_ICDF(26257), AOM_ICDF(29945), AOM_ICDF(31423),
3750 AOM_ICDF(32768), 0 },
3751 { AOM_ICDF(5120), AOM_ICDF(7604), AOM_ICDF(12617), AOM_ICDF(15628),
3752 AOM_ICDF(18274), AOM_ICDF(20174), AOM_ICDF(21404), AOM_ICDF(22869),
3753 AOM_ICDF(24184), AOM_ICDF(25626), AOM_ICDF(29615), AOM_ICDF(31155),
3754 AOM_ICDF(32768), 0 },
3755 { AOM_ICDF(7424), AOM_ICDF(10295), AOM_ICDF(18459), AOM_ICDF(21302),
3756 AOM_ICDF(23034), AOM_ICDF(26284), AOM_ICDF(27576), AOM_ICDF(29746),
3757 AOM_ICDF(30502), AOM_ICDF(31794), AOM_ICDF(32346), AOM_ICDF(32600),
3758 AOM_ICDF(32768), 0 },
3759 { AOM_ICDF(4224), AOM_ICDF(6789), AOM_ICDF(11254), AOM_ICDF(15589),
3760 AOM_ICDF(18568), AOM_ICDF(19238), AOM_ICDF(19872), AOM_ICDF(20880),
3761 AOM_ICDF(24409), AOM_ICDF(26238), AOM_ICDF(29580), AOM_ICDF(30875),
3762 AOM_ICDF(32768), 0 },
3763 { AOM_ICDF(5120), AOM_ICDF(7388), AOM_ICDF(10164), AOM_ICDF(15886),
3764 AOM_ICDF(16694), AOM_ICDF(17139), AOM_ICDF(18421), AOM_ICDF(19262),
3765 AOM_ICDF(20106), AOM_ICDF(26734), AOM_ICDF(29987), AOM_ICDF(31160),
3766 AOM_ICDF(32768), 0 },
3767 { AOM_ICDF(5760), AOM_ICDF(8292), AOM_ICDF(13837), AOM_ICDF(16201),
3768 AOM_ICDF(17303), AOM_ICDF(18422), AOM_ICDF(20215), AOM_ICDF(23059),
3769 AOM_ICDF(23628), AOM_ICDF(25449), AOM_ICDF(29537), AOM_ICDF(31455),
3770 AOM_ICDF(32768), 0 },
3771 { AOM_ICDF(4224), AOM_ICDF(7235), AOM_ICDF(12521), AOM_ICDF(16798),
3772 AOM_ICDF(17964), AOM_ICDF(18136), AOM_ICDF(18936), AOM_ICDF(20233),
3773 AOM_ICDF(20821), AOM_ICDF(22501), AOM_ICDF(27955), AOM_ICDF(30493),
3774 AOM_ICDF(32768), 0 },
3775 { AOM_ICDF(3840), AOM_ICDF(7117), AOM_ICDF(13329), AOM_ICDF(17383),
3776 AOM_ICDF(18323), AOM_ICDF(18492), AOM_ICDF(19273), AOM_ICDF(20538),
3777 AOM_ICDF(21064), AOM_ICDF(22481), AOM_ICDF(27785), AOM_ICDF(30938),
3778 AOM_ICDF(32768), 0 },
3779 { AOM_ICDF(4736), AOM_ICDF(7474), AOM_ICDF(12414), AOM_ICDF(17230),
3780 AOM_ICDF(18246), AOM_ICDF(18457), AOM_ICDF(19128), AOM_ICDF(20087),
3781 AOM_ICDF(20830), AOM_ICDF(22602), AOM_ICDF(27923), AOM_ICDF(29929),
3782 AOM_ICDF(32768), 0 },
3783 { AOM_ICDF(3584), AOM_ICDF(9626), AOM_ICDF(15412), AOM_ICDF(20788),
3784 AOM_ICDF(21676), AOM_ICDF(22192), AOM_ICDF(23266), AOM_ICDF(24342),
3785 AOM_ICDF(24836), AOM_ICDF(26447), AOM_ICDF(29583), AOM_ICDF(31300),
3786 AOM_ICDF(32768), 0 },
3787 },
3788#else
Urvang Joshi63234542017-03-10 12:04:03 -08003789 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003790 { AOM_ICDF(15488), AOM_ICDF(17513), AOM_ICDF(20731), AOM_ICDF(24586),
3791 AOM_ICDF(25921), AOM_ICDF(26749), AOM_ICDF(27807), AOM_ICDF(28602),
3792 AOM_ICDF(29530), AOM_ICDF(30681), AOM_ICDF(32768), 0 },
3793 { AOM_ICDF(11648), AOM_ICDF(14783), AOM_ICDF(21879), AOM_ICDF(23981),
3794 AOM_ICDF(25213), AOM_ICDF(26218), AOM_ICDF(27472), AOM_ICDF(28465),
3795 AOM_ICDF(29221), AOM_ICDF(30232), AOM_ICDF(32768), 0 },
3796 { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(13392), AOM_ICDF(25167),
3797 AOM_ICDF(26295), AOM_ICDF(26789), AOM_ICDF(27536), AOM_ICDF(28088),
3798 AOM_ICDF(29039), AOM_ICDF(30700), AOM_ICDF(32768), 0 },
3799 { AOM_ICDF(13568), AOM_ICDF(15293), AOM_ICDF(18706), AOM_ICDF(21610),
3800 AOM_ICDF(23139), AOM_ICDF(24254), AOM_ICDF(26383), AOM_ICDF(27630),
3801 AOM_ICDF(28613), AOM_ICDF(30350), AOM_ICDF(32768), 0 },
3802 { AOM_ICDF(9600), AOM_ICDF(11772), AOM_ICDF(14397), AOM_ICDF(16580),
3803 AOM_ICDF(20091), AOM_ICDF(22865), AOM_ICDF(24490), AOM_ICDF(25395),
3804 AOM_ICDF(27037), AOM_ICDF(28694), AOM_ICDF(32768), 0 },
3805 { AOM_ICDF(12160), AOM_ICDF(14092), AOM_ICDF(17010), AOM_ICDF(18922),
3806 AOM_ICDF(22683), AOM_ICDF(25751), AOM_ICDF(27725), AOM_ICDF(30109),
3807 AOM_ICDF(31449), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3808 { AOM_ICDF(9088), AOM_ICDF(10383), AOM_ICDF(12569), AOM_ICDF(17113),
3809 AOM_ICDF(21351), AOM_ICDF(22511), AOM_ICDF(23633), AOM_ICDF(24382),
3810 AOM_ICDF(28215), AOM_ICDF(29798), AOM_ICDF(32768), 0 },
3811 { AOM_ICDF(10880), AOM_ICDF(12248), AOM_ICDF(15214), AOM_ICDF(20017),
3812 AOM_ICDF(21922), AOM_ICDF(22757), AOM_ICDF(24360), AOM_ICDF(25280),
3813 AOM_ICDF(26684), AOM_ICDF(29869), AOM_ICDF(32768), 0 },
3814 { AOM_ICDF(11008), AOM_ICDF(13133), AOM_ICDF(15587), AOM_ICDF(17872),
3815 AOM_ICDF(19579), AOM_ICDF(21157), AOM_ICDF(23788), AOM_ICDF(26629),
3816 AOM_ICDF(27732), AOM_ICDF(29601), AOM_ICDF(32768), 0 },
3817 { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15360), AOM_ICDF(18348),
3818 AOM_ICDF(20452), AOM_ICDF(20460), AOM_ICDF(21902), AOM_ICDF(23982),
3819 AOM_ICDF(25149), AOM_ICDF(26667), AOM_ICDF(32768), 0 },
3820 { AOM_ICDF(8704), AOM_ICDF(14250), AOM_ICDF(17722), AOM_ICDF(23128),
3821 AOM_ICDF(24217), AOM_ICDF(24892), AOM_ICDF(26215), AOM_ICDF(27392),
3822 AOM_ICDF(28358), AOM_ICDF(30287), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003823 },
3824 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003825 { AOM_ICDF(8448), AOM_ICDF(10443), AOM_ICDF(20733), AOM_ICDF(23689),
3826 AOM_ICDF(24634), AOM_ICDF(25951), AOM_ICDF(26670), AOM_ICDF(27861),
3827 AOM_ICDF(28379), AOM_ICDF(29305), AOM_ICDF(32768), 0 },
3828 { AOM_ICDF(6656), AOM_ICDF(9206), AOM_ICDF(24577), AOM_ICDF(25792),
3829 AOM_ICDF(26335), AOM_ICDF(27169), AOM_ICDF(27913), AOM_ICDF(28956),
3830 AOM_ICDF(29239), AOM_ICDF(29680), AOM_ICDF(32768), 0 },
3831 { AOM_ICDF(7168), AOM_ICDF(8968), AOM_ICDF(15662), AOM_ICDF(22937),
3832 AOM_ICDF(23849), AOM_ICDF(24616), AOM_ICDF(25603), AOM_ICDF(26555),
3833 AOM_ICDF(27210), AOM_ICDF(29142), AOM_ICDF(32768), 0 },
3834 { AOM_ICDF(9600), AOM_ICDF(11501), AOM_ICDF(19310), AOM_ICDF(21731),
3835 AOM_ICDF(22790), AOM_ICDF(23936), AOM_ICDF(25627), AOM_ICDF(27217),
3836 AOM_ICDF(27868), AOM_ICDF(29170), AOM_ICDF(32768), 0 },
3837 { AOM_ICDF(6912), AOM_ICDF(8730), AOM_ICDF(17650), AOM_ICDF(19377),
3838 AOM_ICDF(21025), AOM_ICDF(23319), AOM_ICDF(24537), AOM_ICDF(26112),
3839 AOM_ICDF(26840), AOM_ICDF(28345), AOM_ICDF(32768), 0 },
3840 { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(20583), AOM_ICDF(21996),
3841 AOM_ICDF(23898), AOM_ICDF(26818), AOM_ICDF(28120), AOM_ICDF(30716),
3842 AOM_ICDF(31678), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
3843 { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(15619), AOM_ICDF(18584),
3844 AOM_ICDF(20844), AOM_ICDF(22519), AOM_ICDF(23760), AOM_ICDF(25203),
3845 AOM_ICDF(27094), AOM_ICDF(28801), AOM_ICDF(32768), 0 },
3846 { AOM_ICDF(8832), AOM_ICDF(10141), AOM_ICDF(17035), AOM_ICDF(20764),
3847 AOM_ICDF(21703), AOM_ICDF(22751), AOM_ICDF(23964), AOM_ICDF(25305),
3848 AOM_ICDF(26034), AOM_ICDF(29006), AOM_ICDF(32768), 0 },
3849 { AOM_ICDF(8192), AOM_ICDF(9920), AOM_ICDF(19113), AOM_ICDF(20594),
3850 AOM_ICDF(21747), AOM_ICDF(23327), AOM_ICDF(24581), AOM_ICDF(26916),
3851 AOM_ICDF(27533), AOM_ICDF(28944), AOM_ICDF(32768), 0 },
3852 { AOM_ICDF(6656), AOM_ICDF(8696), AOM_ICDF(18381), AOM_ICDF(20537),
3853 AOM_ICDF(21804), AOM_ICDF(21809), AOM_ICDF(22751), AOM_ICDF(24394),
3854 AOM_ICDF(24917), AOM_ICDF(25990), AOM_ICDF(32768), 0 },
3855 { AOM_ICDF(6400), AOM_ICDF(9593), AOM_ICDF(20818), AOM_ICDF(23519),
3856 AOM_ICDF(24266), AOM_ICDF(25113), AOM_ICDF(26608), AOM_ICDF(27883),
3857 AOM_ICDF(28322), AOM_ICDF(29364), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003858 },
3859 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003860 { AOM_ICDF(12032), AOM_ICDF(14381), AOM_ICDF(16608), AOM_ICDF(24946),
3861 AOM_ICDF(26084), AOM_ICDF(26582), AOM_ICDF(27428), AOM_ICDF(28075),
3862 AOM_ICDF(29395), AOM_ICDF(30858), AOM_ICDF(32768), 0 },
3863 { AOM_ICDF(9216), AOM_ICDF(12620), AOM_ICDF(18287), AOM_ICDF(24345),
3864 AOM_ICDF(25984), AOM_ICDF(26715), AOM_ICDF(27732), AOM_ICDF(28519),
3865 AOM_ICDF(29399), AOM_ICDF(30781), AOM_ICDF(32768), 0 },
3866 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(10220), AOM_ICDF(26539),
3867 AOM_ICDF(27310), AOM_ICDF(27483), AOM_ICDF(28082), AOM_ICDF(28430),
3868 AOM_ICDF(29362), AOM_ICDF(31291), AOM_ICDF(32768), 0 },
3869 { AOM_ICDF(11904), AOM_ICDF(14838), AOM_ICDF(17359), AOM_ICDF(21663),
3870 AOM_ICDF(22931), AOM_ICDF(23619), AOM_ICDF(25620), AOM_ICDF(26653),
3871 AOM_ICDF(27823), AOM_ICDF(30547), AOM_ICDF(32768), 0 },
3872 { AOM_ICDF(10752), AOM_ICDF(13504), AOM_ICDF(15536), AOM_ICDF(19057),
3873 AOM_ICDF(21753), AOM_ICDF(23883), AOM_ICDF(25202), AOM_ICDF(26266),
3874 AOM_ICDF(28196), AOM_ICDF(30589), AOM_ICDF(32768), 0 },
3875 { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(16787), AOM_ICDF(21011),
3876 AOM_ICDF(23929), AOM_ICDF(25651), AOM_ICDF(27958), AOM_ICDF(29330),
3877 AOM_ICDF(31022), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
3878 { AOM_ICDF(8448), AOM_ICDF(9968), AOM_ICDF(11749), AOM_ICDF(18062),
3879 AOM_ICDF(21841), AOM_ICDF(22669), AOM_ICDF(23852), AOM_ICDF(24444),
3880 AOM_ICDF(28118), AOM_ICDF(30007), AOM_ICDF(32768), 0 },
3881 { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(12602), AOM_ICDF(20819),
3882 AOM_ICDF(22194), AOM_ICDF(22764), AOM_ICDF(24366), AOM_ICDF(25022),
3883 AOM_ICDF(26414), AOM_ICDF(30460), AOM_ICDF(32768), 0 },
3884 { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(14357), AOM_ICDF(18346),
3885 AOM_ICDF(20486), AOM_ICDF(21549), AOM_ICDF(23170), AOM_ICDF(25794),
3886 AOM_ICDF(27129), AOM_ICDF(29574), AOM_ICDF(32768), 0 },
3887 { AOM_ICDF(7808), AOM_ICDF(10733), AOM_ICDF(13057), AOM_ICDF(20252),
3888 AOM_ICDF(21906), AOM_ICDF(21912), AOM_ICDF(23057), AOM_ICDF(24233),
3889 AOM_ICDF(25700), AOM_ICDF(27439), AOM_ICDF(32768), 0 },
3890 { AOM_ICDF(6784), AOM_ICDF(11352), AOM_ICDF(13778), AOM_ICDF(23877),
3891 AOM_ICDF(24995), AOM_ICDF(25424), AOM_ICDF(26830), AOM_ICDF(27688),
3892 AOM_ICDF(28779), AOM_ICDF(30368), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003893 },
3894 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003895 { AOM_ICDF(12288), AOM_ICDF(13728), AOM_ICDF(16480), AOM_ICDF(19841),
3896 AOM_ICDF(21570), AOM_ICDF(22715), AOM_ICDF(25385), AOM_ICDF(27000),
3897 AOM_ICDF(28329), AOM_ICDF(29994), AOM_ICDF(32768), 0 },
3898 { AOM_ICDF(9344), AOM_ICDF(10991), AOM_ICDF(18817), AOM_ICDF(20972),
3899 AOM_ICDF(22137), AOM_ICDF(23231), AOM_ICDF(26025), AOM_ICDF(27711),
3900 AOM_ICDF(28244), AOM_ICDF(29428), AOM_ICDF(32768), 0 },
3901 { AOM_ICDF(9344), AOM_ICDF(10900), AOM_ICDF(13206), AOM_ICDF(21344),
3902 AOM_ICDF(22332), AOM_ICDF(22987), AOM_ICDF(25127), AOM_ICDF(26440),
3903 AOM_ICDF(27231), AOM_ICDF(29502), AOM_ICDF(32768), 0 },
3904 { AOM_ICDF(12928), AOM_ICDF(14478), AOM_ICDF(15978), AOM_ICDF(18630),
3905 AOM_ICDF(19852), AOM_ICDF(20897), AOM_ICDF(24699), AOM_ICDF(26464),
3906 AOM_ICDF(27030), AOM_ICDF(30482), AOM_ICDF(32768), 0 },
3907 { AOM_ICDF(9088), AOM_ICDF(10476), AOM_ICDF(13350), AOM_ICDF(15237),
3908 AOM_ICDF(18175), AOM_ICDF(20252), AOM_ICDF(23283), AOM_ICDF(25321),
3909 AOM_ICDF(26426), AOM_ICDF(29349), AOM_ICDF(32768), 0 },
3910 { AOM_ICDF(10240), AOM_ICDF(11912), AOM_ICDF(15008), AOM_ICDF(17177),
3911 AOM_ICDF(19979), AOM_ICDF(23056), AOM_ICDF(26395), AOM_ICDF(29681),
3912 AOM_ICDF(30790), AOM_ICDF(32760), AOM_ICDF(32768), 0 },
3913 { AOM_ICDF(8704), AOM_ICDF(9738), AOM_ICDF(11717), AOM_ICDF(15480),
3914 AOM_ICDF(18656), AOM_ICDF(20022), AOM_ICDF(22611), AOM_ICDF(24357),
3915 AOM_ICDF(27150), AOM_ICDF(29257), AOM_ICDF(32768), 0 },
3916 { AOM_ICDF(12928), AOM_ICDF(13548), AOM_ICDF(17978), AOM_ICDF(20602),
3917 AOM_ICDF(21814), AOM_ICDF(22427), AOM_ICDF(24568), AOM_ICDF(25881),
3918 AOM_ICDF(26823), AOM_ICDF(30817), AOM_ICDF(32768), 0 },
3919 { AOM_ICDF(10496), AOM_ICDF(12149), AOM_ICDF(14082), AOM_ICDF(18054),
3920 AOM_ICDF(19032), AOM_ICDF(19994), AOM_ICDF(24086), AOM_ICDF(28427),
3921 AOM_ICDF(29156), AOM_ICDF(30680), AOM_ICDF(32768), 0 },
3922 { AOM_ICDF(8448), AOM_ICDF(10158), AOM_ICDF(13867), AOM_ICDF(16506),
3923 AOM_ICDF(18584), AOM_ICDF(18592), AOM_ICDF(21472), AOM_ICDF(23767),
3924 AOM_ICDF(24646), AOM_ICDF(27279), AOM_ICDF(32768), 0 },
3925 { AOM_ICDF(7296), AOM_ICDF(9684), AOM_ICDF(13471), AOM_ICDF(17701),
3926 AOM_ICDF(18934), AOM_ICDF(19878), AOM_ICDF(25115), AOM_ICDF(27238),
3927 AOM_ICDF(27972), AOM_ICDF(29583), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003928 },
3929 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003930 { AOM_ICDF(10880), AOM_ICDF(12163), AOM_ICDF(14497), AOM_ICDF(17112),
3931 AOM_ICDF(20859), AOM_ICDF(22562), AOM_ICDF(23599), AOM_ICDF(24638),
3932 AOM_ICDF(26861), AOM_ICDF(29399), AOM_ICDF(32768), 0 },
3933 { AOM_ICDF(9984), AOM_ICDF(12476), AOM_ICDF(16360), AOM_ICDF(18889),
3934 AOM_ICDF(21414), AOM_ICDF(23474), AOM_ICDF(24563), AOM_ICDF(25909),
3935 AOM_ICDF(27195), AOM_ICDF(28828), AOM_ICDF(32768), 0 },
3936 { AOM_ICDF(7168), AOM_ICDF(9268), AOM_ICDF(10737), AOM_ICDF(20063),
3937 AOM_ICDF(22315), AOM_ICDF(23302), AOM_ICDF(24152), AOM_ICDF(25195),
3938 AOM_ICDF(26645), AOM_ICDF(28845), AOM_ICDF(32768), 0 },
3939 { AOM_ICDF(8960), AOM_ICDF(10727), AOM_ICDF(12449), AOM_ICDF(14263),
3940 AOM_ICDF(16523), AOM_ICDF(17608), AOM_ICDF(23352), AOM_ICDF(24676),
3941 AOM_ICDF(26478), AOM_ICDF(28886), AOM_ICDF(32768), 0 },
3942 { AOM_ICDF(9856), AOM_ICDF(11109), AOM_ICDF(13309), AOM_ICDF(14975),
3943 AOM_ICDF(19055), AOM_ICDF(21670), AOM_ICDF(23144), AOM_ICDF(24460),
3944 AOM_ICDF(26212), AOM_ICDF(28107), AOM_ICDF(32768), 0 },
3945 { AOM_ICDF(9984), AOM_ICDF(11586), AOM_ICDF(14565), AOM_ICDF(16562),
3946 AOM_ICDF(21107), AOM_ICDF(25444), AOM_ICDF(27218), AOM_ICDF(29429),
3947 AOM_ICDF(31451), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3948 { AOM_ICDF(7168), AOM_ICDF(8268), AOM_ICDF(9704), AOM_ICDF(13144),
3949 AOM_ICDF(18443), AOM_ICDF(20065), AOM_ICDF(21653), AOM_ICDF(23607),
3950 AOM_ICDF(26506), AOM_ICDF(28854), AOM_ICDF(32768), 0 },
3951 { AOM_ICDF(11520), AOM_ICDF(13014), AOM_ICDF(14866), AOM_ICDF(18136),
3952 AOM_ICDF(20231), AOM_ICDF(21509), AOM_ICDF(23004), AOM_ICDF(24186),
3953 AOM_ICDF(25728), AOM_ICDF(29468), AOM_ICDF(32768), 0 },
3954 { AOM_ICDF(10240), AOM_ICDF(12264), AOM_ICDF(14507), AOM_ICDF(16388),
3955 AOM_ICDF(18888), AOM_ICDF(20927), AOM_ICDF(22731), AOM_ICDF(24691),
3956 AOM_ICDF(26142), AOM_ICDF(28394), AOM_ICDF(32768), 0 },
3957 { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(12921), AOM_ICDF(15952),
3958 AOM_ICDF(19960), AOM_ICDF(19976), AOM_ICDF(21275), AOM_ICDF(23205),
3959 AOM_ICDF(25110), AOM_ICDF(26636), AOM_ICDF(32768), 0 },
3960 { AOM_ICDF(8448), AOM_ICDF(11488), AOM_ICDF(14065), AOM_ICDF(19113),
3961 AOM_ICDF(21604), AOM_ICDF(22978), AOM_ICDF(24508), AOM_ICDF(25895),
3962 AOM_ICDF(27398), AOM_ICDF(29055), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003963 },
3964 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003965 { AOM_ICDF(10368), AOM_ICDF(11768), AOM_ICDF(16772), AOM_ICDF(19842),
3966 AOM_ICDF(22940), AOM_ICDF(27394), AOM_ICDF(28528), AOM_ICDF(30267),
3967 AOM_ICDF(31371), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3968 { AOM_ICDF(9472), AOM_ICDF(11292), AOM_ICDF(18507), AOM_ICDF(20777),
3969 AOM_ICDF(23357), AOM_ICDF(27587), AOM_ICDF(28902), AOM_ICDF(30850),
3970 AOM_ICDF(31607), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3971 { AOM_ICDF(8064), AOM_ICDF(9512), AOM_ICDF(13782), AOM_ICDF(20645),
3972 AOM_ICDF(24493), AOM_ICDF(26242), AOM_ICDF(28001), AOM_ICDF(29435),
3973 AOM_ICDF(30438), AOM_ICDF(32759), AOM_ICDF(32768), 0 },
3974 { AOM_ICDF(8960), AOM_ICDF(10541), AOM_ICDF(15664), AOM_ICDF(17639),
3975 AOM_ICDF(19646), AOM_ICDF(22145), AOM_ICDF(25216), AOM_ICDF(28815),
3976 AOM_ICDF(30050), AOM_ICDF(32757), AOM_ICDF(32768), 0 },
3977 { AOM_ICDF(9984), AOM_ICDF(11141), AOM_ICDF(15365), AOM_ICDF(16746),
3978 AOM_ICDF(21186), AOM_ICDF(25766), AOM_ICDF(27817), AOM_ICDF(30022),
3979 AOM_ICDF(31309), AOM_ICDF(32762), AOM_ICDF(32768), 0 },
3980 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(16639), AOM_ICDF(17735),
3981 AOM_ICDF(21499), AOM_ICDF(26657), AOM_ICDF(28161), AOM_ICDF(30572),
3982 AOM_ICDF(31490), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
3983 { AOM_ICDF(8448), AOM_ICDF(9303), AOM_ICDF(13611), AOM_ICDF(16636),
3984 AOM_ICDF(20555), AOM_ICDF(23414), AOM_ICDF(24912), AOM_ICDF(27613),
3985 AOM_ICDF(29727), AOM_ICDF(32756), AOM_ICDF(32768), 0 },
3986 { AOM_ICDF(9984), AOM_ICDF(11052), AOM_ICDF(16142), AOM_ICDF(19312),
3987 AOM_ICDF(21680), AOM_ICDF(23870), AOM_ICDF(25504), AOM_ICDF(28200),
3988 AOM_ICDF(29324), AOM_ICDF(32755), AOM_ICDF(32768), 0 },
3989 { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(16955), AOM_ICDF(18839),
3990 AOM_ICDF(21144), AOM_ICDF(24861), AOM_ICDF(26838), AOM_ICDF(29988),
3991 AOM_ICDF(30976), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
3992 { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
3993 AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
3994 AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
3995 { AOM_ICDF(7424), AOM_ICDF(10097), AOM_ICDF(15588), AOM_ICDF(20217),
3996 AOM_ICDF(23899), AOM_ICDF(26460), AOM_ICDF(28308), AOM_ICDF(30155),
3997 AOM_ICDF(30951), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08003998 },
3999 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004000 { AOM_ICDF(11648), AOM_ICDF(13133), AOM_ICDF(15050), AOM_ICDF(20481),
4001 AOM_ICDF(22470), AOM_ICDF(23425), AOM_ICDF(24337), AOM_ICDF(25160),
4002 AOM_ICDF(28964), AOM_ICDF(30480), AOM_ICDF(32768), 0 },
4003 { AOM_ICDF(10240), AOM_ICDF(12616), AOM_ICDF(16631), AOM_ICDF(20485),
4004 AOM_ICDF(22290), AOM_ICDF(23628), AOM_ICDF(25235), AOM_ICDF(26353),
4005 AOM_ICDF(28107), AOM_ICDF(29655), AOM_ICDF(32768), 0 },
4006 { AOM_ICDF(6784), AOM_ICDF(8002), AOM_ICDF(9066), AOM_ICDF(20038),
4007 AOM_ICDF(22926), AOM_ICDF(23324), AOM_ICDF(23951), AOM_ICDF(24537),
4008 AOM_ICDF(26916), AOM_ICDF(30231), AOM_ICDF(32768), 0 },
4009 { AOM_ICDF(11904), AOM_ICDF(14105), AOM_ICDF(15782), AOM_ICDF(19896),
4010 AOM_ICDF(22283), AOM_ICDF(23147), AOM_ICDF(24763), AOM_ICDF(25983),
4011 AOM_ICDF(27812), AOM_ICDF(29980), AOM_ICDF(32768), 0 },
4012 { AOM_ICDF(10624), AOM_ICDF(11922), AOM_ICDF(13632), AOM_ICDF(15941),
4013 AOM_ICDF(20469), AOM_ICDF(22453), AOM_ICDF(24065), AOM_ICDF(25187),
4014 AOM_ICDF(27349), AOM_ICDF(29296), AOM_ICDF(32768), 0 },
4015 { AOM_ICDF(12032), AOM_ICDF(13085), AOM_ICDF(15468), AOM_ICDF(17768),
4016 AOM_ICDF(20613), AOM_ICDF(24388), AOM_ICDF(26385), AOM_ICDF(28430),
4017 AOM_ICDF(30938), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4018 { AOM_ICDF(9728), AOM_ICDF(10538), AOM_ICDF(11493), AOM_ICDF(14765),
4019 AOM_ICDF(18460), AOM_ICDF(19471), AOM_ICDF(20302), AOM_ICDF(20935),
4020 AOM_ICDF(28192), AOM_ICDF(29926), AOM_ICDF(32768), 0 },
4021 { AOM_ICDF(8960), AOM_ICDF(9890), AOM_ICDF(10962), AOM_ICDF(16685),
4022 AOM_ICDF(18880), AOM_ICDF(19480), AOM_ICDF(20674), AOM_ICDF(21477),
4023 AOM_ICDF(23815), AOM_ICDF(29341), AOM_ICDF(32768), 0 },
4024 { AOM_ICDF(14592), AOM_ICDF(16367), AOM_ICDF(17712), AOM_ICDF(20293),
4025 AOM_ICDF(22544), AOM_ICDF(23829), AOM_ICDF(24877), AOM_ICDF(26326),
4026 AOM_ICDF(27660), AOM_ICDF(29875), AOM_ICDF(32768), 0 },
4027 { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12279), AOM_ICDF(16206),
4028 AOM_ICDF(18672), AOM_ICDF(18682), AOM_ICDF(20058), AOM_ICDF(21547),
4029 AOM_ICDF(25097), AOM_ICDF(27165), AOM_ICDF(32768), 0 },
4030 { AOM_ICDF(11136), AOM_ICDF(13840), AOM_ICDF(15762), AOM_ICDF(21710),
4031 AOM_ICDF(23038), AOM_ICDF(23734), AOM_ICDF(24863), AOM_ICDF(25882),
4032 AOM_ICDF(27765), AOM_ICDF(30071), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004033 },
4034 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004035 { AOM_ICDF(12544), AOM_ICDF(14124), AOM_ICDF(16964), AOM_ICDF(21907),
4036 AOM_ICDF(23808), AOM_ICDF(24496), AOM_ICDF(25724), AOM_ICDF(26715),
4037 AOM_ICDF(27992), AOM_ICDF(30455), AOM_ICDF(32768), 0 },
4038 { AOM_ICDF(10368), AOM_ICDF(13606), AOM_ICDF(18247), AOM_ICDF(20869),
4039 AOM_ICDF(22590), AOM_ICDF(23749), AOM_ICDF(25088), AOM_ICDF(26378),
4040 AOM_ICDF(27277), AOM_ICDF(29808), AOM_ICDF(32768), 0 },
4041 { AOM_ICDF(9088), AOM_ICDF(11031), AOM_ICDF(12899), AOM_ICDF(23497),
4042 AOM_ICDF(24465), AOM_ICDF(24851), AOM_ICDF(25995), AOM_ICDF(26815),
4043 AOM_ICDF(27885), AOM_ICDF(30555), AOM_ICDF(32768), 0 },
4044 { AOM_ICDF(11520), AOM_ICDF(14342), AOM_ICDF(15710), AOM_ICDF(19196),
4045 AOM_ICDF(21250), AOM_ICDF(21907), AOM_ICDF(24665), AOM_ICDF(26153),
4046 AOM_ICDF(27212), AOM_ICDF(30750), AOM_ICDF(32768), 0 },
4047 { AOM_ICDF(9984), AOM_ICDF(11764), AOM_ICDF(13979), AOM_ICDF(16405),
4048 AOM_ICDF(19279), AOM_ICDF(20658), AOM_ICDF(23354), AOM_ICDF(25266),
4049 AOM_ICDF(26702), AOM_ICDF(29380), AOM_ICDF(32768), 0 },
4050 { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15918), AOM_ICDF(19060),
4051 AOM_ICDF(21829), AOM_ICDF(23882), AOM_ICDF(26277), AOM_ICDF(27697),
4052 AOM_ICDF(30114), AOM_ICDF(32758), AOM_ICDF(32768), 0 },
4053 { AOM_ICDF(9344), AOM_ICDF(10534), AOM_ICDF(12184), AOM_ICDF(16208),
4054 AOM_ICDF(19764), AOM_ICDF(20627), AOM_ICDF(22524), AOM_ICDF(23644),
4055 AOM_ICDF(26887), AOM_ICDF(29782), AOM_ICDF(32768), 0 },
4056 { AOM_ICDF(12928), AOM_ICDF(14013), AOM_ICDF(15625), AOM_ICDF(19107),
4057 AOM_ICDF(20654), AOM_ICDF(21451), AOM_ICDF(22910), AOM_ICDF(23873),
4058 AOM_ICDF(24776), AOM_ICDF(30239), AOM_ICDF(32768), 0 },
4059 { AOM_ICDF(10368), AOM_ICDF(12818), AOM_ICDF(14610), AOM_ICDF(17350),
4060 AOM_ICDF(19568), AOM_ICDF(20710), AOM_ICDF(22971), AOM_ICDF(25114),
4061 AOM_ICDF(26340), AOM_ICDF(29127), AOM_ICDF(32768), 0 },
4062 { AOM_ICDF(8960), AOM_ICDF(11192), AOM_ICDF(13720), AOM_ICDF(18429),
4063 AOM_ICDF(20409), AOM_ICDF(20417), AOM_ICDF(22250), AOM_ICDF(23318),
4064 AOM_ICDF(24647), AOM_ICDF(27248), AOM_ICDF(32768), 0 },
4065 { AOM_ICDF(7808), AOM_ICDF(11416), AOM_ICDF(13918), AOM_ICDF(19028),
4066 AOM_ICDF(20181), AOM_ICDF(20839), AOM_ICDF(24380), AOM_ICDF(26018),
4067 AOM_ICDF(26967), AOM_ICDF(29845), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004068 },
4069 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004070 { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(14928), AOM_ICDF(18159),
4071 AOM_ICDF(19421), AOM_ICDF(20921), AOM_ICDF(23466), AOM_ICDF(26664),
4072 AOM_ICDF(27475), AOM_ICDF(28881), AOM_ICDF(32768), 0 },
4073 { AOM_ICDF(8704), AOM_ICDF(10302), AOM_ICDF(17323), AOM_ICDF(18907),
4074 AOM_ICDF(19868), AOM_ICDF(21184), AOM_ICDF(24171), AOM_ICDF(28033),
4075 AOM_ICDF(28625), AOM_ICDF(29353), AOM_ICDF(32768), 0 },
4076 { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(12604), AOM_ICDF(20616),
4077 AOM_ICDF(21514), AOM_ICDF(22371), AOM_ICDF(24239), AOM_ICDF(26138),
4078 AOM_ICDF(26863), AOM_ICDF(29239), AOM_ICDF(32768), 0 },
4079 { AOM_ICDF(11264), AOM_ICDF(12524), AOM_ICDF(16083), AOM_ICDF(18574),
4080 AOM_ICDF(19858), AOM_ICDF(20841), AOM_ICDF(24242), AOM_ICDF(27606),
4081 AOM_ICDF(28352), AOM_ICDF(29853), AOM_ICDF(32768), 0 },
4082 { AOM_ICDF(8704), AOM_ICDF(10208), AOM_ICDF(13292), AOM_ICDF(15170),
4083 AOM_ICDF(17277), AOM_ICDF(19226), AOM_ICDF(22083), AOM_ICDF(25046),
4084 AOM_ICDF(26041), AOM_ICDF(27802), AOM_ICDF(32768), 0 },
4085 { AOM_ICDF(9088), AOM_ICDF(10568), AOM_ICDF(15511), AOM_ICDF(17246),
4086 AOM_ICDF(20170), AOM_ICDF(22791), AOM_ICDF(25558), AOM_ICDF(30740),
4087 AOM_ICDF(31635), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
4088 { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(10653), AOM_ICDF(13145),
4089 AOM_ICDF(15286), AOM_ICDF(16614), AOM_ICDF(19075), AOM_ICDF(23140),
4090 AOM_ICDF(26224), AOM_ICDF(28652), AOM_ICDF(32768), 0 },
4091 { AOM_ICDF(10240), AOM_ICDF(11032), AOM_ICDF(14258), AOM_ICDF(17629),
4092 AOM_ICDF(18914), AOM_ICDF(19898), AOM_ICDF(22412), AOM_ICDF(24961),
4093 AOM_ICDF(25815), AOM_ICDF(29156), AOM_ICDF(32768), 0 },
4094 { AOM_ICDF(11008), AOM_ICDF(12028), AOM_ICDF(14702), AOM_ICDF(16147),
4095 AOM_ICDF(17209), AOM_ICDF(18160), AOM_ICDF(21812), AOM_ICDF(27547),
4096 AOM_ICDF(28709), AOM_ICDF(30120), AOM_ICDF(32768), 0 },
4097 { AOM_ICDF(7168), AOM_ICDF(9068), AOM_ICDF(14160), AOM_ICDF(16937),
4098 AOM_ICDF(18515), AOM_ICDF(18521), AOM_ICDF(20636), AOM_ICDF(24617),
4099 AOM_ICDF(25317), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
4100 { AOM_ICDF(6784), AOM_ICDF(8510), AOM_ICDF(14195), AOM_ICDF(17148),
4101 AOM_ICDF(18158), AOM_ICDF(19201), AOM_ICDF(23070), AOM_ICDF(27351),
4102 AOM_ICDF(27901), AOM_ICDF(29422), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004103 },
4104 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004105 { AOM_ICDF(10112), AOM_ICDF(11528), AOM_ICDF(15345), AOM_ICDF(19296),
4106 AOM_ICDF(21394), AOM_ICDF(21402), AOM_ICDF(22379), AOM_ICDF(23840),
4107 AOM_ICDF(24851), AOM_ICDF(26150), AOM_ICDF(32768), 0 },
4108 { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(17949), AOM_ICDF(20052),
4109 AOM_ICDF(22051), AOM_ICDF(22059), AOM_ICDF(23147), AOM_ICDF(24688),
4110 AOM_ICDF(25351), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
4111 { AOM_ICDF(6528), AOM_ICDF(8373), AOM_ICDF(11041), AOM_ICDF(21963),
4112 AOM_ICDF(23089), AOM_ICDF(23093), AOM_ICDF(24076), AOM_ICDF(24925),
4113 AOM_ICDF(25691), AOM_ICDF(27764), AOM_ICDF(32768), 0 },
4114 { AOM_ICDF(9600), AOM_ICDF(11229), AOM_ICDF(14847), AOM_ICDF(17527),
4115 AOM_ICDF(19738), AOM_ICDF(19747), AOM_ICDF(21629), AOM_ICDF(23761),
4116 AOM_ICDF(24957), AOM_ICDF(27673), AOM_ICDF(32768), 0 },
4117 { AOM_ICDF(8960), AOM_ICDF(10262), AOM_ICDF(13339), AOM_ICDF(15480),
4118 AOM_ICDF(19925), AOM_ICDF(19942), AOM_ICDF(21445), AOM_ICDF(23037),
4119 AOM_ICDF(24329), AOM_ICDF(25977), AOM_ICDF(32768), 0 },
4120 { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
4121 AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
4122 AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
4123 { AOM_ICDF(9472), AOM_ICDF(10564), AOM_ICDF(13426), AOM_ICDF(16561),
4124 AOM_ICDF(19685), AOM_ICDF(19697), AOM_ICDF(21076), AOM_ICDF(22583),
4125 AOM_ICDF(24891), AOM_ICDF(26983), AOM_ICDF(32768), 0 },
4126 { AOM_ICDF(8448), AOM_ICDF(9493), AOM_ICDF(12221), AOM_ICDF(16542),
4127 AOM_ICDF(18394), AOM_ICDF(18401), AOM_ICDF(19580), AOM_ICDF(20971),
4128 AOM_ICDF(22031), AOM_ICDF(26770), AOM_ICDF(32768), 0 },
4129 { AOM_ICDF(8704), AOM_ICDF(10772), AOM_ICDF(14209), AOM_ICDF(16381),
4130 AOM_ICDF(18911), AOM_ICDF(18921), AOM_ICDF(20436), AOM_ICDF(23374),
4131 AOM_ICDF(24475), AOM_ICDF(26095), AOM_ICDF(32768), 0 },
4132 { AOM_ICDF(7680), AOM_ICDF(9444), AOM_ICDF(13453), AOM_ICDF(16320),
4133 AOM_ICDF(18650), AOM_ICDF(18659), AOM_ICDF(19651), AOM_ICDF(21291),
4134 AOM_ICDF(22277), AOM_ICDF(23916), AOM_ICDF(32768), 0 },
4135 { AOM_ICDF(6656), AOM_ICDF(9920), AOM_ICDF(14740), AOM_ICDF(19864),
4136 AOM_ICDF(21495), AOM_ICDF(21501), AOM_ICDF(22953), AOM_ICDF(24372),
4137 AOM_ICDF(25192), AOM_ICDF(26760), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004138 },
4139 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004140 { AOM_ICDF(9728), AOM_ICDF(13958), AOM_ICDF(18881), AOM_ICDF(23624),
4141 AOM_ICDF(24754), AOM_ICDF(25553), AOM_ICDF(26709), AOM_ICDF(27940),
4142 AOM_ICDF(28977), AOM_ICDF(30413), AOM_ICDF(32768), 0 },
4143 { AOM_ICDF(8832), AOM_ICDF(12572), AOM_ICDF(22433), AOM_ICDF(24653),
4144 AOM_ICDF(25676), AOM_ICDF(26551), AOM_ICDF(27571), AOM_ICDF(28688),
4145 AOM_ICDF(29198), AOM_ICDF(30174), AOM_ICDF(32768), 0 },
4146 { AOM_ICDF(5888), AOM_ICDF(8828), AOM_ICDF(11353), AOM_ICDF(23482),
4147 AOM_ICDF(24310), AOM_ICDF(24737), AOM_ICDF(25804), AOM_ICDF(26375),
4148 AOM_ICDF(27174), AOM_ICDF(29840), AOM_ICDF(32768), 0 },
4149 { AOM_ICDF(9984), AOM_ICDF(13099), AOM_ICDF(16249), AOM_ICDF(19443),
4150 AOM_ICDF(20990), AOM_ICDF(22637), AOM_ICDF(24576), AOM_ICDF(25952),
4151 AOM_ICDF(26884), AOM_ICDF(29435), AOM_ICDF(32768), 0 },
4152 { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(15085), AOM_ICDF(18134),
4153 AOM_ICDF(20319), AOM_ICDF(21992), AOM_ICDF(23549), AOM_ICDF(24989),
4154 AOM_ICDF(27177), AOM_ICDF(29208), AOM_ICDF(32768), 0 },
4155 { AOM_ICDF(9856), AOM_ICDF(13168), AOM_ICDF(18987), AOM_ICDF(22481),
4156 AOM_ICDF(24282), AOM_ICDF(26200), AOM_ICDF(27868), AOM_ICDF(30203),
4157 AOM_ICDF(31085), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4158 { AOM_ICDF(6784), AOM_ICDF(9119), AOM_ICDF(12629), AOM_ICDF(16877),
4159 AOM_ICDF(20262), AOM_ICDF(21125), AOM_ICDF(22307), AOM_ICDF(23615),
4160 AOM_ICDF(27727), AOM_ICDF(29972), AOM_ICDF(32768), 0 },
4161 { AOM_ICDF(8320), AOM_ICDF(10230), AOM_ICDF(12783), AOM_ICDF(19005),
4162 AOM_ICDF(20213), AOM_ICDF(20668), AOM_ICDF(22039), AOM_ICDF(23045),
4163 AOM_ICDF(24146), AOM_ICDF(30478), AOM_ICDF(32768), 0 },
4164 { AOM_ICDF(9088), AOM_ICDF(11308), AOM_ICDF(15416), AOM_ICDF(18118),
4165 AOM_ICDF(19762), AOM_ICDF(20906), AOM_ICDF(22574), AOM_ICDF(25162),
4166 AOM_ICDF(25994), AOM_ICDF(28455), AOM_ICDF(32768), 0 },
4167 { AOM_ICDF(6912), AOM_ICDF(10548), AOM_ICDF(15148), AOM_ICDF(20026),
4168 AOM_ICDF(21612), AOM_ICDF(21618), AOM_ICDF(22707), AOM_ICDF(24200),
4169 AOM_ICDF(24869), AOM_ICDF(26844), AOM_ICDF(32768), 0 },
4170 { AOM_ICDF(6656), AOM_ICDF(12164), AOM_ICDF(16993), AOM_ICDF(21568),
4171 AOM_ICDF(22933), AOM_ICDF(23648), AOM_ICDF(25322), AOM_ICDF(26602),
4172 AOM_ICDF(27806), AOM_ICDF(29841), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004173 },
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004174#endif // CONFIG_SMOOTH_HV
4175#else // CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004176 { { AOM_ICDF(17536), AOM_ICDF(19321), AOM_ICDF(21527), AOM_ICDF(25360),
4177 AOM_ICDF(27516), AOM_ICDF(28026), AOM_ICDF(29323), AOM_ICDF(30023),
4178 AOM_ICDF(30999), AOM_ICDF(32768), 0 },
4179 { AOM_ICDF(11776), AOM_ICDF(15466), AOM_ICDF(22360), AOM_ICDF(24865),
4180 AOM_ICDF(26991), AOM_ICDF(27889), AOM_ICDF(29299), AOM_ICDF(30519),
4181 AOM_ICDF(31398), AOM_ICDF(32768), 0 },
4182 { AOM_ICDF(9344), AOM_ICDF(12272), AOM_ICDF(13793), AOM_ICDF(25813),
4183 AOM_ICDF(27359), AOM_ICDF(27654), AOM_ICDF(28573), AOM_ICDF(29130),
4184 AOM_ICDF(30551), AOM_ICDF(32768), 0 },
4185 { AOM_ICDF(11648), AOM_ICDF(14123), AOM_ICDF(16454), AOM_ICDF(19948),
4186 AOM_ICDF(22780), AOM_ICDF(23846), AOM_ICDF(27087), AOM_ICDF(28995),
4187 AOM_ICDF(30380), AOM_ICDF(32768), 0 },
4188 { AOM_ICDF(9216), AOM_ICDF(12436), AOM_ICDF(15295), AOM_ICDF(17996),
4189 AOM_ICDF(24006), AOM_ICDF(25465), AOM_ICDF(27405), AOM_ICDF(28725),
4190 AOM_ICDF(30383), AOM_ICDF(32768), 0 },
4191 { AOM_ICDF(9344), AOM_ICDF(12181), AOM_ICDF(14433), AOM_ICDF(16634),
4192 AOM_ICDF(20355), AOM_ICDF(24317), AOM_ICDF(26133), AOM_ICDF(29295),
4193 AOM_ICDF(31344), AOM_ICDF(32768), 0 },
4194 { AOM_ICDF(8576), AOM_ICDF(10750), AOM_ICDF(12556), AOM_ICDF(17996),
4195 AOM_ICDF(22315), AOM_ICDF(23609), AOM_ICDF(25040), AOM_ICDF(26157),
4196 AOM_ICDF(30573), AOM_ICDF(32768), 0 },
4197 { AOM_ICDF(11008), AOM_ICDF(13303), AOM_ICDF(15432), AOM_ICDF(20646),
4198 AOM_ICDF(23506), AOM_ICDF(24100), AOM_ICDF(25624), AOM_ICDF(26824),
4199 AOM_ICDF(28055), AOM_ICDF(32768), 0 },
4200 { AOM_ICDF(9472), AOM_ICDF(12384), AOM_ICDF(14534), AOM_ICDF(17094),
4201 AOM_ICDF(20257), AOM_ICDF(22155), AOM_ICDF(24767), AOM_ICDF(28955),
4202 AOM_ICDF(30474), AOM_ICDF(32768), 0 },
4203 { AOM_ICDF(7552), AOM_ICDF(14152), AOM_ICDF(17352), AOM_ICDF(22654),
4204 AOM_ICDF(25123), AOM_ICDF(25783), AOM_ICDF(27911), AOM_ICDF(29182),
4205 AOM_ICDF(30849), AOM_ICDF(32768), 0 } },
4206 { { AOM_ICDF(8064), AOM_ICDF(11538), AOM_ICDF(21987), AOM_ICDF(24941),
4207 AOM_ICDF(26913), AOM_ICDF(28136), AOM_ICDF(29222), AOM_ICDF(30469),
4208 AOM_ICDF(31331), AOM_ICDF(32768), 0 },
4209 { AOM_ICDF(5504), AOM_ICDF(10403), AOM_ICDF(25080), AOM_ICDF(26762),
4210 AOM_ICDF(27933), AOM_ICDF(29104), AOM_ICDF(30092), AOM_ICDF(31576),
4211 AOM_ICDF(32004), AOM_ICDF(32768), 0 },
4212 { AOM_ICDF(5632), AOM_ICDF(8706), AOM_ICDF(15097), AOM_ICDF(23714),
4213 AOM_ICDF(25344), AOM_ICDF(26072), AOM_ICDF(27380), AOM_ICDF(28580),
4214 AOM_ICDF(29840), AOM_ICDF(32768), 0 },
4215 { AOM_ICDF(7424), AOM_ICDF(11186), AOM_ICDF(17593), AOM_ICDF(20154),
4216 AOM_ICDF(22974), AOM_ICDF(24351), AOM_ICDF(26916), AOM_ICDF(29956),
4217 AOM_ICDF(30967), AOM_ICDF(32768), 0 },
4218 { AOM_ICDF(5888), AOM_ICDF(10193), AOM_ICDF(16895), AOM_ICDF(19031),
4219 AOM_ICDF(23735), AOM_ICDF(25576), AOM_ICDF(27514), AOM_ICDF(29813),
4220 AOM_ICDF(30471), AOM_ICDF(32768), 0 },
4221 { AOM_ICDF(4864), AOM_ICDF(8352), AOM_ICDF(16459), AOM_ICDF(18062),
4222 AOM_ICDF(21263), AOM_ICDF(25378), AOM_ICDF(26937), AOM_ICDF(30376),
4223 AOM_ICDF(31619), AOM_ICDF(32768), 0 },
4224 { AOM_ICDF(4992), AOM_ICDF(7922), AOM_ICDF(13842), AOM_ICDF(18004),
4225 AOM_ICDF(21779), AOM_ICDF(23527), AOM_ICDF(25115), AOM_ICDF(27357),
4226 AOM_ICDF(30232), AOM_ICDF(32768), 0 },
4227 { AOM_ICDF(6656), AOM_ICDF(9716), AOM_ICDF(16379), AOM_ICDF(20053),
4228 AOM_ICDF(22487), AOM_ICDF(23613), AOM_ICDF(25437), AOM_ICDF(27270),
4229 AOM_ICDF(28516), AOM_ICDF(32768), 0 },
4230 { AOM_ICDF(6016), AOM_ICDF(9674), AOM_ICDF(16891), AOM_ICDF(18684),
4231 AOM_ICDF(21147), AOM_ICDF(23093), AOM_ICDF(25512), AOM_ICDF(30132),
4232 AOM_ICDF(30894), AOM_ICDF(32768), 0 },
4233 { AOM_ICDF(4608), AOM_ICDF(11318), AOM_ICDF(21038), AOM_ICDF(23650),
4234 AOM_ICDF(25303), AOM_ICDF(26262), AOM_ICDF(28295), AOM_ICDF(30479),
4235 AOM_ICDF(31212), AOM_ICDF(32768), 0 } },
4236 { { AOM_ICDF(10496), AOM_ICDF(12758), AOM_ICDF(14790), AOM_ICDF(24547),
4237 AOM_ICDF(26342), AOM_ICDF(26799), AOM_ICDF(27825), AOM_ICDF(28443),
4238 AOM_ICDF(30217), AOM_ICDF(32768), 0 },
4239 { AOM_ICDF(7040), AOM_ICDF(11462), AOM_ICDF(17121), AOM_ICDF(24215),
4240 AOM_ICDF(26504), AOM_ICDF(27267), AOM_ICDF(28492), AOM_ICDF(29444),
4241 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
4242 { AOM_ICDF(5376), AOM_ICDF(8158), AOM_ICDF(9215), AOM_ICDF(26451),
4243 AOM_ICDF(27407), AOM_ICDF(27524), AOM_ICDF(27995), AOM_ICDF(28275),
4244 AOM_ICDF(29767), AOM_ICDF(32768), 0 },
4245 { AOM_ICDF(8704), AOM_ICDF(12652), AOM_ICDF(14145), AOM_ICDF(20101),
4246 AOM_ICDF(22879), AOM_ICDF(23675), AOM_ICDF(25629), AOM_ICDF(27079),
4247 AOM_ICDF(28923), AOM_ICDF(32768), 0 },
4248 { AOM_ICDF(7424), AOM_ICDF(12374), AOM_ICDF(14366), AOM_ICDF(18855),
4249 AOM_ICDF(23842), AOM_ICDF(24358), AOM_ICDF(25639), AOM_ICDF(27087),
4250 AOM_ICDF(29706), AOM_ICDF(32768), 0 },
4251 { AOM_ICDF(6400), AOM_ICDF(10005), AOM_ICDF(12939), AOM_ICDF(17753),
4252 AOM_ICDF(22206), AOM_ICDF(24790), AOM_ICDF(26785), AOM_ICDF(28164),
4253 AOM_ICDF(30520), AOM_ICDF(32768), 0 },
4254 { AOM_ICDF(5632), AOM_ICDF(8176), AOM_ICDF(9713), AOM_ICDF(19053),
4255 AOM_ICDF(22343), AOM_ICDF(23222), AOM_ICDF(24453), AOM_ICDF(25070),
4256 AOM_ICDF(29761), AOM_ICDF(32768), 0 },
4257 { AOM_ICDF(7040), AOM_ICDF(9754), AOM_ICDF(10833), AOM_ICDF(21229),
4258 AOM_ICDF(23540), AOM_ICDF(23943), AOM_ICDF(24839), AOM_ICDF(25675),
4259 AOM_ICDF(27033), AOM_ICDF(32768), 0 },
4260 { AOM_ICDF(6784), AOM_ICDF(11758), AOM_ICDF(13481), AOM_ICDF(17236),
4261 AOM_ICDF(20210), AOM_ICDF(21768), AOM_ICDF(24303), AOM_ICDF(26948),
4262 AOM_ICDF(28676), AOM_ICDF(32768), 0 },
4263 { AOM_ICDF(4864), AOM_ICDF(12712), AOM_ICDF(14201), AOM_ICDF(23863),
4264 AOM_ICDF(25952), AOM_ICDF(26386), AOM_ICDF(27632), AOM_ICDF(28635),
4265 AOM_ICDF(30362), AOM_ICDF(32768), 0 } },
4266 { { AOM_ICDF(13184), AOM_ICDF(15173), AOM_ICDF(17647), AOM_ICDF(21576),
4267 AOM_ICDF(24474), AOM_ICDF(25267), AOM_ICDF(27699), AOM_ICDF(29283),
4268 AOM_ICDF(30549), AOM_ICDF(32768), 0 },
4269 { AOM_ICDF(7552), AOM_ICDF(11295), AOM_ICDF(18257), AOM_ICDF(20811),
4270 AOM_ICDF(23213), AOM_ICDF(24606), AOM_ICDF(27731), AOM_ICDF(30407),
4271 AOM_ICDF(31237), AOM_ICDF(32768), 0 },
4272 { AOM_ICDF(7936), AOM_ICDF(10846), AOM_ICDF(12816), AOM_ICDF(22436),
4273 AOM_ICDF(24614), AOM_ICDF(25130), AOM_ICDF(26890), AOM_ICDF(28199),
4274 AOM_ICDF(29091), AOM_ICDF(32768), 0 },
4275 { AOM_ICDF(8576), AOM_ICDF(11411), AOM_ICDF(13830), AOM_ICDF(15918),
4276 AOM_ICDF(18996), AOM_ICDF(20044), AOM_ICDF(25114), AOM_ICDF(27835),
4277 AOM_ICDF(28972), AOM_ICDF(32768), 0 },
4278 { AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13646), AOM_ICDF(15966),
4279 AOM_ICDF(21162), AOM_ICDF(22012), AOM_ICDF(24701), AOM_ICDF(27506),
4280 AOM_ICDF(29644), AOM_ICDF(32768), 0 },
4281 { AOM_ICDF(6784), AOM_ICDF(9423), AOM_ICDF(12524), AOM_ICDF(14773),
4282 AOM_ICDF(19447), AOM_ICDF(22804), AOM_ICDF(26073), AOM_ICDF(29211),
4283 AOM_ICDF(30642), AOM_ICDF(32768), 0 },
4284 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(11059), AOM_ICDF(15861),
4285 AOM_ICDF(21174), AOM_ICDF(22338), AOM_ICDF(24620), AOM_ICDF(27071),
4286 AOM_ICDF(30899), AOM_ICDF(32768), 0 },
4287 { AOM_ICDF(9856), AOM_ICDF(11557), AOM_ICDF(13960), AOM_ICDF(18525),
4288 AOM_ICDF(21788), AOM_ICDF(22189), AOM_ICDF(24462), AOM_ICDF(26603),
4289 AOM_ICDF(27470), AOM_ICDF(32768), 0 },
4290 { AOM_ICDF(7808), AOM_ICDF(10636), AOM_ICDF(13143), AOM_ICDF(15844),
4291 AOM_ICDF(18698), AOM_ICDF(20272), AOM_ICDF(24323), AOM_ICDF(30096),
4292 AOM_ICDF(31787), AOM_ICDF(32768), 0 },
4293 { AOM_ICDF(6016), AOM_ICDF(10928), AOM_ICDF(14596), AOM_ICDF(18926),
4294 AOM_ICDF(21586), AOM_ICDF(22688), AOM_ICDF(26626), AOM_ICDF(29001),
4295 AOM_ICDF(30399), AOM_ICDF(32768), 0 } },
4296 { { AOM_ICDF(8832), AOM_ICDF(10983), AOM_ICDF(13451), AOM_ICDF(16582),
4297 AOM_ICDF(21656), AOM_ICDF(23109), AOM_ICDF(24845), AOM_ICDF(26207),
4298 AOM_ICDF(28796), AOM_ICDF(32768), 0 },
4299 { AOM_ICDF(6784), AOM_ICDF(10844), AOM_ICDF(15554), AOM_ICDF(18073),
4300 AOM_ICDF(22954), AOM_ICDF(24901), AOM_ICDF(26776), AOM_ICDF(28649),
4301 AOM_ICDF(30419), AOM_ICDF(32768), 0 },
4302 { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(10072), AOM_ICDF(20108),
4303 AOM_ICDF(23535), AOM_ICDF(24346), AOM_ICDF(25761), AOM_ICDF(26418),
4304 AOM_ICDF(28675), AOM_ICDF(32768), 0 },
4305 { AOM_ICDF(7680), AOM_ICDF(11012), AOM_ICDF(12627), AOM_ICDF(14595),
4306 AOM_ICDF(19462), AOM_ICDF(20888), AOM_ICDF(23348), AOM_ICDF(25703),
4307 AOM_ICDF(28159), AOM_ICDF(32768), 0 },
4308 { AOM_ICDF(6656), AOM_ICDF(9818), AOM_ICDF(11790), AOM_ICDF(13813),
4309 AOM_ICDF(22731), AOM_ICDF(24737), AOM_ICDF(26557), AOM_ICDF(28061),
4310 AOM_ICDF(29697), AOM_ICDF(32768), 0 },
4311 { AOM_ICDF(5632), AOM_ICDF(8918), AOM_ICDF(11620), AOM_ICDF(13802),
4312 AOM_ICDF(19950), AOM_ICDF(23764), AOM_ICDF(25734), AOM_ICDF(28537),
4313 AOM_ICDF(31809), AOM_ICDF(32768), 0 },
4314 { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(7808), AOM_ICDF(12281),
4315 AOM_ICDF(19375), AOM_ICDF(20970), AOM_ICDF(22860), AOM_ICDF(24602),
4316 AOM_ICDF(29929), AOM_ICDF(32768), 0 },
4317 { AOM_ICDF(7040), AOM_ICDF(9553), AOM_ICDF(11457), AOM_ICDF(15102),
4318 AOM_ICDF(20291), AOM_ICDF(21280), AOM_ICDF(22985), AOM_ICDF(24475),
4319 AOM_ICDF(26613), AOM_ICDF(32768), 0 },
Jonathan Matthewsb28b78c2017-04-19 08:47:01 +01004320 { AOM_ICDF(6528), AOM_ICDF(10423), AOM_ICDF(12605), AOM_ICDF(14621),
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004321 AOM_ICDF(19031), AOM_ICDF(21505), AOM_ICDF(24585), AOM_ICDF(27558),
4322 AOM_ICDF(29532), AOM_ICDF(32768), 0 },
4323 { AOM_ICDF(6016), AOM_ICDF(11659), AOM_ICDF(14463), AOM_ICDF(18867),
4324 AOM_ICDF(23653), AOM_ICDF(24903), AOM_ICDF(27115), AOM_ICDF(29389),
4325 AOM_ICDF(31382), AOM_ICDF(32768), 0 } },
4326 { { AOM_ICDF(8192), AOM_ICDF(10016), AOM_ICDF(13304), AOM_ICDF(16362),
4327 AOM_ICDF(21107), AOM_ICDF(25165), AOM_ICDF(26620), AOM_ICDF(28901),
4328 AOM_ICDF(30910), AOM_ICDF(32768), 0 },
4329 { AOM_ICDF(5888), AOM_ICDF(8723), AOM_ICDF(16237), AOM_ICDF(18318),
4330 AOM_ICDF(22002), AOM_ICDF(25923), AOM_ICDF(27394), AOM_ICDF(29934),
4331 AOM_ICDF(31428), AOM_ICDF(32768), 0 },
4332 { AOM_ICDF(4608), AOM_ICDF(7138), AOM_ICDF(9841), AOM_ICDF(18442),
4333 AOM_ICDF(22447), AOM_ICDF(24618), AOM_ICDF(26337), AOM_ICDF(27945),
4334 AOM_ICDF(30168), AOM_ICDF(32768), 0 },
4335 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(12270), AOM_ICDF(14851),
4336 AOM_ICDF(19886), AOM_ICDF(22759), AOM_ICDF(25105), AOM_ICDF(28368),
4337 AOM_ICDF(29760), AOM_ICDF(32768), 0 },
4338 { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11324), AOM_ICDF(13340),
4339 AOM_ICDF(21205), AOM_ICDF(24224), AOM_ICDF(25926), AOM_ICDF(28518),
4340 AOM_ICDF(30560), AOM_ICDF(32768), 0 },
4341 { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(10058), AOM_ICDF(11237),
4342 AOM_ICDF(16807), AOM_ICDF(25937), AOM_ICDF(27218), AOM_ICDF(30015),
4343 AOM_ICDF(31348), AOM_ICDF(32768), 0 },
4344 { AOM_ICDF(4608), AOM_ICDF(6808), AOM_ICDF(9445), AOM_ICDF(12446),
4345 AOM_ICDF(18461), AOM_ICDF(21835), AOM_ICDF(23244), AOM_ICDF(26109),
4346 AOM_ICDF(30115), AOM_ICDF(32768), 0 },
4347 { AOM_ICDF(5760), AOM_ICDF(7659), AOM_ICDF(10798), AOM_ICDF(14720),
4348 AOM_ICDF(19157), AOM_ICDF(21955), AOM_ICDF(23645), AOM_ICDF(26460),
4349 AOM_ICDF(28702), AOM_ICDF(32768), 0 },
4350 { AOM_ICDF(5760), AOM_ICDF(8503), AOM_ICDF(11157), AOM_ICDF(13071),
4351 AOM_ICDF(17594), AOM_ICDF(22047), AOM_ICDF(24099), AOM_ICDF(29077),
4352 AOM_ICDF(30850), AOM_ICDF(32768), 0 },
4353 { AOM_ICDF(4864), AOM_ICDF(9660), AOM_ICDF(14264), AOM_ICDF(17105),
4354 AOM_ICDF(21528), AOM_ICDF(24094), AOM_ICDF(26025), AOM_ICDF(28580),
4355 AOM_ICDF(30559), AOM_ICDF(32768), 0 } },
4356 { { AOM_ICDF(9600), AOM_ICDF(11139), AOM_ICDF(12998), AOM_ICDF(18660),
4357 AOM_ICDF(22158), AOM_ICDF(23501), AOM_ICDF(24659), AOM_ICDF(25736),
4358 AOM_ICDF(30296), AOM_ICDF(32768), 0 },
4359 { AOM_ICDF(7168), AOM_ICDF(11068), AOM_ICDF(15984), AOM_ICDF(19969),
4360 AOM_ICDF(23169), AOM_ICDF(24704), AOM_ICDF(26216), AOM_ICDF(27572),
4361 AOM_ICDF(31368), AOM_ICDF(32768), 0 },
4362 { AOM_ICDF(4480), AOM_ICDF(6801), AOM_ICDF(8018), AOM_ICDF(20908),
4363 AOM_ICDF(23071), AOM_ICDF(23583), AOM_ICDF(24301), AOM_ICDF(25062),
4364 AOM_ICDF(29427), AOM_ICDF(32768), 0 },
4365 { AOM_ICDF(7168), AOM_ICDF(10068), AOM_ICDF(11753), AOM_ICDF(15843),
4366 AOM_ICDF(19742), AOM_ICDF(21358), AOM_ICDF(23809), AOM_ICDF(26189),
4367 AOM_ICDF(29067), AOM_ICDF(32768), 0 },
4368 { AOM_ICDF(6016), AOM_ICDF(9047), AOM_ICDF(10622), AOM_ICDF(13931),
4369 AOM_ICDF(22462), AOM_ICDF(23858), AOM_ICDF(25911), AOM_ICDF(27277),
4370 AOM_ICDF(29722), AOM_ICDF(32768), 0 },
4371 { AOM_ICDF(5888), AOM_ICDF(7568), AOM_ICDF(9931), AOM_ICDF(13533),
4372 AOM_ICDF(18431), AOM_ICDF(22063), AOM_ICDF(23777), AOM_ICDF(26025),
4373 AOM_ICDF(30555), AOM_ICDF(32768), 0 },
4374 { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(7379), AOM_ICDF(13739),
4375 AOM_ICDF(16917), AOM_ICDF(18090), AOM_ICDF(18835), AOM_ICDF(19651),
4376 AOM_ICDF(30360), AOM_ICDF(32768), 0 },
4377 { AOM_ICDF(6528), AOM_ICDF(8988), AOM_ICDF(10288), AOM_ICDF(15534),
4378 AOM_ICDF(19495), AOM_ICDF(20386), AOM_ICDF(21934), AOM_ICDF(23034),
4379 AOM_ICDF(26988), AOM_ICDF(32768), 0 },
4380 { AOM_ICDF(7040), AOM_ICDF(10055), AOM_ICDF(11652), AOM_ICDF(14757),
4381 AOM_ICDF(19622), AOM_ICDF(21715), AOM_ICDF(23615), AOM_ICDF(26761),
4382 AOM_ICDF(29483), AOM_ICDF(32768), 0 },
4383 { AOM_ICDF(4736), AOM_ICDF(10102), AOM_ICDF(12315), AOM_ICDF(19078),
4384 AOM_ICDF(21348), AOM_ICDF(22621), AOM_ICDF(24246), AOM_ICDF(26044),
4385 AOM_ICDF(29931), AOM_ICDF(32768), 0 } },
4386 { { AOM_ICDF(10496), AOM_ICDF(12410), AOM_ICDF(14955), AOM_ICDF(19891),
4387 AOM_ICDF(23137), AOM_ICDF(23792), AOM_ICDF(25159), AOM_ICDF(26378),
4388 AOM_ICDF(28125), AOM_ICDF(32768), 0 },
4389 { AOM_ICDF(7936), AOM_ICDF(12204), AOM_ICDF(17104), AOM_ICDF(20191),
4390 AOM_ICDF(23468), AOM_ICDF(24630), AOM_ICDF(26156), AOM_ICDF(27628),
4391 AOM_ICDF(28913), AOM_ICDF(32768), 0 },
4392 { AOM_ICDF(6016), AOM_ICDF(8629), AOM_ICDF(10232), AOM_ICDF(23591),
4393 AOM_ICDF(25349), AOM_ICDF(25637), AOM_ICDF(26306), AOM_ICDF(27063),
4394 AOM_ICDF(28980), AOM_ICDF(32768), 0 },
4395 { AOM_ICDF(8704), AOM_ICDF(12088), AOM_ICDF(13461), AOM_ICDF(16646),
4396 AOM_ICDF(20516), AOM_ICDF(21455), AOM_ICDF(24062), AOM_ICDF(26579),
4397 AOM_ICDF(28368), AOM_ICDF(32768), 0 },
4398 { AOM_ICDF(7296), AOM_ICDF(11177), AOM_ICDF(13117), AOM_ICDF(16196),
4399 AOM_ICDF(23378), AOM_ICDF(24708), AOM_ICDF(26440), AOM_ICDF(27997),
4400 AOM_ICDF(29078), AOM_ICDF(32768), 0 },
4401 { AOM_ICDF(6272), AOM_ICDF(9377), AOM_ICDF(12575), AOM_ICDF(15616),
4402 AOM_ICDF(20919), AOM_ICDF(23697), AOM_ICDF(26603), AOM_ICDF(27566),
4403 AOM_ICDF(29903), AOM_ICDF(32768), 0 },
4404 { AOM_ICDF(6528), AOM_ICDF(9091), AOM_ICDF(10478), AOM_ICDF(16445),
4405 AOM_ICDF(21081), AOM_ICDF(22320), AOM_ICDF(23871), AOM_ICDF(25087),
4406 AOM_ICDF(29258), AOM_ICDF(32768), 0 },
4407 { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(12499), AOM_ICDF(17340),
4408 AOM_ICDF(20656), AOM_ICDF(21288), AOM_ICDF(22588), AOM_ICDF(23701),
4409 AOM_ICDF(24693), AOM_ICDF(32768), 0 },
4410 { AOM_ICDF(7552), AOM_ICDF(11394), AOM_ICDF(12980), AOM_ICDF(15562),
4411 AOM_ICDF(19942), AOM_ICDF(21792), AOM_ICDF(25093), AOM_ICDF(28211),
4412 AOM_ICDF(28959), AOM_ICDF(32768), 0 },
4413 { AOM_ICDF(5120), AOM_ICDF(11708), AOM_ICDF(13847), AOM_ICDF(19377),
4414 AOM_ICDF(22421), AOM_ICDF(23160), AOM_ICDF(25449), AOM_ICDF(27136),
4415 AOM_ICDF(29182), AOM_ICDF(32768), 0 } },
4416 { { AOM_ICDF(9984), AOM_ICDF(12031), AOM_ICDF(15190), AOM_ICDF(18673),
4417 AOM_ICDF(21422), AOM_ICDF(22812), AOM_ICDF(25690), AOM_ICDF(29118),
4418 AOM_ICDF(30458), AOM_ICDF(32768), 0 },
4419 { AOM_ICDF(6144), AOM_ICDF(9680), AOM_ICDF(17436), AOM_ICDF(19610),
4420 AOM_ICDF(21820), AOM_ICDF(23485), AOM_ICDF(26313), AOM_ICDF(30826),
4421 AOM_ICDF(31843), AOM_ICDF(32768), 0 },
4422 { AOM_ICDF(6016), AOM_ICDF(8315), AOM_ICDF(10607), AOM_ICDF(19333),
4423 AOM_ICDF(21572), AOM_ICDF(22553), AOM_ICDF(25266), AOM_ICDF(27288),
4424 AOM_ICDF(28551), AOM_ICDF(32768), 0 },
4425 { AOM_ICDF(7168), AOM_ICDF(9668), AOM_ICDF(12646), AOM_ICDF(16257),
4426 AOM_ICDF(19648), AOM_ICDF(20899), AOM_ICDF(25304), AOM_ICDF(30465),
4427 AOM_ICDF(31625), AOM_ICDF(32768), 0 },
4428 { AOM_ICDF(6144), AOM_ICDF(9368), AOM_ICDF(11836), AOM_ICDF(14130),
4429 AOM_ICDF(19153), AOM_ICDF(21157), AOM_ICDF(24876), AOM_ICDF(28452),
4430 AOM_ICDF(29396), AOM_ICDF(32768), 0 },
4431 { AOM_ICDF(5504), AOM_ICDF(8486), AOM_ICDF(11996), AOM_ICDF(14412),
4432 AOM_ICDF(17968), AOM_ICDF(21814), AOM_ICDF(24424), AOM_ICDF(30682),
4433 AOM_ICDF(32059), AOM_ICDF(32768), 0 },
4434 { AOM_ICDF(5376), AOM_ICDF(7195), AOM_ICDF(9592), AOM_ICDF(13331),
4435 AOM_ICDF(17569), AOM_ICDF(19460), AOM_ICDF(22371), AOM_ICDF(25458),
4436 AOM_ICDF(28942), AOM_ICDF(32768), 0 },
4437 { AOM_ICDF(7424), AOM_ICDF(9206), AOM_ICDF(11783), AOM_ICDF(16456),
4438 AOM_ICDF(19253), AOM_ICDF(20390), AOM_ICDF(23775), AOM_ICDF(27007),
4439 AOM_ICDF(28425), AOM_ICDF(32768), 0 },
4440 { AOM_ICDF(5888), AOM_ICDF(8303), AOM_ICDF(11361), AOM_ICDF(13440),
4441 AOM_ICDF(15848), AOM_ICDF(17549), AOM_ICDF(21532), AOM_ICDF(29564),
4442 AOM_ICDF(30665), AOM_ICDF(32768), 0 },
4443 { AOM_ICDF(4608), AOM_ICDF(8788), AOM_ICDF(13284), AOM_ICDF(16621),
4444 AOM_ICDF(18983), AOM_ICDF(20286), AOM_ICDF(24577), AOM_ICDF(28960),
4445 AOM_ICDF(30314), AOM_ICDF(32768), 0 } },
4446 { { AOM_ICDF(8320), AOM_ICDF(15005), AOM_ICDF(19168), AOM_ICDF(24282),
4447 AOM_ICDF(26707), AOM_ICDF(27402), AOM_ICDF(28681), AOM_ICDF(29639),
4448 AOM_ICDF(30629), AOM_ICDF(32768), 0 },
4449 { AOM_ICDF(5632), AOM_ICDF(13900), AOM_ICDF(22376), AOM_ICDF(24867),
4450 AOM_ICDF(26804), AOM_ICDF(27734), AOM_ICDF(29130), AOM_ICDF(30722),
4451 AOM_ICDF(31465), AOM_ICDF(32768), 0 },
4452 { AOM_ICDF(4992), AOM_ICDF(9115), AOM_ICDF(11055), AOM_ICDF(24893),
4453 AOM_ICDF(26316), AOM_ICDF(26661), AOM_ICDF(27663), AOM_ICDF(28301),
4454 AOM_ICDF(29418), AOM_ICDF(32768), 0 },
4455 { AOM_ICDF(7424), AOM_ICDF(12077), AOM_ICDF(14987), AOM_ICDF(19596),
4456 AOM_ICDF(22615), AOM_ICDF(23600), AOM_ICDF(26465), AOM_ICDF(28484),
4457 AOM_ICDF(29789), AOM_ICDF(32768), 0 },
4458 { AOM_ICDF(6272), AOM_ICDF(11447), AOM_ICDF(14362), AOM_ICDF(18204),
4459 AOM_ICDF(23418), AOM_ICDF(24715), AOM_ICDF(26697), AOM_ICDF(28547),
4460 AOM_ICDF(29520), AOM_ICDF(32768), 0 },
4461 { AOM_ICDF(5248), AOM_ICDF(10946), AOM_ICDF(15379), AOM_ICDF(18167),
4462 AOM_ICDF(22197), AOM_ICDF(25432), AOM_ICDF(27295), AOM_ICDF(30031),
4463 AOM_ICDF(30576), AOM_ICDF(32768), 0 },
4464 { AOM_ICDF(5120), AOM_ICDF(9008), AOM_ICDF(11607), AOM_ICDF(18210),
4465 AOM_ICDF(22327), AOM_ICDF(23427), AOM_ICDF(24887), AOM_ICDF(26580),
4466 AOM_ICDF(29892), AOM_ICDF(32768), 0 },
4467 { AOM_ICDF(6656), AOM_ICDF(10124), AOM_ICDF(12689), AOM_ICDF(19922),
4468 AOM_ICDF(22480), AOM_ICDF(22807), AOM_ICDF(24441), AOM_ICDF(25579),
4469 AOM_ICDF(26787), AOM_ICDF(32768), 0 },
4470 { AOM_ICDF(5376), AOM_ICDF(10084), AOM_ICDF(13983), AOM_ICDF(17113),
4471 AOM_ICDF(19996), AOM_ICDF(21614), AOM_ICDF(24403), AOM_ICDF(28651),
4472 AOM_ICDF(29938), AOM_ICDF(32768), 0 },
4473 { AOM_ICDF(5504), AOM_ICDF(14131), AOM_ICDF(17989), AOM_ICDF(23324),
4474 AOM_ICDF(25513), AOM_ICDF(26071), AOM_ICDF(27850), AOM_ICDF(29464),
4475 AOM_ICDF(30393), AOM_ICDF(32768), 0 } },
Urvang Joshi63234542017-03-10 12:04:03 -08004476#endif // CONFIG_ALT_INTRA
4477 };
Thomas Davies1d7db722017-02-22 11:15:00 +00004478
Yaowu Xuc27fc142016-08-22 16:08:15 -07004479static void init_mode_probs(FRAME_CONTEXT *fc) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004480 av1_copy(fc->uv_mode_prob, default_uv_probs);
4481 av1_copy(fc->y_mode_prob, default_if_y_probs);
4482 av1_copy(fc->switchable_interp_prob, default_switchable_interp_prob);
4483 av1_copy(fc->partition_prob, default_partition_probs);
4484 av1_copy(fc->intra_inter_prob, default_intra_inter_p);
4485 av1_copy(fc->comp_inter_prob, default_comp_inter_p);
4486 av1_copy(fc->comp_ref_prob, default_comp_ref_p);
Angie Chiangbabf3e72017-03-20 15:32:24 -07004487#if CONFIG_LV_MAP
4488 av1_copy(fc->txb_skip, default_txb_skip);
4489 av1_copy(fc->nz_map, default_nz_map);
4490 av1_copy(fc->eob_flag, default_eob_flag);
4491 av1_copy(fc->dc_sign, default_dc_sign);
4492 av1_copy(fc->coeff_base, default_coeff_base);
4493 av1_copy(fc->coeff_lps, default_coeff_lps);
4494#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004495#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07004496 av1_copy(fc->comp_bwdref_prob, default_comp_bwdref_p);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004497#endif // CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07004498 av1_copy(fc->single_ref_prob, default_single_ref_p);
Zoe Liu239f06b2017-04-20 13:10:55 -07004499#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
4500 av1_copy(fc->comp_inter_mode_prob, default_comp_inter_mode_p);
4501#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
Yaowu Xuf883b422016-08-30 14:01:10 -07004502 av1_copy(fc->tx_size_probs, default_tx_size_prob);
Yue Chen56e226e2017-05-02 16:21:40 -07004503#if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
4504 fc->quarter_tx_size_prob = default_quarter_tx_size_prob;
4505#endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
Yaowu Xuc27fc142016-08-22 16:08:15 -07004506#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07004507 av1_copy(fc->txfm_partition_prob, default_txfm_partition_probs);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004508#endif
Yaowu Xuf883b422016-08-30 14:01:10 -07004509 av1_copy(fc->skip_probs, default_skip_probs);
Yaowu Xuf883b422016-08-30 14:01:10 -07004510 av1_copy(fc->newmv_prob, default_newmv_prob);
4511 av1_copy(fc->zeromv_prob, default_zeromv_prob);
4512 av1_copy(fc->refmv_prob, default_refmv_prob);
4513 av1_copy(fc->drl_prob, default_drl_prob);
Yue Chencb60b182016-10-13 15:18:22 -07004514#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
4515 av1_copy(fc->motion_mode_prob, default_motion_mode_prob);
Yue Chen69f18e12016-09-08 14:48:15 -07004516#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
4517 av1_copy(fc->obmc_prob, default_obmc_prob);
4518#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yue Chencb60b182016-10-13 15:18:22 -07004519#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07004520#if CONFIG_EXT_INTER
Yaowu Xuf883b422016-08-30 14:01:10 -07004521 av1_copy(fc->inter_compound_mode_probs, default_inter_compound_mode_probs);
Zoe Liu239f06b2017-04-20 13:10:55 -07004522#if CONFIG_COMPOUND_SINGLEREF
4523 av1_copy(fc->inter_singleref_comp_mode_probs,
4524 default_inter_singleref_comp_mode_probs);
4525#endif // CONFIG_COMPOUND_SINGLEREF
Sarah Parker6fddd182016-11-10 20:57:20 -08004526 av1_copy(fc->compound_type_prob, default_compound_type_probs);
Yue Chen4d26acb2017-05-01 12:28:34 -07004527#if CONFIG_INTERINTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07004528 av1_copy(fc->interintra_prob, default_interintra_prob);
4529 av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob);
4530 av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob);
Yue Chen4d26acb2017-05-01 12:28:34 -07004531#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004532#endif // CONFIG_EXT_INTER
4533#if CONFIG_SUPERTX
Yaowu Xuf883b422016-08-30 14:01:10 -07004534 av1_copy(fc->supertx_prob, default_supertx_prob);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004535#endif // CONFIG_SUPERTX
Nathan E. Eggef627e582016-08-19 20:06:51 -04004536 av1_copy(fc->seg.tree_probs, default_segment_tree_probs);
4537 av1_copy(fc->seg.pred_probs, default_segment_pred_probs);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004538#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08004539#if CONFIG_INTRA_INTERP
Yaowu Xuf883b422016-08-30 14:01:10 -07004540 av1_copy(fc->intra_filter_probs, default_intra_filter_probs);
hui sueda3d762016-12-06 16:58:23 -08004541#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07004542#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07004543#if CONFIG_FILTER_INTRA
4544 av1_copy(fc->filter_intra_probs, default_filter_intra_probs);
4545#endif // CONFIG_FILTER_INTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07004546 av1_copy(fc->inter_ext_tx_prob, default_inter_ext_tx_prob);
4547 av1_copy(fc->intra_ext_tx_prob, default_intra_ext_tx_prob);
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07004548#if CONFIG_LOOP_RESTORATION
4549 av1_copy(fc->switchable_restore_prob, default_switchable_restore_prob);
4550#endif // CONFIG_LOOP_RESTORATION
Thomas Davies1d7db722017-02-22 11:15:00 +00004551 av1_copy(fc->y_mode_cdf, default_if_y_mode_cdf);
4552 av1_copy(fc->uv_mode_cdf, default_uv_mode_cdf);
4553 av1_copy(fc->switchable_interp_cdf, default_switchable_interp_cdf);
4554 av1_copy(fc->partition_cdf, default_partition_cdf);
Thomas Davies1d7db722017-02-22 11:15:00 +00004555 av1_copy(fc->intra_ext_tx_cdf, default_intra_ext_tx_cdf);
4556 av1_copy(fc->inter_ext_tx_cdf, default_inter_ext_tx_cdf);
Thomas Davies61e3e372017-04-04 16:10:23 +01004557#if CONFIG_NEW_MULTISYMBOL
4558 av1_copy(fc->skip_cdfs, default_skip_cdfs);
4559#endif
hui sub4e25d22017-03-09 15:32:30 -08004560#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
4561 av1_copy(fc->intra_filter_cdf, default_intra_filter_cdf);
4562#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies1d7db722017-02-22 11:15:00 +00004563 av1_copy(fc->seg.tree_cdf, default_seg_tree_cdf);
4564 av1_copy(fc->tx_size_cdf, default_tx_size_cdf);
Thomas Daviesf6936102016-09-05 16:51:31 +01004565#if CONFIG_DELTA_Q
4566 av1_copy(fc->delta_q_prob, default_delta_q_probs);
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00004567 av1_copy(fc->delta_q_cdf, default_delta_q_cdf);
Fangwen Fu231fe422017-04-24 17:52:29 -07004568#if CONFIG_EXT_DELTA_Q
4569 av1_copy(fc->delta_lf_prob, default_delta_lf_probs);
Fangwen Fu231fe422017-04-24 17:52:29 -07004570 av1_copy(fc->delta_lf_cdf, default_delta_lf_cdf);
Fangwen Fu231fe422017-04-24 17:52:29 -07004571#endif
hui sub4e25d22017-03-09 15:32:30 -08004572#endif // CONFIG_DELTA_Q
Luc Trudeauf5334002017-04-25 12:21:26 -04004573#if CONFIG_CFL
4574 av1_copy(fc->cfl_alpha_cdf, default_cfl_alpha_cdf);
4575#endif
Alex Converse7c412ea2017-06-01 15:16:22 -07004576#if CONFIG_INTRABC
4577 fc->intrabc_prob = INTRABC_PROB_DEFAULT;
4578#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004579}
4580
Nathan E. Egge4947c292016-04-26 11:37:06 -04004581int av1_switchable_interp_ind[SWITCHABLE_FILTERS];
4582int av1_switchable_interp_inv[SWITCHABLE_FILTERS];
Thomas Davies6519beb2016-10-19 14:46:07 +01004583
Thomas Davies028b57f2017-02-22 16:42:11 +00004584#if !CONFIG_EC_ADAPT
Thomas Davies6519beb2016-10-19 14:46:07 +01004585void av1_set_mode_cdfs(struct AV1Common *cm) {
4586 FRAME_CONTEXT *fc = cm->fc;
4587 int i, j;
4588 if (cm->seg.enabled && cm->seg.update_map) {
4589 av1_tree_to_cdf(av1_segment_tree, cm->fc->seg.tree_probs,
4590 cm->fc->seg.tree_cdf);
4591 }
Thomas Davies6519beb2016-10-19 14:46:07 +01004592
Nathan E. Eggedd28aed2016-11-16 09:44:26 -05004593 for (i = 0; i < INTRA_MODES; ++i)
4594 av1_tree_to_cdf(av1_intra_mode_tree, fc->uv_mode_prob[i],
4595 fc->uv_mode_cdf[i]);
Thomas Davies028b57f2017-02-22 16:42:11 +00004596#if CONFIG_EXT_PARTITION_TYPES
Alex Converse57795a42017-03-14 12:18:25 -07004597 for (i = 0; i < PARTITION_PLOFFSET; ++i)
4598 av1_tree_to_cdf(av1_partition_tree, fc->partition_prob[i],
4599 fc->partition_cdf[i]);
4600 // Logical index (enum value) to inorder index (tree_to_cdf order)
4601 aom_cdf_prob inorder_partition_cdf[CDF_SIZE(EXT_PARTITION_TYPES)] = {};
4602 // TODO(aconverse): Generate this dynamically. The assumptions that
4603 // av1_indices_from_tree() makes don't hold for this tree.
4604 static const uint8_t av1_ext_partition_index_map[EXT_PARTITION_TYPES] = {
4605 0, 1, 4, 7, 2, 3, 5, 6,
4606 };
4607 for (; i < PARTITION_CONTEXTS; ++i) {
4608 av1_tree_to_cdf(av1_ext_partition_tree, fc->partition_prob[i],
4609 inorder_partition_cdf);
4610 aom_cdf_prob cum_prob = 0;
4611 for (j = 0; j < EXT_PARTITION_TYPES; ++j) {
4612 int inorder_idx = av1_ext_partition_index_map[j];
4613 aom_cdf_prob prob =
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004614 AOM_ICDF(inorder_partition_cdf[inorder_idx]) -
4615 (inorder_idx > 0 ? AOM_ICDF(inorder_partition_cdf[inorder_idx - 1])
4616 : 0);
4617 cum_prob += prob;
4618 fc->partition_cdf[i][j] = AOM_ICDF(cum_prob);
Alex Converse57795a42017-03-14 12:18:25 -07004619 }
4620 assert(cum_prob == CDF_PROB_TOP);
4621 }
Thomas Davies028b57f2017-02-22 16:42:11 +00004622#else
Thomas Davies6519beb2016-10-19 14:46:07 +01004623 for (i = 0; i < PARTITION_CONTEXTS; ++i)
4624 av1_tree_to_cdf(av1_partition_tree, fc->partition_prob[i],
4625 fc->partition_cdf[i]);
Thomas Davies028b57f2017-02-22 16:42:11 +00004626#endif
Nathan E. Eggedfa33f22016-11-16 09:44:26 -05004627
Nathan E. Egge10ba2be2016-11-16 09:44:26 -05004628 for (i = 0; i < INTRA_MODES; ++i)
4629 for (j = 0; j < INTRA_MODES; ++j)
4630 av1_tree_to_cdf(av1_intra_mode_tree, cm->kf_y_prob[i][j],
Thomas Davies1bfb5ed2017-01-11 15:28:11 +00004631 cm->fc->kf_y_cdf[i][j]);
Nathan E. Egge10ba2be2016-11-16 09:44:26 -05004632
Nathan E. Egge00b33312016-11-16 09:44:26 -05004633 for (j = 0; j < SWITCHABLE_FILTER_CONTEXTS; ++j)
4634 av1_tree_to_cdf(av1_switchable_interp_tree, fc->switchable_interp_prob[j],
4635 fc->switchable_interp_cdf[j]);
4636
Nathan E. Eggeecc21ec2016-11-16 09:44:26 -05004637 for (i = 0; i < BLOCK_SIZE_GROUPS; ++i)
4638 av1_tree_to_cdf(av1_intra_mode_tree, fc->y_mode_prob[i], fc->y_mode_cdf[i]);
4639
Thomas Daviesb1bedf52017-03-17 14:03:28 +00004640#if CONFIG_EXT_TX
4641 int s;
4642 for (s = 0; s < EXT_TX_SETS_INTRA; ++s)
4643 for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
4644 for (j = 0; j < INTRA_MODES; ++j)
4645 av1_tree_to_cdf(av1_ext_tx_intra_tree[s],
4646 fc->intra_ext_tx_prob[s][i][j],
4647 fc->intra_ext_tx_cdf[s][i][j]);
4648
4649 for (s = 0; s < EXT_TX_SETS_INTER; ++s)
4650 for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
4651 av1_tree_to_cdf(av1_ext_tx_inter_tree[s], fc->inter_ext_tx_prob[s][i],
4652 fc->inter_ext_tx_cdf[s][i]);
4653#else
Nathan E. Eggedfa33f22016-11-16 09:44:26 -05004654 for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
Nathan E. Egge29ccee02016-11-16 09:44:26 -05004655 for (j = 0; j < TX_TYPES; ++j)
4656 av1_tree_to_cdf(av1_ext_tx_tree, fc->intra_ext_tx_prob[i][j],
4657 fc->intra_ext_tx_cdf[i][j]);
4658
4659 for (i = TX_4X4; i < EXT_TX_SIZES; ++i)
Nathan E. Eggedfa33f22016-11-16 09:44:26 -05004660 av1_tree_to_cdf(av1_ext_tx_tree, fc->inter_ext_tx_prob[i],
4661 fc->inter_ext_tx_cdf[i]);
4662#endif
Nathan E. Egge2ea519e2017-02-16 18:18:15 -05004663 for (i = 0; i < MAX_TX_DEPTH; i++) {
4664 for (j = 0; j < TX_SIZE_CONTEXTS; j++) {
4665 av1_tree_to_cdf(av1_tx_size_tree[i], fc->tx_size_probs[i][j],
4666 fc->tx_size_cdf[i][j]);
4667 }
4668 }
hui sub4e25d22017-03-09 15:32:30 -08004669#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
4670 for (i = 0; i < INTRA_FILTERS + 1; ++i) {
4671 av1_tree_to_cdf(av1_intra_filter_tree, fc->intra_filter_probs[i],
4672 fc->intra_filter_cdf[i]);
4673 }
4674#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies6519beb2016-10-19 14:46:07 +01004675}
Thomas Davies028b57f2017-02-22 16:42:11 +00004676#endif // !CONFIG_EC_ADAPT
Nathan E. Egge4947c292016-04-26 11:37:06 -04004677
Angie Chiangaadbb022017-06-01 16:08:03 -07004678#if CONFIG_DUAL_FILTER && USE_EXTRA_FILTER
Yaowu Xuf883b422016-08-30 14:01:10 -07004679const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
4680 {
Angie Chiangd91ab372016-11-21 18:16:49 -08004681 -EIGHTTAP_REGULAR, 2, 4, -MULTITAP_SHARP, -EIGHTTAP_SMOOTH,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004682 -EIGHTTAP_SMOOTH2,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004683 };
4684#else
Yaowu Xuf883b422016-08-30 14:01:10 -07004685const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
4686 { -EIGHTTAP_REGULAR, 2, -EIGHTTAP_SMOOTH, -MULTITAP_SHARP };
Angie Chiang1733f6b2017-01-05 09:52:20 -08004687#endif // CONFIG_DUAL_FILTER
Yaowu Xuc27fc142016-08-22 16:08:15 -07004688
Yaowu Xuf883b422016-08-30 14:01:10 -07004689void av1_adapt_inter_frame_probs(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004690 int i, j;
4691 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07004692 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07004693 const FRAME_COUNTS *counts = &cm->counts;
4694
4695 for (i = 0; i < INTRA_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004696 fc->intra_inter_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004697 pre_fc->intra_inter_prob[i], counts->intra_inter[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07004698
Yaowu Xuc27fc142016-08-22 16:08:15 -07004699 for (i = 0; i < COMP_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004700 fc->comp_inter_prob[i] = av1_mode_mv_merge_probs(pre_fc->comp_inter_prob[i],
4701 counts->comp_inter[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004702
4703#if CONFIG_EXT_REFS
4704 for (i = 0; i < REF_CONTEXTS; i++)
4705 for (j = 0; j < (FWD_REFS - 1); j++)
4706 fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
4707 counts->comp_ref[i][j]);
4708 for (i = 0; i < REF_CONTEXTS; i++)
4709 for (j = 0; j < (BWD_REFS - 1); j++)
4710 fc->comp_bwdref_prob[i][j] = mode_mv_merge_probs(
4711 pre_fc->comp_bwdref_prob[i][j], counts->comp_bwdref[i][j]);
4712#else
4713 for (i = 0; i < REF_CONTEXTS; i++)
4714 for (j = 0; j < (COMP_REFS - 1); j++)
4715 fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
4716 counts->comp_ref[i][j]);
4717#endif // CONFIG_EXT_REFS
4718
4719 for (i = 0; i < REF_CONTEXTS; i++)
4720 for (j = 0; j < (SINGLE_REFS - 1); j++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004721 fc->single_ref_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004722 pre_fc->single_ref_prob[i][j], counts->single_ref[i][j]);
4723
Zoe Liu239f06b2017-04-20 13:10:55 -07004724#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
4725 for (i = 0; i < COMP_INTER_MODE_CONTEXTS; i++)
4726 fc->comp_inter_mode_prob[i] = av1_mode_mv_merge_probs(
4727 pre_fc->comp_inter_mode_prob[i], counts->comp_inter_mode[i]);
4728
4729#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
4730
Yaowu Xuc27fc142016-08-22 16:08:15 -07004731 for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i)
4732 fc->newmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07004733 av1_mode_mv_merge_probs(pre_fc->newmv_prob[i], counts->newmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004734 for (i = 0; i < ZEROMV_MODE_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07004735 fc->zeromv_prob[i] =
4736 av1_mode_mv_merge_probs(pre_fc->zeromv_prob[i], counts->zeromv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004737 for (i = 0; i < REFMV_MODE_CONTEXTS; ++i)
4738 fc->refmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07004739 av1_mode_mv_merge_probs(pre_fc->refmv_prob[i], counts->refmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004740
4741 for (i = 0; i < DRL_MODE_CONTEXTS; ++i)
4742 fc->drl_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07004743 av1_mode_mv_merge_probs(pre_fc->drl_prob[i], counts->drl_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004744
Yue Chencb60b182016-10-13 15:18:22 -07004745#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07004746 for (i = BLOCK_8X8; i < BLOCK_SIZES; ++i)
Yue Chencb60b182016-10-13 15:18:22 -07004747 aom_tree_merge_probs(av1_motion_mode_tree, pre_fc->motion_mode_prob[i],
4748 counts->motion_mode[i], fc->motion_mode_prob[i]);
Yue Chen69f18e12016-09-08 14:48:15 -07004749#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
4750 for (i = BLOCK_8X8; i < BLOCK_SIZES; ++i)
4751 fc->obmc_prob[i] =
4752 av1_mode_mv_merge_probs(pre_fc->obmc_prob[i], counts->obmc[i]);
4753#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yue Chencb60b182016-10-13 15:18:22 -07004754#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07004755
4756#if CONFIG_SUPERTX
4757 for (i = 0; i < PARTITION_SUPERTX_CONTEXTS; ++i) {
Jingning Han93531242016-12-20 11:54:36 -08004758 for (j = TX_8X8; j < TX_SIZES; ++j) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004759 fc->supertx_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004760 pre_fc->supertx_prob[i][j], counts->supertx[i][j]);
4761 }
4762 }
4763#endif // CONFIG_SUPERTX
4764
4765#if CONFIG_EXT_INTER
4766 for (i = 0; i < INTER_MODE_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004767 aom_tree_merge_probs(
4768 av1_inter_compound_mode_tree, pre_fc->inter_compound_mode_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004769 counts->inter_compound_mode[i], fc->inter_compound_mode_probs[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07004770#if CONFIG_COMPOUND_SINGLEREF
4771 for (i = 0; i < INTER_MODE_CONTEXTS; i++)
4772 aom_tree_merge_probs(av1_inter_singleref_comp_mode_tree,
4773 pre_fc->inter_singleref_comp_mode_probs[i],
4774 counts->inter_singleref_comp_mode[i],
4775 fc->inter_singleref_comp_mode_probs[i]);
4776#endif // CONFIG_COMPOUND_SINGLEREF
Debargha Mukherjeeed057992017-05-07 05:15:06 -07004777#if CONFIG_INTERINTRA
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07004778 if (cm->allow_interintra_compound) {
4779 for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) {
4780 if (is_interintra_allowed_bsize_group(i))
4781 fc->interintra_prob[i] = av1_mode_mv_merge_probs(
4782 pre_fc->interintra_prob[i], counts->interintra[i]);
4783 }
4784 for (i = 0; i < BLOCK_SIZE_GROUPS; i++) {
4785 aom_tree_merge_probs(
4786 av1_interintra_mode_tree, pre_fc->interintra_mode_prob[i],
4787 counts->interintra_mode[i], fc->interintra_mode_prob[i]);
4788 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07004789#if CONFIG_WEDGE
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07004790 for (i = 0; i < BLOCK_SIZES; ++i) {
4791 if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i))
4792 fc->wedge_interintra_prob[i] = av1_mode_mv_merge_probs(
4793 pre_fc->wedge_interintra_prob[i], counts->wedge_interintra[i]);
4794 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07004795#endif // CONFIG_WEDGE
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07004796 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07004797#endif // CONFIG_INTERINTRA
Sarah Parker6fddd182016-11-10 20:57:20 -08004798
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00004799#if CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07004800 if (cm->allow_masked_compound) {
4801 for (i = 0; i < BLOCK_SIZES; ++i) {
4802 aom_tree_merge_probs(
4803 av1_compound_type_tree, pre_fc->compound_type_prob[i],
4804 counts->compound_interinter[i], fc->compound_type_prob[i]);
4805 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07004806 }
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00004807#endif // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07004808#endif // CONFIG_EXT_INTER
4809
4810 for (i = 0; i < BLOCK_SIZE_GROUPS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004811 aom_tree_merge_probs(av1_intra_mode_tree, pre_fc->y_mode_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004812 counts->y_mode[i], fc->y_mode_prob[i]);
4813
4814 if (cm->interp_filter == SWITCHABLE) {
4815 for (i = 0; i < SWITCHABLE_FILTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004816 aom_tree_merge_probs(
4817 av1_switchable_interp_tree, pre_fc->switchable_interp_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004818 counts->switchable_interp[i], fc->switchable_interp_prob[i]);
4819 }
4820}
4821
Yaowu Xuf883b422016-08-30 14:01:10 -07004822void av1_adapt_intra_frame_probs(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004823 int i, j;
4824 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07004825 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07004826 const FRAME_COUNTS *counts = &cm->counts;
4827
4828 if (cm->tx_mode == TX_MODE_SELECT) {
Jingning Hanaae72a62016-10-25 15:35:29 -07004829 for (i = 0; i < MAX_TX_DEPTH; ++i) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004830 for (j = 0; j < TX_SIZE_CONTEXTS; ++j)
Yaowu Xuf883b422016-08-30 14:01:10 -07004831 aom_tree_merge_probs(av1_tx_size_tree[i], pre_fc->tx_size_probs[i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004832 counts->tx_size[i][j], fc->tx_size_probs[i][j]);
4833 }
Yue Chen56e226e2017-05-02 16:21:40 -07004834#if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
4835 fc->quarter_tx_size_prob = av1_mode_mv_merge_probs(
4836 pre_fc->quarter_tx_size_prob, counts->quarter_tx_size);
4837#endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
Yaowu Xuc27fc142016-08-22 16:08:15 -07004838 }
4839
4840#if CONFIG_VAR_TX
Yue Chena1e48dc2016-08-29 17:29:33 -07004841 if (cm->tx_mode == TX_MODE_SELECT) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004842 for (i = 0; i < TXFM_PARTITION_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07004843 fc->txfm_partition_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004844 pre_fc->txfm_partition_prob[i], counts->txfm_partition[i]);
Yue Chena1e48dc2016-08-29 17:29:33 -07004845 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07004846#endif
4847
4848 for (i = 0; i < SKIP_CONTEXTS; ++i)
4849 fc->skip_probs[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07004850 av1_mode_mv_merge_probs(pre_fc->skip_probs[i], counts->skip[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004851
4852#if CONFIG_EXT_TX
4853 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
4854 int s;
4855 for (s = 1; s < EXT_TX_SETS_INTER; ++s) {
4856 if (use_inter_ext_tx_for_txsize[s][i]) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004857 aom_tree_merge_probs(
4858 av1_ext_tx_inter_tree[s], pre_fc->inter_ext_tx_prob[s][i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004859 counts->inter_ext_tx[s][i], fc->inter_ext_tx_prob[s][i]);
4860 }
4861 }
4862 for (s = 1; s < EXT_TX_SETS_INTRA; ++s) {
4863 if (use_intra_ext_tx_for_txsize[s][i]) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004864 for (j = 0; j < INTRA_MODES; ++j)
Yaowu Xuf883b422016-08-30 14:01:10 -07004865 aom_tree_merge_probs(
4866 av1_ext_tx_intra_tree[s], pre_fc->intra_ext_tx_prob[s][i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004867 counts->intra_ext_tx[s][i][j], fc->intra_ext_tx_prob[s][i][j]);
4868 }
4869 }
4870 }
4871#else
4872 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04004873 for (j = 0; j < TX_TYPES; ++j) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004874 aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->intra_ext_tx_prob[i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004875 counts->intra_ext_tx[i][j],
4876 fc->intra_ext_tx_prob[i][j]);
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04004877 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07004878 }
4879 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004880 aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->inter_ext_tx_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004881 counts->inter_ext_tx[i], fc->inter_ext_tx_prob[i]);
4882 }
4883#endif // CONFIG_EXT_TX
4884
4885 if (cm->seg.temporal_update) {
4886 for (i = 0; i < PREDICTION_PROBS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004887 fc->seg.pred_probs[i] = av1_mode_mv_merge_probs(pre_fc->seg.pred_probs[i],
4888 counts->seg.pred[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004889
Yaowu Xuf883b422016-08-30 14:01:10 -07004890 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004891 counts->seg.tree_mispred, fc->seg.tree_probs);
4892 } else {
Yaowu Xuf883b422016-08-30 14:01:10 -07004893 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004894 counts->seg.tree_total, fc->seg.tree_probs);
4895 }
4896
4897 for (i = 0; i < INTRA_MODES; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07004898 aom_tree_merge_probs(av1_intra_mode_tree, pre_fc->uv_mode_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004899 counts->uv_mode[i], fc->uv_mode_prob[i]);
4900
4901#if CONFIG_EXT_PARTITION_TYPES
Alex Converse4e18d402017-03-14 15:36:38 -07004902 for (i = 0; i < PARTITION_PLOFFSET; ++i)
4903 aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
4904 counts->partition[i], fc->partition_prob[i]);
4905 for (; i < PARTITION_CONTEXTS_PRIMARY; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07004906 aom_tree_merge_probs(av1_ext_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004907 counts->partition[i], fc->partition_prob[i]);
4908#else
Alex Converse4e18d402017-03-14 15:36:38 -07004909 for (i = 0; i < PARTITION_CONTEXTS_PRIMARY; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004910 aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004911 counts->partition[i], fc->partition_prob[i]);
Nathan E. Eggefba2be62016-05-03 09:48:54 -04004912 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07004913#endif // CONFIG_EXT_PARTITION_TYPES
Alex Converse55c6bde2017-01-12 15:55:31 -08004914#if CONFIG_UNPOISON_PARTITION_CTX
4915 for (i = PARTITION_CONTEXTS_PRIMARY;
4916 i < PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES; ++i) {
4917 unsigned int ct[2] = { counts->partition[i][PARTITION_VERT],
4918 counts->partition[i][PARTITION_SPLIT] };
4919 assert(counts->partition[i][PARTITION_NONE] == 0);
4920 assert(counts->partition[i][PARTITION_HORZ] == 0);
4921 assert(fc->partition_prob[i][PARTITION_NONE] == 0);
4922 assert(fc->partition_prob[i][PARTITION_HORZ] == 0);
4923 fc->partition_prob[i][PARTITION_VERT] =
4924 av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_VERT], ct);
4925 }
4926 for (i = PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES;
4927 i < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++i) {
4928 unsigned int ct[2] = { counts->partition[i][PARTITION_HORZ],
4929 counts->partition[i][PARTITION_SPLIT] };
4930 assert(counts->partition[i][PARTITION_NONE] == 0);
4931 assert(counts->partition[i][PARTITION_VERT] == 0);
4932 assert(fc->partition_prob[i][PARTITION_NONE] == 0);
4933 assert(fc->partition_prob[i][PARTITION_VERT] == 0);
4934 fc->partition_prob[i][PARTITION_HORZ] =
4935 av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_HORZ], ct);
4936 }
4937#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01004938#if CONFIG_DELTA_Q
Thomas Davies665cd702017-03-02 10:20:30 +00004939 for (i = 0; i < DELTA_Q_PROBS; ++i)
Thomas Daviesf6936102016-09-05 16:51:31 +01004940 fc->delta_q_prob[i] =
4941 mode_mv_merge_probs(pre_fc->delta_q_prob[i], counts->delta_q[i]);
Fangwen Fu231fe422017-04-24 17:52:29 -07004942#if CONFIG_EXT_DELTA_Q
4943 for (i = 0; i < DELTA_LF_PROBS; ++i)
4944 fc->delta_lf_prob[i] =
4945 mode_mv_merge_probs(pre_fc->delta_lf_prob[i], counts->delta_lf[i]);
4946#endif // CONFIG_EXT_DELTA_Q
Thomas Daviesf6936102016-09-05 16:51:31 +01004947#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004948#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08004949#if CONFIG_INTRA_INTERP
hui su5db97432016-10-14 16:10:14 -07004950 for (i = 0; i < INTRA_FILTERS + 1; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004951 aom_tree_merge_probs(av1_intra_filter_tree, pre_fc->intra_filter_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07004952 counts->intra_filter[i], fc->intra_filter_probs[i]);
hui su5db97432016-10-14 16:10:14 -07004953 }
hui sueda3d762016-12-06 16:58:23 -08004954#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07004955#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07004956#if CONFIG_FILTER_INTRA
4957 for (i = 0; i < PLANE_TYPES; ++i) {
4958 fc->filter_intra_probs[i] = av1_mode_mv_merge_probs(
4959 pre_fc->filter_intra_probs[i], counts->filter_intra[i]);
4960 }
4961#endif // CONFIG_FILTER_INTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07004962}
4963
4964static void set_default_lf_deltas(struct loopfilter *lf) {
4965 lf->mode_ref_delta_enabled = 1;
4966 lf->mode_ref_delta_update = 1;
4967
4968 lf->ref_deltas[INTRA_FRAME] = 1;
4969 lf->ref_deltas[LAST_FRAME] = 0;
4970#if CONFIG_EXT_REFS
4971 lf->ref_deltas[LAST2_FRAME] = lf->ref_deltas[LAST_FRAME];
4972 lf->ref_deltas[LAST3_FRAME] = lf->ref_deltas[LAST_FRAME];
4973 lf->ref_deltas[BWDREF_FRAME] = lf->ref_deltas[LAST_FRAME];
4974#endif // CONFIG_EXT_REFS
4975 lf->ref_deltas[GOLDEN_FRAME] = -1;
4976 lf->ref_deltas[ALTREF_FRAME] = -1;
4977
4978 lf->mode_deltas[0] = 0;
4979 lf->mode_deltas[1] = 0;
4980}
4981
Yaowu Xuf883b422016-08-30 14:01:10 -07004982void av1_setup_past_independence(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004983 // Reset the segment feature data to the default stats:
4984 // Features disabled, 0, with delta coding (Default state).
4985 struct loopfilter *const lf = &cm->lf;
4986
4987 int i;
Yaowu Xuf883b422016-08-30 14:01:10 -07004988 av1_clearall_segfeatures(&cm->seg);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004989 cm->seg.abs_delta = SEGMENT_DELTADATA;
4990
4991 if (cm->last_frame_seg_map && !cm->frame_parallel_decode)
4992 memset(cm->last_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
4993
4994 if (cm->current_frame_seg_map)
4995 memset(cm->current_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
4996
4997 // Reset the mode ref deltas for loop filter
Yaowu Xuf883b422016-08-30 14:01:10 -07004998 av1_zero(lf->last_ref_deltas);
4999 av1_zero(lf->last_mode_deltas);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005000 set_default_lf_deltas(lf);
5001
5002 // To force update of the sharpness
5003 lf->last_sharpness_level = -1;
Yaowu Xuc27fc142016-08-22 16:08:15 -07005004
Yaowu Xuf883b422016-08-30 14:01:10 -07005005 av1_default_coef_probs(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005006 init_mode_probs(cm->fc);
Yaowu Xuf883b422016-08-30 14:01:10 -07005007 av1_init_mv_probs(cm);
Yushin Chob188ea12017-03-13 13:45:23 -07005008#if CONFIG_PVQ
5009 av1_default_pvq_probs(cm);
5010#endif // CONFIG_PVQ
Angie Chianged8cd9a2016-10-21 16:44:47 -07005011#if CONFIG_ADAPT_SCAN
5012 av1_init_scan_order(cm);
5013#endif
Angie Chiang0a2c0cb2017-02-23 14:19:15 -08005014 av1_convolve_init(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005015 cm->fc->initialized = 1;
5016
5017 if (cm->frame_type == KEY_FRAME || cm->error_resilient_mode ||
5018 cm->reset_frame_context == RESET_FRAME_CONTEXT_ALL) {
5019 // Reset all frame contexts.
5020 for (i = 0; i < FRAME_CONTEXTS; ++i) cm->frame_contexts[i] = *cm->fc;
5021 } else if (cm->reset_frame_context == RESET_FRAME_CONTEXT_CURRENT) {
5022 // Reset only the frame context specified in the frame header.
5023 cm->frame_contexts[cm->frame_context_idx] = *cm->fc;
5024 }
5025
5026 // prev_mip will only be allocated in encoder.
5027 if (frame_is_intra_only(cm) && cm->prev_mip && !cm->frame_parallel_decode)
5028 memset(cm->prev_mip, 0,
5029 cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->prev_mip));
5030
5031 cm->frame_context_idx = 0;
5032}