blob: 0a5e13de978b45f71dba36a33f519d590d8edf78 [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
Yaowu Xuc27fc142016-08-22 16:08:15 -0700296#if CONFIG_EXT_PARTITION_TYPES
Yaowu Xuf883b422016-08-30 14:01:10 -0700297static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -0700298 default_partition_probs[PARTITION_CONTEXTS][EXT_PARTITION_TYPES - 1] = {
299 // 8x8 -> 4x4
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100300 { 199, 122, 141, 128, 128, 128, 255, 128, 255 }, // a/l both not split
301 { 147, 63, 159, 128, 128, 128, 255, 128, 255 }, // a split, l not split
302 { 148, 133, 118, 128, 128, 128, 255, 128, 255 }, // l split, a not split
303 { 121, 104, 114, 128, 128, 128, 255, 128, 255 }, // a/l both split
Yaowu Xuc27fc142016-08-22 16:08:15 -0700304 // 16x16 -> 8x8
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100305 { 174, 73, 87, 128, 128, 128, 255, 128, 255 }, // a/l both not split
306 { 92, 41, 83, 128, 128, 128, 255, 128, 255 }, // a split, l not split
307 { 82, 99, 50, 128, 128, 128, 255, 128, 255 }, // l split, a not split
308 { 53, 39, 39, 128, 128, 128, 255, 128, 255 }, // a/l both split
Yaowu Xuc27fc142016-08-22 16:08:15 -0700309 // 32x32 -> 16x16
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100310 { 177, 58, 59, 128, 128, 85, 128, 85, 128 }, // a/l both not split
311 { 68, 26, 63, 128, 128, 85, 128, 85, 128 }, // a split, l not split
312 { 52, 79, 25, 128, 128, 85, 128, 85, 128 }, // l split, a not split
313 { 17, 14, 12, 128, 128, 85, 128, 85, 128 }, // a/l both split
Yaowu Xuc27fc142016-08-22 16:08:15 -0700314 // 64x64 -> 32x32
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100315 { 222, 34, 30, 128, 128, 128, 255, 128, 255 }, // a/l both not split
316 { 72, 16, 44, 128, 128, 128, 255, 128, 255 }, // a split, l not split
317 { 58, 32, 12, 128, 128, 128, 255, 128, 255 }, // l split, a not split
318 { 10, 7, 6, 128, 128, 128, 255, 128, 255 }, // a/l both split
Yaowu Xuc27fc142016-08-22 16:08:15 -0700319#if CONFIG_EXT_PARTITION
320 // 128x128 -> 64x64
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100321 { 222, 34, 30, 128, 128, 128, 255, 128, 255 }, // a/l both not split
322 { 72, 16, 44, 128, 128, 128, 255, 128, 255 }, // a split, l not split
323 { 58, 32, 12, 128, 128, 128, 255, 128, 255 }, // l split, a not split
324 { 10, 7, 6, 128, 128, 128, 255, 128, 255 }, // a/l both split
325#endif // CONFIG_EXT_PARTITION
Alex Converse55c6bde2017-01-12 15:55:31 -0800326#if CONFIG_UNPOISON_PARTITION_CTX
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100327 { 0, 0, 141, 0, 0, 0, 0, 0, 0 }, // 8x8 -> 4x4
328 { 0, 0, 87, 0, 0, 0, 0, 0, 0 }, // 16x16 -> 8x8
329 { 0, 0, 59, 0, 0, 0, 0, 0, 0 }, // 32x32 -> 16x16
330 { 0, 0, 30, 0, 0, 0, 0, 0, 0 }, // 64x64 -> 32x32
Alex Converse55c6bde2017-01-12 15:55:31 -0800331#if CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100332 { 0, 0, 30, 0, 0, 0, 0, 0, 0 }, // 128x128 -> 64x64
333#endif // CONFIG_EXT_PARTITION
334 { 0, 122, 0, 0, 0, 0, 0, 0, 0 }, // 8x8 -> 4x4
335 { 0, 73, 0, 0, 0, 0, 0, 0, 0 }, // 16x16 -> 8x8
336 { 0, 58, 0, 0, 0, 0, 0, 0, 0 }, // 32x32 -> 16x16
337 { 0, 34, 0, 0, 0, 0, 0, 0, 0 }, // 64x64 -> 32x32
Alex Converse55c6bde2017-01-12 15:55:31 -0800338#if CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100339 { 0, 34, 0, 0, 0, 0, 0, 0, 0 }, // 128x128 -> 64x64
340#endif // CONFIG_EXT_PARTITION
341#endif // CONFIG_UNPOISON_PARTITION_CTX
Yaowu Xuc27fc142016-08-22 16:08:15 -0700342 };
343#else
Yaowu Xuf883b422016-08-30 14:01:10 -0700344static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -0700345 default_partition_probs[PARTITION_CONTEXTS][PARTITION_TYPES - 1] = {
346 // 8x8 -> 4x4
347 { 199, 122, 141 }, // a/l both not split
348 { 147, 63, 159 }, // a split, l not split
349 { 148, 133, 118 }, // l split, a not split
350 { 121, 104, 114 }, // a/l both split
351 // 16x16 -> 8x8
352 { 174, 73, 87 }, // a/l both not split
353 { 92, 41, 83 }, // a split, l not split
354 { 82, 99, 50 }, // l split, a not split
355 { 53, 39, 39 }, // a/l both split
356 // 32x32 -> 16x16
357 { 177, 58, 59 }, // a/l both not split
358 { 68, 26, 63 }, // a split, l not split
359 { 52, 79, 25 }, // l split, a not split
360 { 17, 14, 12 }, // a/l both split
361 // 64x64 -> 32x32
362 { 222, 34, 30 }, // a/l both not split
363 { 72, 16, 44 }, // a split, l not split
364 { 58, 32, 12 }, // l split, a not split
365 { 10, 7, 6 }, // a/l both split
366#if CONFIG_EXT_PARTITION
367 // 128x128 -> 64x64
368 { 222, 34, 30 }, // a/l both not split
369 { 72, 16, 44 }, // a split, l not split
370 { 58, 32, 12 }, // l split, a not split
371 { 10, 7, 6 }, // a/l both split
372#endif // CONFIG_EXT_PARTITION
Alex Converse55c6bde2017-01-12 15:55:31 -0800373#if CONFIG_UNPOISON_PARTITION_CTX
374 { 0, 0, 141 }, // 8x8 -> 4x4
375 { 0, 0, 87 }, // 16x16 -> 8x8
376 { 0, 0, 59 }, // 32x32 -> 16x16
377 { 0, 0, 30 }, // 64x64 -> 32x32
378#if CONFIG_EXT_PARTITION
379 { 0, 0, 30 }, // 128x128 -> 64x64
380#endif // CONFIG_EXT_PARTITION
381 { 0, 122, 0 }, // 8x8 -> 4x4
382 { 0, 73, 0 }, // 16x16 -> 8x8
383 { 0, 58, 0 }, // 32x32 -> 16x16
384 { 0, 34, 0 }, // 64x64 -> 32x32
385#if CONFIG_EXT_PARTITION
386 { 0, 34, 0 }, // 128x128 -> 64x64
387#endif // CONFIG_EXT_PARTITION
388#endif // CONFIG_UNPOISON_PARTITION_CTX
Yaowu Xuc27fc142016-08-22 16:08:15 -0700389 };
390#endif // CONFIG_EXT_PARTITION_TYPES
391
Yaowu Xuf883b422016-08-30 14:01:10 -0700392static const aom_prob default_newmv_prob[NEWMV_MODE_CONTEXTS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700393 155, 116, 94, 32, 96, 56, 30,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700394};
395
Yaowu Xuf883b422016-08-30 14:01:10 -0700396static const aom_prob default_zeromv_prob[ZEROMV_MODE_CONTEXTS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700397 45, 13,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700398};
399
Yaowu Xuf883b422016-08-30 14:01:10 -0700400static const aom_prob default_refmv_prob[REFMV_MODE_CONTEXTS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700401 178, 212, 135, 244, 203, 122, 128, 128, 128,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700402};
403
Yue Chend1b8c2a2017-07-05 14:28:20 -0700404static const aom_prob default_drl_prob[DRL_MODE_CONTEXTS] = {
405 119, 128, 189, 134, 128,
406};
Thomas Davies149eda52017-06-12 18:11:55 +0100407#if CONFIG_NEW_MULTISYMBOL
408static const aom_cdf_prob default_newmv_cdf[NEWMV_MODE_CONTEXTS][CDF_SIZE(2)] =
Yue Chena9529a32017-07-10 17:53:17 -0700409 { { AOM_ICDF(128 * 155), AOM_ICDF(32768), 0 },
410 { AOM_ICDF(128 * 116), AOM_ICDF(32768), 0 },
411 { AOM_ICDF(128 * 94), AOM_ICDF(32768), 0 },
412 { AOM_ICDF(128 * 32), AOM_ICDF(32768), 0 },
413 { AOM_ICDF(128 * 96), AOM_ICDF(32768), 0 },
414 { AOM_ICDF(128 * 56), AOM_ICDF(32768), 0 },
Thomas Davies149eda52017-06-12 18:11:55 +0100415 { AOM_ICDF(128 * 30), AOM_ICDF(32768), 0 } };
Yue Chena9529a32017-07-10 17:53:17 -0700416static const aom_cdf_prob default_zeromv_cdf[ZEROMV_MODE_CONTEXTS][CDF_SIZE(
417 2)] = { { AOM_ICDF(128 * 45), AOM_ICDF(32768), 0 },
418 { AOM_ICDF(128 * 13), AOM_ICDF(32768), 0 } };
419static const aom_cdf_prob default_refmv_cdf[REFMV_MODE_CONTEXTS][CDF_SIZE(2)] =
420 { { AOM_ICDF(128 * 178), AOM_ICDF(32768), 0 },
421 { AOM_ICDF(128 * 212), AOM_ICDF(32768), 0 },
422 { AOM_ICDF(128 * 135), AOM_ICDF(32768), 0 },
423 { AOM_ICDF(128 * 244), AOM_ICDF(32768), 0 },
424 { AOM_ICDF(128 * 203), AOM_ICDF(32768), 0 },
425 { AOM_ICDF(128 * 122), AOM_ICDF(32768), 0 },
426 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
427 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
428 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 } };
Thomas Davies149eda52017-06-12 18:11:55 +0100429static const aom_cdf_prob default_drl_cdf[DRL_MODE_CONTEXTS][CDF_SIZE(2)] = {
Yue Chena9529a32017-07-10 17:53:17 -0700430 { AOM_ICDF(128 * 119), AOM_ICDF(32768), 0 },
Thomas Davies149eda52017-06-12 18:11:55 +0100431 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
Yue Chena9529a32017-07-10 17:53:17 -0700432 { AOM_ICDF(128 * 189), AOM_ICDF(32768), 0 },
433 { AOM_ICDF(128 * 134), AOM_ICDF(32768), 0 },
434 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 }
Thomas Davies149eda52017-06-12 18:11:55 +0100435};
436#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -0700437
Yaowu Xuc27fc142016-08-22 16:08:15 -0700438#if CONFIG_EXT_INTER
Yaowu Xuf883b422016-08-30 14:01:10 -0700439static const aom_prob default_inter_compound_mode_probs
Yaowu Xuc27fc142016-08-22 16:08:15 -0700440 [INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES - 1] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700441 { 154, 167, 233, 165, 143, 170, 167 }, // 0 = both zero mv
442 { 75, 168, 237, 155, 135, 176, 172 }, // 1 = 1 zero + 1 predicted
443 { 7, 173, 227, 128, 153, 188, 189 }, // 2 = two predicted mvs
444 { 8, 120, 214, 113, 154, 178, 174 }, // 3 = 1 pred/zero, 1 new
445 { 4, 85, 194, 94, 155, 173, 167 }, // 4 = two new mvs
446 { 23, 89, 180, 73, 157, 151, 155 }, // 5 = one intra neighbour
447 { 27, 49, 152, 91, 134, 153, 142 }, // 6 = two intra neighbours
Yaowu Xuc27fc142016-08-22 16:08:15 -0700448 };
449
Thomas Davies8c08a332017-06-26 17:30:34 +0100450static const aom_cdf_prob
451 default_inter_compound_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE(
452 INTER_COMPOUND_MODES)] = {
Yue Chend9de81e2017-07-10 16:58:13 -0700453 { AOM_ICDF(19712), AOM_ICDF(28229), AOM_ICDF(30892), AOM_ICDF(31437),
454 AOM_ICDF(31712), AOM_ICDF(32135), AOM_ICDF(32360), AOM_ICDF(32768), 0 },
455 { AOM_ICDF(9600), AOM_ICDF(24804), AOM_ICDF(29268), AOM_ICDF(30323),
456 AOM_ICDF(30802), AOM_ICDF(31726), AOM_ICDF(32177), AOM_ICDF(32768), 0 },
457 { AOM_ICDF(896), AOM_ICDF(22434), AOM_ICDF(27015), AOM_ICDF(29026),
458 AOM_ICDF(29753), AOM_ICDF(31114), AOM_ICDF(31597), AOM_ICDF(32768), 0 },
459 { AOM_ICDF(1024), AOM_ICDF(15904), AOM_ICDF(22127), AOM_ICDF(25421),
460 AOM_ICDF(26864), AOM_ICDF(28996), AOM_ICDF(30001), AOM_ICDF(32768), 0 },
461 { AOM_ICDF(512), AOM_ICDF(11222), AOM_ICDF(17217), AOM_ICDF(21445),
462 AOM_ICDF(23473), AOM_ICDF(26133), AOM_ICDF(27550), AOM_ICDF(32768), 0 },
463 { AOM_ICDF(2944), AOM_ICDF(13313), AOM_ICDF(17214), AOM_ICDF(20751),
464 AOM_ICDF(23211), AOM_ICDF(25500), AOM_ICDF(26992), AOM_ICDF(32768), 0 },
465 { AOM_ICDF(3456), AOM_ICDF(9067), AOM_ICDF(14069), AOM_ICDF(16907),
466 AOM_ICDF(18817), AOM_ICDF(21214), AOM_ICDF(23139), AOM_ICDF(32768), 0 }
Thomas Davies8c08a332017-06-26 17:30:34 +0100467 };
Thomas Davies8c08a332017-06-26 17:30:34 +0100468
Zoe Liu239f06b2017-04-20 13:10:55 -0700469#if CONFIG_COMPOUND_SINGLEREF
470// TODO(zoeliu): Default values to be further adjusted based on the collected
471// stats.
Zoe Liu85b66462017-04-20 14:28:19 -0700472/*
Zoe Liu239f06b2017-04-20 13:10:55 -0700473static const aom_prob default_inter_singleref_comp_mode_probs
474 [INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
475 { 2, 173, 68, 180 }, // 0 = both zero mv
476 { 7, 145, 160, 180 }, // 1 = 1 zero + 1 predicted
477 { 7, 166, 126, 180 }, // 2 = two predicted mvs
478 { 7, 94, 132, 180 }, // 3 = 1 pred/zero, 1 new
479 { 8, 64, 64, 180 }, // 4 = two new mvs
480 { 17, 81, 52, 180 }, // 5 = one intra neighbour
481 { 25, 29, 50, 180 }, // 6 = two intra neighbours
Zoe Liu85b66462017-04-20 14:28:19 -0700482 };*/
483static const aom_prob default_inter_singleref_comp_mode_probs
484 [INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
485 { 2, 173, 68 }, // 0 = both zero mv
486 { 7, 145, 160 }, // 1 = 1 zero + 1 predicted
487 { 7, 166, 126 }, // 2 = two predicted mvs
488 { 7, 94, 132 }, // 3 = 1 pred/zero, 1 new
489 { 8, 64, 64 }, // 4 = two new mvs
490 { 17, 81, 52 }, // 5 = one intra neighbour
491 { 25, 29, 50 }, // 6 = two intra neighbours
Zoe Liu239f06b2017-04-20 13:10:55 -0700492 };
Thomas Daviesb8b14a92017-07-12 15:11:49 +0100493
494static const aom_cdf_prob
495 default_inter_singleref_comp_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE(
496 INTER_SINGLEREF_COMP_MODES)] = {
497 { AOM_ICDF(21971), AOM_ICDF(24771), AOM_ICDF(25027), AOM_ICDF(32768), 0 },
498 { AOM_ICDF(18053), AOM_ICDF(26690), AOM_ICDF(27586), AOM_ICDF(32768), 0 },
499 { AOM_ICDF(20667), AOM_ICDF(26182), AOM_ICDF(27078), AOM_ICDF(32768), 0 },
500 { AOM_ICDF(11703), AOM_ICDF(22103), AOM_ICDF(22999), AOM_ICDF(32768), 0 },
501 { AOM_ICDF(7936), AOM_ICDF(13888), AOM_ICDF(14912), AOM_ICDF(32768), 0 },
502 { AOM_ICDF(9679), AOM_ICDF(13927), AOM_ICDF(16103), AOM_ICDF(32768), 0 },
503 { AOM_ICDF(3349), AOM_ICDF(8470), AOM_ICDF(11670), AOM_ICDF(32768), 0 }
504 };
Zoe Liu239f06b2017-04-20 13:10:55 -0700505#endif // CONFIG_COMPOUND_SINGLEREF
506
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000507#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker2f6ce752016-12-08 15:26:46 -0800508static const aom_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100509 default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700510#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -0700511 { 128, 128 }, { 128, 128 }, { 128, 128 },
Yue Chen4415b6c2017-01-31 11:59:38 -0800512#endif
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100513 { 128, 128 }, { 255, 128 }, { 255, 128 }, { 66, 51 }, { 72, 35 },
514 { 79, 29 }, { 71, 18 }, { 81, 29 }, { 81, 26 }, { 69, 19 },
Yue Chend1b8c2a2017-07-05 14:28:20 -0700515 { 104, 1 }, { 99, 1 }, { 75, 1 },
Sarah Parker2f6ce752016-12-08 15:26:46 -0800516#if CONFIG_EXT_PARTITION
Debargha Mukherjeef6429c92017-05-15 15:42:13 -0700517 { 255, 1 }, { 255, 1 }, { 255, 1 },
Sarah Parker2f6ce752016-12-08 15:26:46 -0800518#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100519 { 208, 128 }, { 208, 128 }, { 208, 128 }, { 208, 128 },
Sarah Parker2f6ce752016-12-08 15:26:46 -0800520 };
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000521#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
clang-format55ce9e02017-02-15 22:27:12 -0800522static const aom_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100523 default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700524#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Debargha Mukherjeeed057992017-05-07 05:15:06 -0700525 { 255 }, { 255 }, { 255 },
Jingning Han61418bb2017-01-23 17:12:48 -0800526#endif
clang-format55ce9e02017-02-15 22:27:12 -0800527 { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 216 },
528 { 216 }, { 216 }, { 224 }, { 224 }, { 240 }, { 240 },
Sarah Parker6fddd182016-11-10 20:57:20 -0800529#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -0800530 { 255 }, { 255 }, { 255 },
Sarah Parker6fddd182016-11-10 20:57:20 -0800531#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100532 { 208 }, { 208 }, { 208 }, { 208 },
clang-format55ce9e02017-02-15 22:27:12 -0800533 };
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000534#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
535static const aom_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100536 default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700537#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Debargha Mukherjeeed057992017-05-07 05:15:06 -0700538 { 255 }, { 255 }, { 255 },
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000539#endif
540 { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 216 },
541 { 216 }, { 216 }, { 224 }, { 224 }, { 240 }, { 240 },
542#if CONFIG_EXT_PARTITION
543 { 255 }, { 255 }, { 255 },
544#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100545 { 208 }, { 208 }, { 208 }, { 208 },
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000546 };
547#else
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100548static const aom_prob default_compound_type_probs[BLOCK_SIZES_ALL]
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +0000549 [COMPOUND_TYPES - 1];
550#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker6fddd182016-11-10 20:57:20 -0800551
Thomas Daviesd8dac222017-06-27 11:23:15 +0100552#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
553static const aom_cdf_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100554 default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
Thomas Daviesd8dac222017-06-27 11:23:15 +0100555#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend9de81e2017-07-10 16:58:13 -0700556 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
557 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
558 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
Thomas Daviesd8dac222017-06-27 11:23:15 +0100559#endif
Yue Chend9de81e2017-07-10 16:58:13 -0700560 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
561 { AOM_ICDF(32640), AOM_ICDF(32704), AOM_ICDF(32768), 0 },
562 { AOM_ICDF(32640), AOM_ICDF(32704), AOM_ICDF(32768), 0 },
563 { AOM_ICDF(8448), AOM_ICDF(13293), AOM_ICDF(32768), 0 },
564 { AOM_ICDF(9216), AOM_ICDF(12436), AOM_ICDF(32768), 0 },
565 { AOM_ICDF(10112), AOM_ICDF(12679), AOM_ICDF(32768), 0 },
566 { AOM_ICDF(9088), AOM_ICDF(10753), AOM_ICDF(32768), 0 },
567 { AOM_ICDF(10368), AOM_ICDF(12906), AOM_ICDF(32768), 0 },
568 { AOM_ICDF(10368), AOM_ICDF(12643), AOM_ICDF(32768), 0 },
569 { AOM_ICDF(8832), AOM_ICDF(10609), AOM_ICDF(32768), 0 },
570 { AOM_ICDF(13312), AOM_ICDF(13388), AOM_ICDF(32768), 0 },
571 { AOM_ICDF(12672), AOM_ICDF(12751), AOM_ICDF(32768), 0 },
572 { AOM_ICDF(9600), AOM_ICDF(9691), AOM_ICDF(32768), 0 },
Thomas Daviesd8dac222017-06-27 11:23:15 +0100573#if CONFIG_EXT_PARTITION
574 { AOM_ICDF(32640), AOM_ICDF(32641), AOM_ICDF(32768), 0 }, // 255, 1
575 { AOM_ICDF(32640), AOM_ICDF(32641), AOM_ICDF(32768), 0 },
576 { AOM_ICDF(32640), AOM_ICDF(32641), AOM_ICDF(32768), 0 },
577#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100578 { 16384, 8192, 0, 0 },
579 { 16384, 8192, 0, 0 },
580 { 16384, 8192, 0, 0 },
581 { 16384, 8192, 0, 0 },
Thomas Daviesd8dac222017-06-27 11:23:15 +0100582 };
583#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
584static const aom_cdf_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100585 default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
Thomas Daviesd8dac222017-06-27 11:23:15 +0100586#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
587 { AOM_ICDF(32640), AOM_ICDF(32768), 0 }, // 255
588 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
589 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
590#endif
591 { AOM_ICDF(26624), AOM_ICDF(32768), 0 }, // 208
592 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
593 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
594 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
595 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
596 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
597 { AOM_ICDF(27648), AOM_ICDF(32768), 0 }, // 216
598 { AOM_ICDF(27648), AOM_ICDF(32768), 0 },
599 { AOM_ICDF(27648), AOM_ICDF(32768), 0 },
600 { AOM_ICDF(28672), AOM_ICDF(32768), 0 }, // 224
601 { AOM_ICDF(28672), AOM_ICDF(32768), 0 },
602 { AOM_ICDF(30720), AOM_ICDF(32768), 0 }, // 240
603 { AOM_ICDF(30720), AOM_ICDF(32768), 0 },
604#if CONFIG_EXT_PARTITION
605 { AOM_ICDF(32640), AOM_ICDF(32768), 0 }, // 255
606 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
607 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
608#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100609 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
610 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
611 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
612 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
Thomas Daviesd8dac222017-06-27 11:23:15 +0100613 };
614#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
615static const aom_cdf_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100616 default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
Thomas Daviesd8dac222017-06-27 11:23:15 +0100617#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
618 { AOM_ICDF(32640), AOM_ICDF(32768), 0 }, // 255
619 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
620 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
621#endif
622 { AOM_ICDF(26624), AOM_ICDF(32768), 0 }, // 208
623 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
624 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
625 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
626 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
627 { AOM_ICDF(26624), AOM_ICDF(32768), 0 },
628 { AOM_ICDF(27648), AOM_ICDF(32768), 0 }, // 216
629 { AOM_ICDF(27648), AOM_ICDF(32768), 0 },
630 { AOM_ICDF(27648), AOM_ICDF(32768), 0 },
631 { AOM_ICDF(28672), AOM_ICDF(32768), 0 }, // 224
632 { AOM_ICDF(28672), AOM_ICDF(32768), 0 },
633 { AOM_ICDF(30720), AOM_ICDF(32768), 0 }, // 240
634 { AOM_ICDF(30720), AOM_ICDF(32768), 0 },
635#if CONFIG_EXT_PARTITION
636 { AOM_ICDF(32640), AOM_ICDF(32768), 0 }, // 255
637 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
638 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
639#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100640 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
641 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
642 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
643 { AOM_ICDF(32640), AOM_ICDF(32768), 0 },
Thomas Daviesd8dac222017-06-27 11:23:15 +0100644 };
645#else
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100646static const aom_cdf_prob default_compound_type_cdf[BLOCK_SIZES_ALL]
Thomas Daviesd8dac222017-06-27 11:23:15 +0100647 [CDF_SIZE(COMPOUND_TYPES)];
648#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Thomas Daviesd8dac222017-06-27 11:23:15 +0100649
Yue Chen4d26acb2017-05-01 12:28:34 -0700650#if CONFIG_INTERINTRA
Yaowu Xuf883b422016-08-30 14:01:10 -0700651static const aom_prob default_interintra_prob[BLOCK_SIZE_GROUPS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700652 128, 226, 244, 254,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700653};
Thomas Daviescff91712017-07-07 11:49:55 +0100654#if CONFIG_NEW_MULTISYMBOL
655static const aom_cdf_prob default_interintra_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(
Yue Chend1b8c2a2017-07-05 14:28:20 -0700656 2)] = { { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
657 { AOM_ICDF(226 * 128), AOM_ICDF(32768), 0 },
658 { AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
659 { AOM_ICDF(254 * 128), AOM_ICDF(32768), 0 } };
Thomas Daviescff91712017-07-07 11:49:55 +0100660#endif
661
Yue Chen4d26acb2017-05-01 12:28:34 -0700662static const aom_prob
663 default_interintra_mode_prob[BLOCK_SIZE_GROUPS][INTERINTRA_MODES - 1] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -0700664 { 128, 128, 128 }, // block_size < 8x8
665 { 24, 34, 119 }, // block_size < 16x16
666 { 38, 33, 95 }, // block_size < 32x32
667 { 51, 21, 110 }, // block_size >= 32x32
Yue Chen4d26acb2017-05-01 12:28:34 -0700668 };
Thomas Davies299ff042017-06-27 13:41:59 +0100669static const aom_cdf_prob
Yue Chend9de81e2017-07-10 16:58:13 -0700670 default_interintra_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(
671 INTERINTRA_MODES)] = {
672 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768), 0 },
673 { AOM_ICDF(3072), AOM_ICDF(7016), AOM_ICDF(18987), AOM_ICDF(32768), 0 },
674 { AOM_ICDF(4864), AOM_ICDF(8461), AOM_ICDF(17481), AOM_ICDF(32768), 0 },
675 { AOM_ICDF(6528), AOM_ICDF(8681), AOM_ICDF(19031), AOM_ICDF(32768), 0 }
676 };
Yaowu Xuc27fc142016-08-22 16:08:15 -0700677
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100678static const aom_prob default_wedge_interintra_prob[BLOCK_SIZES_ALL] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700679#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -0700680 128, 128, 128,
Jingning Han61418bb2017-01-23 17:12:48 -0800681#endif
Yue Chend1b8c2a2017-07-05 14:28:20 -0700682 128, 128, 128, 194, 213, 217, 222, 224, 226, 220, 128, 128, 128,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700683#if CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100684 208, 208, 208,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700685#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100686 208, 208, 208, 208,
Yaowu Xuc27fc142016-08-22 16:08:15 -0700687};
Thomas Davies299ff042017-06-27 13:41:59 +0100688
Thomas Daviescff91712017-07-07 11:49:55 +0100689#if CONFIG_NEW_MULTISYMBOL
690static const aom_cdf_prob
Thomas Davies8e6267f2017-07-13 17:09:52 +0100691 default_wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
Thomas Daviescff91712017-07-07 11:49:55 +0100692#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -0700693 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
694 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
695 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
Thomas Daviescff91712017-07-07 11:49:55 +0100696#endif
Yue Chend1b8c2a2017-07-05 14:28:20 -0700697 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
698 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
699 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
700 { AOM_ICDF(194 * 128), AOM_ICDF(32768), 0 },
701 { AOM_ICDF(213 * 128), AOM_ICDF(32768), 0 },
702 { AOM_ICDF(217 * 128), AOM_ICDF(32768), 0 },
703 { AOM_ICDF(222 * 128), AOM_ICDF(32768), 0 },
Thomas Daviescff91712017-07-07 11:49:55 +0100704 { AOM_ICDF(224 * 128), AOM_ICDF(32768), 0 },
Yue Chend1b8c2a2017-07-05 14:28:20 -0700705 { AOM_ICDF(226 * 128), AOM_ICDF(32768), 0 },
706 { AOM_ICDF(220 * 128), AOM_ICDF(32768), 0 },
707 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
708 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
709 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
Thomas Daviescff91712017-07-07 11:49:55 +0100710#if CONFIG_EXT_PARTITION
711 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
712 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
713 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
714#endif // CONFIG_EXT_PARTITION
Thomas Davies8e6267f2017-07-13 17:09:52 +0100715 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
716 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
717 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
718 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
Thomas Daviescff91712017-07-07 11:49:55 +0100719 };
720#endif // CONFIG_NEW_MULTISYMBOL
721
Yue Chen4d26acb2017-05-01 12:28:34 -0700722#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -0700723#endif // CONFIG_EXT_INTER
724
Wei-Ting Lin85a8f702017-06-22 13:55:15 -0700725#if CONFIG_NCOBMC_ADAPT_WEIGHT
726const aom_tree_index av1_ncobmc_mode_tree[TREE_SIZE(MAX_NCOBMC_MODES)] = {
727 -NO_OVERLAP, 2, -NCOBMC_MODE_1, 4,
728 -NCOBMC_MODE_2, 6, -NCOBMC_MODE_3, 8,
729 -NCOBMC_MODE_4, 10, -NCOBMC_MODE_5, 12,
730 -NCOBMC_MODE_6, 14, -NCOBMC_MODE_7, -NCOBMC_MODE_8
731};
732
733// TODO(weitinglin): find default prob
734static const aom_prob
735 default_ncobmc_mode_prob[ADAPT_OVERLAP_BLOCKS][MAX_NCOBMC_MODES - 1] = {
736 { 23, 37, 37, 38, 65, 71, 81, 86 }, // 8x8
737 { 28, 32, 37, 43, 51, 64, 85, 128 }, // 16X16 equal prob
738 { 86, 22, 32, 25, 10, 40, 97, 65 }, // 32X32
739 { 28, 32, 37, 43, 51, 64, 85, 128 } // 64X64 equal prob
740 };
Wei-Ting Linca710d62017-07-13 11:41:02 -0700741static const aom_cdf_prob
742 default_ncobmc_mode_cdf[ADAPT_OVERLAP_BLOCKS][CDF_SIZE(MAX_NCOBMC_MODES)] =
743 { { AOM_ICDF(127), AOM_ICDF(4207), AOM_ICDF(8287), AOM_ICDF(12367),
744 AOM_ICDF(16447), AOM_ICDF(20527), AOM_ICDF(24607), AOM_ICDF(28687),
745 AOM_ICDF(32768), 0 },
746 { AOM_ICDF(127), AOM_ICDF(4207), AOM_ICDF(8287), AOM_ICDF(12367),
747 AOM_ICDF(16447), AOM_ICDF(20527), AOM_ICDF(24607), AOM_ICDF(28687),
748 AOM_ICDF(32768), 0 },
749 { AOM_ICDF(127), AOM_ICDF(4207), AOM_ICDF(8287), AOM_ICDF(12367),
750 AOM_ICDF(16447), AOM_ICDF(20527), AOM_ICDF(24607), AOM_ICDF(28687),
751 AOM_ICDF(32768), 0 },
752 { AOM_ICDF(127), AOM_ICDF(4207), AOM_ICDF(8287), AOM_ICDF(12367),
753 AOM_ICDF(16447), AOM_ICDF(20527), AOM_ICDF(24607), AOM_ICDF(28687),
754 AOM_ICDF(32768), 0 } };
755#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
Wei-Ting Lin85a8f702017-06-22 13:55:15 -0700756
Wei-Ting Lin85268302017-06-28 14:08:29 -0700757// Change this section appropriately once warped motion is supported
758#if CONFIG_MOTION_VAR && !CONFIG_WARPED_MOTION
759#if !CONFIG_NCOBMC_ADAPT_WEIGHT
760const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
761 -SIMPLE_TRANSLATION, -OBMC_CAUSAL
762};
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100763
Wei-Ting Lin8e43f212017-07-13 15:25:17 -0700764static const aom_prob
765 default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
Wei-Ting Lin85268302017-06-28 14:08:29 -0700766#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
767 { 255 }, { 255 }, { 255 },
768#endif
769 { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
770 { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
771#if CONFIG_EXT_PARTITION
772 { 252 }, { 252 }, { 252 },
773#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100774 { 208 }, { 208 }, { 208 }, { 208 },
Wei-Ting Lin85268302017-06-28 14:08:29 -0700775 };
Wei-Ting Lin9bcff192017-07-12 10:31:53 -0700776
Thomas Davies04e5aa72017-06-28 14:36:39 +0100777static const aom_cdf_prob
Wei-Ting Lin8e43f212017-07-13 15:25:17 -0700778 default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
Thomas Davies04e5aa72017-06-28 14:36:39 +0100779#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
780 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
781 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
782 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
783#endif
784 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
785 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
786 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
787 { AOM_ICDF(151 * 128), AOM_ICDF(32768), 0 },
788 { AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
789 { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
790 { AOM_ICDF(178 * 128), AOM_ICDF(32768), 0 },
791 { AOM_ICDF(165 * 128), AOM_ICDF(32768), 0 },
792 { AOM_ICDF(160 * 128), AOM_ICDF(32768), 0 },
793 { AOM_ICDF(207 * 128), AOM_ICDF(32768), 0 },
794 { AOM_ICDF(195 * 128), AOM_ICDF(32768), 0 },
795 { AOM_ICDF(168 * 128), AOM_ICDF(32768), 0 },
796 { AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
797#if CONFIG_EXT_PARTITION
798 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
799 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
800 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
801#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100802 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
803 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
804 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
805 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100806 };
Wei-Ting Lin85268302017-06-28 14:08:29 -0700807
Wei-Ting Lin9bcff192017-07-12 10:31:53 -0700808#else
809// TODO(weitinglin): The default probability is copied from warped motion right
810// now as a place holder. It needs to be fined tuned after
811// NCOBMC_ADAPT_WEIGHT is actually implemented. Also needs to
812// change this section appropriately once warped motion is
813// supported.
814const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
815 -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -NCOBMC_ADAPT_WEIGHT,
816};
Wei-Ting Lin8e43f212017-07-13 15:25:17 -0700817static const aom_prob
818 default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
Wei-Ting Lin9bcff192017-07-12 10:31:53 -0700819#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
820 { 255, 200 }, { 255, 200 }, { 255, 200 },
821#endif
822 { 255, 200 }, { 255, 200 }, { 255, 200 }, { 151, 200 }, { 153, 200 },
823 { 144, 200 }, { 178, 200 }, { 165, 200 }, { 160, 200 }, { 207, 200 },
824 { 195, 200 }, { 168, 200 }, { 244, 200 },
825#if CONFIG_EXT_PARTITION
826 { 252, 200 }, { 252, 200 }, { 252, 200 },
827#endif // CONFIG_EXT_PARTITION
Wei-Ting Lin8e43f212017-07-13 15:25:17 -0700828 { 255, 200 }, { 255, 200 }, { 255, 200 }, { 255, 200 },
Wei-Ting Lin9bcff192017-07-12 10:31:53 -0700829 };
830static const aom_cdf_prob
Wei-Ting Lin8e43f212017-07-13 15:25:17 -0700831 default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
Wei-Ting Lin9bcff192017-07-12 10:31:53 -0700832#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
833 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
834 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
835 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
836#endif
837 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
838 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
839 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
840 { AOM_ICDF(7936), AOM_ICDF(19091), AOM_ICDF(32768), 0 },
841 { AOM_ICDF(4991), AOM_ICDF(19205), AOM_ICDF(32768), 0 },
842 { AOM_ICDF(4992), AOM_ICDF(19314), AOM_ICDF(32768), 0 },
843 { AOM_ICDF(15104), AOM_ICDF(21590), AOM_ICDF(32768), 0 },
844 { AOM_ICDF(9855), AOM_ICDF(21043), AOM_ICDF(32768), 0 },
845 { AOM_ICDF(12800), AOM_ICDF(22238), AOM_ICDF(32768), 0 },
846 { AOM_ICDF(24320), AOM_ICDF(26498), AOM_ICDF(32768), 0 },
847 { AOM_ICDF(26496), AOM_ICDF(28995), AOM_ICDF(32768), 0 },
848 { AOM_ICDF(25216), AOM_ICDF(28166), AOM_ICDF(32768), 0 },
849 { AOM_ICDF(30592), AOM_ICDF(31238), AOM_ICDF(32768), 0 },
850#if CONFIG_EXT_PARTITION
851 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
852 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
853 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
854#endif
Wei-Ting Lin8e43f212017-07-13 15:25:17 -0700855 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
856 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
857 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
858 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
Wei-Ting Lin9bcff192017-07-12 10:31:53 -0700859 };
860#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
861
Yue Chencb60b182016-10-13 15:18:22 -0700862#elif !CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -0700863
Yue Chencb60b182016-10-13 15:18:22 -0700864const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -0700865 -SIMPLE_TRANSLATION, -WARPED_CAUSAL
866};
Yue Chen69f18e12016-09-08 14:48:15 -0700867
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100868static const aom_prob
869 default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700870#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
clang-format55ce9e02017-02-15 22:27:12 -0800871 { 255 }, { 255 }, { 255 },
Jingning Han71bf3ee2017-01-18 17:23:27 -0800872#endif
clang-format55ce9e02017-02-15 22:27:12 -0800873 { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
874 { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
Yaowu Xuc27fc142016-08-22 16:08:15 -0700875#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -0800876 { 252 }, { 252 }, { 252 },
Yaowu Xuc27fc142016-08-22 16:08:15 -0700877#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100878 { 208 }, { 208 }, { 208 }, { 208 },
clang-format55ce9e02017-02-15 22:27:12 -0800879 };
Yaowu Xuc27fc142016-08-22 16:08:15 -0700880
Thomas Davies04e5aa72017-06-28 14:36:39 +0100881static const aom_cdf_prob
Wei-Ting Lin8e43f212017-07-13 15:25:17 -0700882 default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
Thomas Davies04e5aa72017-06-28 14:36:39 +0100883#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
884 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
885 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
886 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
887#endif
888 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
889 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
890 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
891 { AOM_ICDF(151 * 128), AOM_ICDF(32768), 0 },
892 { AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
893 { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
894 { AOM_ICDF(178 * 128), AOM_ICDF(32768), 0 },
895 { AOM_ICDF(165 * 128), AOM_ICDF(32768), 0 },
896 { AOM_ICDF(160 * 128), AOM_ICDF(32768), 0 },
897 { AOM_ICDF(207 * 128), AOM_ICDF(32768), 0 },
898 { AOM_ICDF(195 * 128), AOM_ICDF(32768), 0 },
899 { AOM_ICDF(168 * 128), AOM_ICDF(32768), 0 },
900 { AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
901#if CONFIG_EXT_PARTITION
902 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
903 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
904 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
905#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100906 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
907 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
908 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
909 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100910 };
Thomas Davies04e5aa72017-06-28 14:36:39 +0100911
Yue Chencb60b182016-10-13 15:18:22 -0700912#elif CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -0700913
Yue Chencb60b182016-10-13 15:18:22 -0700914const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -0700915 -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -WARPED_CAUSAL,
916};
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100917
918static const aom_prob
919 default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700920#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -0700921 { 128, 128 }, { 128, 128 }, { 128, 128 },
Jingning Han71bf3ee2017-01-18 17:23:27 -0800922#endif
Yue Chend1b8c2a2017-07-05 14:28:20 -0700923 { 128, 128 }, { 128, 128 }, { 128, 128 }, { 62, 115 }, { 39, 131 },
924 { 39, 132 }, { 118, 94 }, { 77, 125 }, { 100, 121 }, { 190, 66 },
925 { 207, 102 }, { 197, 100 }, { 239, 76 },
Yaowu Xuc27fc142016-08-22 16:08:15 -0700926#if CONFIG_EXT_PARTITION
927 { 252, 200 }, { 252, 200 }, { 252, 200 },
928#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100929 { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 },
Yaowu Xuc27fc142016-08-22 16:08:15 -0700930 };
Thomas Davies04e5aa72017-06-28 14:36:39 +0100931static const aom_cdf_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100932 default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
Thomas Davies04e5aa72017-06-28 14:36:39 +0100933#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Thomas Davies78653492017-07-11 12:04:41 +0100934 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
935 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
936 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100937#endif
Thomas Davies78653492017-07-11 12:04:41 +0100938 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
939 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
940 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
941 { AOM_ICDF(7936), AOM_ICDF(19091), AOM_ICDF(32768), 0 },
942 { AOM_ICDF(4991), AOM_ICDF(19205), AOM_ICDF(32768), 0 },
943 { AOM_ICDF(4992), AOM_ICDF(19314), AOM_ICDF(32768), 0 },
944 { AOM_ICDF(15104), AOM_ICDF(21590), AOM_ICDF(32768), 0 },
945 { AOM_ICDF(9855), AOM_ICDF(21043), AOM_ICDF(32768), 0 },
946 { AOM_ICDF(12800), AOM_ICDF(22238), AOM_ICDF(32768), 0 },
947 { AOM_ICDF(24320), AOM_ICDF(26498), AOM_ICDF(32768), 0 },
948 { AOM_ICDF(26496), AOM_ICDF(28995), AOM_ICDF(32768), 0 },
949 { AOM_ICDF(25216), AOM_ICDF(28166), AOM_ICDF(32768), 0 },
950 { AOM_ICDF(30592), AOM_ICDF(31238), AOM_ICDF(32768), 0 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100951#if CONFIG_EXT_PARTITION
952 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
953 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
954 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
955#endif
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100956 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
957 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
958 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
959 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100960 };
Thomas Davies04e5aa72017-06-28 14:36:39 +0100961
Yue Chen69f18e12016-09-08 14:48:15 -0700962// Probability for the case that only 1 additional motion mode is allowed
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100963static const aom_prob default_obmc_prob[BLOCK_SIZES_ALL] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700964#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -0700965 128, 128, 128,
Jingning Han71bf3ee2017-01-18 17:23:27 -0800966#endif
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100967 128, 128, 128, 45, 79, 75, 130, 141, 144, 208, 201, 186, 231,
Yue Chen69f18e12016-09-08 14:48:15 -0700968#if CONFIG_EXT_PARTITION
969 252, 252, 252,
970#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100971 208, 208, 208, 208,
Yue Chen69f18e12016-09-08 14:48:15 -0700972};
Thomas Daviesd9b57262017-06-27 17:43:25 +0100973
974#if CONFIG_NEW_MULTISYMBOL
Thomas Davies8e6267f2017-07-13 17:09:52 +0100975static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
Thomas Daviesd9b57262017-06-27 17:43:25 +0100976#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Thomas Davies78653492017-07-11 12:04:41 +0100977 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
978 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
979 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
Thomas Daviesd9b57262017-06-27 17:43:25 +0100980#endif
Thomas Davies78653492017-07-11 12:04:41 +0100981 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
982 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
983 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
984 { AOM_ICDF(45 * 128), AOM_ICDF(32768), 0 },
985 { AOM_ICDF(79 * 128), AOM_ICDF(32768), 0 },
986 { AOM_ICDF(75 * 128), AOM_ICDF(32768), 0 },
987 { AOM_ICDF(130 * 128), AOM_ICDF(32768), 0 },
988 { AOM_ICDF(141 * 128), AOM_ICDF(32768), 0 },
Thomas Daviesd9b57262017-06-27 17:43:25 +0100989 { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
Thomas Davies78653492017-07-11 12:04:41 +0100990 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
991 { AOM_ICDF(201 * 128), AOM_ICDF(32768), 0 },
992 { AOM_ICDF(186 * 128), AOM_ICDF(32768), 0 },
993 { AOM_ICDF(231 * 128), AOM_ICDF(32768), 0 },
Thomas Daviesd9b57262017-06-27 17:43:25 +0100994#if CONFIG_EXT_PARTITION
995 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
996 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
997 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
998#endif // CONFIG_EXT_PARTITION
Thomas Davies8e6267f2017-07-13 17:09:52 +0100999 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1000 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1001 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
1002 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
Thomas Daviesd9b57262017-06-27 17:43:25 +01001003};
1004#endif // CONFIG_NEW_MULTISYMBOL
Yue Chen69f18e12016-09-08 14:48:15 -07001005#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001006
Thomas Daviesf6936102016-09-05 16:51:31 +01001007#if CONFIG_DELTA_Q
Thomas Davies665cd702017-03-02 10:20:30 +00001008static const aom_prob default_delta_q_probs[DELTA_Q_PROBS] = { 220, 220, 220 };
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00001009static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07001010 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00001011};
Fangwen Fu231fe422017-04-24 17:52:29 -07001012#if CONFIG_EXT_DELTA_Q
1013static const aom_prob default_delta_lf_probs[DELTA_LF_PROBS] = { 220, 220,
1014 220 };
Fangwen Fu231fe422017-04-24 17:52:29 -07001015static const aom_cdf_prob default_delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)] = {
Timothy B. Terriberrye1804782017-05-05 14:38:57 -07001016 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Fangwen Fu231fe422017-04-24 17:52:29 -07001017};
1018#endif
1019#endif
Thomas Daviesb1bedf52017-03-17 14:03:28 +00001020#if CONFIG_EXT_TX
1021int av1_ext_tx_intra_ind[EXT_TX_SETS_INTRA][TX_TYPES];
1022int av1_ext_tx_intra_inv[EXT_TX_SETS_INTRA][TX_TYPES];
1023int av1_ext_tx_inter_ind[EXT_TX_SETS_INTER][TX_TYPES];
1024int av1_ext_tx_inter_inv[EXT_TX_SETS_INTER][TX_TYPES];
1025#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01001026
Nathan E. Egge5694aa72017-06-30 12:47:43 -04001027#if CONFIG_ALT_INTRA
1028#if CONFIG_SMOOTH_HV
1029const int av1_intra_mode_ind[INTRA_MODES] = { 0, 2, 3, 6, 4, 5, 8,
1030 9, 7, 10, 11, 12, 1 };
1031const int av1_intra_mode_inv[INTRA_MODES] = { 0, 12, 1, 2, 4, 5, 3,
1032 8, 6, 7, 9, 10, 11 };
1033#else
1034const int av1_intra_mode_ind[INTRA_MODES] = {
1035 0, 2, 3, 6, 4, 5, 8, 9, 7, 10, 1
1036};
1037const int av1_intra_mode_inv[INTRA_MODES] = {
1038 0, 10, 1, 2, 4, 5, 3, 8, 6, 7, 9
1039};
1040#endif // CONFIG_SMOOTH_HV
1041#else
1042const int av1_intra_mode_ind[INTRA_MODES] = { 0, 2, 3, 6, 4, 5, 8, 9, 7, 1 };
Rupert Swarbrick9803b942017-07-12 14:01:28 +01001043const int av1_intra_mode_inv[INTRA_MODES] = { 0, 9, 1, 2, 4, 5, 3, 8, 6, 7 };
Nathan E. Egge5694aa72017-06-30 12:47:43 -04001044#endif // CONFIG_ALT_INTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001045
Yaowu Xuc27fc142016-08-22 16:08:15 -07001046#if CONFIG_EXT_INTER
1047/* clang-format off */
Yue Chen4d26acb2017-05-01 12:28:34 -07001048#if CONFIG_INTERINTRA
Yue Chen4d26acb2017-05-01 12:28:34 -07001049const aom_tree_index av1_interintra_mode_tree[TREE_SIZE(INTERINTRA_MODES)] = {
1050 -II_DC_PRED, 2, /* 0 = II_DC_NODE */
1051#if CONFIG_ALT_INTRA
1052 -II_SMOOTH_PRED, 4, /* 1 = II_SMOOTH_PRED */
1053#else
1054 -II_TM_PRED, 4, /* 1 = II_TM_NODE */
1055#endif
1056 -II_V_PRED, -II_H_PRED /* 2 = II_V_NODE */
1057};
Yue Chen4d26acb2017-05-01 12:28:34 -07001058#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001059
Yaowu Xuf883b422016-08-30 14:01:10 -07001060const aom_tree_index av1_inter_compound_mode_tree
Yaowu Xuc27fc142016-08-22 16:08:15 -07001061 [TREE_SIZE(INTER_COMPOUND_MODES)] = {
1062 -INTER_COMPOUND_OFFSET(ZERO_ZEROMV), 2,
1063 -INTER_COMPOUND_OFFSET(NEAREST_NEARESTMV), 4,
1064 6, -INTER_COMPOUND_OFFSET(NEW_NEWMV),
Debargha Mukherjeebb6e1342017-04-17 16:05:04 -07001065 -INTER_COMPOUND_OFFSET(NEAR_NEARMV), 8,
1066 10, 12,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001067 -INTER_COMPOUND_OFFSET(NEAREST_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARESTMV),
1068 -INTER_COMPOUND_OFFSET(NEAR_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARMV)
1069};
Sarah Parker6fddd182016-11-10 20:57:20 -08001070
Zoe Liu239f06b2017-04-20 13:10:55 -07001071#if CONFIG_COMPOUND_SINGLEREF
Zoe Liu85b66462017-04-20 14:28:19 -07001072// TODO(zoeliu): To redesign the tree structure once the number of mode changes.
1073/*
Zoe Liu239f06b2017-04-20 13:10:55 -07001074const aom_tree_index av1_inter_singleref_comp_mode_tree
1075 [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
1076 -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
1077 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
1078 6, -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV),
1079 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEWMV),
1080 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV)
Zoe Liu85b66462017-04-20 14:28:19 -07001081};*/
1082
1083const aom_tree_index av1_inter_singleref_comp_mode_tree
1084 [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
1085 -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
1086 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
1087 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV),
1088 -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV)
Zoe Liu239f06b2017-04-20 13:10:55 -07001089};
1090#endif // CONFIG_COMPOUND_SINGLEREF
1091
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001092#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker2f6ce752016-12-08 15:26:46 -08001093const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1094 -COMPOUND_AVERAGE, 2, -COMPOUND_WEDGE, -COMPOUND_SEG
1095};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001096#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker6fddd182016-11-10 20:57:20 -08001097const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1098 -COMPOUND_AVERAGE, -COMPOUND_WEDGE
1099};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001100#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
1101const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1102 -COMPOUND_AVERAGE, -COMPOUND_SEG
1103};
1104#else
1105const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {};
1106#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001107/* clang-format on */
1108#endif // CONFIG_EXT_INTER
1109
Yaowu Xuf883b422016-08-30 14:01:10 -07001110const aom_tree_index av1_partition_tree[TREE_SIZE(PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001111 -PARTITION_NONE, 2, -PARTITION_HORZ, 4, -PARTITION_VERT, -PARTITION_SPLIT
1112};
1113
1114#if CONFIG_EXT_PARTITION_TYPES
1115/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07001116const aom_tree_index av1_ext_partition_tree[TREE_SIZE(EXT_PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001117 -PARTITION_NONE, 2,
1118 6, 4,
1119 8, -PARTITION_SPLIT,
1120 -PARTITION_HORZ, 10,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001121 -PARTITION_VERT, 14,
1122
1123 -PARTITION_HORZ_A, 12,
1124 -PARTITION_HORZ_B, -PARTITION_HORZ_4,
1125
1126 -PARTITION_VERT_A, 16,
1127 -PARTITION_VERT_B, -PARTITION_VERT_4
Yaowu Xuc27fc142016-08-22 16:08:15 -07001128};
1129/* clang-format on */
1130#endif // CONFIG_EXT_PARTITION_TYPES
1131
Yaowu Xuf883b422016-08-30 14:01:10 -07001132static const aom_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001133 6, 97, 151, 205,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001134};
1135
Thomas Daviesf6ad9352017-04-19 11:38:06 +01001136#if CONFIG_NEW_MULTISYMBOL
1137static const aom_cdf_prob
1138 default_intra_inter_cdf[INTRA_INTER_CONTEXTS][CDF_SIZE(2)] = {
Yue Chen292c8e02017-07-21 12:20:01 -07001139 { AOM_ICDF(768), AOM_ICDF(32768), 0 },
1140 { AOM_ICDF(12416), AOM_ICDF(32768), 0 },
1141 { AOM_ICDF(19328), AOM_ICDF(32768), 0 },
1142 { AOM_ICDF(26240), AOM_ICDF(32768), 0 }
Thomas Daviesf6ad9352017-04-19 11:38:06 +01001143 };
1144#endif
1145
Yaowu Xuf883b422016-08-30 14:01:10 -07001146static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001147#if !CONFIG_EXT_COMP_REFS
1148 216, 170, 131, 92, 42
1149#else // CONFIG_EXT_COMP_REFS
1150 206, 182, 117, 104, 32
1151#endif // !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001152};
Zoe Liufcf5fa22017-06-26 16:00:38 -07001153
Thomas Davies860def62017-06-14 10:00:03 +01001154#if CONFIG_NEW_MULTISYMBOL
Zoe Liufcf5fa22017-06-26 16:00:38 -07001155static const aom_cdf_prob
1156 default_comp_inter_cdf[COMP_INTER_CONTEXTS][CDF_SIZE(2)] = {
1157#if !CONFIG_EXT_COMP_REFS
1158 { AOM_ICDF(216 * 128), AOM_ICDF(32768), 0 },
1159 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1160 { AOM_ICDF(131 * 128), AOM_ICDF(32768), 0 },
1161 { AOM_ICDF(92 * 128), AOM_ICDF(32768), 0 },
1162 { AOM_ICDF(42 * 128), AOM_ICDF(32768), 0 }
1163#else // CONFIG_EXT_COMP_REFS
1164 { AOM_ICDF(206 * 128), AOM_ICDF(32768), 0 },
1165 { AOM_ICDF(182 * 128), AOM_ICDF(32768), 0 },
1166 { AOM_ICDF(117 * 128), AOM_ICDF(32768), 0 },
1167 { AOM_ICDF(104 * 128), AOM_ICDF(32768), 0 },
1168 { AOM_ICDF(32 * 128), AOM_ICDF(32768), 0 }
1169#endif // !CONFIG_EXT_COMP_REFS
1170 };
1171#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001172
Zoe Liuc082bbc2017-05-17 13:31:37 -07001173#if CONFIG_EXT_COMP_REFS
1174static const aom_prob default_comp_ref_type_p[COMP_REF_TYPE_CONTEXTS] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001175 8, 20, 78, 91, 194
Zoe Liuc082bbc2017-05-17 13:31:37 -07001176};
Zoe Liuc082bbc2017-05-17 13:31:37 -07001177static const aom_prob
1178 default_uni_comp_ref_p[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001179 { 88, 30, 28 }, { 218, 97, 105 }, { 254, 180, 196 }
Zoe Liuc082bbc2017-05-17 13:31:37 -07001180 };
Zoe Liufcf5fa22017-06-26 16:00:38 -07001181
1182#if CONFIG_NEW_MULTISYMBOL
1183static const aom_cdf_prob
1184 default_comp_ref_type_cdf[COMP_REF_TYPE_CONTEXTS][CDF_SIZE(2)] = {
1185 { AOM_ICDF(8 * 128), AOM_ICDF(32768), 0 },
1186 { AOM_ICDF(20 * 128), AOM_ICDF(32768), 0 },
1187 { AOM_ICDF(78 * 128), AOM_ICDF(32768), 0 },
1188 { AOM_ICDF(91 * 128), AOM_ICDF(32768), 0 },
1189 { AOM_ICDF(194 * 128), AOM_ICDF(32768), 0 }
1190 };
1191static const aom_cdf_prob
1192 default_uni_comp_ref_cdf[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1]
1193 [CDF_SIZE(2)] = {
1194 { { AOM_ICDF(88 * 128), AOM_ICDF(32768), 0 },
1195 { AOM_ICDF(30 * 128), AOM_ICDF(32768), 0 },
1196 { AOM_ICDF(28 * 128), AOM_ICDF(32768), 0 } },
1197 { { AOM_ICDF(218 * 128), AOM_ICDF(32768), 0 },
1198 { AOM_ICDF(97 * 128), AOM_ICDF(32768), 0 },
1199 { AOM_ICDF(105 * 128), AOM_ICDF(32768), 0 } },
1200 { { AOM_ICDF(254 * 128), AOM_ICDF(32768), 0 },
1201 { AOM_ICDF(180 * 128), AOM_ICDF(32768), 0 },
1202 { AOM_ICDF(196 * 128), AOM_ICDF(32768), 0 } }
1203 };
1204#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liuc082bbc2017-05-17 13:31:37 -07001205#endif // CONFIG_EXT_COMP_REFS
1206
Yaowu Xuc27fc142016-08-22 16:08:15 -07001207#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07001208static const aom_prob default_comp_ref_p[REF_CONTEXTS][FWD_REFS - 1] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001209#if !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001210 { 33, 16, 16 },
1211 { 77, 74, 74 },
1212 { 142, 142, 142 },
1213 { 172, 170, 170 },
1214 { 238, 247, 247 }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001215#else // CONFIG_EXT_COMP_REFS
1216 { 21, 7, 5 },
1217 { 68, 20, 16 },
1218 { 128, 56, 36 },
1219 { 197, 111, 139 },
1220 { 238, 131, 136 }
1221#endif // !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001222};
Zoe Liu97ad0582017-02-09 10:51:00 -08001223
Yaowu Xuf883b422016-08-30 14:01:10 -07001224static const aom_prob default_comp_bwdref_p[REF_CONTEXTS][BWD_REFS - 1] = {
Zoe Liu97ad0582017-02-09 10:51:00 -08001225#if CONFIG_ALTREF2
1226 // TODO(zoeliu): ALTREF2 to work with EXT_COMP_REFS and NEW_MULTISYMBOL.
1227 { 50, 50 },
1228 { 130, 130 },
1229 { 210, 210 },
1230 { 128, 128 },
1231 { 128, 128 }
1232#else // !CONFIG_ALTREF2
Zoe Liufcf5fa22017-06-26 16:00:38 -07001233#if !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001234 { 16 }, { 74 }, { 142 }, { 170 }, { 247 }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001235#else // CONFIG_EXT_COMP_REFS
1236 { 7 }, { 56 }, { 29 }, { 230 }, { 220 }
1237#endif // CONFIG_EXT_COMP_REFS
Zoe Liu97ad0582017-02-09 10:51:00 -08001238#endif // CONFIG_ALTREF2
Yaowu Xuc27fc142016-08-22 16:08:15 -07001239};
Zoe Liufcf5fa22017-06-26 16:00:38 -07001240
Thomas Davies894cc812017-06-22 17:51:33 +01001241#if CONFIG_NEW_MULTISYMBOL
1242static const aom_cdf_prob
1243 default_comp_ref_cdf[REF_CONTEXTS][FWD_REFS - 1][CDF_SIZE(2)] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001244#if !CONFIG_EXT_COMP_REFS
Thomas Davies894cc812017-06-22 17:51:33 +01001245 { { AOM_ICDF(33 * 128), AOM_ICDF(32768), 0 },
1246 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 },
1247 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 } },
1248 { { AOM_ICDF(77 * 128), AOM_ICDF(32768), 0 },
1249 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 },
1250 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 } },
1251 { { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1252 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1253 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 } },
1254 { { AOM_ICDF(172 * 128), AOM_ICDF(32768), 0 },
1255 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1256 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 } },
1257 { { AOM_ICDF(238 * 128), AOM_ICDF(32768), 0 },
1258 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 },
1259 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001260#else // CONFIG_EXT_COMP_REFS
1261 { { AOM_ICDF(21 * 128), AOM_ICDF(32768), 0 },
1262 { AOM_ICDF(7 * 128), AOM_ICDF(32768), 0 },
1263 { AOM_ICDF(5 * 128), AOM_ICDF(32768), 0 } },
1264 { { AOM_ICDF(68 * 128), AOM_ICDF(32768), 0 },
1265 { AOM_ICDF(20 * 128), AOM_ICDF(32768), 0 },
1266 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 } },
1267 { { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1268 { AOM_ICDF(56 * 128), AOM_ICDF(32768), 0 },
1269 { AOM_ICDF(36 * 128), AOM_ICDF(32768), 0 } },
1270 { { AOM_ICDF(197 * 128), AOM_ICDF(32768), 0 },
1271 { AOM_ICDF(111 * 128), AOM_ICDF(32768), 0 },
1272 { AOM_ICDF(139 * 128), AOM_ICDF(32768), 0 } },
1273 { { AOM_ICDF(238 * 128), AOM_ICDF(32768), 0 },
1274 { AOM_ICDF(131 * 128), AOM_ICDF(32768), 0 },
1275 { AOM_ICDF(136 * 128), AOM_ICDF(32768), 0 } }
1276#endif // !CONFIG_EXT_COMP_REFS
Thomas Davies894cc812017-06-22 17:51:33 +01001277 };
Zoe Liu97ad0582017-02-09 10:51:00 -08001278
Thomas Davies894cc812017-06-22 17:51:33 +01001279static const aom_cdf_prob
1280 default_comp_bwdref_cdf[REF_CONTEXTS][BWD_REFS - 1][CDF_SIZE(2)] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001281#if !CONFIG_EXT_COMP_REFS
Thomas Davies894cc812017-06-22 17:51:33 +01001282 { { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 } },
1283 { { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 } },
1284 { { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 } },
1285 { { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 } },
1286 { { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001287#else // CONFIG_EXT_COMP_REFS
1288 { { AOM_ICDF(7 * 128), AOM_ICDF(32768), 0 } },
1289 { { AOM_ICDF(56 * 128), AOM_ICDF(32768), 0 } },
1290 { { AOM_ICDF(29 * 128), AOM_ICDF(32768), 0 } },
1291 { { AOM_ICDF(230 * 128), AOM_ICDF(32768), 0 } },
1292 { { AOM_ICDF(220 * 128), AOM_ICDF(32768), 0 } }
1293#endif // !CONFIG_EXT_COMP_REFS
Thomas Davies894cc812017-06-22 17:51:33 +01001294 };
1295#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liu97ad0582017-02-09 10:51:00 -08001296
1297#else // !CONFIG_EXT_REFS
1298
Yaowu Xuf883b422016-08-30 14:01:10 -07001299static const aom_prob default_comp_ref_p[REF_CONTEXTS][COMP_REFS - 1] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001300 { 43 }, { 100 }, { 137 }, { 212 }, { 229 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001301};
Thomas Davies894cc812017-06-22 17:51:33 +01001302#if CONFIG_NEW_MULTISYMBOL
1303static const aom_cdf_prob
1304 default_comp_ref_cdf[REF_CONTEXTS][COMP_REFS - 1][CDF_SIZE(2)] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001305 { { AOM_ICDF(43 * 128), AOM_ICDF(32768), 0 } },
1306 { { AOM_ICDF(100 * 128), AOM_ICDF(32768), 0 } },
1307 { { AOM_ICDF(137 * 128), AOM_ICDF(32768), 0 } },
1308 { { AOM_ICDF(212 * 128), AOM_ICDF(32768), 0 } },
1309 { { AOM_ICDF(229 * 128), AOM_ICDF(32768), 0 } }
Thomas Davies894cc812017-06-22 17:51:33 +01001310 };
1311#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001312#endif // CONFIG_EXT_REFS
1313
Yaowu Xuf883b422016-08-30 14:01:10 -07001314static const aom_prob default_single_ref_p[REF_CONTEXTS][SINGLE_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001315#if CONFIG_EXT_REFS
Zoe Liu97ad0582017-02-09 10:51:00 -08001316#if CONFIG_ALTREF2
1317 // TODO(zoeliu): ALTREF2 to work with EXT_COMP_REFS and NEW_MULTISYMBOL.
1318 { 33, 50, 16, 16, 16, 50 },
1319 { 77, 130, 74, 74, 74, 130 },
1320 { 142, 210, 142, 142, 142, 210 },
1321 { 172, 128, 170, 170, 170, 128 },
1322 { 238, 128, 247, 247, 247, 128 }
1323#else // !CONFIG_ALTREF2
Zoe Liufcf5fa22017-06-26 16:00:38 -07001324#if !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001325 { 33, 16, 16, 16, 16 },
1326 { 77, 74, 74, 74, 74 },
1327 { 142, 142, 142, 142, 142 },
1328 { 172, 170, 170, 170, 170 },
1329 { 238, 247, 247, 247, 247 }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001330#else // CONFIG_EXT_COMP_REFS
1331 { 36, 2, 28, 58, 9 },
1332 { 64, 22, 60, 122, 40 },
1333 { 153, 69, 126, 179, 71 },
1334 { 128, 174, 189, 216, 101 },
1335 { 233, 252, 228, 246, 200 }
1336#endif // !CONFIG_EXT_COMP_REFS
Zoe Liu97ad0582017-02-09 10:51:00 -08001337#endif // CONFIG_ALTREF2
Zoe Liufcf5fa22017-06-26 16:00:38 -07001338#else // !CONFIG_EXT_REFS
Yue Chend1b8c2a2017-07-05 14:28:20 -07001339 { 31, 25 }, { 72, 80 }, { 147, 148 }, { 197, 191 }, { 235, 247 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001340#endif // CONFIG_EXT_REFS
1341};
Zoe Liufcf5fa22017-06-26 16:00:38 -07001342
Thomas Davies315f5782017-06-14 15:14:55 +01001343#if CONFIG_NEW_MULTISYMBOL
1344static const aom_cdf_prob
1345 default_single_ref_cdf[REF_CONTEXTS][SINGLE_REFS - 1][CDF_SIZE(2)] = {
1346#if CONFIG_EXT_REFS
Zoe Liufcf5fa22017-06-26 16:00:38 -07001347#if !CONFIG_EXT_COMP_REFS
Thomas Davies315f5782017-06-14 15:14:55 +01001348 { { AOM_ICDF(33 * 128), AOM_ICDF(32768), 0 },
1349 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 },
1350 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 },
1351 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 },
1352 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 } },
1353 { { AOM_ICDF(77 * 128), AOM_ICDF(32768), 0 },
1354 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 },
1355 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 },
1356 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 },
1357 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 } },
1358 { { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1359 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1360 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1361 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1362 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 } },
1363 { { AOM_ICDF(172 * 128), AOM_ICDF(32768), 0 },
1364 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1365 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1366 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1367 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 } },
1368 { { AOM_ICDF(238 * 128), AOM_ICDF(32768), 0 },
1369 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 },
1370 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 },
1371 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 },
1372 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001373#else // CONFIG_EXT_COMP_REFS
1374 { { AOM_ICDF(36 * 128), AOM_ICDF(32768), 0 },
1375 { AOM_ICDF(2 * 128), AOM_ICDF(32768), 0 },
1376 { AOM_ICDF(28 * 128), AOM_ICDF(32768), 0 },
1377 { AOM_ICDF(58 * 128), AOM_ICDF(32768), 0 },
1378 { AOM_ICDF(9 * 128), AOM_ICDF(32768), 0 } },
1379 { { AOM_ICDF(64 * 128), AOM_ICDF(32768), 0 },
1380 { AOM_ICDF(22 * 128), AOM_ICDF(32768), 0 },
1381 { AOM_ICDF(60 * 128), AOM_ICDF(32768), 0 },
1382 { AOM_ICDF(122 * 128), AOM_ICDF(32768), 0 },
1383 { AOM_ICDF(40 * 128), AOM_ICDF(32768), 0 } },
1384 { { AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
1385 { AOM_ICDF(69 * 128), AOM_ICDF(32768), 0 },
1386 { AOM_ICDF(126 * 128), AOM_ICDF(32768), 0 },
1387 { AOM_ICDF(179 * 128), AOM_ICDF(32768), 0 },
1388 { AOM_ICDF(71 * 128), AOM_ICDF(32768), 0 } },
1389 { { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1390 { AOM_ICDF(174 * 128), AOM_ICDF(32768), 0 },
1391 { AOM_ICDF(189 * 128), AOM_ICDF(32768), 0 },
1392 { AOM_ICDF(216 * 128), AOM_ICDF(32768), 0 },
1393 { AOM_ICDF(101 * 128), AOM_ICDF(32768), 0 } },
1394 { { AOM_ICDF(233 * 128), AOM_ICDF(32768), 0 },
1395 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1396 { AOM_ICDF(228 * 128), AOM_ICDF(32768), 0 },
1397 { AOM_ICDF(246 * 128), AOM_ICDF(32768), 0 },
1398 { AOM_ICDF(200 * 128), AOM_ICDF(32768), 0 } }
1399#endif // !CONFIG_EXT_COMP_REFS
1400#else // CONFIG_EXT_REFS
Yue Chend1b8c2a2017-07-05 14:28:20 -07001401 { { AOM_ICDF(31 * 128), AOM_ICDF(32768), 0 },
1402 { AOM_ICDF(25 * 128), AOM_ICDF(32768), 0 } },
1403 { { AOM_ICDF(72 * 128), AOM_ICDF(32768), 0 },
1404 { AOM_ICDF(80 * 128), AOM_ICDF(32768), 0 } },
1405 { { AOM_ICDF(147 * 128), AOM_ICDF(32768), 0 },
1406 { AOM_ICDF(148 * 128), AOM_ICDF(32768), 0 } },
1407 { { AOM_ICDF(197 * 128), AOM_ICDF(32768), 0 },
1408 { AOM_ICDF(191 * 128), AOM_ICDF(32768), 0 } },
1409 { { AOM_ICDF(235 * 128), AOM_ICDF(32768), 0 },
Thomas Davies315f5782017-06-14 15:14:55 +01001410 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
1411#endif // CONFIG_EXT_REFS
1412 };
Zoe Liufcf5fa22017-06-26 16:00:38 -07001413#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001414
Zoe Liu239f06b2017-04-20 13:10:55 -07001415#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
1416// TODO(zoeliu): Default values to be further adjusted based on the collected
1417// stats.
1418static const aom_prob default_comp_inter_mode_p[COMP_INTER_MODE_CONTEXTS] = {
Zoe Liu85b66462017-04-20 14:28:19 -07001419 40, 110, 160, 220
Zoe Liu239f06b2017-04-20 13:10:55 -07001420};
1421#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
1422
Urvang Joshib100db72016-10-12 16:28:56 -07001423#if CONFIG_PALETTE
hui su466ae062017-07-25 16:55:51 -07001424// TODO(huisu): tune these cdfs
Thomas Daviesce7272d2017-07-04 16:11:08 +01001425const aom_cdf_prob
1426 default_palette_y_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(PALETTE_SIZES)] = {
1427 { AOM_ICDF(12288), AOM_ICDF(19408), AOM_ICDF(24627), AOM_ICDF(26662),
1428 AOM_ICDF(28499), AOM_ICDF(30667), AOM_ICDF(32768), 0 },
1429 { AOM_ICDF(2815), AOM_ICDF(4570), AOM_ICDF(9416), AOM_ICDF(10875),
1430 AOM_ICDF(13782), AOM_ICDF(19863), AOM_ICDF(32768), 0 },
1431 { AOM_ICDF(3839), AOM_ICDF(5986), AOM_ICDF(11949), AOM_ICDF(13413),
1432 AOM_ICDF(16286), AOM_ICDF(21823), AOM_ICDF(32768), 0 },
1433 { AOM_ICDF(12032), AOM_ICDF(14948), AOM_ICDF(22187), AOM_ICDF(23138),
1434 AOM_ICDF(24756), AOM_ICDF(27635), AOM_ICDF(32768), 0 },
1435 { AOM_ICDF(14847), AOM_ICDF(20167), AOM_ICDF(25433), AOM_ICDF(26751),
1436 AOM_ICDF(28278), AOM_ICDF(30119), AOM_ICDF(32768), 0 },
1437 { AOM_ICDF(14336), AOM_ICDF(20240), AOM_ICDF(24840), AOM_ICDF(26079),
1438 AOM_ICDF(27908), AOM_ICDF(30034), AOM_ICDF(32768), 0 },
1439 { AOM_ICDF(18816), AOM_ICDF(25574), AOM_ICDF(29030), AOM_ICDF(29877),
1440 AOM_ICDF(30656), AOM_ICDF(31506), AOM_ICDF(32768), 0 },
1441 { AOM_ICDF(23039), AOM_ICDF(27333), AOM_ICDF(30220), AOM_ICDF(30708),
1442 AOM_ICDF(31070), AOM_ICDF(31826), AOM_ICDF(32768), 0 },
1443 { AOM_ICDF(13696), AOM_ICDF(18911), AOM_ICDF(23620), AOM_ICDF(25371),
1444 AOM_ICDF(29821), AOM_ICDF(31617), AOM_ICDF(32768), 0 },
1445 { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
1446 AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
1447#if CONFIG_EXT_PARTITION
1448 { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
1449 AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
1450 { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
1451 AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
1452 { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
1453 AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
1454#endif
1455 };
Thomas Daviesce7272d2017-07-04 16:11:08 +01001456
Thomas Daviesce7272d2017-07-04 16:11:08 +01001457const aom_cdf_prob default_palette_uv_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(
1458 PALETTE_SIZES)] = {
1459 { AOM_ICDF(20480), AOM_ICDF(29888), AOM_ICDF(32453), AOM_ICDF(32715),
1460 AOM_ICDF(32751), AOM_ICDF(32766), AOM_ICDF(32768), 0 },
1461 { AOM_ICDF(11135), AOM_ICDF(23641), AOM_ICDF(31056), AOM_ICDF(31998),
1462 AOM_ICDF(32496), AOM_ICDF(32668), AOM_ICDF(32768), 0 },
1463 { AOM_ICDF(9216), AOM_ICDF(23108), AOM_ICDF(30806), AOM_ICDF(31871),
1464 AOM_ICDF(32414), AOM_ICDF(32637), AOM_ICDF(32768), 0 },
1465 { AOM_ICDF(9984), AOM_ICDF(21999), AOM_ICDF(29192), AOM_ICDF(30645),
1466 AOM_ICDF(31640), AOM_ICDF(32402), AOM_ICDF(32768), 0 },
1467 { AOM_ICDF(7552), AOM_ICDF(16614), AOM_ICDF(24880), AOM_ICDF(27283),
1468 AOM_ICDF(29254), AOM_ICDF(31203), AOM_ICDF(32768), 0 },
1469 { AOM_ICDF(9600), AOM_ICDF(20279), AOM_ICDF(27548), AOM_ICDF(29261),
1470 AOM_ICDF(30494), AOM_ICDF(31631), AOM_ICDF(32768), 0 },
1471 { AOM_ICDF(11391), AOM_ICDF(18656), AOM_ICDF(23727), AOM_ICDF(26058),
1472 AOM_ICDF(27788), AOM_ICDF(30278), AOM_ICDF(32768), 0 },
1473 { AOM_ICDF(8576), AOM_ICDF(13585), AOM_ICDF(17632), AOM_ICDF(20884),
1474 AOM_ICDF(23948), AOM_ICDF(27152), AOM_ICDF(32768), 0 },
1475 { AOM_ICDF(15360), AOM_ICDF(24200), AOM_ICDF(26978), AOM_ICDF(30846),
1476 AOM_ICDF(31409), AOM_ICDF(32545), AOM_ICDF(32768), 0 },
1477 { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
1478 AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
1479#if CONFIG_EXT_PARTITION
1480 { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
1481 AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
1482 { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
1483 AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
1484 { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
1485 AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
1486#endif
1487};
Thomas Daviesce7272d2017-07-04 16:11:08 +01001488
Urvang Joshi23a61112017-01-30 14:59:27 -08001489// When palette mode is enabled, following probability tables indicate the
1490// probabilities to code the "is_palette" bit (i.e. the bit that indicates
1491// if this block uses palette mode or DC_PRED mode).
clang-format55ce9e02017-02-15 22:27:12 -08001492const aom_prob av1_default_palette_y_mode_prob
1493 [PALETTE_BLOCK_SIZES][PALETTE_Y_MODE_CONTEXTS] = {
1494 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1495 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1496 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1497 { 240, 180, 100 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001498#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001499 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001500#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001501 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001502
Urvang Joshi23a61112017-01-30 14:59:27 -08001503const aom_prob av1_default_palette_uv_mode_prob[PALETTE_UV_MODE_CONTEXTS] = {
1504 253, 229
1505};
Yaowu Xuc27fc142016-08-22 16:08:15 -07001506
Thomas Daviesce7272d2017-07-04 16:11:08 +01001507const aom_cdf_prob default_palette_y_color_index_cdf
1508 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = {
1509 {
1510 { AOM_ICDF(29568), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1511 { AOM_ICDF(16384), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1512 { AOM_ICDF(8832), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1513 { AOM_ICDF(28672), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1514 { AOM_ICDF(31872), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1515 },
1516 {
1517 { AOM_ICDF(28032), AOM_ICDF(30326), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1518 0 },
1519 { AOM_ICDF(11647), AOM_ICDF(27405), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1520 0 },
1521 { AOM_ICDF(4352), AOM_ICDF(30659), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1522 0 },
1523 { AOM_ICDF(23552), AOM_ICDF(27800), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1524 0 },
1525 { AOM_ICDF(32256), AOM_ICDF(32504), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1526 0 },
1527 },
1528 {
1529 { AOM_ICDF(26112), AOM_ICDF(28374), AOM_ICDF(30039), AOM_ICDF(32768),
1530 0, 0, 0, 0, 0 },
1531 { AOM_ICDF(9472), AOM_ICDF(22576), AOM_ICDF(27712), AOM_ICDF(32768),
1532 0, 0, 0, 0, 0 },
1533 { AOM_ICDF(6656), AOM_ICDF(26138), AOM_ICDF(29608), AOM_ICDF(32768),
1534 0, 0, 0, 0, 0 },
1535 { AOM_ICDF(19328), AOM_ICDF(23791), AOM_ICDF(28946), AOM_ICDF(32768),
1536 0, 0, 0, 0, 0 },
1537 { AOM_ICDF(31744), AOM_ICDF(31984), AOM_ICDF(32336), AOM_ICDF(32768),
1538 0, 0, 0, 0, 0 },
1539 },
1540 {
1541 { AOM_ICDF(27904), AOM_ICDF(29215), AOM_ICDF(30075), AOM_ICDF(31190),
1542 AOM_ICDF(32768), 0, 0, 0, 0 },
1543 { AOM_ICDF(9728), AOM_ICDF(22598), AOM_ICDF(26134), AOM_ICDF(29425),
1544 AOM_ICDF(32768), 0, 0, 0, 0 },
1545 { AOM_ICDF(2688), AOM_ICDF(30066), AOM_ICDF(31058), AOM_ICDF(31933),
1546 AOM_ICDF(32768), 0, 0, 0, 0 },
1547 { AOM_ICDF(22015), AOM_ICDF(25039), AOM_ICDF(27726), AOM_ICDF(29932),
1548 AOM_ICDF(32768), 0, 0, 0, 0 },
1549 { AOM_ICDF(32383), AOM_ICDF(32482), AOM_ICDF(32554), AOM_ICDF(32660),
1550 AOM_ICDF(32768), 0, 0, 0, 0 },
1551 },
1552 {
1553 { AOM_ICDF(24319), AOM_ICDF(26299), AOM_ICDF(27486), AOM_ICDF(28600),
1554 AOM_ICDF(29804), AOM_ICDF(32768), 0, 0, 0 },
1555 { AOM_ICDF(7935), AOM_ICDF(18217), AOM_ICDF(21116), AOM_ICDF(25440),
1556 AOM_ICDF(28589), AOM_ICDF(32768), 0, 0, 0 },
1557 { AOM_ICDF(6656), AOM_ICDF(25016), AOM_ICDF(27105), AOM_ICDF(28698),
1558 AOM_ICDF(30399), AOM_ICDF(32768), 0, 0, 0 },
1559 { AOM_ICDF(19967), AOM_ICDF(24117), AOM_ICDF(26550), AOM_ICDF(28566),
1560 AOM_ICDF(30224), AOM_ICDF(32768), 0, 0, 0 },
1561 { AOM_ICDF(31359), AOM_ICDF(31607), AOM_ICDF(31775), AOM_ICDF(31977),
1562 AOM_ICDF(32258), AOM_ICDF(32768), 0, 0, 0 },
1563 },
1564 {
1565 { AOM_ICDF(26368), AOM_ICDF(27768), AOM_ICDF(28588), AOM_ICDF(29274),
1566 AOM_ICDF(29997), AOM_ICDF(30917), AOM_ICDF(32768), 0, 0 },
1567 { AOM_ICDF(8960), AOM_ICDF(18260), AOM_ICDF(20810), AOM_ICDF(23986),
1568 AOM_ICDF(26627), AOM_ICDF(28882), AOM_ICDF(32768), 0, 0 },
1569 { AOM_ICDF(7295), AOM_ICDF(24111), AOM_ICDF(25836), AOM_ICDF(27515),
1570 AOM_ICDF(29033), AOM_ICDF(30769), AOM_ICDF(32768), 0, 0 },
1571 { AOM_ICDF(22016), AOM_ICDF(25208), AOM_ICDF(27305), AOM_ICDF(28159),
1572 AOM_ICDF(29221), AOM_ICDF(30274), AOM_ICDF(32768), 0, 0 },
1573 { AOM_ICDF(31744), AOM_ICDF(31932), AOM_ICDF(32050), AOM_ICDF(32199),
1574 AOM_ICDF(32335), AOM_ICDF(32521), AOM_ICDF(32768), 0, 0 },
1575 },
1576 {
1577 { AOM_ICDF(26624), AOM_ICDF(27872), AOM_ICDF(28599), AOM_ICDF(29153),
1578 AOM_ICDF(29633), AOM_ICDF(30172), AOM_ICDF(30841), AOM_ICDF(32768),
1579 0 },
1580 { AOM_ICDF(6655), AOM_ICDF(17569), AOM_ICDF(19587), AOM_ICDF(23345),
1581 AOM_ICDF(25884), AOM_ICDF(28088), AOM_ICDF(29678), AOM_ICDF(32768),
1582 0 },
1583 { AOM_ICDF(3584), AOM_ICDF(27296), AOM_ICDF(28429), AOM_ICDF(29158),
1584 AOM_ICDF(30032), AOM_ICDF(30780), AOM_ICDF(31572), AOM_ICDF(32768),
1585 0 },
1586 { AOM_ICDF(23551), AOM_ICDF(25855), AOM_ICDF(27070), AOM_ICDF(27893),
1587 AOM_ICDF(28597), AOM_ICDF(29721), AOM_ICDF(30970), AOM_ICDF(32768),
1588 0 },
1589 { AOM_ICDF(32128), AOM_ICDF(32173), AOM_ICDF(32245), AOM_ICDF(32337),
1590 AOM_ICDF(32416), AOM_ICDF(32500), AOM_ICDF(32609), AOM_ICDF(32768),
1591 0 },
1592 },
1593 };
Thomas Daviesce7272d2017-07-04 16:11:08 +01001594
Thomas Daviesce7272d2017-07-04 16:11:08 +01001595const aom_cdf_prob default_palette_uv_color_index_cdf
1596 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = {
1597 {
1598 { AOM_ICDF(29824), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1599 { AOM_ICDF(16384), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1600 { AOM_ICDF(8832), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1601 { AOM_ICDF(30720), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1602 { AOM_ICDF(31744), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1603 },
1604 {
1605 { AOM_ICDF(27648), AOM_ICDF(30208), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1606 0 },
1607 { AOM_ICDF(14080), AOM_ICDF(26563), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1608 0 },
1609 { AOM_ICDF(5120), AOM_ICDF(30932), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1610 0 },
1611 { AOM_ICDF(24448), AOM_ICDF(27828), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1612 0 },
1613 { AOM_ICDF(31616), AOM_ICDF(32219), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1614 0 },
1615 },
1616 {
1617 { AOM_ICDF(25856), AOM_ICDF(28259), AOM_ICDF(30584), AOM_ICDF(32768),
1618 0, 0, 0, 0, 0 },
1619 { AOM_ICDF(11520), AOM_ICDF(22476), AOM_ICDF(27944), AOM_ICDF(32768),
1620 0, 0, 0, 0, 0 },
1621 { AOM_ICDF(8064), AOM_ICDF(26882), AOM_ICDF(30308), AOM_ICDF(32768),
1622 0, 0, 0, 0, 0 },
1623 { AOM_ICDF(19455), AOM_ICDF(23823), AOM_ICDF(29134), AOM_ICDF(32768),
1624 0, 0, 0, 0, 0 },
1625 { AOM_ICDF(30848), AOM_ICDF(31501), AOM_ICDF(32174), AOM_ICDF(32768),
1626 0, 0, 0, 0, 0 },
1627 },
1628 {
1629 { AOM_ICDF(26751), AOM_ICDF(28020), AOM_ICDF(29541), AOM_ICDF(31230),
1630 AOM_ICDF(32768), 0, 0, 0, 0 },
1631 { AOM_ICDF(12032), AOM_ICDF(26045), AOM_ICDF(30772), AOM_ICDF(31497),
1632 AOM_ICDF(32768), 0, 0, 0, 0 },
1633 { AOM_ICDF(1280), AOM_ICDF(32153), AOM_ICDF(32458), AOM_ICDF(32560),
1634 AOM_ICDF(32768), 0, 0, 0, 0 },
1635 { AOM_ICDF(23424), AOM_ICDF(24154), AOM_ICDF(29201), AOM_ICDF(29856),
1636 AOM_ICDF(32768), 0, 0, 0, 0 },
1637 { AOM_ICDF(32256), AOM_ICDF(32402), AOM_ICDF(32561), AOM_ICDF(32682),
1638 AOM_ICDF(32768), 0, 0, 0, 0 },
1639 },
1640 {
1641 { AOM_ICDF(24576), AOM_ICDF(26720), AOM_ICDF(28114), AOM_ICDF(28950),
1642 AOM_ICDF(31694), AOM_ICDF(32768), 0, 0, 0 },
1643 { AOM_ICDF(7551), AOM_ICDF(16613), AOM_ICDF(20462), AOM_ICDF(25269),
1644 AOM_ICDF(29077), AOM_ICDF(32768), 0, 0, 0 },
1645 { AOM_ICDF(6272), AOM_ICDF(23039), AOM_ICDF(25623), AOM_ICDF(28163),
1646 AOM_ICDF(30861), AOM_ICDF(32768), 0, 0, 0 },
1647 { AOM_ICDF(17024), AOM_ICDF(18808), AOM_ICDF(20771), AOM_ICDF(27941),
1648 AOM_ICDF(29845), AOM_ICDF(32768), 0, 0, 0 },
1649 { AOM_ICDF(31616), AOM_ICDF(31936), AOM_ICDF(32079), AOM_ICDF(32321),
1650 AOM_ICDF(32546), AOM_ICDF(32768), 0, 0, 0 },
1651 },
1652 {
1653 { AOM_ICDF(23296), AOM_ICDF(25590), AOM_ICDF(27833), AOM_ICDF(29337),
1654 AOM_ICDF(29954), AOM_ICDF(31229), AOM_ICDF(32768), 0, 0 },
1655 { AOM_ICDF(7552), AOM_ICDF(13659), AOM_ICDF(16570), AOM_ICDF(21695),
1656 AOM_ICDF(24506), AOM_ICDF(27701), AOM_ICDF(32768), 0, 0 },
1657 { AOM_ICDF(6911), AOM_ICDF(24788), AOM_ICDF(26284), AOM_ICDF(27753),
1658 AOM_ICDF(29575), AOM_ICDF(30872), AOM_ICDF(32768), 0, 0 },
1659 { AOM_ICDF(17535), AOM_ICDF(22236), AOM_ICDF(24457), AOM_ICDF(26242),
1660 AOM_ICDF(27363), AOM_ICDF(30191), AOM_ICDF(32768), 0, 0 },
1661 { AOM_ICDF(30592), AOM_ICDF(31289), AOM_ICDF(31745), AOM_ICDF(31921),
1662 AOM_ICDF(32149), AOM_ICDF(32321), AOM_ICDF(32768), 0, 0 },
1663 },
1664 {
1665 { AOM_ICDF(22016), AOM_ICDF(24242), AOM_ICDF(25141), AOM_ICDF(27137),
1666 AOM_ICDF(27797), AOM_ICDF(29331), AOM_ICDF(30848), AOM_ICDF(32768),
1667 0 },
1668 { AOM_ICDF(8063), AOM_ICDF(13564), AOM_ICDF(16940), AOM_ICDF(21948),
1669 AOM_ICDF(24568), AOM_ICDF(25689), AOM_ICDF(26989), AOM_ICDF(32768),
1670 0 },
1671 { AOM_ICDF(6528), AOM_ICDF(27028), AOM_ICDF(27835), AOM_ICDF(28741),
1672 AOM_ICDF(30031), AOM_ICDF(31795), AOM_ICDF(32285), AOM_ICDF(32768),
1673 0 },
1674 { AOM_ICDF(18047), AOM_ICDF(23797), AOM_ICDF(25444), AOM_ICDF(26274),
1675 AOM_ICDF(27111), AOM_ICDF(27929), AOM_ICDF(30367), AOM_ICDF(32768),
1676 0 },
1677 { AOM_ICDF(30208), AOM_ICDF(30628), AOM_ICDF(31046), AOM_ICDF(31658),
1678 AOM_ICDF(31762), AOM_ICDF(32367), AOM_ICDF(32469), AOM_ICDF(32768),
1679 0 },
1680 }
1681 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001682
Urvang Joshicdbe7082017-01-26 13:06:49 -08001683#define MAX_COLOR_CONTEXT_HASH 8
1684// Negative values are invalid
Urvang Joshi23a61112017-01-30 14:59:27 -08001685static const int palette_color_index_context_lookup[MAX_COLOR_CONTEXT_HASH +
1686 1] = { -1, -1, 0, -1, -1,
1687 4, 3, 2, 1 };
Urvang Joshicdbe7082017-01-26 13:06:49 -08001688
Urvang Joshib100db72016-10-12 16:28:56 -07001689#endif // CONFIG_PALETTE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001690
Jingning Hanb4329a22016-11-22 16:20:13 -08001691// The transform size is coded as an offset to the smallest transform
1692// block size.
Jingning Han607fa6a2016-10-26 10:46:28 -07001693const aom_tree_index av1_tx_size_tree[MAX_TX_DEPTH][TREE_SIZE(TX_SIZES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001694 {
1695 // Max tx_size is 8X8
Jingning Hanb4329a22016-11-22 16:20:13 -08001696 -0, -1,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001697 },
1698 {
1699 // Max tx_size is 16X16
Jingning Hanb4329a22016-11-22 16:20:13 -08001700 -0, 2, -1, -2,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001701 },
1702 {
1703 // Max tx_size is 32X32
Jingning Hanb4329a22016-11-22 16:20:13 -08001704 -0, 2, -1, 4, -2, -3,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001705 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001706#if CONFIG_TX64X64
Debargha Mukherjee25ed5302016-11-22 12:13:41 -08001707 {
1708 // Max tx_size is 64X64
Jingning Hanb4329a22016-11-22 16:20:13 -08001709 -0, 2, -1, 4, -2, 6, -3, -4,
Debargha Mukherjee25ed5302016-11-22 12:13:41 -08001710 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001711#endif // CONFIG_TX64X64
Yaowu Xuc27fc142016-08-22 16:08:15 -07001712};
1713
Jingning Hanaae72a62016-10-25 15:35:29 -07001714static const aom_prob default_tx_size_prob[MAX_TX_DEPTH][TX_SIZE_CONTEXTS]
1715 [MAX_TX_DEPTH] = {
clang-format67948d32016-09-07 22:40:40 -07001716 {
1717 // Max tx_size is 8X8
1718 { 100 },
1719 { 66 },
1720 },
1721 {
1722 // Max tx_size is 16X16
1723 { 20, 152 },
1724 { 15, 101 },
1725 },
1726 {
1727 // Max tx_size is 32X32
1728 { 3, 136, 37 },
1729 { 5, 52, 13 },
1730 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001731#if CONFIG_TX64X64
1732 {
1733 // Max tx_size is 64X64
1734 { 1, 64, 136, 127 },
1735 { 1, 32, 52, 67 },
1736 },
1737#endif // CONFIG_TX64X64
clang-format67948d32016-09-07 22:40:40 -07001738 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001739
Yue Chend6bdd462017-07-19 16:05:43 -07001740#if CONFIG_RECT_TX_EXT && (CONFIG_EXT_TX || CONFIG_VAR_TX)
Yue Chen56e226e2017-05-02 16:21:40 -07001741static const aom_prob default_quarter_tx_size_prob = 192;
Yue Chend6bdd462017-07-19 16:05:43 -07001742#endif
Yue Chen56e226e2017-05-02 16:21:40 -07001743
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07001744#if CONFIG_LOOP_RESTORATION
Debargha Mukherjeeb3c43bc2017-02-01 13:09:03 -08001745const aom_tree_index
1746 av1_switchable_restore_tree[TREE_SIZE(RESTORE_SWITCHABLE_TYPES)] = {
1747 -RESTORE_NONE, 2, -RESTORE_WIENER, -RESTORE_SGRPROJ,
1748 };
1749
1750static const aom_prob
1751 default_switchable_restore_prob[RESTORE_SWITCHABLE_TYPES - 1] = {
1752 32, 128,
1753 };
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07001754#endif // CONFIG_LOOP_RESTORATION
1755
Urvang Joshib100db72016-10-12 16:28:56 -07001756#if CONFIG_PALETTE
Urvang Joshi23a61112017-01-30 14:59:27 -08001757#define NUM_PALETTE_NEIGHBORS 3 // left, top-left and top.
1758int av1_get_palette_color_index_context(const uint8_t *color_map, int stride,
1759 int r, int c, int palette_size,
1760 uint8_t *color_order, int *color_idx) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001761 int i;
1762 // The +10 below should not be needed. But we get a warning "array subscript
1763 // is above array bounds [-Werror=array-bounds]" without it, possibly due to
1764 // this (or similar) bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124
Yaowu Xuc27fc142016-08-22 16:08:15 -07001765 int scores[PALETTE_MAX_SIZE + 10];
Urvang Joshicdbe7082017-01-26 13:06:49 -08001766 const int weights[NUM_PALETTE_NEIGHBORS] = { 2, 1, 2 };
1767 const int hash_multipliers[NUM_PALETTE_NEIGHBORS] = { 1, 2, 2 };
Urvang Joshi23a61112017-01-30 14:59:27 -08001768 int color_index_ctx_hash;
1769 int color_index_ctx;
Urvang Joshicdbe7082017-01-26 13:06:49 -08001770 int color_neighbors[NUM_PALETTE_NEIGHBORS];
Urvang Joshi967ff392016-09-07 14:57:49 -07001771 int inverse_color_order[PALETTE_MAX_SIZE];
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001772 assert(palette_size <= PALETTE_MAX_SIZE);
Urvang Joshicdbe7082017-01-26 13:06:49 -08001773 assert(r > 0 || c > 0);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001774
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001775 // Get color indices of neighbors.
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001776 color_neighbors[0] = (c - 1 >= 0) ? color_map[r * stride + c - 1] : -1;
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001777 color_neighbors[1] =
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001778 (c - 1 >= 0 && r - 1 >= 0) ? color_map[(r - 1) * stride + c - 1] : -1;
1779 color_neighbors[2] = (r - 1 >= 0) ? color_map[(r - 1) * stride + c] : -1;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001780
Urvang Joshi967ff392016-09-07 14:57:49 -07001781 for (i = 0; i < PALETTE_MAX_SIZE; ++i) {
1782 color_order[i] = i;
1783 inverse_color_order[i] = i;
1784 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001785 memset(scores, 0, PALETTE_MAX_SIZE * sizeof(scores[0]));
Urvang Joshicdbe7082017-01-26 13:06:49 -08001786 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001787 if (color_neighbors[i] >= 0) {
1788 scores[color_neighbors[i]] += weights[i];
1789 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001790 }
1791
Urvang Joshicdbe7082017-01-26 13:06:49 -08001792 // Get the top NUM_PALETTE_NEIGHBORS scores (sorted from large to small).
1793 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001794 int max = scores[i];
1795 int max_idx = i;
1796 int j;
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001797 for (j = i + 1; j < palette_size; ++j) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001798 if (scores[j] > max) {
1799 max = scores[j];
1800 max_idx = j;
1801 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001802 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001803 if (max_idx != i) {
Urvang Joshif1c06a72017-01-09 14:46:51 -08001804 // Move the score at index 'max_idx' to index 'i', and shift the scores
1805 // from 'i' to 'max_idx - 1' by 1.
1806 const int max_score = scores[max_idx];
1807 const uint8_t max_color_order = color_order[max_idx];
1808 int k;
1809 for (k = max_idx; k > i; --k) {
1810 scores[k] = scores[k - 1];
1811 color_order[k] = color_order[k - 1];
1812 inverse_color_order[color_order[k]] = k;
1813 }
1814 scores[i] = max_score;
1815 color_order[i] = max_color_order;
Urvang Joshi967ff392016-09-07 14:57:49 -07001816 inverse_color_order[color_order[i]] = i;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001817 }
1818 }
1819
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001820 // Get hash value of context.
Urvang Joshi23a61112017-01-30 14:59:27 -08001821 color_index_ctx_hash = 0;
Urvang Joshicdbe7082017-01-26 13:06:49 -08001822 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi23a61112017-01-30 14:59:27 -08001823 color_index_ctx_hash += scores[i] * hash_multipliers[i];
Urvang Joshicdbe7082017-01-26 13:06:49 -08001824 }
Urvang Joshi23a61112017-01-30 14:59:27 -08001825 assert(color_index_ctx_hash > 0);
1826 assert(color_index_ctx_hash <= MAX_COLOR_CONTEXT_HASH);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001827
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001828 // Lookup context from hash.
Urvang Joshi23a61112017-01-30 14:59:27 -08001829 color_index_ctx = palette_color_index_context_lookup[color_index_ctx_hash];
1830 assert(color_index_ctx >= 0);
1831 assert(color_index_ctx < PALETTE_COLOR_INDEX_CONTEXTS);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001832
Urvang Joshi967ff392016-09-07 14:57:49 -07001833 if (color_idx != NULL) {
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001834 *color_idx = inverse_color_order[color_map[r * stride + c]];
Urvang Joshi967ff392016-09-07 14:57:49 -07001835 }
Urvang Joshi23a61112017-01-30 14:59:27 -08001836 return color_index_ctx;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001837}
Urvang Joshicdbe7082017-01-26 13:06:49 -08001838#undef NUM_PALETTE_NEIGHBORS
1839#undef MAX_COLOR_CONTEXT_HASH
1840
Urvang Joshib100db72016-10-12 16:28:56 -07001841#endif // CONFIG_PALETTE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001842
1843#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07001844static const aom_prob default_txfm_partition_probs[TXFM_PARTITION_CONTEXTS] = {
Jingning Hanc8b89362016-11-01 10:28:53 -07001845 250, 231, 212, 241, 166, 66, 241, 230, 135, 243, 154, 64, 248, 161, 63, 128,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001846};
Thomas Davies985bfc32017-06-27 16:51:26 +01001847#if CONFIG_NEW_MULTISYMBOL
1848static const aom_cdf_prob
1849 default_txfm_partition_cdf[TXFM_PARTITION_CONTEXTS][CDF_SIZE(2)] = {
1850 { AOM_ICDF(250 * 128), AOM_ICDF(32768), 0 },
1851 { AOM_ICDF(231 * 128), AOM_ICDF(32768), 0 },
1852 { AOM_ICDF(212 * 128), AOM_ICDF(32768), 0 },
1853 { AOM_ICDF(241 * 128), AOM_ICDF(32768), 0 },
1854 { AOM_ICDF(166 * 128), AOM_ICDF(32768), 0 },
1855 { AOM_ICDF(66 * 128), AOM_ICDF(32768), 0 },
1856 { AOM_ICDF(241 * 128), AOM_ICDF(32768), 0 },
1857 { AOM_ICDF(230 * 128), AOM_ICDF(32768), 0 },
1858 { AOM_ICDF(135 * 128), AOM_ICDF(32768), 0 },
1859 { AOM_ICDF(243 * 128), AOM_ICDF(32768), 0 },
1860 { AOM_ICDF(154 * 128), AOM_ICDF(32768), 0 },
1861 { AOM_ICDF(64 * 128), AOM_ICDF(32768), 0 },
1862 { AOM_ICDF(248 * 128), AOM_ICDF(32768), 0 },
1863 { AOM_ICDF(161 * 128), AOM_ICDF(32768), 0 },
1864 { AOM_ICDF(63 * 128), AOM_ICDF(32768), 0 },
1865 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 }
1866 };
1867#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001868#endif
1869
Yaowu Xuf883b422016-08-30 14:01:10 -07001870static const aom_prob default_skip_probs[SKIP_CONTEXTS] = { 192, 128, 64 };
Thomas Davies61e3e372017-04-04 16:10:23 +01001871#if CONFIG_NEW_MULTISYMBOL
1872static const aom_cdf_prob default_skip_cdfs[SKIP_CONTEXTS][CDF_SIZE(2)] = {
1873 { AOM_ICDF(24576), AOM_ICDF(32768), 0 },
1874 { AOM_ICDF(16384), AOM_ICDF(32768), 0 },
1875 { AOM_ICDF(8192), AOM_ICDF(32768), 0 }
1876};
1877#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001878
Angie Chiang1733f6b2017-01-05 09:52:20 -08001879#if CONFIG_DUAL_FILTER
Angie Chiangaadbb022017-06-01 16:08:03 -07001880#if USE_EXTRA_FILTER
clang-format55ce9e02017-02-15 22:27:12 -08001881static const aom_prob default_switchable_interp_prob
1882 [SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
1883 { 235, 192, 128 }, { 36, 243, 48 }, { 34, 16, 128 },
1884 { 34, 16, 128 }, { 149, 160, 128 }, { 235, 192, 128 },
1885 { 36, 243, 48 }, { 34, 16, 128 }, { 34, 16, 128 },
1886 { 149, 160, 128 }, { 235, 192, 128 }, { 36, 243, 48 },
1887 { 34, 16, 128 }, { 34, 16, 128 }, { 149, 160, 128 },
1888 { 235, 192, 128 }, { 36, 243, 48 }, { 34, 16, 128 },
1889 { 34, 16, 128 }, { 149, 160, 128 },
1890 };
Angie Chiangaadbb022017-06-01 16:08:03 -07001891#else // USE_EXTRA_FILTER
1892static const aom_prob default_switchable_interp_prob
1893 [SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001894 { 252, 199 }, { 22, 255 }, { 4, 2 }, { 238, 146 },
1895 { 253, 66 }, { 24, 255 }, { 2, 1 }, { 198, 41 },
1896 { 250, 177 }, { 16, 255 }, { 3, 4 }, { 226, 162 },
1897 { 247, 38 }, { 33, 253 }, { 1, 1 }, { 136, 14 },
Angie Chiangaadbb022017-06-01 16:08:03 -07001898 };
1899#endif // USE_EXTRA_FILTER
Angie Chiang1733f6b2017-01-05 09:52:20 -08001900#else // CONFIG_DUAL_FILTER
clang-format67948d32016-09-07 22:40:40 -07001901static const aom_prob default_switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS]
1902 [SWITCHABLE_FILTERS - 1] = {
1903 { 235, 162 },
1904 { 36, 255 },
1905 { 34, 3 },
1906 { 149, 144 },
1907 };
Angie Chiang1733f6b2017-01-05 09:52:20 -08001908#endif // CONFIG_DUAL_FILTER
Yaowu Xuc27fc142016-08-22 16:08:15 -07001909
1910#if CONFIG_EXT_TX
1911/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07001912const aom_tree_index av1_ext_tx_inter_tree[EXT_TX_SETS_INTER]
Yaowu Xuc27fc142016-08-22 16:08:15 -07001913 [TREE_SIZE(TX_TYPES)] = {
1914 { // ToDo(yaowu): remove used entry 0.
1915 0
1916 }, {
1917 -IDTX, 2,
1918 4, 14,
1919 6, 8,
1920 -V_DCT, -H_DCT,
1921 10, 12,
1922 -V_ADST, -H_ADST,
1923 -V_FLIPADST, -H_FLIPADST,
1924 -DCT_DCT, 16,
1925 18, 24,
1926 20, 22,
1927 -ADST_DCT, -DCT_ADST,
1928 -FLIPADST_DCT, -DCT_FLIPADST,
1929 26, 28,
1930 -ADST_ADST, -FLIPADST_FLIPADST,
1931 -ADST_FLIPADST, -FLIPADST_ADST
1932 }, {
1933 -IDTX, 2,
1934 4, 6,
1935 -V_DCT, -H_DCT,
1936 -DCT_DCT, 8,
1937 10, 16,
1938 12, 14,
1939 -ADST_DCT, -DCT_ADST,
1940 -FLIPADST_DCT, -DCT_FLIPADST,
1941 18, 20,
1942 -ADST_ADST, -FLIPADST_FLIPADST,
1943 -ADST_FLIPADST, -FLIPADST_ADST
1944 }, {
1945 -IDTX, -DCT_DCT,
Sarah Parker53f93db2017-07-11 17:20:04 -07001946 },
1947#if CONFIG_MRC_TX
1948 {
1949 -IDTX, 2, -DCT_DCT, -MRC_DCT,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001950 }
Sarah Parker53f93db2017-07-11 17:20:04 -07001951#endif // CONFIG_MRC_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07001952};
1953
Yaowu Xuf883b422016-08-30 14:01:10 -07001954const aom_tree_index av1_ext_tx_intra_tree[EXT_TX_SETS_INTRA]
Yaowu Xuc27fc142016-08-22 16:08:15 -07001955 [TREE_SIZE(TX_TYPES)] = {
1956 { // ToDo(yaowu): remove unused entry 0.
1957 0
1958 }, {
1959 -IDTX, 2,
1960 -DCT_DCT, 4,
1961 6, 8,
1962 -V_DCT, -H_DCT,
1963 -ADST_ADST, 10,
1964 -ADST_DCT, -DCT_ADST,
1965 }, {
1966 -IDTX, 2,
1967 -DCT_DCT, 4,
1968 -ADST_ADST, 6,
1969 -ADST_DCT, -DCT_ADST,
Sarah Parker53f93db2017-07-11 17:20:04 -07001970 },
1971#if CONFIG_MRC_TX
1972 {
1973 -DCT_DCT, -MRC_DCT,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001974 }
Sarah Parker53f93db2017-07-11 17:20:04 -07001975#endif // CONFIG_MRC_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07001976};
1977/* clang-format on */
1978
Yaowu Xuf883b422016-08-30 14:01:10 -07001979static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -07001980 default_inter_ext_tx_prob[EXT_TX_SETS_INTER][EXT_TX_SIZES][TX_TYPES - 1] = {
1981 {
Jingning Han1a00cff2016-12-28 14:53:14 -08001982// ToDo(yaowu): remove unused entry 0.
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07001983#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08001984 { 0 },
1985#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001986 { 0 },
1987 { 0 },
1988 { 0 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001989 { 0 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001990 },
1991 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07001992#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08001993 { 0 },
1994#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07001995 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1996 128 },
1997 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
1998 128 },
1999 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
2000 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002001 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
2002 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002003 },
2004 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002005#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002006 { 0 },
2007#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07002008 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
2009 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
2010 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002011 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002012 },
2013 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002014#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002015 { 0 },
2016#endif
2017 { 12 },
2018 { 12 },
2019 { 12 },
2020 { 12 },
Sarah Parker53f93db2017-07-11 17:20:04 -07002021 },
2022#if CONFIG_MRC_TX
2023 {
2024#if CONFIG_CHROMA_2X2
2025 { 0 },
2026#endif
2027 { 12, 128 },
2028 { 12, 128 },
2029 { 12, 128 },
2030 { 12, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002031 }
Sarah Parker53f93db2017-07-11 17:20:04 -07002032#endif // CONFIG_MRC_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07002033 };
2034
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002035// TODO(urvang): 3rd context should be tx_type instead of intra mode just like
2036// the baseline.
clang-format67948d32016-09-07 22:40:40 -07002037static const aom_prob
2038 default_intra_ext_tx_prob[EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES]
2039 [TX_TYPES - 1] = {
2040 {
Jingning Han1a00cff2016-12-28 14:53:14 -08002041// ToDo(yaowu): remove unused entry 0.
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002042#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002043 {
2044 { 0 },
2045 },
2046#endif
clang-format67948d32016-09-07 22:40:40 -07002047 {
2048 { 0 },
2049 { 0 },
2050 { 0 },
2051 { 0 },
2052 { 0 },
2053 { 0 },
2054 { 0 },
2055 { 0 },
2056 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002057#if CONFIG_ALT_INTRA
2058 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002059#if CONFIG_SMOOTH_HV
2060 { 0 },
2061 { 0 },
2062#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002063#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002064 { 0 },
clang-format67948d32016-09-07 22:40:40 -07002065 },
2066 {
2067 { 0 },
2068 { 0 },
2069 { 0 },
2070 { 0 },
2071 { 0 },
2072 { 0 },
2073 { 0 },
2074 { 0 },
2075 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002076#if CONFIG_ALT_INTRA
2077 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002078#if CONFIG_SMOOTH_HV
2079 { 0 },
2080 { 0 },
2081#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002082#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002083 { 0 },
clang-format67948d32016-09-07 22:40:40 -07002084 },
2085 {
2086 { 0 },
2087 { 0 },
2088 { 0 },
2089 { 0 },
2090 { 0 },
2091 { 0 },
2092 { 0 },
2093 { 0 },
2094 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002095#if CONFIG_ALT_INTRA
2096 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002097#if CONFIG_SMOOTH_HV
2098 { 0 },
2099 { 0 },
2100#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002101#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002102 { 0 },
clang-format67948d32016-09-07 22:40:40 -07002103 },
2104 {
2105 { 0 },
2106 { 0 },
2107 { 0 },
2108 { 0 },
2109 { 0 },
2110 { 0 },
2111 { 0 },
2112 { 0 },
2113 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002114#if CONFIG_ALT_INTRA
2115 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002116#if CONFIG_SMOOTH_HV
2117 { 0 },
2118 { 0 },
2119#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002120#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002121 { 0 },
clang-format67948d32016-09-07 22:40:40 -07002122 },
2123 },
2124 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002125#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002126 {
2127 { 0 },
2128 },
2129#endif
clang-format67948d32016-09-07 22:40:40 -07002130 {
2131 { 8, 224, 32, 128, 64, 128 },
2132 { 10, 32, 32, 128, 16, 192 },
2133 { 10, 32, 32, 128, 16, 64 },
2134 { 9, 200, 32, 128, 64, 128 },
2135 { 8, 8, 32, 128, 224, 128 },
2136 { 10, 32, 32, 128, 16, 192 },
2137 { 10, 32, 32, 128, 16, 64 },
2138 { 10, 23, 32, 128, 80, 176 },
2139 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002140#if CONFIG_ALT_INTRA
2141 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002142#if CONFIG_SMOOTH_HV
2143 { 10, 32, 32, 128, 16, 64 },
2144 { 10, 32, 32, 128, 16, 64 },
2145#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002146#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002147 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002148 },
2149 {
2150 { 8, 224, 32, 128, 64, 128 },
2151 { 10, 32, 32, 128, 16, 192 },
2152 { 10, 32, 32, 128, 16, 64 },
2153 { 9, 200, 32, 128, 64, 128 },
2154 { 8, 8, 32, 128, 224, 128 },
2155 { 10, 32, 32, 128, 16, 192 },
2156 { 10, 32, 32, 128, 16, 64 },
2157 { 10, 23, 32, 128, 80, 176 },
2158 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002159#if CONFIG_ALT_INTRA
2160 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002161#if CONFIG_SMOOTH_HV
2162 { 10, 32, 32, 128, 16, 64 },
2163 { 10, 32, 32, 128, 16, 64 },
2164#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002165#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002166 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002167 },
2168 {
2169 { 8, 224, 32, 128, 64, 128 },
2170 { 10, 32, 32, 128, 16, 192 },
2171 { 10, 32, 32, 128, 16, 64 },
2172 { 9, 200, 32, 128, 64, 128 },
2173 { 8, 8, 32, 128, 224, 128 },
2174 { 10, 32, 32, 128, 16, 192 },
2175 { 10, 32, 32, 128, 16, 64 },
2176 { 10, 23, 32, 128, 80, 176 },
2177 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002178#if CONFIG_ALT_INTRA
2179 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002180#if CONFIG_SMOOTH_HV
2181 { 10, 32, 32, 128, 16, 64 },
2182 { 10, 32, 32, 128, 16, 64 },
2183#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002184#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002185 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002186 },
2187 {
2188 { 8, 224, 32, 128, 64, 128 },
2189 { 10, 32, 32, 128, 16, 192 },
2190 { 10, 32, 32, 128, 16, 64 },
2191 { 9, 200, 32, 128, 64, 128 },
2192 { 8, 8, 32, 128, 224, 128 },
2193 { 10, 32, 32, 128, 16, 192 },
2194 { 10, 32, 32, 128, 16, 64 },
2195 { 10, 23, 32, 128, 80, 176 },
2196 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002197#if CONFIG_ALT_INTRA
2198 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002199#if CONFIG_SMOOTH_HV
2200 { 10, 32, 32, 128, 16, 64 },
2201 { 10, 32, 32, 128, 16, 64 },
2202#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002203#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002204 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002205 },
2206 },
2207 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002208#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002209 {
2210 { 0 },
2211 },
2212#endif
clang-format67948d32016-09-07 22:40:40 -07002213 {
2214 { 8, 224, 64, 128 },
2215 { 10, 32, 16, 192 },
2216 { 10, 32, 16, 64 },
2217 { 9, 200, 64, 128 },
2218 { 8, 8, 224, 128 },
2219 { 10, 32, 16, 192 },
2220 { 10, 32, 16, 64 },
2221 { 10, 23, 80, 176 },
2222 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002223#if CONFIG_ALT_INTRA
2224 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002225#if CONFIG_SMOOTH_HV
2226 { 10, 32, 16, 64 },
2227 { 10, 32, 16, 64 },
2228#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002229#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002230 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002231 },
2232 {
2233 { 8, 224, 64, 128 },
2234 { 10, 32, 16, 192 },
2235 { 10, 32, 16, 64 },
2236 { 9, 200, 64, 128 },
2237 { 8, 8, 224, 128 },
2238 { 10, 32, 16, 192 },
2239 { 10, 32, 16, 64 },
2240 { 10, 23, 80, 176 },
2241 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002242#if CONFIG_ALT_INTRA
2243 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002244#if CONFIG_SMOOTH_HV
2245 { 10, 32, 16, 64 },
2246 { 10, 32, 16, 64 },
2247#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002248#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002249 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002250 },
2251 {
2252 { 8, 224, 64, 128 },
2253 { 10, 32, 16, 192 },
2254 { 10, 32, 16, 64 },
2255 { 9, 200, 64, 128 },
2256 { 8, 8, 224, 128 },
2257 { 10, 32, 16, 192 },
2258 { 10, 32, 16, 64 },
2259 { 10, 23, 80, 176 },
2260 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002261#if CONFIG_ALT_INTRA
2262 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002263#if CONFIG_SMOOTH_HV
2264 { 10, 32, 16, 64 },
2265 { 10, 32, 16, 64 },
2266#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002267#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002268 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002269 },
2270 {
2271 { 8, 224, 64, 128 },
2272 { 10, 32, 16, 192 },
2273 { 10, 32, 16, 64 },
2274 { 9, 200, 64, 128 },
2275 { 8, 8, 224, 128 },
2276 { 10, 32, 16, 192 },
2277 { 10, 32, 16, 64 },
2278 { 10, 23, 80, 176 },
2279 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002280#if CONFIG_ALT_INTRA
2281 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002282#if CONFIG_SMOOTH_HV
2283 { 10, 32, 16, 64 },
2284 { 10, 32, 16, 64 },
2285#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002286#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002287 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002288 },
2289 },
Sarah Parker53f93db2017-07-11 17:20:04 -07002290#if CONFIG_MRC_TX
2291 {
2292// ToDo(yaowu): remove unused entry 0.
2293#if CONFIG_CHROMA_2X2
2294 {
2295 { 0 },
2296 },
2297#endif
2298 {
2299 { 128 },
2300 { 128 },
2301 { 128 },
2302 { 128 },
2303 { 128 },
2304 { 128 },
2305 { 128 },
2306 { 128 },
2307 { 128 },
2308#if CONFIG_ALT_INTRA
2309 { 128 },
2310#if CONFIG_SMOOTH_HV
2311 { 128 },
2312 { 128 },
2313#endif // CONFIG_SMOOTH_HV
2314#endif // CONFIG_ALT_INTRA
2315 { 128 },
2316 },
2317 {
2318 { 128 },
2319 { 128 },
2320 { 128 },
2321 { 128 },
2322 { 128 },
2323 { 128 },
2324 { 128 },
2325 { 128 },
2326 { 128 },
2327#if CONFIG_ALT_INTRA
2328 { 128 },
2329#if CONFIG_SMOOTH_HV
2330 { 128 },
2331 { 128 },
2332#endif // CONFIG_SMOOTH_HV
2333#endif // CONFIG_ALT_INTRA
2334 { 128 },
2335 },
2336 {
2337 { 128 },
2338 { 128 },
2339 { 128 },
2340 { 128 },
2341 { 128 },
2342 { 128 },
2343 { 128 },
2344 { 128 },
2345 { 128 },
2346#if CONFIG_ALT_INTRA
2347 { 128 },
2348#if CONFIG_SMOOTH_HV
2349 { 128 },
2350 { 128 },
2351#endif // CONFIG_SMOOTH_HV
2352#endif // CONFIG_ALT_INTRA
2353 { 128 },
2354 },
2355 {
2356 { 128 },
2357 { 128 },
2358 { 128 },
2359 { 128 },
2360 { 128 },
2361 { 128 },
2362 { 128 },
2363 { 128 },
2364 { 128 },
2365#if CONFIG_ALT_INTRA
2366 { 128 },
2367#if CONFIG_SMOOTH_HV
2368 { 128 },
2369 { 128 },
2370#endif // CONFIG_SMOOTH_HV
2371#endif // CONFIG_ALT_INTRA
2372 { 128 },
2373 },
2374 },
2375
2376#endif // CONFIG_MRC_TX
clang-format67948d32016-09-07 22:40:40 -07002377 };
Zoe Liu7f24e1b2017-03-17 17:42:05 -07002378#else // !CONFIG_EXT_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07002379
2380/* clang-format off */
Sarah Parker53f93db2017-07-11 17:20:04 -07002381#if CONFIG_MRC_TX
2382const aom_tree_index av1_ext_tx_tree[TREE_SIZE(TX_TYPES)] = {
2383 -DCT_DCT, 2,
2384 -MRC_DCT, 4,
2385 -ADST_ADST, 6,
2386 -ADST_DCT, -DCT_ADST
2387};
2388#else
Yaowu Xuf883b422016-08-30 14:01:10 -07002389const aom_tree_index av1_ext_tx_tree[TREE_SIZE(TX_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002390 -DCT_DCT, 2,
2391 -ADST_ADST, 4,
2392 -ADST_DCT, -DCT_ADST
2393};
Sarah Parker53f93db2017-07-11 17:20:04 -07002394#endif // CONFIG_MRC_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07002395/* clang-format on */
2396
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04002397int av1_ext_tx_ind[TX_TYPES];
2398int av1_ext_tx_inv[TX_TYPES];
2399
Sarah Parker53f93db2017-07-11 17:20:04 -07002400#if CONFIG_MRC_TX
2401static const aom_prob default_intra_ext_tx_prob[EXT_TX_SIZES][TX_TYPES]
2402 [TX_TYPES - 1] = {
2403#if CONFIG_CHROMA_2X2
2404 { { 240, 1, 85, 128 },
2405 { 4, 1, 1, 248 },
2406 { 4, 1, 1, 8 },
2407 { 4, 1, 248, 128 },
2408 { 4, 1, 248, 128 } },
2409#endif
2410 { { 240, 1, 85, 128 },
2411 { 4, 1, 1, 248 },
2412 { 4, 1, 1, 8 },
2413 { 4, 1, 248, 128 },
2414 { 4, 1, 248, 128 } },
2415 { { 244, 1, 85, 128 },
2416 { 8, 1, 2, 248 },
2417 { 8, 1, 2, 8 },
2418 { 8, 1, 248, 128 },
2419 { 4, 1, 248, 128 } },
2420 { { 248, 128, 85, 128 },
2421 { 16, 128, 4, 248 },
2422 { 16, 128, 4, 8 },
2423 { 16, 128, 248, 128 },
2424 { 4, 1, 248, 128 } },
2425 };
2426
2427static const aom_prob default_inter_ext_tx_prob[EXT_TX_SIZES][TX_TYPES - 1] = {
2428#if CONFIG_CHROMA_2X2
2429 { 160, 1, 85, 128 },
2430#endif
2431 { 160, 1, 85, 128 },
2432 { 176, 1, 85, 128 },
2433 { 192, 128, 85, 128 },
2434};
2435#else
Yaowu Xuf883b422016-08-30 14:01:10 -07002436static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -07002437 default_intra_ext_tx_prob[EXT_TX_SIZES][TX_TYPES][TX_TYPES - 1] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002438#if CONFIG_CHROMA_2X2
Jingning Han607fa6a2016-10-26 10:46:28 -07002439 { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
2440#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07002441 { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
2442 { { 244, 85, 128 }, { 8, 2, 248 }, { 8, 2, 8 }, { 8, 248, 128 } },
2443 { { 248, 85, 128 }, { 16, 4, 248 }, { 16, 4, 8 }, { 16, 248, 128 } },
2444 };
2445
Yaowu Xuf883b422016-08-30 14:01:10 -07002446static const aom_prob default_inter_ext_tx_prob[EXT_TX_SIZES][TX_TYPES - 1] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002447#if CONFIG_CHROMA_2X2
Jingning Han607fa6a2016-10-26 10:46:28 -07002448 { 160, 85, 128 },
2449#endif
2450 { 160, 85, 128 },
2451 { 176, 85, 128 },
2452 { 192, 85, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002453};
Sarah Parker53f93db2017-07-11 17:20:04 -07002454#endif // CONFIG_MRC_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07002455#endif // CONFIG_EXT_TX
2456
hui sub4e25d22017-03-09 15:32:30 -08002457#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
clang-format55ce9e02017-02-15 22:27:12 -08002458static const aom_prob
2459 default_intra_filter_probs[INTRA_FILTERS + 1][INTRA_FILTERS - 1] = {
2460 { 98, 63, 60 }, { 98, 82, 80 }, { 94, 65, 103 },
2461 { 49, 25, 24 }, { 72, 38, 50 },
2462 };
Yaowu Xuf883b422016-08-30 14:01:10 -07002463const aom_tree_index av1_intra_filter_tree[TREE_SIZE(INTRA_FILTERS)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002464 -INTRA_FILTER_LINEAR, 2, -INTRA_FILTER_8TAP, 4, -INTRA_FILTER_8TAP_SHARP,
2465 -INTRA_FILTER_8TAP_SMOOTH,
2466};
hui sub4e25d22017-03-09 15:32:30 -08002467int av1_intra_filter_ind[INTRA_FILTERS];
2468int av1_intra_filter_inv[INTRA_FILTERS];
hui sub4e25d22017-03-09 15:32:30 -08002469#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07002470
hui su5db97432016-10-14 16:10:14 -07002471#if CONFIG_FILTER_INTRA
2472static const aom_prob default_filter_intra_probs[2] = { 230, 230 };
2473#endif // CONFIG_FILTER_INTRA
2474
Yaowu Xuc27fc142016-08-22 16:08:15 -07002475#if CONFIG_SUPERTX
clang-format55ce9e02017-02-15 22:27:12 -08002476static const aom_prob
2477 default_supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002478#if CONFIG_CHROMA_2X2
Jingning Hanfeb517c2016-12-21 16:02:07 -08002479#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002480 { 1, 1, 160, 160, 170, 180 }, { 1, 1, 200, 200, 210, 220 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002481#else
clang-format55ce9e02017-02-15 22:27:12 -08002482 { 1, 1, 160, 160, 170 }, { 1, 1, 200, 200, 210 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002483#endif // CONFIG_TX64X64
2484#else
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002485#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002486 { 1, 160, 160, 170, 180 }, { 1, 200, 200, 210, 220 },
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002487#else
clang-format55ce9e02017-02-15 22:27:12 -08002488 { 1, 160, 160, 170 }, { 1, 200, 200, 210 },
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002489#endif // CONFIG_TX64X64
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002490#endif // CONFIG_CHROMA_2X2
clang-format55ce9e02017-02-15 22:27:12 -08002491 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07002492#endif // CONFIG_SUPERTX
2493
2494// FIXME(someone) need real defaults here
Nathan E. Eggef627e582016-08-19 20:06:51 -04002495static const aom_prob default_segment_tree_probs[SEG_TREE_PROBS] = {
2496 128, 128, 128, 128, 128, 128, 128
Yaowu Xuc27fc142016-08-22 16:08:15 -07002497};
Nathan E. Eggef627e582016-08-19 20:06:51 -04002498// clang-format off
2499static const aom_prob default_segment_pred_probs[PREDICTION_PROBS] = {
2500 128, 128, 128
2501};
Thomas Davies00021352017-07-11 16:07:55 +01002502#if CONFIG_NEW_MULTISYMBOL
2503static const aom_cdf_prob
2504 default_segment_pred_cdf[PREDICTION_PROBS][CDF_SIZE(2)] = {
2505 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0},
2506 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0},
2507 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0}
2508};
2509#endif
Nathan E. Eggef627e582016-08-19 20:06:51 -04002510// clang-format on
Yaowu Xuc27fc142016-08-22 16:08:15 -07002511
Thomas Davies4ba27d02017-04-05 11:43:36 +01002512#if CONFIG_DUAL_FILTER
Angie Chiangaadbb022017-06-01 16:08:03 -07002513#if USE_EXTRA_FILTER
Thomas Davies4ba27d02017-04-05 11:43:36 +01002514static const aom_cdf_prob
2515 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2516 SWITCHABLE_FILTERS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002517 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2518 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2519 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2520 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2521 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2522 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2523 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2524 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2525 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2526 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2527 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2528 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2529 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2530 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2531 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2532 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2533 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2534 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2535 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2536 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 }
Thomas Davies4ba27d02017-04-05 11:43:36 +01002537 };
Angie Chiangaadbb022017-06-01 16:08:03 -07002538#else // USE_EXTRA_FILTER
2539static const aom_cdf_prob
2540 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2541 SWITCHABLE_FILTERS)] = {
Yue Chend9de81e2017-07-10 16:58:13 -07002542 { AOM_ICDF(32256), AOM_ICDF(32654), AOM_ICDF(32768), 0 },
2543 { AOM_ICDF(2816), AOM_ICDF(32651), AOM_ICDF(32768), 0 },
2544 { AOM_ICDF(512), AOM_ICDF(764), AOM_ICDF(32768), 0 },
2545 { AOM_ICDF(30464), AOM_ICDF(31778), AOM_ICDF(32768), 0 },
2546 { AOM_ICDF(32384), AOM_ICDF(32483), AOM_ICDF(32768), 0 },
2547 { AOM_ICDF(3072), AOM_ICDF(32652), AOM_ICDF(32768), 0 },
2548 { AOM_ICDF(256), AOM_ICDF(383), AOM_ICDF(32768), 0 },
2549 { AOM_ICDF(25344), AOM_ICDF(26533), AOM_ICDF(32768), 0 },
2550 { AOM_ICDF(32000), AOM_ICDF(32531), AOM_ICDF(32768), 0 },
2551 { AOM_ICDF(2048), AOM_ICDF(32648), AOM_ICDF(32768), 0 },
2552 { AOM_ICDF(384), AOM_ICDF(890), AOM_ICDF(32768), 0 },
2553 { AOM_ICDF(28928), AOM_ICDF(31358), AOM_ICDF(32768), 0 },
2554 { AOM_ICDF(31616), AOM_ICDF(31787), AOM_ICDF(32768), 0 },
2555 { AOM_ICDF(4224), AOM_ICDF(32433), AOM_ICDF(32768), 0 },
2556 { AOM_ICDF(128), AOM_ICDF(256), AOM_ICDF(32768), 0 },
2557 { AOM_ICDF(17408), AOM_ICDF(18248), AOM_ICDF(32768), 0 }
Angie Chiangaadbb022017-06-01 16:08:03 -07002558 };
2559#endif // USE_EXTRA_FILTER
2560#else // CONFIG_DUAL_FILTER
Thomas Davies1d7db722017-02-22 11:15:00 +00002561static const aom_cdf_prob
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002562 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2563 SWITCHABLE_FILTERS)] = {
2564 { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
2565 { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
2566 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
2567 { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
2568 };
Angie Chiangaadbb022017-06-01 16:08:03 -07002569#endif // CONFIG_DUAL_FILTER
Thomas Davies1d7db722017-02-22 11:15:00 +00002570
2571static const aom_cdf_prob default_seg_tree_cdf[CDF_SIZE(MAX_SEGMENTS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002572 AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288),
2573 AOM_ICDF(16384), AOM_ICDF(20480), AOM_ICDF(24576),
2574 AOM_ICDF(28672), AOM_ICDF(32768), 0
Thomas Davies1d7db722017-02-22 11:15:00 +00002575};
2576
2577static const aom_cdf_prob
2578 default_tx_size_cdf[MAX_TX_DEPTH][TX_SIZE_CONTEXTS][CDF_SIZE(MAX_TX_DEPTH +
2579 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002580 { { AOM_ICDF(12800), AOM_ICDF(32768), 0 },
2581 { AOM_ICDF(8448), AOM_ICDF(32768), 0 } },
2582 { { AOM_ICDF(2560), AOM_ICDF(20496), AOM_ICDF(32768), 0 },
2583 { AOM_ICDF(1920), AOM_ICDF(14091), AOM_ICDF(32768), 0 } },
2584 { { AOM_ICDF(384), AOM_ICDF(17588), AOM_ICDF(19782), AOM_ICDF(32768), 0 },
2585 { AOM_ICDF(640), AOM_ICDF(7166), AOM_ICDF(8466), AOM_ICDF(32768), 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002586#if CONFIG_TX64X64
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002587 { { AOM_ICDF(128), AOM_ICDF(8288), AOM_ICDF(21293), AOM_ICDF(26986),
2588 AOM_ICDF(32768), 0 },
2589 { AOM_ICDF(128), AOM_ICDF(4208), AOM_ICDF(10009), AOM_ICDF(15965),
2590 AOM_ICDF(32768), 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002591#endif
2592 };
2593
Urvang Joshi63234542017-03-10 12:04:03 -08002594#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002595#if CONFIG_SMOOTH_HV
2596static const aom_cdf_prob
2597 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2598 { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(11980), AOM_ICDF(15213),
2599 AOM_ICDF(18579), AOM_ICDF(21075), AOM_ICDF(24090), AOM_ICDF(25954),
2600 AOM_ICDF(27870), AOM_ICDF(29439), AOM_ICDF(31051), AOM_ICDF(31863),
2601 AOM_ICDF(32768), 0 },
2602 { AOM_ICDF(11776), AOM_ICDF(21616), AOM_ICDF(23663), AOM_ICDF(25147),
2603 AOM_ICDF(26060), AOM_ICDF(26828), AOM_ICDF(27246), AOM_ICDF(28066),
2604 AOM_ICDF(28654), AOM_ICDF(29474), AOM_ICDF(31353), AOM_ICDF(32038),
2605 AOM_ICDF(32768), 0 },
2606 { AOM_ICDF(14720), AOM_ICDF(21911), AOM_ICDF(23650), AOM_ICDF(25282),
2607 AOM_ICDF(25740), AOM_ICDF(26108), AOM_ICDF(26316), AOM_ICDF(26896),
2608 AOM_ICDF(27194), AOM_ICDF(27695), AOM_ICDF(30113), AOM_ICDF(31254),
2609 AOM_ICDF(32768), 0 },
2610 { AOM_ICDF(18944), AOM_ICDF(27422), AOM_ICDF(28403), AOM_ICDF(29386),
2611 AOM_ICDF(29405), AOM_ICDF(29460), AOM_ICDF(29550), AOM_ICDF(29588),
2612 AOM_ICDF(29600), AOM_ICDF(29637), AOM_ICDF(30542), AOM_ICDF(31298),
2613 AOM_ICDF(32768), 0 },
2614 };
2615
Luc Trudeau6e1cd782017-06-21 13:52:36 -04002616#if CONFIG_CFL
2617static const aom_cdf_prob
2618 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
2619 { AOM_ICDF(18377), AOM_ICDF(18815), AOM_ICDF(19743), AOM_ICDF(20178),
2620 AOM_ICDF(20560), AOM_ICDF(20889), AOM_ICDF(21359), AOM_ICDF(22098),
2621 AOM_ICDF(22481), AOM_ICDF(24563), AOM_ICDF(25781), AOM_ICDF(26662),
2622 AOM_ICDF(28396), AOM_ICDF(32768), 0 },
2623 { AOM_ICDF(5350), AOM_ICDF(16837), AOM_ICDF(17066), AOM_ICDF(17360),
2624 AOM_ICDF(17692), AOM_ICDF(18778), AOM_ICDF(18969), AOM_ICDF(19206),
2625 AOM_ICDF(20291), AOM_ICDF(22367), AOM_ICDF(23212), AOM_ICDF(24670),
2626 AOM_ICDF(27912), AOM_ICDF(32768), 0 },
2627 { AOM_ICDF(6671), AOM_ICDF(6759), AOM_ICDF(17812), AOM_ICDF(17998),
2628 AOM_ICDF(18260), AOM_ICDF(18384), AOM_ICDF(19408), AOM_ICDF(20667),
2629 AOM_ICDF(20806), AOM_ICDF(22760), AOM_ICDF(24142), AOM_ICDF(24875),
2630 AOM_ICDF(28072), AOM_ICDF(32768), 0 },
2631 { AOM_ICDF(7461), AOM_ICDF(8082), AOM_ICDF(8515), AOM_ICDF(15013),
2632 AOM_ICDF(15583), AOM_ICDF(16098), AOM_ICDF(16522), AOM_ICDF(18519),
2633 AOM_ICDF(20348), AOM_ICDF(22954), AOM_ICDF(24130), AOM_ICDF(25342),
2634 AOM_ICDF(26548), AOM_ICDF(32768), 0 },
2635 { AOM_ICDF(3694), AOM_ICDF(4403), AOM_ICDF(5370), AOM_ICDF(5854),
2636 AOM_ICDF(17841), AOM_ICDF(19639), AOM_ICDF(21625), AOM_ICDF(22224),
2637 AOM_ICDF(22651), AOM_ICDF(24613), AOM_ICDF(25399), AOM_ICDF(26143),
2638 AOM_ICDF(26599), AOM_ICDF(32768), 0 },
2639 { AOM_ICDF(3700), AOM_ICDF(5651), AOM_ICDF(6112), AOM_ICDF(6541),
2640 AOM_ICDF(8929), AOM_ICDF(20623), AOM_ICDF(21213), AOM_ICDF(21640),
2641 AOM_ICDF(22214), AOM_ICDF(24306), AOM_ICDF(25412), AOM_ICDF(26406),
2642 AOM_ICDF(27249), AOM_ICDF(32768), 0 },
2643 { AOM_ICDF(4649), AOM_ICDF(4947), AOM_ICDF(7128), AOM_ICDF(7432),
2644 AOM_ICDF(9439), AOM_ICDF(9903), AOM_ICDF(21163), AOM_ICDF(21774),
2645 AOM_ICDF(22056), AOM_ICDF(24426), AOM_ICDF(25403), AOM_ICDF(26324),
2646 AOM_ICDF(27128), AOM_ICDF(32768), 0 },
2647 { AOM_ICDF(7208), AOM_ICDF(7375), AOM_ICDF(8779), AOM_ICDF(9683),
2648 AOM_ICDF(10072), AOM_ICDF(10284), AOM_ICDF(10796), AOM_ICDF(19786),
2649 AOM_ICDF(20152), AOM_ICDF(22955), AOM_ICDF(24246), AOM_ICDF(25165),
2650 AOM_ICDF(26589), AOM_ICDF(32768), 0 },
2651 { AOM_ICDF(5897), AOM_ICDF(7283), AOM_ICDF(7555), AOM_ICDF(8910),
2652 AOM_ICDF(9391), AOM_ICDF(9937), AOM_ICDF(10276), AOM_ICDF(11044),
2653 AOM_ICDF(19841), AOM_ICDF(22620), AOM_ICDF(23784), AOM_ICDF(25060),
2654 AOM_ICDF(26418), AOM_ICDF(32768), 0 },
2655 { AOM_ICDF(12171), AOM_ICDF(12718), AOM_ICDF(13885), AOM_ICDF(14348),
2656 AOM_ICDF(14925), AOM_ICDF(15394), AOM_ICDF(16108), AOM_ICDF(17075),
2657 AOM_ICDF(17583), AOM_ICDF(21996), AOM_ICDF(23614), AOM_ICDF(25048),
2658 AOM_ICDF(27011), AOM_ICDF(32768), 0 },
2659 { AOM_ICDF(10192), AOM_ICDF(11222), AOM_ICDF(12318), AOM_ICDF(12877),
2660 AOM_ICDF(13533), AOM_ICDF(14184), AOM_ICDF(14866), AOM_ICDF(15879),
2661 AOM_ICDF(16650), AOM_ICDF(20419), AOM_ICDF(23265), AOM_ICDF(24295),
2662 AOM_ICDF(26596), AOM_ICDF(32768), 0 },
2663 { AOM_ICDF(10776), AOM_ICDF(11387), AOM_ICDF(12899), AOM_ICDF(13471),
2664 AOM_ICDF(14088), AOM_ICDF(14575), AOM_ICDF(15366), AOM_ICDF(16456),
2665 AOM_ICDF(17040), AOM_ICDF(20815), AOM_ICDF(22009), AOM_ICDF(24448),
2666 AOM_ICDF(26492), AOM_ICDF(32768), 0 },
2667 { AOM_ICDF(4015), AOM_ICDF(6473), AOM_ICDF(9853), AOM_ICDF(10285),
2668 AOM_ICDF(10655), AOM_ICDF(11032), AOM_ICDF(11431), AOM_ICDF(12199),
2669 AOM_ICDF(12738), AOM_ICDF(14760), AOM_ICDF(16121), AOM_ICDF(17263),
2670 AOM_ICDF(28612), AOM_ICDF(32768), 0 },
2671 };
2672#else
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002673static const aom_cdf_prob
Luc Trudeaud6d9eee2017-07-12 12:36:50 -04002674 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002675 { AOM_ICDF(23552), AOM_ICDF(23660), AOM_ICDF(26044), AOM_ICDF(28731),
2676 AOM_ICDF(29093), AOM_ICDF(29590), AOM_ICDF(30000), AOM_ICDF(30465),
2677 AOM_ICDF(30825), AOM_ICDF(31478), AOM_ICDF(32088), AOM_ICDF(32401),
2678 AOM_ICDF(32768), 0 },
2679 { AOM_ICDF(2944), AOM_ICDF(3294), AOM_ICDF(26781), AOM_ICDF(27903),
2680 AOM_ICDF(28179), AOM_ICDF(29237), AOM_ICDF(29430), AOM_ICDF(30317),
2681 AOM_ICDF(30441), AOM_ICDF(30614), AOM_ICDF(31556), AOM_ICDF(31963),
2682 AOM_ICDF(32768), 0 },
2683 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(5453), AOM_ICDF(28285),
2684 AOM_ICDF(28641), AOM_ICDF(28927), AOM_ICDF(29092), AOM_ICDF(29279),
2685 AOM_ICDF(30083), AOM_ICDF(31384), AOM_ICDF(32027), AOM_ICDF(32406),
2686 AOM_ICDF(32768), 0 },
2687 { AOM_ICDF(17664), AOM_ICDF(17841), AOM_ICDF(20465), AOM_ICDF(22016),
2688 AOM_ICDF(22364), AOM_ICDF(22916), AOM_ICDF(27149), AOM_ICDF(29498),
2689 AOM_ICDF(29766), AOM_ICDF(31091), AOM_ICDF(31871), AOM_ICDF(32260),
2690 AOM_ICDF(32768), 0 },
2691 { AOM_ICDF(16640), AOM_ICDF(16766), AOM_ICDF(18516), AOM_ICDF(20359),
2692 AOM_ICDF(24964), AOM_ICDF(27591), AOM_ICDF(27915), AOM_ICDF(28389),
2693 AOM_ICDF(29997), AOM_ICDF(30495), AOM_ICDF(31623), AOM_ICDF(32151),
2694 AOM_ICDF(32768), 0 },
2695 { AOM_ICDF(13952), AOM_ICDF(14173), AOM_ICDF(18168), AOM_ICDF(19139),
2696 AOM_ICDF(21064), AOM_ICDF(30601), AOM_ICDF(30889), AOM_ICDF(31410),
2697 AOM_ICDF(31803), AOM_ICDF(32059), AOM_ICDF(32358), AOM_ICDF(32563),
2698 AOM_ICDF(32768), 0 },
2699 { AOM_ICDF(15872), AOM_ICDF(15938), AOM_ICDF(17056), AOM_ICDF(21545),
2700 AOM_ICDF(23947), AOM_ICDF(24667), AOM_ICDF(24920), AOM_ICDF(25196),
2701 AOM_ICDF(30638), AOM_ICDF(31229), AOM_ICDF(31968), AOM_ICDF(32284),
2702 AOM_ICDF(32768), 0 },
2703 { AOM_ICDF(16256), AOM_ICDF(16385), AOM_ICDF(17409), AOM_ICDF(23210),
2704 AOM_ICDF(23628), AOM_ICDF(24009), AOM_ICDF(24967), AOM_ICDF(25546),
2705 AOM_ICDF(26054), AOM_ICDF(31037), AOM_ICDF(31875), AOM_ICDF(32335),
2706 AOM_ICDF(32768), 0 },
2707 { AOM_ICDF(14720), AOM_ICDF(14932), AOM_ICDF(19461), AOM_ICDF(20713),
2708 AOM_ICDF(21073), AOM_ICDF(21852), AOM_ICDF(23430), AOM_ICDF(29631),
2709 AOM_ICDF(29876), AOM_ICDF(30520), AOM_ICDF(31591), AOM_ICDF(32078),
2710 AOM_ICDF(32768), 0 },
2711 { AOM_ICDF(16768), AOM_ICDF(17018), AOM_ICDF(20217), AOM_ICDF(22624),
2712 AOM_ICDF(23484), AOM_ICDF(23698), AOM_ICDF(24300), AOM_ICDF(25193),
2713 AOM_ICDF(25785), AOM_ICDF(26903), AOM_ICDF(29835), AOM_ICDF(31187),
2714 AOM_ICDF(32768), 0 },
2715 { AOM_ICDF(16768), AOM_ICDF(17081), AOM_ICDF(21064), AOM_ICDF(23339),
2716 AOM_ICDF(24047), AOM_ICDF(24264), AOM_ICDF(24829), AOM_ICDF(25759),
2717 AOM_ICDF(26224), AOM_ICDF(27119), AOM_ICDF(29833), AOM_ICDF(31599),
2718 AOM_ICDF(32768), 0 },
2719 { AOM_ICDF(17536), AOM_ICDF(17774), AOM_ICDF(20293), AOM_ICDF(23203),
2720 AOM_ICDF(23906), AOM_ICDF(24094), AOM_ICDF(24636), AOM_ICDF(25303),
2721 AOM_ICDF(26003), AOM_ICDF(27271), AOM_ICDF(29912), AOM_ICDF(30927),
2722 AOM_ICDF(32768), 0 },
2723 { AOM_ICDF(17536), AOM_ICDF(18250), AOM_ICDF(23467), AOM_ICDF(27840),
2724 AOM_ICDF(28058), AOM_ICDF(28626), AOM_ICDF(28853), AOM_ICDF(29541),
2725 AOM_ICDF(29907), AOM_ICDF(30600), AOM_ICDF(31515), AOM_ICDF(32049),
2726 AOM_ICDF(32768), 0 },
2727 };
Luc Trudeau6e1cd782017-06-21 13:52:36 -04002728#endif // CONFIG_CFL
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002729#else // !CONFIG_SMOOTH_HV
Urvang Joshi63234542017-03-10 12:04:03 -08002730static const aom_cdf_prob
2731 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002732 { AOM_ICDF(11264), AOM_ICDF(12608), AOM_ICDF(16309), AOM_ICDF(21086),
2733 AOM_ICDF(23297), AOM_ICDF(24860), AOM_ICDF(27022), AOM_ICDF(28099),
2734 AOM_ICDF(29631), AOM_ICDF(31126), AOM_ICDF(32768), 0 },
2735 { AOM_ICDF(9600), AOM_ICDF(11953), AOM_ICDF(16100), AOM_ICDF(20922),
2736 AOM_ICDF(22756), AOM_ICDF(23913), AOM_ICDF(25435), AOM_ICDF(26724),
2737 AOM_ICDF(28046), AOM_ICDF(29927), AOM_ICDF(32768), 0 },
2738 { AOM_ICDF(9344), AOM_ICDF(11540), AOM_ICDF(16515), AOM_ICDF(21763),
2739 AOM_ICDF(23078), AOM_ICDF(23816), AOM_ICDF(24725), AOM_ICDF(25856),
2740 AOM_ICDF(26720), AOM_ICDF(28208), AOM_ICDF(32768), 0 },
2741 { AOM_ICDF(12288), AOM_ICDF(14448), AOM_ICDF(18026), AOM_ICDF(23346),
2742 AOM_ICDF(23833), AOM_ICDF(24188), AOM_ICDF(24724), AOM_ICDF(25415),
2743 AOM_ICDF(25817), AOM_ICDF(26876), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08002744 };
2745
2746static const aom_cdf_prob
Luc Trudeaud6d9eee2017-07-12 12:36:50 -04002747 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002748 { AOM_ICDF(25472), AOM_ICDF(25558), AOM_ICDF(27783), AOM_ICDF(30779),
2749 AOM_ICDF(30988), AOM_ICDF(31269), AOM_ICDF(31492), AOM_ICDF(31741),
2750 AOM_ICDF(32014), AOM_ICDF(32420), AOM_ICDF(32768), 0 },
2751 { AOM_ICDF(2176), AOM_ICDF(2415), AOM_ICDF(28381), AOM_ICDF(29574),
2752 AOM_ICDF(29832), AOM_ICDF(30712), AOM_ICDF(30881), AOM_ICDF(31662),
2753 AOM_ICDF(31761), AOM_ICDF(31922), AOM_ICDF(32768), 0 },
2754 { AOM_ICDF(3328), AOM_ICDF(3443), AOM_ICDF(4016), AOM_ICDF(31099),
2755 AOM_ICDF(31272), AOM_ICDF(31420), AOM_ICDF(31504), AOM_ICDF(31608),
2756 AOM_ICDF(31916), AOM_ICDF(32598), AOM_ICDF(32768), 0 },
2757 { AOM_ICDF(23424), AOM_ICDF(23534), AOM_ICDF(25915), AOM_ICDF(27831),
2758 AOM_ICDF(28058), AOM_ICDF(28431), AOM_ICDF(30142), AOM_ICDF(31209),
2759 AOM_ICDF(31459), AOM_ICDF(32369), AOM_ICDF(32768), 0 },
2760 { AOM_ICDF(22784), AOM_ICDF(22862), AOM_ICDF(24255), AOM_ICDF(26287),
2761 AOM_ICDF(28490), AOM_ICDF(29509), AOM_ICDF(29776), AOM_ICDF(30115),
2762 AOM_ICDF(31203), AOM_ICDF(31674), AOM_ICDF(32768), 0 },
2763 { AOM_ICDF(19712), AOM_ICDF(19865), AOM_ICDF(23141), AOM_ICDF(24428),
2764 AOM_ICDF(25731), AOM_ICDF(31377), AOM_ICDF(31622), AOM_ICDF(32047),
2765 AOM_ICDF(32458), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
2766 { AOM_ICDF(21376), AOM_ICDF(21421), AOM_ICDF(22130), AOM_ICDF(27688),
2767 AOM_ICDF(28485), AOM_ICDF(28779), AOM_ICDF(28935), AOM_ICDF(29085),
2768 AOM_ICDF(31962), AOM_ICDF(32450), AOM_ICDF(32768), 0 },
2769 { AOM_ICDF(19712), AOM_ICDF(19814), AOM_ICDF(20725), AOM_ICDF(28510),
2770 AOM_ICDF(28814), AOM_ICDF(29099), AOM_ICDF(29457), AOM_ICDF(29729),
2771 AOM_ICDF(30133), AOM_ICDF(32408), AOM_ICDF(32768), 0 },
2772 { AOM_ICDF(19584), AOM_ICDF(19790), AOM_ICDF(23643), AOM_ICDF(25501),
2773 AOM_ICDF(25913), AOM_ICDF(26673), AOM_ICDF(27578), AOM_ICDF(30923),
2774 AOM_ICDF(31255), AOM_ICDF(31870), AOM_ICDF(32768), 0 },
2775 { AOM_ICDF(20864), AOM_ICDF(21004), AOM_ICDF(24129), AOM_ICDF(26308),
2776 AOM_ICDF(27062), AOM_ICDF(27065), AOM_ICDF(27488), AOM_ICDF(28045),
2777 AOM_ICDF(28506), AOM_ICDF(29272), AOM_ICDF(32768), 0 },
2778 { AOM_ICDF(23680), AOM_ICDF(23929), AOM_ICDF(27831), AOM_ICDF(30446),
2779 AOM_ICDF(30598), AOM_ICDF(31129), AOM_ICDF(31244), AOM_ICDF(31655),
2780 AOM_ICDF(31868), AOM_ICDF(32234), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08002781 };
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002782#endif // CONFIG_SMOOTH_HV
Zoe Liu7f24e1b2017-03-17 17:42:05 -07002783#else // !CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002784static const aom_cdf_prob
2785 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2786 { AOM_ICDF(8320), AOM_ICDF(11376), AOM_ICDF(12880), AOM_ICDF(19959),
2787 AOM_ICDF(23072), AOM_ICDF(24067), AOM_ICDF(25461), AOM_ICDF(26917),
2788 AOM_ICDF(29157), AOM_ICDF(32768), 0 },
2789 { AOM_ICDF(16896), AOM_ICDF(21112), AOM_ICDF(21932), AOM_ICDF(27852),
2790 AOM_ICDF(28667), AOM_ICDF(28916), AOM_ICDF(29593), AOM_ICDF(30089),
2791 AOM_ICDF(30905), AOM_ICDF(32768), 0 },
2792 { AOM_ICDF(22144), AOM_ICDF(25464), AOM_ICDF(26006), AOM_ICDF(30364),
2793 AOM_ICDF(30583), AOM_ICDF(30655), AOM_ICDF(31183), AOM_ICDF(31400),
2794 AOM_ICDF(31646), AOM_ICDF(32768), 0 },
2795 { AOM_ICDF(28288), AOM_ICDF(30650), AOM_ICDF(30964), AOM_ICDF(32288),
2796 AOM_ICDF(32308), AOM_ICDF(32331), AOM_ICDF(32495), AOM_ICDF(32586),
2797 AOM_ICDF(32607), AOM_ICDF(32768), 0 },
2798 };
Thomas Davies1d7db722017-02-22 11:15:00 +00002799
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002800static const aom_cdf_prob
Luc Trudeaud6d9eee2017-07-12 12:36:50 -04002801 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002802 { AOM_ICDF(15360), AOM_ICDF(15836), AOM_ICDF(20863), AOM_ICDF(27513),
2803 AOM_ICDF(28269), AOM_ICDF(29048), AOM_ICDF(29455), AOM_ICDF(30154),
2804 AOM_ICDF(31206), AOM_ICDF(32768), 0 },
2805 { AOM_ICDF(6144), AOM_ICDF(7392), AOM_ICDF(22657), AOM_ICDF(25981),
2806 AOM_ICDF(26965), AOM_ICDF(28779), AOM_ICDF(29309), AOM_ICDF(30890),
2807 AOM_ICDF(31763), AOM_ICDF(32768), 0 },
2808 { AOM_ICDF(8576), AOM_ICDF(9143), AOM_ICDF(11450), AOM_ICDF(27575),
2809 AOM_ICDF(28108), AOM_ICDF(28438), AOM_ICDF(28658), AOM_ICDF(28995),
2810 AOM_ICDF(30410), AOM_ICDF(32768), 0 },
2811 { AOM_ICDF(12416), AOM_ICDF(12814), AOM_ICDF(16244), AOM_ICDF(22057),
2812 AOM_ICDF(23492), AOM_ICDF(24700), AOM_ICDF(26213), AOM_ICDF(27954),
2813 AOM_ICDF(29778), AOM_ICDF(32768), 0 },
2814 { AOM_ICDF(10624), AOM_ICDF(11057), AOM_ICDF(14619), AOM_ICDF(19415),
2815 AOM_ICDF(23134), AOM_ICDF(25679), AOM_ICDF(26399), AOM_ICDF(27618),
2816 AOM_ICDF(30676), AOM_ICDF(32768), 0 },
2817 { AOM_ICDF(10240), AOM_ICDF(10680), AOM_ICDF(15684), AOM_ICDF(19118),
2818 AOM_ICDF(21856), AOM_ICDF(27563), AOM_ICDF(28234), AOM_ICDF(29332),
2819 AOM_ICDF(31278), AOM_ICDF(32768), 0 },
2820 { AOM_ICDF(11008), AOM_ICDF(11433), AOM_ICDF(14100), AOM_ICDF(22522),
2821 AOM_ICDF(24365), AOM_ICDF(25330), AOM_ICDF(25737), AOM_ICDF(26341),
2822 AOM_ICDF(30433), AOM_ICDF(32768), 0 },
2823 { AOM_ICDF(10880), AOM_ICDF(11308), AOM_ICDF(13991), AOM_ICDF(23645),
2824 AOM_ICDF(24679), AOM_ICDF(25433), AOM_ICDF(25977), AOM_ICDF(26746),
2825 AOM_ICDF(28463), AOM_ICDF(32768), 0 },
2826 { AOM_ICDF(9856), AOM_ICDF(10483), AOM_ICDF(16054), AOM_ICDF(19959),
2827 AOM_ICDF(21708), AOM_ICDF(23628), AOM_ICDF(24949), AOM_ICDF(28797),
2828 AOM_ICDF(30658), AOM_ICDF(32768), 0 },
2829 { AOM_ICDF(12928), AOM_ICDF(14556), AOM_ICDF(22168), AOM_ICDF(27789),
2830 AOM_ICDF(28543), AOM_ICDF(29663), AOM_ICDF(29893), AOM_ICDF(30645),
2831 AOM_ICDF(31682), AOM_ICDF(32768), 0 },
2832 };
Urvang Joshi63234542017-03-10 12:04:03 -08002833#endif // CONFIG_ALT_INTRA
Thomas Davies1d7db722017-02-22 11:15:00 +00002834
Alex Converse57795a42017-03-14 12:18:25 -07002835#if CONFIG_EXT_PARTITION_TYPES
2836static const aom_cdf_prob
2837 default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(EXT_PARTITION_TYPES)] = {
2838 // 8x8 -> 4x4 only supports the four legacy partition types
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002839 { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002840 0, 0, 0, 0, 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002841 { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002842 0, 0, 0, 0, 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002843 { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002844 0, 0, 0, 0, 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002845 { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002846 0, 0, 0, 0, 0, 0 },
2847 // 16x16 -> 8x8
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002848 { AOM_ICDF(22272), AOM_ICDF(23768), AOM_ICDF(25043), AOM_ICDF(29996),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002849 AOM_ICDF(30744), AOM_ICDF(31493), AOM_ICDF(32130), AOM_ICDF(32768), 0,
2850 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002851 { AOM_ICDF(11776), AOM_ICDF(13457), AOM_ICDF(16315), AOM_ICDF(28229),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002852 AOM_ICDF(29069), AOM_ICDF(29910), AOM_ICDF(31339), AOM_ICDF(32768), 0,
2853 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002854 { AOM_ICDF(10496), AOM_ICDF(14802), AOM_ICDF(16136), AOM_ICDF(27127),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002855 AOM_ICDF(29280), AOM_ICDF(31434), AOM_ICDF(32101), AOM_ICDF(32768), 0,
2856 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002857 { AOM_ICDF(6784), AOM_ICDF(8763), AOM_ICDF(10440), AOM_ICDF(29110),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002858 AOM_ICDF(30100), AOM_ICDF(31090), AOM_ICDF(31929), AOM_ICDF(32768), 0,
2859 0, 0 },
2860 // 32x32 -> 16x16
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002861 { AOM_ICDF(22656), AOM_ICDF(23801), AOM_ICDF(24702), AOM_ICDF(30721),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002862 AOM_ICDF(31103), AOM_ICDF(31485), AOM_ICDF(31785), AOM_ICDF(32085),
2863 AOM_ICDF(32467), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002864 { AOM_ICDF(8704), AOM_ICDF(9926), AOM_ICDF(12586), AOM_ICDF(28885),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002865 AOM_ICDF(29292), AOM_ICDF(29699), AOM_ICDF(30586), AOM_ICDF(31473),
2866 AOM_ICDF(31881), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002867 { AOM_ICDF(6656), AOM_ICDF(10685), AOM_ICDF(11566), AOM_ICDF(27857),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002868 AOM_ICDF(29200), AOM_ICDF(30543), AOM_ICDF(30837), AOM_ICDF(31131),
2869 AOM_ICDF(32474), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002870 { AOM_ICDF(2176), AOM_ICDF(3012), AOM_ICDF(3690), AOM_ICDF(31253),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002871 AOM_ICDF(31532), AOM_ICDF(31811), AOM_ICDF(32037), AOM_ICDF(32263),
2872 AOM_ICDF(32542), AOM_ICDF(32768), 0 },
2873 // 64x64 -> 32x32
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002874 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002875 AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32657), AOM_ICDF(32768), 0,
2876 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002877 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002878 AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(31819), AOM_ICDF(32768), 0,
2879 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002880 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002881 AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32508), AOM_ICDF(32768), 0,
2882 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002883 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002884 AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32588), AOM_ICDF(32768), 0,
2885 0, 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002886#if CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002887 // 128x128 -> 64x64
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002888 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002889 AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32548), AOM_ICDF(32768), 0,
2890 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002891 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002892 AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(30871), AOM_ICDF(32768), 0,
2893 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002894 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002895 AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32249), AOM_ICDF(32768), 0,
2896 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002897 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002898 AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32410), AOM_ICDF(32768), 0,
2899 0, 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002900#endif
2901 };
2902#else
Thomas Davies1d7db722017-02-22 11:15:00 +00002903static const aom_cdf_prob
2904 default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(PARTITION_TYPES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002905 { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0 },
2906 { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0 },
2907 { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0 },
2908 { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0 },
2909 { AOM_ICDF(22272), AOM_ICDF(25265), AOM_ICDF(27815), AOM_ICDF(32768), 0 },
2910 { AOM_ICDF(11776), AOM_ICDF(15138), AOM_ICDF(20854), AOM_ICDF(32768), 0 },
2911 { AOM_ICDF(10496), AOM_ICDF(19109), AOM_ICDF(21777), AOM_ICDF(32768), 0 },
2912 { AOM_ICDF(6784), AOM_ICDF(10743), AOM_ICDF(14098), AOM_ICDF(32768), 0 },
2913 { AOM_ICDF(22656), AOM_ICDF(24947), AOM_ICDF(26749), AOM_ICDF(32768), 0 },
2914 { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(16469), AOM_ICDF(32768), 0 },
2915 { AOM_ICDF(6656), AOM_ICDF(14714), AOM_ICDF(16477), AOM_ICDF(32768), 0 },
2916 { AOM_ICDF(2176), AOM_ICDF(3849), AOM_ICDF(5205), AOM_ICDF(32768), 0 },
2917 { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
2918 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
2919 { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
2920 { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002921#if CONFIG_EXT_PARTITION
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002922 { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
2923 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
2924 { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
2925 { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002926#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00002927 };
Alex Converse57795a42017-03-14 12:18:25 -07002928#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00002929
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002930#if CONFIG_EXT_TX
2931static const aom_cdf_prob default_intra_ext_tx_cdf
2932 [EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES][CDF_SIZE(TX_TYPES)] = {
2933 {
2934// FIXME: unused zero positions, from uncoded trivial transform set
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002935#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002936 {
2937 { 0 },
2938 },
2939#endif
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002940 {
2941 { 0 },
2942 { 0 },
2943 { 0 },
2944 { 0 },
2945 { 0 },
2946 { 0 },
2947 { 0 },
2948 { 0 },
2949 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002950#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002951 { 0 },
2952#if CONFIG_SMOOTH_HV
2953 { 0 },
2954 { 0 },
2955#endif // CONFIG_SMOOTH_HV
2956#endif // CONFIG_ALT_INTRA
2957 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002958 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002959 {
2960 { 0 },
2961 { 0 },
2962 { 0 },
2963 { 0 },
2964 { 0 },
2965 { 0 },
2966 { 0 },
2967 { 0 },
2968 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002969#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002970 { 0 },
2971#if CONFIG_SMOOTH_HV
2972 { 0 },
2973 { 0 },
2974#endif // CONFIG_SMOOTH_HV
2975#endif // CONFIG_ALT_INTRA
2976 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002977 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002978 {
2979 { 0 },
2980 { 0 },
2981 { 0 },
2982 { 0 },
2983 { 0 },
2984 { 0 },
2985 { 0 },
2986 { 0 },
2987 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002988#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002989 { 0 },
2990#if CONFIG_SMOOTH_HV
2991 { 0 },
2992 { 0 },
2993#endif // CONFIG_SMOOTH_HV
2994#endif // CONFIG_ALT_INTRA
2995 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002996 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002997 {
2998 { 0 },
2999 { 0 },
3000 { 0 },
3001 { 0 },
3002 { 0 },
3003 { 0 },
3004 { 0 },
3005 { 0 },
3006 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003007#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003008 { 0 },
3009#if CONFIG_SMOOTH_HV
3010 { 0 },
3011 { 0 },
3012#endif // CONFIG_SMOOTH_HV
3013#endif // CONFIG_ALT_INTRA
3014 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003015 },
3016 },
3017 {
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003018 {
3019 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3020 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3021 AOM_ICDF(32768), 0 },
3022 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3023 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3024 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3025 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3026 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3027 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3028 AOM_ICDF(32768), 0 },
3029 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3030 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3031 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3032 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3033 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3034 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3035 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3036 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3037 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3038 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003039#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003040 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3041 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3042#if CONFIG_SMOOTH_HV
3043 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3044 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3045 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3046 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3047#endif // CONFIG_SMOOTH_HV
3048#endif // CONFIG_ALT_INTRA
3049 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3050 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003051 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003052 {
3053 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3054 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3055 AOM_ICDF(32768), 0 },
3056 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3057 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3058 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3059 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3060 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3061 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3062 AOM_ICDF(32768), 0 },
3063 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3064 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3065 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3066 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3067 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3068 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3069 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3070 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3071 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3072 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003073#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003074 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3075 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3076#if CONFIG_SMOOTH_HV
3077 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3078 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3079 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3080 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3081#endif // CONFIG_SMOOTH_HV
3082#endif // CONFIG_ALT_INTRA
3083 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3084 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003085 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003086 {
3087 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3088 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3089 AOM_ICDF(32768), 0 },
3090 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3091 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3092 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3093 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3094 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3095 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3096 AOM_ICDF(32768), 0 },
3097 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3098 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3099 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3100 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3101 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3102 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3103 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3104 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3105 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3106 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003107#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003108 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3109 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3110#if CONFIG_SMOOTH_HV
3111 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3112 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3113 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3114 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3115#endif // CONFIG_SMOOTH_HV
3116#endif // CONFIG_ALT_INTRA
3117 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3118 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003119 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003120 {
3121 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3122 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3123 AOM_ICDF(32768), 0 },
3124 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3125 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3126 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3127 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3128 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3129 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3130 AOM_ICDF(32768), 0 },
3131 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3132 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3133 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3134 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3135 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3136 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3137 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3138 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3139 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3140 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003141#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003142 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3143 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3144#if CONFIG_SMOOTH_HV
3145 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3146 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3147 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3148 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3149#endif // CONFIG_SMOOTH_HV
3150#endif // CONFIG_ALT_INTRA
3151 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3152 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003153 },
3154 },
3155 {
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003156 {
3157 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3158 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3159 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3160 AOM_ICDF(32768), 0 },
3161 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3162 AOM_ICDF(32768), 0 },
3163 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3164 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3165 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3166 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
3167 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3168 AOM_ICDF(32768), 0 },
3169 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3170 AOM_ICDF(32768), 0 },
3171 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3172 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3173 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3174 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003175#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003176 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3177 AOM_ICDF(32768), 0 },
3178#if CONFIG_SMOOTH_HV
3179 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3180 AOM_ICDF(32768), 0 },
3181 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3182 AOM_ICDF(32768), 0 },
3183#endif // CONFIG_SMOOTH_HV
3184#endif // CONFIG_ALT_INTRA
3185 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3186 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003187 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003188 {
3189 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3190 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3191 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3192 AOM_ICDF(32768), 0 },
3193 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3194 AOM_ICDF(32768), 0 },
3195 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3196 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3197 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3198 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
3199 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3200 AOM_ICDF(32768), 0 },
3201 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3202 AOM_ICDF(32768), 0 },
3203 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3204 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3205 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3206 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003207#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003208 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3209 AOM_ICDF(32768), 0 },
3210#if CONFIG_SMOOTH_HV
3211 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3212 AOM_ICDF(32768), 0 },
3213 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3214 AOM_ICDF(32768), 0 },
3215#endif // CONFIG_SMOOTH_HV
3216#endif // CONFIG_ALT_INTRA
3217 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3218 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003219 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003220 {
3221 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3222 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3223 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3224 AOM_ICDF(32768), 0 },
3225 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3226 AOM_ICDF(32768), 0 },
3227 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3228 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3229 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3230 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
3231 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3232 AOM_ICDF(32768), 0 },
3233 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3234 AOM_ICDF(32768), 0 },
3235 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3236 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3237 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3238 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003239#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003240 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3241 AOM_ICDF(32768), 0 },
3242#if CONFIG_SMOOTH_HV
3243 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3244 AOM_ICDF(32768), 0 },
3245 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3246 AOM_ICDF(32768), 0 },
3247#endif // CONFIG_SMOOTH_HV
3248#endif // CONFIG_ALT_INTRA
3249 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3250 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003251 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003252 {
3253 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3254 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3255 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3256 AOM_ICDF(32768), 0 },
3257 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3258 AOM_ICDF(32768), 0 },
3259 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3260 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3261 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3262 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
3263 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3264 AOM_ICDF(32768), 0 },
3265 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3266 AOM_ICDF(32768), 0 },
3267 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3268 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3269 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3270 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003271#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003272 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3273 AOM_ICDF(32768), 0 },
3274#if CONFIG_SMOOTH_HV
3275 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3276 AOM_ICDF(32768), 0 },
3277 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3278 AOM_ICDF(32768), 0 },
3279#endif // CONFIG_SMOOTH_HV
3280#endif // CONFIG_ALT_INTRA
3281 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3282 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003283 },
Sarah Parker53f93db2017-07-11 17:20:04 -07003284 },
3285#if CONFIG_MRC_TX
3286 {
3287 {
3288 { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3289 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3290 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3291 { AOM_ICDF(1152), AOM_ICDF(32768), 0 },
3292 { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3293 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3294 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3295 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3296 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3297#if CONFIG_ALT_INTRA
3298 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3299#if CONFIG_SMOOTH_HV
3300 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3301 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3302#endif // CONFIG_SMOOTH_HV
3303#endif // CONFIG_ALT_INTRA
3304 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3305 },
3306 {
3307 { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3308 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3309 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3310 { AOM_ICDF(1152), AOM_ICDF(32768), 0 },
3311 { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3312 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3313 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3314 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3315 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3316#if CONFIG_ALT_INTRA
3317 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3318#if CONFIG_SMOOTH_HV
3319 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3320 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3321#endif // CONFIG_SMOOTH_HV
3322#endif // CONFIG_ALT_INTRA
3323 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3324 },
3325 {
3326 { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3327 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3328 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3329 { AOM_ICDF(1152), AOM_ICDF(32768), 0 },
3330 { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3331 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3332 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3333 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3334 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3335#if CONFIG_ALT_INTRA
3336 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3337#if CONFIG_SMOOTH_HV
3338 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3339 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3340#endif // CONFIG_SMOOTH_HV
3341#endif // CONFIG_ALT_INTRA
3342 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3343 },
3344 {
3345 { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3346 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3347 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3348 { AOM_ICDF(1152), AOM_ICDF(32768), 0 },
3349 { AOM_ICDF(1024), AOM_ICDF(32768), 0 },
3350 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3351 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3352 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3353 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3354#if CONFIG_ALT_INTRA
3355 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3356#if CONFIG_SMOOTH_HV
3357 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3358 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3359#endif // CONFIG_SMOOTH_HV
3360#endif // CONFIG_ALT_INTRA
3361 { AOM_ICDF(1280), AOM_ICDF(32768), 0 },
3362 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003363 }
Sarah Parker53f93db2017-07-11 17:20:04 -07003364#endif // CONFIG_MRC_TX
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003365 };
3366static const aom_cdf_prob
3367 default_inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES][CDF_SIZE(
3368 TX_TYPES)] = {
3369 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003370#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003371 { 0 },
3372#endif
3373 { 0 },
3374 { 0 },
3375 { 0 },
3376 { 0 } },
3377 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003378#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003379 { 0 },
3380#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003381 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3382 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3383 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3384 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3385 0 },
3386 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3387 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3388 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3389 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3390 0 },
3391 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3392 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3393 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3394 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3395 0 },
3396 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3397 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3398 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3399 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3400 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003401 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003402#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003403 { 0 },
3404#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003405 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3406 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3407 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3408 0 },
3409 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3410 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3411 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3412 0 },
3413 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3414 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3415 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3416 0 },
3417 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3418 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3419 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3420 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003421 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003422#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003423 { 0 },
3424#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003425 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3426 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3427 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
Sarah Parker53f93db2017-07-11 17:20:04 -07003428 { AOM_ICDF(1536), AOM_ICDF(32768), 0 } },
3429#if CONFIG_MRC_TX
3430 {
3431#if CONFIG_CHROMA_2X2
3432 { 0 },
3433#endif
3434 { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
3435 { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
3436 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
3437 { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 } },
3438#endif // CONFIG_MRC_TX
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003439 };
3440#else
Sarah Parker53f93db2017-07-11 17:20:04 -07003441#if CONFIG_MRC_TX
3442static const aom_cdf_prob
3443 default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
3444#if CONFIG_CHROMA_2X2
3445 { { AOM_ICDF(30720), AOM_ICDF(31104), AOM_ICDF(31400), AOM_ICDF(32084),
3446 AOM_ICDF(32768), 0 },
3447 { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(31764),
3448 AOM_ICDF(32768), 0 },
3449 { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
3450 AOM_ICDF(32768), 0 },
3451 { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
3452 AOM_ICDF(32768), 0 },
3453 { AOM_ICDF(512), AOM_ICDF(1280), AOM_ICDF(31760), AOM_ICDF(32264),
3454 AOM_ICDF(32768), 0 } },
3455#endif
3456 { { AOM_ICDF(30720), AOM_ICDF(31104), AOM_ICDF(31400), AOM_ICDF(32084),
3457 AOM_ICDF(32768), 0 },
3458 { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(31764),
3459 AOM_ICDF(32768), 0 },
3460 { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
3461 AOM_ICDF(32768), 0 },
3462 { AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
3463 AOM_ICDF(32768), 0 },
3464 { AOM_ICDF(512), AOM_ICDF(1280), AOM_ICDF(31760), AOM_ICDF(32264),
3465 AOM_ICDF(32768), 0 } },
3466
3467 { { AOM_ICDF(31232), AOM_ICDF(31488), AOM_ICDF(31742), AOM_ICDF(32255),
3468 AOM_ICDF(32768), 0 },
3469 { AOM_ICDF(1024), AOM_ICDF(1152), AOM_ICDF(1272), AOM_ICDF(31784),
3470 AOM_ICDF(32768), 0 },
3471 { AOM_ICDF(1024), AOM_ICDF(1152), AOM_ICDF(1272), AOM_ICDF(2256),
3472 AOM_ICDF(32768), 0 },
3473 { AOM_ICDF(1024), AOM_ICDF(1052), AOM_ICDF(1272), AOM_ICDF(2256),
3474 AOM_ICDF(32768), 0 },
3475 { AOM_ICDF(1024), AOM_ICDF(1792), AOM_ICDF(31776), AOM_ICDF(32272),
3476 AOM_ICDF(32768), 0 } },
3477
3478 { { AOM_ICDF(31744), AOM_ICDF(29440), AOM_ICDF(32084), AOM_ICDF(32426),
3479 AOM_ICDF(32768), 0 },
3480 { AOM_ICDF(2048), AOM_ICDF(2176), AOM_ICDF(2528), AOM_ICDF(31823),
3481 AOM_ICDF(32768), 0 },
3482 { AOM_ICDF(2048), AOM_ICDF(2176), AOM_ICDF(2528), AOM_ICDF(3473),
3483 AOM_ICDF(32768), 0 },
3484 { AOM_ICDF(2048), AOM_ICDF(2176), AOM_ICDF(2528), AOM_ICDF(3473),
3485 AOM_ICDF(32768), 0 },
3486 { AOM_ICDF(2048), AOM_ICDF(28160), AOM_ICDF(31808), AOM_ICDF(32288),
3487 AOM_ICDF(32768), 0 } },
3488 };
3489
3490static const aom_cdf_prob
3491 default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
3492#if CONFIG_CHROMA_2X2
3493 { AOM_ICDF(20480), AOM_ICDF(23040), AOM_ICDF(24560), AOM_ICDF(28664),
3494 AOM_ICDF(32768), 0 },
3495#endif
3496 { AOM_ICDF(20480), AOM_ICDF(23040), AOM_ICDF(24560), AOM_ICDF(28664),
3497 AOM_ICDF(32768), 0 },
3498 { AOM_ICDF(22528), AOM_ICDF(24320), AOM_ICDF(25928), AOM_ICDF(29348),
3499 AOM_ICDF(32768), 0 },
3500 { AOM_ICDF(24576), AOM_ICDF(25600), AOM_ICDF(27296), AOM_ICDF(30032),
3501 AOM_ICDF(32768), 0 },
3502 };
3503#else // CONFIG_MRC_TX
Thomas Davies1d7db722017-02-22 11:15:00 +00003504static const aom_cdf_prob
3505 default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003506#if CONFIG_CHROMA_2X2
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003507 { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
3508 0 },
3509 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
3510 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
3511 { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
3512 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003513#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003514 { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
3515 0 },
3516 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
3517 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
3518 { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
3519 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003520
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003521 { { AOM_ICDF(31232), AOM_ICDF(31742), AOM_ICDF(32255), AOM_ICDF(32768),
3522 0 },
3523 { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(31784), AOM_ICDF(32768), 0 },
3524 { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(2256), AOM_ICDF(32768), 0 },
3525 { AOM_ICDF(1024), AOM_ICDF(31776), AOM_ICDF(32272), AOM_ICDF(32768),
3526 0 } },
3527 { { AOM_ICDF(31744), AOM_ICDF(32084), AOM_ICDF(32426), AOM_ICDF(32768),
3528 0 },
3529 { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(31823), AOM_ICDF(32768), 0 },
3530 { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(3473), AOM_ICDF(32768), 0 },
3531 { AOM_ICDF(2048), AOM_ICDF(31808), AOM_ICDF(32288), AOM_ICDF(32768),
3532 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00003533 };
3534
3535static const aom_cdf_prob
3536 default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003537#if CONFIG_CHROMA_2X2
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003538 { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003539#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003540 { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
3541 { AOM_ICDF(22528), AOM_ICDF(25928), AOM_ICDF(29348), AOM_ICDF(32768), 0 },
3542 { AOM_ICDF(24576), AOM_ICDF(27296), AOM_ICDF(30032), AOM_ICDF(32768), 0 },
Thomas Davies1d7db722017-02-22 11:15:00 +00003543 };
Sarah Parker53f93db2017-07-11 17:20:04 -07003544#endif // CONFIG_MRC_TX
hui sub4e25d22017-03-09 15:32:30 -08003545#endif // !CONFIG_EXT_TX
3546
3547#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
3548static const aom_cdf_prob
3549 default_intra_filter_cdf[INTRA_FILTERS + 1][CDF_SIZE(INTRA_FILTERS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003550 { AOM_ICDF(12544), AOM_ICDF(17521), AOM_ICDF(21095), AOM_ICDF(32768), 0 },
3551 { AOM_ICDF(12544), AOM_ICDF(19022), AOM_ICDF(23318), AOM_ICDF(32768), 0 },
3552 { AOM_ICDF(12032), AOM_ICDF(17297), AOM_ICDF(23522), AOM_ICDF(32768), 0 },
3553 { AOM_ICDF(6272), AOM_ICDF(8860), AOM_ICDF(11101), AOM_ICDF(32768), 0 },
3554 { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(16629), AOM_ICDF(32768), 0 },
hui sub4e25d22017-03-09 15:32:30 -08003555 };
3556#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies1d7db722017-02-22 11:15:00 +00003557
Luc Trudeauf5334002017-04-25 12:21:26 -04003558#if CONFIG_CFL
Luc Trudeaue21c0812017-05-10 13:53:33 -04003559static const aom_cdf_prob default_cfl_alpha_cdf[CDF_SIZE(CFL_ALPHABET_SIZE)] = {
Luc Trudeau6e1cd782017-06-21 13:52:36 -04003560 AOM_ICDF(4646), AOM_ICDF(8045), AOM_ICDF(11243), AOM_ICDF(17092),
3561 AOM_ICDF(22690), AOM_ICDF(24193), AOM_ICDF(26118), AOM_ICDF(27310),
3562 AOM_ICDF(28206), AOM_ICDF(29118), AOM_ICDF(30997), AOM_ICDF(31439),
3563 AOM_ICDF(32189), AOM_ICDF(32601), AOM_ICDF(32768), 0
Luc Trudeauf5334002017-04-25 12:21:26 -04003564};
3565#endif
3566
Thomas Davies1d7db722017-02-22 11:15:00 +00003567// CDF version of 'av1_kf_y_mode_prob'.
Urvang Joshi63234542017-03-10 12:04:03 -08003568const aom_cdf_prob
3569 av1_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
3570#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003571#if CONFIG_SMOOTH_HV
3572 {
3573 { AOM_ICDF(14208), AOM_ICDF(16238), AOM_ICDF(19079), AOM_ICDF(22512),
3574 AOM_ICDF(23632), AOM_ICDF(24373), AOM_ICDF(25291), AOM_ICDF(26109),
3575 AOM_ICDF(26811), AOM_ICDF(27858), AOM_ICDF(30428), AOM_ICDF(31424),
3576 AOM_ICDF(32768), 0 },
3577 { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(20992), AOM_ICDF(22569),
3578 AOM_ICDF(23557), AOM_ICDF(24442), AOM_ICDF(25515), AOM_ICDF(26478),
3579 AOM_ICDF(26994), AOM_ICDF(27693), AOM_ICDF(30349), AOM_ICDF(31757),
3580 AOM_ICDF(32768), 0 },
3581 { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(9593), AOM_ICDF(22972),
3582 AOM_ICDF(23813), AOM_ICDF(24168), AOM_ICDF(24638), AOM_ICDF(25019),
3583 AOM_ICDF(26048), AOM_ICDF(27413), AOM_ICDF(30090), AOM_ICDF(30812),
3584 AOM_ICDF(32768), 0 },
3585 { AOM_ICDF(12544), AOM_ICDF(14045), AOM_ICDF(16678), AOM_ICDF(19167),
3586 AOM_ICDF(20459), AOM_ICDF(21329), AOM_ICDF(23518), AOM_ICDF(24783),
3587 AOM_ICDF(25563), AOM_ICDF(27280), AOM_ICDF(30217), AOM_ICDF(31273),
3588 AOM_ICDF(32768), 0 },
3589 { AOM_ICDF(7552), AOM_ICDF(8636), AOM_ICDF(10993), AOM_ICDF(12992),
3590 AOM_ICDF(18616), AOM_ICDF(21880), AOM_ICDF(23113), AOM_ICDF(23867),
3591 AOM_ICDF(25710), AOM_ICDF(26758), AOM_ICDF(30115), AOM_ICDF(31328),
3592 AOM_ICDF(32768), 0 },
3593 { AOM_ICDF(11008), AOM_ICDF(12708), AOM_ICDF(16704), AOM_ICDF(18234),
3594 AOM_ICDF(21591), AOM_ICDF(26744), AOM_ICDF(28368), AOM_ICDF(30104),
3595 AOM_ICDF(31270), AOM_ICDF(32171), AOM_ICDF(32539), AOM_ICDF(32669),
3596 AOM_ICDF(32768), 0 },
3597 { AOM_ICDF(6272), AOM_ICDF(7307), AOM_ICDF(8998), AOM_ICDF(12979),
3598 AOM_ICDF(18143), AOM_ICDF(19397), AOM_ICDF(20233), AOM_ICDF(20772),
3599 AOM_ICDF(25645), AOM_ICDF(26869), AOM_ICDF(30049), AOM_ICDF(30984),
3600 AOM_ICDF(32768), 0 },
3601 { AOM_ICDF(8192), AOM_ICDF(9536), AOM_ICDF(11533), AOM_ICDF(15940),
3602 AOM_ICDF(17403), AOM_ICDF(18169), AOM_ICDF(19253), AOM_ICDF(20045),
3603 AOM_ICDF(21337), AOM_ICDF(25847), AOM_ICDF(29551), AOM_ICDF(30682),
3604 AOM_ICDF(32768), 0 },
3605 { AOM_ICDF(10752), AOM_ICDF(12558), AOM_ICDF(15005), AOM_ICDF(16854),
3606 AOM_ICDF(18148), AOM_ICDF(19307), AOM_ICDF(21410), AOM_ICDF(23939),
3607 AOM_ICDF(24698), AOM_ICDF(26117), AOM_ICDF(29832), AOM_ICDF(31323),
3608 AOM_ICDF(32768), 0 },
3609 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(11885), AOM_ICDF(14829),
3610 AOM_ICDF(16543), AOM_ICDF(16779), AOM_ICDF(17841), AOM_ICDF(19182),
3611 AOM_ICDF(20190), AOM_ICDF(21664), AOM_ICDF(27650), AOM_ICDF(29909),
3612 AOM_ICDF(32768), 0 },
3613 { AOM_ICDF(6528), AOM_ICDF(8476), AOM_ICDF(12841), AOM_ICDF(15721),
3614 AOM_ICDF(17437), AOM_ICDF(17823), AOM_ICDF(18874), AOM_ICDF(20394),
3615 AOM_ICDF(21216), AOM_ICDF(22344), AOM_ICDF(27922), AOM_ICDF(30743),
3616 AOM_ICDF(32768), 0 },
3617 { AOM_ICDF(8704), AOM_ICDF(10114), AOM_ICDF(12415), AOM_ICDF(15730),
3618 AOM_ICDF(17127), AOM_ICDF(17265), AOM_ICDF(18294), AOM_ICDF(19255),
3619 AOM_ICDF(20258), AOM_ICDF(21675), AOM_ICDF(27525), AOM_ICDF(29082),
3620 AOM_ICDF(32768), 0 },
3621 { AOM_ICDF(6272), AOM_ICDF(12586), AOM_ICDF(15818), AOM_ICDF(21751),
3622 AOM_ICDF(22707), AOM_ICDF(23300), AOM_ICDF(24262), AOM_ICDF(25126),
3623 AOM_ICDF(25992), AOM_ICDF(27448), AOM_ICDF(30004), AOM_ICDF(31073),
3624 AOM_ICDF(32768), 0 },
3625 },
3626 {
3627 { AOM_ICDF(3968), AOM_ICDF(6893), AOM_ICDF(20538), AOM_ICDF(22050),
3628 AOM_ICDF(22805), AOM_ICDF(24408), AOM_ICDF(24833), AOM_ICDF(26073),
3629 AOM_ICDF(26439), AOM_ICDF(26884), AOM_ICDF(29895), AOM_ICDF(31938),
3630 AOM_ICDF(32768), 0 },
3631 { AOM_ICDF(3072), AOM_ICDF(6204), AOM_ICDF(24363), AOM_ICDF(24995),
3632 AOM_ICDF(25363), AOM_ICDF(26103), AOM_ICDF(26546), AOM_ICDF(27518),
3633 AOM_ICDF(27621), AOM_ICDF(27902), AOM_ICDF(30164), AOM_ICDF(32148),
3634 AOM_ICDF(32768), 0 },
3635 { AOM_ICDF(2560), AOM_ICDF(6572), AOM_ICDF(13837), AOM_ICDF(19693),
3636 AOM_ICDF(20377), AOM_ICDF(21010), AOM_ICDF(21699), AOM_ICDF(22737),
3637 AOM_ICDF(23286), AOM_ICDF(24323), AOM_ICDF(28875), AOM_ICDF(30837),
3638 AOM_ICDF(32768), 0 },
3639 { AOM_ICDF(6912), AOM_ICDF(8831), AOM_ICDF(17059), AOM_ICDF(18404),
3640 AOM_ICDF(19221), AOM_ICDF(20434), AOM_ICDF(22313), AOM_ICDF(24151),
3641 AOM_ICDF(24420), AOM_ICDF(25855), AOM_ICDF(29474), AOM_ICDF(31623),
3642 AOM_ICDF(32768), 0 },
3643 { AOM_ICDF(2944), AOM_ICDF(4808), AOM_ICDF(14965), AOM_ICDF(15870),
3644 AOM_ICDF(18714), AOM_ICDF(21989), AOM_ICDF(22957), AOM_ICDF(24528),
3645 AOM_ICDF(25365), AOM_ICDF(26001), AOM_ICDF(29596), AOM_ICDF(31678),
3646 AOM_ICDF(32768), 0 },
3647 { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(19711), AOM_ICDF(20602),
3648 AOM_ICDF(22489), AOM_ICDF(27311), AOM_ICDF(28228), AOM_ICDF(30516),
3649 AOM_ICDF(31097), AOM_ICDF(31750), AOM_ICDF(32319), AOM_ICDF(32656),
3650 AOM_ICDF(32768), 0 },
3651 { AOM_ICDF(2944), AOM_ICDF(4925), AOM_ICDF(13952), AOM_ICDF(15490),
3652 AOM_ICDF(18397), AOM_ICDF(20200), AOM_ICDF(20986), AOM_ICDF(22367),
3653 AOM_ICDF(24967), AOM_ICDF(25820), AOM_ICDF(29755), AOM_ICDF(31473),
3654 AOM_ICDF(32768), 0 },
3655 { AOM_ICDF(4224), AOM_ICDF(6120), AOM_ICDF(14968), AOM_ICDF(17184),
3656 AOM_ICDF(18063), AOM_ICDF(19140), AOM_ICDF(20258), AOM_ICDF(21822),
3657 AOM_ICDF(22463), AOM_ICDF(24838), AOM_ICDF(28989), AOM_ICDF(31277),
3658 AOM_ICDF(32768), 0 },
3659 { AOM_ICDF(5120), AOM_ICDF(7280), AOM_ICDF(17535), AOM_ICDF(18348),
3660 AOM_ICDF(19116), AOM_ICDF(20689), AOM_ICDF(21916), AOM_ICDF(24968),
3661 AOM_ICDF(25242), AOM_ICDF(26095), AOM_ICDF(29588), AOM_ICDF(31787),
3662 AOM_ICDF(32768), 0 },
3663 { AOM_ICDF(2816), AOM_ICDF(4922), AOM_ICDF(17105), AOM_ICDF(18458),
3664 AOM_ICDF(19325), AOM_ICDF(19614), AOM_ICDF(20231), AOM_ICDF(21700),
3665 AOM_ICDF(22089), AOM_ICDF(22756), AOM_ICDF(27879), AOM_ICDF(31278),
3666 AOM_ICDF(32768), 0 },
3667 { AOM_ICDF(2560), AOM_ICDF(4920), AOM_ICDF(18518), AOM_ICDF(19680),
3668 AOM_ICDF(20386), AOM_ICDF(20689), AOM_ICDF(21208), AOM_ICDF(22472),
3669 AOM_ICDF(22754), AOM_ICDF(23223), AOM_ICDF(27809), AOM_ICDF(31664),
3670 AOM_ICDF(32768), 0 },
3671 { AOM_ICDF(3328), AOM_ICDF(5513), AOM_ICDF(17331), AOM_ICDF(19065),
3672 AOM_ICDF(19882), AOM_ICDF(20105), AOM_ICDF(20748), AOM_ICDF(22110),
3673 AOM_ICDF(22443), AOM_ICDF(23129), AOM_ICDF(28099), AOM_ICDF(30944),
3674 AOM_ICDF(32768), 0 },
3675 { AOM_ICDF(2560), AOM_ICDF(6690), AOM_ICDF(20748), AOM_ICDF(22590),
3676 AOM_ICDF(23037), AOM_ICDF(23659), AOM_ICDF(24406), AOM_ICDF(25582),
3677 AOM_ICDF(25835), AOM_ICDF(26485), AOM_ICDF(29553), AOM_ICDF(31826),
3678 AOM_ICDF(32768), 0 },
3679 },
3680 {
3681 { AOM_ICDF(11392), AOM_ICDF(13647), AOM_ICDF(15216), AOM_ICDF(23156),
3682 AOM_ICDF(24102), AOM_ICDF(24540), AOM_ICDF(25183), AOM_ICDF(25746),
3683 AOM_ICDF(26706), AOM_ICDF(28032), AOM_ICDF(30511), AOM_ICDF(31357),
3684 AOM_ICDF(32768), 0 },
3685 { AOM_ICDF(8064), AOM_ICDF(11635), AOM_ICDF(17166), AOM_ICDF(22459),
3686 AOM_ICDF(23608), AOM_ICDF(24297), AOM_ICDF(25025), AOM_ICDF(25902),
3687 AOM_ICDF(26438), AOM_ICDF(27551), AOM_ICDF(30343), AOM_ICDF(31641),
3688 AOM_ICDF(32768), 0 },
3689 { AOM_ICDF(4352), AOM_ICDF(6905), AOM_ICDF(7612), AOM_ICDF(24258),
3690 AOM_ICDF(24862), AOM_ICDF(25005), AOM_ICDF(25399), AOM_ICDF(25658),
3691 AOM_ICDF(26491), AOM_ICDF(28281), AOM_ICDF(30472), AOM_ICDF(31037),
3692 AOM_ICDF(32768), 0 },
3693 { AOM_ICDF(10752), AOM_ICDF(13246), AOM_ICDF(14771), AOM_ICDF(18965),
3694 AOM_ICDF(20132), AOM_ICDF(20606), AOM_ICDF(22411), AOM_ICDF(23422),
3695 AOM_ICDF(24663), AOM_ICDF(27386), AOM_ICDF(30203), AOM_ICDF(31265),
3696 AOM_ICDF(32768), 0 },
3697 { AOM_ICDF(8320), AOM_ICDF(10135), AOM_ICDF(11815), AOM_ICDF(15962),
3698 AOM_ICDF(19829), AOM_ICDF(21555), AOM_ICDF(22738), AOM_ICDF(23482),
3699 AOM_ICDF(25513), AOM_ICDF(27100), AOM_ICDF(30222), AOM_ICDF(31246),
3700 AOM_ICDF(32768), 0 },
3701 { AOM_ICDF(11264), AOM_ICDF(13364), AOM_ICDF(16851), AOM_ICDF(20617),
3702 AOM_ICDF(23504), AOM_ICDF(26302), AOM_ICDF(28070), AOM_ICDF(29189),
3703 AOM_ICDF(30531), AOM_ICDF(31903), AOM_ICDF(32342), AOM_ICDF(32512),
3704 AOM_ICDF(32768), 0 },
3705 { AOM_ICDF(6528), AOM_ICDF(7656), AOM_ICDF(8637), AOM_ICDF(15318),
3706 AOM_ICDF(18270), AOM_ICDF(18817), AOM_ICDF(19580), AOM_ICDF(20044),
3707 AOM_ICDF(24666), AOM_ICDF(26502), AOM_ICDF(29733), AOM_ICDF(30670),
3708 AOM_ICDF(32768), 0 },
3709 { AOM_ICDF(6784), AOM_ICDF(8307), AOM_ICDF(9167), AOM_ICDF(17476),
3710 AOM_ICDF(18366), AOM_ICDF(18663), AOM_ICDF(19765), AOM_ICDF(20425),
3711 AOM_ICDF(21534), AOM_ICDF(26888), AOM_ICDF(29989), AOM_ICDF(30857),
3712 AOM_ICDF(32768), 0 },
3713 { AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12682), AOM_ICDF(17399),
3714 AOM_ICDF(19010), AOM_ICDF(19743), AOM_ICDF(20964), AOM_ICDF(22993),
3715 AOM_ICDF(23871), AOM_ICDF(25817), AOM_ICDF(29727), AOM_ICDF(31164),
3716 AOM_ICDF(32768), 0 },
3717 { AOM_ICDF(5888), AOM_ICDF(7988), AOM_ICDF(9634), AOM_ICDF(16735),
3718 AOM_ICDF(18009), AOM_ICDF(18129), AOM_ICDF(18930), AOM_ICDF(19741),
3719 AOM_ICDF(20911), AOM_ICDF(22671), AOM_ICDF(27877), AOM_ICDF(29749),
3720 AOM_ICDF(32768), 0 },
3721 { AOM_ICDF(5248), AOM_ICDF(8151), AOM_ICDF(10267), AOM_ICDF(17761),
3722 AOM_ICDF(19077), AOM_ICDF(19232), AOM_ICDF(19919), AOM_ICDF(20772),
3723 AOM_ICDF(21615), AOM_ICDF(23140), AOM_ICDF(28142), AOM_ICDF(30618),
3724 AOM_ICDF(32768), 0 },
3725 { AOM_ICDF(6656), AOM_ICDF(8390), AOM_ICDF(9723), AOM_ICDF(17206),
3726 AOM_ICDF(18212), AOM_ICDF(18275), AOM_ICDF(19068), AOM_ICDF(19657),
3727 AOM_ICDF(20886), AOM_ICDF(22650), AOM_ICDF(27907), AOM_ICDF(29084),
3728 AOM_ICDF(32768), 0 },
3729 { AOM_ICDF(4480), AOM_ICDF(9232), AOM_ICDF(11163), AOM_ICDF(22580),
3730 AOM_ICDF(23368), AOM_ICDF(23653), AOM_ICDF(24436), AOM_ICDF(24989),
3731 AOM_ICDF(25809), AOM_ICDF(27087), AOM_ICDF(30038), AOM_ICDF(31104),
3732 AOM_ICDF(32768), 0 },
3733 },
3734 {
3735 { AOM_ICDF(10240), AOM_ICDF(11472), AOM_ICDF(14051), AOM_ICDF(16777),
3736 AOM_ICDF(18308), AOM_ICDF(19461), AOM_ICDF(22164), AOM_ICDF(24235),
3737 AOM_ICDF(25202), AOM_ICDF(26680), AOM_ICDF(29962), AOM_ICDF(31168),
3738 AOM_ICDF(32768), 0 },
3739 { AOM_ICDF(7552), AOM_ICDF(9128), AOM_ICDF(16885), AOM_ICDF(18221),
3740 AOM_ICDF(19114), AOM_ICDF(20111), AOM_ICDF(23226), AOM_ICDF(25462),
3741 AOM_ICDF(26033), AOM_ICDF(27085), AOM_ICDF(30259), AOM_ICDF(31729),
3742 AOM_ICDF(32768), 0 },
3743 { AOM_ICDF(5248), AOM_ICDF(7291), AOM_ICDF(8883), AOM_ICDF(18172),
3744 AOM_ICDF(19301), AOM_ICDF(19892), AOM_ICDF(21703), AOM_ICDF(22870),
3745 AOM_ICDF(23798), AOM_ICDF(25970), AOM_ICDF(29581), AOM_ICDF(30440),
3746 AOM_ICDF(32768), 0 },
3747 { AOM_ICDF(11008), AOM_ICDF(11943), AOM_ICDF(12838), AOM_ICDF(14729),
3748 AOM_ICDF(15340), AOM_ICDF(15719), AOM_ICDF(23245), AOM_ICDF(25217),
3749 AOM_ICDF(25453), AOM_ICDF(28282), AOM_ICDF(30735), AOM_ICDF(31696),
3750 AOM_ICDF(32768), 0 },
3751 { AOM_ICDF(6272), AOM_ICDF(7100), AOM_ICDF(9506), AOM_ICDF(11141),
3752 AOM_ICDF(14891), AOM_ICDF(18048), AOM_ICDF(20808), AOM_ICDF(22910),
3753 AOM_ICDF(24450), AOM_ICDF(26172), AOM_ICDF(29625), AOM_ICDF(31233),
3754 AOM_ICDF(32768), 0 },
3755 { AOM_ICDF(7424), AOM_ICDF(8513), AOM_ICDF(11924), AOM_ICDF(13742),
3756 AOM_ICDF(16971), AOM_ICDF(22265), AOM_ICDF(25957), AOM_ICDF(29762),
3757 AOM_ICDF(30831), AOM_ICDF(32193), AOM_ICDF(32537), AOM_ICDF(32669),
3758 AOM_ICDF(32768), 0 },
3759 { AOM_ICDF(4992), AOM_ICDF(5969), AOM_ICDF(7435), AOM_ICDF(10922),
3760 AOM_ICDF(15097), AOM_ICDF(16638), AOM_ICDF(18654), AOM_ICDF(20087),
3761 AOM_ICDF(23356), AOM_ICDF(25452), AOM_ICDF(29281), AOM_ICDF(30725),
3762 AOM_ICDF(32768), 0 },
3763 { AOM_ICDF(9600), AOM_ICDF(10324), AOM_ICDF(12603), AOM_ICDF(15427),
3764 AOM_ICDF(16950), AOM_ICDF(17959), AOM_ICDF(20909), AOM_ICDF(22299),
3765 AOM_ICDF(22994), AOM_ICDF(27308), AOM_ICDF(30379), AOM_ICDF(31154),
3766 AOM_ICDF(32768), 0 },
3767 { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(12549), AOM_ICDF(14621),
3768 AOM_ICDF(15493), AOM_ICDF(16182), AOM_ICDF(21430), AOM_ICDF(25947),
3769 AOM_ICDF(26427), AOM_ICDF(27888), AOM_ICDF(30595), AOM_ICDF(31809),
3770 AOM_ICDF(32768), 0 },
3771 { AOM_ICDF(6272), AOM_ICDF(7618), AOM_ICDF(10664), AOM_ICDF(12915),
3772 AOM_ICDF(14454), AOM_ICDF(14722), AOM_ICDF(17965), AOM_ICDF(20394),
3773 AOM_ICDF(21312), AOM_ICDF(23371), AOM_ICDF(28730), AOM_ICDF(30623),
3774 AOM_ICDF(32768), 0 },
3775 { AOM_ICDF(5888), AOM_ICDF(7463), AOM_ICDF(10923), AOM_ICDF(12991),
3776 AOM_ICDF(14555), AOM_ICDF(14934), AOM_ICDF(18208), AOM_ICDF(21052),
3777 AOM_ICDF(21876), AOM_ICDF(23450), AOM_ICDF(28655), AOM_ICDF(31017),
3778 AOM_ICDF(32768), 0 },
3779 { AOM_ICDF(6912), AOM_ICDF(8023), AOM_ICDF(10440), AOM_ICDF(13329),
3780 AOM_ICDF(14958), AOM_ICDF(15150), AOM_ICDF(18109), AOM_ICDF(20056),
3781 AOM_ICDF(21049), AOM_ICDF(23063), AOM_ICDF(28219), AOM_ICDF(29978),
3782 AOM_ICDF(32768), 0 },
3783 { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11906), AOM_ICDF(15940),
3784 AOM_ICDF(16978), AOM_ICDF(17773), AOM_ICDF(22342), AOM_ICDF(24419),
3785 AOM_ICDF(25300), AOM_ICDF(27021), AOM_ICDF(30007), AOM_ICDF(31312),
3786 AOM_ICDF(32768), 0 },
3787 },
3788 {
3789 { AOM_ICDF(7296), AOM_ICDF(8291), AOM_ICDF(10299), AOM_ICDF(12767),
3790 AOM_ICDF(18252), AOM_ICDF(20656), AOM_ICDF(21413), AOM_ICDF(22300),
3791 AOM_ICDF(24958), AOM_ICDF(26544), AOM_ICDF(30069), AOM_ICDF(31387),
3792 AOM_ICDF(32768), 0 },
3793 { AOM_ICDF(7168), AOM_ICDF(8668), AOM_ICDF(13187), AOM_ICDF(15041),
3794 AOM_ICDF(18824), AOM_ICDF(21371), AOM_ICDF(22261), AOM_ICDF(23574),
3795 AOM_ICDF(25082), AOM_ICDF(26133), AOM_ICDF(29839), AOM_ICDF(31693),
3796 AOM_ICDF(32768), 0 },
3797 { AOM_ICDF(3584), AOM_ICDF(5750), AOM_ICDF(6594), AOM_ICDF(15662),
3798 AOM_ICDF(18845), AOM_ICDF(20090), AOM_ICDF(20783), AOM_ICDF(21438),
3799 AOM_ICDF(23430), AOM_ICDF(25436), AOM_ICDF(29446), AOM_ICDF(30471),
3800 AOM_ICDF(32768), 0 },
3801 { AOM_ICDF(7424), AOM_ICDF(8711), AOM_ICDF(10121), AOM_ICDF(11786),
3802 AOM_ICDF(15100), AOM_ICDF(16579), AOM_ICDF(20437), AOM_ICDF(21593),
3803 AOM_ICDF(22903), AOM_ICDF(25678), AOM_ICDF(29638), AOM_ICDF(31130),
3804 AOM_ICDF(32768), 0 },
3805 { AOM_ICDF(4480), AOM_ICDF(5033), AOM_ICDF(6441), AOM_ICDF(7646),
3806 AOM_ICDF(18034), AOM_ICDF(21867), AOM_ICDF(22676), AOM_ICDF(23504),
3807 AOM_ICDF(25892), AOM_ICDF(26913), AOM_ICDF(30206), AOM_ICDF(31507),
3808 AOM_ICDF(32768), 0 },
3809 { AOM_ICDF(7296), AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12676),
3810 AOM_ICDF(19460), AOM_ICDF(25734), AOM_ICDF(26778), AOM_ICDF(28439),
3811 AOM_ICDF(31077), AOM_ICDF(32002), AOM_ICDF(32469), AOM_ICDF(32671),
3812 AOM_ICDF(32768), 0 },
3813 { AOM_ICDF(3840), AOM_ICDF(4518), AOM_ICDF(5511), AOM_ICDF(8229),
3814 AOM_ICDF(16448), AOM_ICDF(18394), AOM_ICDF(19292), AOM_ICDF(20345),
3815 AOM_ICDF(25683), AOM_ICDF(27399), AOM_ICDF(30566), AOM_ICDF(31375),
3816 AOM_ICDF(32768), 0 },
3817 { AOM_ICDF(6528), AOM_ICDF(7451), AOM_ICDF(8934), AOM_ICDF(12006),
3818 AOM_ICDF(15767), AOM_ICDF(17127), AOM_ICDF(18471), AOM_ICDF(19476),
3819 AOM_ICDF(21553), AOM_ICDF(25715), AOM_ICDF(29572), AOM_ICDF(30795),
3820 AOM_ICDF(32768), 0 },
3821 { AOM_ICDF(7168), AOM_ICDF(8368), AOM_ICDF(10370), AOM_ICDF(11855),
3822 AOM_ICDF(14966), AOM_ICDF(17544), AOM_ICDF(19328), AOM_ICDF(21271),
3823 AOM_ICDF(22708), AOM_ICDF(24555), AOM_ICDF(29207), AOM_ICDF(31280),
3824 AOM_ICDF(32768), 0 },
3825 { AOM_ICDF(5504), AOM_ICDF(6782), AOM_ICDF(8914), AOM_ICDF(11452),
3826 AOM_ICDF(15958), AOM_ICDF(16648), AOM_ICDF(17530), AOM_ICDF(18899),
3827 AOM_ICDF(20578), AOM_ICDF(22245), AOM_ICDF(28123), AOM_ICDF(30427),
3828 AOM_ICDF(32768), 0 },
3829 { AOM_ICDF(5248), AOM_ICDF(6538), AOM_ICDF(9100), AOM_ICDF(11294),
3830 AOM_ICDF(15638), AOM_ICDF(16589), AOM_ICDF(17600), AOM_ICDF(19318),
3831 AOM_ICDF(20842), AOM_ICDF(22193), AOM_ICDF(28018), AOM_ICDF(30875),
3832 AOM_ICDF(32768), 0 },
3833 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8499), AOM_ICDF(11769),
3834 AOM_ICDF(15661), AOM_ICDF(16178), AOM_ICDF(17280), AOM_ICDF(18490),
3835 AOM_ICDF(20386), AOM_ICDF(22127), AOM_ICDF(28071), AOM_ICDF(30089),
3836 AOM_ICDF(32768), 0 },
3837 { AOM_ICDF(4608), AOM_ICDF(7468), AOM_ICDF(10136), AOM_ICDF(15013),
3838 AOM_ICDF(17716), AOM_ICDF(19595), AOM_ICDF(20830), AOM_ICDF(22136),
3839 AOM_ICDF(23714), AOM_ICDF(25341), AOM_ICDF(29403), AOM_ICDF(31072),
3840 AOM_ICDF(32768), 0 },
3841 },
3842 {
3843 { AOM_ICDF(6656), AOM_ICDF(8186), AOM_ICDF(13755), AOM_ICDF(15971),
3844 AOM_ICDF(20413), AOM_ICDF(27940), AOM_ICDF(28657), AOM_ICDF(29910),
3845 AOM_ICDF(31004), AOM_ICDF(31969), AOM_ICDF(32443), AOM_ICDF(32665),
3846 AOM_ICDF(32768), 0 },
3847 { AOM_ICDF(6400), AOM_ICDF(8048), AOM_ICDF(16256), AOM_ICDF(17568),
3848 AOM_ICDF(21074), AOM_ICDF(28253), AOM_ICDF(28976), AOM_ICDF(30531),
3849 AOM_ICDF(31099), AOM_ICDF(31875), AOM_ICDF(32426), AOM_ICDF(32701),
3850 AOM_ICDF(32768), 0 },
3851 { AOM_ICDF(3840), AOM_ICDF(6439), AOM_ICDF(9524), AOM_ICDF(17270),
3852 AOM_ICDF(21391), AOM_ICDF(25777), AOM_ICDF(26815), AOM_ICDF(27908),
3853 AOM_ICDF(29199), AOM_ICDF(31151), AOM_ICDF(32168), AOM_ICDF(32407),
3854 AOM_ICDF(32768), 0 },
3855 { AOM_ICDF(9600), AOM_ICDF(10958), AOM_ICDF(14962), AOM_ICDF(16560),
3856 AOM_ICDF(19908), AOM_ICDF(23309), AOM_ICDF(25637), AOM_ICDF(28033),
3857 AOM_ICDF(29032), AOM_ICDF(32009), AOM_ICDF(32528), AOM_ICDF(32701),
3858 AOM_ICDF(32768), 0 },
3859 { AOM_ICDF(4608), AOM_ICDF(5598), AOM_ICDF(9525), AOM_ICDF(10578),
3860 AOM_ICDF(18511), AOM_ICDF(27502), AOM_ICDF(28654), AOM_ICDF(29907),
3861 AOM_ICDF(31069), AOM_ICDF(32071), AOM_ICDF(32493), AOM_ICDF(32670),
3862 AOM_ICDF(32768), 0 },
3863 { AOM_ICDF(4864), AOM_ICDF(5845), AOM_ICDF(11524), AOM_ICDF(12294),
3864 AOM_ICDF(16882), AOM_ICDF(27955), AOM_ICDF(28839), AOM_ICDF(30251),
3865 AOM_ICDF(30949), AOM_ICDF(31873), AOM_ICDF(32467), AOM_ICDF(32703),
3866 AOM_ICDF(32768), 0 },
3867 { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(8955), AOM_ICDF(11746),
3868 AOM_ICDF(18914), AOM_ICDF(24489), AOM_ICDF(25524), AOM_ICDF(27194),
3869 AOM_ICDF(29894), AOM_ICDF(31589), AOM_ICDF(32335), AOM_ICDF(32551),
3870 AOM_ICDF(32768), 0 },
3871 { AOM_ICDF(6016), AOM_ICDF(7584), AOM_ICDF(11814), AOM_ICDF(14567),
3872 AOM_ICDF(18253), AOM_ICDF(21882), AOM_ICDF(23966), AOM_ICDF(26442),
3873 AOM_ICDF(27628), AOM_ICDF(31142), AOM_ICDF(32177), AOM_ICDF(32466),
3874 AOM_ICDF(32768), 0 },
3875 { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(15257), AOM_ICDF(16576),
3876 AOM_ICDF(20349), AOM_ICDF(24902), AOM_ICDF(26592), AOM_ICDF(29415),
3877 AOM_ICDF(30083), AOM_ICDF(31782), AOM_ICDF(32360), AOM_ICDF(32680),
3878 AOM_ICDF(32768), 0 },
3879 { AOM_ICDF(2816), AOM_ICDF(4805), AOM_ICDF(8519), AOM_ICDF(10112),
3880 AOM_ICDF(13408), AOM_ICDF(18465), AOM_ICDF(19582), AOM_ICDF(21333),
3881 AOM_ICDF(22494), AOM_ICDF(24059), AOM_ICDF(29026), AOM_ICDF(31321),
3882 AOM_ICDF(32768), 0 },
3883 { AOM_ICDF(2432), AOM_ICDF(4091), AOM_ICDF(8236), AOM_ICDF(9669),
3884 AOM_ICDF(13111), AOM_ICDF(19352), AOM_ICDF(20557), AOM_ICDF(22370),
3885 AOM_ICDF(23060), AOM_ICDF(24425), AOM_ICDF(28890), AOM_ICDF(31586),
3886 AOM_ICDF(32768), 0 },
3887 { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(8938), AOM_ICDF(11126),
3888 AOM_ICDF(14494), AOM_ICDF(18433), AOM_ICDF(19721), AOM_ICDF(21148),
3889 AOM_ICDF(22510), AOM_ICDF(24233), AOM_ICDF(29134), AOM_ICDF(31235),
3890 AOM_ICDF(32768), 0 },
3891 { AOM_ICDF(4480), AOM_ICDF(7132), AOM_ICDF(13341), AOM_ICDF(17959),
3892 AOM_ICDF(21108), AOM_ICDF(25786), AOM_ICDF(27068), AOM_ICDF(29161),
3893 AOM_ICDF(30077), AOM_ICDF(31286), AOM_ICDF(32363), AOM_ICDF(32565),
3894 AOM_ICDF(32768), 0 },
3895 },
3896 {
3897 { AOM_ICDF(9600), AOM_ICDF(10686), AOM_ICDF(12152), AOM_ICDF(16918),
3898 AOM_ICDF(19247), AOM_ICDF(20286), AOM_ICDF(20969), AOM_ICDF(21568),
3899 AOM_ICDF(25987), AOM_ICDF(27444), AOM_ICDF(30376), AOM_ICDF(31348),
3900 AOM_ICDF(32768), 0 },
3901 { AOM_ICDF(8832), AOM_ICDF(10609), AOM_ICDF(14591), AOM_ICDF(17948),
3902 AOM_ICDF(19973), AOM_ICDF(21052), AOM_ICDF(21922), AOM_ICDF(22854),
3903 AOM_ICDF(25642), AOM_ICDF(26783), AOM_ICDF(29892), AOM_ICDF(31499),
3904 AOM_ICDF(32768), 0 },
3905 { AOM_ICDF(3840), AOM_ICDF(5196), AOM_ICDF(5842), AOM_ICDF(17177),
3906 AOM_ICDF(19308), AOM_ICDF(19726), AOM_ICDF(20235), AOM_ICDF(20627),
3907 AOM_ICDF(24184), AOM_ICDF(26799), AOM_ICDF(29993), AOM_ICDF(30752),
3908 AOM_ICDF(32768), 0 },
3909 { AOM_ICDF(9856), AOM_ICDF(11288), AOM_ICDF(12295), AOM_ICDF(15482),
3910 AOM_ICDF(18345), AOM_ICDF(19093), AOM_ICDF(20963), AOM_ICDF(21747),
3911 AOM_ICDF(24718), AOM_ICDF(26793), AOM_ICDF(29991), AOM_ICDF(31032),
3912 AOM_ICDF(32768), 0 },
3913 { AOM_ICDF(6528), AOM_ICDF(7348), AOM_ICDF(8440), AOM_ICDF(11002),
3914 AOM_ICDF(17084), AOM_ICDF(19749), AOM_ICDF(20766), AOM_ICDF(21563),
3915 AOM_ICDF(25502), AOM_ICDF(26950), AOM_ICDF(30245), AOM_ICDF(31152),
3916 AOM_ICDF(32768), 0 },
3917 { AOM_ICDF(9728), AOM_ICDF(10448), AOM_ICDF(12541), AOM_ICDF(14674),
3918 AOM_ICDF(19296), AOM_ICDF(23919), AOM_ICDF(25198), AOM_ICDF(26558),
3919 AOM_ICDF(30755), AOM_ICDF(31958), AOM_ICDF(32461), AOM_ICDF(32594),
3920 AOM_ICDF(32768), 0 },
3921 { AOM_ICDF(5120), AOM_ICDF(5768), AOM_ICDF(6401), AOM_ICDF(10321),
3922 AOM_ICDF(14515), AOM_ICDF(15362), AOM_ICDF(15838), AOM_ICDF(16301),
3923 AOM_ICDF(26078), AOM_ICDF(27489), AOM_ICDF(30397), AOM_ICDF(31175),
3924 AOM_ICDF(32768), 0 },
3925 { AOM_ICDF(5888), AOM_ICDF(6518), AOM_ICDF(7236), AOM_ICDF(12128),
3926 AOM_ICDF(14327), AOM_ICDF(15015), AOM_ICDF(16055), AOM_ICDF(16773),
3927 AOM_ICDF(20897), AOM_ICDF(25395), AOM_ICDF(29341), AOM_ICDF(30452),
3928 AOM_ICDF(32768), 0 },
3929 { AOM_ICDF(10368), AOM_ICDF(11856), AOM_ICDF(13245), AOM_ICDF(15614),
3930 AOM_ICDF(18451), AOM_ICDF(19498), AOM_ICDF(20846), AOM_ICDF(22429),
3931 AOM_ICDF(24610), AOM_ICDF(26522), AOM_ICDF(30279), AOM_ICDF(31523),
3932 AOM_ICDF(32768), 0 },
3933 { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(8668), AOM_ICDF(12423),
3934 AOM_ICDF(15346), AOM_ICDF(15634), AOM_ICDF(16504), AOM_ICDF(17584),
3935 AOM_ICDF(21083), AOM_ICDF(23000), AOM_ICDF(28456), AOM_ICDF(30241),
3936 AOM_ICDF(32768), 0 },
3937 { AOM_ICDF(5760), AOM_ICDF(7026), AOM_ICDF(8735), AOM_ICDF(12665),
3938 AOM_ICDF(15507), AOM_ICDF(15870), AOM_ICDF(16794), AOM_ICDF(17792),
3939 AOM_ICDF(21068), AOM_ICDF(23033), AOM_ICDF(28395), AOM_ICDF(30701),
3940 AOM_ICDF(32768), 0 },
3941 { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(9300), AOM_ICDF(13303),
3942 AOM_ICDF(15462), AOM_ICDF(15625), AOM_ICDF(16362), AOM_ICDF(17067),
3943 AOM_ICDF(20686), AOM_ICDF(22810), AOM_ICDF(27983), AOM_ICDF(29347),
3944 AOM_ICDF(32768), 0 },
3945 { AOM_ICDF(5632), AOM_ICDF(8070), AOM_ICDF(9903), AOM_ICDF(16658),
3946 AOM_ICDF(18637), AOM_ICDF(19728), AOM_ICDF(20543), AOM_ICDF(21450),
3947 AOM_ICDF(24456), AOM_ICDF(26372), AOM_ICDF(29645), AOM_ICDF(30731),
3948 AOM_ICDF(32768), 0 },
3949 },
3950 {
3951 { AOM_ICDF(11008), AOM_ICDF(12283), AOM_ICDF(14364), AOM_ICDF(18419),
3952 AOM_ICDF(19948), AOM_ICDF(20618), AOM_ICDF(21899), AOM_ICDF(22960),
3953 AOM_ICDF(23994), AOM_ICDF(26565), AOM_ICDF(30078), AOM_ICDF(31213),
3954 AOM_ICDF(32768), 0 },
3955 { AOM_ICDF(9088), AOM_ICDF(11586), AOM_ICDF(16716), AOM_ICDF(18876),
3956 AOM_ICDF(20112), AOM_ICDF(21105), AOM_ICDF(22426), AOM_ICDF(23800),
3957 AOM_ICDF(24396), AOM_ICDF(26653), AOM_ICDF(30021), AOM_ICDF(31566),
3958 AOM_ICDF(32768), 0 },
3959 { AOM_ICDF(6144), AOM_ICDF(8328), AOM_ICDF(9378), AOM_ICDF(20096),
3960 AOM_ICDF(20984), AOM_ICDF(21256), AOM_ICDF(22335), AOM_ICDF(23109),
3961 AOM_ICDF(24128), AOM_ICDF(26896), AOM_ICDF(29947), AOM_ICDF(30740),
3962 AOM_ICDF(32768), 0 },
3963 { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(13441), AOM_ICDF(15479),
3964 AOM_ICDF(16976), AOM_ICDF(17518), AOM_ICDF(20794), AOM_ICDF(22571),
3965 AOM_ICDF(23328), AOM_ICDF(27421), AOM_ICDF(30512), AOM_ICDF(31561),
3966 AOM_ICDF(32768), 0 },
3967 { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(10010), AOM_ICDF(12258),
3968 AOM_ICDF(15388), AOM_ICDF(16944), AOM_ICDF(19602), AOM_ICDF(21196),
3969 AOM_ICDF(22869), AOM_ICDF(25112), AOM_ICDF(29389), AOM_ICDF(30709),
3970 AOM_ICDF(32768), 0 },
3971 { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(14881), AOM_ICDF(17298),
3972 AOM_ICDF(20151), AOM_ICDF(22916), AOM_ICDF(25918), AOM_ICDF(28032),
3973 AOM_ICDF(29549), AOM_ICDF(31787), AOM_ICDF(32293), AOM_ICDF(32521),
3974 AOM_ICDF(32768), 0 },
3975 { AOM_ICDF(6400), AOM_ICDF(7636), AOM_ICDF(8716), AOM_ICDF(12718),
3976 AOM_ICDF(15711), AOM_ICDF(16420), AOM_ICDF(18144), AOM_ICDF(19287),
3977 AOM_ICDF(22815), AOM_ICDF(25886), AOM_ICDF(29596), AOM_ICDF(30674),
3978 AOM_ICDF(32768), 0 },
3979 { AOM_ICDF(9856), AOM_ICDF(10662), AOM_ICDF(11785), AOM_ICDF(14236),
3980 AOM_ICDF(14998), AOM_ICDF(15391), AOM_ICDF(17156), AOM_ICDF(17949),
3981 AOM_ICDF(18470), AOM_ICDF(27797), AOM_ICDF(30418), AOM_ICDF(31244),
3982 AOM_ICDF(32768), 0 },
3983 { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12017), AOM_ICDF(14128),
3984 AOM_ICDF(15765), AOM_ICDF(16637), AOM_ICDF(19347), AOM_ICDF(21759),
3985 AOM_ICDF(22490), AOM_ICDF(25300), AOM_ICDF(29676), AOM_ICDF(31077),
3986 AOM_ICDF(32768), 0 },
3987 { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(10177), AOM_ICDF(13693),
3988 AOM_ICDF(15333), AOM_ICDF(15472), AOM_ICDF(17094), AOM_ICDF(18257),
3989 AOM_ICDF(19277), AOM_ICDF(22386), AOM_ICDF(28023), AOM_ICDF(29969),
3990 AOM_ICDF(32768), 0 },
3991 { AOM_ICDF(6400), AOM_ICDF(8151), AOM_ICDF(10651), AOM_ICDF(13992),
3992 AOM_ICDF(15677), AOM_ICDF(15835), AOM_ICDF(17422), AOM_ICDF(18621),
3993 AOM_ICDF(19450), AOM_ICDF(22207), AOM_ICDF(27735), AOM_ICDF(30409),
3994 AOM_ICDF(32768), 0 },
3995 { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(9915), AOM_ICDF(13980),
3996 AOM_ICDF(15352), AOM_ICDF(15450), AOM_ICDF(17006), AOM_ICDF(17930),
3997 AOM_ICDF(18973), AOM_ICDF(22045), AOM_ICDF(27658), AOM_ICDF(29235),
3998 AOM_ICDF(32768), 0 },
3999 { AOM_ICDF(6272), AOM_ICDF(9481), AOM_ICDF(11664), AOM_ICDF(16537),
4000 AOM_ICDF(17656), AOM_ICDF(18094), AOM_ICDF(20673), AOM_ICDF(21949),
4001 AOM_ICDF(22752), AOM_ICDF(25921), AOM_ICDF(29612), AOM_ICDF(30869),
4002 AOM_ICDF(32768), 0 },
4003 },
4004 {
4005 { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(12536), AOM_ICDF(14589),
4006 AOM_ICDF(15843), AOM_ICDF(17357), AOM_ICDF(19765), AOM_ICDF(23981),
4007 AOM_ICDF(24633), AOM_ICDF(25618), AOM_ICDF(29556), AOM_ICDF(31438),
4008 AOM_ICDF(32768), 0 },
4009 { AOM_ICDF(5760), AOM_ICDF(7237), AOM_ICDF(14717), AOM_ICDF(15587),
4010 AOM_ICDF(16364), AOM_ICDF(17537), AOM_ICDF(20393), AOM_ICDF(26097),
4011 AOM_ICDF(26462), AOM_ICDF(27029), AOM_ICDF(30123), AOM_ICDF(31921),
4012 AOM_ICDF(32768), 0 },
4013 { AOM_ICDF(4352), AOM_ICDF(5906), AOM_ICDF(8424), AOM_ICDF(16214),
4014 AOM_ICDF(16978), AOM_ICDF(17743), AOM_ICDF(19680), AOM_ICDF(22441),
4015 AOM_ICDF(23167), AOM_ICDF(25080), AOM_ICDF(29224), AOM_ICDF(30650),
4016 AOM_ICDF(32768), 0 },
4017 { AOM_ICDF(9472), AOM_ICDF(10473), AOM_ICDF(12737), AOM_ICDF(14173),
4018 AOM_ICDF(15051), AOM_ICDF(15632), AOM_ICDF(20652), AOM_ICDF(24864),
4019 AOM_ICDF(25204), AOM_ICDF(27006), AOM_ICDF(30292), AOM_ICDF(31501),
4020 AOM_ICDF(32768), 0 },
4021 { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(8247), AOM_ICDF(9646),
4022 AOM_ICDF(12203), AOM_ICDF(14760), AOM_ICDF(18488), AOM_ICDF(22616),
4023 AOM_ICDF(23449), AOM_ICDF(24650), AOM_ICDF(29026), AOM_ICDF(30955),
4024 AOM_ICDF(32768), 0 },
4025 { AOM_ICDF(6016), AOM_ICDF(6957), AOM_ICDF(12502), AOM_ICDF(13805),
4026 AOM_ICDF(16777), AOM_ICDF(21052), AOM_ICDF(23981), AOM_ICDF(30606),
4027 AOM_ICDF(31206), AOM_ICDF(31981), AOM_ICDF(32414), AOM_ICDF(32681),
4028 AOM_ICDF(32768), 0 },
4029 { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(7820), AOM_ICDF(9805),
4030 AOM_ICDF(12793), AOM_ICDF(14252), AOM_ICDF(16711), AOM_ICDF(20725),
4031 AOM_ICDF(23406), AOM_ICDF(25015), AOM_ICDF(29225), AOM_ICDF(30775),
4032 AOM_ICDF(32768), 0 },
4033 { AOM_ICDF(6912), AOM_ICDF(7619), AOM_ICDF(10173), AOM_ICDF(12424),
4034 AOM_ICDF(13502), AOM_ICDF(14410), AOM_ICDF(17852), AOM_ICDF(21348),
4035 AOM_ICDF(22017), AOM_ICDF(25461), AOM_ICDF(29571), AOM_ICDF(31020),
4036 AOM_ICDF(32768), 0 },
4037 { AOM_ICDF(7680), AOM_ICDF(8562), AOM_ICDF(11399), AOM_ICDF(12263),
4038 AOM_ICDF(12870), AOM_ICDF(13486), AOM_ICDF(18307), AOM_ICDF(26385),
4039 AOM_ICDF(26734), AOM_ICDF(27724), AOM_ICDF(30482), AOM_ICDF(31955),
4040 AOM_ICDF(32768), 0 },
4041 { AOM_ICDF(4992), AOM_ICDF(6186), AOM_ICDF(9820), AOM_ICDF(11725),
4042 AOM_ICDF(13117), AOM_ICDF(13406), AOM_ICDF(15978), AOM_ICDF(20372),
4043 AOM_ICDF(20953), AOM_ICDF(22245), AOM_ICDF(28205), AOM_ICDF(30879),
4044 AOM_ICDF(32768), 0 },
4045 { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(10747), AOM_ICDF(12295),
4046 AOM_ICDF(13445), AOM_ICDF(13844), AOM_ICDF(16357), AOM_ICDF(21485),
4047 AOM_ICDF(21838), AOM_ICDF(22820), AOM_ICDF(28183), AOM_ICDF(31138),
4048 AOM_ICDF(32768), 0 },
4049 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10476), AOM_ICDF(12855),
4050 AOM_ICDF(14101), AOM_ICDF(14482), AOM_ICDF(17053), AOM_ICDF(20613),
4051 AOM_ICDF(21278), AOM_ICDF(22580), AOM_ICDF(28351), AOM_ICDF(30542),
4052 AOM_ICDF(32768), 0 },
4053 { AOM_ICDF(4480), AOM_ICDF(6359), AOM_ICDF(11826), AOM_ICDF(14265),
4054 AOM_ICDF(14852), AOM_ICDF(15753), AOM_ICDF(19276), AOM_ICDF(24757),
4055 AOM_ICDF(25226), AOM_ICDF(26287), AOM_ICDF(29629), AOM_ICDF(31493),
4056 AOM_ICDF(32768), 0 },
4057 },
4058 {
4059 { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(11726), AOM_ICDF(15286),
4060 AOM_ICDF(16881), AOM_ICDF(17151), AOM_ICDF(17944), AOM_ICDF(19160),
4061 AOM_ICDF(20011), AOM_ICDF(21356), AOM_ICDF(27463), AOM_ICDF(29805),
4062 AOM_ICDF(32768), 0 },
4063 { AOM_ICDF(5376), AOM_ICDF(7516), AOM_ICDF(15210), AOM_ICDF(17109),
4064 AOM_ICDF(18458), AOM_ICDF(18708), AOM_ICDF(19587), AOM_ICDF(20977),
4065 AOM_ICDF(21484), AOM_ICDF(22277), AOM_ICDF(27768), AOM_ICDF(30893),
4066 AOM_ICDF(32768), 0 },
4067 { AOM_ICDF(3584), AOM_ICDF(5522), AOM_ICDF(7225), AOM_ICDF(18079),
4068 AOM_ICDF(18909), AOM_ICDF(18999), AOM_ICDF(19698), AOM_ICDF(20413),
4069 AOM_ICDF(21185), AOM_ICDF(23040), AOM_ICDF(28056), AOM_ICDF(29473),
4070 AOM_ICDF(32768), 0 },
4071 { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(10782), AOM_ICDF(12958),
4072 AOM_ICDF(14687), AOM_ICDF(14818), AOM_ICDF(17553), AOM_ICDF(19395),
4073 AOM_ICDF(20231), AOM_ICDF(23316), AOM_ICDF(28559), AOM_ICDF(30614),
4074 AOM_ICDF(32768), 0 },
4075 { AOM_ICDF(5632), AOM_ICDF(6586), AOM_ICDF(9347), AOM_ICDF(11520),
4076 AOM_ICDF(15628), AOM_ICDF(16300), AOM_ICDF(17651), AOM_ICDF(19245),
4077 AOM_ICDF(20671), AOM_ICDF(22089), AOM_ICDF(28013), AOM_ICDF(30279),
4078 AOM_ICDF(32768), 0 },
4079 { AOM_ICDF(3840), AOM_ICDF(5309), AOM_ICDF(9385), AOM_ICDF(10995),
4080 AOM_ICDF(14099), AOM_ICDF(18154), AOM_ICDF(19638), AOM_ICDF(21690),
4081 AOM_ICDF(23031), AOM_ICDF(24552), AOM_ICDF(29238), AOM_ICDF(31251),
4082 AOM_ICDF(32768), 0 },
4083 { AOM_ICDF(5376), AOM_ICDF(6339), AOM_ICDF(8301), AOM_ICDF(11620),
4084 AOM_ICDF(14701), AOM_ICDF(14991), AOM_ICDF(16033), AOM_ICDF(17210),
4085 AOM_ICDF(20431), AOM_ICDF(22310), AOM_ICDF(27948), AOM_ICDF(29774),
4086 AOM_ICDF(32768), 0 },
4087 { AOM_ICDF(5632), AOM_ICDF(6692), AOM_ICDF(8729), AOM_ICDF(12618),
4088 AOM_ICDF(13927), AOM_ICDF(14081), AOM_ICDF(15176), AOM_ICDF(16413),
4089 AOM_ICDF(17371), AOM_ICDF(22183), AOM_ICDF(28013), AOM_ICDF(29815),
4090 AOM_ICDF(32768), 0 },
4091 { AOM_ICDF(6528), AOM_ICDF(7861), AOM_ICDF(11072), AOM_ICDF(12945),
4092 AOM_ICDF(14726), AOM_ICDF(14971), AOM_ICDF(16570), AOM_ICDF(19481),
4093 AOM_ICDF(20260), AOM_ICDF(21921), AOM_ICDF(27980), AOM_ICDF(30449),
4094 AOM_ICDF(32768), 0 },
4095 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(9523), AOM_ICDF(12199),
4096 AOM_ICDF(13764), AOM_ICDF(13972), AOM_ICDF(14926), AOM_ICDF(16320),
4097 AOM_ICDF(17091), AOM_ICDF(18744), AOM_ICDF(26359), AOM_ICDF(29288),
4098 AOM_ICDF(32768), 0 },
4099 { AOM_ICDF(4736), AOM_ICDF(6160), AOM_ICDF(10318), AOM_ICDF(12718),
4100 AOM_ICDF(14251), AOM_ICDF(14527), AOM_ICDF(15453), AOM_ICDF(17009),
4101 AOM_ICDF(17625), AOM_ICDF(19045), AOM_ICDF(26335), AOM_ICDF(30079),
4102 AOM_ICDF(32768), 0 },
4103 { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(9248), AOM_ICDF(12722),
4104 AOM_ICDF(14141), AOM_ICDF(14301), AOM_ICDF(15095), AOM_ICDF(16200),
4105 AOM_ICDF(17106), AOM_ICDF(18697), AOM_ICDF(26172), AOM_ICDF(28388),
4106 AOM_ICDF(32768), 0 },
4107 { AOM_ICDF(4096), AOM_ICDF(6672), AOM_ICDF(11055), AOM_ICDF(16327),
4108 AOM_ICDF(17508), AOM_ICDF(17671), AOM_ICDF(18733), AOM_ICDF(19994),
4109 AOM_ICDF(20742), AOM_ICDF(22151), AOM_ICDF(27708), AOM_ICDF(30021),
4110 AOM_ICDF(32768), 0 },
4111 },
4112 {
4113 { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(13524), AOM_ICDF(16819),
4114 AOM_ICDF(18267), AOM_ICDF(18636), AOM_ICDF(19409), AOM_ICDF(20661),
4115 AOM_ICDF(21323), AOM_ICDF(22307), AOM_ICDF(27905), AOM_ICDF(30678),
4116 AOM_ICDF(32768), 0 },
4117 { AOM_ICDF(5376), AOM_ICDF(7302), AOM_ICDF(16951), AOM_ICDF(18383),
4118 AOM_ICDF(19388), AOM_ICDF(19608), AOM_ICDF(20225), AOM_ICDF(21597),
4119 AOM_ICDF(21946), AOM_ICDF(22538), AOM_ICDF(27613), AOM_ICDF(31318),
4120 AOM_ICDF(32768), 0 },
4121 { AOM_ICDF(3840), AOM_ICDF(5987), AOM_ICDF(8184), AOM_ICDF(19612),
4122 AOM_ICDF(20392), AOM_ICDF(20476), AOM_ICDF(21100), AOM_ICDF(21693),
4123 AOM_ICDF(22428), AOM_ICDF(23963), AOM_ICDF(28709), AOM_ICDF(30342),
4124 AOM_ICDF(32768), 0 },
4125 { AOM_ICDF(8448), AOM_ICDF(9588), AOM_ICDF(12395), AOM_ICDF(14447),
4126 AOM_ICDF(16163), AOM_ICDF(16374), AOM_ICDF(18743), AOM_ICDF(20606),
4127 AOM_ICDF(21271), AOM_ICDF(23786), AOM_ICDF(28768), AOM_ICDF(30877),
4128 AOM_ICDF(32768), 0 },
4129 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10069), AOM_ICDF(11965),
4130 AOM_ICDF(15976), AOM_ICDF(16719), AOM_ICDF(17973), AOM_ICDF(19880),
4131 AOM_ICDF(21139), AOM_ICDF(22275), AOM_ICDF(28259), AOM_ICDF(30954),
4132 AOM_ICDF(32768), 0 },
4133 { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(10557), AOM_ICDF(12069),
4134 AOM_ICDF(14280), AOM_ICDF(18973), AOM_ICDF(20374), AOM_ICDF(23037),
4135 AOM_ICDF(24215), AOM_ICDF(25050), AOM_ICDF(29271), AOM_ICDF(31716),
4136 AOM_ICDF(32768), 0 },
4137 { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(9672), AOM_ICDF(12246),
4138 AOM_ICDF(15351), AOM_ICDF(15717), AOM_ICDF(16716), AOM_ICDF(18158),
4139 AOM_ICDF(21126), AOM_ICDF(22672), AOM_ICDF(28035), AOM_ICDF(30494),
4140 AOM_ICDF(32768), 0 },
4141 { AOM_ICDF(6272), AOM_ICDF(7204), AOM_ICDF(9700), AOM_ICDF(13252),
4142 AOM_ICDF(14599), AOM_ICDF(14926), AOM_ICDF(15902), AOM_ICDF(17220),
4143 AOM_ICDF(18010), AOM_ICDF(22795), AOM_ICDF(28405), AOM_ICDF(30467),
4144 AOM_ICDF(32768), 0 },
4145 { AOM_ICDF(6912), AOM_ICDF(8427), AOM_ICDF(12420), AOM_ICDF(14171),
4146 AOM_ICDF(15792), AOM_ICDF(16156), AOM_ICDF(17584), AOM_ICDF(20846),
4147 AOM_ICDF(21451), AOM_ICDF(22556), AOM_ICDF(28101), AOM_ICDF(31054),
4148 AOM_ICDF(32768), 0 },
4149 { AOM_ICDF(5248), AOM_ICDF(6431), AOM_ICDF(10855), AOM_ICDF(13296),
4150 AOM_ICDF(14848), AOM_ICDF(15135), AOM_ICDF(15893), AOM_ICDF(17277),
4151 AOM_ICDF(17943), AOM_ICDF(19275), AOM_ICDF(26443), AOM_ICDF(30174),
4152 AOM_ICDF(32768), 0 },
4153 { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(12103), AOM_ICDF(14343),
4154 AOM_ICDF(15633), AOM_ICDF(15978), AOM_ICDF(16699), AOM_ICDF(18205),
4155 AOM_ICDF(18660), AOM_ICDF(19707), AOM_ICDF(26544), AOM_ICDF(30872),
4156 AOM_ICDF(32768), 0 },
4157 { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(11066), AOM_ICDF(14088),
4158 AOM_ICDF(15377), AOM_ICDF(15644), AOM_ICDF(16447), AOM_ICDF(17786),
4159 AOM_ICDF(18605), AOM_ICDF(19822), AOM_ICDF(27104), AOM_ICDF(29648),
4160 AOM_ICDF(32768), 0 },
4161 { AOM_ICDF(4608), AOM_ICDF(7358), AOM_ICDF(13016), AOM_ICDF(18200),
4162 AOM_ICDF(19015), AOM_ICDF(19189), AOM_ICDF(20038), AOM_ICDF(21430),
4163 AOM_ICDF(21917), AOM_ICDF(22977), AOM_ICDF(27949), AOM_ICDF(30848),
4164 AOM_ICDF(32768), 0 },
4165 },
4166 {
4167 { AOM_ICDF(7296), AOM_ICDF(8490), AOM_ICDF(11145), AOM_ICDF(15318),
4168 AOM_ICDF(16693), AOM_ICDF(16889), AOM_ICDF(17571), AOM_ICDF(18580),
4169 AOM_ICDF(19688), AOM_ICDF(21272), AOM_ICDF(27245), AOM_ICDF(28971),
4170 AOM_ICDF(32768), 0 },
4171 { AOM_ICDF(5376), AOM_ICDF(7623), AOM_ICDF(16070), AOM_ICDF(18136),
4172 AOM_ICDF(19225), AOM_ICDF(19397), AOM_ICDF(20128), AOM_ICDF(21362),
4173 AOM_ICDF(21808), AOM_ICDF(22621), AOM_ICDF(27932), AOM_ICDF(30407),
4174 AOM_ICDF(32768), 0 },
4175 { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(6566), AOM_ICDF(18368),
4176 AOM_ICDF(19106), AOM_ICDF(19155), AOM_ICDF(19793), AOM_ICDF(20300),
4177 AOM_ICDF(21177), AOM_ICDF(23079), AOM_ICDF(27848), AOM_ICDF(28924),
4178 AOM_ICDF(32768), 0 },
4179 { AOM_ICDF(7040), AOM_ICDF(8146), AOM_ICDF(10550), AOM_ICDF(12876),
4180 AOM_ICDF(14506), AOM_ICDF(14629), AOM_ICDF(17180), AOM_ICDF(19129),
4181 AOM_ICDF(20088), AOM_ICDF(23407), AOM_ICDF(28673), AOM_ICDF(30257),
4182 AOM_ICDF(32768), 0 },
4183 { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(9466), AOM_ICDF(11999),
4184 AOM_ICDF(15723), AOM_ICDF(16293), AOM_ICDF(17580), AOM_ICDF(19004),
4185 AOM_ICDF(20509), AOM_ICDF(22233), AOM_ICDF(28118), AOM_ICDF(29989),
4186 AOM_ICDF(32768), 0 },
4187 { AOM_ICDF(3840), AOM_ICDF(5422), AOM_ICDF(9054), AOM_ICDF(11018),
4188 AOM_ICDF(13605), AOM_ICDF(17576), AOM_ICDF(19178), AOM_ICDF(21514),
4189 AOM_ICDF(22877), AOM_ICDF(24461), AOM_ICDF(29069), AOM_ICDF(30933),
4190 AOM_ICDF(32768), 0 },
4191 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8294), AOM_ICDF(12601),
4192 AOM_ICDF(15043), AOM_ICDF(15273), AOM_ICDF(16230), AOM_ICDF(17134),
4193 AOM_ICDF(20737), AOM_ICDF(22899), AOM_ICDF(28219), AOM_ICDF(29410),
4194 AOM_ICDF(32768), 0 },
4195 { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(8336), AOM_ICDF(12965),
4196 AOM_ICDF(14282), AOM_ICDF(14444), AOM_ICDF(15446), AOM_ICDF(16461),
4197 AOM_ICDF(17544), AOM_ICDF(22183), AOM_ICDF(27682), AOM_ICDF(29132),
4198 AOM_ICDF(32768), 0 },
4199 { AOM_ICDF(6656), AOM_ICDF(8084), AOM_ICDF(10880), AOM_ICDF(12954),
4200 AOM_ICDF(14527), AOM_ICDF(14728), AOM_ICDF(16490), AOM_ICDF(19224),
4201 AOM_ICDF(20071), AOM_ICDF(21857), AOM_ICDF(27653), AOM_ICDF(30031),
4202 AOM_ICDF(32768), 0 },
4203 { AOM_ICDF(5376), AOM_ICDF(6660), AOM_ICDF(9006), AOM_ICDF(12205),
4204 AOM_ICDF(13614), AOM_ICDF(13740), AOM_ICDF(14632), AOM_ICDF(15766),
4205 AOM_ICDF(16629), AOM_ICDF(18394), AOM_ICDF(25918), AOM_ICDF(28460),
4206 AOM_ICDF(32768), 0 },
4207 { AOM_ICDF(4736), AOM_ICDF(6488), AOM_ICDF(9978), AOM_ICDF(12889),
4208 AOM_ICDF(14419), AOM_ICDF(14607), AOM_ICDF(15458), AOM_ICDF(16743),
4209 AOM_ICDF(17369), AOM_ICDF(19053), AOM_ICDF(26393), AOM_ICDF(29456),
4210 AOM_ICDF(32768), 0 },
4211 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(8542), AOM_ICDF(12830),
4212 AOM_ICDF(13956), AOM_ICDF(14031), AOM_ICDF(14763), AOM_ICDF(15677),
4213 AOM_ICDF(16545), AOM_ICDF(18256), AOM_ICDF(25569), AOM_ICDF(27284),
4214 AOM_ICDF(32768), 0 },
4215 { AOM_ICDF(4096), AOM_ICDF(7008), AOM_ICDF(11436), AOM_ICDF(17228),
4216 AOM_ICDF(18131), AOM_ICDF(18269), AOM_ICDF(19345), AOM_ICDF(20551),
4217 AOM_ICDF(21315), AOM_ICDF(22836), AOM_ICDF(28035), AOM_ICDF(29865),
4218 AOM_ICDF(32768), 0 },
4219 },
4220 {
4221 { AOM_ICDF(6528), AOM_ICDF(10833), AOM_ICDF(17688), AOM_ICDF(21947),
4222 AOM_ICDF(22829), AOM_ICDF(23814), AOM_ICDF(24514), AOM_ICDF(25707),
4223 AOM_ICDF(26397), AOM_ICDF(27442), AOM_ICDF(30271), AOM_ICDF(31734),
4224 AOM_ICDF(32768), 0 },
4225 { AOM_ICDF(4480), AOM_ICDF(8679), AOM_ICDF(21100), AOM_ICDF(23075),
4226 AOM_ICDF(23772), AOM_ICDF(24427), AOM_ICDF(25111), AOM_ICDF(26188),
4227 AOM_ICDF(26445), AOM_ICDF(27235), AOM_ICDF(29980), AOM_ICDF(31875),
4228 AOM_ICDF(32768), 0 },
4229 { AOM_ICDF(2688), AOM_ICDF(6683), AOM_ICDF(9332), AOM_ICDF(22173),
4230 AOM_ICDF(22688), AOM_ICDF(22972), AOM_ICDF(23623), AOM_ICDF(24159),
4231 AOM_ICDF(24798), AOM_ICDF(26666), AOM_ICDF(29812), AOM_ICDF(30909),
4232 AOM_ICDF(32768), 0 },
4233 { AOM_ICDF(8192), AOM_ICDF(10112), AOM_ICDF(13298), AOM_ICDF(16662),
4234 AOM_ICDF(17623), AOM_ICDF(18394), AOM_ICDF(20921), AOM_ICDF(22309),
4235 AOM_ICDF(22963), AOM_ICDF(26257), AOM_ICDF(29945), AOM_ICDF(31423),
4236 AOM_ICDF(32768), 0 },
4237 { AOM_ICDF(5120), AOM_ICDF(7604), AOM_ICDF(12617), AOM_ICDF(15628),
4238 AOM_ICDF(18274), AOM_ICDF(20174), AOM_ICDF(21404), AOM_ICDF(22869),
4239 AOM_ICDF(24184), AOM_ICDF(25626), AOM_ICDF(29615), AOM_ICDF(31155),
4240 AOM_ICDF(32768), 0 },
4241 { AOM_ICDF(7424), AOM_ICDF(10295), AOM_ICDF(18459), AOM_ICDF(21302),
4242 AOM_ICDF(23034), AOM_ICDF(26284), AOM_ICDF(27576), AOM_ICDF(29746),
4243 AOM_ICDF(30502), AOM_ICDF(31794), AOM_ICDF(32346), AOM_ICDF(32600),
4244 AOM_ICDF(32768), 0 },
4245 { AOM_ICDF(4224), AOM_ICDF(6789), AOM_ICDF(11254), AOM_ICDF(15589),
4246 AOM_ICDF(18568), AOM_ICDF(19238), AOM_ICDF(19872), AOM_ICDF(20880),
4247 AOM_ICDF(24409), AOM_ICDF(26238), AOM_ICDF(29580), AOM_ICDF(30875),
4248 AOM_ICDF(32768), 0 },
4249 { AOM_ICDF(5120), AOM_ICDF(7388), AOM_ICDF(10164), AOM_ICDF(15886),
4250 AOM_ICDF(16694), AOM_ICDF(17139), AOM_ICDF(18421), AOM_ICDF(19262),
4251 AOM_ICDF(20106), AOM_ICDF(26734), AOM_ICDF(29987), AOM_ICDF(31160),
4252 AOM_ICDF(32768), 0 },
4253 { AOM_ICDF(5760), AOM_ICDF(8292), AOM_ICDF(13837), AOM_ICDF(16201),
4254 AOM_ICDF(17303), AOM_ICDF(18422), AOM_ICDF(20215), AOM_ICDF(23059),
4255 AOM_ICDF(23628), AOM_ICDF(25449), AOM_ICDF(29537), AOM_ICDF(31455),
4256 AOM_ICDF(32768), 0 },
4257 { AOM_ICDF(4224), AOM_ICDF(7235), AOM_ICDF(12521), AOM_ICDF(16798),
4258 AOM_ICDF(17964), AOM_ICDF(18136), AOM_ICDF(18936), AOM_ICDF(20233),
4259 AOM_ICDF(20821), AOM_ICDF(22501), AOM_ICDF(27955), AOM_ICDF(30493),
4260 AOM_ICDF(32768), 0 },
4261 { AOM_ICDF(3840), AOM_ICDF(7117), AOM_ICDF(13329), AOM_ICDF(17383),
4262 AOM_ICDF(18323), AOM_ICDF(18492), AOM_ICDF(19273), AOM_ICDF(20538),
4263 AOM_ICDF(21064), AOM_ICDF(22481), AOM_ICDF(27785), AOM_ICDF(30938),
4264 AOM_ICDF(32768), 0 },
4265 { AOM_ICDF(4736), AOM_ICDF(7474), AOM_ICDF(12414), AOM_ICDF(17230),
4266 AOM_ICDF(18246), AOM_ICDF(18457), AOM_ICDF(19128), AOM_ICDF(20087),
4267 AOM_ICDF(20830), AOM_ICDF(22602), AOM_ICDF(27923), AOM_ICDF(29929),
4268 AOM_ICDF(32768), 0 },
4269 { AOM_ICDF(3584), AOM_ICDF(9626), AOM_ICDF(15412), AOM_ICDF(20788),
4270 AOM_ICDF(21676), AOM_ICDF(22192), AOM_ICDF(23266), AOM_ICDF(24342),
4271 AOM_ICDF(24836), AOM_ICDF(26447), AOM_ICDF(29583), AOM_ICDF(31300),
4272 AOM_ICDF(32768), 0 },
4273 },
4274#else
Urvang Joshi63234542017-03-10 12:04:03 -08004275 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004276 { AOM_ICDF(15488), AOM_ICDF(17513), AOM_ICDF(20731), AOM_ICDF(24586),
4277 AOM_ICDF(25921), AOM_ICDF(26749), AOM_ICDF(27807), AOM_ICDF(28602),
4278 AOM_ICDF(29530), AOM_ICDF(30681), AOM_ICDF(32768), 0 },
4279 { AOM_ICDF(11648), AOM_ICDF(14783), AOM_ICDF(21879), AOM_ICDF(23981),
4280 AOM_ICDF(25213), AOM_ICDF(26218), AOM_ICDF(27472), AOM_ICDF(28465),
4281 AOM_ICDF(29221), AOM_ICDF(30232), AOM_ICDF(32768), 0 },
4282 { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(13392), AOM_ICDF(25167),
4283 AOM_ICDF(26295), AOM_ICDF(26789), AOM_ICDF(27536), AOM_ICDF(28088),
4284 AOM_ICDF(29039), AOM_ICDF(30700), AOM_ICDF(32768), 0 },
4285 { AOM_ICDF(13568), AOM_ICDF(15293), AOM_ICDF(18706), AOM_ICDF(21610),
4286 AOM_ICDF(23139), AOM_ICDF(24254), AOM_ICDF(26383), AOM_ICDF(27630),
4287 AOM_ICDF(28613), AOM_ICDF(30350), AOM_ICDF(32768), 0 },
4288 { AOM_ICDF(9600), AOM_ICDF(11772), AOM_ICDF(14397), AOM_ICDF(16580),
4289 AOM_ICDF(20091), AOM_ICDF(22865), AOM_ICDF(24490), AOM_ICDF(25395),
4290 AOM_ICDF(27037), AOM_ICDF(28694), AOM_ICDF(32768), 0 },
4291 { AOM_ICDF(12160), AOM_ICDF(14092), AOM_ICDF(17010), AOM_ICDF(18922),
4292 AOM_ICDF(22683), AOM_ICDF(25751), AOM_ICDF(27725), AOM_ICDF(30109),
4293 AOM_ICDF(31449), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4294 { AOM_ICDF(9088), AOM_ICDF(10383), AOM_ICDF(12569), AOM_ICDF(17113),
4295 AOM_ICDF(21351), AOM_ICDF(22511), AOM_ICDF(23633), AOM_ICDF(24382),
4296 AOM_ICDF(28215), AOM_ICDF(29798), AOM_ICDF(32768), 0 },
4297 { AOM_ICDF(10880), AOM_ICDF(12248), AOM_ICDF(15214), AOM_ICDF(20017),
4298 AOM_ICDF(21922), AOM_ICDF(22757), AOM_ICDF(24360), AOM_ICDF(25280),
4299 AOM_ICDF(26684), AOM_ICDF(29869), AOM_ICDF(32768), 0 },
4300 { AOM_ICDF(11008), AOM_ICDF(13133), AOM_ICDF(15587), AOM_ICDF(17872),
4301 AOM_ICDF(19579), AOM_ICDF(21157), AOM_ICDF(23788), AOM_ICDF(26629),
4302 AOM_ICDF(27732), AOM_ICDF(29601), AOM_ICDF(32768), 0 },
4303 { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15360), AOM_ICDF(18348),
4304 AOM_ICDF(20452), AOM_ICDF(20460), AOM_ICDF(21902), AOM_ICDF(23982),
4305 AOM_ICDF(25149), AOM_ICDF(26667), AOM_ICDF(32768), 0 },
4306 { AOM_ICDF(8704), AOM_ICDF(14250), AOM_ICDF(17722), AOM_ICDF(23128),
4307 AOM_ICDF(24217), AOM_ICDF(24892), AOM_ICDF(26215), AOM_ICDF(27392),
4308 AOM_ICDF(28358), AOM_ICDF(30287), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004309 },
4310 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004311 { AOM_ICDF(8448), AOM_ICDF(10443), AOM_ICDF(20733), AOM_ICDF(23689),
4312 AOM_ICDF(24634), AOM_ICDF(25951), AOM_ICDF(26670), AOM_ICDF(27861),
4313 AOM_ICDF(28379), AOM_ICDF(29305), AOM_ICDF(32768), 0 },
4314 { AOM_ICDF(6656), AOM_ICDF(9206), AOM_ICDF(24577), AOM_ICDF(25792),
4315 AOM_ICDF(26335), AOM_ICDF(27169), AOM_ICDF(27913), AOM_ICDF(28956),
4316 AOM_ICDF(29239), AOM_ICDF(29680), AOM_ICDF(32768), 0 },
4317 { AOM_ICDF(7168), AOM_ICDF(8968), AOM_ICDF(15662), AOM_ICDF(22937),
4318 AOM_ICDF(23849), AOM_ICDF(24616), AOM_ICDF(25603), AOM_ICDF(26555),
4319 AOM_ICDF(27210), AOM_ICDF(29142), AOM_ICDF(32768), 0 },
4320 { AOM_ICDF(9600), AOM_ICDF(11501), AOM_ICDF(19310), AOM_ICDF(21731),
4321 AOM_ICDF(22790), AOM_ICDF(23936), AOM_ICDF(25627), AOM_ICDF(27217),
4322 AOM_ICDF(27868), AOM_ICDF(29170), AOM_ICDF(32768), 0 },
4323 { AOM_ICDF(6912), AOM_ICDF(8730), AOM_ICDF(17650), AOM_ICDF(19377),
4324 AOM_ICDF(21025), AOM_ICDF(23319), AOM_ICDF(24537), AOM_ICDF(26112),
4325 AOM_ICDF(26840), AOM_ICDF(28345), AOM_ICDF(32768), 0 },
4326 { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(20583), AOM_ICDF(21996),
4327 AOM_ICDF(23898), AOM_ICDF(26818), AOM_ICDF(28120), AOM_ICDF(30716),
4328 AOM_ICDF(31678), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
4329 { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(15619), AOM_ICDF(18584),
4330 AOM_ICDF(20844), AOM_ICDF(22519), AOM_ICDF(23760), AOM_ICDF(25203),
4331 AOM_ICDF(27094), AOM_ICDF(28801), AOM_ICDF(32768), 0 },
4332 { AOM_ICDF(8832), AOM_ICDF(10141), AOM_ICDF(17035), AOM_ICDF(20764),
4333 AOM_ICDF(21703), AOM_ICDF(22751), AOM_ICDF(23964), AOM_ICDF(25305),
4334 AOM_ICDF(26034), AOM_ICDF(29006), AOM_ICDF(32768), 0 },
4335 { AOM_ICDF(8192), AOM_ICDF(9920), AOM_ICDF(19113), AOM_ICDF(20594),
4336 AOM_ICDF(21747), AOM_ICDF(23327), AOM_ICDF(24581), AOM_ICDF(26916),
4337 AOM_ICDF(27533), AOM_ICDF(28944), AOM_ICDF(32768), 0 },
4338 { AOM_ICDF(6656), AOM_ICDF(8696), AOM_ICDF(18381), AOM_ICDF(20537),
4339 AOM_ICDF(21804), AOM_ICDF(21809), AOM_ICDF(22751), AOM_ICDF(24394),
4340 AOM_ICDF(24917), AOM_ICDF(25990), AOM_ICDF(32768), 0 },
4341 { AOM_ICDF(6400), AOM_ICDF(9593), AOM_ICDF(20818), AOM_ICDF(23519),
4342 AOM_ICDF(24266), AOM_ICDF(25113), AOM_ICDF(26608), AOM_ICDF(27883),
4343 AOM_ICDF(28322), AOM_ICDF(29364), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004344 },
4345 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004346 { AOM_ICDF(12032), AOM_ICDF(14381), AOM_ICDF(16608), AOM_ICDF(24946),
4347 AOM_ICDF(26084), AOM_ICDF(26582), AOM_ICDF(27428), AOM_ICDF(28075),
4348 AOM_ICDF(29395), AOM_ICDF(30858), AOM_ICDF(32768), 0 },
4349 { AOM_ICDF(9216), AOM_ICDF(12620), AOM_ICDF(18287), AOM_ICDF(24345),
4350 AOM_ICDF(25984), AOM_ICDF(26715), AOM_ICDF(27732), AOM_ICDF(28519),
4351 AOM_ICDF(29399), AOM_ICDF(30781), AOM_ICDF(32768), 0 },
4352 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(10220), AOM_ICDF(26539),
4353 AOM_ICDF(27310), AOM_ICDF(27483), AOM_ICDF(28082), AOM_ICDF(28430),
4354 AOM_ICDF(29362), AOM_ICDF(31291), AOM_ICDF(32768), 0 },
4355 { AOM_ICDF(11904), AOM_ICDF(14838), AOM_ICDF(17359), AOM_ICDF(21663),
4356 AOM_ICDF(22931), AOM_ICDF(23619), AOM_ICDF(25620), AOM_ICDF(26653),
4357 AOM_ICDF(27823), AOM_ICDF(30547), AOM_ICDF(32768), 0 },
4358 { AOM_ICDF(10752), AOM_ICDF(13504), AOM_ICDF(15536), AOM_ICDF(19057),
4359 AOM_ICDF(21753), AOM_ICDF(23883), AOM_ICDF(25202), AOM_ICDF(26266),
4360 AOM_ICDF(28196), AOM_ICDF(30589), AOM_ICDF(32768), 0 },
4361 { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(16787), AOM_ICDF(21011),
4362 AOM_ICDF(23929), AOM_ICDF(25651), AOM_ICDF(27958), AOM_ICDF(29330),
4363 AOM_ICDF(31022), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4364 { AOM_ICDF(8448), AOM_ICDF(9968), AOM_ICDF(11749), AOM_ICDF(18062),
4365 AOM_ICDF(21841), AOM_ICDF(22669), AOM_ICDF(23852), AOM_ICDF(24444),
4366 AOM_ICDF(28118), AOM_ICDF(30007), AOM_ICDF(32768), 0 },
4367 { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(12602), AOM_ICDF(20819),
4368 AOM_ICDF(22194), AOM_ICDF(22764), AOM_ICDF(24366), AOM_ICDF(25022),
4369 AOM_ICDF(26414), AOM_ICDF(30460), AOM_ICDF(32768), 0 },
4370 { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(14357), AOM_ICDF(18346),
4371 AOM_ICDF(20486), AOM_ICDF(21549), AOM_ICDF(23170), AOM_ICDF(25794),
4372 AOM_ICDF(27129), AOM_ICDF(29574), AOM_ICDF(32768), 0 },
4373 { AOM_ICDF(7808), AOM_ICDF(10733), AOM_ICDF(13057), AOM_ICDF(20252),
4374 AOM_ICDF(21906), AOM_ICDF(21912), AOM_ICDF(23057), AOM_ICDF(24233),
4375 AOM_ICDF(25700), AOM_ICDF(27439), AOM_ICDF(32768), 0 },
4376 { AOM_ICDF(6784), AOM_ICDF(11352), AOM_ICDF(13778), AOM_ICDF(23877),
4377 AOM_ICDF(24995), AOM_ICDF(25424), AOM_ICDF(26830), AOM_ICDF(27688),
4378 AOM_ICDF(28779), AOM_ICDF(30368), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004379 },
4380 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004381 { AOM_ICDF(12288), AOM_ICDF(13728), AOM_ICDF(16480), AOM_ICDF(19841),
4382 AOM_ICDF(21570), AOM_ICDF(22715), AOM_ICDF(25385), AOM_ICDF(27000),
4383 AOM_ICDF(28329), AOM_ICDF(29994), AOM_ICDF(32768), 0 },
4384 { AOM_ICDF(9344), AOM_ICDF(10991), AOM_ICDF(18817), AOM_ICDF(20972),
4385 AOM_ICDF(22137), AOM_ICDF(23231), AOM_ICDF(26025), AOM_ICDF(27711),
4386 AOM_ICDF(28244), AOM_ICDF(29428), AOM_ICDF(32768), 0 },
4387 { AOM_ICDF(9344), AOM_ICDF(10900), AOM_ICDF(13206), AOM_ICDF(21344),
4388 AOM_ICDF(22332), AOM_ICDF(22987), AOM_ICDF(25127), AOM_ICDF(26440),
4389 AOM_ICDF(27231), AOM_ICDF(29502), AOM_ICDF(32768), 0 },
4390 { AOM_ICDF(12928), AOM_ICDF(14478), AOM_ICDF(15978), AOM_ICDF(18630),
4391 AOM_ICDF(19852), AOM_ICDF(20897), AOM_ICDF(24699), AOM_ICDF(26464),
4392 AOM_ICDF(27030), AOM_ICDF(30482), AOM_ICDF(32768), 0 },
4393 { AOM_ICDF(9088), AOM_ICDF(10476), AOM_ICDF(13350), AOM_ICDF(15237),
4394 AOM_ICDF(18175), AOM_ICDF(20252), AOM_ICDF(23283), AOM_ICDF(25321),
4395 AOM_ICDF(26426), AOM_ICDF(29349), AOM_ICDF(32768), 0 },
4396 { AOM_ICDF(10240), AOM_ICDF(11912), AOM_ICDF(15008), AOM_ICDF(17177),
4397 AOM_ICDF(19979), AOM_ICDF(23056), AOM_ICDF(26395), AOM_ICDF(29681),
4398 AOM_ICDF(30790), AOM_ICDF(32760), AOM_ICDF(32768), 0 },
4399 { AOM_ICDF(8704), AOM_ICDF(9738), AOM_ICDF(11717), AOM_ICDF(15480),
4400 AOM_ICDF(18656), AOM_ICDF(20022), AOM_ICDF(22611), AOM_ICDF(24357),
4401 AOM_ICDF(27150), AOM_ICDF(29257), AOM_ICDF(32768), 0 },
4402 { AOM_ICDF(12928), AOM_ICDF(13548), AOM_ICDF(17978), AOM_ICDF(20602),
4403 AOM_ICDF(21814), AOM_ICDF(22427), AOM_ICDF(24568), AOM_ICDF(25881),
4404 AOM_ICDF(26823), AOM_ICDF(30817), AOM_ICDF(32768), 0 },
4405 { AOM_ICDF(10496), AOM_ICDF(12149), AOM_ICDF(14082), AOM_ICDF(18054),
4406 AOM_ICDF(19032), AOM_ICDF(19994), AOM_ICDF(24086), AOM_ICDF(28427),
4407 AOM_ICDF(29156), AOM_ICDF(30680), AOM_ICDF(32768), 0 },
4408 { AOM_ICDF(8448), AOM_ICDF(10158), AOM_ICDF(13867), AOM_ICDF(16506),
4409 AOM_ICDF(18584), AOM_ICDF(18592), AOM_ICDF(21472), AOM_ICDF(23767),
4410 AOM_ICDF(24646), AOM_ICDF(27279), AOM_ICDF(32768), 0 },
4411 { AOM_ICDF(7296), AOM_ICDF(9684), AOM_ICDF(13471), AOM_ICDF(17701),
4412 AOM_ICDF(18934), AOM_ICDF(19878), AOM_ICDF(25115), AOM_ICDF(27238),
4413 AOM_ICDF(27972), AOM_ICDF(29583), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004414 },
4415 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004416 { AOM_ICDF(10880), AOM_ICDF(12163), AOM_ICDF(14497), AOM_ICDF(17112),
4417 AOM_ICDF(20859), AOM_ICDF(22562), AOM_ICDF(23599), AOM_ICDF(24638),
4418 AOM_ICDF(26861), AOM_ICDF(29399), AOM_ICDF(32768), 0 },
4419 { AOM_ICDF(9984), AOM_ICDF(12476), AOM_ICDF(16360), AOM_ICDF(18889),
4420 AOM_ICDF(21414), AOM_ICDF(23474), AOM_ICDF(24563), AOM_ICDF(25909),
4421 AOM_ICDF(27195), AOM_ICDF(28828), AOM_ICDF(32768), 0 },
4422 { AOM_ICDF(7168), AOM_ICDF(9268), AOM_ICDF(10737), AOM_ICDF(20063),
4423 AOM_ICDF(22315), AOM_ICDF(23302), AOM_ICDF(24152), AOM_ICDF(25195),
4424 AOM_ICDF(26645), AOM_ICDF(28845), AOM_ICDF(32768), 0 },
4425 { AOM_ICDF(8960), AOM_ICDF(10727), AOM_ICDF(12449), AOM_ICDF(14263),
4426 AOM_ICDF(16523), AOM_ICDF(17608), AOM_ICDF(23352), AOM_ICDF(24676),
4427 AOM_ICDF(26478), AOM_ICDF(28886), AOM_ICDF(32768), 0 },
4428 { AOM_ICDF(9856), AOM_ICDF(11109), AOM_ICDF(13309), AOM_ICDF(14975),
4429 AOM_ICDF(19055), AOM_ICDF(21670), AOM_ICDF(23144), AOM_ICDF(24460),
4430 AOM_ICDF(26212), AOM_ICDF(28107), AOM_ICDF(32768), 0 },
4431 { AOM_ICDF(9984), AOM_ICDF(11586), AOM_ICDF(14565), AOM_ICDF(16562),
4432 AOM_ICDF(21107), AOM_ICDF(25444), AOM_ICDF(27218), AOM_ICDF(29429),
4433 AOM_ICDF(31451), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4434 { AOM_ICDF(7168), AOM_ICDF(8268), AOM_ICDF(9704), AOM_ICDF(13144),
4435 AOM_ICDF(18443), AOM_ICDF(20065), AOM_ICDF(21653), AOM_ICDF(23607),
4436 AOM_ICDF(26506), AOM_ICDF(28854), AOM_ICDF(32768), 0 },
4437 { AOM_ICDF(11520), AOM_ICDF(13014), AOM_ICDF(14866), AOM_ICDF(18136),
4438 AOM_ICDF(20231), AOM_ICDF(21509), AOM_ICDF(23004), AOM_ICDF(24186),
4439 AOM_ICDF(25728), AOM_ICDF(29468), AOM_ICDF(32768), 0 },
4440 { AOM_ICDF(10240), AOM_ICDF(12264), AOM_ICDF(14507), AOM_ICDF(16388),
4441 AOM_ICDF(18888), AOM_ICDF(20927), AOM_ICDF(22731), AOM_ICDF(24691),
4442 AOM_ICDF(26142), AOM_ICDF(28394), AOM_ICDF(32768), 0 },
4443 { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(12921), AOM_ICDF(15952),
4444 AOM_ICDF(19960), AOM_ICDF(19976), AOM_ICDF(21275), AOM_ICDF(23205),
4445 AOM_ICDF(25110), AOM_ICDF(26636), AOM_ICDF(32768), 0 },
4446 { AOM_ICDF(8448), AOM_ICDF(11488), AOM_ICDF(14065), AOM_ICDF(19113),
4447 AOM_ICDF(21604), AOM_ICDF(22978), AOM_ICDF(24508), AOM_ICDF(25895),
4448 AOM_ICDF(27398), AOM_ICDF(29055), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004449 },
4450 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004451 { AOM_ICDF(10368), AOM_ICDF(11768), AOM_ICDF(16772), AOM_ICDF(19842),
4452 AOM_ICDF(22940), AOM_ICDF(27394), AOM_ICDF(28528), AOM_ICDF(30267),
4453 AOM_ICDF(31371), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4454 { AOM_ICDF(9472), AOM_ICDF(11292), AOM_ICDF(18507), AOM_ICDF(20777),
4455 AOM_ICDF(23357), AOM_ICDF(27587), AOM_ICDF(28902), AOM_ICDF(30850),
4456 AOM_ICDF(31607), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4457 { AOM_ICDF(8064), AOM_ICDF(9512), AOM_ICDF(13782), AOM_ICDF(20645),
4458 AOM_ICDF(24493), AOM_ICDF(26242), AOM_ICDF(28001), AOM_ICDF(29435),
4459 AOM_ICDF(30438), AOM_ICDF(32759), AOM_ICDF(32768), 0 },
4460 { AOM_ICDF(8960), AOM_ICDF(10541), AOM_ICDF(15664), AOM_ICDF(17639),
4461 AOM_ICDF(19646), AOM_ICDF(22145), AOM_ICDF(25216), AOM_ICDF(28815),
4462 AOM_ICDF(30050), AOM_ICDF(32757), AOM_ICDF(32768), 0 },
4463 { AOM_ICDF(9984), AOM_ICDF(11141), AOM_ICDF(15365), AOM_ICDF(16746),
4464 AOM_ICDF(21186), AOM_ICDF(25766), AOM_ICDF(27817), AOM_ICDF(30022),
4465 AOM_ICDF(31309), AOM_ICDF(32762), AOM_ICDF(32768), 0 },
4466 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(16639), AOM_ICDF(17735),
4467 AOM_ICDF(21499), AOM_ICDF(26657), AOM_ICDF(28161), AOM_ICDF(30572),
4468 AOM_ICDF(31490), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4469 { AOM_ICDF(8448), AOM_ICDF(9303), AOM_ICDF(13611), AOM_ICDF(16636),
4470 AOM_ICDF(20555), AOM_ICDF(23414), AOM_ICDF(24912), AOM_ICDF(27613),
4471 AOM_ICDF(29727), AOM_ICDF(32756), AOM_ICDF(32768), 0 },
4472 { AOM_ICDF(9984), AOM_ICDF(11052), AOM_ICDF(16142), AOM_ICDF(19312),
4473 AOM_ICDF(21680), AOM_ICDF(23870), AOM_ICDF(25504), AOM_ICDF(28200),
4474 AOM_ICDF(29324), AOM_ICDF(32755), AOM_ICDF(32768), 0 },
4475 { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(16955), AOM_ICDF(18839),
4476 AOM_ICDF(21144), AOM_ICDF(24861), AOM_ICDF(26838), AOM_ICDF(29988),
4477 AOM_ICDF(30976), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4478 { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
4479 AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
4480 AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
4481 { AOM_ICDF(7424), AOM_ICDF(10097), AOM_ICDF(15588), AOM_ICDF(20217),
4482 AOM_ICDF(23899), AOM_ICDF(26460), AOM_ICDF(28308), AOM_ICDF(30155),
4483 AOM_ICDF(30951), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004484 },
4485 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004486 { AOM_ICDF(11648), AOM_ICDF(13133), AOM_ICDF(15050), AOM_ICDF(20481),
4487 AOM_ICDF(22470), AOM_ICDF(23425), AOM_ICDF(24337), AOM_ICDF(25160),
4488 AOM_ICDF(28964), AOM_ICDF(30480), AOM_ICDF(32768), 0 },
4489 { AOM_ICDF(10240), AOM_ICDF(12616), AOM_ICDF(16631), AOM_ICDF(20485),
4490 AOM_ICDF(22290), AOM_ICDF(23628), AOM_ICDF(25235), AOM_ICDF(26353),
4491 AOM_ICDF(28107), AOM_ICDF(29655), AOM_ICDF(32768), 0 },
4492 { AOM_ICDF(6784), AOM_ICDF(8002), AOM_ICDF(9066), AOM_ICDF(20038),
4493 AOM_ICDF(22926), AOM_ICDF(23324), AOM_ICDF(23951), AOM_ICDF(24537),
4494 AOM_ICDF(26916), AOM_ICDF(30231), AOM_ICDF(32768), 0 },
4495 { AOM_ICDF(11904), AOM_ICDF(14105), AOM_ICDF(15782), AOM_ICDF(19896),
4496 AOM_ICDF(22283), AOM_ICDF(23147), AOM_ICDF(24763), AOM_ICDF(25983),
4497 AOM_ICDF(27812), AOM_ICDF(29980), AOM_ICDF(32768), 0 },
4498 { AOM_ICDF(10624), AOM_ICDF(11922), AOM_ICDF(13632), AOM_ICDF(15941),
4499 AOM_ICDF(20469), AOM_ICDF(22453), AOM_ICDF(24065), AOM_ICDF(25187),
4500 AOM_ICDF(27349), AOM_ICDF(29296), AOM_ICDF(32768), 0 },
4501 { AOM_ICDF(12032), AOM_ICDF(13085), AOM_ICDF(15468), AOM_ICDF(17768),
4502 AOM_ICDF(20613), AOM_ICDF(24388), AOM_ICDF(26385), AOM_ICDF(28430),
4503 AOM_ICDF(30938), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4504 { AOM_ICDF(9728), AOM_ICDF(10538), AOM_ICDF(11493), AOM_ICDF(14765),
4505 AOM_ICDF(18460), AOM_ICDF(19471), AOM_ICDF(20302), AOM_ICDF(20935),
4506 AOM_ICDF(28192), AOM_ICDF(29926), AOM_ICDF(32768), 0 },
4507 { AOM_ICDF(8960), AOM_ICDF(9890), AOM_ICDF(10962), AOM_ICDF(16685),
4508 AOM_ICDF(18880), AOM_ICDF(19480), AOM_ICDF(20674), AOM_ICDF(21477),
4509 AOM_ICDF(23815), AOM_ICDF(29341), AOM_ICDF(32768), 0 },
4510 { AOM_ICDF(14592), AOM_ICDF(16367), AOM_ICDF(17712), AOM_ICDF(20293),
4511 AOM_ICDF(22544), AOM_ICDF(23829), AOM_ICDF(24877), AOM_ICDF(26326),
4512 AOM_ICDF(27660), AOM_ICDF(29875), AOM_ICDF(32768), 0 },
4513 { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12279), AOM_ICDF(16206),
4514 AOM_ICDF(18672), AOM_ICDF(18682), AOM_ICDF(20058), AOM_ICDF(21547),
4515 AOM_ICDF(25097), AOM_ICDF(27165), AOM_ICDF(32768), 0 },
4516 { AOM_ICDF(11136), AOM_ICDF(13840), AOM_ICDF(15762), AOM_ICDF(21710),
4517 AOM_ICDF(23038), AOM_ICDF(23734), AOM_ICDF(24863), AOM_ICDF(25882),
4518 AOM_ICDF(27765), AOM_ICDF(30071), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004519 },
4520 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004521 { AOM_ICDF(12544), AOM_ICDF(14124), AOM_ICDF(16964), AOM_ICDF(21907),
4522 AOM_ICDF(23808), AOM_ICDF(24496), AOM_ICDF(25724), AOM_ICDF(26715),
4523 AOM_ICDF(27992), AOM_ICDF(30455), AOM_ICDF(32768), 0 },
4524 { AOM_ICDF(10368), AOM_ICDF(13606), AOM_ICDF(18247), AOM_ICDF(20869),
4525 AOM_ICDF(22590), AOM_ICDF(23749), AOM_ICDF(25088), AOM_ICDF(26378),
4526 AOM_ICDF(27277), AOM_ICDF(29808), AOM_ICDF(32768), 0 },
4527 { AOM_ICDF(9088), AOM_ICDF(11031), AOM_ICDF(12899), AOM_ICDF(23497),
4528 AOM_ICDF(24465), AOM_ICDF(24851), AOM_ICDF(25995), AOM_ICDF(26815),
4529 AOM_ICDF(27885), AOM_ICDF(30555), AOM_ICDF(32768), 0 },
4530 { AOM_ICDF(11520), AOM_ICDF(14342), AOM_ICDF(15710), AOM_ICDF(19196),
4531 AOM_ICDF(21250), AOM_ICDF(21907), AOM_ICDF(24665), AOM_ICDF(26153),
4532 AOM_ICDF(27212), AOM_ICDF(30750), AOM_ICDF(32768), 0 },
4533 { AOM_ICDF(9984), AOM_ICDF(11764), AOM_ICDF(13979), AOM_ICDF(16405),
4534 AOM_ICDF(19279), AOM_ICDF(20658), AOM_ICDF(23354), AOM_ICDF(25266),
4535 AOM_ICDF(26702), AOM_ICDF(29380), AOM_ICDF(32768), 0 },
4536 { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15918), AOM_ICDF(19060),
4537 AOM_ICDF(21829), AOM_ICDF(23882), AOM_ICDF(26277), AOM_ICDF(27697),
4538 AOM_ICDF(30114), AOM_ICDF(32758), AOM_ICDF(32768), 0 },
4539 { AOM_ICDF(9344), AOM_ICDF(10534), AOM_ICDF(12184), AOM_ICDF(16208),
4540 AOM_ICDF(19764), AOM_ICDF(20627), AOM_ICDF(22524), AOM_ICDF(23644),
4541 AOM_ICDF(26887), AOM_ICDF(29782), AOM_ICDF(32768), 0 },
4542 { AOM_ICDF(12928), AOM_ICDF(14013), AOM_ICDF(15625), AOM_ICDF(19107),
4543 AOM_ICDF(20654), AOM_ICDF(21451), AOM_ICDF(22910), AOM_ICDF(23873),
4544 AOM_ICDF(24776), AOM_ICDF(30239), AOM_ICDF(32768), 0 },
4545 { AOM_ICDF(10368), AOM_ICDF(12818), AOM_ICDF(14610), AOM_ICDF(17350),
4546 AOM_ICDF(19568), AOM_ICDF(20710), AOM_ICDF(22971), AOM_ICDF(25114),
4547 AOM_ICDF(26340), AOM_ICDF(29127), AOM_ICDF(32768), 0 },
4548 { AOM_ICDF(8960), AOM_ICDF(11192), AOM_ICDF(13720), AOM_ICDF(18429),
4549 AOM_ICDF(20409), AOM_ICDF(20417), AOM_ICDF(22250), AOM_ICDF(23318),
4550 AOM_ICDF(24647), AOM_ICDF(27248), AOM_ICDF(32768), 0 },
4551 { AOM_ICDF(7808), AOM_ICDF(11416), AOM_ICDF(13918), AOM_ICDF(19028),
4552 AOM_ICDF(20181), AOM_ICDF(20839), AOM_ICDF(24380), AOM_ICDF(26018),
4553 AOM_ICDF(26967), AOM_ICDF(29845), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004554 },
4555 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004556 { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(14928), AOM_ICDF(18159),
4557 AOM_ICDF(19421), AOM_ICDF(20921), AOM_ICDF(23466), AOM_ICDF(26664),
4558 AOM_ICDF(27475), AOM_ICDF(28881), AOM_ICDF(32768), 0 },
4559 { AOM_ICDF(8704), AOM_ICDF(10302), AOM_ICDF(17323), AOM_ICDF(18907),
4560 AOM_ICDF(19868), AOM_ICDF(21184), AOM_ICDF(24171), AOM_ICDF(28033),
4561 AOM_ICDF(28625), AOM_ICDF(29353), AOM_ICDF(32768), 0 },
4562 { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(12604), AOM_ICDF(20616),
4563 AOM_ICDF(21514), AOM_ICDF(22371), AOM_ICDF(24239), AOM_ICDF(26138),
4564 AOM_ICDF(26863), AOM_ICDF(29239), AOM_ICDF(32768), 0 },
4565 { AOM_ICDF(11264), AOM_ICDF(12524), AOM_ICDF(16083), AOM_ICDF(18574),
4566 AOM_ICDF(19858), AOM_ICDF(20841), AOM_ICDF(24242), AOM_ICDF(27606),
4567 AOM_ICDF(28352), AOM_ICDF(29853), AOM_ICDF(32768), 0 },
4568 { AOM_ICDF(8704), AOM_ICDF(10208), AOM_ICDF(13292), AOM_ICDF(15170),
4569 AOM_ICDF(17277), AOM_ICDF(19226), AOM_ICDF(22083), AOM_ICDF(25046),
4570 AOM_ICDF(26041), AOM_ICDF(27802), AOM_ICDF(32768), 0 },
4571 { AOM_ICDF(9088), AOM_ICDF(10568), AOM_ICDF(15511), AOM_ICDF(17246),
4572 AOM_ICDF(20170), AOM_ICDF(22791), AOM_ICDF(25558), AOM_ICDF(30740),
4573 AOM_ICDF(31635), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
4574 { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(10653), AOM_ICDF(13145),
4575 AOM_ICDF(15286), AOM_ICDF(16614), AOM_ICDF(19075), AOM_ICDF(23140),
4576 AOM_ICDF(26224), AOM_ICDF(28652), AOM_ICDF(32768), 0 },
4577 { AOM_ICDF(10240), AOM_ICDF(11032), AOM_ICDF(14258), AOM_ICDF(17629),
4578 AOM_ICDF(18914), AOM_ICDF(19898), AOM_ICDF(22412), AOM_ICDF(24961),
4579 AOM_ICDF(25815), AOM_ICDF(29156), AOM_ICDF(32768), 0 },
4580 { AOM_ICDF(11008), AOM_ICDF(12028), AOM_ICDF(14702), AOM_ICDF(16147),
4581 AOM_ICDF(17209), AOM_ICDF(18160), AOM_ICDF(21812), AOM_ICDF(27547),
4582 AOM_ICDF(28709), AOM_ICDF(30120), AOM_ICDF(32768), 0 },
4583 { AOM_ICDF(7168), AOM_ICDF(9068), AOM_ICDF(14160), AOM_ICDF(16937),
4584 AOM_ICDF(18515), AOM_ICDF(18521), AOM_ICDF(20636), AOM_ICDF(24617),
4585 AOM_ICDF(25317), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
4586 { AOM_ICDF(6784), AOM_ICDF(8510), AOM_ICDF(14195), AOM_ICDF(17148),
4587 AOM_ICDF(18158), AOM_ICDF(19201), AOM_ICDF(23070), AOM_ICDF(27351),
4588 AOM_ICDF(27901), AOM_ICDF(29422), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004589 },
4590 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004591 { AOM_ICDF(10112), AOM_ICDF(11528), AOM_ICDF(15345), AOM_ICDF(19296),
4592 AOM_ICDF(21394), AOM_ICDF(21402), AOM_ICDF(22379), AOM_ICDF(23840),
4593 AOM_ICDF(24851), AOM_ICDF(26150), AOM_ICDF(32768), 0 },
4594 { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(17949), AOM_ICDF(20052),
4595 AOM_ICDF(22051), AOM_ICDF(22059), AOM_ICDF(23147), AOM_ICDF(24688),
4596 AOM_ICDF(25351), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
4597 { AOM_ICDF(6528), AOM_ICDF(8373), AOM_ICDF(11041), AOM_ICDF(21963),
4598 AOM_ICDF(23089), AOM_ICDF(23093), AOM_ICDF(24076), AOM_ICDF(24925),
4599 AOM_ICDF(25691), AOM_ICDF(27764), AOM_ICDF(32768), 0 },
4600 { AOM_ICDF(9600), AOM_ICDF(11229), AOM_ICDF(14847), AOM_ICDF(17527),
4601 AOM_ICDF(19738), AOM_ICDF(19747), AOM_ICDF(21629), AOM_ICDF(23761),
4602 AOM_ICDF(24957), AOM_ICDF(27673), AOM_ICDF(32768), 0 },
4603 { AOM_ICDF(8960), AOM_ICDF(10262), AOM_ICDF(13339), AOM_ICDF(15480),
4604 AOM_ICDF(19925), AOM_ICDF(19942), AOM_ICDF(21445), AOM_ICDF(23037),
4605 AOM_ICDF(24329), AOM_ICDF(25977), AOM_ICDF(32768), 0 },
4606 { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
4607 AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
4608 AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
4609 { AOM_ICDF(9472), AOM_ICDF(10564), AOM_ICDF(13426), AOM_ICDF(16561),
4610 AOM_ICDF(19685), AOM_ICDF(19697), AOM_ICDF(21076), AOM_ICDF(22583),
4611 AOM_ICDF(24891), AOM_ICDF(26983), AOM_ICDF(32768), 0 },
4612 { AOM_ICDF(8448), AOM_ICDF(9493), AOM_ICDF(12221), AOM_ICDF(16542),
4613 AOM_ICDF(18394), AOM_ICDF(18401), AOM_ICDF(19580), AOM_ICDF(20971),
4614 AOM_ICDF(22031), AOM_ICDF(26770), AOM_ICDF(32768), 0 },
4615 { AOM_ICDF(8704), AOM_ICDF(10772), AOM_ICDF(14209), AOM_ICDF(16381),
4616 AOM_ICDF(18911), AOM_ICDF(18921), AOM_ICDF(20436), AOM_ICDF(23374),
4617 AOM_ICDF(24475), AOM_ICDF(26095), AOM_ICDF(32768), 0 },
4618 { AOM_ICDF(7680), AOM_ICDF(9444), AOM_ICDF(13453), AOM_ICDF(16320),
4619 AOM_ICDF(18650), AOM_ICDF(18659), AOM_ICDF(19651), AOM_ICDF(21291),
4620 AOM_ICDF(22277), AOM_ICDF(23916), AOM_ICDF(32768), 0 },
4621 { AOM_ICDF(6656), AOM_ICDF(9920), AOM_ICDF(14740), AOM_ICDF(19864),
4622 AOM_ICDF(21495), AOM_ICDF(21501), AOM_ICDF(22953), AOM_ICDF(24372),
4623 AOM_ICDF(25192), AOM_ICDF(26760), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004624 },
4625 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004626 { AOM_ICDF(9728), AOM_ICDF(13958), AOM_ICDF(18881), AOM_ICDF(23624),
4627 AOM_ICDF(24754), AOM_ICDF(25553), AOM_ICDF(26709), AOM_ICDF(27940),
4628 AOM_ICDF(28977), AOM_ICDF(30413), AOM_ICDF(32768), 0 },
4629 { AOM_ICDF(8832), AOM_ICDF(12572), AOM_ICDF(22433), AOM_ICDF(24653),
4630 AOM_ICDF(25676), AOM_ICDF(26551), AOM_ICDF(27571), AOM_ICDF(28688),
4631 AOM_ICDF(29198), AOM_ICDF(30174), AOM_ICDF(32768), 0 },
4632 { AOM_ICDF(5888), AOM_ICDF(8828), AOM_ICDF(11353), AOM_ICDF(23482),
4633 AOM_ICDF(24310), AOM_ICDF(24737), AOM_ICDF(25804), AOM_ICDF(26375),
4634 AOM_ICDF(27174), AOM_ICDF(29840), AOM_ICDF(32768), 0 },
4635 { AOM_ICDF(9984), AOM_ICDF(13099), AOM_ICDF(16249), AOM_ICDF(19443),
4636 AOM_ICDF(20990), AOM_ICDF(22637), AOM_ICDF(24576), AOM_ICDF(25952),
4637 AOM_ICDF(26884), AOM_ICDF(29435), AOM_ICDF(32768), 0 },
4638 { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(15085), AOM_ICDF(18134),
4639 AOM_ICDF(20319), AOM_ICDF(21992), AOM_ICDF(23549), AOM_ICDF(24989),
4640 AOM_ICDF(27177), AOM_ICDF(29208), AOM_ICDF(32768), 0 },
4641 { AOM_ICDF(9856), AOM_ICDF(13168), AOM_ICDF(18987), AOM_ICDF(22481),
4642 AOM_ICDF(24282), AOM_ICDF(26200), AOM_ICDF(27868), AOM_ICDF(30203),
4643 AOM_ICDF(31085), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4644 { AOM_ICDF(6784), AOM_ICDF(9119), AOM_ICDF(12629), AOM_ICDF(16877),
4645 AOM_ICDF(20262), AOM_ICDF(21125), AOM_ICDF(22307), AOM_ICDF(23615),
4646 AOM_ICDF(27727), AOM_ICDF(29972), AOM_ICDF(32768), 0 },
4647 { AOM_ICDF(8320), AOM_ICDF(10230), AOM_ICDF(12783), AOM_ICDF(19005),
4648 AOM_ICDF(20213), AOM_ICDF(20668), AOM_ICDF(22039), AOM_ICDF(23045),
4649 AOM_ICDF(24146), AOM_ICDF(30478), AOM_ICDF(32768), 0 },
4650 { AOM_ICDF(9088), AOM_ICDF(11308), AOM_ICDF(15416), AOM_ICDF(18118),
4651 AOM_ICDF(19762), AOM_ICDF(20906), AOM_ICDF(22574), AOM_ICDF(25162),
4652 AOM_ICDF(25994), AOM_ICDF(28455), AOM_ICDF(32768), 0 },
4653 { AOM_ICDF(6912), AOM_ICDF(10548), AOM_ICDF(15148), AOM_ICDF(20026),
4654 AOM_ICDF(21612), AOM_ICDF(21618), AOM_ICDF(22707), AOM_ICDF(24200),
4655 AOM_ICDF(24869), AOM_ICDF(26844), AOM_ICDF(32768), 0 },
4656 { AOM_ICDF(6656), AOM_ICDF(12164), AOM_ICDF(16993), AOM_ICDF(21568),
4657 AOM_ICDF(22933), AOM_ICDF(23648), AOM_ICDF(25322), AOM_ICDF(26602),
4658 AOM_ICDF(27806), AOM_ICDF(29841), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004659 },
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004660#endif // CONFIG_SMOOTH_HV
4661#else // CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004662 { { AOM_ICDF(17536), AOM_ICDF(19321), AOM_ICDF(21527), AOM_ICDF(25360),
4663 AOM_ICDF(27516), AOM_ICDF(28026), AOM_ICDF(29323), AOM_ICDF(30023),
4664 AOM_ICDF(30999), AOM_ICDF(32768), 0 },
4665 { AOM_ICDF(11776), AOM_ICDF(15466), AOM_ICDF(22360), AOM_ICDF(24865),
4666 AOM_ICDF(26991), AOM_ICDF(27889), AOM_ICDF(29299), AOM_ICDF(30519),
4667 AOM_ICDF(31398), AOM_ICDF(32768), 0 },
4668 { AOM_ICDF(9344), AOM_ICDF(12272), AOM_ICDF(13793), AOM_ICDF(25813),
4669 AOM_ICDF(27359), AOM_ICDF(27654), AOM_ICDF(28573), AOM_ICDF(29130),
4670 AOM_ICDF(30551), AOM_ICDF(32768), 0 },
4671 { AOM_ICDF(11648), AOM_ICDF(14123), AOM_ICDF(16454), AOM_ICDF(19948),
4672 AOM_ICDF(22780), AOM_ICDF(23846), AOM_ICDF(27087), AOM_ICDF(28995),
4673 AOM_ICDF(30380), AOM_ICDF(32768), 0 },
4674 { AOM_ICDF(9216), AOM_ICDF(12436), AOM_ICDF(15295), AOM_ICDF(17996),
4675 AOM_ICDF(24006), AOM_ICDF(25465), AOM_ICDF(27405), AOM_ICDF(28725),
4676 AOM_ICDF(30383), AOM_ICDF(32768), 0 },
4677 { AOM_ICDF(9344), AOM_ICDF(12181), AOM_ICDF(14433), AOM_ICDF(16634),
4678 AOM_ICDF(20355), AOM_ICDF(24317), AOM_ICDF(26133), AOM_ICDF(29295),
4679 AOM_ICDF(31344), AOM_ICDF(32768), 0 },
4680 { AOM_ICDF(8576), AOM_ICDF(10750), AOM_ICDF(12556), AOM_ICDF(17996),
4681 AOM_ICDF(22315), AOM_ICDF(23609), AOM_ICDF(25040), AOM_ICDF(26157),
4682 AOM_ICDF(30573), AOM_ICDF(32768), 0 },
4683 { AOM_ICDF(11008), AOM_ICDF(13303), AOM_ICDF(15432), AOM_ICDF(20646),
4684 AOM_ICDF(23506), AOM_ICDF(24100), AOM_ICDF(25624), AOM_ICDF(26824),
4685 AOM_ICDF(28055), AOM_ICDF(32768), 0 },
4686 { AOM_ICDF(9472), AOM_ICDF(12384), AOM_ICDF(14534), AOM_ICDF(17094),
4687 AOM_ICDF(20257), AOM_ICDF(22155), AOM_ICDF(24767), AOM_ICDF(28955),
4688 AOM_ICDF(30474), AOM_ICDF(32768), 0 },
4689 { AOM_ICDF(7552), AOM_ICDF(14152), AOM_ICDF(17352), AOM_ICDF(22654),
4690 AOM_ICDF(25123), AOM_ICDF(25783), AOM_ICDF(27911), AOM_ICDF(29182),
4691 AOM_ICDF(30849), AOM_ICDF(32768), 0 } },
4692 { { AOM_ICDF(8064), AOM_ICDF(11538), AOM_ICDF(21987), AOM_ICDF(24941),
4693 AOM_ICDF(26913), AOM_ICDF(28136), AOM_ICDF(29222), AOM_ICDF(30469),
4694 AOM_ICDF(31331), AOM_ICDF(32768), 0 },
4695 { AOM_ICDF(5504), AOM_ICDF(10403), AOM_ICDF(25080), AOM_ICDF(26762),
4696 AOM_ICDF(27933), AOM_ICDF(29104), AOM_ICDF(30092), AOM_ICDF(31576),
4697 AOM_ICDF(32004), AOM_ICDF(32768), 0 },
4698 { AOM_ICDF(5632), AOM_ICDF(8706), AOM_ICDF(15097), AOM_ICDF(23714),
4699 AOM_ICDF(25344), AOM_ICDF(26072), AOM_ICDF(27380), AOM_ICDF(28580),
4700 AOM_ICDF(29840), AOM_ICDF(32768), 0 },
4701 { AOM_ICDF(7424), AOM_ICDF(11186), AOM_ICDF(17593), AOM_ICDF(20154),
4702 AOM_ICDF(22974), AOM_ICDF(24351), AOM_ICDF(26916), AOM_ICDF(29956),
4703 AOM_ICDF(30967), AOM_ICDF(32768), 0 },
4704 { AOM_ICDF(5888), AOM_ICDF(10193), AOM_ICDF(16895), AOM_ICDF(19031),
4705 AOM_ICDF(23735), AOM_ICDF(25576), AOM_ICDF(27514), AOM_ICDF(29813),
4706 AOM_ICDF(30471), AOM_ICDF(32768), 0 },
4707 { AOM_ICDF(4864), AOM_ICDF(8352), AOM_ICDF(16459), AOM_ICDF(18062),
4708 AOM_ICDF(21263), AOM_ICDF(25378), AOM_ICDF(26937), AOM_ICDF(30376),
4709 AOM_ICDF(31619), AOM_ICDF(32768), 0 },
4710 { AOM_ICDF(4992), AOM_ICDF(7922), AOM_ICDF(13842), AOM_ICDF(18004),
4711 AOM_ICDF(21779), AOM_ICDF(23527), AOM_ICDF(25115), AOM_ICDF(27357),
4712 AOM_ICDF(30232), AOM_ICDF(32768), 0 },
4713 { AOM_ICDF(6656), AOM_ICDF(9716), AOM_ICDF(16379), AOM_ICDF(20053),
4714 AOM_ICDF(22487), AOM_ICDF(23613), AOM_ICDF(25437), AOM_ICDF(27270),
4715 AOM_ICDF(28516), AOM_ICDF(32768), 0 },
4716 { AOM_ICDF(6016), AOM_ICDF(9674), AOM_ICDF(16891), AOM_ICDF(18684),
4717 AOM_ICDF(21147), AOM_ICDF(23093), AOM_ICDF(25512), AOM_ICDF(30132),
4718 AOM_ICDF(30894), AOM_ICDF(32768), 0 },
4719 { AOM_ICDF(4608), AOM_ICDF(11318), AOM_ICDF(21038), AOM_ICDF(23650),
4720 AOM_ICDF(25303), AOM_ICDF(26262), AOM_ICDF(28295), AOM_ICDF(30479),
4721 AOM_ICDF(31212), AOM_ICDF(32768), 0 } },
4722 { { AOM_ICDF(10496), AOM_ICDF(12758), AOM_ICDF(14790), AOM_ICDF(24547),
4723 AOM_ICDF(26342), AOM_ICDF(26799), AOM_ICDF(27825), AOM_ICDF(28443),
4724 AOM_ICDF(30217), AOM_ICDF(32768), 0 },
4725 { AOM_ICDF(7040), AOM_ICDF(11462), AOM_ICDF(17121), AOM_ICDF(24215),
4726 AOM_ICDF(26504), AOM_ICDF(27267), AOM_ICDF(28492), AOM_ICDF(29444),
4727 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
4728 { AOM_ICDF(5376), AOM_ICDF(8158), AOM_ICDF(9215), AOM_ICDF(26451),
4729 AOM_ICDF(27407), AOM_ICDF(27524), AOM_ICDF(27995), AOM_ICDF(28275),
4730 AOM_ICDF(29767), AOM_ICDF(32768), 0 },
4731 { AOM_ICDF(8704), AOM_ICDF(12652), AOM_ICDF(14145), AOM_ICDF(20101),
4732 AOM_ICDF(22879), AOM_ICDF(23675), AOM_ICDF(25629), AOM_ICDF(27079),
4733 AOM_ICDF(28923), AOM_ICDF(32768), 0 },
4734 { AOM_ICDF(7424), AOM_ICDF(12374), AOM_ICDF(14366), AOM_ICDF(18855),
4735 AOM_ICDF(23842), AOM_ICDF(24358), AOM_ICDF(25639), AOM_ICDF(27087),
4736 AOM_ICDF(29706), AOM_ICDF(32768), 0 },
4737 { AOM_ICDF(6400), AOM_ICDF(10005), AOM_ICDF(12939), AOM_ICDF(17753),
4738 AOM_ICDF(22206), AOM_ICDF(24790), AOM_ICDF(26785), AOM_ICDF(28164),
4739 AOM_ICDF(30520), AOM_ICDF(32768), 0 },
4740 { AOM_ICDF(5632), AOM_ICDF(8176), AOM_ICDF(9713), AOM_ICDF(19053),
4741 AOM_ICDF(22343), AOM_ICDF(23222), AOM_ICDF(24453), AOM_ICDF(25070),
4742 AOM_ICDF(29761), AOM_ICDF(32768), 0 },
4743 { AOM_ICDF(7040), AOM_ICDF(9754), AOM_ICDF(10833), AOM_ICDF(21229),
4744 AOM_ICDF(23540), AOM_ICDF(23943), AOM_ICDF(24839), AOM_ICDF(25675),
4745 AOM_ICDF(27033), AOM_ICDF(32768), 0 },
4746 { AOM_ICDF(6784), AOM_ICDF(11758), AOM_ICDF(13481), AOM_ICDF(17236),
4747 AOM_ICDF(20210), AOM_ICDF(21768), AOM_ICDF(24303), AOM_ICDF(26948),
4748 AOM_ICDF(28676), AOM_ICDF(32768), 0 },
4749 { AOM_ICDF(4864), AOM_ICDF(12712), AOM_ICDF(14201), AOM_ICDF(23863),
4750 AOM_ICDF(25952), AOM_ICDF(26386), AOM_ICDF(27632), AOM_ICDF(28635),
4751 AOM_ICDF(30362), AOM_ICDF(32768), 0 } },
4752 { { AOM_ICDF(13184), AOM_ICDF(15173), AOM_ICDF(17647), AOM_ICDF(21576),
4753 AOM_ICDF(24474), AOM_ICDF(25267), AOM_ICDF(27699), AOM_ICDF(29283),
4754 AOM_ICDF(30549), AOM_ICDF(32768), 0 },
4755 { AOM_ICDF(7552), AOM_ICDF(11295), AOM_ICDF(18257), AOM_ICDF(20811),
4756 AOM_ICDF(23213), AOM_ICDF(24606), AOM_ICDF(27731), AOM_ICDF(30407),
4757 AOM_ICDF(31237), AOM_ICDF(32768), 0 },
4758 { AOM_ICDF(7936), AOM_ICDF(10846), AOM_ICDF(12816), AOM_ICDF(22436),
4759 AOM_ICDF(24614), AOM_ICDF(25130), AOM_ICDF(26890), AOM_ICDF(28199),
4760 AOM_ICDF(29091), AOM_ICDF(32768), 0 },
4761 { AOM_ICDF(8576), AOM_ICDF(11411), AOM_ICDF(13830), AOM_ICDF(15918),
4762 AOM_ICDF(18996), AOM_ICDF(20044), AOM_ICDF(25114), AOM_ICDF(27835),
4763 AOM_ICDF(28972), AOM_ICDF(32768), 0 },
4764 { AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13646), AOM_ICDF(15966),
4765 AOM_ICDF(21162), AOM_ICDF(22012), AOM_ICDF(24701), AOM_ICDF(27506),
4766 AOM_ICDF(29644), AOM_ICDF(32768), 0 },
4767 { AOM_ICDF(6784), AOM_ICDF(9423), AOM_ICDF(12524), AOM_ICDF(14773),
4768 AOM_ICDF(19447), AOM_ICDF(22804), AOM_ICDF(26073), AOM_ICDF(29211),
4769 AOM_ICDF(30642), AOM_ICDF(32768), 0 },
4770 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(11059), AOM_ICDF(15861),
4771 AOM_ICDF(21174), AOM_ICDF(22338), AOM_ICDF(24620), AOM_ICDF(27071),
4772 AOM_ICDF(30899), AOM_ICDF(32768), 0 },
4773 { AOM_ICDF(9856), AOM_ICDF(11557), AOM_ICDF(13960), AOM_ICDF(18525),
4774 AOM_ICDF(21788), AOM_ICDF(22189), AOM_ICDF(24462), AOM_ICDF(26603),
4775 AOM_ICDF(27470), AOM_ICDF(32768), 0 },
4776 { AOM_ICDF(7808), AOM_ICDF(10636), AOM_ICDF(13143), AOM_ICDF(15844),
4777 AOM_ICDF(18698), AOM_ICDF(20272), AOM_ICDF(24323), AOM_ICDF(30096),
4778 AOM_ICDF(31787), AOM_ICDF(32768), 0 },
4779 { AOM_ICDF(6016), AOM_ICDF(10928), AOM_ICDF(14596), AOM_ICDF(18926),
4780 AOM_ICDF(21586), AOM_ICDF(22688), AOM_ICDF(26626), AOM_ICDF(29001),
4781 AOM_ICDF(30399), AOM_ICDF(32768), 0 } },
4782 { { AOM_ICDF(8832), AOM_ICDF(10983), AOM_ICDF(13451), AOM_ICDF(16582),
4783 AOM_ICDF(21656), AOM_ICDF(23109), AOM_ICDF(24845), AOM_ICDF(26207),
4784 AOM_ICDF(28796), AOM_ICDF(32768), 0 },
4785 { AOM_ICDF(6784), AOM_ICDF(10844), AOM_ICDF(15554), AOM_ICDF(18073),
4786 AOM_ICDF(22954), AOM_ICDF(24901), AOM_ICDF(26776), AOM_ICDF(28649),
4787 AOM_ICDF(30419), AOM_ICDF(32768), 0 },
4788 { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(10072), AOM_ICDF(20108),
4789 AOM_ICDF(23535), AOM_ICDF(24346), AOM_ICDF(25761), AOM_ICDF(26418),
4790 AOM_ICDF(28675), AOM_ICDF(32768), 0 },
4791 { AOM_ICDF(7680), AOM_ICDF(11012), AOM_ICDF(12627), AOM_ICDF(14595),
4792 AOM_ICDF(19462), AOM_ICDF(20888), AOM_ICDF(23348), AOM_ICDF(25703),
4793 AOM_ICDF(28159), AOM_ICDF(32768), 0 },
4794 { AOM_ICDF(6656), AOM_ICDF(9818), AOM_ICDF(11790), AOM_ICDF(13813),
4795 AOM_ICDF(22731), AOM_ICDF(24737), AOM_ICDF(26557), AOM_ICDF(28061),
4796 AOM_ICDF(29697), AOM_ICDF(32768), 0 },
4797 { AOM_ICDF(5632), AOM_ICDF(8918), AOM_ICDF(11620), AOM_ICDF(13802),
4798 AOM_ICDF(19950), AOM_ICDF(23764), AOM_ICDF(25734), AOM_ICDF(28537),
4799 AOM_ICDF(31809), AOM_ICDF(32768), 0 },
4800 { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(7808), AOM_ICDF(12281),
4801 AOM_ICDF(19375), AOM_ICDF(20970), AOM_ICDF(22860), AOM_ICDF(24602),
4802 AOM_ICDF(29929), AOM_ICDF(32768), 0 },
4803 { AOM_ICDF(7040), AOM_ICDF(9553), AOM_ICDF(11457), AOM_ICDF(15102),
4804 AOM_ICDF(20291), AOM_ICDF(21280), AOM_ICDF(22985), AOM_ICDF(24475),
4805 AOM_ICDF(26613), AOM_ICDF(32768), 0 },
Jonathan Matthewsb28b78c2017-04-19 08:47:01 +01004806 { AOM_ICDF(6528), AOM_ICDF(10423), AOM_ICDF(12605), AOM_ICDF(14621),
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004807 AOM_ICDF(19031), AOM_ICDF(21505), AOM_ICDF(24585), AOM_ICDF(27558),
4808 AOM_ICDF(29532), AOM_ICDF(32768), 0 },
4809 { AOM_ICDF(6016), AOM_ICDF(11659), AOM_ICDF(14463), AOM_ICDF(18867),
4810 AOM_ICDF(23653), AOM_ICDF(24903), AOM_ICDF(27115), AOM_ICDF(29389),
4811 AOM_ICDF(31382), AOM_ICDF(32768), 0 } },
4812 { { AOM_ICDF(8192), AOM_ICDF(10016), AOM_ICDF(13304), AOM_ICDF(16362),
4813 AOM_ICDF(21107), AOM_ICDF(25165), AOM_ICDF(26620), AOM_ICDF(28901),
4814 AOM_ICDF(30910), AOM_ICDF(32768), 0 },
4815 { AOM_ICDF(5888), AOM_ICDF(8723), AOM_ICDF(16237), AOM_ICDF(18318),
4816 AOM_ICDF(22002), AOM_ICDF(25923), AOM_ICDF(27394), AOM_ICDF(29934),
4817 AOM_ICDF(31428), AOM_ICDF(32768), 0 },
4818 { AOM_ICDF(4608), AOM_ICDF(7138), AOM_ICDF(9841), AOM_ICDF(18442),
4819 AOM_ICDF(22447), AOM_ICDF(24618), AOM_ICDF(26337), AOM_ICDF(27945),
4820 AOM_ICDF(30168), AOM_ICDF(32768), 0 },
4821 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(12270), AOM_ICDF(14851),
4822 AOM_ICDF(19886), AOM_ICDF(22759), AOM_ICDF(25105), AOM_ICDF(28368),
4823 AOM_ICDF(29760), AOM_ICDF(32768), 0 },
4824 { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11324), AOM_ICDF(13340),
4825 AOM_ICDF(21205), AOM_ICDF(24224), AOM_ICDF(25926), AOM_ICDF(28518),
4826 AOM_ICDF(30560), AOM_ICDF(32768), 0 },
4827 { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(10058), AOM_ICDF(11237),
4828 AOM_ICDF(16807), AOM_ICDF(25937), AOM_ICDF(27218), AOM_ICDF(30015),
4829 AOM_ICDF(31348), AOM_ICDF(32768), 0 },
4830 { AOM_ICDF(4608), AOM_ICDF(6808), AOM_ICDF(9445), AOM_ICDF(12446),
4831 AOM_ICDF(18461), AOM_ICDF(21835), AOM_ICDF(23244), AOM_ICDF(26109),
4832 AOM_ICDF(30115), AOM_ICDF(32768), 0 },
4833 { AOM_ICDF(5760), AOM_ICDF(7659), AOM_ICDF(10798), AOM_ICDF(14720),
4834 AOM_ICDF(19157), AOM_ICDF(21955), AOM_ICDF(23645), AOM_ICDF(26460),
4835 AOM_ICDF(28702), AOM_ICDF(32768), 0 },
4836 { AOM_ICDF(5760), AOM_ICDF(8503), AOM_ICDF(11157), AOM_ICDF(13071),
4837 AOM_ICDF(17594), AOM_ICDF(22047), AOM_ICDF(24099), AOM_ICDF(29077),
4838 AOM_ICDF(30850), AOM_ICDF(32768), 0 },
4839 { AOM_ICDF(4864), AOM_ICDF(9660), AOM_ICDF(14264), AOM_ICDF(17105),
4840 AOM_ICDF(21528), AOM_ICDF(24094), AOM_ICDF(26025), AOM_ICDF(28580),
4841 AOM_ICDF(30559), AOM_ICDF(32768), 0 } },
4842 { { AOM_ICDF(9600), AOM_ICDF(11139), AOM_ICDF(12998), AOM_ICDF(18660),
4843 AOM_ICDF(22158), AOM_ICDF(23501), AOM_ICDF(24659), AOM_ICDF(25736),
4844 AOM_ICDF(30296), AOM_ICDF(32768), 0 },
4845 { AOM_ICDF(7168), AOM_ICDF(11068), AOM_ICDF(15984), AOM_ICDF(19969),
4846 AOM_ICDF(23169), AOM_ICDF(24704), AOM_ICDF(26216), AOM_ICDF(27572),
4847 AOM_ICDF(31368), AOM_ICDF(32768), 0 },
4848 { AOM_ICDF(4480), AOM_ICDF(6801), AOM_ICDF(8018), AOM_ICDF(20908),
4849 AOM_ICDF(23071), AOM_ICDF(23583), AOM_ICDF(24301), AOM_ICDF(25062),
4850 AOM_ICDF(29427), AOM_ICDF(32768), 0 },
4851 { AOM_ICDF(7168), AOM_ICDF(10068), AOM_ICDF(11753), AOM_ICDF(15843),
4852 AOM_ICDF(19742), AOM_ICDF(21358), AOM_ICDF(23809), AOM_ICDF(26189),
4853 AOM_ICDF(29067), AOM_ICDF(32768), 0 },
4854 { AOM_ICDF(6016), AOM_ICDF(9047), AOM_ICDF(10622), AOM_ICDF(13931),
4855 AOM_ICDF(22462), AOM_ICDF(23858), AOM_ICDF(25911), AOM_ICDF(27277),
4856 AOM_ICDF(29722), AOM_ICDF(32768), 0 },
4857 { AOM_ICDF(5888), AOM_ICDF(7568), AOM_ICDF(9931), AOM_ICDF(13533),
4858 AOM_ICDF(18431), AOM_ICDF(22063), AOM_ICDF(23777), AOM_ICDF(26025),
4859 AOM_ICDF(30555), AOM_ICDF(32768), 0 },
4860 { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(7379), AOM_ICDF(13739),
4861 AOM_ICDF(16917), AOM_ICDF(18090), AOM_ICDF(18835), AOM_ICDF(19651),
4862 AOM_ICDF(30360), AOM_ICDF(32768), 0 },
4863 { AOM_ICDF(6528), AOM_ICDF(8988), AOM_ICDF(10288), AOM_ICDF(15534),
4864 AOM_ICDF(19495), AOM_ICDF(20386), AOM_ICDF(21934), AOM_ICDF(23034),
4865 AOM_ICDF(26988), AOM_ICDF(32768), 0 },
4866 { AOM_ICDF(7040), AOM_ICDF(10055), AOM_ICDF(11652), AOM_ICDF(14757),
4867 AOM_ICDF(19622), AOM_ICDF(21715), AOM_ICDF(23615), AOM_ICDF(26761),
4868 AOM_ICDF(29483), AOM_ICDF(32768), 0 },
4869 { AOM_ICDF(4736), AOM_ICDF(10102), AOM_ICDF(12315), AOM_ICDF(19078),
4870 AOM_ICDF(21348), AOM_ICDF(22621), AOM_ICDF(24246), AOM_ICDF(26044),
4871 AOM_ICDF(29931), AOM_ICDF(32768), 0 } },
4872 { { AOM_ICDF(10496), AOM_ICDF(12410), AOM_ICDF(14955), AOM_ICDF(19891),
4873 AOM_ICDF(23137), AOM_ICDF(23792), AOM_ICDF(25159), AOM_ICDF(26378),
4874 AOM_ICDF(28125), AOM_ICDF(32768), 0 },
4875 { AOM_ICDF(7936), AOM_ICDF(12204), AOM_ICDF(17104), AOM_ICDF(20191),
4876 AOM_ICDF(23468), AOM_ICDF(24630), AOM_ICDF(26156), AOM_ICDF(27628),
4877 AOM_ICDF(28913), AOM_ICDF(32768), 0 },
4878 { AOM_ICDF(6016), AOM_ICDF(8629), AOM_ICDF(10232), AOM_ICDF(23591),
4879 AOM_ICDF(25349), AOM_ICDF(25637), AOM_ICDF(26306), AOM_ICDF(27063),
4880 AOM_ICDF(28980), AOM_ICDF(32768), 0 },
4881 { AOM_ICDF(8704), AOM_ICDF(12088), AOM_ICDF(13461), AOM_ICDF(16646),
4882 AOM_ICDF(20516), AOM_ICDF(21455), AOM_ICDF(24062), AOM_ICDF(26579),
4883 AOM_ICDF(28368), AOM_ICDF(32768), 0 },
4884 { AOM_ICDF(7296), AOM_ICDF(11177), AOM_ICDF(13117), AOM_ICDF(16196),
4885 AOM_ICDF(23378), AOM_ICDF(24708), AOM_ICDF(26440), AOM_ICDF(27997),
4886 AOM_ICDF(29078), AOM_ICDF(32768), 0 },
4887 { AOM_ICDF(6272), AOM_ICDF(9377), AOM_ICDF(12575), AOM_ICDF(15616),
4888 AOM_ICDF(20919), AOM_ICDF(23697), AOM_ICDF(26603), AOM_ICDF(27566),
4889 AOM_ICDF(29903), AOM_ICDF(32768), 0 },
4890 { AOM_ICDF(6528), AOM_ICDF(9091), AOM_ICDF(10478), AOM_ICDF(16445),
4891 AOM_ICDF(21081), AOM_ICDF(22320), AOM_ICDF(23871), AOM_ICDF(25087),
4892 AOM_ICDF(29258), AOM_ICDF(32768), 0 },
4893 { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(12499), AOM_ICDF(17340),
4894 AOM_ICDF(20656), AOM_ICDF(21288), AOM_ICDF(22588), AOM_ICDF(23701),
4895 AOM_ICDF(24693), AOM_ICDF(32768), 0 },
4896 { AOM_ICDF(7552), AOM_ICDF(11394), AOM_ICDF(12980), AOM_ICDF(15562),
4897 AOM_ICDF(19942), AOM_ICDF(21792), AOM_ICDF(25093), AOM_ICDF(28211),
4898 AOM_ICDF(28959), AOM_ICDF(32768), 0 },
4899 { AOM_ICDF(5120), AOM_ICDF(11708), AOM_ICDF(13847), AOM_ICDF(19377),
4900 AOM_ICDF(22421), AOM_ICDF(23160), AOM_ICDF(25449), AOM_ICDF(27136),
4901 AOM_ICDF(29182), AOM_ICDF(32768), 0 } },
4902 { { AOM_ICDF(9984), AOM_ICDF(12031), AOM_ICDF(15190), AOM_ICDF(18673),
4903 AOM_ICDF(21422), AOM_ICDF(22812), AOM_ICDF(25690), AOM_ICDF(29118),
4904 AOM_ICDF(30458), AOM_ICDF(32768), 0 },
4905 { AOM_ICDF(6144), AOM_ICDF(9680), AOM_ICDF(17436), AOM_ICDF(19610),
4906 AOM_ICDF(21820), AOM_ICDF(23485), AOM_ICDF(26313), AOM_ICDF(30826),
4907 AOM_ICDF(31843), AOM_ICDF(32768), 0 },
4908 { AOM_ICDF(6016), AOM_ICDF(8315), AOM_ICDF(10607), AOM_ICDF(19333),
4909 AOM_ICDF(21572), AOM_ICDF(22553), AOM_ICDF(25266), AOM_ICDF(27288),
4910 AOM_ICDF(28551), AOM_ICDF(32768), 0 },
4911 { AOM_ICDF(7168), AOM_ICDF(9668), AOM_ICDF(12646), AOM_ICDF(16257),
4912 AOM_ICDF(19648), AOM_ICDF(20899), AOM_ICDF(25304), AOM_ICDF(30465),
4913 AOM_ICDF(31625), AOM_ICDF(32768), 0 },
4914 { AOM_ICDF(6144), AOM_ICDF(9368), AOM_ICDF(11836), AOM_ICDF(14130),
4915 AOM_ICDF(19153), AOM_ICDF(21157), AOM_ICDF(24876), AOM_ICDF(28452),
4916 AOM_ICDF(29396), AOM_ICDF(32768), 0 },
4917 { AOM_ICDF(5504), AOM_ICDF(8486), AOM_ICDF(11996), AOM_ICDF(14412),
4918 AOM_ICDF(17968), AOM_ICDF(21814), AOM_ICDF(24424), AOM_ICDF(30682),
4919 AOM_ICDF(32059), AOM_ICDF(32768), 0 },
4920 { AOM_ICDF(5376), AOM_ICDF(7195), AOM_ICDF(9592), AOM_ICDF(13331),
4921 AOM_ICDF(17569), AOM_ICDF(19460), AOM_ICDF(22371), AOM_ICDF(25458),
4922 AOM_ICDF(28942), AOM_ICDF(32768), 0 },
4923 { AOM_ICDF(7424), AOM_ICDF(9206), AOM_ICDF(11783), AOM_ICDF(16456),
4924 AOM_ICDF(19253), AOM_ICDF(20390), AOM_ICDF(23775), AOM_ICDF(27007),
4925 AOM_ICDF(28425), AOM_ICDF(32768), 0 },
4926 { AOM_ICDF(5888), AOM_ICDF(8303), AOM_ICDF(11361), AOM_ICDF(13440),
4927 AOM_ICDF(15848), AOM_ICDF(17549), AOM_ICDF(21532), AOM_ICDF(29564),
4928 AOM_ICDF(30665), AOM_ICDF(32768), 0 },
4929 { AOM_ICDF(4608), AOM_ICDF(8788), AOM_ICDF(13284), AOM_ICDF(16621),
4930 AOM_ICDF(18983), AOM_ICDF(20286), AOM_ICDF(24577), AOM_ICDF(28960),
4931 AOM_ICDF(30314), AOM_ICDF(32768), 0 } },
4932 { { AOM_ICDF(8320), AOM_ICDF(15005), AOM_ICDF(19168), AOM_ICDF(24282),
4933 AOM_ICDF(26707), AOM_ICDF(27402), AOM_ICDF(28681), AOM_ICDF(29639),
4934 AOM_ICDF(30629), AOM_ICDF(32768), 0 },
4935 { AOM_ICDF(5632), AOM_ICDF(13900), AOM_ICDF(22376), AOM_ICDF(24867),
4936 AOM_ICDF(26804), AOM_ICDF(27734), AOM_ICDF(29130), AOM_ICDF(30722),
4937 AOM_ICDF(31465), AOM_ICDF(32768), 0 },
4938 { AOM_ICDF(4992), AOM_ICDF(9115), AOM_ICDF(11055), AOM_ICDF(24893),
4939 AOM_ICDF(26316), AOM_ICDF(26661), AOM_ICDF(27663), AOM_ICDF(28301),
4940 AOM_ICDF(29418), AOM_ICDF(32768), 0 },
4941 { AOM_ICDF(7424), AOM_ICDF(12077), AOM_ICDF(14987), AOM_ICDF(19596),
4942 AOM_ICDF(22615), AOM_ICDF(23600), AOM_ICDF(26465), AOM_ICDF(28484),
4943 AOM_ICDF(29789), AOM_ICDF(32768), 0 },
4944 { AOM_ICDF(6272), AOM_ICDF(11447), AOM_ICDF(14362), AOM_ICDF(18204),
4945 AOM_ICDF(23418), AOM_ICDF(24715), AOM_ICDF(26697), AOM_ICDF(28547),
4946 AOM_ICDF(29520), AOM_ICDF(32768), 0 },
4947 { AOM_ICDF(5248), AOM_ICDF(10946), AOM_ICDF(15379), AOM_ICDF(18167),
4948 AOM_ICDF(22197), AOM_ICDF(25432), AOM_ICDF(27295), AOM_ICDF(30031),
4949 AOM_ICDF(30576), AOM_ICDF(32768), 0 },
4950 { AOM_ICDF(5120), AOM_ICDF(9008), AOM_ICDF(11607), AOM_ICDF(18210),
4951 AOM_ICDF(22327), AOM_ICDF(23427), AOM_ICDF(24887), AOM_ICDF(26580),
4952 AOM_ICDF(29892), AOM_ICDF(32768), 0 },
4953 { AOM_ICDF(6656), AOM_ICDF(10124), AOM_ICDF(12689), AOM_ICDF(19922),
4954 AOM_ICDF(22480), AOM_ICDF(22807), AOM_ICDF(24441), AOM_ICDF(25579),
4955 AOM_ICDF(26787), AOM_ICDF(32768), 0 },
4956 { AOM_ICDF(5376), AOM_ICDF(10084), AOM_ICDF(13983), AOM_ICDF(17113),
4957 AOM_ICDF(19996), AOM_ICDF(21614), AOM_ICDF(24403), AOM_ICDF(28651),
4958 AOM_ICDF(29938), AOM_ICDF(32768), 0 },
4959 { AOM_ICDF(5504), AOM_ICDF(14131), AOM_ICDF(17989), AOM_ICDF(23324),
4960 AOM_ICDF(25513), AOM_ICDF(26071), AOM_ICDF(27850), AOM_ICDF(29464),
4961 AOM_ICDF(30393), AOM_ICDF(32768), 0 } },
Urvang Joshi63234542017-03-10 12:04:03 -08004962#endif // CONFIG_ALT_INTRA
4963 };
Thomas Davies1d7db722017-02-22 11:15:00 +00004964
Yaowu Xuc27fc142016-08-22 16:08:15 -07004965static void init_mode_probs(FRAME_CONTEXT *fc) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004966 av1_copy(fc->switchable_interp_prob, default_switchable_interp_prob);
4967 av1_copy(fc->partition_prob, default_partition_probs);
4968 av1_copy(fc->intra_inter_prob, default_intra_inter_p);
4969 av1_copy(fc->comp_inter_prob, default_comp_inter_p);
Thomas Daviesce7272d2017-07-04 16:11:08 +01004970#if CONFIG_PALETTE
4971 av1_copy(fc->palette_y_size_cdf, default_palette_y_size_cdf);
4972 av1_copy(fc->palette_uv_size_cdf, default_palette_uv_size_cdf);
4973 av1_copy(fc->palette_y_color_index_cdf, default_palette_y_color_index_cdf);
4974 av1_copy(fc->palette_uv_color_index_cdf, default_palette_uv_color_index_cdf);
hui su466ae062017-07-25 16:55:51 -07004975#endif // CONFIG_PALETTE
4976#if CONFIG_NEW_MULTISYMBOL
4977 av1_copy(fc->comp_inter_cdf, default_comp_inter_cdf);
Thomas Daviesce7272d2017-07-04 16:11:08 +01004978#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liuc082bbc2017-05-17 13:31:37 -07004979#if CONFIG_EXT_COMP_REFS
4980 av1_copy(fc->comp_ref_type_prob, default_comp_ref_type_p);
4981 av1_copy(fc->uni_comp_ref_prob, default_uni_comp_ref_p);
Zoe Liufcf5fa22017-06-26 16:00:38 -07004982#if CONFIG_NEW_MULTISYMBOL
4983 av1_copy(fc->comp_ref_type_cdf, default_comp_ref_type_cdf);
4984 av1_copy(fc->uni_comp_ref_cdf, default_uni_comp_ref_cdf);
4985#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liuc082bbc2017-05-17 13:31:37 -07004986#endif // CONFIG_EXT_COMP_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07004987 av1_copy(fc->comp_ref_prob, default_comp_ref_p);
Thomas Davies894cc812017-06-22 17:51:33 +01004988#if CONFIG_NEW_MULTISYMBOL
4989 av1_copy(fc->comp_ref_cdf, default_comp_ref_cdf);
4990#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -07004991#if CONFIG_LV_MAP
4992 av1_copy(fc->txb_skip, default_txb_skip);
4993 av1_copy(fc->nz_map, default_nz_map);
4994 av1_copy(fc->eob_flag, default_eob_flag);
4995 av1_copy(fc->dc_sign, default_dc_sign);
4996 av1_copy(fc->coeff_base, default_coeff_base);
4997 av1_copy(fc->coeff_lps, default_coeff_lps);
4998#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004999#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07005000 av1_copy(fc->comp_bwdref_prob, default_comp_bwdref_p);
Thomas Davies894cc812017-06-22 17:51:33 +01005001#if CONFIG_NEW_MULTISYMBOL
5002 av1_copy(fc->comp_bwdref_cdf, default_comp_bwdref_cdf);
5003#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005004#endif // CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07005005 av1_copy(fc->single_ref_prob, default_single_ref_p);
Thomas Davies315f5782017-06-14 15:14:55 +01005006#if CONFIG_NEW_MULTISYMBOL
5007 av1_copy(fc->single_ref_cdf, default_single_ref_cdf);
5008#endif
Zoe Liu239f06b2017-04-20 13:10:55 -07005009#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
5010 av1_copy(fc->comp_inter_mode_prob, default_comp_inter_mode_p);
5011#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
Yaowu Xuf883b422016-08-30 14:01:10 -07005012 av1_copy(fc->tx_size_probs, default_tx_size_prob);
Yue Chend6bdd462017-07-19 16:05:43 -07005013#if CONFIG_RECT_TX_EXT && (CONFIG_EXT_TX || CONFIG_VAR_TX)
Yue Chen56e226e2017-05-02 16:21:40 -07005014 fc->quarter_tx_size_prob = default_quarter_tx_size_prob;
Yue Chend6bdd462017-07-19 16:05:43 -07005015#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005016#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07005017 av1_copy(fc->txfm_partition_prob, default_txfm_partition_probs);
Thomas Davies985bfc32017-06-27 16:51:26 +01005018#if CONFIG_NEW_MULTISYMBOL
5019 av1_copy(fc->txfm_partition_cdf, default_txfm_partition_cdf);
5020#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005021#endif
Yaowu Xuf883b422016-08-30 14:01:10 -07005022 av1_copy(fc->skip_probs, default_skip_probs);
Yaowu Xuf883b422016-08-30 14:01:10 -07005023 av1_copy(fc->newmv_prob, default_newmv_prob);
5024 av1_copy(fc->zeromv_prob, default_zeromv_prob);
5025 av1_copy(fc->refmv_prob, default_refmv_prob);
5026 av1_copy(fc->drl_prob, default_drl_prob);
Thomas Davies149eda52017-06-12 18:11:55 +01005027#if CONFIG_NEW_MULTISYMBOL
5028 av1_copy(fc->newmv_cdf, default_newmv_cdf);
5029 av1_copy(fc->zeromv_cdf, default_zeromv_cdf);
5030 av1_copy(fc->refmv_cdf, default_refmv_cdf);
5031 av1_copy(fc->drl_cdf, default_drl_cdf);
5032#endif
Yue Chencb60b182016-10-13 15:18:22 -07005033#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
5034 av1_copy(fc->motion_mode_prob, default_motion_mode_prob);
Wei-Ting Linca710d62017-07-13 11:41:02 -07005035 av1_copy(fc->motion_mode_cdf, default_motion_mode_cdf);
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07005036#if CONFIG_NCOBMC_ADAPT_WEIGHT && CONFIG_MOTION_VAR
5037 av1_copy(fc->ncobmc_mode_prob, default_ncobmc_mode_prob);
Wei-Ting Linca710d62017-07-13 11:41:02 -07005038 av1_copy(fc->ncobmc_mode_cdf, default_ncobmc_mode_cdf);
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07005039#endif
Yue Chen69f18e12016-09-08 14:48:15 -07005040#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
5041 av1_copy(fc->obmc_prob, default_obmc_prob);
Thomas Daviesd9b57262017-06-27 17:43:25 +01005042#if CONFIG_NEW_MULTISYMBOL
5043 av1_copy(fc->obmc_cdf, default_obmc_cdf);
5044#endif
Yue Chen69f18e12016-09-08 14:48:15 -07005045#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yue Chencb60b182016-10-13 15:18:22 -07005046#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07005047#if CONFIG_EXT_INTER
Yaowu Xuf883b422016-08-30 14:01:10 -07005048 av1_copy(fc->inter_compound_mode_probs, default_inter_compound_mode_probs);
Thomas Davies8c08a332017-06-26 17:30:34 +01005049 av1_copy(fc->inter_compound_mode_cdf, default_inter_compound_mode_cdf);
Zoe Liu239f06b2017-04-20 13:10:55 -07005050#if CONFIG_COMPOUND_SINGLEREF
5051 av1_copy(fc->inter_singleref_comp_mode_probs,
5052 default_inter_singleref_comp_mode_probs);
Thomas Daviesb8b14a92017-07-12 15:11:49 +01005053 av1_copy(fc->inter_singleref_comp_mode_cdf,
5054 default_inter_singleref_comp_mode_cdf);
Zoe Liu239f06b2017-04-20 13:10:55 -07005055#endif // CONFIG_COMPOUND_SINGLEREF
Sarah Parker6fddd182016-11-10 20:57:20 -08005056 av1_copy(fc->compound_type_prob, default_compound_type_probs);
Thomas Daviesd8dac222017-06-27 11:23:15 +01005057 av1_copy(fc->compound_type_cdf, default_compound_type_cdf);
Yue Chen4d26acb2017-05-01 12:28:34 -07005058#if CONFIG_INTERINTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07005059 av1_copy(fc->interintra_prob, default_interintra_prob);
Yaowu Xuf883b422016-08-30 14:01:10 -07005060 av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob);
Thomas Daviescff91712017-07-07 11:49:55 +01005061#if CONFIG_NEW_MULTISYMBOL
5062 av1_copy(fc->interintra_cdf, default_interintra_cdf);
5063 av1_copy(fc->wedge_interintra_cdf, default_wedge_interintra_cdf);
5064#endif // CONFIG_NEW_MULTISYMBOL
Thomas Davies299ff042017-06-27 13:41:59 +01005065 av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob);
Thomas Davies299ff042017-06-27 13:41:59 +01005066 av1_copy(fc->interintra_mode_cdf, default_interintra_mode_cdf);
Thomas Davies299ff042017-06-27 13:41:59 +01005067#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07005068#endif // CONFIG_EXT_INTER
5069#if CONFIG_SUPERTX
Yaowu Xuf883b422016-08-30 14:01:10 -07005070 av1_copy(fc->supertx_prob, default_supertx_prob);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005071#endif // CONFIG_SUPERTX
Nathan E. Eggef627e582016-08-19 20:06:51 -04005072 av1_copy(fc->seg.tree_probs, default_segment_tree_probs);
5073 av1_copy(fc->seg.pred_probs, default_segment_pred_probs);
Thomas Davies00021352017-07-11 16:07:55 +01005074#if CONFIG_NEW_MULTISYMBOL
5075 av1_copy(fc->seg.pred_cdf, default_segment_pred_cdf);
5076#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005077#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08005078#if CONFIG_INTRA_INTERP
Yaowu Xuf883b422016-08-30 14:01:10 -07005079 av1_copy(fc->intra_filter_probs, default_intra_filter_probs);
hui sueda3d762016-12-06 16:58:23 -08005080#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07005081#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07005082#if CONFIG_FILTER_INTRA
5083 av1_copy(fc->filter_intra_probs, default_filter_intra_probs);
5084#endif // CONFIG_FILTER_INTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07005085 av1_copy(fc->inter_ext_tx_prob, default_inter_ext_tx_prob);
5086 av1_copy(fc->intra_ext_tx_prob, default_intra_ext_tx_prob);
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07005087#if CONFIG_LOOP_RESTORATION
5088 av1_copy(fc->switchable_restore_prob, default_switchable_restore_prob);
5089#endif // CONFIG_LOOP_RESTORATION
Thomas Davies1d7db722017-02-22 11:15:00 +00005090 av1_copy(fc->y_mode_cdf, default_if_y_mode_cdf);
5091 av1_copy(fc->uv_mode_cdf, default_uv_mode_cdf);
5092 av1_copy(fc->switchable_interp_cdf, default_switchable_interp_cdf);
5093 av1_copy(fc->partition_cdf, default_partition_cdf);
Thomas Davies1d7db722017-02-22 11:15:00 +00005094 av1_copy(fc->intra_ext_tx_cdf, default_intra_ext_tx_cdf);
5095 av1_copy(fc->inter_ext_tx_cdf, default_inter_ext_tx_cdf);
Thomas Davies61e3e372017-04-04 16:10:23 +01005096#if CONFIG_NEW_MULTISYMBOL
5097 av1_copy(fc->skip_cdfs, default_skip_cdfs);
Thomas Daviesf6ad9352017-04-19 11:38:06 +01005098 av1_copy(fc->intra_inter_cdf, default_intra_inter_cdf);
Thomas Davies61e3e372017-04-04 16:10:23 +01005099#endif
hui sub4e25d22017-03-09 15:32:30 -08005100#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
5101 av1_copy(fc->intra_filter_cdf, default_intra_filter_cdf);
5102#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies1d7db722017-02-22 11:15:00 +00005103 av1_copy(fc->seg.tree_cdf, default_seg_tree_cdf);
5104 av1_copy(fc->tx_size_cdf, default_tx_size_cdf);
Thomas Daviesf6936102016-09-05 16:51:31 +01005105#if CONFIG_DELTA_Q
5106 av1_copy(fc->delta_q_prob, default_delta_q_probs);
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00005107 av1_copy(fc->delta_q_cdf, default_delta_q_cdf);
Fangwen Fu231fe422017-04-24 17:52:29 -07005108#if CONFIG_EXT_DELTA_Q
5109 av1_copy(fc->delta_lf_prob, default_delta_lf_probs);
Fangwen Fu231fe422017-04-24 17:52:29 -07005110 av1_copy(fc->delta_lf_cdf, default_delta_lf_cdf);
Fangwen Fu231fe422017-04-24 17:52:29 -07005111#endif
hui sub4e25d22017-03-09 15:32:30 -08005112#endif // CONFIG_DELTA_Q
Luc Trudeauf5334002017-04-25 12:21:26 -04005113#if CONFIG_CFL
5114 av1_copy(fc->cfl_alpha_cdf, default_cfl_alpha_cdf);
5115#endif
Alex Converse7c412ea2017-06-01 15:16:22 -07005116#if CONFIG_INTRABC
5117 fc->intrabc_prob = INTRABC_PROB_DEFAULT;
5118#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005119}
5120
Nathan E. Egge4947c292016-04-26 11:37:06 -04005121int av1_switchable_interp_ind[SWITCHABLE_FILTERS];
5122int av1_switchable_interp_inv[SWITCHABLE_FILTERS];
Thomas Davies6519beb2016-10-19 14:46:07 +01005123
Angie Chiangaadbb022017-06-01 16:08:03 -07005124#if CONFIG_DUAL_FILTER && USE_EXTRA_FILTER
Yaowu Xuf883b422016-08-30 14:01:10 -07005125const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
5126 {
Angie Chiangd91ab372016-11-21 18:16:49 -08005127 -EIGHTTAP_REGULAR, 2, 4, -MULTITAP_SHARP, -EIGHTTAP_SMOOTH,
Yaowu Xuc27fc142016-08-22 16:08:15 -07005128 -EIGHTTAP_SMOOTH2,
Yaowu Xuc27fc142016-08-22 16:08:15 -07005129 };
5130#else
Yaowu Xuf883b422016-08-30 14:01:10 -07005131const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
5132 { -EIGHTTAP_REGULAR, 2, -EIGHTTAP_SMOOTH, -MULTITAP_SHARP };
Angie Chiang1733f6b2017-01-05 09:52:20 -08005133#endif // CONFIG_DUAL_FILTER
Yaowu Xuc27fc142016-08-22 16:08:15 -07005134
Yaowu Xuf883b422016-08-30 14:01:10 -07005135void av1_adapt_inter_frame_probs(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005136 int i, j;
5137 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07005138 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07005139 const FRAME_COUNTS *counts = &cm->counts;
5140
5141 for (i = 0; i < INTRA_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005142 fc->intra_inter_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07005143 pre_fc->intra_inter_prob[i], counts->intra_inter[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07005144
Yaowu Xuc27fc142016-08-22 16:08:15 -07005145 for (i = 0; i < COMP_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005146 fc->comp_inter_prob[i] = av1_mode_mv_merge_probs(pre_fc->comp_inter_prob[i],
5147 counts->comp_inter[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005148
Zoe Liuc082bbc2017-05-17 13:31:37 -07005149#if CONFIG_EXT_COMP_REFS
5150 for (i = 0; i < COMP_REF_TYPE_CONTEXTS; i++)
5151 fc->comp_ref_type_prob[i] = av1_mode_mv_merge_probs(
5152 pre_fc->comp_ref_type_prob[i], counts->comp_ref_type[i]);
5153
5154 for (i = 0; i < UNI_COMP_REF_CONTEXTS; i++)
5155 for (j = 0; j < (UNIDIR_COMP_REFS - 1); j++)
5156 fc->uni_comp_ref_prob[i][j] = av1_mode_mv_merge_probs(
5157 pre_fc->uni_comp_ref_prob[i][j], counts->uni_comp_ref[i][j]);
5158#endif // CONFIG_EXT_COMP_REFS
5159
Yaowu Xuc27fc142016-08-22 16:08:15 -07005160#if CONFIG_EXT_REFS
5161 for (i = 0; i < REF_CONTEXTS; i++)
5162 for (j = 0; j < (FWD_REFS - 1); j++)
5163 fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
5164 counts->comp_ref[i][j]);
5165 for (i = 0; i < REF_CONTEXTS; i++)
5166 for (j = 0; j < (BWD_REFS - 1); j++)
5167 fc->comp_bwdref_prob[i][j] = mode_mv_merge_probs(
5168 pre_fc->comp_bwdref_prob[i][j], counts->comp_bwdref[i][j]);
5169#else
5170 for (i = 0; i < REF_CONTEXTS; i++)
5171 for (j = 0; j < (COMP_REFS - 1); j++)
5172 fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
5173 counts->comp_ref[i][j]);
5174#endif // CONFIG_EXT_REFS
5175
5176 for (i = 0; i < REF_CONTEXTS; i++)
5177 for (j = 0; j < (SINGLE_REFS - 1); j++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005178 fc->single_ref_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07005179 pre_fc->single_ref_prob[i][j], counts->single_ref[i][j]);
5180
Zoe Liu239f06b2017-04-20 13:10:55 -07005181#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
5182 for (i = 0; i < COMP_INTER_MODE_CONTEXTS; i++)
5183 fc->comp_inter_mode_prob[i] = av1_mode_mv_merge_probs(
5184 pre_fc->comp_inter_mode_prob[i], counts->comp_inter_mode[i]);
5185
5186#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
5187
Yaowu Xuc27fc142016-08-22 16:08:15 -07005188 for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i)
5189 fc->newmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005190 av1_mode_mv_merge_probs(pre_fc->newmv_prob[i], counts->newmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005191 for (i = 0; i < ZEROMV_MODE_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07005192 fc->zeromv_prob[i] =
5193 av1_mode_mv_merge_probs(pre_fc->zeromv_prob[i], counts->zeromv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005194 for (i = 0; i < REFMV_MODE_CONTEXTS; ++i)
5195 fc->refmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005196 av1_mode_mv_merge_probs(pre_fc->refmv_prob[i], counts->refmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005197
5198 for (i = 0; i < DRL_MODE_CONTEXTS; ++i)
5199 fc->drl_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005200 av1_mode_mv_merge_probs(pre_fc->drl_prob[i], counts->drl_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005201
Yue Chencb60b182016-10-13 15:18:22 -07005202#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005203 for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i)
Yue Chencb60b182016-10-13 15:18:22 -07005204 aom_tree_merge_probs(av1_motion_mode_tree, pre_fc->motion_mode_prob[i],
5205 counts->motion_mode[i], fc->motion_mode_prob[i]);
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07005206#if CONFIG_NCOBMC_ADAPT_WEIGHT
5207 for (i = 0; i < ADAPT_OVERLAP_BLOCKS; ++i)
5208 aom_tree_merge_probs(av1_ncobmc_mode_tree, pre_fc->ncobmc_mode_prob[i],
5209 counts->ncobmc_mode[i], fc->ncobmc_mode_prob[i]);
5210#endif
Yue Chen69f18e12016-09-08 14:48:15 -07005211#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005212 for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i)
Yue Chen69f18e12016-09-08 14:48:15 -07005213 fc->obmc_prob[i] =
5214 av1_mode_mv_merge_probs(pre_fc->obmc_prob[i], counts->obmc[i]);
5215#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yue Chencb60b182016-10-13 15:18:22 -07005216#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07005217
5218#if CONFIG_SUPERTX
5219 for (i = 0; i < PARTITION_SUPERTX_CONTEXTS; ++i) {
Jingning Han93531242016-12-20 11:54:36 -08005220 for (j = TX_8X8; j < TX_SIZES; ++j) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005221 fc->supertx_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07005222 pre_fc->supertx_prob[i][j], counts->supertx[i][j]);
5223 }
5224 }
5225#endif // CONFIG_SUPERTX
5226
5227#if CONFIG_EXT_INTER
5228 for (i = 0; i < INTER_MODE_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005229 aom_tree_merge_probs(
5230 av1_inter_compound_mode_tree, pre_fc->inter_compound_mode_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005231 counts->inter_compound_mode[i], fc->inter_compound_mode_probs[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07005232#if CONFIG_COMPOUND_SINGLEREF
5233 for (i = 0; i < INTER_MODE_CONTEXTS; i++)
5234 aom_tree_merge_probs(av1_inter_singleref_comp_mode_tree,
5235 pre_fc->inter_singleref_comp_mode_probs[i],
5236 counts->inter_singleref_comp_mode[i],
5237 fc->inter_singleref_comp_mode_probs[i]);
5238#endif // CONFIG_COMPOUND_SINGLEREF
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005239#if CONFIG_INTERINTRA
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005240 if (cm->allow_interintra_compound) {
5241 for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) {
5242 if (is_interintra_allowed_bsize_group(i))
5243 fc->interintra_prob[i] = av1_mode_mv_merge_probs(
5244 pre_fc->interintra_prob[i], counts->interintra[i]);
5245 }
5246 for (i = 0; i < BLOCK_SIZE_GROUPS; i++) {
5247 aom_tree_merge_probs(
5248 av1_interintra_mode_tree, pre_fc->interintra_mode_prob[i],
5249 counts->interintra_mode[i], fc->interintra_mode_prob[i]);
5250 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005251#if CONFIG_WEDGE
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005252 for (i = 0; i < BLOCK_SIZES_ALL; ++i) {
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005253 if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i))
5254 fc->wedge_interintra_prob[i] = av1_mode_mv_merge_probs(
5255 pre_fc->wedge_interintra_prob[i], counts->wedge_interintra[i]);
5256 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005257#endif // CONFIG_WEDGE
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005258 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005259#endif // CONFIG_INTERINTRA
Sarah Parker6fddd182016-11-10 20:57:20 -08005260
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00005261#if CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005262 if (cm->allow_masked_compound) {
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005263 for (i = 0; i < BLOCK_SIZES_ALL; ++i) {
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005264 aom_tree_merge_probs(
5265 av1_compound_type_tree, pre_fc->compound_type_prob[i],
5266 counts->compound_interinter[i], fc->compound_type_prob[i]);
5267 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07005268 }
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00005269#endif // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07005270#endif // CONFIG_EXT_INTER
5271
Yaowu Xuc27fc142016-08-22 16:08:15 -07005272 if (cm->interp_filter == SWITCHABLE) {
5273 for (i = 0; i < SWITCHABLE_FILTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005274 aom_tree_merge_probs(
5275 av1_switchable_interp_tree, pre_fc->switchable_interp_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005276 counts->switchable_interp[i], fc->switchable_interp_prob[i]);
5277 }
5278}
5279
Yaowu Xuf883b422016-08-30 14:01:10 -07005280void av1_adapt_intra_frame_probs(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005281 int i, j;
5282 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07005283 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07005284 const FRAME_COUNTS *counts = &cm->counts;
5285
5286 if (cm->tx_mode == TX_MODE_SELECT) {
Jingning Hanaae72a62016-10-25 15:35:29 -07005287 for (i = 0; i < MAX_TX_DEPTH; ++i) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005288 for (j = 0; j < TX_SIZE_CONTEXTS; ++j)
Yaowu Xuf883b422016-08-30 14:01:10 -07005289 aom_tree_merge_probs(av1_tx_size_tree[i], pre_fc->tx_size_probs[i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005290 counts->tx_size[i][j], fc->tx_size_probs[i][j]);
5291 }
Yue Chend6bdd462017-07-19 16:05:43 -07005292#if CONFIG_RECT_TX_EXT && (CONFIG_EXT_TX || CONFIG_VAR_TX)
Yue Chen56e226e2017-05-02 16:21:40 -07005293 fc->quarter_tx_size_prob = av1_mode_mv_merge_probs(
5294 pre_fc->quarter_tx_size_prob, counts->quarter_tx_size);
Yue Chend6bdd462017-07-19 16:05:43 -07005295#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005296 }
5297
5298#if CONFIG_VAR_TX
Yue Chena1e48dc2016-08-29 17:29:33 -07005299 if (cm->tx_mode == TX_MODE_SELECT) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005300 for (i = 0; i < TXFM_PARTITION_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07005301 fc->txfm_partition_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07005302 pre_fc->txfm_partition_prob[i], counts->txfm_partition[i]);
Yue Chena1e48dc2016-08-29 17:29:33 -07005303 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07005304#endif
5305
5306 for (i = 0; i < SKIP_CONTEXTS; ++i)
5307 fc->skip_probs[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005308 av1_mode_mv_merge_probs(pre_fc->skip_probs[i], counts->skip[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005309
5310#if CONFIG_EXT_TX
5311 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
5312 int s;
5313 for (s = 1; s < EXT_TX_SETS_INTER; ++s) {
5314 if (use_inter_ext_tx_for_txsize[s][i]) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005315 aom_tree_merge_probs(
5316 av1_ext_tx_inter_tree[s], pre_fc->inter_ext_tx_prob[s][i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005317 counts->inter_ext_tx[s][i], fc->inter_ext_tx_prob[s][i]);
5318 }
5319 }
5320 for (s = 1; s < EXT_TX_SETS_INTRA; ++s) {
5321 if (use_intra_ext_tx_for_txsize[s][i]) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005322 for (j = 0; j < INTRA_MODES; ++j)
Yaowu Xuf883b422016-08-30 14:01:10 -07005323 aom_tree_merge_probs(
5324 av1_ext_tx_intra_tree[s], pre_fc->intra_ext_tx_prob[s][i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005325 counts->intra_ext_tx[s][i][j], fc->intra_ext_tx_prob[s][i][j]);
5326 }
5327 }
5328 }
5329#else
5330 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04005331 for (j = 0; j < TX_TYPES; ++j) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005332 aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->intra_ext_tx_prob[i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005333 counts->intra_ext_tx[i][j],
5334 fc->intra_ext_tx_prob[i][j]);
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04005335 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07005336 }
5337 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005338 aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->inter_ext_tx_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005339 counts->inter_ext_tx[i], fc->inter_ext_tx_prob[i]);
5340 }
5341#endif // CONFIG_EXT_TX
5342
5343 if (cm->seg.temporal_update) {
5344 for (i = 0; i < PREDICTION_PROBS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005345 fc->seg.pred_probs[i] = av1_mode_mv_merge_probs(pre_fc->seg.pred_probs[i],
5346 counts->seg.pred[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005347
Yaowu Xuf883b422016-08-30 14:01:10 -07005348 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07005349 counts->seg.tree_mispred, fc->seg.tree_probs);
5350 } else {
Yaowu Xuf883b422016-08-30 14:01:10 -07005351 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07005352 counts->seg.tree_total, fc->seg.tree_probs);
5353 }
5354
Yaowu Xuc27fc142016-08-22 16:08:15 -07005355#if CONFIG_EXT_PARTITION_TYPES
Alex Converse4e18d402017-03-14 15:36:38 -07005356 for (i = 0; i < PARTITION_PLOFFSET; ++i)
5357 aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
5358 counts->partition[i], fc->partition_prob[i]);
5359 for (; i < PARTITION_CONTEXTS_PRIMARY; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07005360 aom_tree_merge_probs(av1_ext_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005361 counts->partition[i], fc->partition_prob[i]);
5362#else
Alex Converse4e18d402017-03-14 15:36:38 -07005363 for (i = 0; i < PARTITION_CONTEXTS_PRIMARY; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005364 aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005365 counts->partition[i], fc->partition_prob[i]);
Nathan E. Eggefba2be62016-05-03 09:48:54 -04005366 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07005367#endif // CONFIG_EXT_PARTITION_TYPES
Alex Converse55c6bde2017-01-12 15:55:31 -08005368#if CONFIG_UNPOISON_PARTITION_CTX
5369 for (i = PARTITION_CONTEXTS_PRIMARY;
5370 i < PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES; ++i) {
5371 unsigned int ct[2] = { counts->partition[i][PARTITION_VERT],
5372 counts->partition[i][PARTITION_SPLIT] };
5373 assert(counts->partition[i][PARTITION_NONE] == 0);
5374 assert(counts->partition[i][PARTITION_HORZ] == 0);
5375 assert(fc->partition_prob[i][PARTITION_NONE] == 0);
5376 assert(fc->partition_prob[i][PARTITION_HORZ] == 0);
5377 fc->partition_prob[i][PARTITION_VERT] =
5378 av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_VERT], ct);
5379 }
5380 for (i = PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES;
5381 i < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++i) {
5382 unsigned int ct[2] = { counts->partition[i][PARTITION_HORZ],
5383 counts->partition[i][PARTITION_SPLIT] };
5384 assert(counts->partition[i][PARTITION_NONE] == 0);
5385 assert(counts->partition[i][PARTITION_VERT] == 0);
5386 assert(fc->partition_prob[i][PARTITION_NONE] == 0);
5387 assert(fc->partition_prob[i][PARTITION_VERT] == 0);
5388 fc->partition_prob[i][PARTITION_HORZ] =
5389 av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_HORZ], ct);
5390 }
5391#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01005392#if CONFIG_DELTA_Q
Thomas Davies665cd702017-03-02 10:20:30 +00005393 for (i = 0; i < DELTA_Q_PROBS; ++i)
Thomas Daviesf6936102016-09-05 16:51:31 +01005394 fc->delta_q_prob[i] =
5395 mode_mv_merge_probs(pre_fc->delta_q_prob[i], counts->delta_q[i]);
Fangwen Fu231fe422017-04-24 17:52:29 -07005396#if CONFIG_EXT_DELTA_Q
5397 for (i = 0; i < DELTA_LF_PROBS; ++i)
5398 fc->delta_lf_prob[i] =
5399 mode_mv_merge_probs(pre_fc->delta_lf_prob[i], counts->delta_lf[i]);
5400#endif // CONFIG_EXT_DELTA_Q
Thomas Daviesf6936102016-09-05 16:51:31 +01005401#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005402#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08005403#if CONFIG_INTRA_INTERP
hui su5db97432016-10-14 16:10:14 -07005404 for (i = 0; i < INTRA_FILTERS + 1; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005405 aom_tree_merge_probs(av1_intra_filter_tree, pre_fc->intra_filter_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005406 counts->intra_filter[i], fc->intra_filter_probs[i]);
hui su5db97432016-10-14 16:10:14 -07005407 }
hui sueda3d762016-12-06 16:58:23 -08005408#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07005409#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07005410#if CONFIG_FILTER_INTRA
5411 for (i = 0; i < PLANE_TYPES; ++i) {
5412 fc->filter_intra_probs[i] = av1_mode_mv_merge_probs(
5413 pre_fc->filter_intra_probs[i], counts->filter_intra[i]);
5414 }
5415#endif // CONFIG_FILTER_INTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07005416}
5417
5418static void set_default_lf_deltas(struct loopfilter *lf) {
5419 lf->mode_ref_delta_enabled = 1;
5420 lf->mode_ref_delta_update = 1;
5421
5422 lf->ref_deltas[INTRA_FRAME] = 1;
5423 lf->ref_deltas[LAST_FRAME] = 0;
5424#if CONFIG_EXT_REFS
5425 lf->ref_deltas[LAST2_FRAME] = lf->ref_deltas[LAST_FRAME];
5426 lf->ref_deltas[LAST3_FRAME] = lf->ref_deltas[LAST_FRAME];
5427 lf->ref_deltas[BWDREF_FRAME] = lf->ref_deltas[LAST_FRAME];
5428#endif // CONFIG_EXT_REFS
5429 lf->ref_deltas[GOLDEN_FRAME] = -1;
Zoe Liu97ad0582017-02-09 10:51:00 -08005430#if CONFIG_ALTREF2
5431 lf->ref_deltas[ALTREF2_FRAME] = -1;
5432#endif // CONFIG_ALTREF2
Yaowu Xuc27fc142016-08-22 16:08:15 -07005433 lf->ref_deltas[ALTREF_FRAME] = -1;
5434
5435 lf->mode_deltas[0] = 0;
5436 lf->mode_deltas[1] = 0;
5437}
5438
Yaowu Xuf883b422016-08-30 14:01:10 -07005439void av1_setup_past_independence(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005440 // Reset the segment feature data to the default stats:
5441 // Features disabled, 0, with delta coding (Default state).
5442 struct loopfilter *const lf = &cm->lf;
5443
5444 int i;
Yaowu Xuf883b422016-08-30 14:01:10 -07005445 av1_clearall_segfeatures(&cm->seg);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005446 cm->seg.abs_delta = SEGMENT_DELTADATA;
5447
5448 if (cm->last_frame_seg_map && !cm->frame_parallel_decode)
5449 memset(cm->last_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
5450
5451 if (cm->current_frame_seg_map)
5452 memset(cm->current_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
5453
5454 // Reset the mode ref deltas for loop filter
Yaowu Xuf883b422016-08-30 14:01:10 -07005455 av1_zero(lf->last_ref_deltas);
5456 av1_zero(lf->last_mode_deltas);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005457 set_default_lf_deltas(lf);
5458
5459 // To force update of the sharpness
5460 lf->last_sharpness_level = -1;
Yaowu Xuc27fc142016-08-22 16:08:15 -07005461
Yaowu Xuf883b422016-08-30 14:01:10 -07005462 av1_default_coef_probs(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005463 init_mode_probs(cm->fc);
Yaowu Xuf883b422016-08-30 14:01:10 -07005464 av1_init_mv_probs(cm);
Yushin Chob188ea12017-03-13 13:45:23 -07005465#if CONFIG_PVQ
5466 av1_default_pvq_probs(cm);
5467#endif // CONFIG_PVQ
Angie Chianged8cd9a2016-10-21 16:44:47 -07005468#if CONFIG_ADAPT_SCAN
5469 av1_init_scan_order(cm);
5470#endif
Angie Chiang0a2c0cb2017-02-23 14:19:15 -08005471 av1_convolve_init(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005472 cm->fc->initialized = 1;
5473
5474 if (cm->frame_type == KEY_FRAME || cm->error_resilient_mode ||
5475 cm->reset_frame_context == RESET_FRAME_CONTEXT_ALL) {
5476 // Reset all frame contexts.
5477 for (i = 0; i < FRAME_CONTEXTS; ++i) cm->frame_contexts[i] = *cm->fc;
5478 } else if (cm->reset_frame_context == RESET_FRAME_CONTEXT_CURRENT) {
5479 // Reset only the frame context specified in the frame header.
5480 cm->frame_contexts[cm->frame_context_idx] = *cm->fc;
5481 }
5482
5483 // prev_mip will only be allocated in encoder.
5484 if (frame_is_intra_only(cm) && cm->prev_mip && !cm->frame_parallel_decode)
5485 memset(cm->prev_mip, 0,
5486 cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->prev_mip));
5487
5488 cm->frame_context_idx = 0;
5489}