blob: 2af964fe8cfcaba2cd0dd77941f0d5b12fe3cb7a [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 };
741#endif
742
Wei-Ting Lin85268302017-06-28 14:08:29 -0700743// Change this section appropriately once warped motion is supported
744#if CONFIG_MOTION_VAR && !CONFIG_WARPED_MOTION
745#if !CONFIG_NCOBMC_ADAPT_WEIGHT
746const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
747 -SIMPLE_TRANSLATION, -OBMC_CAUSAL
748};
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100749
Tristan Matthewse886d222017-07-11 23:48:00 -0400750static const aom_prob default_motion_mode_prob[BLOCK_SIZES][MOTION_MODES - 1] =
751 {
Wei-Ting Lin85268302017-06-28 14:08:29 -0700752#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
753 { 255 }, { 255 }, { 255 },
754#endif
755 { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
756 { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
757#if CONFIG_EXT_PARTITION
758 { 252 }, { 252 }, { 252 },
759#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100760 { 208 }, { 208 }, { 208 }, { 208 },
Wei-Ting Lin85268302017-06-28 14:08:29 -0700761 };
Wei-Ting Lin9bcff192017-07-12 10:31:53 -0700762
Thomas Davies04e5aa72017-06-28 14:36:39 +0100763static const aom_cdf_prob
764 default_motion_mode_cdf[BLOCK_SIZES][CDF_SIZE(MOTION_MODES)] = {
765#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
766 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
767 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
768 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
769#endif
770 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
771 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
772 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
773 { AOM_ICDF(151 * 128), AOM_ICDF(32768), 0 },
774 { AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
775 { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
776 { AOM_ICDF(178 * 128), AOM_ICDF(32768), 0 },
777 { AOM_ICDF(165 * 128), AOM_ICDF(32768), 0 },
778 { AOM_ICDF(160 * 128), AOM_ICDF(32768), 0 },
779 { AOM_ICDF(207 * 128), AOM_ICDF(32768), 0 },
780 { AOM_ICDF(195 * 128), AOM_ICDF(32768), 0 },
781 { AOM_ICDF(168 * 128), AOM_ICDF(32768), 0 },
782 { AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
783#if CONFIG_EXT_PARTITION
784 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
785 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
786 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
787#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100788 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
789 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
790 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
791 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100792 };
Wei-Ting Lin85268302017-06-28 14:08:29 -0700793
Wei-Ting Lin9bcff192017-07-12 10:31:53 -0700794#else
795// TODO(weitinglin): The default probability is copied from warped motion right
796// now as a place holder. It needs to be fined tuned after
797// NCOBMC_ADAPT_WEIGHT is actually implemented. Also needs to
798// change this section appropriately once warped motion is
799// supported.
800const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
801 -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -NCOBMC_ADAPT_WEIGHT,
802};
803static const aom_prob default_motion_mode_prob[BLOCK_SIZES][MOTION_MODES - 1] =
804 {
805#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
806 { 255, 200 }, { 255, 200 }, { 255, 200 },
807#endif
808 { 255, 200 }, { 255, 200 }, { 255, 200 }, { 151, 200 }, { 153, 200 },
809 { 144, 200 }, { 178, 200 }, { 165, 200 }, { 160, 200 }, { 207, 200 },
810 { 195, 200 }, { 168, 200 }, { 244, 200 },
811#if CONFIG_EXT_PARTITION
812 { 252, 200 }, { 252, 200 }, { 252, 200 },
813#endif // CONFIG_EXT_PARTITION
814 };
815static const aom_cdf_prob
816 default_motion_mode_cdf[BLOCK_SIZES][CDF_SIZE(MOTION_MODES)] = {
817#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
818 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
819 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
820 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
821#endif
822 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
823 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
824 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
825 { AOM_ICDF(7936), AOM_ICDF(19091), AOM_ICDF(32768), 0 },
826 { AOM_ICDF(4991), AOM_ICDF(19205), AOM_ICDF(32768), 0 },
827 { AOM_ICDF(4992), AOM_ICDF(19314), AOM_ICDF(32768), 0 },
828 { AOM_ICDF(15104), AOM_ICDF(21590), AOM_ICDF(32768), 0 },
829 { AOM_ICDF(9855), AOM_ICDF(21043), AOM_ICDF(32768), 0 },
830 { AOM_ICDF(12800), AOM_ICDF(22238), AOM_ICDF(32768), 0 },
831 { AOM_ICDF(24320), AOM_ICDF(26498), AOM_ICDF(32768), 0 },
832 { AOM_ICDF(26496), AOM_ICDF(28995), AOM_ICDF(32768), 0 },
833 { AOM_ICDF(25216), AOM_ICDF(28166), AOM_ICDF(32768), 0 },
834 { AOM_ICDF(30592), AOM_ICDF(31238), AOM_ICDF(32768), 0 },
835#if CONFIG_EXT_PARTITION
836 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
837 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
838 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
839#endif
840 };
841#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
842
Yue Chencb60b182016-10-13 15:18:22 -0700843#elif !CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -0700844
Yue Chencb60b182016-10-13 15:18:22 -0700845const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -0700846 -SIMPLE_TRANSLATION, -WARPED_CAUSAL
847};
Yue Chen69f18e12016-09-08 14:48:15 -0700848
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100849static const aom_prob
850 default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700851#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
clang-format55ce9e02017-02-15 22:27:12 -0800852 { 255 }, { 255 }, { 255 },
Jingning Han71bf3ee2017-01-18 17:23:27 -0800853#endif
clang-format55ce9e02017-02-15 22:27:12 -0800854 { 255 }, { 255 }, { 255 }, { 151 }, { 153 }, { 144 }, { 178 },
855 { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
Yaowu Xuc27fc142016-08-22 16:08:15 -0700856#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -0800857 { 252 }, { 252 }, { 252 },
Yaowu Xuc27fc142016-08-22 16:08:15 -0700858#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100859 { 208 }, { 208 }, { 208 }, { 208 },
clang-format55ce9e02017-02-15 22:27:12 -0800860 };
Yaowu Xuc27fc142016-08-22 16:08:15 -0700861
Thomas Davies04e5aa72017-06-28 14:36:39 +0100862static const aom_cdf_prob
863 default_motion_mode_cdf[BLOCK_SIZES][CDF_SIZE(MOTION_MODES)] = {
864#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
865 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
866 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
867 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
868#endif
869 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
870 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
871 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
872 { AOM_ICDF(151 * 128), AOM_ICDF(32768), 0 },
873 { AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
874 { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
875 { AOM_ICDF(178 * 128), AOM_ICDF(32768), 0 },
876 { AOM_ICDF(165 * 128), AOM_ICDF(32768), 0 },
877 { AOM_ICDF(160 * 128), AOM_ICDF(32768), 0 },
878 { AOM_ICDF(207 * 128), AOM_ICDF(32768), 0 },
879 { AOM_ICDF(195 * 128), AOM_ICDF(32768), 0 },
880 { AOM_ICDF(168 * 128), AOM_ICDF(32768), 0 },
881 { AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
882#if CONFIG_EXT_PARTITION
883 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
884 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
885 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
886#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100887 { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
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 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100891 };
Thomas Davies04e5aa72017-06-28 14:36:39 +0100892
Yue Chencb60b182016-10-13 15:18:22 -0700893#elif CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -0700894
Yue Chencb60b182016-10-13 15:18:22 -0700895const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -0700896 -SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -WARPED_CAUSAL,
897};
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100898
899static const aom_prob
900 default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700901#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -0700902 { 128, 128 }, { 128, 128 }, { 128, 128 },
Jingning Han71bf3ee2017-01-18 17:23:27 -0800903#endif
Yue Chend1b8c2a2017-07-05 14:28:20 -0700904 { 128, 128 }, { 128, 128 }, { 128, 128 }, { 62, 115 }, { 39, 131 },
905 { 39, 132 }, { 118, 94 }, { 77, 125 }, { 100, 121 }, { 190, 66 },
906 { 207, 102 }, { 197, 100 }, { 239, 76 },
Yaowu Xuc27fc142016-08-22 16:08:15 -0700907#if CONFIG_EXT_PARTITION
908 { 252, 200 }, { 252, 200 }, { 252, 200 },
909#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100910 { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 },
Yaowu Xuc27fc142016-08-22 16:08:15 -0700911 };
Thomas Davies04e5aa72017-06-28 14:36:39 +0100912static const aom_cdf_prob
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100913 default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
Thomas Davies04e5aa72017-06-28 14:36:39 +0100914#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Thomas Davies78653492017-07-11 12:04:41 +0100915 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
916 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
917 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100918#endif
Thomas Davies78653492017-07-11 12:04:41 +0100919 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
920 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
921 { AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
922 { AOM_ICDF(7936), AOM_ICDF(19091), AOM_ICDF(32768), 0 },
923 { AOM_ICDF(4991), AOM_ICDF(19205), AOM_ICDF(32768), 0 },
924 { AOM_ICDF(4992), AOM_ICDF(19314), AOM_ICDF(32768), 0 },
925 { AOM_ICDF(15104), AOM_ICDF(21590), AOM_ICDF(32768), 0 },
926 { AOM_ICDF(9855), AOM_ICDF(21043), AOM_ICDF(32768), 0 },
927 { AOM_ICDF(12800), AOM_ICDF(22238), AOM_ICDF(32768), 0 },
928 { AOM_ICDF(24320), AOM_ICDF(26498), AOM_ICDF(32768), 0 },
929 { AOM_ICDF(26496), AOM_ICDF(28995), AOM_ICDF(32768), 0 },
930 { AOM_ICDF(25216), AOM_ICDF(28166), AOM_ICDF(32768), 0 },
931 { AOM_ICDF(30592), AOM_ICDF(31238), AOM_ICDF(32768), 0 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100932#if CONFIG_EXT_PARTITION
933 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
934 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
935 { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
936#endif
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100937 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
938 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
939 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
940 { AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
Thomas Davies04e5aa72017-06-28 14:36:39 +0100941 };
Thomas Davies04e5aa72017-06-28 14:36:39 +0100942
Yue Chen69f18e12016-09-08 14:48:15 -0700943// Probability for the case that only 1 additional motion mode is allowed
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100944static const aom_prob default_obmc_prob[BLOCK_SIZES_ALL] = {
Timothy B. Terriberry81ec2612017-04-26 16:53:47 -0700945#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Yue Chend1b8c2a2017-07-05 14:28:20 -0700946 128, 128, 128,
Jingning Han71bf3ee2017-01-18 17:23:27 -0800947#endif
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100948 128, 128, 128, 45, 79, 75, 130, 141, 144, 208, 201, 186, 231,
Yue Chen69f18e12016-09-08 14:48:15 -0700949#if CONFIG_EXT_PARTITION
950 252, 252, 252,
951#endif // CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +0100952 208, 208, 208, 208,
Yue Chen69f18e12016-09-08 14:48:15 -0700953};
Thomas Daviesd9b57262017-06-27 17:43:25 +0100954
955#if CONFIG_NEW_MULTISYMBOL
Thomas Davies8e6267f2017-07-13 17:09:52 +0100956static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
Thomas Daviesd9b57262017-06-27 17:43:25 +0100957#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
Thomas Davies78653492017-07-11 12:04:41 +0100958 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
959 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
960 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
Thomas Daviesd9b57262017-06-27 17:43:25 +0100961#endif
Thomas Davies78653492017-07-11 12:04:41 +0100962 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
963 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
964 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
965 { AOM_ICDF(45 * 128), AOM_ICDF(32768), 0 },
966 { AOM_ICDF(79 * 128), AOM_ICDF(32768), 0 },
967 { AOM_ICDF(75 * 128), AOM_ICDF(32768), 0 },
968 { AOM_ICDF(130 * 128), AOM_ICDF(32768), 0 },
969 { AOM_ICDF(141 * 128), AOM_ICDF(32768), 0 },
Thomas Daviesd9b57262017-06-27 17:43:25 +0100970 { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
Thomas Davies78653492017-07-11 12:04:41 +0100971 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
972 { AOM_ICDF(201 * 128), AOM_ICDF(32768), 0 },
973 { AOM_ICDF(186 * 128), AOM_ICDF(32768), 0 },
974 { AOM_ICDF(231 * 128), AOM_ICDF(32768), 0 },
Thomas Daviesd9b57262017-06-27 17:43:25 +0100975#if CONFIG_EXT_PARTITION
976 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
977 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
978 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
979#endif // CONFIG_EXT_PARTITION
Thomas Davies8e6267f2017-07-13 17:09:52 +0100980 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
981 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
982 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
983 { AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
Thomas Daviesd9b57262017-06-27 17:43:25 +0100984};
985#endif // CONFIG_NEW_MULTISYMBOL
Yue Chen69f18e12016-09-08 14:48:15 -0700986#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -0700987
Thomas Daviesf6936102016-09-05 16:51:31 +0100988#if CONFIG_DELTA_Q
Thomas Davies665cd702017-03-02 10:20:30 +0000989static const aom_prob default_delta_q_probs[DELTA_Q_PROBS] = { 220, 220, 220 };
Thomas Daviesd6ee8a82017-03-02 14:42:50 +0000990static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -0700991 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Thomas Daviesd6ee8a82017-03-02 14:42:50 +0000992};
Fangwen Fu231fe422017-04-24 17:52:29 -0700993#if CONFIG_EXT_DELTA_Q
994static const aom_prob default_delta_lf_probs[DELTA_LF_PROBS] = { 220, 220,
995 220 };
Fangwen Fu231fe422017-04-24 17:52:29 -0700996static const aom_cdf_prob default_delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)] = {
Timothy B. Terriberrye1804782017-05-05 14:38:57 -0700997 AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
Fangwen Fu231fe422017-04-24 17:52:29 -0700998};
999#endif
1000#endif
Thomas Daviesb1bedf52017-03-17 14:03:28 +00001001#if CONFIG_EXT_TX
1002int av1_ext_tx_intra_ind[EXT_TX_SETS_INTRA][TX_TYPES];
1003int av1_ext_tx_intra_inv[EXT_TX_SETS_INTRA][TX_TYPES];
1004int av1_ext_tx_inter_ind[EXT_TX_SETS_INTER][TX_TYPES];
1005int av1_ext_tx_inter_inv[EXT_TX_SETS_INTER][TX_TYPES];
1006#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01001007
Nathan E. Egge5694aa72017-06-30 12:47:43 -04001008#if CONFIG_ALT_INTRA
1009#if CONFIG_SMOOTH_HV
1010const int av1_intra_mode_ind[INTRA_MODES] = { 0, 2, 3, 6, 4, 5, 8,
1011 9, 7, 10, 11, 12, 1 };
1012const int av1_intra_mode_inv[INTRA_MODES] = { 0, 12, 1, 2, 4, 5, 3,
1013 8, 6, 7, 9, 10, 11 };
1014#else
1015const int av1_intra_mode_ind[INTRA_MODES] = {
1016 0, 2, 3, 6, 4, 5, 8, 9, 7, 10, 1
1017};
1018const int av1_intra_mode_inv[INTRA_MODES] = {
1019 0, 10, 1, 2, 4, 5, 3, 8, 6, 7, 9
1020};
1021#endif // CONFIG_SMOOTH_HV
1022#else
1023const int av1_intra_mode_ind[INTRA_MODES] = { 0, 2, 3, 6, 4, 5, 8, 9, 7, 1 };
Rupert Swarbrick9803b942017-07-12 14:01:28 +01001024const 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 -04001025#endif // CONFIG_ALT_INTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001026
Yaowu Xuc27fc142016-08-22 16:08:15 -07001027#if CONFIG_EXT_INTER
1028/* clang-format off */
Yue Chen4d26acb2017-05-01 12:28:34 -07001029#if CONFIG_INTERINTRA
Yue Chen4d26acb2017-05-01 12:28:34 -07001030const aom_tree_index av1_interintra_mode_tree[TREE_SIZE(INTERINTRA_MODES)] = {
1031 -II_DC_PRED, 2, /* 0 = II_DC_NODE */
1032#if CONFIG_ALT_INTRA
1033 -II_SMOOTH_PRED, 4, /* 1 = II_SMOOTH_PRED */
1034#else
1035 -II_TM_PRED, 4, /* 1 = II_TM_NODE */
1036#endif
1037 -II_V_PRED, -II_H_PRED /* 2 = II_V_NODE */
1038};
Yue Chen4d26acb2017-05-01 12:28:34 -07001039#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07001040
Yaowu Xuf883b422016-08-30 14:01:10 -07001041const aom_tree_index av1_inter_compound_mode_tree
Yaowu Xuc27fc142016-08-22 16:08:15 -07001042 [TREE_SIZE(INTER_COMPOUND_MODES)] = {
1043 -INTER_COMPOUND_OFFSET(ZERO_ZEROMV), 2,
1044 -INTER_COMPOUND_OFFSET(NEAREST_NEARESTMV), 4,
1045 6, -INTER_COMPOUND_OFFSET(NEW_NEWMV),
Debargha Mukherjeebb6e1342017-04-17 16:05:04 -07001046 -INTER_COMPOUND_OFFSET(NEAR_NEARMV), 8,
1047 10, 12,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001048 -INTER_COMPOUND_OFFSET(NEAREST_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARESTMV),
1049 -INTER_COMPOUND_OFFSET(NEAR_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARMV)
1050};
Sarah Parker6fddd182016-11-10 20:57:20 -08001051
Zoe Liu239f06b2017-04-20 13:10:55 -07001052#if CONFIG_COMPOUND_SINGLEREF
Zoe Liu85b66462017-04-20 14:28:19 -07001053// TODO(zoeliu): To redesign the tree structure once the number of mode changes.
1054/*
Zoe Liu239f06b2017-04-20 13:10:55 -07001055const aom_tree_index av1_inter_singleref_comp_mode_tree
1056 [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
1057 -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
1058 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
1059 6, -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV),
1060 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEWMV),
1061 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV)
Zoe Liu85b66462017-04-20 14:28:19 -07001062};*/
1063
1064const aom_tree_index av1_inter_singleref_comp_mode_tree
1065 [TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
1066 -INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
1067 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
1068 -INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV),
1069 -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV)
Zoe Liu239f06b2017-04-20 13:10:55 -07001070};
1071#endif // CONFIG_COMPOUND_SINGLEREF
1072
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001073#if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker2f6ce752016-12-08 15:26:46 -08001074const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1075 -COMPOUND_AVERAGE, 2, -COMPOUND_WEDGE, -COMPOUND_SEG
1076};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001077#elif !CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Sarah Parker6fddd182016-11-10 20:57:20 -08001078const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1079 -COMPOUND_AVERAGE, -COMPOUND_WEDGE
1080};
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00001081#elif CONFIG_COMPOUND_SEGMENT && !CONFIG_WEDGE
1082const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
1083 -COMPOUND_AVERAGE, -COMPOUND_SEG
1084};
1085#else
1086const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {};
1087#endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001088/* clang-format on */
1089#endif // CONFIG_EXT_INTER
1090
Yaowu Xuf883b422016-08-30 14:01:10 -07001091const aom_tree_index av1_partition_tree[TREE_SIZE(PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001092 -PARTITION_NONE, 2, -PARTITION_HORZ, 4, -PARTITION_VERT, -PARTITION_SPLIT
1093};
1094
1095#if CONFIG_EXT_PARTITION_TYPES
1096/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07001097const aom_tree_index av1_ext_partition_tree[TREE_SIZE(EXT_PARTITION_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001098 -PARTITION_NONE, 2,
1099 6, 4,
1100 8, -PARTITION_SPLIT,
1101 -PARTITION_HORZ, 10,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01001102 -PARTITION_VERT, 14,
1103
1104 -PARTITION_HORZ_A, 12,
1105 -PARTITION_HORZ_B, -PARTITION_HORZ_4,
1106
1107 -PARTITION_VERT_A, 16,
1108 -PARTITION_VERT_B, -PARTITION_VERT_4
Yaowu Xuc27fc142016-08-22 16:08:15 -07001109};
1110/* clang-format on */
1111#endif // CONFIG_EXT_PARTITION_TYPES
1112
Yaowu Xuf883b422016-08-30 14:01:10 -07001113static const aom_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001114 6, 97, 151, 205,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001115};
1116
Thomas Daviesf6ad9352017-04-19 11:38:06 +01001117#if CONFIG_NEW_MULTISYMBOL
1118static const aom_cdf_prob
1119 default_intra_inter_cdf[INTRA_INTER_CONTEXTS][CDF_SIZE(2)] = {
1120 { AOM_ICDF(1152), AOM_ICDF(32768), 0 },
1121 { AOM_ICDF(13056), AOM_ICDF(32768), 0 },
1122 { AOM_ICDF(23936), AOM_ICDF(32768), 0 },
1123 { AOM_ICDF(28800), AOM_ICDF(32768), 0 }
1124 };
1125#endif
1126
Yaowu Xuf883b422016-08-30 14:01:10 -07001127static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001128#if !CONFIG_EXT_COMP_REFS
1129 216, 170, 131, 92, 42
1130#else // CONFIG_EXT_COMP_REFS
1131 206, 182, 117, 104, 32
1132#endif // !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001133};
Zoe Liufcf5fa22017-06-26 16:00:38 -07001134
Thomas Davies860def62017-06-14 10:00:03 +01001135#if CONFIG_NEW_MULTISYMBOL
Zoe Liufcf5fa22017-06-26 16:00:38 -07001136static const aom_cdf_prob
1137 default_comp_inter_cdf[COMP_INTER_CONTEXTS][CDF_SIZE(2)] = {
1138#if !CONFIG_EXT_COMP_REFS
1139 { AOM_ICDF(216 * 128), AOM_ICDF(32768), 0 },
1140 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1141 { AOM_ICDF(131 * 128), AOM_ICDF(32768), 0 },
1142 { AOM_ICDF(92 * 128), AOM_ICDF(32768), 0 },
1143 { AOM_ICDF(42 * 128), AOM_ICDF(32768), 0 }
1144#else // CONFIG_EXT_COMP_REFS
1145 { AOM_ICDF(206 * 128), AOM_ICDF(32768), 0 },
1146 { AOM_ICDF(182 * 128), AOM_ICDF(32768), 0 },
1147 { AOM_ICDF(117 * 128), AOM_ICDF(32768), 0 },
1148 { AOM_ICDF(104 * 128), AOM_ICDF(32768), 0 },
1149 { AOM_ICDF(32 * 128), AOM_ICDF(32768), 0 }
1150#endif // !CONFIG_EXT_COMP_REFS
1151 };
1152#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001153
Zoe Liuc082bbc2017-05-17 13:31:37 -07001154#if CONFIG_EXT_COMP_REFS
1155static const aom_prob default_comp_ref_type_p[COMP_REF_TYPE_CONTEXTS] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001156 8, 20, 78, 91, 194
Zoe Liuc082bbc2017-05-17 13:31:37 -07001157};
Zoe Liuc082bbc2017-05-17 13:31:37 -07001158static const aom_prob
1159 default_uni_comp_ref_p[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001160 { 88, 30, 28 }, { 218, 97, 105 }, { 254, 180, 196 }
Zoe Liuc082bbc2017-05-17 13:31:37 -07001161 };
Zoe Liufcf5fa22017-06-26 16:00:38 -07001162
1163#if CONFIG_NEW_MULTISYMBOL
1164static const aom_cdf_prob
1165 default_comp_ref_type_cdf[COMP_REF_TYPE_CONTEXTS][CDF_SIZE(2)] = {
1166 { AOM_ICDF(8 * 128), AOM_ICDF(32768), 0 },
1167 { AOM_ICDF(20 * 128), AOM_ICDF(32768), 0 },
1168 { AOM_ICDF(78 * 128), AOM_ICDF(32768), 0 },
1169 { AOM_ICDF(91 * 128), AOM_ICDF(32768), 0 },
1170 { AOM_ICDF(194 * 128), AOM_ICDF(32768), 0 }
1171 };
1172static const aom_cdf_prob
1173 default_uni_comp_ref_cdf[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1]
1174 [CDF_SIZE(2)] = {
1175 { { AOM_ICDF(88 * 128), AOM_ICDF(32768), 0 },
1176 { AOM_ICDF(30 * 128), AOM_ICDF(32768), 0 },
1177 { AOM_ICDF(28 * 128), AOM_ICDF(32768), 0 } },
1178 { { AOM_ICDF(218 * 128), AOM_ICDF(32768), 0 },
1179 { AOM_ICDF(97 * 128), AOM_ICDF(32768), 0 },
1180 { AOM_ICDF(105 * 128), AOM_ICDF(32768), 0 } },
1181 { { AOM_ICDF(254 * 128), AOM_ICDF(32768), 0 },
1182 { AOM_ICDF(180 * 128), AOM_ICDF(32768), 0 },
1183 { AOM_ICDF(196 * 128), AOM_ICDF(32768), 0 } }
1184 };
1185#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liuc082bbc2017-05-17 13:31:37 -07001186#endif // CONFIG_EXT_COMP_REFS
1187
Yaowu Xuc27fc142016-08-22 16:08:15 -07001188#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07001189static const aom_prob default_comp_ref_p[REF_CONTEXTS][FWD_REFS - 1] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001190#if !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001191 { 33, 16, 16 },
1192 { 77, 74, 74 },
1193 { 142, 142, 142 },
1194 { 172, 170, 170 },
1195 { 238, 247, 247 }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001196#else // CONFIG_EXT_COMP_REFS
1197 { 21, 7, 5 },
1198 { 68, 20, 16 },
1199 { 128, 56, 36 },
1200 { 197, 111, 139 },
1201 { 238, 131, 136 }
1202#endif // !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001203};
Yaowu Xuf883b422016-08-30 14:01:10 -07001204static const aom_prob default_comp_bwdref_p[REF_CONTEXTS][BWD_REFS - 1] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001205#if !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001206 { 16 }, { 74 }, { 142 }, { 170 }, { 247 }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001207#else // CONFIG_EXT_COMP_REFS
1208 { 7 }, { 56 }, { 29 }, { 230 }, { 220 }
1209#endif // CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001210};
Zoe Liufcf5fa22017-06-26 16:00:38 -07001211
Thomas Davies894cc812017-06-22 17:51:33 +01001212#if CONFIG_NEW_MULTISYMBOL
1213static const aom_cdf_prob
1214 default_comp_ref_cdf[REF_CONTEXTS][FWD_REFS - 1][CDF_SIZE(2)] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001215#if !CONFIG_EXT_COMP_REFS
Thomas Davies894cc812017-06-22 17:51:33 +01001216 { { AOM_ICDF(33 * 128), AOM_ICDF(32768), 0 },
1217 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 },
1218 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 } },
1219 { { AOM_ICDF(77 * 128), AOM_ICDF(32768), 0 },
1220 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 },
1221 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 } },
1222 { { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1223 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1224 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 } },
1225 { { AOM_ICDF(172 * 128), AOM_ICDF(32768), 0 },
1226 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1227 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 } },
1228 { { AOM_ICDF(238 * 128), AOM_ICDF(32768), 0 },
1229 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 },
1230 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001231#else // CONFIG_EXT_COMP_REFS
1232 { { AOM_ICDF(21 * 128), AOM_ICDF(32768), 0 },
1233 { AOM_ICDF(7 * 128), AOM_ICDF(32768), 0 },
1234 { AOM_ICDF(5 * 128), AOM_ICDF(32768), 0 } },
1235 { { AOM_ICDF(68 * 128), AOM_ICDF(32768), 0 },
1236 { AOM_ICDF(20 * 128), AOM_ICDF(32768), 0 },
1237 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 } },
1238 { { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1239 { AOM_ICDF(56 * 128), AOM_ICDF(32768), 0 },
1240 { AOM_ICDF(36 * 128), AOM_ICDF(32768), 0 } },
1241 { { AOM_ICDF(197 * 128), AOM_ICDF(32768), 0 },
1242 { AOM_ICDF(111 * 128), AOM_ICDF(32768), 0 },
1243 { AOM_ICDF(139 * 128), AOM_ICDF(32768), 0 } },
1244 { { AOM_ICDF(238 * 128), AOM_ICDF(32768), 0 },
1245 { AOM_ICDF(131 * 128), AOM_ICDF(32768), 0 },
1246 { AOM_ICDF(136 * 128), AOM_ICDF(32768), 0 } }
1247#endif // !CONFIG_EXT_COMP_REFS
Thomas Davies894cc812017-06-22 17:51:33 +01001248 };
1249static const aom_cdf_prob
1250 default_comp_bwdref_cdf[REF_CONTEXTS][BWD_REFS - 1][CDF_SIZE(2)] = {
Zoe Liufcf5fa22017-06-26 16:00:38 -07001251#if !CONFIG_EXT_COMP_REFS
Thomas Davies894cc812017-06-22 17:51:33 +01001252 { { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 } },
1253 { { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 } },
1254 { { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 } },
1255 { { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 } },
1256 { { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001257#else // CONFIG_EXT_COMP_REFS
1258 { { AOM_ICDF(7 * 128), AOM_ICDF(32768), 0 } },
1259 { { AOM_ICDF(56 * 128), AOM_ICDF(32768), 0 } },
1260 { { AOM_ICDF(29 * 128), AOM_ICDF(32768), 0 } },
1261 { { AOM_ICDF(230 * 128), AOM_ICDF(32768), 0 } },
1262 { { AOM_ICDF(220 * 128), AOM_ICDF(32768), 0 } }
1263#endif // !CONFIG_EXT_COMP_REFS
Thomas Davies894cc812017-06-22 17:51:33 +01001264 };
1265#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liufcf5fa22017-06-26 16:00:38 -07001266#else // !CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07001267static const aom_prob default_comp_ref_p[REF_CONTEXTS][COMP_REFS - 1] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001268 { 43 }, { 100 }, { 137 }, { 212 }, { 229 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001269};
Thomas Davies894cc812017-06-22 17:51:33 +01001270#if CONFIG_NEW_MULTISYMBOL
1271static const aom_cdf_prob
1272 default_comp_ref_cdf[REF_CONTEXTS][COMP_REFS - 1][CDF_SIZE(2)] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07001273 { { AOM_ICDF(43 * 128), AOM_ICDF(32768), 0 } },
1274 { { AOM_ICDF(100 * 128), AOM_ICDF(32768), 0 } },
1275 { { AOM_ICDF(137 * 128), AOM_ICDF(32768), 0 } },
1276 { { AOM_ICDF(212 * 128), AOM_ICDF(32768), 0 } },
1277 { { AOM_ICDF(229 * 128), AOM_ICDF(32768), 0 } }
Thomas Davies894cc812017-06-22 17:51:33 +01001278 };
1279#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001280#endif // CONFIG_EXT_REFS
1281
Yaowu Xuf883b422016-08-30 14:01:10 -07001282static const aom_prob default_single_ref_p[REF_CONTEXTS][SINGLE_REFS - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001283#if CONFIG_EXT_REFS
Zoe Liufcf5fa22017-06-26 16:00:38 -07001284#if !CONFIG_EXT_COMP_REFS
Yaowu Xuc27fc142016-08-22 16:08:15 -07001285 { 33, 16, 16, 16, 16 },
1286 { 77, 74, 74, 74, 74 },
1287 { 142, 142, 142, 142, 142 },
1288 { 172, 170, 170, 170, 170 },
1289 { 238, 247, 247, 247, 247 }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001290#else // CONFIG_EXT_COMP_REFS
1291 { 36, 2, 28, 58, 9 },
1292 { 64, 22, 60, 122, 40 },
1293 { 153, 69, 126, 179, 71 },
1294 { 128, 174, 189, 216, 101 },
1295 { 233, 252, 228, 246, 200 }
1296#endif // !CONFIG_EXT_COMP_REFS
1297#else // !CONFIG_EXT_REFS
Yue Chend1b8c2a2017-07-05 14:28:20 -07001298 { 31, 25 }, { 72, 80 }, { 147, 148 }, { 197, 191 }, { 235, 247 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001299#endif // CONFIG_EXT_REFS
1300};
Zoe Liufcf5fa22017-06-26 16:00:38 -07001301
Thomas Davies315f5782017-06-14 15:14:55 +01001302#if CONFIG_NEW_MULTISYMBOL
1303static const aom_cdf_prob
1304 default_single_ref_cdf[REF_CONTEXTS][SINGLE_REFS - 1][CDF_SIZE(2)] = {
1305#if CONFIG_EXT_REFS
Zoe Liufcf5fa22017-06-26 16:00:38 -07001306#if !CONFIG_EXT_COMP_REFS
Thomas Davies315f5782017-06-14 15:14:55 +01001307 { { AOM_ICDF(33 * 128), AOM_ICDF(32768), 0 },
1308 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 },
1309 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 },
1310 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 },
1311 { AOM_ICDF(16 * 128), AOM_ICDF(32768), 0 } },
1312 { { AOM_ICDF(77 * 128), AOM_ICDF(32768), 0 },
1313 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 },
1314 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 },
1315 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 },
1316 { AOM_ICDF(74 * 128), AOM_ICDF(32768), 0 } },
1317 { { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1318 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1319 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1320 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 },
1321 { AOM_ICDF(142 * 128), AOM_ICDF(32768), 0 } },
1322 { { AOM_ICDF(172 * 128), AOM_ICDF(32768), 0 },
1323 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1324 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1325 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 },
1326 { AOM_ICDF(170 * 128), AOM_ICDF(32768), 0 } },
1327 { { AOM_ICDF(238 * 128), AOM_ICDF(32768), 0 },
1328 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 },
1329 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 },
1330 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 },
1331 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
Zoe Liufcf5fa22017-06-26 16:00:38 -07001332#else // CONFIG_EXT_COMP_REFS
1333 { { AOM_ICDF(36 * 128), AOM_ICDF(32768), 0 },
1334 { AOM_ICDF(2 * 128), AOM_ICDF(32768), 0 },
1335 { AOM_ICDF(28 * 128), AOM_ICDF(32768), 0 },
1336 { AOM_ICDF(58 * 128), AOM_ICDF(32768), 0 },
1337 { AOM_ICDF(9 * 128), AOM_ICDF(32768), 0 } },
1338 { { AOM_ICDF(64 * 128), AOM_ICDF(32768), 0 },
1339 { AOM_ICDF(22 * 128), AOM_ICDF(32768), 0 },
1340 { AOM_ICDF(60 * 128), AOM_ICDF(32768), 0 },
1341 { AOM_ICDF(122 * 128), AOM_ICDF(32768), 0 },
1342 { AOM_ICDF(40 * 128), AOM_ICDF(32768), 0 } },
1343 { { AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
1344 { AOM_ICDF(69 * 128), AOM_ICDF(32768), 0 },
1345 { AOM_ICDF(126 * 128), AOM_ICDF(32768), 0 },
1346 { AOM_ICDF(179 * 128), AOM_ICDF(32768), 0 },
1347 { AOM_ICDF(71 * 128), AOM_ICDF(32768), 0 } },
1348 { { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
1349 { AOM_ICDF(174 * 128), AOM_ICDF(32768), 0 },
1350 { AOM_ICDF(189 * 128), AOM_ICDF(32768), 0 },
1351 { AOM_ICDF(216 * 128), AOM_ICDF(32768), 0 },
1352 { AOM_ICDF(101 * 128), AOM_ICDF(32768), 0 } },
1353 { { AOM_ICDF(233 * 128), AOM_ICDF(32768), 0 },
1354 { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
1355 { AOM_ICDF(228 * 128), AOM_ICDF(32768), 0 },
1356 { AOM_ICDF(246 * 128), AOM_ICDF(32768), 0 },
1357 { AOM_ICDF(200 * 128), AOM_ICDF(32768), 0 } }
1358#endif // !CONFIG_EXT_COMP_REFS
1359#else // CONFIG_EXT_REFS
Yue Chend1b8c2a2017-07-05 14:28:20 -07001360 { { AOM_ICDF(31 * 128), AOM_ICDF(32768), 0 },
1361 { AOM_ICDF(25 * 128), AOM_ICDF(32768), 0 } },
1362 { { AOM_ICDF(72 * 128), AOM_ICDF(32768), 0 },
1363 { AOM_ICDF(80 * 128), AOM_ICDF(32768), 0 } },
1364 { { AOM_ICDF(147 * 128), AOM_ICDF(32768), 0 },
1365 { AOM_ICDF(148 * 128), AOM_ICDF(32768), 0 } },
1366 { { AOM_ICDF(197 * 128), AOM_ICDF(32768), 0 },
1367 { AOM_ICDF(191 * 128), AOM_ICDF(32768), 0 } },
1368 { { AOM_ICDF(235 * 128), AOM_ICDF(32768), 0 },
Thomas Davies315f5782017-06-14 15:14:55 +01001369 { AOM_ICDF(247 * 128), AOM_ICDF(32768), 0 } }
1370#endif // CONFIG_EXT_REFS
1371 };
Zoe Liufcf5fa22017-06-26 16:00:38 -07001372#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07001373
Zoe Liu239f06b2017-04-20 13:10:55 -07001374#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
1375// TODO(zoeliu): Default values to be further adjusted based on the collected
1376// stats.
1377static const aom_prob default_comp_inter_mode_p[COMP_INTER_MODE_CONTEXTS] = {
Zoe Liu85b66462017-04-20 14:28:19 -07001378 40, 110, 160, 220
Zoe Liu239f06b2017-04-20 13:10:55 -07001379};
1380#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
1381
Urvang Joshib100db72016-10-12 16:28:56 -07001382#if CONFIG_PALETTE
Urvang Joshi23a61112017-01-30 14:59:27 -08001383
1384// Tree to code palette size (number of colors in a palette) and the
1385// corresponding probabilities for Y and UV planes.
Yaowu Xuf883b422016-08-30 14:01:10 -07001386const aom_tree_index av1_palette_size_tree[TREE_SIZE(PALETTE_SIZES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001387 -TWO_COLORS, 2, -THREE_COLORS, 4, -FOUR_COLORS, 6,
1388 -FIVE_COLORS, 8, -SIX_COLORS, 10, -SEVEN_COLORS, -EIGHT_COLORS,
1389};
1390
1391// TODO(huisu): tune these probs
Yaowu Xuf883b422016-08-30 14:01:10 -07001392const aom_prob
1393 av1_default_palette_y_size_prob[PALETTE_BLOCK_SIZES][PALETTE_SIZES - 1] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001394 { 96, 89, 100, 64, 77, 130 }, { 22, 15, 44, 16, 34, 82 },
1395 { 30, 19, 57, 18, 38, 86 }, { 94, 36, 104, 23, 43, 92 },
1396 { 116, 76, 107, 46, 65, 105 }, { 112, 82, 94, 40, 70, 112 },
1397 { 147, 124, 123, 58, 69, 103 }, { 180, 113, 136, 49, 45, 114 },
1398 { 107, 70, 87, 49, 154, 156 }, { 98, 105, 142, 63, 64, 152 },
1399#if CONFIG_EXT_PARTITION
1400 { 98, 105, 142, 63, 64, 152 }, { 98, 105, 142, 63, 64, 152 },
1401 { 98, 105, 142, 63, 64, 152 },
1402#endif // CONFIG_EXT_PARTITION
1403 };
1404
Thomas Daviesce7272d2017-07-04 16:11:08 +01001405#if CONFIG_NEW_MULTISYMBOL
1406const aom_cdf_prob
1407 default_palette_y_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(PALETTE_SIZES)] = {
1408 { AOM_ICDF(12288), AOM_ICDF(19408), AOM_ICDF(24627), AOM_ICDF(26662),
1409 AOM_ICDF(28499), AOM_ICDF(30667), AOM_ICDF(32768), 0 },
1410 { AOM_ICDF(2815), AOM_ICDF(4570), AOM_ICDF(9416), AOM_ICDF(10875),
1411 AOM_ICDF(13782), AOM_ICDF(19863), AOM_ICDF(32768), 0 },
1412 { AOM_ICDF(3839), AOM_ICDF(5986), AOM_ICDF(11949), AOM_ICDF(13413),
1413 AOM_ICDF(16286), AOM_ICDF(21823), AOM_ICDF(32768), 0 },
1414 { AOM_ICDF(12032), AOM_ICDF(14948), AOM_ICDF(22187), AOM_ICDF(23138),
1415 AOM_ICDF(24756), AOM_ICDF(27635), AOM_ICDF(32768), 0 },
1416 { AOM_ICDF(14847), AOM_ICDF(20167), AOM_ICDF(25433), AOM_ICDF(26751),
1417 AOM_ICDF(28278), AOM_ICDF(30119), AOM_ICDF(32768), 0 },
1418 { AOM_ICDF(14336), AOM_ICDF(20240), AOM_ICDF(24840), AOM_ICDF(26079),
1419 AOM_ICDF(27908), AOM_ICDF(30034), AOM_ICDF(32768), 0 },
1420 { AOM_ICDF(18816), AOM_ICDF(25574), AOM_ICDF(29030), AOM_ICDF(29877),
1421 AOM_ICDF(30656), AOM_ICDF(31506), AOM_ICDF(32768), 0 },
1422 { AOM_ICDF(23039), AOM_ICDF(27333), AOM_ICDF(30220), AOM_ICDF(30708),
1423 AOM_ICDF(31070), AOM_ICDF(31826), AOM_ICDF(32768), 0 },
1424 { AOM_ICDF(13696), AOM_ICDF(18911), AOM_ICDF(23620), AOM_ICDF(25371),
1425 AOM_ICDF(29821), AOM_ICDF(31617), AOM_ICDF(32768), 0 },
1426 { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
1427 AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
1428#if CONFIG_EXT_PARTITION
1429 { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
1430 AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
1431 { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
1432 AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
1433 { AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
1434 AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
1435#endif
1436 };
1437#endif // CONFIG_NEW_MULTISYMBOL
1438
Yaowu Xuf883b422016-08-30 14:01:10 -07001439const aom_prob
1440 av1_default_palette_uv_size_prob[PALETTE_BLOCK_SIZES][PALETTE_SIZES - 1] = {
1441 { 160, 196, 228, 213, 175, 230 }, { 87, 148, 208, 141, 166, 163 },
1442 { 72, 151, 204, 139, 155, 161 }, { 78, 135, 171, 104, 120, 173 },
1443 { 59, 92, 131, 78, 92, 142 }, { 75, 118, 149, 84, 90, 128 },
1444 { 89, 87, 92, 66, 66, 128 }, { 67, 53, 54, 55, 66, 93 },
1445 { 120, 130, 83, 171, 75, 214 }, { 72, 55, 66, 68, 79, 107 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001446#if CONFIG_EXT_PARTITION
Yaowu Xuf883b422016-08-30 14:01:10 -07001447 { 72, 55, 66, 68, 79, 107 }, { 72, 55, 66, 68, 79, 107 },
1448 { 72, 55, 66, 68, 79, 107 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001449#endif // CONFIG_EXT_PARTITION
Yaowu Xuf883b422016-08-30 14:01:10 -07001450 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001451
Thomas Daviesce7272d2017-07-04 16:11:08 +01001452#if CONFIG_NEW_MULTISYMBOL
1453const aom_cdf_prob default_palette_uv_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(
1454 PALETTE_SIZES)] = {
1455 { AOM_ICDF(20480), AOM_ICDF(29888), AOM_ICDF(32453), AOM_ICDF(32715),
1456 AOM_ICDF(32751), AOM_ICDF(32766), AOM_ICDF(32768), 0 },
1457 { AOM_ICDF(11135), AOM_ICDF(23641), AOM_ICDF(31056), AOM_ICDF(31998),
1458 AOM_ICDF(32496), AOM_ICDF(32668), AOM_ICDF(32768), 0 },
1459 { AOM_ICDF(9216), AOM_ICDF(23108), AOM_ICDF(30806), AOM_ICDF(31871),
1460 AOM_ICDF(32414), AOM_ICDF(32637), AOM_ICDF(32768), 0 },
1461 { AOM_ICDF(9984), AOM_ICDF(21999), AOM_ICDF(29192), AOM_ICDF(30645),
1462 AOM_ICDF(31640), AOM_ICDF(32402), AOM_ICDF(32768), 0 },
1463 { AOM_ICDF(7552), AOM_ICDF(16614), AOM_ICDF(24880), AOM_ICDF(27283),
1464 AOM_ICDF(29254), AOM_ICDF(31203), AOM_ICDF(32768), 0 },
1465 { AOM_ICDF(9600), AOM_ICDF(20279), AOM_ICDF(27548), AOM_ICDF(29261),
1466 AOM_ICDF(30494), AOM_ICDF(31631), AOM_ICDF(32768), 0 },
1467 { AOM_ICDF(11391), AOM_ICDF(18656), AOM_ICDF(23727), AOM_ICDF(26058),
1468 AOM_ICDF(27788), AOM_ICDF(30278), AOM_ICDF(32768), 0 },
1469 { AOM_ICDF(8576), AOM_ICDF(13585), AOM_ICDF(17632), AOM_ICDF(20884),
1470 AOM_ICDF(23948), AOM_ICDF(27152), AOM_ICDF(32768), 0 },
1471 { AOM_ICDF(15360), AOM_ICDF(24200), AOM_ICDF(26978), AOM_ICDF(30846),
1472 AOM_ICDF(31409), AOM_ICDF(32545), AOM_ICDF(32768), 0 },
1473 { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
1474 AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
1475#if CONFIG_EXT_PARTITION
1476 { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
1477 AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
1478 { AOM_ICDF(9216), AOM_ICDF(14276), AOM_ICDF(19043), AOM_ICDF(22689),
1479 AOM_ICDF(25799), AOM_ICDF(28712), AOM_ICDF(32768), 0 },
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#endif
1483};
1484#endif // CONFIG_NEW_MULTISYMBOL
1485
Urvang Joshi23a61112017-01-30 14:59:27 -08001486// When palette mode is enabled, following probability tables indicate the
1487// probabilities to code the "is_palette" bit (i.e. the bit that indicates
1488// if this block uses palette mode or DC_PRED mode).
clang-format55ce9e02017-02-15 22:27:12 -08001489const aom_prob av1_default_palette_y_mode_prob
1490 [PALETTE_BLOCK_SIZES][PALETTE_Y_MODE_CONTEXTS] = {
1491 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1492 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1493 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
1494 { 240, 180, 100 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001495#if CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001496 { 240, 180, 100 }, { 240, 180, 100 }, { 240, 180, 100 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07001497#endif // CONFIG_EXT_PARTITION
clang-format55ce9e02017-02-15 22:27:12 -08001498 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001499
Urvang Joshi23a61112017-01-30 14:59:27 -08001500const aom_prob av1_default_palette_uv_mode_prob[PALETTE_UV_MODE_CONTEXTS] = {
1501 253, 229
1502};
Yaowu Xuc27fc142016-08-22 16:08:15 -07001503
Urvang Joshi23a61112017-01-30 14:59:27 -08001504// Trees to code palette color indices (for various palette sizes), and the
1505// corresponding probability tables for Y and UV planes.
Yaowu Xuf883b422016-08-30 14:01:10 -07001506const aom_tree_index
Alex Converse92109812017-02-22 10:21:40 -08001507 av1_palette_color_index_tree[PALETTE_SIZES][TREE_SIZE(PALETTE_COLORS)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001508 { // 2 colors
1509 -PALETTE_COLOR_ONE, -PALETTE_COLOR_TWO },
1510 { // 3 colors
1511 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, -PALETTE_COLOR_THREE },
1512 { // 4 colors
1513 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE,
1514 -PALETTE_COLOR_FOUR },
1515 { // 5 colors
1516 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1517 -PALETTE_COLOR_FOUR, -PALETTE_COLOR_FIVE },
1518 { // 6 colors
1519 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1520 -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, -PALETTE_COLOR_SIX },
1521 { // 7 colors
1522 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1523 -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, 10, -PALETTE_COLOR_SIX,
1524 -PALETTE_COLOR_SEVEN },
1525 { // 8 colors
1526 -PALETTE_COLOR_ONE, 2, -PALETTE_COLOR_TWO, 4, -PALETTE_COLOR_THREE, 6,
1527 -PALETTE_COLOR_FOUR, 8, -PALETTE_COLOR_FIVE, 10, -PALETTE_COLOR_SIX, 12,
1528 -PALETTE_COLOR_SEVEN, -PALETTE_COLOR_EIGHT },
1529 };
1530
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001531// Note: Has to be non-zero to avoid any asserts triggering.
1532#define UNUSED_PROB 128
Yaowu Xuc27fc142016-08-22 16:08:15 -07001533
Urvang Joshi23a61112017-01-30 14:59:27 -08001534const aom_prob av1_default_palette_y_color_index_prob
Alex Converse92109812017-02-22 10:21:40 -08001535 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][PALETTE_COLORS - 1] = {
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001536 {
1537 // 2 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001538 { 231, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001539 UNUSED_PROB, UNUSED_PROB },
1540 { UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1541 UNUSED_PROB, UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001542 { 69, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001543 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001544 { 224, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001545 UNUSED_PROB, UNUSED_PROB },
1546 { 249, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1547 UNUSED_PROB, UNUSED_PROB },
1548 },
1549 {
1550 // 3 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001551 { 219, 124, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001552 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001553 { 91, 191, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001554 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001555 { 34, 237, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001556 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001557 { 184, 118, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001558 UNUSED_PROB },
Urvang Joshi199a2f42017-01-23 15:02:07 -08001559 { 252, 124, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001560 UNUSED_PROB },
1561 },
1562 {
1563 // 4 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001564 { 204, 87, 97, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1565 { 74, 144, 129, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1566 { 52, 191, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1567 { 151, 85, 147, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1568 { 248, 60, 115, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001569 },
1570 {
1571 // 5 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001572 { 218, 69, 62, 106, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1573 { 76, 143, 89, 127, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1574 { 21, 233, 94, 131, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1575 { 172, 72, 89, 112, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1576 { 253, 66, 65, 128, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001577 },
1578 {
1579 // 6 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001580 { 190, 60, 47, 54, 74, UNUSED_PROB, UNUSED_PROB },
1581 { 62, 106, 51, 95, 110, UNUSED_PROB, UNUSED_PROB },
1582 { 52, 180, 69, 72, 107, UNUSED_PROB, UNUSED_PROB },
1583 { 156, 83, 72, 83, 101, UNUSED_PROB, UNUSED_PROB },
1584 { 245, 45, 37, 52, 91, UNUSED_PROB, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001585 },
1586 {
1587 // 7 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001588 { 206, 56, 42, 42, 53, 85, UNUSED_PROB },
1589 { 70, 100, 45, 68, 77, 94, UNUSED_PROB },
1590 { 57, 169, 51, 62, 74, 119, UNUSED_PROB },
1591 { 172, 76, 71, 40, 59, 76, UNUSED_PROB },
1592 { 248, 47, 36, 53, 61, 110, UNUSED_PROB },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001593 },
1594 {
1595 // 8 colors
Urvang Joshi199a2f42017-01-23 15:02:07 -08001596 { 208, 52, 38, 34, 34, 44, 66 },
1597 { 52, 107, 34, 73, 69, 82, 87 },
1598 { 28, 208, 53, 43, 62, 70, 102 },
1599 { 184, 64, 45, 37, 37, 69, 105 },
1600 { 251, 18, 31, 45, 47, 61, 104 },
1601 },
1602 };
1603
Thomas Daviesce7272d2017-07-04 16:11:08 +01001604#if CONFIG_NEW_MULTISYMBOL
1605const aom_cdf_prob default_palette_y_color_index_cdf
1606 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = {
1607 {
1608 { AOM_ICDF(29568), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1609 { AOM_ICDF(16384), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1610 { AOM_ICDF(8832), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1611 { AOM_ICDF(28672), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1612 { AOM_ICDF(31872), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1613 },
1614 {
1615 { AOM_ICDF(28032), AOM_ICDF(30326), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1616 0 },
1617 { AOM_ICDF(11647), AOM_ICDF(27405), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1618 0 },
1619 { AOM_ICDF(4352), AOM_ICDF(30659), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1620 0 },
1621 { AOM_ICDF(23552), AOM_ICDF(27800), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1622 0 },
1623 { AOM_ICDF(32256), AOM_ICDF(32504), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1624 0 },
1625 },
1626 {
1627 { AOM_ICDF(26112), AOM_ICDF(28374), AOM_ICDF(30039), AOM_ICDF(32768),
1628 0, 0, 0, 0, 0 },
1629 { AOM_ICDF(9472), AOM_ICDF(22576), AOM_ICDF(27712), AOM_ICDF(32768),
1630 0, 0, 0, 0, 0 },
1631 { AOM_ICDF(6656), AOM_ICDF(26138), AOM_ICDF(29608), AOM_ICDF(32768),
1632 0, 0, 0, 0, 0 },
1633 { AOM_ICDF(19328), AOM_ICDF(23791), AOM_ICDF(28946), AOM_ICDF(32768),
1634 0, 0, 0, 0, 0 },
1635 { AOM_ICDF(31744), AOM_ICDF(31984), AOM_ICDF(32336), AOM_ICDF(32768),
1636 0, 0, 0, 0, 0 },
1637 },
1638 {
1639 { AOM_ICDF(27904), AOM_ICDF(29215), AOM_ICDF(30075), AOM_ICDF(31190),
1640 AOM_ICDF(32768), 0, 0, 0, 0 },
1641 { AOM_ICDF(9728), AOM_ICDF(22598), AOM_ICDF(26134), AOM_ICDF(29425),
1642 AOM_ICDF(32768), 0, 0, 0, 0 },
1643 { AOM_ICDF(2688), AOM_ICDF(30066), AOM_ICDF(31058), AOM_ICDF(31933),
1644 AOM_ICDF(32768), 0, 0, 0, 0 },
1645 { AOM_ICDF(22015), AOM_ICDF(25039), AOM_ICDF(27726), AOM_ICDF(29932),
1646 AOM_ICDF(32768), 0, 0, 0, 0 },
1647 { AOM_ICDF(32383), AOM_ICDF(32482), AOM_ICDF(32554), AOM_ICDF(32660),
1648 AOM_ICDF(32768), 0, 0, 0, 0 },
1649 },
1650 {
1651 { AOM_ICDF(24319), AOM_ICDF(26299), AOM_ICDF(27486), AOM_ICDF(28600),
1652 AOM_ICDF(29804), AOM_ICDF(32768), 0, 0, 0 },
1653 { AOM_ICDF(7935), AOM_ICDF(18217), AOM_ICDF(21116), AOM_ICDF(25440),
1654 AOM_ICDF(28589), AOM_ICDF(32768), 0, 0, 0 },
1655 { AOM_ICDF(6656), AOM_ICDF(25016), AOM_ICDF(27105), AOM_ICDF(28698),
1656 AOM_ICDF(30399), AOM_ICDF(32768), 0, 0, 0 },
1657 { AOM_ICDF(19967), AOM_ICDF(24117), AOM_ICDF(26550), AOM_ICDF(28566),
1658 AOM_ICDF(30224), AOM_ICDF(32768), 0, 0, 0 },
1659 { AOM_ICDF(31359), AOM_ICDF(31607), AOM_ICDF(31775), AOM_ICDF(31977),
1660 AOM_ICDF(32258), AOM_ICDF(32768), 0, 0, 0 },
1661 },
1662 {
1663 { AOM_ICDF(26368), AOM_ICDF(27768), AOM_ICDF(28588), AOM_ICDF(29274),
1664 AOM_ICDF(29997), AOM_ICDF(30917), AOM_ICDF(32768), 0, 0 },
1665 { AOM_ICDF(8960), AOM_ICDF(18260), AOM_ICDF(20810), AOM_ICDF(23986),
1666 AOM_ICDF(26627), AOM_ICDF(28882), AOM_ICDF(32768), 0, 0 },
1667 { AOM_ICDF(7295), AOM_ICDF(24111), AOM_ICDF(25836), AOM_ICDF(27515),
1668 AOM_ICDF(29033), AOM_ICDF(30769), AOM_ICDF(32768), 0, 0 },
1669 { AOM_ICDF(22016), AOM_ICDF(25208), AOM_ICDF(27305), AOM_ICDF(28159),
1670 AOM_ICDF(29221), AOM_ICDF(30274), AOM_ICDF(32768), 0, 0 },
1671 { AOM_ICDF(31744), AOM_ICDF(31932), AOM_ICDF(32050), AOM_ICDF(32199),
1672 AOM_ICDF(32335), AOM_ICDF(32521), AOM_ICDF(32768), 0, 0 },
1673 },
1674 {
1675 { AOM_ICDF(26624), AOM_ICDF(27872), AOM_ICDF(28599), AOM_ICDF(29153),
1676 AOM_ICDF(29633), AOM_ICDF(30172), AOM_ICDF(30841), AOM_ICDF(32768),
1677 0 },
1678 { AOM_ICDF(6655), AOM_ICDF(17569), AOM_ICDF(19587), AOM_ICDF(23345),
1679 AOM_ICDF(25884), AOM_ICDF(28088), AOM_ICDF(29678), AOM_ICDF(32768),
1680 0 },
1681 { AOM_ICDF(3584), AOM_ICDF(27296), AOM_ICDF(28429), AOM_ICDF(29158),
1682 AOM_ICDF(30032), AOM_ICDF(30780), AOM_ICDF(31572), AOM_ICDF(32768),
1683 0 },
1684 { AOM_ICDF(23551), AOM_ICDF(25855), AOM_ICDF(27070), AOM_ICDF(27893),
1685 AOM_ICDF(28597), AOM_ICDF(29721), AOM_ICDF(30970), AOM_ICDF(32768),
1686 0 },
1687 { AOM_ICDF(32128), AOM_ICDF(32173), AOM_ICDF(32245), AOM_ICDF(32337),
1688 AOM_ICDF(32416), AOM_ICDF(32500), AOM_ICDF(32609), AOM_ICDF(32768),
1689 0 },
1690 },
1691 };
1692#endif
1693
Urvang Joshi23a61112017-01-30 14:59:27 -08001694const aom_prob av1_default_palette_uv_color_index_prob
Alex Converse92109812017-02-22 10:21:40 -08001695 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][PALETTE_COLORS - 1] = {
Urvang Joshi199a2f42017-01-23 15:02:07 -08001696 {
1697 // 2 colors
1698 { 233, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1699 UNUSED_PROB, UNUSED_PROB },
1700 { UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1701 UNUSED_PROB, UNUSED_PROB },
1702 { 69, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1703 UNUSED_PROB },
1704 { 240, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1705 UNUSED_PROB, UNUSED_PROB },
1706 { 248, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1707 UNUSED_PROB, UNUSED_PROB },
1708 },
1709 {
1710 // 3 colors
1711 { 216, 128, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1712 UNUSED_PROB },
1713 { 110, 171, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1714 UNUSED_PROB },
1715 { 40, 239, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1716 UNUSED_PROB },
1717 { 191, 104, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1718 UNUSED_PROB },
1719 { 247, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB,
1720 UNUSED_PROB },
1721 },
1722 {
1723 // 4 colors
1724 { 202, 89, 132, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1725 { 90, 132, 136, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1726 { 63, 195, 149, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1727 { 152, 84, 152, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1728 { 241, 87, 136, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1729 },
1730 {
1731 // 5 colors
1732 { 209, 54, 82, 134, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1733 { 94, 173, 180, 93, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1734 { 10, 251, 127, 84, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1735 { 183, 20, 150, 47, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1736 { 252, 73, 111, 150, UNUSED_PROB, UNUSED_PROB, UNUSED_PROB },
1737 },
1738 {
1739 // 6 colors
1740 { 192, 67, 59, 46, 184, UNUSED_PROB, UNUSED_PROB },
1741 { 59, 92, 61, 100, 130, UNUSED_PROB, UNUSED_PROB },
1742 { 49, 162, 68, 91, 150, UNUSED_PROB, UNUSED_PROB },
1743 { 133, 29, 36, 153, 101, UNUSED_PROB, UNUSED_PROB },
1744 { 247, 71, 44, 90, 129, UNUSED_PROB, UNUSED_PROB },
1745 },
1746 {
1747 // 7 colors
1748 { 182, 62, 80, 78, 46, 116, UNUSED_PROB },
1749 { 59, 62, 39, 81, 65, 99, UNUSED_PROB },
1750 { 54, 177, 48, 58, 93, 104, UNUSED_PROB },
1751 { 137, 79, 54, 55, 44, 134, UNUSED_PROB },
1752 { 239, 82, 79, 44, 69, 71, UNUSED_PROB },
1753 },
1754 {
1755 // 8 colors
1756 { 172, 53, 27, 67, 30, 79, 113 },
1757 { 63, 57, 45, 81, 62, 35, 47 },
1758 { 51, 200, 36, 47, 82, 165, 129 },
1759 { 141, 100, 47, 29, 33, 37, 129 },
1760 { 236, 42, 50, 91, 24, 154, 65 },
1761 },
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001762 };
1763
Thomas Daviesce7272d2017-07-04 16:11:08 +01001764#if CONFIG_NEW_MULTISYMBOL
1765const aom_cdf_prob default_palette_uv_color_index_cdf
1766 [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = {
1767 {
1768 { AOM_ICDF(29824), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1769 { AOM_ICDF(16384), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1770 { AOM_ICDF(8832), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1771 { AOM_ICDF(30720), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1772 { AOM_ICDF(31744), AOM_ICDF(32768), 0, 0, 0, 0, 0, 0, 0 },
1773 },
1774 {
1775 { AOM_ICDF(27648), AOM_ICDF(30208), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1776 0 },
1777 { AOM_ICDF(14080), AOM_ICDF(26563), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1778 0 },
1779 { AOM_ICDF(5120), AOM_ICDF(30932), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1780 0 },
1781 { AOM_ICDF(24448), AOM_ICDF(27828), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1782 0 },
1783 { AOM_ICDF(31616), AOM_ICDF(32219), AOM_ICDF(32768), 0, 0, 0, 0, 0,
1784 0 },
1785 },
1786 {
1787 { AOM_ICDF(25856), AOM_ICDF(28259), AOM_ICDF(30584), AOM_ICDF(32768),
1788 0, 0, 0, 0, 0 },
1789 { AOM_ICDF(11520), AOM_ICDF(22476), AOM_ICDF(27944), AOM_ICDF(32768),
1790 0, 0, 0, 0, 0 },
1791 { AOM_ICDF(8064), AOM_ICDF(26882), AOM_ICDF(30308), AOM_ICDF(32768),
1792 0, 0, 0, 0, 0 },
1793 { AOM_ICDF(19455), AOM_ICDF(23823), AOM_ICDF(29134), AOM_ICDF(32768),
1794 0, 0, 0, 0, 0 },
1795 { AOM_ICDF(30848), AOM_ICDF(31501), AOM_ICDF(32174), AOM_ICDF(32768),
1796 0, 0, 0, 0, 0 },
1797 },
1798 {
1799 { AOM_ICDF(26751), AOM_ICDF(28020), AOM_ICDF(29541), AOM_ICDF(31230),
1800 AOM_ICDF(32768), 0, 0, 0, 0 },
1801 { AOM_ICDF(12032), AOM_ICDF(26045), AOM_ICDF(30772), AOM_ICDF(31497),
1802 AOM_ICDF(32768), 0, 0, 0, 0 },
1803 { AOM_ICDF(1280), AOM_ICDF(32153), AOM_ICDF(32458), AOM_ICDF(32560),
1804 AOM_ICDF(32768), 0, 0, 0, 0 },
1805 { AOM_ICDF(23424), AOM_ICDF(24154), AOM_ICDF(29201), AOM_ICDF(29856),
1806 AOM_ICDF(32768), 0, 0, 0, 0 },
1807 { AOM_ICDF(32256), AOM_ICDF(32402), AOM_ICDF(32561), AOM_ICDF(32682),
1808 AOM_ICDF(32768), 0, 0, 0, 0 },
1809 },
1810 {
1811 { AOM_ICDF(24576), AOM_ICDF(26720), AOM_ICDF(28114), AOM_ICDF(28950),
1812 AOM_ICDF(31694), AOM_ICDF(32768), 0, 0, 0 },
1813 { AOM_ICDF(7551), AOM_ICDF(16613), AOM_ICDF(20462), AOM_ICDF(25269),
1814 AOM_ICDF(29077), AOM_ICDF(32768), 0, 0, 0 },
1815 { AOM_ICDF(6272), AOM_ICDF(23039), AOM_ICDF(25623), AOM_ICDF(28163),
1816 AOM_ICDF(30861), AOM_ICDF(32768), 0, 0, 0 },
1817 { AOM_ICDF(17024), AOM_ICDF(18808), AOM_ICDF(20771), AOM_ICDF(27941),
1818 AOM_ICDF(29845), AOM_ICDF(32768), 0, 0, 0 },
1819 { AOM_ICDF(31616), AOM_ICDF(31936), AOM_ICDF(32079), AOM_ICDF(32321),
1820 AOM_ICDF(32546), AOM_ICDF(32768), 0, 0, 0 },
1821 },
1822 {
1823 { AOM_ICDF(23296), AOM_ICDF(25590), AOM_ICDF(27833), AOM_ICDF(29337),
1824 AOM_ICDF(29954), AOM_ICDF(31229), AOM_ICDF(32768), 0, 0 },
1825 { AOM_ICDF(7552), AOM_ICDF(13659), AOM_ICDF(16570), AOM_ICDF(21695),
1826 AOM_ICDF(24506), AOM_ICDF(27701), AOM_ICDF(32768), 0, 0 },
1827 { AOM_ICDF(6911), AOM_ICDF(24788), AOM_ICDF(26284), AOM_ICDF(27753),
1828 AOM_ICDF(29575), AOM_ICDF(30872), AOM_ICDF(32768), 0, 0 },
1829 { AOM_ICDF(17535), AOM_ICDF(22236), AOM_ICDF(24457), AOM_ICDF(26242),
1830 AOM_ICDF(27363), AOM_ICDF(30191), AOM_ICDF(32768), 0, 0 },
1831 { AOM_ICDF(30592), AOM_ICDF(31289), AOM_ICDF(31745), AOM_ICDF(31921),
1832 AOM_ICDF(32149), AOM_ICDF(32321), AOM_ICDF(32768), 0, 0 },
1833 },
1834 {
1835 { AOM_ICDF(22016), AOM_ICDF(24242), AOM_ICDF(25141), AOM_ICDF(27137),
1836 AOM_ICDF(27797), AOM_ICDF(29331), AOM_ICDF(30848), AOM_ICDF(32768),
1837 0 },
1838 { AOM_ICDF(8063), AOM_ICDF(13564), AOM_ICDF(16940), AOM_ICDF(21948),
1839 AOM_ICDF(24568), AOM_ICDF(25689), AOM_ICDF(26989), AOM_ICDF(32768),
1840 0 },
1841 { AOM_ICDF(6528), AOM_ICDF(27028), AOM_ICDF(27835), AOM_ICDF(28741),
1842 AOM_ICDF(30031), AOM_ICDF(31795), AOM_ICDF(32285), AOM_ICDF(32768),
1843 0 },
1844 { AOM_ICDF(18047), AOM_ICDF(23797), AOM_ICDF(25444), AOM_ICDF(26274),
1845 AOM_ICDF(27111), AOM_ICDF(27929), AOM_ICDF(30367), AOM_ICDF(32768),
1846 0 },
1847 { AOM_ICDF(30208), AOM_ICDF(30628), AOM_ICDF(31046), AOM_ICDF(31658),
1848 AOM_ICDF(31762), AOM_ICDF(32367), AOM_ICDF(32469), AOM_ICDF(32768),
1849 0 },
1850 }
1851 };
1852#endif // CONFIG_NEW_MULTISYMBOL
Urvang Joshieb54e0c2016-11-01 15:25:57 -07001853#undef UNUSED_PROB
Yaowu Xuc27fc142016-08-22 16:08:15 -07001854
Urvang Joshicdbe7082017-01-26 13:06:49 -08001855#define MAX_COLOR_CONTEXT_HASH 8
1856// Negative values are invalid
Urvang Joshi23a61112017-01-30 14:59:27 -08001857static const int palette_color_index_context_lookup[MAX_COLOR_CONTEXT_HASH +
1858 1] = { -1, -1, 0, -1, -1,
1859 4, 3, 2, 1 };
Urvang Joshicdbe7082017-01-26 13:06:49 -08001860
Urvang Joshib100db72016-10-12 16:28:56 -07001861#endif // CONFIG_PALETTE
Yaowu Xuc27fc142016-08-22 16:08:15 -07001862
Jingning Hanb4329a22016-11-22 16:20:13 -08001863// The transform size is coded as an offset to the smallest transform
1864// block size.
Jingning Han607fa6a2016-10-26 10:46:28 -07001865const aom_tree_index av1_tx_size_tree[MAX_TX_DEPTH][TREE_SIZE(TX_SIZES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001866 {
1867 // Max tx_size is 8X8
Jingning Hanb4329a22016-11-22 16:20:13 -08001868 -0, -1,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001869 },
1870 {
1871 // Max tx_size is 16X16
Jingning Hanb4329a22016-11-22 16:20:13 -08001872 -0, 2, -1, -2,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001873 },
1874 {
1875 // Max tx_size is 32X32
Jingning Hanb4329a22016-11-22 16:20:13 -08001876 -0, 2, -1, 4, -2, -3,
Yaowu Xuc27fc142016-08-22 16:08:15 -07001877 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001878#if CONFIG_TX64X64
Debargha Mukherjee25ed5302016-11-22 12:13:41 -08001879 {
1880 // Max tx_size is 64X64
Jingning Hanb4329a22016-11-22 16:20:13 -08001881 -0, 2, -1, 4, -2, 6, -3, -4,
Debargha Mukherjee25ed5302016-11-22 12:13:41 -08001882 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001883#endif // CONFIG_TX64X64
Yaowu Xuc27fc142016-08-22 16:08:15 -07001884};
1885
Jingning Hanaae72a62016-10-25 15:35:29 -07001886static const aom_prob default_tx_size_prob[MAX_TX_DEPTH][TX_SIZE_CONTEXTS]
1887 [MAX_TX_DEPTH] = {
clang-format67948d32016-09-07 22:40:40 -07001888 {
1889 // Max tx_size is 8X8
1890 { 100 },
1891 { 66 },
1892 },
1893 {
1894 // Max tx_size is 16X16
1895 { 20, 152 },
1896 { 15, 101 },
1897 },
1898 {
1899 // Max tx_size is 32X32
1900 { 3, 136, 37 },
1901 { 5, 52, 13 },
1902 },
Debargha Mukherjee18d38f62016-11-17 20:30:16 -08001903#if CONFIG_TX64X64
1904 {
1905 // Max tx_size is 64X64
1906 { 1, 64, 136, 127 },
1907 { 1, 32, 52, 67 },
1908 },
1909#endif // CONFIG_TX64X64
clang-format67948d32016-09-07 22:40:40 -07001910 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07001911
Yue Chen56e226e2017-05-02 16:21:40 -07001912#if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
1913static const aom_prob default_quarter_tx_size_prob = 192;
1914#endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
1915
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07001916#if CONFIG_LOOP_RESTORATION
Debargha Mukherjeeb3c43bc2017-02-01 13:09:03 -08001917const aom_tree_index
1918 av1_switchable_restore_tree[TREE_SIZE(RESTORE_SWITCHABLE_TYPES)] = {
1919 -RESTORE_NONE, 2, -RESTORE_WIENER, -RESTORE_SGRPROJ,
1920 };
1921
1922static const aom_prob
1923 default_switchable_restore_prob[RESTORE_SWITCHABLE_TYPES - 1] = {
1924 32, 128,
1925 };
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07001926#endif // CONFIG_LOOP_RESTORATION
1927
Urvang Joshib100db72016-10-12 16:28:56 -07001928#if CONFIG_PALETTE
Urvang Joshi23a61112017-01-30 14:59:27 -08001929#define NUM_PALETTE_NEIGHBORS 3 // left, top-left and top.
1930int av1_get_palette_color_index_context(const uint8_t *color_map, int stride,
1931 int r, int c, int palette_size,
1932 uint8_t *color_order, int *color_idx) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001933 int i;
1934 // The +10 below should not be needed. But we get a warning "array subscript
1935 // is above array bounds [-Werror=array-bounds]" without it, possibly due to
1936 // this (or similar) bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124
Yaowu Xuc27fc142016-08-22 16:08:15 -07001937 int scores[PALETTE_MAX_SIZE + 10];
Urvang Joshicdbe7082017-01-26 13:06:49 -08001938 const int weights[NUM_PALETTE_NEIGHBORS] = { 2, 1, 2 };
1939 const int hash_multipliers[NUM_PALETTE_NEIGHBORS] = { 1, 2, 2 };
Urvang Joshi23a61112017-01-30 14:59:27 -08001940 int color_index_ctx_hash;
1941 int color_index_ctx;
Urvang Joshicdbe7082017-01-26 13:06:49 -08001942 int color_neighbors[NUM_PALETTE_NEIGHBORS];
Urvang Joshi967ff392016-09-07 14:57:49 -07001943 int inverse_color_order[PALETTE_MAX_SIZE];
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001944 assert(palette_size <= PALETTE_MAX_SIZE);
Urvang Joshicdbe7082017-01-26 13:06:49 -08001945 assert(r > 0 || c > 0);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001946
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001947 // Get color indices of neighbors.
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001948 color_neighbors[0] = (c - 1 >= 0) ? color_map[r * stride + c - 1] : -1;
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001949 color_neighbors[1] =
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001950 (c - 1 >= 0 && r - 1 >= 0) ? color_map[(r - 1) * stride + c - 1] : -1;
1951 color_neighbors[2] = (r - 1 >= 0) ? color_map[(r - 1) * stride + c] : -1;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001952
Urvang Joshi967ff392016-09-07 14:57:49 -07001953 for (i = 0; i < PALETTE_MAX_SIZE; ++i) {
1954 color_order[i] = i;
1955 inverse_color_order[i] = i;
1956 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001957 memset(scores, 0, PALETTE_MAX_SIZE * sizeof(scores[0]));
Urvang Joshicdbe7082017-01-26 13:06:49 -08001958 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001959 if (color_neighbors[i] >= 0) {
1960 scores[color_neighbors[i]] += weights[i];
1961 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001962 }
1963
Urvang Joshicdbe7082017-01-26 13:06:49 -08001964 // Get the top NUM_PALETTE_NEIGHBORS scores (sorted from large to small).
1965 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi4f4b68e2016-10-24 17:11:10 -07001966 int max = scores[i];
1967 int max_idx = i;
1968 int j;
Urvang Joshi56ba91b2017-01-10 13:22:09 -08001969 for (j = i + 1; j < palette_size; ++j) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07001970 if (scores[j] > max) {
1971 max = scores[j];
1972 max_idx = j;
1973 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001974 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07001975 if (max_idx != i) {
Urvang Joshif1c06a72017-01-09 14:46:51 -08001976 // Move the score at index 'max_idx' to index 'i', and shift the scores
1977 // from 'i' to 'max_idx - 1' by 1.
1978 const int max_score = scores[max_idx];
1979 const uint8_t max_color_order = color_order[max_idx];
1980 int k;
1981 for (k = max_idx; k > i; --k) {
1982 scores[k] = scores[k - 1];
1983 color_order[k] = color_order[k - 1];
1984 inverse_color_order[color_order[k]] = k;
1985 }
1986 scores[i] = max_score;
1987 color_order[i] = max_color_order;
Urvang Joshi967ff392016-09-07 14:57:49 -07001988 inverse_color_order[color_order[i]] = i;
Yaowu Xuc27fc142016-08-22 16:08:15 -07001989 }
1990 }
1991
Urvang Joshi79f4fc42016-10-26 09:40:35 -07001992 // Get hash value of context.
Urvang Joshi23a61112017-01-30 14:59:27 -08001993 color_index_ctx_hash = 0;
Urvang Joshicdbe7082017-01-26 13:06:49 -08001994 for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) {
Urvang Joshi23a61112017-01-30 14:59:27 -08001995 color_index_ctx_hash += scores[i] * hash_multipliers[i];
Urvang Joshicdbe7082017-01-26 13:06:49 -08001996 }
Urvang Joshi23a61112017-01-30 14:59:27 -08001997 assert(color_index_ctx_hash > 0);
1998 assert(color_index_ctx_hash <= MAX_COLOR_CONTEXT_HASH);
Yaowu Xuc27fc142016-08-22 16:08:15 -07001999
Urvang Joshi79f4fc42016-10-26 09:40:35 -07002000 // Lookup context from hash.
Urvang Joshi23a61112017-01-30 14:59:27 -08002001 color_index_ctx = palette_color_index_context_lookup[color_index_ctx_hash];
2002 assert(color_index_ctx >= 0);
2003 assert(color_index_ctx < PALETTE_COLOR_INDEX_CONTEXTS);
Yaowu Xuc27fc142016-08-22 16:08:15 -07002004
Urvang Joshi967ff392016-09-07 14:57:49 -07002005 if (color_idx != NULL) {
Urvang Joshi56ba91b2017-01-10 13:22:09 -08002006 *color_idx = inverse_color_order[color_map[r * stride + c]];
Urvang Joshi967ff392016-09-07 14:57:49 -07002007 }
Urvang Joshi23a61112017-01-30 14:59:27 -08002008 return color_index_ctx;
Yaowu Xuc27fc142016-08-22 16:08:15 -07002009}
Urvang Joshicdbe7082017-01-26 13:06:49 -08002010#undef NUM_PALETTE_NEIGHBORS
2011#undef MAX_COLOR_CONTEXT_HASH
2012
Urvang Joshib100db72016-10-12 16:28:56 -07002013#endif // CONFIG_PALETTE
Yaowu Xuc27fc142016-08-22 16:08:15 -07002014
2015#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07002016static const aom_prob default_txfm_partition_probs[TXFM_PARTITION_CONTEXTS] = {
Jingning Hanc8b89362016-11-01 10:28:53 -07002017 250, 231, 212, 241, 166, 66, 241, 230, 135, 243, 154, 64, 248, 161, 63, 128,
Yaowu Xuc27fc142016-08-22 16:08:15 -07002018};
Thomas Davies985bfc32017-06-27 16:51:26 +01002019#if CONFIG_NEW_MULTISYMBOL
2020static const aom_cdf_prob
2021 default_txfm_partition_cdf[TXFM_PARTITION_CONTEXTS][CDF_SIZE(2)] = {
2022 { AOM_ICDF(250 * 128), AOM_ICDF(32768), 0 },
2023 { AOM_ICDF(231 * 128), AOM_ICDF(32768), 0 },
2024 { AOM_ICDF(212 * 128), AOM_ICDF(32768), 0 },
2025 { AOM_ICDF(241 * 128), AOM_ICDF(32768), 0 },
2026 { AOM_ICDF(166 * 128), AOM_ICDF(32768), 0 },
2027 { AOM_ICDF(66 * 128), AOM_ICDF(32768), 0 },
2028 { AOM_ICDF(241 * 128), AOM_ICDF(32768), 0 },
2029 { AOM_ICDF(230 * 128), AOM_ICDF(32768), 0 },
2030 { AOM_ICDF(135 * 128), AOM_ICDF(32768), 0 },
2031 { AOM_ICDF(243 * 128), AOM_ICDF(32768), 0 },
2032 { AOM_ICDF(154 * 128), AOM_ICDF(32768), 0 },
2033 { AOM_ICDF(64 * 128), AOM_ICDF(32768), 0 },
2034 { AOM_ICDF(248 * 128), AOM_ICDF(32768), 0 },
2035 { AOM_ICDF(161 * 128), AOM_ICDF(32768), 0 },
2036 { AOM_ICDF(63 * 128), AOM_ICDF(32768), 0 },
2037 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 }
2038 };
2039#endif // CONFIG_NEW_MULTISYMBOL
Yaowu Xuc27fc142016-08-22 16:08:15 -07002040#endif
2041
Yaowu Xuf883b422016-08-30 14:01:10 -07002042static const aom_prob default_skip_probs[SKIP_CONTEXTS] = { 192, 128, 64 };
Thomas Davies61e3e372017-04-04 16:10:23 +01002043#if CONFIG_NEW_MULTISYMBOL
2044static const aom_cdf_prob default_skip_cdfs[SKIP_CONTEXTS][CDF_SIZE(2)] = {
2045 { AOM_ICDF(24576), AOM_ICDF(32768), 0 },
2046 { AOM_ICDF(16384), AOM_ICDF(32768), 0 },
2047 { AOM_ICDF(8192), AOM_ICDF(32768), 0 }
2048};
2049#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07002050
Angie Chiang1733f6b2017-01-05 09:52:20 -08002051#if CONFIG_DUAL_FILTER
Angie Chiangaadbb022017-06-01 16:08:03 -07002052#if USE_EXTRA_FILTER
clang-format55ce9e02017-02-15 22:27:12 -08002053static const aom_prob default_switchable_interp_prob
2054 [SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
2055 { 235, 192, 128 }, { 36, 243, 48 }, { 34, 16, 128 },
2056 { 34, 16, 128 }, { 149, 160, 128 }, { 235, 192, 128 },
2057 { 36, 243, 48 }, { 34, 16, 128 }, { 34, 16, 128 },
2058 { 149, 160, 128 }, { 235, 192, 128 }, { 36, 243, 48 },
2059 { 34, 16, 128 }, { 34, 16, 128 }, { 149, 160, 128 },
2060 { 235, 192, 128 }, { 36, 243, 48 }, { 34, 16, 128 },
2061 { 34, 16, 128 }, { 149, 160, 128 },
2062 };
Angie Chiangaadbb022017-06-01 16:08:03 -07002063#else // USE_EXTRA_FILTER
2064static const aom_prob default_switchable_interp_prob
2065 [SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
Yue Chend1b8c2a2017-07-05 14:28:20 -07002066 { 252, 199 }, { 22, 255 }, { 4, 2 }, { 238, 146 },
2067 { 253, 66 }, { 24, 255 }, { 2, 1 }, { 198, 41 },
2068 { 250, 177 }, { 16, 255 }, { 3, 4 }, { 226, 162 },
2069 { 247, 38 }, { 33, 253 }, { 1, 1 }, { 136, 14 },
Angie Chiangaadbb022017-06-01 16:08:03 -07002070 };
2071#endif // USE_EXTRA_FILTER
Angie Chiang1733f6b2017-01-05 09:52:20 -08002072#else // CONFIG_DUAL_FILTER
clang-format67948d32016-09-07 22:40:40 -07002073static const aom_prob default_switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS]
2074 [SWITCHABLE_FILTERS - 1] = {
2075 { 235, 162 },
2076 { 36, 255 },
2077 { 34, 3 },
2078 { 149, 144 },
2079 };
Angie Chiang1733f6b2017-01-05 09:52:20 -08002080#endif // CONFIG_DUAL_FILTER
Yaowu Xuc27fc142016-08-22 16:08:15 -07002081
2082#if CONFIG_EXT_TX
2083/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07002084const aom_tree_index av1_ext_tx_inter_tree[EXT_TX_SETS_INTER]
Yaowu Xuc27fc142016-08-22 16:08:15 -07002085 [TREE_SIZE(TX_TYPES)] = {
2086 { // ToDo(yaowu): remove used entry 0.
2087 0
2088 }, {
2089 -IDTX, 2,
2090 4, 14,
2091 6, 8,
2092 -V_DCT, -H_DCT,
2093 10, 12,
2094 -V_ADST, -H_ADST,
2095 -V_FLIPADST, -H_FLIPADST,
2096 -DCT_DCT, 16,
2097 18, 24,
2098 20, 22,
2099 -ADST_DCT, -DCT_ADST,
2100 -FLIPADST_DCT, -DCT_FLIPADST,
2101 26, 28,
2102 -ADST_ADST, -FLIPADST_FLIPADST,
2103 -ADST_FLIPADST, -FLIPADST_ADST
2104 }, {
2105 -IDTX, 2,
2106 4, 6,
2107 -V_DCT, -H_DCT,
2108 -DCT_DCT, 8,
2109 10, 16,
2110 12, 14,
2111 -ADST_DCT, -DCT_ADST,
2112 -FLIPADST_DCT, -DCT_FLIPADST,
2113 18, 20,
2114 -ADST_ADST, -FLIPADST_FLIPADST,
2115 -ADST_FLIPADST, -FLIPADST_ADST
2116 }, {
2117 -IDTX, -DCT_DCT,
2118 }
2119};
2120
Yaowu Xuf883b422016-08-30 14:01:10 -07002121const aom_tree_index av1_ext_tx_intra_tree[EXT_TX_SETS_INTRA]
Yaowu Xuc27fc142016-08-22 16:08:15 -07002122 [TREE_SIZE(TX_TYPES)] = {
2123 { // ToDo(yaowu): remove unused entry 0.
2124 0
2125 }, {
2126 -IDTX, 2,
2127 -DCT_DCT, 4,
2128 6, 8,
2129 -V_DCT, -H_DCT,
2130 -ADST_ADST, 10,
2131 -ADST_DCT, -DCT_ADST,
2132 }, {
2133 -IDTX, 2,
2134 -DCT_DCT, 4,
2135 -ADST_ADST, 6,
2136 -ADST_DCT, -DCT_ADST,
2137 }
2138};
2139/* clang-format on */
2140
Yaowu Xuf883b422016-08-30 14:01:10 -07002141static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -07002142 default_inter_ext_tx_prob[EXT_TX_SETS_INTER][EXT_TX_SIZES][TX_TYPES - 1] = {
2143 {
Jingning Han1a00cff2016-12-28 14:53:14 -08002144// ToDo(yaowu): remove unused entry 0.
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002145#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002146 { 0 },
2147#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07002148 { 0 },
2149 { 0 },
2150 { 0 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002151 { 0 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002152 },
2153 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002154#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002155 { 0 },
2156#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07002157 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
2158 128 },
2159 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
2160 128 },
2161 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
2162 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002163 { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
2164 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002165 },
2166 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002167#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002168 { 0 },
2169#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07002170 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
2171 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
2172 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002173 { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002174 },
2175 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002176#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002177 { 0 },
2178#endif
2179 { 12 },
2180 { 12 },
2181 { 12 },
2182 { 12 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002183 }
2184 };
2185
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002186// TODO(urvang): 3rd context should be tx_type instead of intra mode just like
2187// the baseline.
clang-format67948d32016-09-07 22:40:40 -07002188static const aom_prob
2189 default_intra_ext_tx_prob[EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES]
2190 [TX_TYPES - 1] = {
2191 {
Jingning Han1a00cff2016-12-28 14:53:14 -08002192// ToDo(yaowu): remove unused entry 0.
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002193#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002194 {
2195 { 0 },
2196 },
2197#endif
clang-format67948d32016-09-07 22:40:40 -07002198 {
2199 { 0 },
2200 { 0 },
2201 { 0 },
2202 { 0 },
2203 { 0 },
2204 { 0 },
2205 { 0 },
2206 { 0 },
2207 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002208#if CONFIG_ALT_INTRA
2209 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002210#if CONFIG_SMOOTH_HV
2211 { 0 },
2212 { 0 },
2213#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002214#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002215 { 0 },
clang-format67948d32016-09-07 22:40:40 -07002216 },
2217 {
2218 { 0 },
2219 { 0 },
2220 { 0 },
2221 { 0 },
2222 { 0 },
2223 { 0 },
2224 { 0 },
2225 { 0 },
2226 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002227#if CONFIG_ALT_INTRA
2228 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002229#if CONFIG_SMOOTH_HV
2230 { 0 },
2231 { 0 },
2232#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002233#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002234 { 0 },
clang-format67948d32016-09-07 22:40:40 -07002235 },
2236 {
2237 { 0 },
2238 { 0 },
2239 { 0 },
2240 { 0 },
2241 { 0 },
2242 { 0 },
2243 { 0 },
2244 { 0 },
2245 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002246#if CONFIG_ALT_INTRA
2247 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002248#if CONFIG_SMOOTH_HV
2249 { 0 },
2250 { 0 },
2251#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002252#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002253 { 0 },
clang-format67948d32016-09-07 22:40:40 -07002254 },
2255 {
2256 { 0 },
2257 { 0 },
2258 { 0 },
2259 { 0 },
2260 { 0 },
2261 { 0 },
2262 { 0 },
2263 { 0 },
2264 { 0 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002265#if CONFIG_ALT_INTRA
2266 { 0 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002267#if CONFIG_SMOOTH_HV
2268 { 0 },
2269 { 0 },
2270#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002271#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002272 { 0 },
clang-format67948d32016-09-07 22:40:40 -07002273 },
2274 },
2275 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002276#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002277 {
2278 { 0 },
2279 },
2280#endif
clang-format67948d32016-09-07 22:40:40 -07002281 {
2282 { 8, 224, 32, 128, 64, 128 },
2283 { 10, 32, 32, 128, 16, 192 },
2284 { 10, 32, 32, 128, 16, 64 },
2285 { 9, 200, 32, 128, 64, 128 },
2286 { 8, 8, 32, 128, 224, 128 },
2287 { 10, 32, 32, 128, 16, 192 },
2288 { 10, 32, 32, 128, 16, 64 },
2289 { 10, 23, 32, 128, 80, 176 },
2290 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002291#if CONFIG_ALT_INTRA
2292 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002293#if CONFIG_SMOOTH_HV
2294 { 10, 32, 32, 128, 16, 64 },
2295 { 10, 32, 32, 128, 16, 64 },
2296#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002297#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002298 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002299 },
2300 {
2301 { 8, 224, 32, 128, 64, 128 },
2302 { 10, 32, 32, 128, 16, 192 },
2303 { 10, 32, 32, 128, 16, 64 },
2304 { 9, 200, 32, 128, 64, 128 },
2305 { 8, 8, 32, 128, 224, 128 },
2306 { 10, 32, 32, 128, 16, 192 },
2307 { 10, 32, 32, 128, 16, 64 },
2308 { 10, 23, 32, 128, 80, 176 },
2309 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002310#if CONFIG_ALT_INTRA
2311 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002312#if CONFIG_SMOOTH_HV
2313 { 10, 32, 32, 128, 16, 64 },
2314 { 10, 32, 32, 128, 16, 64 },
2315#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002316#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002317 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002318 },
2319 {
2320 { 8, 224, 32, 128, 64, 128 },
2321 { 10, 32, 32, 128, 16, 192 },
2322 { 10, 32, 32, 128, 16, 64 },
2323 { 9, 200, 32, 128, 64, 128 },
2324 { 8, 8, 32, 128, 224, 128 },
2325 { 10, 32, 32, 128, 16, 192 },
2326 { 10, 32, 32, 128, 16, 64 },
2327 { 10, 23, 32, 128, 80, 176 },
2328 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002329#if CONFIG_ALT_INTRA
2330 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002331#if CONFIG_SMOOTH_HV
2332 { 10, 32, 32, 128, 16, 64 },
2333 { 10, 32, 32, 128, 16, 64 },
2334#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002335#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002336 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002337 },
2338 {
2339 { 8, 224, 32, 128, 64, 128 },
2340 { 10, 32, 32, 128, 16, 192 },
2341 { 10, 32, 32, 128, 16, 64 },
2342 { 9, 200, 32, 128, 64, 128 },
2343 { 8, 8, 32, 128, 224, 128 },
2344 { 10, 32, 32, 128, 16, 192 },
2345 { 10, 32, 32, 128, 16, 64 },
2346 { 10, 23, 32, 128, 80, 176 },
2347 { 10, 23, 32, 128, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002348#if CONFIG_ALT_INTRA
2349 { 10, 32, 32, 128, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002350#if CONFIG_SMOOTH_HV
2351 { 10, 32, 32, 128, 16, 64 },
2352 { 10, 32, 32, 128, 16, 64 },
2353#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002354#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002355 { 10, 32, 32, 128, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002356 },
2357 },
2358 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002359#if CONFIG_CHROMA_2X2
Jingning Han1a00cff2016-12-28 14:53:14 -08002360 {
2361 { 0 },
2362 },
2363#endif
clang-format67948d32016-09-07 22:40:40 -07002364 {
2365 { 8, 224, 64, 128 },
2366 { 10, 32, 16, 192 },
2367 { 10, 32, 16, 64 },
2368 { 9, 200, 64, 128 },
2369 { 8, 8, 224, 128 },
2370 { 10, 32, 16, 192 },
2371 { 10, 32, 16, 64 },
2372 { 10, 23, 80, 176 },
2373 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002374#if CONFIG_ALT_INTRA
2375 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002376#if CONFIG_SMOOTH_HV
2377 { 10, 32, 16, 64 },
2378 { 10, 32, 16, 64 },
2379#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002380#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002381 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002382 },
2383 {
2384 { 8, 224, 64, 128 },
2385 { 10, 32, 16, 192 },
2386 { 10, 32, 16, 64 },
2387 { 9, 200, 64, 128 },
2388 { 8, 8, 224, 128 },
2389 { 10, 32, 16, 192 },
2390 { 10, 32, 16, 64 },
2391 { 10, 23, 80, 176 },
2392 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002393#if CONFIG_ALT_INTRA
2394 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002395#if CONFIG_SMOOTH_HV
2396 { 10, 32, 16, 64 },
2397 { 10, 32, 16, 64 },
2398#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002399#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002400 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002401 },
2402 {
2403 { 8, 224, 64, 128 },
2404 { 10, 32, 16, 192 },
2405 { 10, 32, 16, 64 },
2406 { 9, 200, 64, 128 },
2407 { 8, 8, 224, 128 },
2408 { 10, 32, 16, 192 },
2409 { 10, 32, 16, 64 },
2410 { 10, 23, 80, 176 },
2411 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002412#if CONFIG_ALT_INTRA
2413 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002414#if CONFIG_SMOOTH_HV
2415 { 10, 32, 16, 64 },
2416 { 10, 32, 16, 64 },
2417#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002418#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002419 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002420 },
2421 {
2422 { 8, 224, 64, 128 },
2423 { 10, 32, 16, 192 },
2424 { 10, 32, 16, 64 },
2425 { 9, 200, 64, 128 },
2426 { 8, 8, 224, 128 },
2427 { 10, 32, 16, 192 },
2428 { 10, 32, 16, 64 },
2429 { 10, 23, 80, 176 },
2430 { 10, 23, 80, 176 },
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002431#if CONFIG_ALT_INTRA
2432 { 10, 32, 16, 64 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002433#if CONFIG_SMOOTH_HV
2434 { 10, 32, 16, 64 },
2435 { 10, 32, 16, 64 },
2436#endif // CONFIG_SMOOTH_HV
Urvang Joshi3a9a5272017-03-10 14:40:36 -08002437#endif // CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002438 { 10, 32, 16, 64 },
clang-format67948d32016-09-07 22:40:40 -07002439 },
2440 },
2441 };
Zoe Liu7f24e1b2017-03-17 17:42:05 -07002442#else // !CONFIG_EXT_TX
Yaowu Xuc27fc142016-08-22 16:08:15 -07002443
2444/* clang-format off */
Yaowu Xuf883b422016-08-30 14:01:10 -07002445const aom_tree_index av1_ext_tx_tree[TREE_SIZE(TX_TYPES)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002446 -DCT_DCT, 2,
2447 -ADST_ADST, 4,
2448 -ADST_DCT, -DCT_ADST
2449};
2450/* clang-format on */
2451
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04002452int av1_ext_tx_ind[TX_TYPES];
2453int av1_ext_tx_inv[TX_TYPES];
2454
Yaowu Xuf883b422016-08-30 14:01:10 -07002455static const aom_prob
Yaowu Xuc27fc142016-08-22 16:08:15 -07002456 default_intra_ext_tx_prob[EXT_TX_SIZES][TX_TYPES][TX_TYPES - 1] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002457#if CONFIG_CHROMA_2X2
Jingning Han607fa6a2016-10-26 10:46:28 -07002458 { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
2459#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07002460 { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
2461 { { 244, 85, 128 }, { 8, 2, 248 }, { 8, 2, 8 }, { 8, 248, 128 } },
2462 { { 248, 85, 128 }, { 16, 4, 248 }, { 16, 4, 8 }, { 16, 248, 128 } },
2463 };
2464
Yaowu Xuf883b422016-08-30 14:01:10 -07002465static const aom_prob default_inter_ext_tx_prob[EXT_TX_SIZES][TX_TYPES - 1] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002466#if CONFIG_CHROMA_2X2
Jingning Han607fa6a2016-10-26 10:46:28 -07002467 { 160, 85, 128 },
2468#endif
2469 { 160, 85, 128 },
2470 { 176, 85, 128 },
2471 { 192, 85, 128 },
Yaowu Xuc27fc142016-08-22 16:08:15 -07002472};
2473#endif // CONFIG_EXT_TX
2474
hui sub4e25d22017-03-09 15:32:30 -08002475#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
clang-format55ce9e02017-02-15 22:27:12 -08002476static const aom_prob
2477 default_intra_filter_probs[INTRA_FILTERS + 1][INTRA_FILTERS - 1] = {
2478 { 98, 63, 60 }, { 98, 82, 80 }, { 94, 65, 103 },
2479 { 49, 25, 24 }, { 72, 38, 50 },
2480 };
Yaowu Xuf883b422016-08-30 14:01:10 -07002481const aom_tree_index av1_intra_filter_tree[TREE_SIZE(INTRA_FILTERS)] = {
Yaowu Xuc27fc142016-08-22 16:08:15 -07002482 -INTRA_FILTER_LINEAR, 2, -INTRA_FILTER_8TAP, 4, -INTRA_FILTER_8TAP_SHARP,
2483 -INTRA_FILTER_8TAP_SMOOTH,
2484};
hui sub4e25d22017-03-09 15:32:30 -08002485int av1_intra_filter_ind[INTRA_FILTERS];
2486int av1_intra_filter_inv[INTRA_FILTERS];
hui sub4e25d22017-03-09 15:32:30 -08002487#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07002488
hui su5db97432016-10-14 16:10:14 -07002489#if CONFIG_FILTER_INTRA
2490static const aom_prob default_filter_intra_probs[2] = { 230, 230 };
2491#endif // CONFIG_FILTER_INTRA
2492
Yaowu Xuc27fc142016-08-22 16:08:15 -07002493#if CONFIG_SUPERTX
clang-format55ce9e02017-02-15 22:27:12 -08002494static const aom_prob
2495 default_supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002496#if CONFIG_CHROMA_2X2
Jingning Hanfeb517c2016-12-21 16:02:07 -08002497#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002498 { 1, 1, 160, 160, 170, 180 }, { 1, 1, 200, 200, 210, 220 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002499#else
clang-format55ce9e02017-02-15 22:27:12 -08002500 { 1, 1, 160, 160, 170 }, { 1, 1, 200, 200, 210 },
Jingning Hanfeb517c2016-12-21 16:02:07 -08002501#endif // CONFIG_TX64X64
2502#else
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002503#if CONFIG_TX64X64
clang-format55ce9e02017-02-15 22:27:12 -08002504 { 1, 160, 160, 170, 180 }, { 1, 200, 200, 210, 220 },
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002505#else
clang-format55ce9e02017-02-15 22:27:12 -08002506 { 1, 160, 160, 170 }, { 1, 200, 200, 210 },
Debargha Mukherjee5a488a62016-11-22 22:24:10 -08002507#endif // CONFIG_TX64X64
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002508#endif // CONFIG_CHROMA_2X2
clang-format55ce9e02017-02-15 22:27:12 -08002509 };
Yaowu Xuc27fc142016-08-22 16:08:15 -07002510#endif // CONFIG_SUPERTX
2511
2512// FIXME(someone) need real defaults here
Nathan E. Eggef627e582016-08-19 20:06:51 -04002513static const aom_prob default_segment_tree_probs[SEG_TREE_PROBS] = {
2514 128, 128, 128, 128, 128, 128, 128
Yaowu Xuc27fc142016-08-22 16:08:15 -07002515};
Nathan E. Eggef627e582016-08-19 20:06:51 -04002516// clang-format off
2517static const aom_prob default_segment_pred_probs[PREDICTION_PROBS] = {
2518 128, 128, 128
2519};
Thomas Davies00021352017-07-11 16:07:55 +01002520#if CONFIG_NEW_MULTISYMBOL
2521static const aom_cdf_prob
2522 default_segment_pred_cdf[PREDICTION_PROBS][CDF_SIZE(2)] = {
2523 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0},
2524 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0},
2525 { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0}
2526};
2527#endif
Nathan E. Eggef627e582016-08-19 20:06:51 -04002528// clang-format on
Yaowu Xuc27fc142016-08-22 16:08:15 -07002529
Thomas Davies4ba27d02017-04-05 11:43:36 +01002530#if CONFIG_DUAL_FILTER
Angie Chiangaadbb022017-06-01 16:08:03 -07002531#if USE_EXTRA_FILTER
Thomas Davies4ba27d02017-04-05 11:43:36 +01002532static const aom_cdf_prob
2533 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2534 SWITCHABLE_FILTERS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002535 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2536 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2537 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2538 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2539 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2540 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2541 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2542 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2543 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2544 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2545 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2546 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2547 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2548 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2549 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 },
2550 { AOM_ICDF(30080), AOM_ICDF(31088), AOM_ICDF(32096), AOM_ICDF(32768), 0 },
2551 { AOM_ICDF(4608), AOM_ICDF(9620), AOM_ICDF(31338), AOM_ICDF(32768), 0 },
2552 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2553 { AOM_ICDF(4352), AOM_ICDF(5240), AOM_ICDF(6128), AOM_ICDF(32768), 0 },
2554 { AOM_ICDF(19072), AOM_ICDF(23352), AOM_ICDF(27632), AOM_ICDF(32768), 0 }
Thomas Davies4ba27d02017-04-05 11:43:36 +01002555 };
Angie Chiangaadbb022017-06-01 16:08:03 -07002556#else // USE_EXTRA_FILTER
2557static const aom_cdf_prob
2558 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2559 SWITCHABLE_FILTERS)] = {
Yue Chend9de81e2017-07-10 16:58:13 -07002560 { AOM_ICDF(32256), AOM_ICDF(32654), AOM_ICDF(32768), 0 },
2561 { AOM_ICDF(2816), AOM_ICDF(32651), AOM_ICDF(32768), 0 },
2562 { AOM_ICDF(512), AOM_ICDF(764), AOM_ICDF(32768), 0 },
2563 { AOM_ICDF(30464), AOM_ICDF(31778), AOM_ICDF(32768), 0 },
2564 { AOM_ICDF(32384), AOM_ICDF(32483), AOM_ICDF(32768), 0 },
2565 { AOM_ICDF(3072), AOM_ICDF(32652), AOM_ICDF(32768), 0 },
2566 { AOM_ICDF(256), AOM_ICDF(383), AOM_ICDF(32768), 0 },
2567 { AOM_ICDF(25344), AOM_ICDF(26533), AOM_ICDF(32768), 0 },
2568 { AOM_ICDF(32000), AOM_ICDF(32531), AOM_ICDF(32768), 0 },
2569 { AOM_ICDF(2048), AOM_ICDF(32648), AOM_ICDF(32768), 0 },
2570 { AOM_ICDF(384), AOM_ICDF(890), AOM_ICDF(32768), 0 },
2571 { AOM_ICDF(28928), AOM_ICDF(31358), AOM_ICDF(32768), 0 },
2572 { AOM_ICDF(31616), AOM_ICDF(31787), AOM_ICDF(32768), 0 },
2573 { AOM_ICDF(4224), AOM_ICDF(32433), AOM_ICDF(32768), 0 },
2574 { AOM_ICDF(128), AOM_ICDF(256), AOM_ICDF(32768), 0 },
2575 { AOM_ICDF(17408), AOM_ICDF(18248), AOM_ICDF(32768), 0 }
Angie Chiangaadbb022017-06-01 16:08:03 -07002576 };
2577#endif // USE_EXTRA_FILTER
2578#else // CONFIG_DUAL_FILTER
Thomas Davies1d7db722017-02-22 11:15:00 +00002579static const aom_cdf_prob
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002580 default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE(
2581 SWITCHABLE_FILTERS)] = {
2582 { AOM_ICDF(30080), AOM_ICDF(31781), AOM_ICDF(32768), 0 },
2583 { AOM_ICDF(4608), AOM_ICDF(32658), AOM_ICDF(32768), 0 },
2584 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(32768), 0 },
2585 { AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 },
2586 };
Angie Chiangaadbb022017-06-01 16:08:03 -07002587#endif // CONFIG_DUAL_FILTER
Thomas Davies1d7db722017-02-22 11:15:00 +00002588
2589static const aom_cdf_prob default_seg_tree_cdf[CDF_SIZE(MAX_SEGMENTS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002590 AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288),
2591 AOM_ICDF(16384), AOM_ICDF(20480), AOM_ICDF(24576),
2592 AOM_ICDF(28672), AOM_ICDF(32768), 0
Thomas Davies1d7db722017-02-22 11:15:00 +00002593};
2594
2595static const aom_cdf_prob
2596 default_tx_size_cdf[MAX_TX_DEPTH][TX_SIZE_CONTEXTS][CDF_SIZE(MAX_TX_DEPTH +
2597 1)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002598 { { AOM_ICDF(12800), AOM_ICDF(32768), 0 },
2599 { AOM_ICDF(8448), AOM_ICDF(32768), 0 } },
2600 { { AOM_ICDF(2560), AOM_ICDF(20496), AOM_ICDF(32768), 0 },
2601 { AOM_ICDF(1920), AOM_ICDF(14091), AOM_ICDF(32768), 0 } },
2602 { { AOM_ICDF(384), AOM_ICDF(17588), AOM_ICDF(19782), AOM_ICDF(32768), 0 },
2603 { AOM_ICDF(640), AOM_ICDF(7166), AOM_ICDF(8466), AOM_ICDF(32768), 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002604#if CONFIG_TX64X64
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002605 { { AOM_ICDF(128), AOM_ICDF(8288), AOM_ICDF(21293), AOM_ICDF(26986),
2606 AOM_ICDF(32768), 0 },
2607 { AOM_ICDF(128), AOM_ICDF(4208), AOM_ICDF(10009), AOM_ICDF(15965),
2608 AOM_ICDF(32768), 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00002609#endif
2610 };
2611
Urvang Joshi63234542017-03-10 12:04:03 -08002612#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002613#if CONFIG_SMOOTH_HV
2614static const aom_cdf_prob
2615 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2616 { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(11980), AOM_ICDF(15213),
2617 AOM_ICDF(18579), AOM_ICDF(21075), AOM_ICDF(24090), AOM_ICDF(25954),
2618 AOM_ICDF(27870), AOM_ICDF(29439), AOM_ICDF(31051), AOM_ICDF(31863),
2619 AOM_ICDF(32768), 0 },
2620 { AOM_ICDF(11776), AOM_ICDF(21616), AOM_ICDF(23663), AOM_ICDF(25147),
2621 AOM_ICDF(26060), AOM_ICDF(26828), AOM_ICDF(27246), AOM_ICDF(28066),
2622 AOM_ICDF(28654), AOM_ICDF(29474), AOM_ICDF(31353), AOM_ICDF(32038),
2623 AOM_ICDF(32768), 0 },
2624 { AOM_ICDF(14720), AOM_ICDF(21911), AOM_ICDF(23650), AOM_ICDF(25282),
2625 AOM_ICDF(25740), AOM_ICDF(26108), AOM_ICDF(26316), AOM_ICDF(26896),
2626 AOM_ICDF(27194), AOM_ICDF(27695), AOM_ICDF(30113), AOM_ICDF(31254),
2627 AOM_ICDF(32768), 0 },
2628 { AOM_ICDF(18944), AOM_ICDF(27422), AOM_ICDF(28403), AOM_ICDF(29386),
2629 AOM_ICDF(29405), AOM_ICDF(29460), AOM_ICDF(29550), AOM_ICDF(29588),
2630 AOM_ICDF(29600), AOM_ICDF(29637), AOM_ICDF(30542), AOM_ICDF(31298),
2631 AOM_ICDF(32768), 0 },
2632 };
2633
2634static const aom_cdf_prob
2635 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
2636 { AOM_ICDF(23552), AOM_ICDF(23660), AOM_ICDF(26044), AOM_ICDF(28731),
2637 AOM_ICDF(29093), AOM_ICDF(29590), AOM_ICDF(30000), AOM_ICDF(30465),
2638 AOM_ICDF(30825), AOM_ICDF(31478), AOM_ICDF(32088), AOM_ICDF(32401),
2639 AOM_ICDF(32768), 0 },
2640 { AOM_ICDF(2944), AOM_ICDF(3294), AOM_ICDF(26781), AOM_ICDF(27903),
2641 AOM_ICDF(28179), AOM_ICDF(29237), AOM_ICDF(29430), AOM_ICDF(30317),
2642 AOM_ICDF(30441), AOM_ICDF(30614), AOM_ICDF(31556), AOM_ICDF(31963),
2643 AOM_ICDF(32768), 0 },
2644 { AOM_ICDF(4352), AOM_ICDF(4685), AOM_ICDF(5453), AOM_ICDF(28285),
2645 AOM_ICDF(28641), AOM_ICDF(28927), AOM_ICDF(29092), AOM_ICDF(29279),
2646 AOM_ICDF(30083), AOM_ICDF(31384), AOM_ICDF(32027), AOM_ICDF(32406),
2647 AOM_ICDF(32768), 0 },
2648 { AOM_ICDF(17664), AOM_ICDF(17841), AOM_ICDF(20465), AOM_ICDF(22016),
2649 AOM_ICDF(22364), AOM_ICDF(22916), AOM_ICDF(27149), AOM_ICDF(29498),
2650 AOM_ICDF(29766), AOM_ICDF(31091), AOM_ICDF(31871), AOM_ICDF(32260),
2651 AOM_ICDF(32768), 0 },
2652 { AOM_ICDF(16640), AOM_ICDF(16766), AOM_ICDF(18516), AOM_ICDF(20359),
2653 AOM_ICDF(24964), AOM_ICDF(27591), AOM_ICDF(27915), AOM_ICDF(28389),
2654 AOM_ICDF(29997), AOM_ICDF(30495), AOM_ICDF(31623), AOM_ICDF(32151),
2655 AOM_ICDF(32768), 0 },
2656 { AOM_ICDF(13952), AOM_ICDF(14173), AOM_ICDF(18168), AOM_ICDF(19139),
2657 AOM_ICDF(21064), AOM_ICDF(30601), AOM_ICDF(30889), AOM_ICDF(31410),
2658 AOM_ICDF(31803), AOM_ICDF(32059), AOM_ICDF(32358), AOM_ICDF(32563),
2659 AOM_ICDF(32768), 0 },
2660 { AOM_ICDF(15872), AOM_ICDF(15938), AOM_ICDF(17056), AOM_ICDF(21545),
2661 AOM_ICDF(23947), AOM_ICDF(24667), AOM_ICDF(24920), AOM_ICDF(25196),
2662 AOM_ICDF(30638), AOM_ICDF(31229), AOM_ICDF(31968), AOM_ICDF(32284),
2663 AOM_ICDF(32768), 0 },
2664 { AOM_ICDF(16256), AOM_ICDF(16385), AOM_ICDF(17409), AOM_ICDF(23210),
2665 AOM_ICDF(23628), AOM_ICDF(24009), AOM_ICDF(24967), AOM_ICDF(25546),
2666 AOM_ICDF(26054), AOM_ICDF(31037), AOM_ICDF(31875), AOM_ICDF(32335),
2667 AOM_ICDF(32768), 0 },
2668 { AOM_ICDF(14720), AOM_ICDF(14932), AOM_ICDF(19461), AOM_ICDF(20713),
2669 AOM_ICDF(21073), AOM_ICDF(21852), AOM_ICDF(23430), AOM_ICDF(29631),
2670 AOM_ICDF(29876), AOM_ICDF(30520), AOM_ICDF(31591), AOM_ICDF(32078),
2671 AOM_ICDF(32768), 0 },
2672 { AOM_ICDF(16768), AOM_ICDF(17018), AOM_ICDF(20217), AOM_ICDF(22624),
2673 AOM_ICDF(23484), AOM_ICDF(23698), AOM_ICDF(24300), AOM_ICDF(25193),
2674 AOM_ICDF(25785), AOM_ICDF(26903), AOM_ICDF(29835), AOM_ICDF(31187),
2675 AOM_ICDF(32768), 0 },
2676 { AOM_ICDF(16768), AOM_ICDF(17081), AOM_ICDF(21064), AOM_ICDF(23339),
2677 AOM_ICDF(24047), AOM_ICDF(24264), AOM_ICDF(24829), AOM_ICDF(25759),
2678 AOM_ICDF(26224), AOM_ICDF(27119), AOM_ICDF(29833), AOM_ICDF(31599),
2679 AOM_ICDF(32768), 0 },
2680 { AOM_ICDF(17536), AOM_ICDF(17774), AOM_ICDF(20293), AOM_ICDF(23203),
2681 AOM_ICDF(23906), AOM_ICDF(24094), AOM_ICDF(24636), AOM_ICDF(25303),
2682 AOM_ICDF(26003), AOM_ICDF(27271), AOM_ICDF(29912), AOM_ICDF(30927),
2683 AOM_ICDF(32768), 0 },
2684 { AOM_ICDF(17536), AOM_ICDF(18250), AOM_ICDF(23467), AOM_ICDF(27840),
2685 AOM_ICDF(28058), AOM_ICDF(28626), AOM_ICDF(28853), AOM_ICDF(29541),
2686 AOM_ICDF(29907), AOM_ICDF(30600), AOM_ICDF(31515), AOM_ICDF(32049),
2687 AOM_ICDF(32768), 0 },
2688 };
2689#else // !CONFIG_SMOOTH_HV
Urvang Joshi63234542017-03-10 12:04:03 -08002690static const aom_cdf_prob
2691 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002692 { AOM_ICDF(11264), AOM_ICDF(12608), AOM_ICDF(16309), AOM_ICDF(21086),
2693 AOM_ICDF(23297), AOM_ICDF(24860), AOM_ICDF(27022), AOM_ICDF(28099),
2694 AOM_ICDF(29631), AOM_ICDF(31126), AOM_ICDF(32768), 0 },
2695 { AOM_ICDF(9600), AOM_ICDF(11953), AOM_ICDF(16100), AOM_ICDF(20922),
2696 AOM_ICDF(22756), AOM_ICDF(23913), AOM_ICDF(25435), AOM_ICDF(26724),
2697 AOM_ICDF(28046), AOM_ICDF(29927), AOM_ICDF(32768), 0 },
2698 { AOM_ICDF(9344), AOM_ICDF(11540), AOM_ICDF(16515), AOM_ICDF(21763),
2699 AOM_ICDF(23078), AOM_ICDF(23816), AOM_ICDF(24725), AOM_ICDF(25856),
2700 AOM_ICDF(26720), AOM_ICDF(28208), AOM_ICDF(32768), 0 },
2701 { AOM_ICDF(12288), AOM_ICDF(14448), AOM_ICDF(18026), AOM_ICDF(23346),
2702 AOM_ICDF(23833), AOM_ICDF(24188), AOM_ICDF(24724), AOM_ICDF(25415),
2703 AOM_ICDF(25817), AOM_ICDF(26876), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08002704 };
2705
2706static const aom_cdf_prob
2707 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002708 { AOM_ICDF(25472), AOM_ICDF(25558), AOM_ICDF(27783), AOM_ICDF(30779),
2709 AOM_ICDF(30988), AOM_ICDF(31269), AOM_ICDF(31492), AOM_ICDF(31741),
2710 AOM_ICDF(32014), AOM_ICDF(32420), AOM_ICDF(32768), 0 },
2711 { AOM_ICDF(2176), AOM_ICDF(2415), AOM_ICDF(28381), AOM_ICDF(29574),
2712 AOM_ICDF(29832), AOM_ICDF(30712), AOM_ICDF(30881), AOM_ICDF(31662),
2713 AOM_ICDF(31761), AOM_ICDF(31922), AOM_ICDF(32768), 0 },
2714 { AOM_ICDF(3328), AOM_ICDF(3443), AOM_ICDF(4016), AOM_ICDF(31099),
2715 AOM_ICDF(31272), AOM_ICDF(31420), AOM_ICDF(31504), AOM_ICDF(31608),
2716 AOM_ICDF(31916), AOM_ICDF(32598), AOM_ICDF(32768), 0 },
2717 { AOM_ICDF(23424), AOM_ICDF(23534), AOM_ICDF(25915), AOM_ICDF(27831),
2718 AOM_ICDF(28058), AOM_ICDF(28431), AOM_ICDF(30142), AOM_ICDF(31209),
2719 AOM_ICDF(31459), AOM_ICDF(32369), AOM_ICDF(32768), 0 },
2720 { AOM_ICDF(22784), AOM_ICDF(22862), AOM_ICDF(24255), AOM_ICDF(26287),
2721 AOM_ICDF(28490), AOM_ICDF(29509), AOM_ICDF(29776), AOM_ICDF(30115),
2722 AOM_ICDF(31203), AOM_ICDF(31674), AOM_ICDF(32768), 0 },
2723 { AOM_ICDF(19712), AOM_ICDF(19865), AOM_ICDF(23141), AOM_ICDF(24428),
2724 AOM_ICDF(25731), AOM_ICDF(31377), AOM_ICDF(31622), AOM_ICDF(32047),
2725 AOM_ICDF(32458), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
2726 { AOM_ICDF(21376), AOM_ICDF(21421), AOM_ICDF(22130), AOM_ICDF(27688),
2727 AOM_ICDF(28485), AOM_ICDF(28779), AOM_ICDF(28935), AOM_ICDF(29085),
2728 AOM_ICDF(31962), AOM_ICDF(32450), AOM_ICDF(32768), 0 },
2729 { AOM_ICDF(19712), AOM_ICDF(19814), AOM_ICDF(20725), AOM_ICDF(28510),
2730 AOM_ICDF(28814), AOM_ICDF(29099), AOM_ICDF(29457), AOM_ICDF(29729),
2731 AOM_ICDF(30133), AOM_ICDF(32408), AOM_ICDF(32768), 0 },
2732 { AOM_ICDF(19584), AOM_ICDF(19790), AOM_ICDF(23643), AOM_ICDF(25501),
2733 AOM_ICDF(25913), AOM_ICDF(26673), AOM_ICDF(27578), AOM_ICDF(30923),
2734 AOM_ICDF(31255), AOM_ICDF(31870), AOM_ICDF(32768), 0 },
2735 { AOM_ICDF(20864), AOM_ICDF(21004), AOM_ICDF(24129), AOM_ICDF(26308),
2736 AOM_ICDF(27062), AOM_ICDF(27065), AOM_ICDF(27488), AOM_ICDF(28045),
2737 AOM_ICDF(28506), AOM_ICDF(29272), AOM_ICDF(32768), 0 },
2738 { AOM_ICDF(23680), AOM_ICDF(23929), AOM_ICDF(27831), AOM_ICDF(30446),
2739 AOM_ICDF(30598), AOM_ICDF(31129), AOM_ICDF(31244), AOM_ICDF(31655),
2740 AOM_ICDF(31868), AOM_ICDF(32234), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08002741 };
Urvang Joshie6ca8e82017-03-15 14:57:41 -07002742#endif // CONFIG_SMOOTH_HV
Zoe Liu7f24e1b2017-03-17 17:42:05 -07002743#else // !CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002744static const aom_cdf_prob
2745 default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
2746 { AOM_ICDF(8320), AOM_ICDF(11376), AOM_ICDF(12880), AOM_ICDF(19959),
2747 AOM_ICDF(23072), AOM_ICDF(24067), AOM_ICDF(25461), AOM_ICDF(26917),
2748 AOM_ICDF(29157), AOM_ICDF(32768), 0 },
2749 { AOM_ICDF(16896), AOM_ICDF(21112), AOM_ICDF(21932), AOM_ICDF(27852),
2750 AOM_ICDF(28667), AOM_ICDF(28916), AOM_ICDF(29593), AOM_ICDF(30089),
2751 AOM_ICDF(30905), AOM_ICDF(32768), 0 },
2752 { AOM_ICDF(22144), AOM_ICDF(25464), AOM_ICDF(26006), AOM_ICDF(30364),
2753 AOM_ICDF(30583), AOM_ICDF(30655), AOM_ICDF(31183), AOM_ICDF(31400),
2754 AOM_ICDF(31646), AOM_ICDF(32768), 0 },
2755 { AOM_ICDF(28288), AOM_ICDF(30650), AOM_ICDF(30964), AOM_ICDF(32288),
2756 AOM_ICDF(32308), AOM_ICDF(32331), AOM_ICDF(32495), AOM_ICDF(32586),
2757 AOM_ICDF(32607), AOM_ICDF(32768), 0 },
2758 };
Thomas Davies1d7db722017-02-22 11:15:00 +00002759
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002760static const aom_cdf_prob
2761 default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
2762 { AOM_ICDF(15360), AOM_ICDF(15836), AOM_ICDF(20863), AOM_ICDF(27513),
2763 AOM_ICDF(28269), AOM_ICDF(29048), AOM_ICDF(29455), AOM_ICDF(30154),
2764 AOM_ICDF(31206), AOM_ICDF(32768), 0 },
2765 { AOM_ICDF(6144), AOM_ICDF(7392), AOM_ICDF(22657), AOM_ICDF(25981),
2766 AOM_ICDF(26965), AOM_ICDF(28779), AOM_ICDF(29309), AOM_ICDF(30890),
2767 AOM_ICDF(31763), AOM_ICDF(32768), 0 },
2768 { AOM_ICDF(8576), AOM_ICDF(9143), AOM_ICDF(11450), AOM_ICDF(27575),
2769 AOM_ICDF(28108), AOM_ICDF(28438), AOM_ICDF(28658), AOM_ICDF(28995),
2770 AOM_ICDF(30410), AOM_ICDF(32768), 0 },
2771 { AOM_ICDF(12416), AOM_ICDF(12814), AOM_ICDF(16244), AOM_ICDF(22057),
2772 AOM_ICDF(23492), AOM_ICDF(24700), AOM_ICDF(26213), AOM_ICDF(27954),
2773 AOM_ICDF(29778), AOM_ICDF(32768), 0 },
2774 { AOM_ICDF(10624), AOM_ICDF(11057), AOM_ICDF(14619), AOM_ICDF(19415),
2775 AOM_ICDF(23134), AOM_ICDF(25679), AOM_ICDF(26399), AOM_ICDF(27618),
2776 AOM_ICDF(30676), AOM_ICDF(32768), 0 },
2777 { AOM_ICDF(10240), AOM_ICDF(10680), AOM_ICDF(15684), AOM_ICDF(19118),
2778 AOM_ICDF(21856), AOM_ICDF(27563), AOM_ICDF(28234), AOM_ICDF(29332),
2779 AOM_ICDF(31278), AOM_ICDF(32768), 0 },
2780 { AOM_ICDF(11008), AOM_ICDF(11433), AOM_ICDF(14100), AOM_ICDF(22522),
2781 AOM_ICDF(24365), AOM_ICDF(25330), AOM_ICDF(25737), AOM_ICDF(26341),
2782 AOM_ICDF(30433), AOM_ICDF(32768), 0 },
2783 { AOM_ICDF(10880), AOM_ICDF(11308), AOM_ICDF(13991), AOM_ICDF(23645),
2784 AOM_ICDF(24679), AOM_ICDF(25433), AOM_ICDF(25977), AOM_ICDF(26746),
2785 AOM_ICDF(28463), AOM_ICDF(32768), 0 },
2786 { AOM_ICDF(9856), AOM_ICDF(10483), AOM_ICDF(16054), AOM_ICDF(19959),
2787 AOM_ICDF(21708), AOM_ICDF(23628), AOM_ICDF(24949), AOM_ICDF(28797),
2788 AOM_ICDF(30658), AOM_ICDF(32768), 0 },
2789 { AOM_ICDF(12928), AOM_ICDF(14556), AOM_ICDF(22168), AOM_ICDF(27789),
2790 AOM_ICDF(28543), AOM_ICDF(29663), AOM_ICDF(29893), AOM_ICDF(30645),
2791 AOM_ICDF(31682), AOM_ICDF(32768), 0 },
2792 };
Urvang Joshi63234542017-03-10 12:04:03 -08002793#endif // CONFIG_ALT_INTRA
Thomas Davies1d7db722017-02-22 11:15:00 +00002794
Alex Converse57795a42017-03-14 12:18:25 -07002795#if CONFIG_EXT_PARTITION_TYPES
2796static const aom_cdf_prob
2797 default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(EXT_PARTITION_TYPES)] = {
2798 // 8x8 -> 4x4 only supports the four legacy partition types
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002799 { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002800 0, 0, 0, 0, 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002801 { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002802 0, 0, 0, 0, 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002803 { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002804 0, 0, 0, 0, 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002805 { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0,
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002806 0, 0, 0, 0, 0, 0 },
2807 // 16x16 -> 8x8
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002808 { AOM_ICDF(22272), AOM_ICDF(23768), AOM_ICDF(25043), AOM_ICDF(29996),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002809 AOM_ICDF(30744), AOM_ICDF(31493), AOM_ICDF(32130), AOM_ICDF(32768), 0,
2810 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002811 { AOM_ICDF(11776), AOM_ICDF(13457), AOM_ICDF(16315), AOM_ICDF(28229),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002812 AOM_ICDF(29069), AOM_ICDF(29910), AOM_ICDF(31339), AOM_ICDF(32768), 0,
2813 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002814 { AOM_ICDF(10496), AOM_ICDF(14802), AOM_ICDF(16136), AOM_ICDF(27127),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002815 AOM_ICDF(29280), AOM_ICDF(31434), AOM_ICDF(32101), AOM_ICDF(32768), 0,
2816 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002817 { AOM_ICDF(6784), AOM_ICDF(8763), AOM_ICDF(10440), AOM_ICDF(29110),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002818 AOM_ICDF(30100), AOM_ICDF(31090), AOM_ICDF(31929), AOM_ICDF(32768), 0,
2819 0, 0 },
2820 // 32x32 -> 16x16
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002821 { AOM_ICDF(22656), AOM_ICDF(23801), AOM_ICDF(24702), AOM_ICDF(30721),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002822 AOM_ICDF(31103), AOM_ICDF(31485), AOM_ICDF(31785), AOM_ICDF(32085),
2823 AOM_ICDF(32467), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002824 { AOM_ICDF(8704), AOM_ICDF(9926), AOM_ICDF(12586), AOM_ICDF(28885),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002825 AOM_ICDF(29292), AOM_ICDF(29699), AOM_ICDF(30586), AOM_ICDF(31473),
2826 AOM_ICDF(31881), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002827 { AOM_ICDF(6656), AOM_ICDF(10685), AOM_ICDF(11566), AOM_ICDF(27857),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002828 AOM_ICDF(29200), AOM_ICDF(30543), AOM_ICDF(30837), AOM_ICDF(31131),
2829 AOM_ICDF(32474), AOM_ICDF(32768), 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002830 { AOM_ICDF(2176), AOM_ICDF(3012), AOM_ICDF(3690), AOM_ICDF(31253),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002831 AOM_ICDF(31532), AOM_ICDF(31811), AOM_ICDF(32037), AOM_ICDF(32263),
2832 AOM_ICDF(32542), AOM_ICDF(32768), 0 },
2833 // 64x64 -> 32x32
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002834 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002835 AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32657), AOM_ICDF(32768), 0,
2836 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002837 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002838 AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(31819), AOM_ICDF(32768), 0,
2839 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002840 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002841 AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32508), AOM_ICDF(32768), 0,
2842 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002843 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002844 AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32588), AOM_ICDF(32768), 0,
2845 0, 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002846#if CONFIG_EXT_PARTITION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002847 // 128x128 -> 64x64
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002848 { AOM_ICDF(28416), AOM_ICDF(28705), AOM_ICDF(28926), AOM_ICDF(32258),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002849 AOM_ICDF(32402), AOM_ICDF(32547), AOM_ICDF(32548), AOM_ICDF(32768), 0,
2850 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002851 { AOM_ICDF(9216), AOM_ICDF(9952), AOM_ICDF(11849), AOM_ICDF(30134),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002852 AOM_ICDF(30502), AOM_ICDF(30870), AOM_ICDF(30871), AOM_ICDF(32768), 0,
2853 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002854 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(9528), AOM_ICDF(30664),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002855 AOM_ICDF(31456), AOM_ICDF(32248), AOM_ICDF(32249), AOM_ICDF(32768), 0,
2856 0, 0 },
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002857 { AOM_ICDF(1280), AOM_ICDF(1710), AOM_ICDF(2069), AOM_ICDF(31978),
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01002858 AOM_ICDF(32193), AOM_ICDF(32409), AOM_ICDF(32410), AOM_ICDF(32768), 0,
2859 0, 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002860#endif
2861 };
2862#else
Thomas Davies1d7db722017-02-22 11:15:00 +00002863static const aom_cdf_prob
2864 default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(PARTITION_TYPES)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002865 { AOM_ICDF(25472), AOM_ICDF(28949), AOM_ICDF(31052), AOM_ICDF(32768), 0 },
2866 { AOM_ICDF(18816), AOM_ICDF(22250), AOM_ICDF(28783), AOM_ICDF(32768), 0 },
2867 { AOM_ICDF(18944), AOM_ICDF(26126), AOM_ICDF(29188), AOM_ICDF(32768), 0 },
2868 { AOM_ICDF(15488), AOM_ICDF(22508), AOM_ICDF(27077), AOM_ICDF(32768), 0 },
2869 { AOM_ICDF(22272), AOM_ICDF(25265), AOM_ICDF(27815), AOM_ICDF(32768), 0 },
2870 { AOM_ICDF(11776), AOM_ICDF(15138), AOM_ICDF(20854), AOM_ICDF(32768), 0 },
2871 { AOM_ICDF(10496), AOM_ICDF(19109), AOM_ICDF(21777), AOM_ICDF(32768), 0 },
2872 { AOM_ICDF(6784), AOM_ICDF(10743), AOM_ICDF(14098), AOM_ICDF(32768), 0 },
2873 { AOM_ICDF(22656), AOM_ICDF(24947), AOM_ICDF(26749), AOM_ICDF(32768), 0 },
2874 { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(16469), AOM_ICDF(32768), 0 },
2875 { AOM_ICDF(6656), AOM_ICDF(14714), AOM_ICDF(16477), AOM_ICDF(32768), 0 },
2876 { AOM_ICDF(2176), AOM_ICDF(3849), AOM_ICDF(5205), AOM_ICDF(32768), 0 },
2877 { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
2878 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
2879 { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
2880 { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002881#if CONFIG_EXT_PARTITION
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07002882 { AOM_ICDF(28416), AOM_ICDF(28994), AOM_ICDF(29436), AOM_ICDF(32768), 0 },
2883 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(14483), AOM_ICDF(32768), 0 },
2884 { AOM_ICDF(7424), AOM_ICDF(10592), AOM_ICDF(11632), AOM_ICDF(32768), 0 },
2885 { AOM_ICDF(1280), AOM_ICDF(2141), AOM_ICDF(2859), AOM_ICDF(32768), 0 },
Alex Converse57795a42017-03-14 12:18:25 -07002886#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00002887 };
Alex Converse57795a42017-03-14 12:18:25 -07002888#endif
Thomas Davies1d7db722017-02-22 11:15:00 +00002889
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002890#if CONFIG_EXT_TX
2891static const aom_cdf_prob default_intra_ext_tx_cdf
2892 [EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES][CDF_SIZE(TX_TYPES)] = {
2893 {
2894// FIXME: unused zero positions, from uncoded trivial transform set
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07002895#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002896 {
2897 { 0 },
2898 },
2899#endif
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002900 {
2901 { 0 },
2902 { 0 },
2903 { 0 },
2904 { 0 },
2905 { 0 },
2906 { 0 },
2907 { 0 },
2908 { 0 },
2909 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002910#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002911 { 0 },
2912#if CONFIG_SMOOTH_HV
2913 { 0 },
2914 { 0 },
2915#endif // CONFIG_SMOOTH_HV
2916#endif // CONFIG_ALT_INTRA
2917 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002918 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002919 {
2920 { 0 },
2921 { 0 },
2922 { 0 },
2923 { 0 },
2924 { 0 },
2925 { 0 },
2926 { 0 },
2927 { 0 },
2928 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002929#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002930 { 0 },
2931#if CONFIG_SMOOTH_HV
2932 { 0 },
2933 { 0 },
2934#endif // CONFIG_SMOOTH_HV
2935#endif // CONFIG_ALT_INTRA
2936 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002937 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002938 {
2939 { 0 },
2940 { 0 },
2941 { 0 },
2942 { 0 },
2943 { 0 },
2944 { 0 },
2945 { 0 },
2946 { 0 },
2947 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002948#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002949 { 0 },
2950#if CONFIG_SMOOTH_HV
2951 { 0 },
2952 { 0 },
2953#endif // CONFIG_SMOOTH_HV
2954#endif // CONFIG_ALT_INTRA
2955 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002956 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002957 {
2958 { 0 },
2959 { 0 },
2960 { 0 },
2961 { 0 },
2962 { 0 },
2963 { 0 },
2964 { 0 },
2965 { 0 },
2966 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002967#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002968 { 0 },
2969#if CONFIG_SMOOTH_HV
2970 { 0 },
2971 { 0 },
2972#endif // CONFIG_SMOOTH_HV
2973#endif // CONFIG_ALT_INTRA
2974 { 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002975 },
2976 },
2977 {
Urvang Joshib44bc0d2017-05-22 16:10:09 -07002978 {
2979 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
2980 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
2981 AOM_ICDF(32768), 0 },
2982 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2983 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2984 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2985 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2986 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
2987 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
2988 AOM_ICDF(32768), 0 },
2989 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
2990 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
2991 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2992 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
2993 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
2994 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
2995 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2996 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
2997 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
2998 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00002999#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003000 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3001 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3002#if CONFIG_SMOOTH_HV
3003 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3004 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3005 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3006 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3007#endif // CONFIG_SMOOTH_HV
3008#endif // CONFIG_ALT_INTRA
3009 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3010 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003011 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003012 {
3013 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3014 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3015 AOM_ICDF(32768), 0 },
3016 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3017 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3018 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3019 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3020 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3021 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3022 AOM_ICDF(32768), 0 },
3023 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3024 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3025 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3026 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3027 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3028 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3029 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3030 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3031 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3032 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003033#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003034 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3035 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3036#if CONFIG_SMOOTH_HV
3037 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3038 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3039 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3040 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3041#endif // CONFIG_SMOOTH_HV
3042#endif // CONFIG_ALT_INTRA
3043 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3044 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003045 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003046 {
3047 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3048 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3049 AOM_ICDF(32768), 0 },
3050 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3051 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3052 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3053 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3054 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3055 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3056 AOM_ICDF(32768), 0 },
3057 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3058 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3059 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3060 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3061 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3062 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3063 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3064 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3065 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3066 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003067#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003068 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3069 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3070#if CONFIG_SMOOTH_HV
3071 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3072 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3073 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3074 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3075#endif // CONFIG_SMOOTH_HV
3076#endif // CONFIG_ALT_INTRA
3077 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3078 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003079 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003080 {
3081 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29048),
3082 AOM_ICDF(29296), AOM_ICDF(30164), AOM_ICDF(31466),
3083 AOM_ICDF(32768), 0 },
3084 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3085 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3086 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3087 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3088 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(26284),
3089 AOM_ICDF(26717), AOM_ICDF(28230), AOM_ICDF(30499),
3090 AOM_ICDF(32768), 0 },
3091 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(3938), AOM_ICDF(5860),
3092 AOM_ICDF(29404), AOM_ICDF(31086), AOM_ICDF(32768), 0 },
3093 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3094 AOM_ICDF(10167), AOM_ICDF(27118), AOM_ICDF(32768), 0 },
3095 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3096 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3097 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3098 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
3099 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(5900), AOM_ICDF(7691),
3100 AOM_ICDF(15528), AOM_ICDF(27380), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003101#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003102 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3103 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3104#if CONFIG_SMOOTH_HV
3105 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3106 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3107 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3108 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
3109#endif // CONFIG_SMOOTH_HV
3110#endif // CONFIG_ALT_INTRA
3111 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(8660),
3112 AOM_ICDF(10167), AOM_ICDF(15817), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003113 },
3114 },
3115 {
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003116 {
3117 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3118 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3119 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3120 AOM_ICDF(32768), 0 },
3121 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3122 AOM_ICDF(32768), 0 },
3123 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3124 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3125 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3126 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
3127 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3128 AOM_ICDF(32768), 0 },
3129 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3130 AOM_ICDF(32768), 0 },
3131 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3132 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3133 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3134 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003135#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003136 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3137 AOM_ICDF(32768), 0 },
3138#if CONFIG_SMOOTH_HV
3139 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3140 AOM_ICDF(32768), 0 },
3141 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3142 AOM_ICDF(32768), 0 },
3143#endif // CONFIG_SMOOTH_HV
3144#endif // CONFIG_ALT_INTRA
3145 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3146 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003147 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003148 {
3149 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3150 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3151 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3152 AOM_ICDF(32768), 0 },
3153 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3154 AOM_ICDF(32768), 0 },
3155 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3156 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3157 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3158 AOM_ICDF(30846), 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(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3164 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3165 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3166 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003167#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003168 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3169 AOM_ICDF(32768), 0 },
3170#if CONFIG_SMOOTH_HV
3171 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3172 AOM_ICDF(32768), 0 },
3173 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3174 AOM_ICDF(32768), 0 },
3175#endif // CONFIG_SMOOTH_HV
3176#endif // CONFIG_ALT_INTRA
3177 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3178 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003179 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003180 {
3181 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3182 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3183 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3184 AOM_ICDF(32768), 0 },
3185 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3186 AOM_ICDF(32768), 0 },
3187 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3188 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3189 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3190 AOM_ICDF(30846), 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(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3196 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3197 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3198 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003199#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003200 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3201 AOM_ICDF(32768), 0 },
3202#if CONFIG_SMOOTH_HV
3203 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3204 AOM_ICDF(32768), 0 },
3205 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3206 AOM_ICDF(32768), 0 },
3207#endif // CONFIG_SMOOTH_HV
3208#endif // CONFIG_ALT_INTRA
3209 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3210 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003211 },
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003212 {
3213 { AOM_ICDF(1024), AOM_ICDF(28800), AOM_ICDF(29792),
3214 AOM_ICDF(31280), AOM_ICDF(32768), 0 },
3215 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(26310),
3216 AOM_ICDF(32768), 0 },
3217 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3218 AOM_ICDF(32768), 0 },
3219 { AOM_ICDF(1152), AOM_ICDF(25852), AOM_ICDF(27581),
3220 AOM_ICDF(30174), AOM_ICDF(32768), 0 },
3221 { AOM_ICDF(1024), AOM_ICDF(2016), AOM_ICDF(28924),
3222 AOM_ICDF(30846), 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(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3228 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
3229 { AOM_ICDF(1280), AOM_ICDF(4109), AOM_ICDF(13065),
3230 AOM_ICDF(26611), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003231#if CONFIG_ALT_INTRA
Urvang Joshib44bc0d2017-05-22 16:10:09 -07003232 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3233 AOM_ICDF(32768), 0 },
3234#if CONFIG_SMOOTH_HV
3235 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3236 AOM_ICDF(32768), 0 },
3237 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3238 AOM_ICDF(32768), 0 },
3239#endif // CONFIG_SMOOTH_HV
3240#endif // CONFIG_ALT_INTRA
3241 { AOM_ICDF(1280), AOM_ICDF(5216), AOM_ICDF(6938), AOM_ICDF(13396),
3242 AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003243 },
3244 }
3245 };
3246static const aom_cdf_prob
3247 default_inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES][CDF_SIZE(
3248 TX_TYPES)] = {
3249 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003250#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003251 { 0 },
3252#endif
3253 { 0 },
3254 { 0 },
3255 { 0 },
3256 { 0 } },
3257 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003258#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003259 { 0 },
3260#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003261 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3262 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3263 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3264 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3265 0 },
3266 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3267 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3268 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3269 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3270 0 },
3271 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3272 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3273 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3274 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3275 0 },
3276 { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
3277 AOM_ICDF(2929), AOM_ICDF(3580), AOM_ICDF(4232), AOM_ICDF(16717),
3278 AOM_ICDF(19225), AOM_ICDF(21733), AOM_ICDF(24241), AOM_ICDF(26749),
3279 AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
3280 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003281 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003282#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003283 { 0 },
3284#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003285 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3286 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3287 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3288 0 },
3289 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3290 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3291 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3292 0 },
3293 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3294 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3295 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3296 0 },
3297 { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
3298 AOM_ICDF(19575), AOM_ICDF(22018), AOM_ICDF(24461), AOM_ICDF(26904),
3299 AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
3300 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003301 {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003302#if CONFIG_CHROMA_2X2
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003303 { 0 },
3304#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003305 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3306 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3307 { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
3308 { AOM_ICDF(1536), AOM_ICDF(32768), 0 } }
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003309 };
3310#else
Thomas Davies1d7db722017-02-22 11:15:00 +00003311static const aom_cdf_prob
3312 default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003313#if CONFIG_CHROMA_2X2
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003314 { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
3315 0 },
3316 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
3317 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
3318 { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
3319 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003320#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003321 { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
3322 0 },
3323 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
3324 { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
3325 { AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
3326 0 } },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003327
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003328 { { AOM_ICDF(31232), AOM_ICDF(31742), AOM_ICDF(32255), AOM_ICDF(32768),
3329 0 },
3330 { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(31784), AOM_ICDF(32768), 0 },
3331 { AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(2256), AOM_ICDF(32768), 0 },
3332 { AOM_ICDF(1024), AOM_ICDF(31776), AOM_ICDF(32272), AOM_ICDF(32768),
3333 0 } },
3334 { { AOM_ICDF(31744), AOM_ICDF(32084), AOM_ICDF(32426), AOM_ICDF(32768),
3335 0 },
3336 { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(31823), AOM_ICDF(32768), 0 },
3337 { AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(3473), AOM_ICDF(32768), 0 },
3338 { AOM_ICDF(2048), AOM_ICDF(31808), AOM_ICDF(32288), AOM_ICDF(32768),
3339 0 } },
Thomas Davies1d7db722017-02-22 11:15:00 +00003340 };
3341
3342static const aom_cdf_prob
3343 default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
Timothy B. Terriberryfe67ed62017-04-26 16:53:47 -07003344#if CONFIG_CHROMA_2X2
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003345 { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
Thomas Daviesb1bedf52017-03-17 14:03:28 +00003346#endif
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003347 { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
3348 { AOM_ICDF(22528), AOM_ICDF(25928), AOM_ICDF(29348), AOM_ICDF(32768), 0 },
3349 { AOM_ICDF(24576), AOM_ICDF(27296), AOM_ICDF(30032), AOM_ICDF(32768), 0 },
Thomas Davies1d7db722017-02-22 11:15:00 +00003350 };
hui sub4e25d22017-03-09 15:32:30 -08003351#endif // !CONFIG_EXT_TX
3352
3353#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
3354static const aom_cdf_prob
3355 default_intra_filter_cdf[INTRA_FILTERS + 1][CDF_SIZE(INTRA_FILTERS)] = {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07003356 { AOM_ICDF(12544), AOM_ICDF(17521), AOM_ICDF(21095), AOM_ICDF(32768), 0 },
3357 { AOM_ICDF(12544), AOM_ICDF(19022), AOM_ICDF(23318), AOM_ICDF(32768), 0 },
3358 { AOM_ICDF(12032), AOM_ICDF(17297), AOM_ICDF(23522), AOM_ICDF(32768), 0 },
3359 { AOM_ICDF(6272), AOM_ICDF(8860), AOM_ICDF(11101), AOM_ICDF(32768), 0 },
3360 { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(16629), AOM_ICDF(32768), 0 },
hui sub4e25d22017-03-09 15:32:30 -08003361 };
3362#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies1d7db722017-02-22 11:15:00 +00003363
Luc Trudeauf5334002017-04-25 12:21:26 -04003364#if CONFIG_CFL
Luc Trudeaue21c0812017-05-10 13:53:33 -04003365static const aom_cdf_prob default_cfl_alpha_cdf[CDF_SIZE(CFL_ALPHABET_SIZE)] = {
David Michael Barrc854bac2017-06-16 00:56:37 +09003366 AOM_ICDF(20492), AOM_ICDF(24094), AOM_ICDF(25679), AOM_ICDF(27242),
3367 AOM_ICDF(28286), AOM_ICDF(29153), AOM_ICDF(29807), AOM_ICDF(30352),
3368 AOM_ICDF(30866), AOM_ICDF(31295), AOM_ICDF(31703), AOM_ICDF(32046),
3369 AOM_ICDF(32317), AOM_ICDF(32534), AOM_ICDF(32663), AOM_ICDF(32768)
Luc Trudeauf5334002017-04-25 12:21:26 -04003370};
3371#endif
3372
Thomas Davies1d7db722017-02-22 11:15:00 +00003373// CDF version of 'av1_kf_y_mode_prob'.
Urvang Joshi63234542017-03-10 12:04:03 -08003374const aom_cdf_prob
3375 av1_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
3376#if CONFIG_ALT_INTRA
Urvang Joshie6ca8e82017-03-15 14:57:41 -07003377#if CONFIG_SMOOTH_HV
3378 {
3379 { AOM_ICDF(14208), AOM_ICDF(16238), AOM_ICDF(19079), AOM_ICDF(22512),
3380 AOM_ICDF(23632), AOM_ICDF(24373), AOM_ICDF(25291), AOM_ICDF(26109),
3381 AOM_ICDF(26811), AOM_ICDF(27858), AOM_ICDF(30428), AOM_ICDF(31424),
3382 AOM_ICDF(32768), 0 },
3383 { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(20992), AOM_ICDF(22569),
3384 AOM_ICDF(23557), AOM_ICDF(24442), AOM_ICDF(25515), AOM_ICDF(26478),
3385 AOM_ICDF(26994), AOM_ICDF(27693), AOM_ICDF(30349), AOM_ICDF(31757),
3386 AOM_ICDF(32768), 0 },
3387 { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(9593), AOM_ICDF(22972),
3388 AOM_ICDF(23813), AOM_ICDF(24168), AOM_ICDF(24638), AOM_ICDF(25019),
3389 AOM_ICDF(26048), AOM_ICDF(27413), AOM_ICDF(30090), AOM_ICDF(30812),
3390 AOM_ICDF(32768), 0 },
3391 { AOM_ICDF(12544), AOM_ICDF(14045), AOM_ICDF(16678), AOM_ICDF(19167),
3392 AOM_ICDF(20459), AOM_ICDF(21329), AOM_ICDF(23518), AOM_ICDF(24783),
3393 AOM_ICDF(25563), AOM_ICDF(27280), AOM_ICDF(30217), AOM_ICDF(31273),
3394 AOM_ICDF(32768), 0 },
3395 { AOM_ICDF(7552), AOM_ICDF(8636), AOM_ICDF(10993), AOM_ICDF(12992),
3396 AOM_ICDF(18616), AOM_ICDF(21880), AOM_ICDF(23113), AOM_ICDF(23867),
3397 AOM_ICDF(25710), AOM_ICDF(26758), AOM_ICDF(30115), AOM_ICDF(31328),
3398 AOM_ICDF(32768), 0 },
3399 { AOM_ICDF(11008), AOM_ICDF(12708), AOM_ICDF(16704), AOM_ICDF(18234),
3400 AOM_ICDF(21591), AOM_ICDF(26744), AOM_ICDF(28368), AOM_ICDF(30104),
3401 AOM_ICDF(31270), AOM_ICDF(32171), AOM_ICDF(32539), AOM_ICDF(32669),
3402 AOM_ICDF(32768), 0 },
3403 { AOM_ICDF(6272), AOM_ICDF(7307), AOM_ICDF(8998), AOM_ICDF(12979),
3404 AOM_ICDF(18143), AOM_ICDF(19397), AOM_ICDF(20233), AOM_ICDF(20772),
3405 AOM_ICDF(25645), AOM_ICDF(26869), AOM_ICDF(30049), AOM_ICDF(30984),
3406 AOM_ICDF(32768), 0 },
3407 { AOM_ICDF(8192), AOM_ICDF(9536), AOM_ICDF(11533), AOM_ICDF(15940),
3408 AOM_ICDF(17403), AOM_ICDF(18169), AOM_ICDF(19253), AOM_ICDF(20045),
3409 AOM_ICDF(21337), AOM_ICDF(25847), AOM_ICDF(29551), AOM_ICDF(30682),
3410 AOM_ICDF(32768), 0 },
3411 { AOM_ICDF(10752), AOM_ICDF(12558), AOM_ICDF(15005), AOM_ICDF(16854),
3412 AOM_ICDF(18148), AOM_ICDF(19307), AOM_ICDF(21410), AOM_ICDF(23939),
3413 AOM_ICDF(24698), AOM_ICDF(26117), AOM_ICDF(29832), AOM_ICDF(31323),
3414 AOM_ICDF(32768), 0 },
3415 { AOM_ICDF(7424), AOM_ICDF(9008), AOM_ICDF(11885), AOM_ICDF(14829),
3416 AOM_ICDF(16543), AOM_ICDF(16779), AOM_ICDF(17841), AOM_ICDF(19182),
3417 AOM_ICDF(20190), AOM_ICDF(21664), AOM_ICDF(27650), AOM_ICDF(29909),
3418 AOM_ICDF(32768), 0 },
3419 { AOM_ICDF(6528), AOM_ICDF(8476), AOM_ICDF(12841), AOM_ICDF(15721),
3420 AOM_ICDF(17437), AOM_ICDF(17823), AOM_ICDF(18874), AOM_ICDF(20394),
3421 AOM_ICDF(21216), AOM_ICDF(22344), AOM_ICDF(27922), AOM_ICDF(30743),
3422 AOM_ICDF(32768), 0 },
3423 { AOM_ICDF(8704), AOM_ICDF(10114), AOM_ICDF(12415), AOM_ICDF(15730),
3424 AOM_ICDF(17127), AOM_ICDF(17265), AOM_ICDF(18294), AOM_ICDF(19255),
3425 AOM_ICDF(20258), AOM_ICDF(21675), AOM_ICDF(27525), AOM_ICDF(29082),
3426 AOM_ICDF(32768), 0 },
3427 { AOM_ICDF(6272), AOM_ICDF(12586), AOM_ICDF(15818), AOM_ICDF(21751),
3428 AOM_ICDF(22707), AOM_ICDF(23300), AOM_ICDF(24262), AOM_ICDF(25126),
3429 AOM_ICDF(25992), AOM_ICDF(27448), AOM_ICDF(30004), AOM_ICDF(31073),
3430 AOM_ICDF(32768), 0 },
3431 },
3432 {
3433 { AOM_ICDF(3968), AOM_ICDF(6893), AOM_ICDF(20538), AOM_ICDF(22050),
3434 AOM_ICDF(22805), AOM_ICDF(24408), AOM_ICDF(24833), AOM_ICDF(26073),
3435 AOM_ICDF(26439), AOM_ICDF(26884), AOM_ICDF(29895), AOM_ICDF(31938),
3436 AOM_ICDF(32768), 0 },
3437 { AOM_ICDF(3072), AOM_ICDF(6204), AOM_ICDF(24363), AOM_ICDF(24995),
3438 AOM_ICDF(25363), AOM_ICDF(26103), AOM_ICDF(26546), AOM_ICDF(27518),
3439 AOM_ICDF(27621), AOM_ICDF(27902), AOM_ICDF(30164), AOM_ICDF(32148),
3440 AOM_ICDF(32768), 0 },
3441 { AOM_ICDF(2560), AOM_ICDF(6572), AOM_ICDF(13837), AOM_ICDF(19693),
3442 AOM_ICDF(20377), AOM_ICDF(21010), AOM_ICDF(21699), AOM_ICDF(22737),
3443 AOM_ICDF(23286), AOM_ICDF(24323), AOM_ICDF(28875), AOM_ICDF(30837),
3444 AOM_ICDF(32768), 0 },
3445 { AOM_ICDF(6912), AOM_ICDF(8831), AOM_ICDF(17059), AOM_ICDF(18404),
3446 AOM_ICDF(19221), AOM_ICDF(20434), AOM_ICDF(22313), AOM_ICDF(24151),
3447 AOM_ICDF(24420), AOM_ICDF(25855), AOM_ICDF(29474), AOM_ICDF(31623),
3448 AOM_ICDF(32768), 0 },
3449 { AOM_ICDF(2944), AOM_ICDF(4808), AOM_ICDF(14965), AOM_ICDF(15870),
3450 AOM_ICDF(18714), AOM_ICDF(21989), AOM_ICDF(22957), AOM_ICDF(24528),
3451 AOM_ICDF(25365), AOM_ICDF(26001), AOM_ICDF(29596), AOM_ICDF(31678),
3452 AOM_ICDF(32768), 0 },
3453 { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(19711), AOM_ICDF(20602),
3454 AOM_ICDF(22489), AOM_ICDF(27311), AOM_ICDF(28228), AOM_ICDF(30516),
3455 AOM_ICDF(31097), AOM_ICDF(31750), AOM_ICDF(32319), AOM_ICDF(32656),
3456 AOM_ICDF(32768), 0 },
3457 { AOM_ICDF(2944), AOM_ICDF(4925), AOM_ICDF(13952), AOM_ICDF(15490),
3458 AOM_ICDF(18397), AOM_ICDF(20200), AOM_ICDF(20986), AOM_ICDF(22367),
3459 AOM_ICDF(24967), AOM_ICDF(25820), AOM_ICDF(29755), AOM_ICDF(31473),
3460 AOM_ICDF(32768), 0 },
3461 { AOM_ICDF(4224), AOM_ICDF(6120), AOM_ICDF(14968), AOM_ICDF(17184),
3462 AOM_ICDF(18063), AOM_ICDF(19140), AOM_ICDF(20258), AOM_ICDF(21822),
3463 AOM_ICDF(22463), AOM_ICDF(24838), AOM_ICDF(28989), AOM_ICDF(31277),
3464 AOM_ICDF(32768), 0 },
3465 { AOM_ICDF(5120), AOM_ICDF(7280), AOM_ICDF(17535), AOM_ICDF(18348),
3466 AOM_ICDF(19116), AOM_ICDF(20689), AOM_ICDF(21916), AOM_ICDF(24968),
3467 AOM_ICDF(25242), AOM_ICDF(26095), AOM_ICDF(29588), AOM_ICDF(31787),
3468 AOM_ICDF(32768), 0 },
3469 { AOM_ICDF(2816), AOM_ICDF(4922), AOM_ICDF(17105), AOM_ICDF(18458),
3470 AOM_ICDF(19325), AOM_ICDF(19614), AOM_ICDF(20231), AOM_ICDF(21700),
3471 AOM_ICDF(22089), AOM_ICDF(22756), AOM_ICDF(27879), AOM_ICDF(31278),
3472 AOM_ICDF(32768), 0 },
3473 { AOM_ICDF(2560), AOM_ICDF(4920), AOM_ICDF(18518), AOM_ICDF(19680),
3474 AOM_ICDF(20386), AOM_ICDF(20689), AOM_ICDF(21208), AOM_ICDF(22472),
3475 AOM_ICDF(22754), AOM_ICDF(23223), AOM_ICDF(27809), AOM_ICDF(31664),
3476 AOM_ICDF(32768), 0 },
3477 { AOM_ICDF(3328), AOM_ICDF(5513), AOM_ICDF(17331), AOM_ICDF(19065),
3478 AOM_ICDF(19882), AOM_ICDF(20105), AOM_ICDF(20748), AOM_ICDF(22110),
3479 AOM_ICDF(22443), AOM_ICDF(23129), AOM_ICDF(28099), AOM_ICDF(30944),
3480 AOM_ICDF(32768), 0 },
3481 { AOM_ICDF(2560), AOM_ICDF(6690), AOM_ICDF(20748), AOM_ICDF(22590),
3482 AOM_ICDF(23037), AOM_ICDF(23659), AOM_ICDF(24406), AOM_ICDF(25582),
3483 AOM_ICDF(25835), AOM_ICDF(26485), AOM_ICDF(29553), AOM_ICDF(31826),
3484 AOM_ICDF(32768), 0 },
3485 },
3486 {
3487 { AOM_ICDF(11392), AOM_ICDF(13647), AOM_ICDF(15216), AOM_ICDF(23156),
3488 AOM_ICDF(24102), AOM_ICDF(24540), AOM_ICDF(25183), AOM_ICDF(25746),
3489 AOM_ICDF(26706), AOM_ICDF(28032), AOM_ICDF(30511), AOM_ICDF(31357),
3490 AOM_ICDF(32768), 0 },
3491 { AOM_ICDF(8064), AOM_ICDF(11635), AOM_ICDF(17166), AOM_ICDF(22459),
3492 AOM_ICDF(23608), AOM_ICDF(24297), AOM_ICDF(25025), AOM_ICDF(25902),
3493 AOM_ICDF(26438), AOM_ICDF(27551), AOM_ICDF(30343), AOM_ICDF(31641),
3494 AOM_ICDF(32768), 0 },
3495 { AOM_ICDF(4352), AOM_ICDF(6905), AOM_ICDF(7612), AOM_ICDF(24258),
3496 AOM_ICDF(24862), AOM_ICDF(25005), AOM_ICDF(25399), AOM_ICDF(25658),
3497 AOM_ICDF(26491), AOM_ICDF(28281), AOM_ICDF(30472), AOM_ICDF(31037),
3498 AOM_ICDF(32768), 0 },
3499 { AOM_ICDF(10752), AOM_ICDF(13246), AOM_ICDF(14771), AOM_ICDF(18965),
3500 AOM_ICDF(20132), AOM_ICDF(20606), AOM_ICDF(22411), AOM_ICDF(23422),
3501 AOM_ICDF(24663), AOM_ICDF(27386), AOM_ICDF(30203), AOM_ICDF(31265),
3502 AOM_ICDF(32768), 0 },
3503 { AOM_ICDF(8320), AOM_ICDF(10135), AOM_ICDF(11815), AOM_ICDF(15962),
3504 AOM_ICDF(19829), AOM_ICDF(21555), AOM_ICDF(22738), AOM_ICDF(23482),
3505 AOM_ICDF(25513), AOM_ICDF(27100), AOM_ICDF(30222), AOM_ICDF(31246),
3506 AOM_ICDF(32768), 0 },
3507 { AOM_ICDF(11264), AOM_ICDF(13364), AOM_ICDF(16851), AOM_ICDF(20617),
3508 AOM_ICDF(23504), AOM_ICDF(26302), AOM_ICDF(28070), AOM_ICDF(29189),
3509 AOM_ICDF(30531), AOM_ICDF(31903), AOM_ICDF(32342), AOM_ICDF(32512),
3510 AOM_ICDF(32768), 0 },
3511 { AOM_ICDF(6528), AOM_ICDF(7656), AOM_ICDF(8637), AOM_ICDF(15318),
3512 AOM_ICDF(18270), AOM_ICDF(18817), AOM_ICDF(19580), AOM_ICDF(20044),
3513 AOM_ICDF(24666), AOM_ICDF(26502), AOM_ICDF(29733), AOM_ICDF(30670),
3514 AOM_ICDF(32768), 0 },
3515 { AOM_ICDF(6784), AOM_ICDF(8307), AOM_ICDF(9167), AOM_ICDF(17476),
3516 AOM_ICDF(18366), AOM_ICDF(18663), AOM_ICDF(19765), AOM_ICDF(20425),
3517 AOM_ICDF(21534), AOM_ICDF(26888), AOM_ICDF(29989), AOM_ICDF(30857),
3518 AOM_ICDF(32768), 0 },
3519 { AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12682), AOM_ICDF(17399),
3520 AOM_ICDF(19010), AOM_ICDF(19743), AOM_ICDF(20964), AOM_ICDF(22993),
3521 AOM_ICDF(23871), AOM_ICDF(25817), AOM_ICDF(29727), AOM_ICDF(31164),
3522 AOM_ICDF(32768), 0 },
3523 { AOM_ICDF(5888), AOM_ICDF(7988), AOM_ICDF(9634), AOM_ICDF(16735),
3524 AOM_ICDF(18009), AOM_ICDF(18129), AOM_ICDF(18930), AOM_ICDF(19741),
3525 AOM_ICDF(20911), AOM_ICDF(22671), AOM_ICDF(27877), AOM_ICDF(29749),
3526 AOM_ICDF(32768), 0 },
3527 { AOM_ICDF(5248), AOM_ICDF(8151), AOM_ICDF(10267), AOM_ICDF(17761),
3528 AOM_ICDF(19077), AOM_ICDF(19232), AOM_ICDF(19919), AOM_ICDF(20772),
3529 AOM_ICDF(21615), AOM_ICDF(23140), AOM_ICDF(28142), AOM_ICDF(30618),
3530 AOM_ICDF(32768), 0 },
3531 { AOM_ICDF(6656), AOM_ICDF(8390), AOM_ICDF(9723), AOM_ICDF(17206),
3532 AOM_ICDF(18212), AOM_ICDF(18275), AOM_ICDF(19068), AOM_ICDF(19657),
3533 AOM_ICDF(20886), AOM_ICDF(22650), AOM_ICDF(27907), AOM_ICDF(29084),
3534 AOM_ICDF(32768), 0 },
3535 { AOM_ICDF(4480), AOM_ICDF(9232), AOM_ICDF(11163), AOM_ICDF(22580),
3536 AOM_ICDF(23368), AOM_ICDF(23653), AOM_ICDF(24436), AOM_ICDF(24989),
3537 AOM_ICDF(25809), AOM_ICDF(27087), AOM_ICDF(30038), AOM_ICDF(31104),
3538 AOM_ICDF(32768), 0 },
3539 },
3540 {
3541 { AOM_ICDF(10240), AOM_ICDF(11472), AOM_ICDF(14051), AOM_ICDF(16777),
3542 AOM_ICDF(18308), AOM_ICDF(19461), AOM_ICDF(22164), AOM_ICDF(24235),
3543 AOM_ICDF(25202), AOM_ICDF(26680), AOM_ICDF(29962), AOM_ICDF(31168),
3544 AOM_ICDF(32768), 0 },
3545 { AOM_ICDF(7552), AOM_ICDF(9128), AOM_ICDF(16885), AOM_ICDF(18221),
3546 AOM_ICDF(19114), AOM_ICDF(20111), AOM_ICDF(23226), AOM_ICDF(25462),
3547 AOM_ICDF(26033), AOM_ICDF(27085), AOM_ICDF(30259), AOM_ICDF(31729),
3548 AOM_ICDF(32768), 0 },
3549 { AOM_ICDF(5248), AOM_ICDF(7291), AOM_ICDF(8883), AOM_ICDF(18172),
3550 AOM_ICDF(19301), AOM_ICDF(19892), AOM_ICDF(21703), AOM_ICDF(22870),
3551 AOM_ICDF(23798), AOM_ICDF(25970), AOM_ICDF(29581), AOM_ICDF(30440),
3552 AOM_ICDF(32768), 0 },
3553 { AOM_ICDF(11008), AOM_ICDF(11943), AOM_ICDF(12838), AOM_ICDF(14729),
3554 AOM_ICDF(15340), AOM_ICDF(15719), AOM_ICDF(23245), AOM_ICDF(25217),
3555 AOM_ICDF(25453), AOM_ICDF(28282), AOM_ICDF(30735), AOM_ICDF(31696),
3556 AOM_ICDF(32768), 0 },
3557 { AOM_ICDF(6272), AOM_ICDF(7100), AOM_ICDF(9506), AOM_ICDF(11141),
3558 AOM_ICDF(14891), AOM_ICDF(18048), AOM_ICDF(20808), AOM_ICDF(22910),
3559 AOM_ICDF(24450), AOM_ICDF(26172), AOM_ICDF(29625), AOM_ICDF(31233),
3560 AOM_ICDF(32768), 0 },
3561 { AOM_ICDF(7424), AOM_ICDF(8513), AOM_ICDF(11924), AOM_ICDF(13742),
3562 AOM_ICDF(16971), AOM_ICDF(22265), AOM_ICDF(25957), AOM_ICDF(29762),
3563 AOM_ICDF(30831), AOM_ICDF(32193), AOM_ICDF(32537), AOM_ICDF(32669),
3564 AOM_ICDF(32768), 0 },
3565 { AOM_ICDF(4992), AOM_ICDF(5969), AOM_ICDF(7435), AOM_ICDF(10922),
3566 AOM_ICDF(15097), AOM_ICDF(16638), AOM_ICDF(18654), AOM_ICDF(20087),
3567 AOM_ICDF(23356), AOM_ICDF(25452), AOM_ICDF(29281), AOM_ICDF(30725),
3568 AOM_ICDF(32768), 0 },
3569 { AOM_ICDF(9600), AOM_ICDF(10324), AOM_ICDF(12603), AOM_ICDF(15427),
3570 AOM_ICDF(16950), AOM_ICDF(17959), AOM_ICDF(20909), AOM_ICDF(22299),
3571 AOM_ICDF(22994), AOM_ICDF(27308), AOM_ICDF(30379), AOM_ICDF(31154),
3572 AOM_ICDF(32768), 0 },
3573 { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(12549), AOM_ICDF(14621),
3574 AOM_ICDF(15493), AOM_ICDF(16182), AOM_ICDF(21430), AOM_ICDF(25947),
3575 AOM_ICDF(26427), AOM_ICDF(27888), AOM_ICDF(30595), AOM_ICDF(31809),
3576 AOM_ICDF(32768), 0 },
3577 { AOM_ICDF(6272), AOM_ICDF(7618), AOM_ICDF(10664), AOM_ICDF(12915),
3578 AOM_ICDF(14454), AOM_ICDF(14722), AOM_ICDF(17965), AOM_ICDF(20394),
3579 AOM_ICDF(21312), AOM_ICDF(23371), AOM_ICDF(28730), AOM_ICDF(30623),
3580 AOM_ICDF(32768), 0 },
3581 { AOM_ICDF(5888), AOM_ICDF(7463), AOM_ICDF(10923), AOM_ICDF(12991),
3582 AOM_ICDF(14555), AOM_ICDF(14934), AOM_ICDF(18208), AOM_ICDF(21052),
3583 AOM_ICDF(21876), AOM_ICDF(23450), AOM_ICDF(28655), AOM_ICDF(31017),
3584 AOM_ICDF(32768), 0 },
3585 { AOM_ICDF(6912), AOM_ICDF(8023), AOM_ICDF(10440), AOM_ICDF(13329),
3586 AOM_ICDF(14958), AOM_ICDF(15150), AOM_ICDF(18109), AOM_ICDF(20056),
3587 AOM_ICDF(21049), AOM_ICDF(23063), AOM_ICDF(28219), AOM_ICDF(29978),
3588 AOM_ICDF(32768), 0 },
3589 { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11906), AOM_ICDF(15940),
3590 AOM_ICDF(16978), AOM_ICDF(17773), AOM_ICDF(22342), AOM_ICDF(24419),
3591 AOM_ICDF(25300), AOM_ICDF(27021), AOM_ICDF(30007), AOM_ICDF(31312),
3592 AOM_ICDF(32768), 0 },
3593 },
3594 {
3595 { AOM_ICDF(7296), AOM_ICDF(8291), AOM_ICDF(10299), AOM_ICDF(12767),
3596 AOM_ICDF(18252), AOM_ICDF(20656), AOM_ICDF(21413), AOM_ICDF(22300),
3597 AOM_ICDF(24958), AOM_ICDF(26544), AOM_ICDF(30069), AOM_ICDF(31387),
3598 AOM_ICDF(32768), 0 },
3599 { AOM_ICDF(7168), AOM_ICDF(8668), AOM_ICDF(13187), AOM_ICDF(15041),
3600 AOM_ICDF(18824), AOM_ICDF(21371), AOM_ICDF(22261), AOM_ICDF(23574),
3601 AOM_ICDF(25082), AOM_ICDF(26133), AOM_ICDF(29839), AOM_ICDF(31693),
3602 AOM_ICDF(32768), 0 },
3603 { AOM_ICDF(3584), AOM_ICDF(5750), AOM_ICDF(6594), AOM_ICDF(15662),
3604 AOM_ICDF(18845), AOM_ICDF(20090), AOM_ICDF(20783), AOM_ICDF(21438),
3605 AOM_ICDF(23430), AOM_ICDF(25436), AOM_ICDF(29446), AOM_ICDF(30471),
3606 AOM_ICDF(32768), 0 },
3607 { AOM_ICDF(7424), AOM_ICDF(8711), AOM_ICDF(10121), AOM_ICDF(11786),
3608 AOM_ICDF(15100), AOM_ICDF(16579), AOM_ICDF(20437), AOM_ICDF(21593),
3609 AOM_ICDF(22903), AOM_ICDF(25678), AOM_ICDF(29638), AOM_ICDF(31130),
3610 AOM_ICDF(32768), 0 },
3611 { AOM_ICDF(4480), AOM_ICDF(5033), AOM_ICDF(6441), AOM_ICDF(7646),
3612 AOM_ICDF(18034), AOM_ICDF(21867), AOM_ICDF(22676), AOM_ICDF(23504),
3613 AOM_ICDF(25892), AOM_ICDF(26913), AOM_ICDF(30206), AOM_ICDF(31507),
3614 AOM_ICDF(32768), 0 },
3615 { AOM_ICDF(7296), AOM_ICDF(8192), AOM_ICDF(11072), AOM_ICDF(12676),
3616 AOM_ICDF(19460), AOM_ICDF(25734), AOM_ICDF(26778), AOM_ICDF(28439),
3617 AOM_ICDF(31077), AOM_ICDF(32002), AOM_ICDF(32469), AOM_ICDF(32671),
3618 AOM_ICDF(32768), 0 },
3619 { AOM_ICDF(3840), AOM_ICDF(4518), AOM_ICDF(5511), AOM_ICDF(8229),
3620 AOM_ICDF(16448), AOM_ICDF(18394), AOM_ICDF(19292), AOM_ICDF(20345),
3621 AOM_ICDF(25683), AOM_ICDF(27399), AOM_ICDF(30566), AOM_ICDF(31375),
3622 AOM_ICDF(32768), 0 },
3623 { AOM_ICDF(6528), AOM_ICDF(7451), AOM_ICDF(8934), AOM_ICDF(12006),
3624 AOM_ICDF(15767), AOM_ICDF(17127), AOM_ICDF(18471), AOM_ICDF(19476),
3625 AOM_ICDF(21553), AOM_ICDF(25715), AOM_ICDF(29572), AOM_ICDF(30795),
3626 AOM_ICDF(32768), 0 },
3627 { AOM_ICDF(7168), AOM_ICDF(8368), AOM_ICDF(10370), AOM_ICDF(11855),
3628 AOM_ICDF(14966), AOM_ICDF(17544), AOM_ICDF(19328), AOM_ICDF(21271),
3629 AOM_ICDF(22708), AOM_ICDF(24555), AOM_ICDF(29207), AOM_ICDF(31280),
3630 AOM_ICDF(32768), 0 },
3631 { AOM_ICDF(5504), AOM_ICDF(6782), AOM_ICDF(8914), AOM_ICDF(11452),
3632 AOM_ICDF(15958), AOM_ICDF(16648), AOM_ICDF(17530), AOM_ICDF(18899),
3633 AOM_ICDF(20578), AOM_ICDF(22245), AOM_ICDF(28123), AOM_ICDF(30427),
3634 AOM_ICDF(32768), 0 },
3635 { AOM_ICDF(5248), AOM_ICDF(6538), AOM_ICDF(9100), AOM_ICDF(11294),
3636 AOM_ICDF(15638), AOM_ICDF(16589), AOM_ICDF(17600), AOM_ICDF(19318),
3637 AOM_ICDF(20842), AOM_ICDF(22193), AOM_ICDF(28018), AOM_ICDF(30875),
3638 AOM_ICDF(32768), 0 },
3639 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8499), AOM_ICDF(11769),
3640 AOM_ICDF(15661), AOM_ICDF(16178), AOM_ICDF(17280), AOM_ICDF(18490),
3641 AOM_ICDF(20386), AOM_ICDF(22127), AOM_ICDF(28071), AOM_ICDF(30089),
3642 AOM_ICDF(32768), 0 },
3643 { AOM_ICDF(4608), AOM_ICDF(7468), AOM_ICDF(10136), AOM_ICDF(15013),
3644 AOM_ICDF(17716), AOM_ICDF(19595), AOM_ICDF(20830), AOM_ICDF(22136),
3645 AOM_ICDF(23714), AOM_ICDF(25341), AOM_ICDF(29403), AOM_ICDF(31072),
3646 AOM_ICDF(32768), 0 },
3647 },
3648 {
3649 { AOM_ICDF(6656), AOM_ICDF(8186), AOM_ICDF(13755), AOM_ICDF(15971),
3650 AOM_ICDF(20413), AOM_ICDF(27940), AOM_ICDF(28657), AOM_ICDF(29910),
3651 AOM_ICDF(31004), AOM_ICDF(31969), AOM_ICDF(32443), AOM_ICDF(32665),
3652 AOM_ICDF(32768), 0 },
3653 { AOM_ICDF(6400), AOM_ICDF(8048), AOM_ICDF(16256), AOM_ICDF(17568),
3654 AOM_ICDF(21074), AOM_ICDF(28253), AOM_ICDF(28976), AOM_ICDF(30531),
3655 AOM_ICDF(31099), AOM_ICDF(31875), AOM_ICDF(32426), AOM_ICDF(32701),
3656 AOM_ICDF(32768), 0 },
3657 { AOM_ICDF(3840), AOM_ICDF(6439), AOM_ICDF(9524), AOM_ICDF(17270),
3658 AOM_ICDF(21391), AOM_ICDF(25777), AOM_ICDF(26815), AOM_ICDF(27908),
3659 AOM_ICDF(29199), AOM_ICDF(31151), AOM_ICDF(32168), AOM_ICDF(32407),
3660 AOM_ICDF(32768), 0 },
3661 { AOM_ICDF(9600), AOM_ICDF(10958), AOM_ICDF(14962), AOM_ICDF(16560),
3662 AOM_ICDF(19908), AOM_ICDF(23309), AOM_ICDF(25637), AOM_ICDF(28033),
3663 AOM_ICDF(29032), AOM_ICDF(32009), AOM_ICDF(32528), AOM_ICDF(32701),
3664 AOM_ICDF(32768), 0 },
3665 { AOM_ICDF(4608), AOM_ICDF(5598), AOM_ICDF(9525), AOM_ICDF(10578),
3666 AOM_ICDF(18511), AOM_ICDF(27502), AOM_ICDF(28654), AOM_ICDF(29907),
3667 AOM_ICDF(31069), AOM_ICDF(32071), AOM_ICDF(32493), AOM_ICDF(32670),
3668 AOM_ICDF(32768), 0 },
3669 { AOM_ICDF(4864), AOM_ICDF(5845), AOM_ICDF(11524), AOM_ICDF(12294),
3670 AOM_ICDF(16882), AOM_ICDF(27955), AOM_ICDF(28839), AOM_ICDF(30251),
3671 AOM_ICDF(30949), AOM_ICDF(31873), AOM_ICDF(32467), AOM_ICDF(32703),
3672 AOM_ICDF(32768), 0 },
3673 { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(8955), AOM_ICDF(11746),
3674 AOM_ICDF(18914), AOM_ICDF(24489), AOM_ICDF(25524), AOM_ICDF(27194),
3675 AOM_ICDF(29894), AOM_ICDF(31589), AOM_ICDF(32335), AOM_ICDF(32551),
3676 AOM_ICDF(32768), 0 },
3677 { AOM_ICDF(6016), AOM_ICDF(7584), AOM_ICDF(11814), AOM_ICDF(14567),
3678 AOM_ICDF(18253), AOM_ICDF(21882), AOM_ICDF(23966), AOM_ICDF(26442),
3679 AOM_ICDF(27628), AOM_ICDF(31142), AOM_ICDF(32177), AOM_ICDF(32466),
3680 AOM_ICDF(32768), 0 },
3681 { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(15257), AOM_ICDF(16576),
3682 AOM_ICDF(20349), AOM_ICDF(24902), AOM_ICDF(26592), AOM_ICDF(29415),
3683 AOM_ICDF(30083), AOM_ICDF(31782), AOM_ICDF(32360), AOM_ICDF(32680),
3684 AOM_ICDF(32768), 0 },
3685 { AOM_ICDF(2816), AOM_ICDF(4805), AOM_ICDF(8519), AOM_ICDF(10112),
3686 AOM_ICDF(13408), AOM_ICDF(18465), AOM_ICDF(19582), AOM_ICDF(21333),
3687 AOM_ICDF(22494), AOM_ICDF(24059), AOM_ICDF(29026), AOM_ICDF(31321),
3688 AOM_ICDF(32768), 0 },
3689 { AOM_ICDF(2432), AOM_ICDF(4091), AOM_ICDF(8236), AOM_ICDF(9669),
3690 AOM_ICDF(13111), AOM_ICDF(19352), AOM_ICDF(20557), AOM_ICDF(22370),
3691 AOM_ICDF(23060), AOM_ICDF(24425), AOM_ICDF(28890), AOM_ICDF(31586),
3692 AOM_ICDF(32768), 0 },
3693 { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(8938), AOM_ICDF(11126),
3694 AOM_ICDF(14494), AOM_ICDF(18433), AOM_ICDF(19721), AOM_ICDF(21148),
3695 AOM_ICDF(22510), AOM_ICDF(24233), AOM_ICDF(29134), AOM_ICDF(31235),
3696 AOM_ICDF(32768), 0 },
3697 { AOM_ICDF(4480), AOM_ICDF(7132), AOM_ICDF(13341), AOM_ICDF(17959),
3698 AOM_ICDF(21108), AOM_ICDF(25786), AOM_ICDF(27068), AOM_ICDF(29161),
3699 AOM_ICDF(30077), AOM_ICDF(31286), AOM_ICDF(32363), AOM_ICDF(32565),
3700 AOM_ICDF(32768), 0 },
3701 },
3702 {
3703 { AOM_ICDF(9600), AOM_ICDF(10686), AOM_ICDF(12152), AOM_ICDF(16918),
3704 AOM_ICDF(19247), AOM_ICDF(20286), AOM_ICDF(20969), AOM_ICDF(21568),
3705 AOM_ICDF(25987), AOM_ICDF(27444), AOM_ICDF(30376), AOM_ICDF(31348),
3706 AOM_ICDF(32768), 0 },
3707 { AOM_ICDF(8832), AOM_ICDF(10609), AOM_ICDF(14591), AOM_ICDF(17948),
3708 AOM_ICDF(19973), AOM_ICDF(21052), AOM_ICDF(21922), AOM_ICDF(22854),
3709 AOM_ICDF(25642), AOM_ICDF(26783), AOM_ICDF(29892), AOM_ICDF(31499),
3710 AOM_ICDF(32768), 0 },
3711 { AOM_ICDF(3840), AOM_ICDF(5196), AOM_ICDF(5842), AOM_ICDF(17177),
3712 AOM_ICDF(19308), AOM_ICDF(19726), AOM_ICDF(20235), AOM_ICDF(20627),
3713 AOM_ICDF(24184), AOM_ICDF(26799), AOM_ICDF(29993), AOM_ICDF(30752),
3714 AOM_ICDF(32768), 0 },
3715 { AOM_ICDF(9856), AOM_ICDF(11288), AOM_ICDF(12295), AOM_ICDF(15482),
3716 AOM_ICDF(18345), AOM_ICDF(19093), AOM_ICDF(20963), AOM_ICDF(21747),
3717 AOM_ICDF(24718), AOM_ICDF(26793), AOM_ICDF(29991), AOM_ICDF(31032),
3718 AOM_ICDF(32768), 0 },
3719 { AOM_ICDF(6528), AOM_ICDF(7348), AOM_ICDF(8440), AOM_ICDF(11002),
3720 AOM_ICDF(17084), AOM_ICDF(19749), AOM_ICDF(20766), AOM_ICDF(21563),
3721 AOM_ICDF(25502), AOM_ICDF(26950), AOM_ICDF(30245), AOM_ICDF(31152),
3722 AOM_ICDF(32768), 0 },
3723 { AOM_ICDF(9728), AOM_ICDF(10448), AOM_ICDF(12541), AOM_ICDF(14674),
3724 AOM_ICDF(19296), AOM_ICDF(23919), AOM_ICDF(25198), AOM_ICDF(26558),
3725 AOM_ICDF(30755), AOM_ICDF(31958), AOM_ICDF(32461), AOM_ICDF(32594),
3726 AOM_ICDF(32768), 0 },
3727 { AOM_ICDF(5120), AOM_ICDF(5768), AOM_ICDF(6401), AOM_ICDF(10321),
3728 AOM_ICDF(14515), AOM_ICDF(15362), AOM_ICDF(15838), AOM_ICDF(16301),
3729 AOM_ICDF(26078), AOM_ICDF(27489), AOM_ICDF(30397), AOM_ICDF(31175),
3730 AOM_ICDF(32768), 0 },
3731 { AOM_ICDF(5888), AOM_ICDF(6518), AOM_ICDF(7236), AOM_ICDF(12128),
3732 AOM_ICDF(14327), AOM_ICDF(15015), AOM_ICDF(16055), AOM_ICDF(16773),
3733 AOM_ICDF(20897), AOM_ICDF(25395), AOM_ICDF(29341), AOM_ICDF(30452),
3734 AOM_ICDF(32768), 0 },
3735 { AOM_ICDF(10368), AOM_ICDF(11856), AOM_ICDF(13245), AOM_ICDF(15614),
3736 AOM_ICDF(18451), AOM_ICDF(19498), AOM_ICDF(20846), AOM_ICDF(22429),
3737 AOM_ICDF(24610), AOM_ICDF(26522), AOM_ICDF(30279), AOM_ICDF(31523),
3738 AOM_ICDF(32768), 0 },
3739 { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(8668), AOM_ICDF(12423),
3740 AOM_ICDF(15346), AOM_ICDF(15634), AOM_ICDF(16504), AOM_ICDF(17584),
3741 AOM_ICDF(21083), AOM_ICDF(23000), AOM_ICDF(28456), AOM_ICDF(30241),
3742 AOM_ICDF(32768), 0 },
3743 { AOM_ICDF(5760), AOM_ICDF(7026), AOM_ICDF(8735), AOM_ICDF(12665),
3744 AOM_ICDF(15507), AOM_ICDF(15870), AOM_ICDF(16794), AOM_ICDF(17792),
3745 AOM_ICDF(21068), AOM_ICDF(23033), AOM_ICDF(28395), AOM_ICDF(30701),
3746 AOM_ICDF(32768), 0 },
3747 { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(9300), AOM_ICDF(13303),
3748 AOM_ICDF(15462), AOM_ICDF(15625), AOM_ICDF(16362), AOM_ICDF(17067),
3749 AOM_ICDF(20686), AOM_ICDF(22810), AOM_ICDF(27983), AOM_ICDF(29347),
3750 AOM_ICDF(32768), 0 },
3751 { AOM_ICDF(5632), AOM_ICDF(8070), AOM_ICDF(9903), AOM_ICDF(16658),
3752 AOM_ICDF(18637), AOM_ICDF(19728), AOM_ICDF(20543), AOM_ICDF(21450),
3753 AOM_ICDF(24456), AOM_ICDF(26372), AOM_ICDF(29645), AOM_ICDF(30731),
3754 AOM_ICDF(32768), 0 },
3755 },
3756 {
3757 { AOM_ICDF(11008), AOM_ICDF(12283), AOM_ICDF(14364), AOM_ICDF(18419),
3758 AOM_ICDF(19948), AOM_ICDF(20618), AOM_ICDF(21899), AOM_ICDF(22960),
3759 AOM_ICDF(23994), AOM_ICDF(26565), AOM_ICDF(30078), AOM_ICDF(31213),
3760 AOM_ICDF(32768), 0 },
3761 { AOM_ICDF(9088), AOM_ICDF(11586), AOM_ICDF(16716), AOM_ICDF(18876),
3762 AOM_ICDF(20112), AOM_ICDF(21105), AOM_ICDF(22426), AOM_ICDF(23800),
3763 AOM_ICDF(24396), AOM_ICDF(26653), AOM_ICDF(30021), AOM_ICDF(31566),
3764 AOM_ICDF(32768), 0 },
3765 { AOM_ICDF(6144), AOM_ICDF(8328), AOM_ICDF(9378), AOM_ICDF(20096),
3766 AOM_ICDF(20984), AOM_ICDF(21256), AOM_ICDF(22335), AOM_ICDF(23109),
3767 AOM_ICDF(24128), AOM_ICDF(26896), AOM_ICDF(29947), AOM_ICDF(30740),
3768 AOM_ICDF(32768), 0 },
3769 { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(13441), AOM_ICDF(15479),
3770 AOM_ICDF(16976), AOM_ICDF(17518), AOM_ICDF(20794), AOM_ICDF(22571),
3771 AOM_ICDF(23328), AOM_ICDF(27421), AOM_ICDF(30512), AOM_ICDF(31561),
3772 AOM_ICDF(32768), 0 },
3773 { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(10010), AOM_ICDF(12258),
3774 AOM_ICDF(15388), AOM_ICDF(16944), AOM_ICDF(19602), AOM_ICDF(21196),
3775 AOM_ICDF(22869), AOM_ICDF(25112), AOM_ICDF(29389), AOM_ICDF(30709),
3776 AOM_ICDF(32768), 0 },
3777 { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(14881), AOM_ICDF(17298),
3778 AOM_ICDF(20151), AOM_ICDF(22916), AOM_ICDF(25918), AOM_ICDF(28032),
3779 AOM_ICDF(29549), AOM_ICDF(31787), AOM_ICDF(32293), AOM_ICDF(32521),
3780 AOM_ICDF(32768), 0 },
3781 { AOM_ICDF(6400), AOM_ICDF(7636), AOM_ICDF(8716), AOM_ICDF(12718),
3782 AOM_ICDF(15711), AOM_ICDF(16420), AOM_ICDF(18144), AOM_ICDF(19287),
3783 AOM_ICDF(22815), AOM_ICDF(25886), AOM_ICDF(29596), AOM_ICDF(30674),
3784 AOM_ICDF(32768), 0 },
3785 { AOM_ICDF(9856), AOM_ICDF(10662), AOM_ICDF(11785), AOM_ICDF(14236),
3786 AOM_ICDF(14998), AOM_ICDF(15391), AOM_ICDF(17156), AOM_ICDF(17949),
3787 AOM_ICDF(18470), AOM_ICDF(27797), AOM_ICDF(30418), AOM_ICDF(31244),
3788 AOM_ICDF(32768), 0 },
3789 { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12017), AOM_ICDF(14128),
3790 AOM_ICDF(15765), AOM_ICDF(16637), AOM_ICDF(19347), AOM_ICDF(21759),
3791 AOM_ICDF(22490), AOM_ICDF(25300), AOM_ICDF(29676), AOM_ICDF(31077),
3792 AOM_ICDF(32768), 0 },
3793 { AOM_ICDF(7168), AOM_ICDF(8468), AOM_ICDF(10177), AOM_ICDF(13693),
3794 AOM_ICDF(15333), AOM_ICDF(15472), AOM_ICDF(17094), AOM_ICDF(18257),
3795 AOM_ICDF(19277), AOM_ICDF(22386), AOM_ICDF(28023), AOM_ICDF(29969),
3796 AOM_ICDF(32768), 0 },
3797 { AOM_ICDF(6400), AOM_ICDF(8151), AOM_ICDF(10651), AOM_ICDF(13992),
3798 AOM_ICDF(15677), AOM_ICDF(15835), AOM_ICDF(17422), AOM_ICDF(18621),
3799 AOM_ICDF(19450), AOM_ICDF(22207), AOM_ICDF(27735), AOM_ICDF(30409),
3800 AOM_ICDF(32768), 0 },
3801 { AOM_ICDF(7296), AOM_ICDF(8391), AOM_ICDF(9915), AOM_ICDF(13980),
3802 AOM_ICDF(15352), AOM_ICDF(15450), AOM_ICDF(17006), AOM_ICDF(17930),
3803 AOM_ICDF(18973), AOM_ICDF(22045), AOM_ICDF(27658), AOM_ICDF(29235),
3804 AOM_ICDF(32768), 0 },
3805 { AOM_ICDF(6272), AOM_ICDF(9481), AOM_ICDF(11664), AOM_ICDF(16537),
3806 AOM_ICDF(17656), AOM_ICDF(18094), AOM_ICDF(20673), AOM_ICDF(21949),
3807 AOM_ICDF(22752), AOM_ICDF(25921), AOM_ICDF(29612), AOM_ICDF(30869),
3808 AOM_ICDF(32768), 0 },
3809 },
3810 {
3811 { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(12536), AOM_ICDF(14589),
3812 AOM_ICDF(15843), AOM_ICDF(17357), AOM_ICDF(19765), AOM_ICDF(23981),
3813 AOM_ICDF(24633), AOM_ICDF(25618), AOM_ICDF(29556), AOM_ICDF(31438),
3814 AOM_ICDF(32768), 0 },
3815 { AOM_ICDF(5760), AOM_ICDF(7237), AOM_ICDF(14717), AOM_ICDF(15587),
3816 AOM_ICDF(16364), AOM_ICDF(17537), AOM_ICDF(20393), AOM_ICDF(26097),
3817 AOM_ICDF(26462), AOM_ICDF(27029), AOM_ICDF(30123), AOM_ICDF(31921),
3818 AOM_ICDF(32768), 0 },
3819 { AOM_ICDF(4352), AOM_ICDF(5906), AOM_ICDF(8424), AOM_ICDF(16214),
3820 AOM_ICDF(16978), AOM_ICDF(17743), AOM_ICDF(19680), AOM_ICDF(22441),
3821 AOM_ICDF(23167), AOM_ICDF(25080), AOM_ICDF(29224), AOM_ICDF(30650),
3822 AOM_ICDF(32768), 0 },
3823 { AOM_ICDF(9472), AOM_ICDF(10473), AOM_ICDF(12737), AOM_ICDF(14173),
3824 AOM_ICDF(15051), AOM_ICDF(15632), AOM_ICDF(20652), AOM_ICDF(24864),
3825 AOM_ICDF(25204), AOM_ICDF(27006), AOM_ICDF(30292), AOM_ICDF(31501),
3826 AOM_ICDF(32768), 0 },
3827 { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(8247), AOM_ICDF(9646),
3828 AOM_ICDF(12203), AOM_ICDF(14760), AOM_ICDF(18488), AOM_ICDF(22616),
3829 AOM_ICDF(23449), AOM_ICDF(24650), AOM_ICDF(29026), AOM_ICDF(30955),
3830 AOM_ICDF(32768), 0 },
3831 { AOM_ICDF(6016), AOM_ICDF(6957), AOM_ICDF(12502), AOM_ICDF(13805),
3832 AOM_ICDF(16777), AOM_ICDF(21052), AOM_ICDF(23981), AOM_ICDF(30606),
3833 AOM_ICDF(31206), AOM_ICDF(31981), AOM_ICDF(32414), AOM_ICDF(32681),
3834 AOM_ICDF(32768), 0 },
3835 { AOM_ICDF(4480), AOM_ICDF(5475), AOM_ICDF(7820), AOM_ICDF(9805),
3836 AOM_ICDF(12793), AOM_ICDF(14252), AOM_ICDF(16711), AOM_ICDF(20725),
3837 AOM_ICDF(23406), AOM_ICDF(25015), AOM_ICDF(29225), AOM_ICDF(30775),
3838 AOM_ICDF(32768), 0 },
3839 { AOM_ICDF(6912), AOM_ICDF(7619), AOM_ICDF(10173), AOM_ICDF(12424),
3840 AOM_ICDF(13502), AOM_ICDF(14410), AOM_ICDF(17852), AOM_ICDF(21348),
3841 AOM_ICDF(22017), AOM_ICDF(25461), AOM_ICDF(29571), AOM_ICDF(31020),
3842 AOM_ICDF(32768), 0 },
3843 { AOM_ICDF(7680), AOM_ICDF(8562), AOM_ICDF(11399), AOM_ICDF(12263),
3844 AOM_ICDF(12870), AOM_ICDF(13486), AOM_ICDF(18307), AOM_ICDF(26385),
3845 AOM_ICDF(26734), AOM_ICDF(27724), AOM_ICDF(30482), AOM_ICDF(31955),
3846 AOM_ICDF(32768), 0 },
3847 { AOM_ICDF(4992), AOM_ICDF(6186), AOM_ICDF(9820), AOM_ICDF(11725),
3848 AOM_ICDF(13117), AOM_ICDF(13406), AOM_ICDF(15978), AOM_ICDF(20372),
3849 AOM_ICDF(20953), AOM_ICDF(22245), AOM_ICDF(28205), AOM_ICDF(30879),
3850 AOM_ICDF(32768), 0 },
3851 { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(10747), AOM_ICDF(12295),
3852 AOM_ICDF(13445), AOM_ICDF(13844), AOM_ICDF(16357), AOM_ICDF(21485),
3853 AOM_ICDF(21838), AOM_ICDF(22820), AOM_ICDF(28183), AOM_ICDF(31138),
3854 AOM_ICDF(32768), 0 },
3855 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10476), AOM_ICDF(12855),
3856 AOM_ICDF(14101), AOM_ICDF(14482), AOM_ICDF(17053), AOM_ICDF(20613),
3857 AOM_ICDF(21278), AOM_ICDF(22580), AOM_ICDF(28351), AOM_ICDF(30542),
3858 AOM_ICDF(32768), 0 },
3859 { AOM_ICDF(4480), AOM_ICDF(6359), AOM_ICDF(11826), AOM_ICDF(14265),
3860 AOM_ICDF(14852), AOM_ICDF(15753), AOM_ICDF(19276), AOM_ICDF(24757),
3861 AOM_ICDF(25226), AOM_ICDF(26287), AOM_ICDF(29629), AOM_ICDF(31493),
3862 AOM_ICDF(32768), 0 },
3863 },
3864 {
3865 { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(11726), AOM_ICDF(15286),
3866 AOM_ICDF(16881), AOM_ICDF(17151), AOM_ICDF(17944), AOM_ICDF(19160),
3867 AOM_ICDF(20011), AOM_ICDF(21356), AOM_ICDF(27463), AOM_ICDF(29805),
3868 AOM_ICDF(32768), 0 },
3869 { AOM_ICDF(5376), AOM_ICDF(7516), AOM_ICDF(15210), AOM_ICDF(17109),
3870 AOM_ICDF(18458), AOM_ICDF(18708), AOM_ICDF(19587), AOM_ICDF(20977),
3871 AOM_ICDF(21484), AOM_ICDF(22277), AOM_ICDF(27768), AOM_ICDF(30893),
3872 AOM_ICDF(32768), 0 },
3873 { AOM_ICDF(3584), AOM_ICDF(5522), AOM_ICDF(7225), AOM_ICDF(18079),
3874 AOM_ICDF(18909), AOM_ICDF(18999), AOM_ICDF(19698), AOM_ICDF(20413),
3875 AOM_ICDF(21185), AOM_ICDF(23040), AOM_ICDF(28056), AOM_ICDF(29473),
3876 AOM_ICDF(32768), 0 },
3877 { AOM_ICDF(7424), AOM_ICDF(8612), AOM_ICDF(10782), AOM_ICDF(12958),
3878 AOM_ICDF(14687), AOM_ICDF(14818), AOM_ICDF(17553), AOM_ICDF(19395),
3879 AOM_ICDF(20231), AOM_ICDF(23316), AOM_ICDF(28559), AOM_ICDF(30614),
3880 AOM_ICDF(32768), 0 },
3881 { AOM_ICDF(5632), AOM_ICDF(6586), AOM_ICDF(9347), AOM_ICDF(11520),
3882 AOM_ICDF(15628), AOM_ICDF(16300), AOM_ICDF(17651), AOM_ICDF(19245),
3883 AOM_ICDF(20671), AOM_ICDF(22089), AOM_ICDF(28013), AOM_ICDF(30279),
3884 AOM_ICDF(32768), 0 },
3885 { AOM_ICDF(3840), AOM_ICDF(5309), AOM_ICDF(9385), AOM_ICDF(10995),
3886 AOM_ICDF(14099), AOM_ICDF(18154), AOM_ICDF(19638), AOM_ICDF(21690),
3887 AOM_ICDF(23031), AOM_ICDF(24552), AOM_ICDF(29238), AOM_ICDF(31251),
3888 AOM_ICDF(32768), 0 },
3889 { AOM_ICDF(5376), AOM_ICDF(6339), AOM_ICDF(8301), AOM_ICDF(11620),
3890 AOM_ICDF(14701), AOM_ICDF(14991), AOM_ICDF(16033), AOM_ICDF(17210),
3891 AOM_ICDF(20431), AOM_ICDF(22310), AOM_ICDF(27948), AOM_ICDF(29774),
3892 AOM_ICDF(32768), 0 },
3893 { AOM_ICDF(5632), AOM_ICDF(6692), AOM_ICDF(8729), AOM_ICDF(12618),
3894 AOM_ICDF(13927), AOM_ICDF(14081), AOM_ICDF(15176), AOM_ICDF(16413),
3895 AOM_ICDF(17371), AOM_ICDF(22183), AOM_ICDF(28013), AOM_ICDF(29815),
3896 AOM_ICDF(32768), 0 },
3897 { AOM_ICDF(6528), AOM_ICDF(7861), AOM_ICDF(11072), AOM_ICDF(12945),
3898 AOM_ICDF(14726), AOM_ICDF(14971), AOM_ICDF(16570), AOM_ICDF(19481),
3899 AOM_ICDF(20260), AOM_ICDF(21921), AOM_ICDF(27980), AOM_ICDF(30449),
3900 AOM_ICDF(32768), 0 },
3901 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(9523), AOM_ICDF(12199),
3902 AOM_ICDF(13764), AOM_ICDF(13972), AOM_ICDF(14926), AOM_ICDF(16320),
3903 AOM_ICDF(17091), AOM_ICDF(18744), AOM_ICDF(26359), AOM_ICDF(29288),
3904 AOM_ICDF(32768), 0 },
3905 { AOM_ICDF(4736), AOM_ICDF(6160), AOM_ICDF(10318), AOM_ICDF(12718),
3906 AOM_ICDF(14251), AOM_ICDF(14527), AOM_ICDF(15453), AOM_ICDF(17009),
3907 AOM_ICDF(17625), AOM_ICDF(19045), AOM_ICDF(26335), AOM_ICDF(30079),
3908 AOM_ICDF(32768), 0 },
3909 { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(9248), AOM_ICDF(12722),
3910 AOM_ICDF(14141), AOM_ICDF(14301), AOM_ICDF(15095), AOM_ICDF(16200),
3911 AOM_ICDF(17106), AOM_ICDF(18697), AOM_ICDF(26172), AOM_ICDF(28388),
3912 AOM_ICDF(32768), 0 },
3913 { AOM_ICDF(4096), AOM_ICDF(6672), AOM_ICDF(11055), AOM_ICDF(16327),
3914 AOM_ICDF(17508), AOM_ICDF(17671), AOM_ICDF(18733), AOM_ICDF(19994),
3915 AOM_ICDF(20742), AOM_ICDF(22151), AOM_ICDF(27708), AOM_ICDF(30021),
3916 AOM_ICDF(32768), 0 },
3917 },
3918 {
3919 { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(13524), AOM_ICDF(16819),
3920 AOM_ICDF(18267), AOM_ICDF(18636), AOM_ICDF(19409), AOM_ICDF(20661),
3921 AOM_ICDF(21323), AOM_ICDF(22307), AOM_ICDF(27905), AOM_ICDF(30678),
3922 AOM_ICDF(32768), 0 },
3923 { AOM_ICDF(5376), AOM_ICDF(7302), AOM_ICDF(16951), AOM_ICDF(18383),
3924 AOM_ICDF(19388), AOM_ICDF(19608), AOM_ICDF(20225), AOM_ICDF(21597),
3925 AOM_ICDF(21946), AOM_ICDF(22538), AOM_ICDF(27613), AOM_ICDF(31318),
3926 AOM_ICDF(32768), 0 },
3927 { AOM_ICDF(3840), AOM_ICDF(5987), AOM_ICDF(8184), AOM_ICDF(19612),
3928 AOM_ICDF(20392), AOM_ICDF(20476), AOM_ICDF(21100), AOM_ICDF(21693),
3929 AOM_ICDF(22428), AOM_ICDF(23963), AOM_ICDF(28709), AOM_ICDF(30342),
3930 AOM_ICDF(32768), 0 },
3931 { AOM_ICDF(8448), AOM_ICDF(9588), AOM_ICDF(12395), AOM_ICDF(14447),
3932 AOM_ICDF(16163), AOM_ICDF(16374), AOM_ICDF(18743), AOM_ICDF(20606),
3933 AOM_ICDF(21271), AOM_ICDF(23786), AOM_ICDF(28768), AOM_ICDF(30877),
3934 AOM_ICDF(32768), 0 },
3935 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(10069), AOM_ICDF(11965),
3936 AOM_ICDF(15976), AOM_ICDF(16719), AOM_ICDF(17973), AOM_ICDF(19880),
3937 AOM_ICDF(21139), AOM_ICDF(22275), AOM_ICDF(28259), AOM_ICDF(30954),
3938 AOM_ICDF(32768), 0 },
3939 { AOM_ICDF(3968), AOM_ICDF(5431), AOM_ICDF(10557), AOM_ICDF(12069),
3940 AOM_ICDF(14280), AOM_ICDF(18973), AOM_ICDF(20374), AOM_ICDF(23037),
3941 AOM_ICDF(24215), AOM_ICDF(25050), AOM_ICDF(29271), AOM_ICDF(31716),
3942 AOM_ICDF(32768), 0 },
3943 { AOM_ICDF(6016), AOM_ICDF(7061), AOM_ICDF(9672), AOM_ICDF(12246),
3944 AOM_ICDF(15351), AOM_ICDF(15717), AOM_ICDF(16716), AOM_ICDF(18158),
3945 AOM_ICDF(21126), AOM_ICDF(22672), AOM_ICDF(28035), AOM_ICDF(30494),
3946 AOM_ICDF(32768), 0 },
3947 { AOM_ICDF(6272), AOM_ICDF(7204), AOM_ICDF(9700), AOM_ICDF(13252),
3948 AOM_ICDF(14599), AOM_ICDF(14926), AOM_ICDF(15902), AOM_ICDF(17220),
3949 AOM_ICDF(18010), AOM_ICDF(22795), AOM_ICDF(28405), AOM_ICDF(30467),
3950 AOM_ICDF(32768), 0 },
3951 { AOM_ICDF(6912), AOM_ICDF(8427), AOM_ICDF(12420), AOM_ICDF(14171),
3952 AOM_ICDF(15792), AOM_ICDF(16156), AOM_ICDF(17584), AOM_ICDF(20846),
3953 AOM_ICDF(21451), AOM_ICDF(22556), AOM_ICDF(28101), AOM_ICDF(31054),
3954 AOM_ICDF(32768), 0 },
3955 { AOM_ICDF(5248), AOM_ICDF(6431), AOM_ICDF(10855), AOM_ICDF(13296),
3956 AOM_ICDF(14848), AOM_ICDF(15135), AOM_ICDF(15893), AOM_ICDF(17277),
3957 AOM_ICDF(17943), AOM_ICDF(19275), AOM_ICDF(26443), AOM_ICDF(30174),
3958 AOM_ICDF(32768), 0 },
3959 { AOM_ICDF(4736), AOM_ICDF(6050), AOM_ICDF(12103), AOM_ICDF(14343),
3960 AOM_ICDF(15633), AOM_ICDF(15978), AOM_ICDF(16699), AOM_ICDF(18205),
3961 AOM_ICDF(18660), AOM_ICDF(19707), AOM_ICDF(26544), AOM_ICDF(30872),
3962 AOM_ICDF(32768), 0 },
3963 { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(11066), AOM_ICDF(14088),
3964 AOM_ICDF(15377), AOM_ICDF(15644), AOM_ICDF(16447), AOM_ICDF(17786),
3965 AOM_ICDF(18605), AOM_ICDF(19822), AOM_ICDF(27104), AOM_ICDF(29648),
3966 AOM_ICDF(32768), 0 },
3967 { AOM_ICDF(4608), AOM_ICDF(7358), AOM_ICDF(13016), AOM_ICDF(18200),
3968 AOM_ICDF(19015), AOM_ICDF(19189), AOM_ICDF(20038), AOM_ICDF(21430),
3969 AOM_ICDF(21917), AOM_ICDF(22977), AOM_ICDF(27949), AOM_ICDF(30848),
3970 AOM_ICDF(32768), 0 },
3971 },
3972 {
3973 { AOM_ICDF(7296), AOM_ICDF(8490), AOM_ICDF(11145), AOM_ICDF(15318),
3974 AOM_ICDF(16693), AOM_ICDF(16889), AOM_ICDF(17571), AOM_ICDF(18580),
3975 AOM_ICDF(19688), AOM_ICDF(21272), AOM_ICDF(27245), AOM_ICDF(28971),
3976 AOM_ICDF(32768), 0 },
3977 { AOM_ICDF(5376), AOM_ICDF(7623), AOM_ICDF(16070), AOM_ICDF(18136),
3978 AOM_ICDF(19225), AOM_ICDF(19397), AOM_ICDF(20128), AOM_ICDF(21362),
3979 AOM_ICDF(21808), AOM_ICDF(22621), AOM_ICDF(27932), AOM_ICDF(30407),
3980 AOM_ICDF(32768), 0 },
3981 { AOM_ICDF(3200), AOM_ICDF(5164), AOM_ICDF(6566), AOM_ICDF(18368),
3982 AOM_ICDF(19106), AOM_ICDF(19155), AOM_ICDF(19793), AOM_ICDF(20300),
3983 AOM_ICDF(21177), AOM_ICDF(23079), AOM_ICDF(27848), AOM_ICDF(28924),
3984 AOM_ICDF(32768), 0 },
3985 { AOM_ICDF(7040), AOM_ICDF(8146), AOM_ICDF(10550), AOM_ICDF(12876),
3986 AOM_ICDF(14506), AOM_ICDF(14629), AOM_ICDF(17180), AOM_ICDF(19129),
3987 AOM_ICDF(20088), AOM_ICDF(23407), AOM_ICDF(28673), AOM_ICDF(30257),
3988 AOM_ICDF(32768), 0 },
3989 { AOM_ICDF(6016), AOM_ICDF(7166), AOM_ICDF(9466), AOM_ICDF(11999),
3990 AOM_ICDF(15723), AOM_ICDF(16293), AOM_ICDF(17580), AOM_ICDF(19004),
3991 AOM_ICDF(20509), AOM_ICDF(22233), AOM_ICDF(28118), AOM_ICDF(29989),
3992 AOM_ICDF(32768), 0 },
3993 { AOM_ICDF(3840), AOM_ICDF(5422), AOM_ICDF(9054), AOM_ICDF(11018),
3994 AOM_ICDF(13605), AOM_ICDF(17576), AOM_ICDF(19178), AOM_ICDF(21514),
3995 AOM_ICDF(22877), AOM_ICDF(24461), AOM_ICDF(29069), AOM_ICDF(30933),
3996 AOM_ICDF(32768), 0 },
3997 { AOM_ICDF(5376), AOM_ICDF(6553), AOM_ICDF(8294), AOM_ICDF(12601),
3998 AOM_ICDF(15043), AOM_ICDF(15273), AOM_ICDF(16230), AOM_ICDF(17134),
3999 AOM_ICDF(20737), AOM_ICDF(22899), AOM_ICDF(28219), AOM_ICDF(29410),
4000 AOM_ICDF(32768), 0 },
4001 { AOM_ICDF(5760), AOM_ICDF(6815), AOM_ICDF(8336), AOM_ICDF(12965),
4002 AOM_ICDF(14282), AOM_ICDF(14444), AOM_ICDF(15446), AOM_ICDF(16461),
4003 AOM_ICDF(17544), AOM_ICDF(22183), AOM_ICDF(27682), AOM_ICDF(29132),
4004 AOM_ICDF(32768), 0 },
4005 { AOM_ICDF(6656), AOM_ICDF(8084), AOM_ICDF(10880), AOM_ICDF(12954),
4006 AOM_ICDF(14527), AOM_ICDF(14728), AOM_ICDF(16490), AOM_ICDF(19224),
4007 AOM_ICDF(20071), AOM_ICDF(21857), AOM_ICDF(27653), AOM_ICDF(30031),
4008 AOM_ICDF(32768), 0 },
4009 { AOM_ICDF(5376), AOM_ICDF(6660), AOM_ICDF(9006), AOM_ICDF(12205),
4010 AOM_ICDF(13614), AOM_ICDF(13740), AOM_ICDF(14632), AOM_ICDF(15766),
4011 AOM_ICDF(16629), AOM_ICDF(18394), AOM_ICDF(25918), AOM_ICDF(28460),
4012 AOM_ICDF(32768), 0 },
4013 { AOM_ICDF(4736), AOM_ICDF(6488), AOM_ICDF(9978), AOM_ICDF(12889),
4014 AOM_ICDF(14419), AOM_ICDF(14607), AOM_ICDF(15458), AOM_ICDF(16743),
4015 AOM_ICDF(17369), AOM_ICDF(19053), AOM_ICDF(26393), AOM_ICDF(29456),
4016 AOM_ICDF(32768), 0 },
4017 { AOM_ICDF(5760), AOM_ICDF(6710), AOM_ICDF(8542), AOM_ICDF(12830),
4018 AOM_ICDF(13956), AOM_ICDF(14031), AOM_ICDF(14763), AOM_ICDF(15677),
4019 AOM_ICDF(16545), AOM_ICDF(18256), AOM_ICDF(25569), AOM_ICDF(27284),
4020 AOM_ICDF(32768), 0 },
4021 { AOM_ICDF(4096), AOM_ICDF(7008), AOM_ICDF(11436), AOM_ICDF(17228),
4022 AOM_ICDF(18131), AOM_ICDF(18269), AOM_ICDF(19345), AOM_ICDF(20551),
4023 AOM_ICDF(21315), AOM_ICDF(22836), AOM_ICDF(28035), AOM_ICDF(29865),
4024 AOM_ICDF(32768), 0 },
4025 },
4026 {
4027 { AOM_ICDF(6528), AOM_ICDF(10833), AOM_ICDF(17688), AOM_ICDF(21947),
4028 AOM_ICDF(22829), AOM_ICDF(23814), AOM_ICDF(24514), AOM_ICDF(25707),
4029 AOM_ICDF(26397), AOM_ICDF(27442), AOM_ICDF(30271), AOM_ICDF(31734),
4030 AOM_ICDF(32768), 0 },
4031 { AOM_ICDF(4480), AOM_ICDF(8679), AOM_ICDF(21100), AOM_ICDF(23075),
4032 AOM_ICDF(23772), AOM_ICDF(24427), AOM_ICDF(25111), AOM_ICDF(26188),
4033 AOM_ICDF(26445), AOM_ICDF(27235), AOM_ICDF(29980), AOM_ICDF(31875),
4034 AOM_ICDF(32768), 0 },
4035 { AOM_ICDF(2688), AOM_ICDF(6683), AOM_ICDF(9332), AOM_ICDF(22173),
4036 AOM_ICDF(22688), AOM_ICDF(22972), AOM_ICDF(23623), AOM_ICDF(24159),
4037 AOM_ICDF(24798), AOM_ICDF(26666), AOM_ICDF(29812), AOM_ICDF(30909),
4038 AOM_ICDF(32768), 0 },
4039 { AOM_ICDF(8192), AOM_ICDF(10112), AOM_ICDF(13298), AOM_ICDF(16662),
4040 AOM_ICDF(17623), AOM_ICDF(18394), AOM_ICDF(20921), AOM_ICDF(22309),
4041 AOM_ICDF(22963), AOM_ICDF(26257), AOM_ICDF(29945), AOM_ICDF(31423),
4042 AOM_ICDF(32768), 0 },
4043 { AOM_ICDF(5120), AOM_ICDF(7604), AOM_ICDF(12617), AOM_ICDF(15628),
4044 AOM_ICDF(18274), AOM_ICDF(20174), AOM_ICDF(21404), AOM_ICDF(22869),
4045 AOM_ICDF(24184), AOM_ICDF(25626), AOM_ICDF(29615), AOM_ICDF(31155),
4046 AOM_ICDF(32768), 0 },
4047 { AOM_ICDF(7424), AOM_ICDF(10295), AOM_ICDF(18459), AOM_ICDF(21302),
4048 AOM_ICDF(23034), AOM_ICDF(26284), AOM_ICDF(27576), AOM_ICDF(29746),
4049 AOM_ICDF(30502), AOM_ICDF(31794), AOM_ICDF(32346), AOM_ICDF(32600),
4050 AOM_ICDF(32768), 0 },
4051 { AOM_ICDF(4224), AOM_ICDF(6789), AOM_ICDF(11254), AOM_ICDF(15589),
4052 AOM_ICDF(18568), AOM_ICDF(19238), AOM_ICDF(19872), AOM_ICDF(20880),
4053 AOM_ICDF(24409), AOM_ICDF(26238), AOM_ICDF(29580), AOM_ICDF(30875),
4054 AOM_ICDF(32768), 0 },
4055 { AOM_ICDF(5120), AOM_ICDF(7388), AOM_ICDF(10164), AOM_ICDF(15886),
4056 AOM_ICDF(16694), AOM_ICDF(17139), AOM_ICDF(18421), AOM_ICDF(19262),
4057 AOM_ICDF(20106), AOM_ICDF(26734), AOM_ICDF(29987), AOM_ICDF(31160),
4058 AOM_ICDF(32768), 0 },
4059 { AOM_ICDF(5760), AOM_ICDF(8292), AOM_ICDF(13837), AOM_ICDF(16201),
4060 AOM_ICDF(17303), AOM_ICDF(18422), AOM_ICDF(20215), AOM_ICDF(23059),
4061 AOM_ICDF(23628), AOM_ICDF(25449), AOM_ICDF(29537), AOM_ICDF(31455),
4062 AOM_ICDF(32768), 0 },
4063 { AOM_ICDF(4224), AOM_ICDF(7235), AOM_ICDF(12521), AOM_ICDF(16798),
4064 AOM_ICDF(17964), AOM_ICDF(18136), AOM_ICDF(18936), AOM_ICDF(20233),
4065 AOM_ICDF(20821), AOM_ICDF(22501), AOM_ICDF(27955), AOM_ICDF(30493),
4066 AOM_ICDF(32768), 0 },
4067 { AOM_ICDF(3840), AOM_ICDF(7117), AOM_ICDF(13329), AOM_ICDF(17383),
4068 AOM_ICDF(18323), AOM_ICDF(18492), AOM_ICDF(19273), AOM_ICDF(20538),
4069 AOM_ICDF(21064), AOM_ICDF(22481), AOM_ICDF(27785), AOM_ICDF(30938),
4070 AOM_ICDF(32768), 0 },
4071 { AOM_ICDF(4736), AOM_ICDF(7474), AOM_ICDF(12414), AOM_ICDF(17230),
4072 AOM_ICDF(18246), AOM_ICDF(18457), AOM_ICDF(19128), AOM_ICDF(20087),
4073 AOM_ICDF(20830), AOM_ICDF(22602), AOM_ICDF(27923), AOM_ICDF(29929),
4074 AOM_ICDF(32768), 0 },
4075 { AOM_ICDF(3584), AOM_ICDF(9626), AOM_ICDF(15412), AOM_ICDF(20788),
4076 AOM_ICDF(21676), AOM_ICDF(22192), AOM_ICDF(23266), AOM_ICDF(24342),
4077 AOM_ICDF(24836), AOM_ICDF(26447), AOM_ICDF(29583), AOM_ICDF(31300),
4078 AOM_ICDF(32768), 0 },
4079 },
4080#else
Urvang Joshi63234542017-03-10 12:04:03 -08004081 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004082 { AOM_ICDF(15488), AOM_ICDF(17513), AOM_ICDF(20731), AOM_ICDF(24586),
4083 AOM_ICDF(25921), AOM_ICDF(26749), AOM_ICDF(27807), AOM_ICDF(28602),
4084 AOM_ICDF(29530), AOM_ICDF(30681), AOM_ICDF(32768), 0 },
4085 { AOM_ICDF(11648), AOM_ICDF(14783), AOM_ICDF(21879), AOM_ICDF(23981),
4086 AOM_ICDF(25213), AOM_ICDF(26218), AOM_ICDF(27472), AOM_ICDF(28465),
4087 AOM_ICDF(29221), AOM_ICDF(30232), AOM_ICDF(32768), 0 },
4088 { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(13392), AOM_ICDF(25167),
4089 AOM_ICDF(26295), AOM_ICDF(26789), AOM_ICDF(27536), AOM_ICDF(28088),
4090 AOM_ICDF(29039), AOM_ICDF(30700), AOM_ICDF(32768), 0 },
4091 { AOM_ICDF(13568), AOM_ICDF(15293), AOM_ICDF(18706), AOM_ICDF(21610),
4092 AOM_ICDF(23139), AOM_ICDF(24254), AOM_ICDF(26383), AOM_ICDF(27630),
4093 AOM_ICDF(28613), AOM_ICDF(30350), AOM_ICDF(32768), 0 },
4094 { AOM_ICDF(9600), AOM_ICDF(11772), AOM_ICDF(14397), AOM_ICDF(16580),
4095 AOM_ICDF(20091), AOM_ICDF(22865), AOM_ICDF(24490), AOM_ICDF(25395),
4096 AOM_ICDF(27037), AOM_ICDF(28694), AOM_ICDF(32768), 0 },
4097 { AOM_ICDF(12160), AOM_ICDF(14092), AOM_ICDF(17010), AOM_ICDF(18922),
4098 AOM_ICDF(22683), AOM_ICDF(25751), AOM_ICDF(27725), AOM_ICDF(30109),
4099 AOM_ICDF(31449), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4100 { AOM_ICDF(9088), AOM_ICDF(10383), AOM_ICDF(12569), AOM_ICDF(17113),
4101 AOM_ICDF(21351), AOM_ICDF(22511), AOM_ICDF(23633), AOM_ICDF(24382),
4102 AOM_ICDF(28215), AOM_ICDF(29798), AOM_ICDF(32768), 0 },
4103 { AOM_ICDF(10880), AOM_ICDF(12248), AOM_ICDF(15214), AOM_ICDF(20017),
4104 AOM_ICDF(21922), AOM_ICDF(22757), AOM_ICDF(24360), AOM_ICDF(25280),
4105 AOM_ICDF(26684), AOM_ICDF(29869), AOM_ICDF(32768), 0 },
4106 { AOM_ICDF(11008), AOM_ICDF(13133), AOM_ICDF(15587), AOM_ICDF(17872),
4107 AOM_ICDF(19579), AOM_ICDF(21157), AOM_ICDF(23788), AOM_ICDF(26629),
4108 AOM_ICDF(27732), AOM_ICDF(29601), AOM_ICDF(32768), 0 },
4109 { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15360), AOM_ICDF(18348),
4110 AOM_ICDF(20452), AOM_ICDF(20460), AOM_ICDF(21902), AOM_ICDF(23982),
4111 AOM_ICDF(25149), AOM_ICDF(26667), AOM_ICDF(32768), 0 },
4112 { AOM_ICDF(8704), AOM_ICDF(14250), AOM_ICDF(17722), AOM_ICDF(23128),
4113 AOM_ICDF(24217), AOM_ICDF(24892), AOM_ICDF(26215), AOM_ICDF(27392),
4114 AOM_ICDF(28358), AOM_ICDF(30287), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004115 },
4116 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004117 { AOM_ICDF(8448), AOM_ICDF(10443), AOM_ICDF(20733), AOM_ICDF(23689),
4118 AOM_ICDF(24634), AOM_ICDF(25951), AOM_ICDF(26670), AOM_ICDF(27861),
4119 AOM_ICDF(28379), AOM_ICDF(29305), AOM_ICDF(32768), 0 },
4120 { AOM_ICDF(6656), AOM_ICDF(9206), AOM_ICDF(24577), AOM_ICDF(25792),
4121 AOM_ICDF(26335), AOM_ICDF(27169), AOM_ICDF(27913), AOM_ICDF(28956),
4122 AOM_ICDF(29239), AOM_ICDF(29680), AOM_ICDF(32768), 0 },
4123 { AOM_ICDF(7168), AOM_ICDF(8968), AOM_ICDF(15662), AOM_ICDF(22937),
4124 AOM_ICDF(23849), AOM_ICDF(24616), AOM_ICDF(25603), AOM_ICDF(26555),
4125 AOM_ICDF(27210), AOM_ICDF(29142), AOM_ICDF(32768), 0 },
4126 { AOM_ICDF(9600), AOM_ICDF(11501), AOM_ICDF(19310), AOM_ICDF(21731),
4127 AOM_ICDF(22790), AOM_ICDF(23936), AOM_ICDF(25627), AOM_ICDF(27217),
4128 AOM_ICDF(27868), AOM_ICDF(29170), AOM_ICDF(32768), 0 },
4129 { AOM_ICDF(6912), AOM_ICDF(8730), AOM_ICDF(17650), AOM_ICDF(19377),
4130 AOM_ICDF(21025), AOM_ICDF(23319), AOM_ICDF(24537), AOM_ICDF(26112),
4131 AOM_ICDF(26840), AOM_ICDF(28345), AOM_ICDF(32768), 0 },
4132 { AOM_ICDF(7808), AOM_ICDF(9661), AOM_ICDF(20583), AOM_ICDF(21996),
4133 AOM_ICDF(23898), AOM_ICDF(26818), AOM_ICDF(28120), AOM_ICDF(30716),
4134 AOM_ICDF(31678), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
4135 { AOM_ICDF(6784), AOM_ICDF(8104), AOM_ICDF(15619), AOM_ICDF(18584),
4136 AOM_ICDF(20844), AOM_ICDF(22519), AOM_ICDF(23760), AOM_ICDF(25203),
4137 AOM_ICDF(27094), AOM_ICDF(28801), AOM_ICDF(32768), 0 },
4138 { AOM_ICDF(8832), AOM_ICDF(10141), AOM_ICDF(17035), AOM_ICDF(20764),
4139 AOM_ICDF(21703), AOM_ICDF(22751), AOM_ICDF(23964), AOM_ICDF(25305),
4140 AOM_ICDF(26034), AOM_ICDF(29006), AOM_ICDF(32768), 0 },
4141 { AOM_ICDF(8192), AOM_ICDF(9920), AOM_ICDF(19113), AOM_ICDF(20594),
4142 AOM_ICDF(21747), AOM_ICDF(23327), AOM_ICDF(24581), AOM_ICDF(26916),
4143 AOM_ICDF(27533), AOM_ICDF(28944), AOM_ICDF(32768), 0 },
4144 { AOM_ICDF(6656), AOM_ICDF(8696), AOM_ICDF(18381), AOM_ICDF(20537),
4145 AOM_ICDF(21804), AOM_ICDF(21809), AOM_ICDF(22751), AOM_ICDF(24394),
4146 AOM_ICDF(24917), AOM_ICDF(25990), AOM_ICDF(32768), 0 },
4147 { AOM_ICDF(6400), AOM_ICDF(9593), AOM_ICDF(20818), AOM_ICDF(23519),
4148 AOM_ICDF(24266), AOM_ICDF(25113), AOM_ICDF(26608), AOM_ICDF(27883),
4149 AOM_ICDF(28322), AOM_ICDF(29364), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004150 },
4151 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004152 { AOM_ICDF(12032), AOM_ICDF(14381), AOM_ICDF(16608), AOM_ICDF(24946),
4153 AOM_ICDF(26084), AOM_ICDF(26582), AOM_ICDF(27428), AOM_ICDF(28075),
4154 AOM_ICDF(29395), AOM_ICDF(30858), AOM_ICDF(32768), 0 },
4155 { AOM_ICDF(9216), AOM_ICDF(12620), AOM_ICDF(18287), AOM_ICDF(24345),
4156 AOM_ICDF(25984), AOM_ICDF(26715), AOM_ICDF(27732), AOM_ICDF(28519),
4157 AOM_ICDF(29399), AOM_ICDF(30781), AOM_ICDF(32768), 0 },
4158 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(10220), AOM_ICDF(26539),
4159 AOM_ICDF(27310), AOM_ICDF(27483), AOM_ICDF(28082), AOM_ICDF(28430),
4160 AOM_ICDF(29362), AOM_ICDF(31291), AOM_ICDF(32768), 0 },
4161 { AOM_ICDF(11904), AOM_ICDF(14838), AOM_ICDF(17359), AOM_ICDF(21663),
4162 AOM_ICDF(22931), AOM_ICDF(23619), AOM_ICDF(25620), AOM_ICDF(26653),
4163 AOM_ICDF(27823), AOM_ICDF(30547), AOM_ICDF(32768), 0 },
4164 { AOM_ICDF(10752), AOM_ICDF(13504), AOM_ICDF(15536), AOM_ICDF(19057),
4165 AOM_ICDF(21753), AOM_ICDF(23883), AOM_ICDF(25202), AOM_ICDF(26266),
4166 AOM_ICDF(28196), AOM_ICDF(30589), AOM_ICDF(32768), 0 },
4167 { AOM_ICDF(10496), AOM_ICDF(13193), AOM_ICDF(16787), AOM_ICDF(21011),
4168 AOM_ICDF(23929), AOM_ICDF(25651), AOM_ICDF(27958), AOM_ICDF(29330),
4169 AOM_ICDF(31022), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4170 { AOM_ICDF(8448), AOM_ICDF(9968), AOM_ICDF(11749), AOM_ICDF(18062),
4171 AOM_ICDF(21841), AOM_ICDF(22669), AOM_ICDF(23852), AOM_ICDF(24444),
4172 AOM_ICDF(28118), AOM_ICDF(30007), AOM_ICDF(32768), 0 },
4173 { AOM_ICDF(9728), AOM_ICDF(11168), AOM_ICDF(12602), AOM_ICDF(20819),
4174 AOM_ICDF(22194), AOM_ICDF(22764), AOM_ICDF(24366), AOM_ICDF(25022),
4175 AOM_ICDF(26414), AOM_ICDF(30460), AOM_ICDF(32768), 0 },
4176 { AOM_ICDF(9216), AOM_ICDF(12712), AOM_ICDF(14357), AOM_ICDF(18346),
4177 AOM_ICDF(20486), AOM_ICDF(21549), AOM_ICDF(23170), AOM_ICDF(25794),
4178 AOM_ICDF(27129), AOM_ICDF(29574), AOM_ICDF(32768), 0 },
4179 { AOM_ICDF(7808), AOM_ICDF(10733), AOM_ICDF(13057), AOM_ICDF(20252),
4180 AOM_ICDF(21906), AOM_ICDF(21912), AOM_ICDF(23057), AOM_ICDF(24233),
4181 AOM_ICDF(25700), AOM_ICDF(27439), AOM_ICDF(32768), 0 },
4182 { AOM_ICDF(6784), AOM_ICDF(11352), AOM_ICDF(13778), AOM_ICDF(23877),
4183 AOM_ICDF(24995), AOM_ICDF(25424), AOM_ICDF(26830), AOM_ICDF(27688),
4184 AOM_ICDF(28779), AOM_ICDF(30368), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004185 },
4186 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004187 { AOM_ICDF(12288), AOM_ICDF(13728), AOM_ICDF(16480), AOM_ICDF(19841),
4188 AOM_ICDF(21570), AOM_ICDF(22715), AOM_ICDF(25385), AOM_ICDF(27000),
4189 AOM_ICDF(28329), AOM_ICDF(29994), AOM_ICDF(32768), 0 },
4190 { AOM_ICDF(9344), AOM_ICDF(10991), AOM_ICDF(18817), AOM_ICDF(20972),
4191 AOM_ICDF(22137), AOM_ICDF(23231), AOM_ICDF(26025), AOM_ICDF(27711),
4192 AOM_ICDF(28244), AOM_ICDF(29428), AOM_ICDF(32768), 0 },
4193 { AOM_ICDF(9344), AOM_ICDF(10900), AOM_ICDF(13206), AOM_ICDF(21344),
4194 AOM_ICDF(22332), AOM_ICDF(22987), AOM_ICDF(25127), AOM_ICDF(26440),
4195 AOM_ICDF(27231), AOM_ICDF(29502), AOM_ICDF(32768), 0 },
4196 { AOM_ICDF(12928), AOM_ICDF(14478), AOM_ICDF(15978), AOM_ICDF(18630),
4197 AOM_ICDF(19852), AOM_ICDF(20897), AOM_ICDF(24699), AOM_ICDF(26464),
4198 AOM_ICDF(27030), AOM_ICDF(30482), AOM_ICDF(32768), 0 },
4199 { AOM_ICDF(9088), AOM_ICDF(10476), AOM_ICDF(13350), AOM_ICDF(15237),
4200 AOM_ICDF(18175), AOM_ICDF(20252), AOM_ICDF(23283), AOM_ICDF(25321),
4201 AOM_ICDF(26426), AOM_ICDF(29349), AOM_ICDF(32768), 0 },
4202 { AOM_ICDF(10240), AOM_ICDF(11912), AOM_ICDF(15008), AOM_ICDF(17177),
4203 AOM_ICDF(19979), AOM_ICDF(23056), AOM_ICDF(26395), AOM_ICDF(29681),
4204 AOM_ICDF(30790), AOM_ICDF(32760), AOM_ICDF(32768), 0 },
4205 { AOM_ICDF(8704), AOM_ICDF(9738), AOM_ICDF(11717), AOM_ICDF(15480),
4206 AOM_ICDF(18656), AOM_ICDF(20022), AOM_ICDF(22611), AOM_ICDF(24357),
4207 AOM_ICDF(27150), AOM_ICDF(29257), AOM_ICDF(32768), 0 },
4208 { AOM_ICDF(12928), AOM_ICDF(13548), AOM_ICDF(17978), AOM_ICDF(20602),
4209 AOM_ICDF(21814), AOM_ICDF(22427), AOM_ICDF(24568), AOM_ICDF(25881),
4210 AOM_ICDF(26823), AOM_ICDF(30817), AOM_ICDF(32768), 0 },
4211 { AOM_ICDF(10496), AOM_ICDF(12149), AOM_ICDF(14082), AOM_ICDF(18054),
4212 AOM_ICDF(19032), AOM_ICDF(19994), AOM_ICDF(24086), AOM_ICDF(28427),
4213 AOM_ICDF(29156), AOM_ICDF(30680), AOM_ICDF(32768), 0 },
4214 { AOM_ICDF(8448), AOM_ICDF(10158), AOM_ICDF(13867), AOM_ICDF(16506),
4215 AOM_ICDF(18584), AOM_ICDF(18592), AOM_ICDF(21472), AOM_ICDF(23767),
4216 AOM_ICDF(24646), AOM_ICDF(27279), AOM_ICDF(32768), 0 },
4217 { AOM_ICDF(7296), AOM_ICDF(9684), AOM_ICDF(13471), AOM_ICDF(17701),
4218 AOM_ICDF(18934), AOM_ICDF(19878), AOM_ICDF(25115), AOM_ICDF(27238),
4219 AOM_ICDF(27972), AOM_ICDF(29583), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004220 },
4221 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004222 { AOM_ICDF(10880), AOM_ICDF(12163), AOM_ICDF(14497), AOM_ICDF(17112),
4223 AOM_ICDF(20859), AOM_ICDF(22562), AOM_ICDF(23599), AOM_ICDF(24638),
4224 AOM_ICDF(26861), AOM_ICDF(29399), AOM_ICDF(32768), 0 },
4225 { AOM_ICDF(9984), AOM_ICDF(12476), AOM_ICDF(16360), AOM_ICDF(18889),
4226 AOM_ICDF(21414), AOM_ICDF(23474), AOM_ICDF(24563), AOM_ICDF(25909),
4227 AOM_ICDF(27195), AOM_ICDF(28828), AOM_ICDF(32768), 0 },
4228 { AOM_ICDF(7168), AOM_ICDF(9268), AOM_ICDF(10737), AOM_ICDF(20063),
4229 AOM_ICDF(22315), AOM_ICDF(23302), AOM_ICDF(24152), AOM_ICDF(25195),
4230 AOM_ICDF(26645), AOM_ICDF(28845), AOM_ICDF(32768), 0 },
4231 { AOM_ICDF(8960), AOM_ICDF(10727), AOM_ICDF(12449), AOM_ICDF(14263),
4232 AOM_ICDF(16523), AOM_ICDF(17608), AOM_ICDF(23352), AOM_ICDF(24676),
4233 AOM_ICDF(26478), AOM_ICDF(28886), AOM_ICDF(32768), 0 },
4234 { AOM_ICDF(9856), AOM_ICDF(11109), AOM_ICDF(13309), AOM_ICDF(14975),
4235 AOM_ICDF(19055), AOM_ICDF(21670), AOM_ICDF(23144), AOM_ICDF(24460),
4236 AOM_ICDF(26212), AOM_ICDF(28107), AOM_ICDF(32768), 0 },
4237 { AOM_ICDF(9984), AOM_ICDF(11586), AOM_ICDF(14565), AOM_ICDF(16562),
4238 AOM_ICDF(21107), AOM_ICDF(25444), AOM_ICDF(27218), AOM_ICDF(29429),
4239 AOM_ICDF(31451), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4240 { AOM_ICDF(7168), AOM_ICDF(8268), AOM_ICDF(9704), AOM_ICDF(13144),
4241 AOM_ICDF(18443), AOM_ICDF(20065), AOM_ICDF(21653), AOM_ICDF(23607),
4242 AOM_ICDF(26506), AOM_ICDF(28854), AOM_ICDF(32768), 0 },
4243 { AOM_ICDF(11520), AOM_ICDF(13014), AOM_ICDF(14866), AOM_ICDF(18136),
4244 AOM_ICDF(20231), AOM_ICDF(21509), AOM_ICDF(23004), AOM_ICDF(24186),
4245 AOM_ICDF(25728), AOM_ICDF(29468), AOM_ICDF(32768), 0 },
4246 { AOM_ICDF(10240), AOM_ICDF(12264), AOM_ICDF(14507), AOM_ICDF(16388),
4247 AOM_ICDF(18888), AOM_ICDF(20927), AOM_ICDF(22731), AOM_ICDF(24691),
4248 AOM_ICDF(26142), AOM_ICDF(28394), AOM_ICDF(32768), 0 },
4249 { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(12921), AOM_ICDF(15952),
4250 AOM_ICDF(19960), AOM_ICDF(19976), AOM_ICDF(21275), AOM_ICDF(23205),
4251 AOM_ICDF(25110), AOM_ICDF(26636), AOM_ICDF(32768), 0 },
4252 { AOM_ICDF(8448), AOM_ICDF(11488), AOM_ICDF(14065), AOM_ICDF(19113),
4253 AOM_ICDF(21604), AOM_ICDF(22978), AOM_ICDF(24508), AOM_ICDF(25895),
4254 AOM_ICDF(27398), AOM_ICDF(29055), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004255 },
4256 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004257 { AOM_ICDF(10368), AOM_ICDF(11768), AOM_ICDF(16772), AOM_ICDF(19842),
4258 AOM_ICDF(22940), AOM_ICDF(27394), AOM_ICDF(28528), AOM_ICDF(30267),
4259 AOM_ICDF(31371), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4260 { AOM_ICDF(9472), AOM_ICDF(11292), AOM_ICDF(18507), AOM_ICDF(20777),
4261 AOM_ICDF(23357), AOM_ICDF(27587), AOM_ICDF(28902), AOM_ICDF(30850),
4262 AOM_ICDF(31607), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4263 { AOM_ICDF(8064), AOM_ICDF(9512), AOM_ICDF(13782), AOM_ICDF(20645),
4264 AOM_ICDF(24493), AOM_ICDF(26242), AOM_ICDF(28001), AOM_ICDF(29435),
4265 AOM_ICDF(30438), AOM_ICDF(32759), AOM_ICDF(32768), 0 },
4266 { AOM_ICDF(8960), AOM_ICDF(10541), AOM_ICDF(15664), AOM_ICDF(17639),
4267 AOM_ICDF(19646), AOM_ICDF(22145), AOM_ICDF(25216), AOM_ICDF(28815),
4268 AOM_ICDF(30050), AOM_ICDF(32757), AOM_ICDF(32768), 0 },
4269 { AOM_ICDF(9984), AOM_ICDF(11141), AOM_ICDF(15365), AOM_ICDF(16746),
4270 AOM_ICDF(21186), AOM_ICDF(25766), AOM_ICDF(27817), AOM_ICDF(30022),
4271 AOM_ICDF(31309), AOM_ICDF(32762), AOM_ICDF(32768), 0 },
4272 { AOM_ICDF(9216), AOM_ICDF(10688), AOM_ICDF(16639), AOM_ICDF(17735),
4273 AOM_ICDF(21499), AOM_ICDF(26657), AOM_ICDF(28161), AOM_ICDF(30572),
4274 AOM_ICDF(31490), AOM_ICDF(32763), AOM_ICDF(32768), 0 },
4275 { AOM_ICDF(8448), AOM_ICDF(9303), AOM_ICDF(13611), AOM_ICDF(16636),
4276 AOM_ICDF(20555), AOM_ICDF(23414), AOM_ICDF(24912), AOM_ICDF(27613),
4277 AOM_ICDF(29727), AOM_ICDF(32756), AOM_ICDF(32768), 0 },
4278 { AOM_ICDF(9984), AOM_ICDF(11052), AOM_ICDF(16142), AOM_ICDF(19312),
4279 AOM_ICDF(21680), AOM_ICDF(23870), AOM_ICDF(25504), AOM_ICDF(28200),
4280 AOM_ICDF(29324), AOM_ICDF(32755), AOM_ICDF(32768), 0 },
4281 { AOM_ICDF(10496), AOM_ICDF(12323), AOM_ICDF(16955), AOM_ICDF(18839),
4282 AOM_ICDF(21144), AOM_ICDF(24861), AOM_ICDF(26838), AOM_ICDF(29988),
4283 AOM_ICDF(30976), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4284 { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
4285 AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
4286 AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
4287 { AOM_ICDF(7424), AOM_ICDF(10097), AOM_ICDF(15588), AOM_ICDF(20217),
4288 AOM_ICDF(23899), AOM_ICDF(26460), AOM_ICDF(28308), AOM_ICDF(30155),
4289 AOM_ICDF(30951), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004290 },
4291 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004292 { AOM_ICDF(11648), AOM_ICDF(13133), AOM_ICDF(15050), AOM_ICDF(20481),
4293 AOM_ICDF(22470), AOM_ICDF(23425), AOM_ICDF(24337), AOM_ICDF(25160),
4294 AOM_ICDF(28964), AOM_ICDF(30480), AOM_ICDF(32768), 0 },
4295 { AOM_ICDF(10240), AOM_ICDF(12616), AOM_ICDF(16631), AOM_ICDF(20485),
4296 AOM_ICDF(22290), AOM_ICDF(23628), AOM_ICDF(25235), AOM_ICDF(26353),
4297 AOM_ICDF(28107), AOM_ICDF(29655), AOM_ICDF(32768), 0 },
4298 { AOM_ICDF(6784), AOM_ICDF(8002), AOM_ICDF(9066), AOM_ICDF(20038),
4299 AOM_ICDF(22926), AOM_ICDF(23324), AOM_ICDF(23951), AOM_ICDF(24537),
4300 AOM_ICDF(26916), AOM_ICDF(30231), AOM_ICDF(32768), 0 },
4301 { AOM_ICDF(11904), AOM_ICDF(14105), AOM_ICDF(15782), AOM_ICDF(19896),
4302 AOM_ICDF(22283), AOM_ICDF(23147), AOM_ICDF(24763), AOM_ICDF(25983),
4303 AOM_ICDF(27812), AOM_ICDF(29980), AOM_ICDF(32768), 0 },
4304 { AOM_ICDF(10624), AOM_ICDF(11922), AOM_ICDF(13632), AOM_ICDF(15941),
4305 AOM_ICDF(20469), AOM_ICDF(22453), AOM_ICDF(24065), AOM_ICDF(25187),
4306 AOM_ICDF(27349), AOM_ICDF(29296), AOM_ICDF(32768), 0 },
4307 { AOM_ICDF(12032), AOM_ICDF(13085), AOM_ICDF(15468), AOM_ICDF(17768),
4308 AOM_ICDF(20613), AOM_ICDF(24388), AOM_ICDF(26385), AOM_ICDF(28430),
4309 AOM_ICDF(30938), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4310 { AOM_ICDF(9728), AOM_ICDF(10538), AOM_ICDF(11493), AOM_ICDF(14765),
4311 AOM_ICDF(18460), AOM_ICDF(19471), AOM_ICDF(20302), AOM_ICDF(20935),
4312 AOM_ICDF(28192), AOM_ICDF(29926), AOM_ICDF(32768), 0 },
4313 { AOM_ICDF(8960), AOM_ICDF(9890), AOM_ICDF(10962), AOM_ICDF(16685),
4314 AOM_ICDF(18880), AOM_ICDF(19480), AOM_ICDF(20674), AOM_ICDF(21477),
4315 AOM_ICDF(23815), AOM_ICDF(29341), AOM_ICDF(32768), 0 },
4316 { AOM_ICDF(14592), AOM_ICDF(16367), AOM_ICDF(17712), AOM_ICDF(20293),
4317 AOM_ICDF(22544), AOM_ICDF(23829), AOM_ICDF(24877), AOM_ICDF(26326),
4318 AOM_ICDF(27660), AOM_ICDF(29875), AOM_ICDF(32768), 0 },
4319 { AOM_ICDF(8960), AOM_ICDF(10448), AOM_ICDF(12279), AOM_ICDF(16206),
4320 AOM_ICDF(18672), AOM_ICDF(18682), AOM_ICDF(20058), AOM_ICDF(21547),
4321 AOM_ICDF(25097), AOM_ICDF(27165), AOM_ICDF(32768), 0 },
4322 { AOM_ICDF(11136), AOM_ICDF(13840), AOM_ICDF(15762), AOM_ICDF(21710),
4323 AOM_ICDF(23038), AOM_ICDF(23734), AOM_ICDF(24863), AOM_ICDF(25882),
4324 AOM_ICDF(27765), AOM_ICDF(30071), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004325 },
4326 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004327 { AOM_ICDF(12544), AOM_ICDF(14124), AOM_ICDF(16964), AOM_ICDF(21907),
4328 AOM_ICDF(23808), AOM_ICDF(24496), AOM_ICDF(25724), AOM_ICDF(26715),
4329 AOM_ICDF(27992), AOM_ICDF(30455), AOM_ICDF(32768), 0 },
4330 { AOM_ICDF(10368), AOM_ICDF(13606), AOM_ICDF(18247), AOM_ICDF(20869),
4331 AOM_ICDF(22590), AOM_ICDF(23749), AOM_ICDF(25088), AOM_ICDF(26378),
4332 AOM_ICDF(27277), AOM_ICDF(29808), AOM_ICDF(32768), 0 },
4333 { AOM_ICDF(9088), AOM_ICDF(11031), AOM_ICDF(12899), AOM_ICDF(23497),
4334 AOM_ICDF(24465), AOM_ICDF(24851), AOM_ICDF(25995), AOM_ICDF(26815),
4335 AOM_ICDF(27885), AOM_ICDF(30555), AOM_ICDF(32768), 0 },
4336 { AOM_ICDF(11520), AOM_ICDF(14342), AOM_ICDF(15710), AOM_ICDF(19196),
4337 AOM_ICDF(21250), AOM_ICDF(21907), AOM_ICDF(24665), AOM_ICDF(26153),
4338 AOM_ICDF(27212), AOM_ICDF(30750), AOM_ICDF(32768), 0 },
4339 { AOM_ICDF(9984), AOM_ICDF(11764), AOM_ICDF(13979), AOM_ICDF(16405),
4340 AOM_ICDF(19279), AOM_ICDF(20658), AOM_ICDF(23354), AOM_ICDF(25266),
4341 AOM_ICDF(26702), AOM_ICDF(29380), AOM_ICDF(32768), 0 },
4342 { AOM_ICDF(10112), AOM_ICDF(12325), AOM_ICDF(15918), AOM_ICDF(19060),
4343 AOM_ICDF(21829), AOM_ICDF(23882), AOM_ICDF(26277), AOM_ICDF(27697),
4344 AOM_ICDF(30114), AOM_ICDF(32758), AOM_ICDF(32768), 0 },
4345 { AOM_ICDF(9344), AOM_ICDF(10534), AOM_ICDF(12184), AOM_ICDF(16208),
4346 AOM_ICDF(19764), AOM_ICDF(20627), AOM_ICDF(22524), AOM_ICDF(23644),
4347 AOM_ICDF(26887), AOM_ICDF(29782), AOM_ICDF(32768), 0 },
4348 { AOM_ICDF(12928), AOM_ICDF(14013), AOM_ICDF(15625), AOM_ICDF(19107),
4349 AOM_ICDF(20654), AOM_ICDF(21451), AOM_ICDF(22910), AOM_ICDF(23873),
4350 AOM_ICDF(24776), AOM_ICDF(30239), AOM_ICDF(32768), 0 },
4351 { AOM_ICDF(10368), AOM_ICDF(12818), AOM_ICDF(14610), AOM_ICDF(17350),
4352 AOM_ICDF(19568), AOM_ICDF(20710), AOM_ICDF(22971), AOM_ICDF(25114),
4353 AOM_ICDF(26340), AOM_ICDF(29127), AOM_ICDF(32768), 0 },
4354 { AOM_ICDF(8960), AOM_ICDF(11192), AOM_ICDF(13720), AOM_ICDF(18429),
4355 AOM_ICDF(20409), AOM_ICDF(20417), AOM_ICDF(22250), AOM_ICDF(23318),
4356 AOM_ICDF(24647), AOM_ICDF(27248), AOM_ICDF(32768), 0 },
4357 { AOM_ICDF(7808), AOM_ICDF(11416), AOM_ICDF(13918), AOM_ICDF(19028),
4358 AOM_ICDF(20181), AOM_ICDF(20839), AOM_ICDF(24380), AOM_ICDF(26018),
4359 AOM_ICDF(26967), AOM_ICDF(29845), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004360 },
4361 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004362 { AOM_ICDF(9856), AOM_ICDF(11020), AOM_ICDF(14928), AOM_ICDF(18159),
4363 AOM_ICDF(19421), AOM_ICDF(20921), AOM_ICDF(23466), AOM_ICDF(26664),
4364 AOM_ICDF(27475), AOM_ICDF(28881), AOM_ICDF(32768), 0 },
4365 { AOM_ICDF(8704), AOM_ICDF(10302), AOM_ICDF(17323), AOM_ICDF(18907),
4366 AOM_ICDF(19868), AOM_ICDF(21184), AOM_ICDF(24171), AOM_ICDF(28033),
4367 AOM_ICDF(28625), AOM_ICDF(29353), AOM_ICDF(32768), 0 },
4368 { AOM_ICDF(7936), AOM_ICDF(9197), AOM_ICDF(12604), AOM_ICDF(20616),
4369 AOM_ICDF(21514), AOM_ICDF(22371), AOM_ICDF(24239), AOM_ICDF(26138),
4370 AOM_ICDF(26863), AOM_ICDF(29239), AOM_ICDF(32768), 0 },
4371 { AOM_ICDF(11264), AOM_ICDF(12524), AOM_ICDF(16083), AOM_ICDF(18574),
4372 AOM_ICDF(19858), AOM_ICDF(20841), AOM_ICDF(24242), AOM_ICDF(27606),
4373 AOM_ICDF(28352), AOM_ICDF(29853), AOM_ICDF(32768), 0 },
4374 { AOM_ICDF(8704), AOM_ICDF(10208), AOM_ICDF(13292), AOM_ICDF(15170),
4375 AOM_ICDF(17277), AOM_ICDF(19226), AOM_ICDF(22083), AOM_ICDF(25046),
4376 AOM_ICDF(26041), AOM_ICDF(27802), AOM_ICDF(32768), 0 },
4377 { AOM_ICDF(9088), AOM_ICDF(10568), AOM_ICDF(15511), AOM_ICDF(17246),
4378 AOM_ICDF(20170), AOM_ICDF(22791), AOM_ICDF(25558), AOM_ICDF(30740),
4379 AOM_ICDF(31635), AOM_ICDF(32764), AOM_ICDF(32768), 0 },
4380 { AOM_ICDF(7040), AOM_ICDF(8045), AOM_ICDF(10653), AOM_ICDF(13145),
4381 AOM_ICDF(15286), AOM_ICDF(16614), AOM_ICDF(19075), AOM_ICDF(23140),
4382 AOM_ICDF(26224), AOM_ICDF(28652), AOM_ICDF(32768), 0 },
4383 { AOM_ICDF(10240), AOM_ICDF(11032), AOM_ICDF(14258), AOM_ICDF(17629),
4384 AOM_ICDF(18914), AOM_ICDF(19898), AOM_ICDF(22412), AOM_ICDF(24961),
4385 AOM_ICDF(25815), AOM_ICDF(29156), AOM_ICDF(32768), 0 },
4386 { AOM_ICDF(11008), AOM_ICDF(12028), AOM_ICDF(14702), AOM_ICDF(16147),
4387 AOM_ICDF(17209), AOM_ICDF(18160), AOM_ICDF(21812), AOM_ICDF(27547),
4388 AOM_ICDF(28709), AOM_ICDF(30120), AOM_ICDF(32768), 0 },
4389 { AOM_ICDF(7168), AOM_ICDF(9068), AOM_ICDF(14160), AOM_ICDF(16937),
4390 AOM_ICDF(18515), AOM_ICDF(18521), AOM_ICDF(20636), AOM_ICDF(24617),
4391 AOM_ICDF(25317), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
4392 { AOM_ICDF(6784), AOM_ICDF(8510), AOM_ICDF(14195), AOM_ICDF(17148),
4393 AOM_ICDF(18158), AOM_ICDF(19201), AOM_ICDF(23070), AOM_ICDF(27351),
4394 AOM_ICDF(27901), AOM_ICDF(29422), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004395 },
4396 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004397 { AOM_ICDF(10112), AOM_ICDF(11528), AOM_ICDF(15345), AOM_ICDF(19296),
4398 AOM_ICDF(21394), AOM_ICDF(21402), AOM_ICDF(22379), AOM_ICDF(23840),
4399 AOM_ICDF(24851), AOM_ICDF(26150), AOM_ICDF(32768), 0 },
4400 { AOM_ICDF(8064), AOM_ICDF(10187), AOM_ICDF(17949), AOM_ICDF(20052),
4401 AOM_ICDF(22051), AOM_ICDF(22059), AOM_ICDF(23147), AOM_ICDF(24688),
4402 AOM_ICDF(25351), AOM_ICDF(26365), AOM_ICDF(32768), 0 },
4403 { AOM_ICDF(6528), AOM_ICDF(8373), AOM_ICDF(11041), AOM_ICDF(21963),
4404 AOM_ICDF(23089), AOM_ICDF(23093), AOM_ICDF(24076), AOM_ICDF(24925),
4405 AOM_ICDF(25691), AOM_ICDF(27764), AOM_ICDF(32768), 0 },
4406 { AOM_ICDF(9600), AOM_ICDF(11229), AOM_ICDF(14847), AOM_ICDF(17527),
4407 AOM_ICDF(19738), AOM_ICDF(19747), AOM_ICDF(21629), AOM_ICDF(23761),
4408 AOM_ICDF(24957), AOM_ICDF(27673), AOM_ICDF(32768), 0 },
4409 { AOM_ICDF(8960), AOM_ICDF(10262), AOM_ICDF(13339), AOM_ICDF(15480),
4410 AOM_ICDF(19925), AOM_ICDF(19942), AOM_ICDF(21445), AOM_ICDF(23037),
4411 AOM_ICDF(24329), AOM_ICDF(25977), AOM_ICDF(32768), 0 },
4412 { AOM_ICDF(2944), AOM_ICDF(5973), AOM_ICDF(8904), AOM_ICDF(11875),
4413 AOM_ICDF(14864), AOM_ICDF(17853), AOM_ICDF(20824), AOM_ICDF(23810),
4414 AOM_ICDF(26784), AOM_ICDF(29776), AOM_ICDF(32768), 0 },
4415 { AOM_ICDF(9472), AOM_ICDF(10564), AOM_ICDF(13426), AOM_ICDF(16561),
4416 AOM_ICDF(19685), AOM_ICDF(19697), AOM_ICDF(21076), AOM_ICDF(22583),
4417 AOM_ICDF(24891), AOM_ICDF(26983), AOM_ICDF(32768), 0 },
4418 { AOM_ICDF(8448), AOM_ICDF(9493), AOM_ICDF(12221), AOM_ICDF(16542),
4419 AOM_ICDF(18394), AOM_ICDF(18401), AOM_ICDF(19580), AOM_ICDF(20971),
4420 AOM_ICDF(22031), AOM_ICDF(26770), AOM_ICDF(32768), 0 },
4421 { AOM_ICDF(8704), AOM_ICDF(10772), AOM_ICDF(14209), AOM_ICDF(16381),
4422 AOM_ICDF(18911), AOM_ICDF(18921), AOM_ICDF(20436), AOM_ICDF(23374),
4423 AOM_ICDF(24475), AOM_ICDF(26095), AOM_ICDF(32768), 0 },
4424 { AOM_ICDF(7680), AOM_ICDF(9444), AOM_ICDF(13453), AOM_ICDF(16320),
4425 AOM_ICDF(18650), AOM_ICDF(18659), AOM_ICDF(19651), AOM_ICDF(21291),
4426 AOM_ICDF(22277), AOM_ICDF(23916), AOM_ICDF(32768), 0 },
4427 { AOM_ICDF(6656), AOM_ICDF(9920), AOM_ICDF(14740), AOM_ICDF(19864),
4428 AOM_ICDF(21495), AOM_ICDF(21501), AOM_ICDF(22953), AOM_ICDF(24372),
4429 AOM_ICDF(25192), AOM_ICDF(26760), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004430 },
4431 {
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004432 { AOM_ICDF(9728), AOM_ICDF(13958), AOM_ICDF(18881), AOM_ICDF(23624),
4433 AOM_ICDF(24754), AOM_ICDF(25553), AOM_ICDF(26709), AOM_ICDF(27940),
4434 AOM_ICDF(28977), AOM_ICDF(30413), AOM_ICDF(32768), 0 },
4435 { AOM_ICDF(8832), AOM_ICDF(12572), AOM_ICDF(22433), AOM_ICDF(24653),
4436 AOM_ICDF(25676), AOM_ICDF(26551), AOM_ICDF(27571), AOM_ICDF(28688),
4437 AOM_ICDF(29198), AOM_ICDF(30174), AOM_ICDF(32768), 0 },
4438 { AOM_ICDF(5888), AOM_ICDF(8828), AOM_ICDF(11353), AOM_ICDF(23482),
4439 AOM_ICDF(24310), AOM_ICDF(24737), AOM_ICDF(25804), AOM_ICDF(26375),
4440 AOM_ICDF(27174), AOM_ICDF(29840), AOM_ICDF(32768), 0 },
4441 { AOM_ICDF(9984), AOM_ICDF(13099), AOM_ICDF(16249), AOM_ICDF(19443),
4442 AOM_ICDF(20990), AOM_ICDF(22637), AOM_ICDF(24576), AOM_ICDF(25952),
4443 AOM_ICDF(26884), AOM_ICDF(29435), AOM_ICDF(32768), 0 },
4444 { AOM_ICDF(8448), AOM_ICDF(11108), AOM_ICDF(15085), AOM_ICDF(18134),
4445 AOM_ICDF(20319), AOM_ICDF(21992), AOM_ICDF(23549), AOM_ICDF(24989),
4446 AOM_ICDF(27177), AOM_ICDF(29208), AOM_ICDF(32768), 0 },
4447 { AOM_ICDF(9856), AOM_ICDF(13168), AOM_ICDF(18987), AOM_ICDF(22481),
4448 AOM_ICDF(24282), AOM_ICDF(26200), AOM_ICDF(27868), AOM_ICDF(30203),
4449 AOM_ICDF(31085), AOM_ICDF(32761), AOM_ICDF(32768), 0 },
4450 { AOM_ICDF(6784), AOM_ICDF(9119), AOM_ICDF(12629), AOM_ICDF(16877),
4451 AOM_ICDF(20262), AOM_ICDF(21125), AOM_ICDF(22307), AOM_ICDF(23615),
4452 AOM_ICDF(27727), AOM_ICDF(29972), AOM_ICDF(32768), 0 },
4453 { AOM_ICDF(8320), AOM_ICDF(10230), AOM_ICDF(12783), AOM_ICDF(19005),
4454 AOM_ICDF(20213), AOM_ICDF(20668), AOM_ICDF(22039), AOM_ICDF(23045),
4455 AOM_ICDF(24146), AOM_ICDF(30478), AOM_ICDF(32768), 0 },
4456 { AOM_ICDF(9088), AOM_ICDF(11308), AOM_ICDF(15416), AOM_ICDF(18118),
4457 AOM_ICDF(19762), AOM_ICDF(20906), AOM_ICDF(22574), AOM_ICDF(25162),
4458 AOM_ICDF(25994), AOM_ICDF(28455), AOM_ICDF(32768), 0 },
4459 { AOM_ICDF(6912), AOM_ICDF(10548), AOM_ICDF(15148), AOM_ICDF(20026),
4460 AOM_ICDF(21612), AOM_ICDF(21618), AOM_ICDF(22707), AOM_ICDF(24200),
4461 AOM_ICDF(24869), AOM_ICDF(26844), AOM_ICDF(32768), 0 },
4462 { AOM_ICDF(6656), AOM_ICDF(12164), AOM_ICDF(16993), AOM_ICDF(21568),
4463 AOM_ICDF(22933), AOM_ICDF(23648), AOM_ICDF(25322), AOM_ICDF(26602),
4464 AOM_ICDF(27806), AOM_ICDF(29841), AOM_ICDF(32768), 0 },
Urvang Joshi63234542017-03-10 12:04:03 -08004465 },
Urvang Joshie6ca8e82017-03-15 14:57:41 -07004466#endif // CONFIG_SMOOTH_HV
4467#else // CONFIG_ALT_INTRA
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004468 { { AOM_ICDF(17536), AOM_ICDF(19321), AOM_ICDF(21527), AOM_ICDF(25360),
4469 AOM_ICDF(27516), AOM_ICDF(28026), AOM_ICDF(29323), AOM_ICDF(30023),
4470 AOM_ICDF(30999), AOM_ICDF(32768), 0 },
4471 { AOM_ICDF(11776), AOM_ICDF(15466), AOM_ICDF(22360), AOM_ICDF(24865),
4472 AOM_ICDF(26991), AOM_ICDF(27889), AOM_ICDF(29299), AOM_ICDF(30519),
4473 AOM_ICDF(31398), AOM_ICDF(32768), 0 },
4474 { AOM_ICDF(9344), AOM_ICDF(12272), AOM_ICDF(13793), AOM_ICDF(25813),
4475 AOM_ICDF(27359), AOM_ICDF(27654), AOM_ICDF(28573), AOM_ICDF(29130),
4476 AOM_ICDF(30551), AOM_ICDF(32768), 0 },
4477 { AOM_ICDF(11648), AOM_ICDF(14123), AOM_ICDF(16454), AOM_ICDF(19948),
4478 AOM_ICDF(22780), AOM_ICDF(23846), AOM_ICDF(27087), AOM_ICDF(28995),
4479 AOM_ICDF(30380), AOM_ICDF(32768), 0 },
4480 { AOM_ICDF(9216), AOM_ICDF(12436), AOM_ICDF(15295), AOM_ICDF(17996),
4481 AOM_ICDF(24006), AOM_ICDF(25465), AOM_ICDF(27405), AOM_ICDF(28725),
4482 AOM_ICDF(30383), AOM_ICDF(32768), 0 },
4483 { AOM_ICDF(9344), AOM_ICDF(12181), AOM_ICDF(14433), AOM_ICDF(16634),
4484 AOM_ICDF(20355), AOM_ICDF(24317), AOM_ICDF(26133), AOM_ICDF(29295),
4485 AOM_ICDF(31344), AOM_ICDF(32768), 0 },
4486 { AOM_ICDF(8576), AOM_ICDF(10750), AOM_ICDF(12556), AOM_ICDF(17996),
4487 AOM_ICDF(22315), AOM_ICDF(23609), AOM_ICDF(25040), AOM_ICDF(26157),
4488 AOM_ICDF(30573), AOM_ICDF(32768), 0 },
4489 { AOM_ICDF(11008), AOM_ICDF(13303), AOM_ICDF(15432), AOM_ICDF(20646),
4490 AOM_ICDF(23506), AOM_ICDF(24100), AOM_ICDF(25624), AOM_ICDF(26824),
4491 AOM_ICDF(28055), AOM_ICDF(32768), 0 },
4492 { AOM_ICDF(9472), AOM_ICDF(12384), AOM_ICDF(14534), AOM_ICDF(17094),
4493 AOM_ICDF(20257), AOM_ICDF(22155), AOM_ICDF(24767), AOM_ICDF(28955),
4494 AOM_ICDF(30474), AOM_ICDF(32768), 0 },
4495 { AOM_ICDF(7552), AOM_ICDF(14152), AOM_ICDF(17352), AOM_ICDF(22654),
4496 AOM_ICDF(25123), AOM_ICDF(25783), AOM_ICDF(27911), AOM_ICDF(29182),
4497 AOM_ICDF(30849), AOM_ICDF(32768), 0 } },
4498 { { AOM_ICDF(8064), AOM_ICDF(11538), AOM_ICDF(21987), AOM_ICDF(24941),
4499 AOM_ICDF(26913), AOM_ICDF(28136), AOM_ICDF(29222), AOM_ICDF(30469),
4500 AOM_ICDF(31331), AOM_ICDF(32768), 0 },
4501 { AOM_ICDF(5504), AOM_ICDF(10403), AOM_ICDF(25080), AOM_ICDF(26762),
4502 AOM_ICDF(27933), AOM_ICDF(29104), AOM_ICDF(30092), AOM_ICDF(31576),
4503 AOM_ICDF(32004), AOM_ICDF(32768), 0 },
4504 { AOM_ICDF(5632), AOM_ICDF(8706), AOM_ICDF(15097), AOM_ICDF(23714),
4505 AOM_ICDF(25344), AOM_ICDF(26072), AOM_ICDF(27380), AOM_ICDF(28580),
4506 AOM_ICDF(29840), AOM_ICDF(32768), 0 },
4507 { AOM_ICDF(7424), AOM_ICDF(11186), AOM_ICDF(17593), AOM_ICDF(20154),
4508 AOM_ICDF(22974), AOM_ICDF(24351), AOM_ICDF(26916), AOM_ICDF(29956),
4509 AOM_ICDF(30967), AOM_ICDF(32768), 0 },
4510 { AOM_ICDF(5888), AOM_ICDF(10193), AOM_ICDF(16895), AOM_ICDF(19031),
4511 AOM_ICDF(23735), AOM_ICDF(25576), AOM_ICDF(27514), AOM_ICDF(29813),
4512 AOM_ICDF(30471), AOM_ICDF(32768), 0 },
4513 { AOM_ICDF(4864), AOM_ICDF(8352), AOM_ICDF(16459), AOM_ICDF(18062),
4514 AOM_ICDF(21263), AOM_ICDF(25378), AOM_ICDF(26937), AOM_ICDF(30376),
4515 AOM_ICDF(31619), AOM_ICDF(32768), 0 },
4516 { AOM_ICDF(4992), AOM_ICDF(7922), AOM_ICDF(13842), AOM_ICDF(18004),
4517 AOM_ICDF(21779), AOM_ICDF(23527), AOM_ICDF(25115), AOM_ICDF(27357),
4518 AOM_ICDF(30232), AOM_ICDF(32768), 0 },
4519 { AOM_ICDF(6656), AOM_ICDF(9716), AOM_ICDF(16379), AOM_ICDF(20053),
4520 AOM_ICDF(22487), AOM_ICDF(23613), AOM_ICDF(25437), AOM_ICDF(27270),
4521 AOM_ICDF(28516), AOM_ICDF(32768), 0 },
4522 { AOM_ICDF(6016), AOM_ICDF(9674), AOM_ICDF(16891), AOM_ICDF(18684),
4523 AOM_ICDF(21147), AOM_ICDF(23093), AOM_ICDF(25512), AOM_ICDF(30132),
4524 AOM_ICDF(30894), AOM_ICDF(32768), 0 },
4525 { AOM_ICDF(4608), AOM_ICDF(11318), AOM_ICDF(21038), AOM_ICDF(23650),
4526 AOM_ICDF(25303), AOM_ICDF(26262), AOM_ICDF(28295), AOM_ICDF(30479),
4527 AOM_ICDF(31212), AOM_ICDF(32768), 0 } },
4528 { { AOM_ICDF(10496), AOM_ICDF(12758), AOM_ICDF(14790), AOM_ICDF(24547),
4529 AOM_ICDF(26342), AOM_ICDF(26799), AOM_ICDF(27825), AOM_ICDF(28443),
4530 AOM_ICDF(30217), AOM_ICDF(32768), 0 },
4531 { AOM_ICDF(7040), AOM_ICDF(11462), AOM_ICDF(17121), AOM_ICDF(24215),
4532 AOM_ICDF(26504), AOM_ICDF(27267), AOM_ICDF(28492), AOM_ICDF(29444),
4533 AOM_ICDF(30846), AOM_ICDF(32768), 0 },
4534 { AOM_ICDF(5376), AOM_ICDF(8158), AOM_ICDF(9215), AOM_ICDF(26451),
4535 AOM_ICDF(27407), AOM_ICDF(27524), AOM_ICDF(27995), AOM_ICDF(28275),
4536 AOM_ICDF(29767), AOM_ICDF(32768), 0 },
4537 { AOM_ICDF(8704), AOM_ICDF(12652), AOM_ICDF(14145), AOM_ICDF(20101),
4538 AOM_ICDF(22879), AOM_ICDF(23675), AOM_ICDF(25629), AOM_ICDF(27079),
4539 AOM_ICDF(28923), AOM_ICDF(32768), 0 },
4540 { AOM_ICDF(7424), AOM_ICDF(12374), AOM_ICDF(14366), AOM_ICDF(18855),
4541 AOM_ICDF(23842), AOM_ICDF(24358), AOM_ICDF(25639), AOM_ICDF(27087),
4542 AOM_ICDF(29706), AOM_ICDF(32768), 0 },
4543 { AOM_ICDF(6400), AOM_ICDF(10005), AOM_ICDF(12939), AOM_ICDF(17753),
4544 AOM_ICDF(22206), AOM_ICDF(24790), AOM_ICDF(26785), AOM_ICDF(28164),
4545 AOM_ICDF(30520), AOM_ICDF(32768), 0 },
4546 { AOM_ICDF(5632), AOM_ICDF(8176), AOM_ICDF(9713), AOM_ICDF(19053),
4547 AOM_ICDF(22343), AOM_ICDF(23222), AOM_ICDF(24453), AOM_ICDF(25070),
4548 AOM_ICDF(29761), AOM_ICDF(32768), 0 },
4549 { AOM_ICDF(7040), AOM_ICDF(9754), AOM_ICDF(10833), AOM_ICDF(21229),
4550 AOM_ICDF(23540), AOM_ICDF(23943), AOM_ICDF(24839), AOM_ICDF(25675),
4551 AOM_ICDF(27033), AOM_ICDF(32768), 0 },
4552 { AOM_ICDF(6784), AOM_ICDF(11758), AOM_ICDF(13481), AOM_ICDF(17236),
4553 AOM_ICDF(20210), AOM_ICDF(21768), AOM_ICDF(24303), AOM_ICDF(26948),
4554 AOM_ICDF(28676), AOM_ICDF(32768), 0 },
4555 { AOM_ICDF(4864), AOM_ICDF(12712), AOM_ICDF(14201), AOM_ICDF(23863),
4556 AOM_ICDF(25952), AOM_ICDF(26386), AOM_ICDF(27632), AOM_ICDF(28635),
4557 AOM_ICDF(30362), AOM_ICDF(32768), 0 } },
4558 { { AOM_ICDF(13184), AOM_ICDF(15173), AOM_ICDF(17647), AOM_ICDF(21576),
4559 AOM_ICDF(24474), AOM_ICDF(25267), AOM_ICDF(27699), AOM_ICDF(29283),
4560 AOM_ICDF(30549), AOM_ICDF(32768), 0 },
4561 { AOM_ICDF(7552), AOM_ICDF(11295), AOM_ICDF(18257), AOM_ICDF(20811),
4562 AOM_ICDF(23213), AOM_ICDF(24606), AOM_ICDF(27731), AOM_ICDF(30407),
4563 AOM_ICDF(31237), AOM_ICDF(32768), 0 },
4564 { AOM_ICDF(7936), AOM_ICDF(10846), AOM_ICDF(12816), AOM_ICDF(22436),
4565 AOM_ICDF(24614), AOM_ICDF(25130), AOM_ICDF(26890), AOM_ICDF(28199),
4566 AOM_ICDF(29091), AOM_ICDF(32768), 0 },
4567 { AOM_ICDF(8576), AOM_ICDF(11411), AOM_ICDF(13830), AOM_ICDF(15918),
4568 AOM_ICDF(18996), AOM_ICDF(20044), AOM_ICDF(25114), AOM_ICDF(27835),
4569 AOM_ICDF(28972), AOM_ICDF(32768), 0 },
4570 { AOM_ICDF(7680), AOM_ICDF(10816), AOM_ICDF(13646), AOM_ICDF(15966),
4571 AOM_ICDF(21162), AOM_ICDF(22012), AOM_ICDF(24701), AOM_ICDF(27506),
4572 AOM_ICDF(29644), AOM_ICDF(32768), 0 },
4573 { AOM_ICDF(6784), AOM_ICDF(9423), AOM_ICDF(12524), AOM_ICDF(14773),
4574 AOM_ICDF(19447), AOM_ICDF(22804), AOM_ICDF(26073), AOM_ICDF(29211),
4575 AOM_ICDF(30642), AOM_ICDF(32768), 0 },
4576 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(11059), AOM_ICDF(15861),
4577 AOM_ICDF(21174), AOM_ICDF(22338), AOM_ICDF(24620), AOM_ICDF(27071),
4578 AOM_ICDF(30899), AOM_ICDF(32768), 0 },
4579 { AOM_ICDF(9856), AOM_ICDF(11557), AOM_ICDF(13960), AOM_ICDF(18525),
4580 AOM_ICDF(21788), AOM_ICDF(22189), AOM_ICDF(24462), AOM_ICDF(26603),
4581 AOM_ICDF(27470), AOM_ICDF(32768), 0 },
4582 { AOM_ICDF(7808), AOM_ICDF(10636), AOM_ICDF(13143), AOM_ICDF(15844),
4583 AOM_ICDF(18698), AOM_ICDF(20272), AOM_ICDF(24323), AOM_ICDF(30096),
4584 AOM_ICDF(31787), AOM_ICDF(32768), 0 },
4585 { AOM_ICDF(6016), AOM_ICDF(10928), AOM_ICDF(14596), AOM_ICDF(18926),
4586 AOM_ICDF(21586), AOM_ICDF(22688), AOM_ICDF(26626), AOM_ICDF(29001),
4587 AOM_ICDF(30399), AOM_ICDF(32768), 0 } },
4588 { { AOM_ICDF(8832), AOM_ICDF(10983), AOM_ICDF(13451), AOM_ICDF(16582),
4589 AOM_ICDF(21656), AOM_ICDF(23109), AOM_ICDF(24845), AOM_ICDF(26207),
4590 AOM_ICDF(28796), AOM_ICDF(32768), 0 },
4591 { AOM_ICDF(6784), AOM_ICDF(10844), AOM_ICDF(15554), AOM_ICDF(18073),
4592 AOM_ICDF(22954), AOM_ICDF(24901), AOM_ICDF(26776), AOM_ICDF(28649),
4593 AOM_ICDF(30419), AOM_ICDF(32768), 0 },
4594 { AOM_ICDF(5120), AOM_ICDF(8252), AOM_ICDF(10072), AOM_ICDF(20108),
4595 AOM_ICDF(23535), AOM_ICDF(24346), AOM_ICDF(25761), AOM_ICDF(26418),
4596 AOM_ICDF(28675), AOM_ICDF(32768), 0 },
4597 { AOM_ICDF(7680), AOM_ICDF(11012), AOM_ICDF(12627), AOM_ICDF(14595),
4598 AOM_ICDF(19462), AOM_ICDF(20888), AOM_ICDF(23348), AOM_ICDF(25703),
4599 AOM_ICDF(28159), AOM_ICDF(32768), 0 },
4600 { AOM_ICDF(6656), AOM_ICDF(9818), AOM_ICDF(11790), AOM_ICDF(13813),
4601 AOM_ICDF(22731), AOM_ICDF(24737), AOM_ICDF(26557), AOM_ICDF(28061),
4602 AOM_ICDF(29697), AOM_ICDF(32768), 0 },
4603 { AOM_ICDF(5632), AOM_ICDF(8918), AOM_ICDF(11620), AOM_ICDF(13802),
4604 AOM_ICDF(19950), AOM_ICDF(23764), AOM_ICDF(25734), AOM_ICDF(28537),
4605 AOM_ICDF(31809), AOM_ICDF(32768), 0 },
4606 { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(7808), AOM_ICDF(12281),
4607 AOM_ICDF(19375), AOM_ICDF(20970), AOM_ICDF(22860), AOM_ICDF(24602),
4608 AOM_ICDF(29929), AOM_ICDF(32768), 0 },
4609 { AOM_ICDF(7040), AOM_ICDF(9553), AOM_ICDF(11457), AOM_ICDF(15102),
4610 AOM_ICDF(20291), AOM_ICDF(21280), AOM_ICDF(22985), AOM_ICDF(24475),
4611 AOM_ICDF(26613), AOM_ICDF(32768), 0 },
Jonathan Matthewsb28b78c2017-04-19 08:47:01 +01004612 { AOM_ICDF(6528), AOM_ICDF(10423), AOM_ICDF(12605), AOM_ICDF(14621),
Timothy B. Terriberryf6c807c2017-03-25 16:09:29 -07004613 AOM_ICDF(19031), AOM_ICDF(21505), AOM_ICDF(24585), AOM_ICDF(27558),
4614 AOM_ICDF(29532), AOM_ICDF(32768), 0 },
4615 { AOM_ICDF(6016), AOM_ICDF(11659), AOM_ICDF(14463), AOM_ICDF(18867),
4616 AOM_ICDF(23653), AOM_ICDF(24903), AOM_ICDF(27115), AOM_ICDF(29389),
4617 AOM_ICDF(31382), AOM_ICDF(32768), 0 } },
4618 { { AOM_ICDF(8192), AOM_ICDF(10016), AOM_ICDF(13304), AOM_ICDF(16362),
4619 AOM_ICDF(21107), AOM_ICDF(25165), AOM_ICDF(26620), AOM_ICDF(28901),
4620 AOM_ICDF(30910), AOM_ICDF(32768), 0 },
4621 { AOM_ICDF(5888), AOM_ICDF(8723), AOM_ICDF(16237), AOM_ICDF(18318),
4622 AOM_ICDF(22002), AOM_ICDF(25923), AOM_ICDF(27394), AOM_ICDF(29934),
4623 AOM_ICDF(31428), AOM_ICDF(32768), 0 },
4624 { AOM_ICDF(4608), AOM_ICDF(7138), AOM_ICDF(9841), AOM_ICDF(18442),
4625 AOM_ICDF(22447), AOM_ICDF(24618), AOM_ICDF(26337), AOM_ICDF(27945),
4626 AOM_ICDF(30168), AOM_ICDF(32768), 0 },
4627 { AOM_ICDF(6784), AOM_ICDF(8916), AOM_ICDF(12270), AOM_ICDF(14851),
4628 AOM_ICDF(19886), AOM_ICDF(22759), AOM_ICDF(25105), AOM_ICDF(28368),
4629 AOM_ICDF(29760), AOM_ICDF(32768), 0 },
4630 { AOM_ICDF(5120), AOM_ICDF(7928), AOM_ICDF(11324), AOM_ICDF(13340),
4631 AOM_ICDF(21205), AOM_ICDF(24224), AOM_ICDF(25926), AOM_ICDF(28518),
4632 AOM_ICDF(30560), AOM_ICDF(32768), 0 },
4633 { AOM_ICDF(4480), AOM_ICDF(6580), AOM_ICDF(10058), AOM_ICDF(11237),
4634 AOM_ICDF(16807), AOM_ICDF(25937), AOM_ICDF(27218), AOM_ICDF(30015),
4635 AOM_ICDF(31348), AOM_ICDF(32768), 0 },
4636 { AOM_ICDF(4608), AOM_ICDF(6808), AOM_ICDF(9445), AOM_ICDF(12446),
4637 AOM_ICDF(18461), AOM_ICDF(21835), AOM_ICDF(23244), AOM_ICDF(26109),
4638 AOM_ICDF(30115), AOM_ICDF(32768), 0 },
4639 { AOM_ICDF(5760), AOM_ICDF(7659), AOM_ICDF(10798), AOM_ICDF(14720),
4640 AOM_ICDF(19157), AOM_ICDF(21955), AOM_ICDF(23645), AOM_ICDF(26460),
4641 AOM_ICDF(28702), AOM_ICDF(32768), 0 },
4642 { AOM_ICDF(5760), AOM_ICDF(8503), AOM_ICDF(11157), AOM_ICDF(13071),
4643 AOM_ICDF(17594), AOM_ICDF(22047), AOM_ICDF(24099), AOM_ICDF(29077),
4644 AOM_ICDF(30850), AOM_ICDF(32768), 0 },
4645 { AOM_ICDF(4864), AOM_ICDF(9660), AOM_ICDF(14264), AOM_ICDF(17105),
4646 AOM_ICDF(21528), AOM_ICDF(24094), AOM_ICDF(26025), AOM_ICDF(28580),
4647 AOM_ICDF(30559), AOM_ICDF(32768), 0 } },
4648 { { AOM_ICDF(9600), AOM_ICDF(11139), AOM_ICDF(12998), AOM_ICDF(18660),
4649 AOM_ICDF(22158), AOM_ICDF(23501), AOM_ICDF(24659), AOM_ICDF(25736),
4650 AOM_ICDF(30296), AOM_ICDF(32768), 0 },
4651 { AOM_ICDF(7168), AOM_ICDF(11068), AOM_ICDF(15984), AOM_ICDF(19969),
4652 AOM_ICDF(23169), AOM_ICDF(24704), AOM_ICDF(26216), AOM_ICDF(27572),
4653 AOM_ICDF(31368), AOM_ICDF(32768), 0 },
4654 { AOM_ICDF(4480), AOM_ICDF(6801), AOM_ICDF(8018), AOM_ICDF(20908),
4655 AOM_ICDF(23071), AOM_ICDF(23583), AOM_ICDF(24301), AOM_ICDF(25062),
4656 AOM_ICDF(29427), AOM_ICDF(32768), 0 },
4657 { AOM_ICDF(7168), AOM_ICDF(10068), AOM_ICDF(11753), AOM_ICDF(15843),
4658 AOM_ICDF(19742), AOM_ICDF(21358), AOM_ICDF(23809), AOM_ICDF(26189),
4659 AOM_ICDF(29067), AOM_ICDF(32768), 0 },
4660 { AOM_ICDF(6016), AOM_ICDF(9047), AOM_ICDF(10622), AOM_ICDF(13931),
4661 AOM_ICDF(22462), AOM_ICDF(23858), AOM_ICDF(25911), AOM_ICDF(27277),
4662 AOM_ICDF(29722), AOM_ICDF(32768), 0 },
4663 { AOM_ICDF(5888), AOM_ICDF(7568), AOM_ICDF(9931), AOM_ICDF(13533),
4664 AOM_ICDF(18431), AOM_ICDF(22063), AOM_ICDF(23777), AOM_ICDF(26025),
4665 AOM_ICDF(30555), AOM_ICDF(32768), 0 },
4666 { AOM_ICDF(4352), AOM_ICDF(6239), AOM_ICDF(7379), AOM_ICDF(13739),
4667 AOM_ICDF(16917), AOM_ICDF(18090), AOM_ICDF(18835), AOM_ICDF(19651),
4668 AOM_ICDF(30360), AOM_ICDF(32768), 0 },
4669 { AOM_ICDF(6528), AOM_ICDF(8988), AOM_ICDF(10288), AOM_ICDF(15534),
4670 AOM_ICDF(19495), AOM_ICDF(20386), AOM_ICDF(21934), AOM_ICDF(23034),
4671 AOM_ICDF(26988), AOM_ICDF(32768), 0 },
4672 { AOM_ICDF(7040), AOM_ICDF(10055), AOM_ICDF(11652), AOM_ICDF(14757),
4673 AOM_ICDF(19622), AOM_ICDF(21715), AOM_ICDF(23615), AOM_ICDF(26761),
4674 AOM_ICDF(29483), AOM_ICDF(32768), 0 },
4675 { AOM_ICDF(4736), AOM_ICDF(10102), AOM_ICDF(12315), AOM_ICDF(19078),
4676 AOM_ICDF(21348), AOM_ICDF(22621), AOM_ICDF(24246), AOM_ICDF(26044),
4677 AOM_ICDF(29931), AOM_ICDF(32768), 0 } },
4678 { { AOM_ICDF(10496), AOM_ICDF(12410), AOM_ICDF(14955), AOM_ICDF(19891),
4679 AOM_ICDF(23137), AOM_ICDF(23792), AOM_ICDF(25159), AOM_ICDF(26378),
4680 AOM_ICDF(28125), AOM_ICDF(32768), 0 },
4681 { AOM_ICDF(7936), AOM_ICDF(12204), AOM_ICDF(17104), AOM_ICDF(20191),
4682 AOM_ICDF(23468), AOM_ICDF(24630), AOM_ICDF(26156), AOM_ICDF(27628),
4683 AOM_ICDF(28913), AOM_ICDF(32768), 0 },
4684 { AOM_ICDF(6016), AOM_ICDF(8629), AOM_ICDF(10232), AOM_ICDF(23591),
4685 AOM_ICDF(25349), AOM_ICDF(25637), AOM_ICDF(26306), AOM_ICDF(27063),
4686 AOM_ICDF(28980), AOM_ICDF(32768), 0 },
4687 { AOM_ICDF(8704), AOM_ICDF(12088), AOM_ICDF(13461), AOM_ICDF(16646),
4688 AOM_ICDF(20516), AOM_ICDF(21455), AOM_ICDF(24062), AOM_ICDF(26579),
4689 AOM_ICDF(28368), AOM_ICDF(32768), 0 },
4690 { AOM_ICDF(7296), AOM_ICDF(11177), AOM_ICDF(13117), AOM_ICDF(16196),
4691 AOM_ICDF(23378), AOM_ICDF(24708), AOM_ICDF(26440), AOM_ICDF(27997),
4692 AOM_ICDF(29078), AOM_ICDF(32768), 0 },
4693 { AOM_ICDF(6272), AOM_ICDF(9377), AOM_ICDF(12575), AOM_ICDF(15616),
4694 AOM_ICDF(20919), AOM_ICDF(23697), AOM_ICDF(26603), AOM_ICDF(27566),
4695 AOM_ICDF(29903), AOM_ICDF(32768), 0 },
4696 { AOM_ICDF(6528), AOM_ICDF(9091), AOM_ICDF(10478), AOM_ICDF(16445),
4697 AOM_ICDF(21081), AOM_ICDF(22320), AOM_ICDF(23871), AOM_ICDF(25087),
4698 AOM_ICDF(29258), AOM_ICDF(32768), 0 },
4699 { AOM_ICDF(8704), AOM_ICDF(11148), AOM_ICDF(12499), AOM_ICDF(17340),
4700 AOM_ICDF(20656), AOM_ICDF(21288), AOM_ICDF(22588), AOM_ICDF(23701),
4701 AOM_ICDF(24693), AOM_ICDF(32768), 0 },
4702 { AOM_ICDF(7552), AOM_ICDF(11394), AOM_ICDF(12980), AOM_ICDF(15562),
4703 AOM_ICDF(19942), AOM_ICDF(21792), AOM_ICDF(25093), AOM_ICDF(28211),
4704 AOM_ICDF(28959), AOM_ICDF(32768), 0 },
4705 { AOM_ICDF(5120), AOM_ICDF(11708), AOM_ICDF(13847), AOM_ICDF(19377),
4706 AOM_ICDF(22421), AOM_ICDF(23160), AOM_ICDF(25449), AOM_ICDF(27136),
4707 AOM_ICDF(29182), AOM_ICDF(32768), 0 } },
4708 { { AOM_ICDF(9984), AOM_ICDF(12031), AOM_ICDF(15190), AOM_ICDF(18673),
4709 AOM_ICDF(21422), AOM_ICDF(22812), AOM_ICDF(25690), AOM_ICDF(29118),
4710 AOM_ICDF(30458), AOM_ICDF(32768), 0 },
4711 { AOM_ICDF(6144), AOM_ICDF(9680), AOM_ICDF(17436), AOM_ICDF(19610),
4712 AOM_ICDF(21820), AOM_ICDF(23485), AOM_ICDF(26313), AOM_ICDF(30826),
4713 AOM_ICDF(31843), AOM_ICDF(32768), 0 },
4714 { AOM_ICDF(6016), AOM_ICDF(8315), AOM_ICDF(10607), AOM_ICDF(19333),
4715 AOM_ICDF(21572), AOM_ICDF(22553), AOM_ICDF(25266), AOM_ICDF(27288),
4716 AOM_ICDF(28551), AOM_ICDF(32768), 0 },
4717 { AOM_ICDF(7168), AOM_ICDF(9668), AOM_ICDF(12646), AOM_ICDF(16257),
4718 AOM_ICDF(19648), AOM_ICDF(20899), AOM_ICDF(25304), AOM_ICDF(30465),
4719 AOM_ICDF(31625), AOM_ICDF(32768), 0 },
4720 { AOM_ICDF(6144), AOM_ICDF(9368), AOM_ICDF(11836), AOM_ICDF(14130),
4721 AOM_ICDF(19153), AOM_ICDF(21157), AOM_ICDF(24876), AOM_ICDF(28452),
4722 AOM_ICDF(29396), AOM_ICDF(32768), 0 },
4723 { AOM_ICDF(5504), AOM_ICDF(8486), AOM_ICDF(11996), AOM_ICDF(14412),
4724 AOM_ICDF(17968), AOM_ICDF(21814), AOM_ICDF(24424), AOM_ICDF(30682),
4725 AOM_ICDF(32059), AOM_ICDF(32768), 0 },
4726 { AOM_ICDF(5376), AOM_ICDF(7195), AOM_ICDF(9592), AOM_ICDF(13331),
4727 AOM_ICDF(17569), AOM_ICDF(19460), AOM_ICDF(22371), AOM_ICDF(25458),
4728 AOM_ICDF(28942), AOM_ICDF(32768), 0 },
4729 { AOM_ICDF(7424), AOM_ICDF(9206), AOM_ICDF(11783), AOM_ICDF(16456),
4730 AOM_ICDF(19253), AOM_ICDF(20390), AOM_ICDF(23775), AOM_ICDF(27007),
4731 AOM_ICDF(28425), AOM_ICDF(32768), 0 },
4732 { AOM_ICDF(5888), AOM_ICDF(8303), AOM_ICDF(11361), AOM_ICDF(13440),
4733 AOM_ICDF(15848), AOM_ICDF(17549), AOM_ICDF(21532), AOM_ICDF(29564),
4734 AOM_ICDF(30665), AOM_ICDF(32768), 0 },
4735 { AOM_ICDF(4608), AOM_ICDF(8788), AOM_ICDF(13284), AOM_ICDF(16621),
4736 AOM_ICDF(18983), AOM_ICDF(20286), AOM_ICDF(24577), AOM_ICDF(28960),
4737 AOM_ICDF(30314), AOM_ICDF(32768), 0 } },
4738 { { AOM_ICDF(8320), AOM_ICDF(15005), AOM_ICDF(19168), AOM_ICDF(24282),
4739 AOM_ICDF(26707), AOM_ICDF(27402), AOM_ICDF(28681), AOM_ICDF(29639),
4740 AOM_ICDF(30629), AOM_ICDF(32768), 0 },
4741 { AOM_ICDF(5632), AOM_ICDF(13900), AOM_ICDF(22376), AOM_ICDF(24867),
4742 AOM_ICDF(26804), AOM_ICDF(27734), AOM_ICDF(29130), AOM_ICDF(30722),
4743 AOM_ICDF(31465), AOM_ICDF(32768), 0 },
4744 { AOM_ICDF(4992), AOM_ICDF(9115), AOM_ICDF(11055), AOM_ICDF(24893),
4745 AOM_ICDF(26316), AOM_ICDF(26661), AOM_ICDF(27663), AOM_ICDF(28301),
4746 AOM_ICDF(29418), AOM_ICDF(32768), 0 },
4747 { AOM_ICDF(7424), AOM_ICDF(12077), AOM_ICDF(14987), AOM_ICDF(19596),
4748 AOM_ICDF(22615), AOM_ICDF(23600), AOM_ICDF(26465), AOM_ICDF(28484),
4749 AOM_ICDF(29789), AOM_ICDF(32768), 0 },
4750 { AOM_ICDF(6272), AOM_ICDF(11447), AOM_ICDF(14362), AOM_ICDF(18204),
4751 AOM_ICDF(23418), AOM_ICDF(24715), AOM_ICDF(26697), AOM_ICDF(28547),
4752 AOM_ICDF(29520), AOM_ICDF(32768), 0 },
4753 { AOM_ICDF(5248), AOM_ICDF(10946), AOM_ICDF(15379), AOM_ICDF(18167),
4754 AOM_ICDF(22197), AOM_ICDF(25432), AOM_ICDF(27295), AOM_ICDF(30031),
4755 AOM_ICDF(30576), AOM_ICDF(32768), 0 },
4756 { AOM_ICDF(5120), AOM_ICDF(9008), AOM_ICDF(11607), AOM_ICDF(18210),
4757 AOM_ICDF(22327), AOM_ICDF(23427), AOM_ICDF(24887), AOM_ICDF(26580),
4758 AOM_ICDF(29892), AOM_ICDF(32768), 0 },
4759 { AOM_ICDF(6656), AOM_ICDF(10124), AOM_ICDF(12689), AOM_ICDF(19922),
4760 AOM_ICDF(22480), AOM_ICDF(22807), AOM_ICDF(24441), AOM_ICDF(25579),
4761 AOM_ICDF(26787), AOM_ICDF(32768), 0 },
4762 { AOM_ICDF(5376), AOM_ICDF(10084), AOM_ICDF(13983), AOM_ICDF(17113),
4763 AOM_ICDF(19996), AOM_ICDF(21614), AOM_ICDF(24403), AOM_ICDF(28651),
4764 AOM_ICDF(29938), AOM_ICDF(32768), 0 },
4765 { AOM_ICDF(5504), AOM_ICDF(14131), AOM_ICDF(17989), AOM_ICDF(23324),
4766 AOM_ICDF(25513), AOM_ICDF(26071), AOM_ICDF(27850), AOM_ICDF(29464),
4767 AOM_ICDF(30393), AOM_ICDF(32768), 0 } },
Urvang Joshi63234542017-03-10 12:04:03 -08004768#endif // CONFIG_ALT_INTRA
4769 };
Thomas Davies1d7db722017-02-22 11:15:00 +00004770
Yaowu Xuc27fc142016-08-22 16:08:15 -07004771static void init_mode_probs(FRAME_CONTEXT *fc) {
Yaowu Xuf883b422016-08-30 14:01:10 -07004772 av1_copy(fc->switchable_interp_prob, default_switchable_interp_prob);
4773 av1_copy(fc->partition_prob, default_partition_probs);
4774 av1_copy(fc->intra_inter_prob, default_intra_inter_p);
4775 av1_copy(fc->comp_inter_prob, default_comp_inter_p);
Thomas Davies860def62017-06-14 10:00:03 +01004776#if CONFIG_NEW_MULTISYMBOL
4777 av1_copy(fc->comp_inter_cdf, default_comp_inter_cdf);
Thomas Daviesce7272d2017-07-04 16:11:08 +01004778#if CONFIG_PALETTE
4779 av1_copy(fc->palette_y_size_cdf, default_palette_y_size_cdf);
4780 av1_copy(fc->palette_uv_size_cdf, default_palette_uv_size_cdf);
4781 av1_copy(fc->palette_y_color_index_cdf, default_palette_y_color_index_cdf);
4782 av1_copy(fc->palette_uv_color_index_cdf, default_palette_uv_color_index_cdf);
Thomas Davies860def62017-06-14 10:00:03 +01004783#endif
Thomas Daviesce7272d2017-07-04 16:11:08 +01004784#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liuc082bbc2017-05-17 13:31:37 -07004785#if CONFIG_EXT_COMP_REFS
4786 av1_copy(fc->comp_ref_type_prob, default_comp_ref_type_p);
4787 av1_copy(fc->uni_comp_ref_prob, default_uni_comp_ref_p);
Zoe Liufcf5fa22017-06-26 16:00:38 -07004788#if CONFIG_NEW_MULTISYMBOL
4789 av1_copy(fc->comp_ref_type_cdf, default_comp_ref_type_cdf);
4790 av1_copy(fc->uni_comp_ref_cdf, default_uni_comp_ref_cdf);
4791#endif // CONFIG_NEW_MULTISYMBOL
Zoe Liuc082bbc2017-05-17 13:31:37 -07004792#endif // CONFIG_EXT_COMP_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07004793 av1_copy(fc->comp_ref_prob, default_comp_ref_p);
Thomas Davies894cc812017-06-22 17:51:33 +01004794#if CONFIG_NEW_MULTISYMBOL
4795 av1_copy(fc->comp_ref_cdf, default_comp_ref_cdf);
4796#endif
Angie Chiangbabf3e72017-03-20 15:32:24 -07004797#if CONFIG_LV_MAP
4798 av1_copy(fc->txb_skip, default_txb_skip);
4799 av1_copy(fc->nz_map, default_nz_map);
4800 av1_copy(fc->eob_flag, default_eob_flag);
4801 av1_copy(fc->dc_sign, default_dc_sign);
4802 av1_copy(fc->coeff_base, default_coeff_base);
4803 av1_copy(fc->coeff_lps, default_coeff_lps);
4804#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004805#if CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07004806 av1_copy(fc->comp_bwdref_prob, default_comp_bwdref_p);
Thomas Davies894cc812017-06-22 17:51:33 +01004807#if CONFIG_NEW_MULTISYMBOL
4808 av1_copy(fc->comp_bwdref_cdf, default_comp_bwdref_cdf);
4809#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004810#endif // CONFIG_EXT_REFS
Yaowu Xuf883b422016-08-30 14:01:10 -07004811 av1_copy(fc->single_ref_prob, default_single_ref_p);
Thomas Davies315f5782017-06-14 15:14:55 +01004812#if CONFIG_NEW_MULTISYMBOL
4813 av1_copy(fc->single_ref_cdf, default_single_ref_cdf);
4814#endif
Zoe Liu239f06b2017-04-20 13:10:55 -07004815#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
4816 av1_copy(fc->comp_inter_mode_prob, default_comp_inter_mode_p);
4817#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
Yaowu Xuf883b422016-08-30 14:01:10 -07004818 av1_copy(fc->tx_size_probs, default_tx_size_prob);
Yue Chen56e226e2017-05-02 16:21:40 -07004819#if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
4820 fc->quarter_tx_size_prob = default_quarter_tx_size_prob;
4821#endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
Yaowu Xuc27fc142016-08-22 16:08:15 -07004822#if CONFIG_VAR_TX
Yaowu Xuf883b422016-08-30 14:01:10 -07004823 av1_copy(fc->txfm_partition_prob, default_txfm_partition_probs);
Thomas Davies985bfc32017-06-27 16:51:26 +01004824#if CONFIG_NEW_MULTISYMBOL
4825 av1_copy(fc->txfm_partition_cdf, default_txfm_partition_cdf);
4826#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004827#endif
Yaowu Xuf883b422016-08-30 14:01:10 -07004828 av1_copy(fc->skip_probs, default_skip_probs);
Yaowu Xuf883b422016-08-30 14:01:10 -07004829 av1_copy(fc->newmv_prob, default_newmv_prob);
4830 av1_copy(fc->zeromv_prob, default_zeromv_prob);
4831 av1_copy(fc->refmv_prob, default_refmv_prob);
4832 av1_copy(fc->drl_prob, default_drl_prob);
Thomas Davies149eda52017-06-12 18:11:55 +01004833#if CONFIG_NEW_MULTISYMBOL
4834 av1_copy(fc->newmv_cdf, default_newmv_cdf);
4835 av1_copy(fc->zeromv_cdf, default_zeromv_cdf);
4836 av1_copy(fc->refmv_cdf, default_refmv_cdf);
4837 av1_copy(fc->drl_cdf, default_drl_cdf);
4838#endif
Yue Chencb60b182016-10-13 15:18:22 -07004839#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
4840 av1_copy(fc->motion_mode_prob, default_motion_mode_prob);
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07004841#if CONFIG_NCOBMC_ADAPT_WEIGHT && CONFIG_MOTION_VAR
4842 av1_copy(fc->ncobmc_mode_prob, default_ncobmc_mode_prob);
4843#endif
Thomas Davies04e5aa72017-06-28 14:36:39 +01004844 av1_copy(fc->motion_mode_cdf, default_motion_mode_cdf);
Yue Chen69f18e12016-09-08 14:48:15 -07004845#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
4846 av1_copy(fc->obmc_prob, default_obmc_prob);
Thomas Daviesd9b57262017-06-27 17:43:25 +01004847#if CONFIG_NEW_MULTISYMBOL
4848 av1_copy(fc->obmc_cdf, default_obmc_cdf);
4849#endif
Yue Chen69f18e12016-09-08 14:48:15 -07004850#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yue Chencb60b182016-10-13 15:18:22 -07004851#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07004852#if CONFIG_EXT_INTER
Yaowu Xuf883b422016-08-30 14:01:10 -07004853 av1_copy(fc->inter_compound_mode_probs, default_inter_compound_mode_probs);
Thomas Davies8c08a332017-06-26 17:30:34 +01004854 av1_copy(fc->inter_compound_mode_cdf, default_inter_compound_mode_cdf);
Zoe Liu239f06b2017-04-20 13:10:55 -07004855#if CONFIG_COMPOUND_SINGLEREF
4856 av1_copy(fc->inter_singleref_comp_mode_probs,
4857 default_inter_singleref_comp_mode_probs);
Thomas Daviesb8b14a92017-07-12 15:11:49 +01004858 av1_copy(fc->inter_singleref_comp_mode_cdf,
4859 default_inter_singleref_comp_mode_cdf);
Zoe Liu239f06b2017-04-20 13:10:55 -07004860#endif // CONFIG_COMPOUND_SINGLEREF
Sarah Parker6fddd182016-11-10 20:57:20 -08004861 av1_copy(fc->compound_type_prob, default_compound_type_probs);
Thomas Daviesd8dac222017-06-27 11:23:15 +01004862 av1_copy(fc->compound_type_cdf, default_compound_type_cdf);
Yue Chen4d26acb2017-05-01 12:28:34 -07004863#if CONFIG_INTERINTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07004864 av1_copy(fc->interintra_prob, default_interintra_prob);
Yaowu Xuf883b422016-08-30 14:01:10 -07004865 av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob);
Thomas Daviescff91712017-07-07 11:49:55 +01004866#if CONFIG_NEW_MULTISYMBOL
4867 av1_copy(fc->interintra_cdf, default_interintra_cdf);
4868 av1_copy(fc->wedge_interintra_cdf, default_wedge_interintra_cdf);
4869#endif // CONFIG_NEW_MULTISYMBOL
Thomas Davies299ff042017-06-27 13:41:59 +01004870 av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob);
Thomas Davies299ff042017-06-27 13:41:59 +01004871 av1_copy(fc->interintra_mode_cdf, default_interintra_mode_cdf);
Thomas Davies299ff042017-06-27 13:41:59 +01004872#endif // CONFIG_INTERINTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07004873#endif // CONFIG_EXT_INTER
4874#if CONFIG_SUPERTX
Yaowu Xuf883b422016-08-30 14:01:10 -07004875 av1_copy(fc->supertx_prob, default_supertx_prob);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004876#endif // CONFIG_SUPERTX
Nathan E. Eggef627e582016-08-19 20:06:51 -04004877 av1_copy(fc->seg.tree_probs, default_segment_tree_probs);
4878 av1_copy(fc->seg.pred_probs, default_segment_pred_probs);
Thomas Davies00021352017-07-11 16:07:55 +01004879#if CONFIG_NEW_MULTISYMBOL
4880 av1_copy(fc->seg.pred_cdf, default_segment_pred_cdf);
4881#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004882#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08004883#if CONFIG_INTRA_INTERP
Yaowu Xuf883b422016-08-30 14:01:10 -07004884 av1_copy(fc->intra_filter_probs, default_intra_filter_probs);
hui sueda3d762016-12-06 16:58:23 -08004885#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07004886#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07004887#if CONFIG_FILTER_INTRA
4888 av1_copy(fc->filter_intra_probs, default_filter_intra_probs);
4889#endif // CONFIG_FILTER_INTRA
Yaowu Xuf883b422016-08-30 14:01:10 -07004890 av1_copy(fc->inter_ext_tx_prob, default_inter_ext_tx_prob);
4891 av1_copy(fc->intra_ext_tx_prob, default_intra_ext_tx_prob);
Debargha Mukherjee5cd2ab92016-09-08 15:15:17 -07004892#if CONFIG_LOOP_RESTORATION
4893 av1_copy(fc->switchable_restore_prob, default_switchable_restore_prob);
4894#endif // CONFIG_LOOP_RESTORATION
Thomas Davies1d7db722017-02-22 11:15:00 +00004895 av1_copy(fc->y_mode_cdf, default_if_y_mode_cdf);
4896 av1_copy(fc->uv_mode_cdf, default_uv_mode_cdf);
4897 av1_copy(fc->switchable_interp_cdf, default_switchable_interp_cdf);
4898 av1_copy(fc->partition_cdf, default_partition_cdf);
Thomas Davies1d7db722017-02-22 11:15:00 +00004899 av1_copy(fc->intra_ext_tx_cdf, default_intra_ext_tx_cdf);
4900 av1_copy(fc->inter_ext_tx_cdf, default_inter_ext_tx_cdf);
Thomas Davies61e3e372017-04-04 16:10:23 +01004901#if CONFIG_NEW_MULTISYMBOL
4902 av1_copy(fc->skip_cdfs, default_skip_cdfs);
Thomas Daviesf6ad9352017-04-19 11:38:06 +01004903 av1_copy(fc->intra_inter_cdf, default_intra_inter_cdf);
Thomas Davies61e3e372017-04-04 16:10:23 +01004904#endif
hui sub4e25d22017-03-09 15:32:30 -08004905#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
4906 av1_copy(fc->intra_filter_cdf, default_intra_filter_cdf);
4907#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
Thomas Davies1d7db722017-02-22 11:15:00 +00004908 av1_copy(fc->seg.tree_cdf, default_seg_tree_cdf);
4909 av1_copy(fc->tx_size_cdf, default_tx_size_cdf);
Thomas Daviesf6936102016-09-05 16:51:31 +01004910#if CONFIG_DELTA_Q
4911 av1_copy(fc->delta_q_prob, default_delta_q_probs);
Thomas Daviesd6ee8a82017-03-02 14:42:50 +00004912 av1_copy(fc->delta_q_cdf, default_delta_q_cdf);
Fangwen Fu231fe422017-04-24 17:52:29 -07004913#if CONFIG_EXT_DELTA_Q
4914 av1_copy(fc->delta_lf_prob, default_delta_lf_probs);
Fangwen Fu231fe422017-04-24 17:52:29 -07004915 av1_copy(fc->delta_lf_cdf, default_delta_lf_cdf);
Fangwen Fu231fe422017-04-24 17:52:29 -07004916#endif
hui sub4e25d22017-03-09 15:32:30 -08004917#endif // CONFIG_DELTA_Q
Luc Trudeauf5334002017-04-25 12:21:26 -04004918#if CONFIG_CFL
4919 av1_copy(fc->cfl_alpha_cdf, default_cfl_alpha_cdf);
4920#endif
Alex Converse7c412ea2017-06-01 15:16:22 -07004921#if CONFIG_INTRABC
4922 fc->intrabc_prob = INTRABC_PROB_DEFAULT;
4923#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07004924}
4925
Nathan E. Egge4947c292016-04-26 11:37:06 -04004926int av1_switchable_interp_ind[SWITCHABLE_FILTERS];
4927int av1_switchable_interp_inv[SWITCHABLE_FILTERS];
Thomas Davies6519beb2016-10-19 14:46:07 +01004928
Angie Chiangaadbb022017-06-01 16:08:03 -07004929#if CONFIG_DUAL_FILTER && USE_EXTRA_FILTER
Yaowu Xuf883b422016-08-30 14:01:10 -07004930const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
4931 {
Angie Chiangd91ab372016-11-21 18:16:49 -08004932 -EIGHTTAP_REGULAR, 2, 4, -MULTITAP_SHARP, -EIGHTTAP_SMOOTH,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004933 -EIGHTTAP_SMOOTH2,
Yaowu Xuc27fc142016-08-22 16:08:15 -07004934 };
4935#else
Yaowu Xuf883b422016-08-30 14:01:10 -07004936const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] =
4937 { -EIGHTTAP_REGULAR, 2, -EIGHTTAP_SMOOTH, -MULTITAP_SHARP };
Angie Chiang1733f6b2017-01-05 09:52:20 -08004938#endif // CONFIG_DUAL_FILTER
Yaowu Xuc27fc142016-08-22 16:08:15 -07004939
Yaowu Xuf883b422016-08-30 14:01:10 -07004940void av1_adapt_inter_frame_probs(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07004941 int i, j;
4942 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07004943 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07004944 const FRAME_COUNTS *counts = &cm->counts;
4945
4946 for (i = 0; i < INTRA_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004947 fc->intra_inter_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004948 pre_fc->intra_inter_prob[i], counts->intra_inter[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07004949
Yaowu Xuc27fc142016-08-22 16:08:15 -07004950 for (i = 0; i < COMP_INTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004951 fc->comp_inter_prob[i] = av1_mode_mv_merge_probs(pre_fc->comp_inter_prob[i],
4952 counts->comp_inter[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004953
Zoe Liuc082bbc2017-05-17 13:31:37 -07004954#if CONFIG_EXT_COMP_REFS
4955 for (i = 0; i < COMP_REF_TYPE_CONTEXTS; i++)
4956 fc->comp_ref_type_prob[i] = av1_mode_mv_merge_probs(
4957 pre_fc->comp_ref_type_prob[i], counts->comp_ref_type[i]);
4958
4959 for (i = 0; i < UNI_COMP_REF_CONTEXTS; i++)
4960 for (j = 0; j < (UNIDIR_COMP_REFS - 1); j++)
4961 fc->uni_comp_ref_prob[i][j] = av1_mode_mv_merge_probs(
4962 pre_fc->uni_comp_ref_prob[i][j], counts->uni_comp_ref[i][j]);
4963#endif // CONFIG_EXT_COMP_REFS
4964
Yaowu Xuc27fc142016-08-22 16:08:15 -07004965#if CONFIG_EXT_REFS
4966 for (i = 0; i < REF_CONTEXTS; i++)
4967 for (j = 0; j < (FWD_REFS - 1); j++)
4968 fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
4969 counts->comp_ref[i][j]);
4970 for (i = 0; i < REF_CONTEXTS; i++)
4971 for (j = 0; j < (BWD_REFS - 1); j++)
4972 fc->comp_bwdref_prob[i][j] = mode_mv_merge_probs(
4973 pre_fc->comp_bwdref_prob[i][j], counts->comp_bwdref[i][j]);
4974#else
4975 for (i = 0; i < REF_CONTEXTS; i++)
4976 for (j = 0; j < (COMP_REFS - 1); j++)
4977 fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j],
4978 counts->comp_ref[i][j]);
4979#endif // CONFIG_EXT_REFS
4980
4981 for (i = 0; i < REF_CONTEXTS; i++)
4982 for (j = 0; j < (SINGLE_REFS - 1); j++)
Yaowu Xuf883b422016-08-30 14:01:10 -07004983 fc->single_ref_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07004984 pre_fc->single_ref_prob[i][j], counts->single_ref[i][j]);
4985
Zoe Liu239f06b2017-04-20 13:10:55 -07004986#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
4987 for (i = 0; i < COMP_INTER_MODE_CONTEXTS; i++)
4988 fc->comp_inter_mode_prob[i] = av1_mode_mv_merge_probs(
4989 pre_fc->comp_inter_mode_prob[i], counts->comp_inter_mode[i]);
4990
4991#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
4992
Yaowu Xuc27fc142016-08-22 16:08:15 -07004993 for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i)
4994 fc->newmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07004995 av1_mode_mv_merge_probs(pre_fc->newmv_prob[i], counts->newmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004996 for (i = 0; i < ZEROMV_MODE_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07004997 fc->zeromv_prob[i] =
4998 av1_mode_mv_merge_probs(pre_fc->zeromv_prob[i], counts->zeromv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07004999 for (i = 0; i < REFMV_MODE_CONTEXTS; ++i)
5000 fc->refmv_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005001 av1_mode_mv_merge_probs(pre_fc->refmv_prob[i], counts->refmv_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005002
5003 for (i = 0; i < DRL_MODE_CONTEXTS; ++i)
5004 fc->drl_prob[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005005 av1_mode_mv_merge_probs(pre_fc->drl_prob[i], counts->drl_mode[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005006
Yue Chencb60b182016-10-13 15:18:22 -07005007#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005008 for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i)
Yue Chencb60b182016-10-13 15:18:22 -07005009 aom_tree_merge_probs(av1_motion_mode_tree, pre_fc->motion_mode_prob[i],
5010 counts->motion_mode[i], fc->motion_mode_prob[i]);
Wei-Ting Lin85a8f702017-06-22 13:55:15 -07005011#if CONFIG_NCOBMC_ADAPT_WEIGHT
5012 for (i = 0; i < ADAPT_OVERLAP_BLOCKS; ++i)
5013 aom_tree_merge_probs(av1_ncobmc_mode_tree, pre_fc->ncobmc_mode_prob[i],
5014 counts->ncobmc_mode[i], fc->ncobmc_mode_prob[i]);
5015#endif
Yue Chen69f18e12016-09-08 14:48:15 -07005016#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005017 for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i)
Yue Chen69f18e12016-09-08 14:48:15 -07005018 fc->obmc_prob[i] =
5019 av1_mode_mv_merge_probs(pre_fc->obmc_prob[i], counts->obmc[i]);
5020#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
Yue Chencb60b182016-10-13 15:18:22 -07005021#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
Yaowu Xuc27fc142016-08-22 16:08:15 -07005022
5023#if CONFIG_SUPERTX
5024 for (i = 0; i < PARTITION_SUPERTX_CONTEXTS; ++i) {
Jingning Han93531242016-12-20 11:54:36 -08005025 for (j = TX_8X8; j < TX_SIZES; ++j) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005026 fc->supertx_prob[i][j] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07005027 pre_fc->supertx_prob[i][j], counts->supertx[i][j]);
5028 }
5029 }
5030#endif // CONFIG_SUPERTX
5031
5032#if CONFIG_EXT_INTER
5033 for (i = 0; i < INTER_MODE_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005034 aom_tree_merge_probs(
5035 av1_inter_compound_mode_tree, pre_fc->inter_compound_mode_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005036 counts->inter_compound_mode[i], fc->inter_compound_mode_probs[i]);
Zoe Liu239f06b2017-04-20 13:10:55 -07005037#if CONFIG_COMPOUND_SINGLEREF
5038 for (i = 0; i < INTER_MODE_CONTEXTS; i++)
5039 aom_tree_merge_probs(av1_inter_singleref_comp_mode_tree,
5040 pre_fc->inter_singleref_comp_mode_probs[i],
5041 counts->inter_singleref_comp_mode[i],
5042 fc->inter_singleref_comp_mode_probs[i]);
5043#endif // CONFIG_COMPOUND_SINGLEREF
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005044#if CONFIG_INTERINTRA
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005045 if (cm->allow_interintra_compound) {
5046 for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) {
5047 if (is_interintra_allowed_bsize_group(i))
5048 fc->interintra_prob[i] = av1_mode_mv_merge_probs(
5049 pre_fc->interintra_prob[i], counts->interintra[i]);
5050 }
5051 for (i = 0; i < BLOCK_SIZE_GROUPS; i++) {
5052 aom_tree_merge_probs(
5053 av1_interintra_mode_tree, pre_fc->interintra_mode_prob[i],
5054 counts->interintra_mode[i], fc->interintra_mode_prob[i]);
5055 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005056#if CONFIG_WEDGE
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005057 for (i = 0; i < BLOCK_SIZES_ALL; ++i) {
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005058 if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i))
5059 fc->wedge_interintra_prob[i] = av1_mode_mv_merge_probs(
5060 pre_fc->wedge_interintra_prob[i], counts->wedge_interintra[i]);
5061 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005062#endif // CONFIG_WEDGE
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005063 }
Debargha Mukherjeeed057992017-05-07 05:15:06 -07005064#endif // CONFIG_INTERINTRA
Sarah Parker6fddd182016-11-10 20:57:20 -08005065
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00005066#if CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005067 if (cm->allow_masked_compound) {
Rupert Swarbrick93c39e92017-07-12 11:11:02 +01005068 for (i = 0; i < BLOCK_SIZES_ALL; ++i) {
Debargha Mukherjee9e2c7a62017-05-23 21:18:42 -07005069 aom_tree_merge_probs(
5070 av1_compound_type_tree, pre_fc->compound_type_prob[i],
5071 counts->compound_interinter[i], fc->compound_type_prob[i]);
5072 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07005073 }
Debargha Mukherjeec5f735f2017-04-26 03:25:28 +00005074#endif // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE
Yaowu Xuc27fc142016-08-22 16:08:15 -07005075#endif // CONFIG_EXT_INTER
5076
Yaowu Xuc27fc142016-08-22 16:08:15 -07005077 if (cm->interp_filter == SWITCHABLE) {
5078 for (i = 0; i < SWITCHABLE_FILTER_CONTEXTS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005079 aom_tree_merge_probs(
5080 av1_switchable_interp_tree, pre_fc->switchable_interp_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005081 counts->switchable_interp[i], fc->switchable_interp_prob[i]);
5082 }
5083}
5084
Yaowu Xuf883b422016-08-30 14:01:10 -07005085void av1_adapt_intra_frame_probs(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005086 int i, j;
5087 FRAME_CONTEXT *fc = cm->fc;
Thomas Daede10e1da92017-04-26 13:22:21 -07005088 const FRAME_CONTEXT *pre_fc = cm->pre_fc;
Yaowu Xuc27fc142016-08-22 16:08:15 -07005089 const FRAME_COUNTS *counts = &cm->counts;
5090
5091 if (cm->tx_mode == TX_MODE_SELECT) {
Jingning Hanaae72a62016-10-25 15:35:29 -07005092 for (i = 0; i < MAX_TX_DEPTH; ++i) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005093 for (j = 0; j < TX_SIZE_CONTEXTS; ++j)
Yaowu Xuf883b422016-08-30 14:01:10 -07005094 aom_tree_merge_probs(av1_tx_size_tree[i], pre_fc->tx_size_probs[i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005095 counts->tx_size[i][j], fc->tx_size_probs[i][j]);
5096 }
Yue Chen56e226e2017-05-02 16:21:40 -07005097#if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
5098 fc->quarter_tx_size_prob = av1_mode_mv_merge_probs(
5099 pre_fc->quarter_tx_size_prob, counts->quarter_tx_size);
5100#endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
Yaowu Xuc27fc142016-08-22 16:08:15 -07005101 }
5102
5103#if CONFIG_VAR_TX
Yue Chena1e48dc2016-08-29 17:29:33 -07005104 if (cm->tx_mode == TX_MODE_SELECT) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005105 for (i = 0; i < TXFM_PARTITION_CONTEXTS; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07005106 fc->txfm_partition_prob[i] = av1_mode_mv_merge_probs(
Yaowu Xuc27fc142016-08-22 16:08:15 -07005107 pre_fc->txfm_partition_prob[i], counts->txfm_partition[i]);
Yue Chena1e48dc2016-08-29 17:29:33 -07005108 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07005109#endif
5110
5111 for (i = 0; i < SKIP_CONTEXTS; ++i)
5112 fc->skip_probs[i] =
Yaowu Xuf883b422016-08-30 14:01:10 -07005113 av1_mode_mv_merge_probs(pre_fc->skip_probs[i], counts->skip[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005114
5115#if CONFIG_EXT_TX
5116 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
5117 int s;
5118 for (s = 1; s < EXT_TX_SETS_INTER; ++s) {
5119 if (use_inter_ext_tx_for_txsize[s][i]) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005120 aom_tree_merge_probs(
5121 av1_ext_tx_inter_tree[s], pre_fc->inter_ext_tx_prob[s][i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005122 counts->inter_ext_tx[s][i], fc->inter_ext_tx_prob[s][i]);
5123 }
5124 }
5125 for (s = 1; s < EXT_TX_SETS_INTRA; ++s) {
5126 if (use_intra_ext_tx_for_txsize[s][i]) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005127 for (j = 0; j < INTRA_MODES; ++j)
Yaowu Xuf883b422016-08-30 14:01:10 -07005128 aom_tree_merge_probs(
5129 av1_ext_tx_intra_tree[s], pre_fc->intra_ext_tx_prob[s][i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005130 counts->intra_ext_tx[s][i][j], fc->intra_ext_tx_prob[s][i][j]);
5131 }
5132 }
5133 }
5134#else
5135 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04005136 for (j = 0; j < TX_TYPES; ++j) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005137 aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->intra_ext_tx_prob[i][j],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005138 counts->intra_ext_tx[i][j],
5139 fc->intra_ext_tx_prob[i][j]);
Nathan E. Egge7c5b4c12016-04-26 12:31:14 -04005140 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07005141 }
5142 for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005143 aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->inter_ext_tx_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005144 counts->inter_ext_tx[i], fc->inter_ext_tx_prob[i]);
5145 }
5146#endif // CONFIG_EXT_TX
5147
5148 if (cm->seg.temporal_update) {
5149 for (i = 0; i < PREDICTION_PROBS; i++)
Yaowu Xuf883b422016-08-30 14:01:10 -07005150 fc->seg.pred_probs[i] = av1_mode_mv_merge_probs(pre_fc->seg.pred_probs[i],
5151 counts->seg.pred[i]);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005152
Yaowu Xuf883b422016-08-30 14:01:10 -07005153 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07005154 counts->seg.tree_mispred, fc->seg.tree_probs);
5155 } else {
Yaowu Xuf883b422016-08-30 14:01:10 -07005156 aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs,
Yaowu Xuc27fc142016-08-22 16:08:15 -07005157 counts->seg.tree_total, fc->seg.tree_probs);
5158 }
5159
Yaowu Xuc27fc142016-08-22 16:08:15 -07005160#if CONFIG_EXT_PARTITION_TYPES
Alex Converse4e18d402017-03-14 15:36:38 -07005161 for (i = 0; i < PARTITION_PLOFFSET; ++i)
5162 aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
5163 counts->partition[i], fc->partition_prob[i]);
5164 for (; i < PARTITION_CONTEXTS_PRIMARY; ++i)
Yaowu Xuf883b422016-08-30 14:01:10 -07005165 aom_tree_merge_probs(av1_ext_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005166 counts->partition[i], fc->partition_prob[i]);
5167#else
Alex Converse4e18d402017-03-14 15:36:38 -07005168 for (i = 0; i < PARTITION_CONTEXTS_PRIMARY; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005169 aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005170 counts->partition[i], fc->partition_prob[i]);
Nathan E. Eggefba2be62016-05-03 09:48:54 -04005171 }
Yaowu Xuc27fc142016-08-22 16:08:15 -07005172#endif // CONFIG_EXT_PARTITION_TYPES
Alex Converse55c6bde2017-01-12 15:55:31 -08005173#if CONFIG_UNPOISON_PARTITION_CTX
5174 for (i = PARTITION_CONTEXTS_PRIMARY;
5175 i < PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES; ++i) {
5176 unsigned int ct[2] = { counts->partition[i][PARTITION_VERT],
5177 counts->partition[i][PARTITION_SPLIT] };
5178 assert(counts->partition[i][PARTITION_NONE] == 0);
5179 assert(counts->partition[i][PARTITION_HORZ] == 0);
5180 assert(fc->partition_prob[i][PARTITION_NONE] == 0);
5181 assert(fc->partition_prob[i][PARTITION_HORZ] == 0);
5182 fc->partition_prob[i][PARTITION_VERT] =
5183 av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_VERT], ct);
5184 }
5185 for (i = PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES;
5186 i < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++i) {
5187 unsigned int ct[2] = { counts->partition[i][PARTITION_HORZ],
5188 counts->partition[i][PARTITION_SPLIT] };
5189 assert(counts->partition[i][PARTITION_NONE] == 0);
5190 assert(counts->partition[i][PARTITION_VERT] == 0);
5191 assert(fc->partition_prob[i][PARTITION_NONE] == 0);
5192 assert(fc->partition_prob[i][PARTITION_VERT] == 0);
5193 fc->partition_prob[i][PARTITION_HORZ] =
5194 av1_mode_mv_merge_probs(pre_fc->partition_prob[i][PARTITION_HORZ], ct);
5195 }
5196#endif
Thomas Daviesf6936102016-09-05 16:51:31 +01005197#if CONFIG_DELTA_Q
Thomas Davies665cd702017-03-02 10:20:30 +00005198 for (i = 0; i < DELTA_Q_PROBS; ++i)
Thomas Daviesf6936102016-09-05 16:51:31 +01005199 fc->delta_q_prob[i] =
5200 mode_mv_merge_probs(pre_fc->delta_q_prob[i], counts->delta_q[i]);
Fangwen Fu231fe422017-04-24 17:52:29 -07005201#if CONFIG_EXT_DELTA_Q
5202 for (i = 0; i < DELTA_LF_PROBS; ++i)
5203 fc->delta_lf_prob[i] =
5204 mode_mv_merge_probs(pre_fc->delta_lf_prob[i], counts->delta_lf[i]);
5205#endif // CONFIG_EXT_DELTA_Q
Thomas Daviesf6936102016-09-05 16:51:31 +01005206#endif
Yaowu Xuc27fc142016-08-22 16:08:15 -07005207#if CONFIG_EXT_INTRA
hui sueda3d762016-12-06 16:58:23 -08005208#if CONFIG_INTRA_INTERP
hui su5db97432016-10-14 16:10:14 -07005209 for (i = 0; i < INTRA_FILTERS + 1; ++i) {
Yaowu Xuf883b422016-08-30 14:01:10 -07005210 aom_tree_merge_probs(av1_intra_filter_tree, pre_fc->intra_filter_probs[i],
Yaowu Xuc27fc142016-08-22 16:08:15 -07005211 counts->intra_filter[i], fc->intra_filter_probs[i]);
hui su5db97432016-10-14 16:10:14 -07005212 }
hui sueda3d762016-12-06 16:58:23 -08005213#endif // CONFIG_INTRA_INTERP
Yaowu Xuc27fc142016-08-22 16:08:15 -07005214#endif // CONFIG_EXT_INTRA
hui su5db97432016-10-14 16:10:14 -07005215#if CONFIG_FILTER_INTRA
5216 for (i = 0; i < PLANE_TYPES; ++i) {
5217 fc->filter_intra_probs[i] = av1_mode_mv_merge_probs(
5218 pre_fc->filter_intra_probs[i], counts->filter_intra[i]);
5219 }
5220#endif // CONFIG_FILTER_INTRA
Yaowu Xuc27fc142016-08-22 16:08:15 -07005221}
5222
5223static void set_default_lf_deltas(struct loopfilter *lf) {
5224 lf->mode_ref_delta_enabled = 1;
5225 lf->mode_ref_delta_update = 1;
5226
5227 lf->ref_deltas[INTRA_FRAME] = 1;
5228 lf->ref_deltas[LAST_FRAME] = 0;
5229#if CONFIG_EXT_REFS
5230 lf->ref_deltas[LAST2_FRAME] = lf->ref_deltas[LAST_FRAME];
5231 lf->ref_deltas[LAST3_FRAME] = lf->ref_deltas[LAST_FRAME];
5232 lf->ref_deltas[BWDREF_FRAME] = lf->ref_deltas[LAST_FRAME];
5233#endif // CONFIG_EXT_REFS
5234 lf->ref_deltas[GOLDEN_FRAME] = -1;
5235 lf->ref_deltas[ALTREF_FRAME] = -1;
5236
5237 lf->mode_deltas[0] = 0;
5238 lf->mode_deltas[1] = 0;
5239}
5240
Yaowu Xuf883b422016-08-30 14:01:10 -07005241void av1_setup_past_independence(AV1_COMMON *cm) {
Yaowu Xuc27fc142016-08-22 16:08:15 -07005242 // Reset the segment feature data to the default stats:
5243 // Features disabled, 0, with delta coding (Default state).
5244 struct loopfilter *const lf = &cm->lf;
5245
5246 int i;
Yaowu Xuf883b422016-08-30 14:01:10 -07005247 av1_clearall_segfeatures(&cm->seg);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005248 cm->seg.abs_delta = SEGMENT_DELTADATA;
5249
5250 if (cm->last_frame_seg_map && !cm->frame_parallel_decode)
5251 memset(cm->last_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
5252
5253 if (cm->current_frame_seg_map)
5254 memset(cm->current_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols));
5255
5256 // Reset the mode ref deltas for loop filter
Yaowu Xuf883b422016-08-30 14:01:10 -07005257 av1_zero(lf->last_ref_deltas);
5258 av1_zero(lf->last_mode_deltas);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005259 set_default_lf_deltas(lf);
5260
5261 // To force update of the sharpness
5262 lf->last_sharpness_level = -1;
Yaowu Xuc27fc142016-08-22 16:08:15 -07005263
Yaowu Xuf883b422016-08-30 14:01:10 -07005264 av1_default_coef_probs(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005265 init_mode_probs(cm->fc);
Yaowu Xuf883b422016-08-30 14:01:10 -07005266 av1_init_mv_probs(cm);
Yushin Chob188ea12017-03-13 13:45:23 -07005267#if CONFIG_PVQ
5268 av1_default_pvq_probs(cm);
5269#endif // CONFIG_PVQ
Angie Chianged8cd9a2016-10-21 16:44:47 -07005270#if CONFIG_ADAPT_SCAN
5271 av1_init_scan_order(cm);
5272#endif
Angie Chiang0a2c0cb2017-02-23 14:19:15 -08005273 av1_convolve_init(cm);
Yaowu Xuc27fc142016-08-22 16:08:15 -07005274 cm->fc->initialized = 1;
5275
5276 if (cm->frame_type == KEY_FRAME || cm->error_resilient_mode ||
5277 cm->reset_frame_context == RESET_FRAME_CONTEXT_ALL) {
5278 // Reset all frame contexts.
5279 for (i = 0; i < FRAME_CONTEXTS; ++i) cm->frame_contexts[i] = *cm->fc;
5280 } else if (cm->reset_frame_context == RESET_FRAME_CONTEXT_CURRENT) {
5281 // Reset only the frame context specified in the frame header.
5282 cm->frame_contexts[cm->frame_context_idx] = *cm->fc;
5283 }
5284
5285 // prev_mip will only be allocated in encoder.
5286 if (frame_is_intra_only(cm) && cm->prev_mip && !cm->frame_parallel_decode)
5287 memset(cm->prev_mip, 0,
5288 cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->prev_mip));
5289
5290 cm->frame_context_idx = 0;
5291}