blob: e0e7e8d869e32ca14874e9d7aa6e98498c07a259 [file] [log] [blame]
/*
* Copyright (c) 2016, Alliance for Open Media. All rights reserved
*
* This source code is subject to the terms of the BSD 2 Clause License and
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
* was not distributed with this source code in the LICENSE file, you can
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
* Media Patent License 1.0 was not distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/
#include "aom_mem/aom_mem.h"
#include "av1/common/reconinter.h"
#include "av1/common/scan.h"
#include "av1/common/onyxc_int.h"
#include "av1/common/seg_common.h"
#if CONFIG_LV_MAP
#include "av1/common/txb_common.h"
#endif
#if CONFIG_LV_MAP
#include "av1/common/txb_common.h"
const aom_prob default_txb_skip[TX_SIZES][TXB_SKIP_CONTEXTS] = {
{ 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
{ 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
{ 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
{ 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
};
const aom_prob default_dc_sign[PLANE_TYPES][DC_SIGN_CONTEXTS] = {
{ 125, 102, 147 }, { 119, 101, 135 },
};
const aom_prob default_coeff_base
[TX_SIZES][PLANE_TYPES][NUM_BASE_LEVELS][COEFF_BASE_CONTEXTS] = {
{ // TX_4X4
{
// PLANE_Y
{ 73, 128, 131, 204, 165, 226, 169, 236, 18, 128, 51,
153, 97, 179, 123, 201, 145, 226, 20, 128, 59, 153,
107, 181, 129, 201, 142, 226, 3, 128, 19, 99, 46,
135, 92, 166, 129, 190, 157, 217, 128, 128 },
{ 128, 128, 178, 218, 192, 236, 186, 243, 55, 128, 110,
183, 151, 205, 168, 221, 180, 238, 65, 128, 116, 178,
157, 206, 172, 222, 183, 238, 24, 128, 65, 127, 104,
164, 154, 195, 187, 216, 205, 230, 128, 128 },
},
{
// PLANE_UV
{ 47, 128, 100, 176, 140, 207, 150, 223, 11, 128, 35,
133, 79, 165, 115, 186, 129, 210, 8, 128, 30, 114,
80, 159, 116, 187, 146, 214, 2, 128, 9, 59, 28,
86, 71, 131, 117, 165, 149, 188, 128, 128 },
{ 83, 128, 152, 205, 168, 227, 192, 238, 42, 128, 92,
169, 138, 193, 165, 209, 128, 206, 36, 128, 86, 159,
141, 198, 181, 213, 102, 223, 18, 128, 50, 132, 90,
144, 141, 169, 180, 191, 128, 217, 128, 128 },
} },
{
// TX_8X8
{
// PLANE_Y
{ 82, 128, 143, 203, 177, 225, 186, 237, 7, 128, 37,
109, 78, 151, 110, 182, 139, 213, 25, 128, 51, 115,
86, 146, 111, 175, 125, 205, 3, 128, 12, 55, 32,
78, 63, 111, 96, 148, 123, 185, 146, 206 },
{ 136, 128, 182, 220, 201, 236, 205, 243, 46, 128, 101,
164, 147, 194, 170, 218, 177, 234, 62, 128, 104, 146,
143, 183, 165, 207, 183, 228, 30, 128, 60, 95, 95,
128, 135, 163, 166, 196, 175, 219, 192, 231 },
},
{
// PLANE_UV
{ 47, 128, 112, 189, 164, 202, 163, 218, 8, 128, 32,
110, 68, 151, 102, 179, 134, 195, 5, 128, 22, 76,
54, 103, 80, 146, 101, 182, 1, 128, 5, 39, 17,
53, 46, 93, 79, 127, 112, 161, 64, 195 },
{ 90, 128, 156, 210, 183, 225, 128, 236, 39, 128, 98,
164, 146, 201, 209, 219, 171, 208, 32, 128, 68, 123,
119, 169, 154, 184, 128, 213, 15, 128, 38, 111, 83,
112, 120, 163, 180, 170, 154, 213, 128, 205 },
},
},
{
// TX_16X16
{
// PLANE_Y
{ 96, 128, 169, 218, 208, 233, 187, 244, 10, 128, 34,
101, 82, 153, 113, 184, 137, 212, 6, 128, 34, 104,
81, 145, 109, 176, 147, 202, 1, 128, 3, 43, 15,
53, 43, 89, 79, 129, 108, 168, 110, 194 },
{ 156, 128, 206, 232, 218, 240, 128, 251, 39, 128, 108,
161, 156, 202, 187, 216, 179, 234, 40, 128, 103, 152,
144, 185, 159, 208, 205, 227, 14, 128, 39, 84, 76,
110, 121, 151, 157, 187, 201, 206, 64, 216 },
},
{
// PLANE_UV
{ 42, 128, 139, 211, 180, 230, 199, 238, 3, 128, 32,
96, 69, 145, 102, 186, 117, 212, 4, 128, 25, 72,
55, 111, 81, 159, 116, 198, 1, 128, 4, 22, 16,
34, 35, 68, 63, 116, 89, 165, 102, 199 },
{ 135, 128, 193, 227, 182, 239, 128, 246, 42, 128, 115,
156, 146, 203, 188, 216, 128, 229, 32, 128, 82, 127,
120, 178, 165, 203, 213, 229, 11, 128, 32, 73, 79,
111, 129, 158, 162, 187, 156, 209, 85, 222 },
},
},
{
// TX_32X32
{
// PLANE_Y
{ 97, 128, 163, 232, 191, 246, 219, 252, 3, 128, 41,
108, 91, 147, 104, 183, 118, 225, 6, 128, 45, 91,
83, 125, 92, 160, 99, 215, 1, 128, 11, 36, 28,
46, 43, 59, 57, 86, 73, 145, 91, 210 },
{ 127, 128, 201, 239, 247, 248, 128, 254, 40, 128, 103,
152, 158, 199, 186, 225, 181, 242, 38, 128, 92, 112,
146, 189, 162, 217, 112, 239, 17, 128, 30, 47, 63,
89, 113, 146, 147, 187, 168, 217, 150, 233 },
},
{
// PLANE_UV
{ 65, 128, 155, 223, 166, 235, 154, 244, 15, 128, 57,
154, 110, 199, 159, 224, 149, 239, 9, 128, 57, 140,
97, 185, 148, 218, 176, 236, 1, 128, 3, 43, 19,
42, 64, 98, 117, 167, 154, 199, 128, 158 },
{ 130, 128, 189, 231, 171, 247, 128, 246, 63, 128, 132,
222, 186, 224, 199, 244, 128, 247, 55, 128, 113, 211,
164, 230, 225, 243, 128, 239, 7, 128, 31, 102, 106,
138, 147, 183, 171, 223, 171, 224, 128, 128 },
},
},
};
static const aom_prob default_nz_map[TX_SIZES][PLANE_TYPES][SIG_COEF_CONTEXTS] =
{ { { 40, 157, 108, 70, 34, 19, 168, 98, 60, 32, 20, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 125, 80, 41,
128, 128, 173, 120, 81, 36, 128, 188, 127, 84, 35, 128,
183, 128, 60, 128, 128, 128, 170, 122, 82, 35, 128, 186,
129, 84, 34, 128, 183, 128, 56, 128, 128, 128 },
{ 67, 176, 120, 77, 44, 26, 182, 124, 77, 47, 32, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 163, 127, 74,
128, 128, 203, 167, 122, 70, 128, 202, 171, 125, 72, 128,
198, 176, 105, 128, 128, 128, 192, 160, 108, 67, 128, 186,
160, 113, 74, 128, 188, 173, 121, 128, 128, 128 } },
{ { 55, 192, 143, 93, 43, 17, 201, 155, 101, 50, 22, 171, 124, 76, 38,
17, 176, 123, 77, 40, 19, 205, 148, 99, 53, 26, 200, 140, 94, 52,
24, 218, 157, 103, 58, 28, 221, 161, 109, 63, 34, 128, 194, 144, 96,
52, 24, 212, 160, 104, 59, 26, 216, 161, 105, 57, 27, 128 },
{ 84, 190, 149, 102, 59, 29, 204, 159, 111, 69, 41, 200,
151, 98, 54, 32, 193, 143, 98, 69, 46, 216, 167, 111,
65, 37, 211, 174, 123, 62, 23, 222, 184, 137, 79, 43,
222, 195, 148, 87, 128, 128, 199, 160, 119, 92, 55, 185,
147, 98, 70, 57, 197, 169, 122, 82, 68, 128 } },
{ { 56, 204, 126, 80, 41, 16, 218, 157, 100, 50, 22, 211, 142, 92, 47,
21, 212, 150, 98, 50, 22, 230, 172, 118, 65, 32, 223, 134, 91, 50,
22, 237, 167, 109, 60, 31, 239, 182, 128, 78, 40, 128, 209, 138, 90,
52, 25, 223, 160, 105, 62, 30, 228, 173, 119, 72, 36, 128 },
{ 79, 201, 140, 99, 64, 37, 225, 175, 128, 78, 35, 215,
151, 108, 49, 24, 211, 173, 138, 100, 44, 241, 185, 136,
95, 39, 210, 109, 89, 43, 128, 234, 144, 73, 85, 128,
252, 212, 121, 64, 128, 128, 216, 167, 127, 99, 102, 211,
182, 168, 129, 110, 202, 157, 101, 66, 42, 128 } },
{ { 41, 177, 92, 53, 29, 14, 218, 137, 87, 47, 20, 201,
124, 80, 50, 29, 208, 151, 104, 59, 27, 244, 173, 113,
66, 36, 233, 105, 76, 53, 23, 249, 163, 97, 98, 128,
254, 192, 136, 97, 47, 128, 237, 137, 86, 54, 31, 244,
157, 100, 60, 33, 241, 177, 115, 68, 33, 128 },
{ 73, 231, 149, 83, 63, 64, 242, 192, 132, 113, 114, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 252, 204, 160,
114, 36, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } } };
#if CONFIG_CTX1D
const aom_prob default_eob_flag[TX_SIZES][PLANE_TYPES][EOB_COEF_CONTEXTS] = {
{ { 220, 225, 220, 216, 233, 225, 189, 178, 222, 199, 164, 112, 207,
171, 115, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
147, 125, 104, 36, 117, 107, 26, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
156, 124, 128, 128, 146, 68, 128, 128, 131, 17, 128, 128, 64,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 146, 150, 142, 144, 178, 167, 131, 116, 150, 123, 107, 63, 119,
89, 74, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
117, 127, 105, 69, 53, 56, 30, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 86, 128, 128, 140, 72, 128, 128, 120, 44, 128, 128, 80,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
{ { 237, 242, 242, 219, 192, 246, 246, 243, 233, 184, 155, 234, 217,
188, 152, 195, 167, 114, 89, 128, 128, 128, 128, 128, 128,
180, 173, 154, 133, 112, 147, 145, 142, 102, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
198, 173, 130, 200, 128, 208, 182, 160, 106, 171, 128, 144, 128,
128, 128, 124, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 140, 170, 162, 111, 94, 182, 195, 165, 153, 110, 81, 178, 169,
158, 83, 133, 85, 85, 38, 128, 128, 128, 128, 128, 128,
112, 127, 107, 87, 31, 57, 49, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
160, 143, 99, 126, 128, 164, 133, 126, 59, 71, 128, 138, 128,
128, 128, 99, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
{ { 229, 241, 243, 245, 247, 247, 251, 248, 235, 210, 247, 235, 208,
166, 245, 247, 244, 182, 236, 229, 180, 136, 128, 128, 128,
191, 197, 96, 70, 199, 128, 128, 191, 174, 117, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
211, 183, 215, 188, 138, 209, 136, 128, 170, 128, 191, 128, 161,
128, 182, 128, 128, 128, 164, 128, 128, 128, 128, 128, 128 },
{ 106, 153, 182, 191, 186, 202, 211, 203, 166, 147, 205, 205, 195,
128, 206, 212, 182, 109, 192, 154, 139, 79, 128, 128, 128,
112, 133, 128, 255, 128, 128, 128, 130, 154, 98, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
144, 185, 169, 199, 85, 183, 128, 128, 64, 128, 146, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
{ { 169, 203, 224, 222, 220, 228, 229, 223, 234, 247, 242, 230, 222,
238, 246, 234, 196, 245, 249, 245, 192, 240, 235, 199, 161,
176, 148, 158, 77, 178, 128, 128, 158, 128, 128, 196, 208, 155,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
232, 187, 191, 221, 116, 217, 154, 128, 203, 128, 128, 192, 128,
201, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 133, 182, 215, 204, 176, 220, 182, 168, 187, 197, 181, 145, 75,
164, 136, 51, 57, 156, 128, 128, 128, 85, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
};
#else // CONFIG_CTX1D
static const aom_prob
default_eob_flag[TX_SIZES][PLANE_TYPES][EOB_COEF_CONTEXTS] = {
{ { 225, 240, 225, 200, 128, 128, 128, 128, 128, 128, 128,
245, 246, 238, 203, 128, 128, 128, 128, 128, 128, 128 },
{ 181, 219, 192, 144, 128, 128, 128, 128, 128, 128, 128,
218, 231, 199, 152, 128, 128, 128, 128, 128, 128, 128 } },
{ { 233, 247, 240, 234, 211, 194, 128, 128, 128, 128, 128,
252, 252, 249, 242, 221, 208, 128, 128, 128, 128, 128 },
{ 154, 222, 204, 180, 132, 128, 128, 128, 128, 128, 128,
216, 235, 206, 181, 121, 112, 128, 128, 128, 128, 128 } },
{ { 233, 246, 241, 238, 231, 216, 186, 171, 128, 128, 128,
251, 252, 251, 244, 233, 218, 192, 191, 128, 128, 128 },
{ 117, 221, 214, 223, 215, 202, 176, 116, 128, 128, 128,
205, 234, 219, 183, 195, 126, 76, 128, 128, 128, 128 } },
{ { 194, 231, 213, 215, 207, 200, 183, 169, 135, 168, 128,
240, 246, 243, 238, 210, 201, 172, 133, 107, 128, 128 },
{ 122, 232, 230, 244, 250, 247, 252, 253, 254, 52, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } }
};
static const aom_prob
default_eob_extra[TX_SIZES][PLANE_TYPES][EOB_COEF_CONTEXTS] = {
{ {
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
},
{
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
} },
{ {
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
},
{
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
} },
{ {
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
},
{
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
} },
{ {
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
},
{
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
} }
};
#endif // CONFIG_CTX1D
const aom_prob default_coeff_lps[TX_SIZES][PLANE_TYPES][LEVEL_CONTEXTS] = {
{ { 96, 128, 86, 122, 128, 84, 125, 128, 88, 99, 126, 128,
135, 159, 99, 130, 134, 100, 128, 144, 70, 97, 128, 139,
157, 168, 127, 148, 162, 121, 149, 157, 118, 127, 143, 157,
178, 186, 168, 171, 183, 165, 169, 180, 180, 169, 166, 177 },
{ 81, 128, 72, 95, 128, 64, 98, 128, 42, 66, 101, 128,
129, 163, 97, 122, 130, 91, 119, 141, 70, 94, 118, 166,
157, 168, 117, 143, 151, 111, 144, 154, 76, 113, 128, 158,
177, 185, 165, 167, 179, 155, 166, 179, 110, 137, 115, 165 } },
{ { 102, 128, 79, 125, 128, 74, 121, 128, 61, 98, 128, 128,
141, 164, 96, 132, 150, 90, 128, 153, 62, 100, 128, 153,
162, 172, 120, 146, 162, 113, 142, 154, 96, 113, 138, 155,
181, 188, 151, 170, 179, 147, 167, 181, 158, 157, 163, 176 },
{ 103, 128, 80, 116, 128, 66, 94, 128, 35, 65, 109, 128,
134, 163, 104, 137, 154, 92, 128, 104, 58, 94, 129, 132,
156, 173, 137, 149, 165, 104, 143, 143, 112, 101, 133, 159,
176, 186, 134, 172, 175, 155, 169, 177, 255, 107, 137, 168 } },
{ { 125, 128, 85, 157, 128, 82, 155, 128, 42, 83, 116, 128,
155, 174, 101, 144, 155, 93, 140, 155, 57, 92, 124, 149,
173, 178, 114, 148, 161, 111, 145, 161, 77, 101, 131, 153,
190, 191, 140, 169, 183, 140, 169, 179, 108, 122, 150, 171 },
{ 136, 128, 108, 163, 128, 96, 140, 128, 48, 90, 85, 128,
144, 164, 113, 158, 179, 107, 159, 128, 43, 75, 133, 160,
157, 184, 144, 160, 189, 154, 152, 184, 128, 124, 137, 140,
188, 196, 148, 170, 178, 128, 177, 159, 128, 179, 135, 135 } },
{ { 133, 128, 110, 153, 128, 101, 157, 128, 49, 91, 134, 128,
151, 168, 129, 158, 162, 112, 154, 168, 63, 99, 130, 158,
171, 178, 128, 160, 173, 111, 155, 171, 86, 108, 143, 159,
194, 196, 162, 177, 185, 123, 172, 181, 101, 132, 156, 178 },
{ 133, 128, 129, 144, 128, 116, 135, 128, 43, 101, 100, 128,
140, 163, 158, 173, 205, 128, 165, 171, 128, 128, 210, 163,
172, 184, 192, 176, 201, 183, 177, 190, 128, 192, 199, 144,
192, 192, 1, 196, 192, 255, 171, 178, 255, 128, 171, 179 } }
};
const aom_prob
default_coeff_br[TX_SIZES][PLANE_TYPES][BASE_RANGE_SETS][LEVEL_CONTEXTS] = {
{ { { 62, 128, 54, 116, 128, 51, 97, 128, 59, 68, 107, 128,
119, 158, 68, 115, 131, 65, 112, 138, 34, 71, 118, 137,
171, 184, 110, 152, 178, 105, 146, 172, 89, 111, 145, 173,
214, 226, 201, 198, 214, 196, 193, 210, 239, 196, 186, 202 },
{ 41, 128, 58, 52, 128, 51, 61, 128, 92, 54, 48, 128,
67, 113, 36, 55, 75, 30, 56, 72, 12, 25, 50, 79,
94, 131, 37, 75, 108, 42, 78, 103, 5, 31, 67, 103,
172, 192, 131, 135, 167, 129, 136, 165, 149, 144, 120, 149 },
{ 35, 128, 74, 50, 128, 63, 59, 128, 87, 74, 38, 128,
32, 53, 23, 34, 50, 18, 30, 41, 15, 13, 18, 18,
52, 74, 18, 29, 36, 18, 31, 47, 51, 9, 15, 27,
96, 134, 85, 70, 93, 96, 79, 100, 108, 100, 55, 65 } },
{ { 52, 128, 35, 79, 128, 29, 66, 128, 12, 30, 57, 128,
113, 156, 64, 107, 172, 54, 103, 145, 23, 57, 96, 110,
165, 184, 95, 138, 166, 95, 141, 184, 55, 80, 133, 165,
212, 222, 134, 175, 206, 158, 177, 197, 102, 61, 154, 190 },
{ 36, 128, 18, 26, 128, 15, 29, 128, 4, 6, 30, 128,
63, 113, 25, 44, 66, 22, 40, 67, 9, 14, 34, 55,
90, 125, 26, 66, 82, 29, 73, 88, 1, 26, 34, 67,
158, 179, 70, 121, 134, 69, 111, 129, 1, 85, 54, 105 },
{ 24, 128, 8, 31, 128, 15, 16, 128, 1, 1, 1, 128,
32, 39, 16, 18, 43, 5, 17, 13, 1, 1, 22, 1,
37, 65, 26, 20, 28, 16, 15, 24, 128, 1, 1, 1,
83, 107, 57, 56, 74, 34, 29, 73, 128, 1, 37, 47 } } },
{ { { 72, 128, 45, 113, 128, 38, 100, 128, 26, 63, 112, 128,
134, 177, 65, 121, 148, 57, 111, 143, 27, 68, 116, 152,
181, 198, 98, 148, 173, 84, 136, 168, 53, 89, 134, 170,
218, 230, 173, 194, 216, 160, 188, 213, 199, 177, 183, 204 },
{ 54, 128, 34, 55, 128, 32, 53, 128, 66, 45, 54, 128,
81, 128, 33, 59, 102, 26, 55, 80, 7, 23, 49, 91,
116, 145, 36, 79, 107, 35, 73, 102, 12, 28, 57, 95,
170, 201, 102, 133, 173, 105, 127, 173, 166, 132, 114, 149 },
{ 40, 128, 25, 30, 128, 21, 31, 128, 24, 17, 24, 128,
51, 67, 19, 28, 40, 17, 25, 42, 15, 13, 19, 19,
61, 77, 19, 30, 48, 13, 33, 50, 11, 15, 21, 30,
103, 147, 37, 69, 111, 37, 66, 105, 18, 18, 36, 76 } },
{ { 74, 128, 42, 99, 128, 32, 57, 128, 9, 28, 76, 128,
115, 187, 70, 118, 120, 52, 109, 128, 19, 60, 93, 100,
178, 197, 119, 147, 179, 92, 137, 178, 37, 87, 110, 158,
216, 227, 169, 186, 201, 128, 178, 204, 1, 96, 155, 217 },
{ 59, 128, 26, 34, 128, 11, 20, 128, 7, 8, 24, 128,
73, 125, 38, 74, 96, 23, 61, 79, 15, 9, 23, 110,
96, 151, 49, 79, 164, 22, 70, 65, 1, 1, 9, 69,
156, 196, 73, 105, 181, 17, 126, 155, 128, 1, 90, 111 },
{ 42, 128, 10, 11, 128, 13, 1, 128, 1, 1, 1, 128,
55, 63, 13, 17, 85, 1, 16, 64, 1, 1, 1, 1,
62, 58, 32, 21, 53, 1, 37, 91, 128, 128, 1, 1,
81, 133, 51, 48, 79, 1, 25, 81, 128, 128, 1, 54 } } },
{ { { 103, 128, 52, 163, 128, 46, 155, 128, 12, 45, 97, 128,
162, 196, 69, 140, 170, 60, 130, 158, 21, 58, 109, 150,
205, 214, 93, 149, 178, 79, 143, 179, 38, 71, 120, 159,
231, 240, 150, 192, 218, 140, 188, 220, 84, 112, 159, 196 },
{ 93, 128, 42, 143, 128, 41, 132, 128, 6, 15, 40, 128,
113, 172, 39, 99, 113, 33, 91, 94, 5, 15, 42, 83,
148, 172, 37, 91, 130, 28, 81, 121, 9, 20, 47, 87,
201, 223, 75, 139, 183, 77, 132, 176, 23, 41, 82, 147 },
{ 92, 128, 45, 123, 128, 28, 88, 128, 1, 8, 20, 128,
85, 94, 39, 95, 83, 33, 81, 61, 4, 5, 17, 25,
84, 109, 17, 59, 76, 11, 46, 62, 1, 4, 13, 35,
139, 184, 25, 86, 129, 25, 71, 123, 26, 13, 31, 84 } },
{ { 123, 128, 82, 169, 128, 62, 139, 128, 1, 28, 77, 128,
139, 167, 92, 170, 146, 76, 149, 255, 19, 68, 160, 73,
190, 209, 171, 165, 218, 57, 152, 209, 128, 61, 122, 164,
237, 240, 146, 210, 227, 128, 224, 220, 128, 128, 196, 199 },
{ 130, 128, 52, 141, 128, 32, 101, 128, 128, 1, 85, 128,
94, 155, 71, 121, 255, 30, 116, 85, 1, 8, 58, 255,
105, 169, 110, 101, 132, 1, 77, 142, 128, 1, 54, 96,
166, 214, 224, 154, 198, 255, 153, 230, 128, 85, 100, 146 },
{ 103, 128, 26, 83, 128, 20, 47, 128, 128, 128, 1, 128,
91, 90, 19, 76, 128, 1, 42, 1, 128, 255, 64, 128,
74, 77, 1, 72, 68, 128, 13, 77, 128, 128, 64, 1,
71, 147, 37, 99, 171, 1, 104, 151, 128, 1, 1, 96 } } },
{ { { 113, 128, 79, 165, 128, 69, 149, 128, 14, 55, 116, 128,
163, 202, 104, 169, 205, 82, 159, 180, 22, 64, 121, 165,
207, 216, 113, 177, 215, 95, 166, 195, 35, 77, 132, 179,
241, 244, 173, 207, 233, 128, 202, 227, 92, 121, 169, 209 },
{ 114, 128, 67, 136, 128, 54, 132, 128, 6, 26, 62, 128,
85, 129, 85, 146, 173, 64, 129, 140, 7, 19, 65, 92,
139, 169, 42, 147, 186, 40, 129, 170, 18, 18, 65, 117,
213, 230, 74, 172, 213, 69, 165, 196, 1, 40, 103, 170 },
{ 101, 128, 61, 134, 128, 52, 97, 128, 1, 14, 26, 128,
79, 72, 71, 135, 152, 56, 114, 117, 1, 10, 24, 58,
64, 66, 60, 133, 148, 16, 126, 123, 1, 32, 26, 56,
143, 197, 51, 141, 176, 59, 132, 162, 128, 17, 47, 106 } },
{ { 115, 128, 112, 135, 128, 89, 130, 128, 15, 49, 89, 128,
143, 238, 154, 203, 255, 138, 172, 255, 1, 98, 196, 255,
185, 203, 255, 211, 255, 192, 217, 235, 128, 128, 171, 255,
233, 233, 255, 247, 255, 1, 239, 245, 1, 128, 255, 255 },
{ 75, 128, 76, 118, 128, 35, 74, 128, 1, 13, 23, 128,
63, 138, 114, 164, 140, 91, 128, 128, 128, 1, 138, 64,
96, 128, 255, 175, 236, 85, 166, 209, 128, 1, 128, 146,
196, 217, 1, 204, 206, 128, 212, 221, 128, 128, 128, 219 },
{ 49, 128, 36, 62, 128, 37, 56, 128, 128, 1, 1, 128,
45, 37, 68, 102, 128, 90, 56, 1, 128, 128, 37, 1,
26, 27, 128, 126, 128, 255, 63, 142, 128, 128, 1, 1,
125, 159, 128, 173, 212, 128, 85, 189, 128, 128, 255, 171 } } }
};
#if CONFIG_CTX1D
static const aom_prob default_eob_mode[TX_SIZES][PLANE_TYPES][TX_CLASSES] = {
{ { 128, 176, 157 }, { 128, 222, 198 } },
{ { 128, 35, 56 }, { 128, 203, 225 } },
{ { 128, 55, 136 }, { 128, 230, 253 } },
{ { 128, 101, 188 }, { 128, 128, 128 } }
};
static const aom_prob default_empty_line[TX_SIZES][PLANE_TYPES][TX_CLASSES]
[EMPTY_LINE_CONTEXTS] = {
{ { { 128, 128, 128, 128, 128 },
{ 142, 153, 211, 205, 128 },
{ 162, 142, 203, 197, 128 } },
{ { 128, 128, 128, 128, 128 },
{ 133, 116, 178, 123, 128 },
{ 139, 109, 159, 115, 128 } } },
{ { { 128, 128, 128, 128, 128 },
{ 185, 130, 183, 204, 227 },
{ 171, 81, 177, 200, 221 } },
{ { 128, 128, 128, 128, 128 },
{ 180, 127, 175, 189, 213 },
{ 120, 74, 129, 134, 156 } } },
{ { { 128, 128, 128, 128, 128 },
{ 202, 82, 183, 214, 248 },
{ 144, 41, 163, 185, 203 } },
{ { 128, 128, 128, 128, 128 },
{ 151, 93, 171, 224, 160 },
{ 128, 51, 171, 128, 1 } } },
{ { { 128, 128, 128, 128, 128 },
{ 154, 48, 174, 210, 233 },
{ 123, 16, 148, 189, 197 } },
{ { 128, 128, 128, 128, 128 },
{ 128, 128, 128, 128, 128 },
{ 128, 128, 128, 128, 128 } } }
};
static const aom_prob
default_hv_eob[TX_SIZES][PLANE_TYPES][TX_CLASSES][HV_EOB_CONTEXTS] = {
{ { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 151, 173, 114, 128, 128, 128, 128, 128, 128, 162, 198, 128,
128, 128, 128, 128, 182, 198, 109, 128, 128, 128, 128, 128 },
{ 152, 173, 119, 128, 128, 128, 128, 128, 128, 164, 193, 128,
128, 128, 128, 128, 198, 209, 121, 128, 128, 128, 128, 128 } },
{ { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 123, 143, 70, 128, 128, 128, 128, 128, 128, 127, 154, 128,
128, 128, 128, 128, 176, 148, 36, 128, 128, 128, 128, 128 },
{ 132, 152, 73, 128, 128, 128, 128, 128, 128, 127, 159, 128,
128, 128, 128, 128, 186, 181, 48, 128, 128, 128, 128, 128 } } },
{ { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 109, 105, 78, 44, 128, 128, 128, 128, 128, 146, 185, 221,
128, 128, 128, 128, 199, 188, 134, 69, 128, 128, 128, 128 },
{ 124, 127, 115, 82, 128, 128, 128, 128, 128, 162, 198, 224,
128, 128, 128, 128, 206, 214, 177, 135, 128, 128, 128, 128 } },
{ { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 95, 102, 65, 14, 128, 128, 128, 128, 128, 132, 164, 199,
128, 128, 128, 128, 162, 163, 66, 27, 128, 128, 128, 128 },
{ 83, 141, 97, 38, 128, 128, 128, 128, 128, 154, 132, 184,
128, 128, 128, 128, 194, 218, 112, 63, 128, 128, 128, 128 } } },
{ { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 117, 107, 86, 61, 51, 104, 128, 128, 128, 160, 198, 238,
252, 251, 128, 128, 221, 223, 209, 186, 99, 81, 128, 128 },
{ 118, 122, 121, 100, 91, 97, 128, 128, 128, 168, 190, 214,
233, 235, 128, 128, 197, 216, 177, 165, 147, 126, 128, 128 } },
{ { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 109, 102, 63, 51, 255, 85, 128, 128, 128, 163, 131, 175,
128, 128, 128, 128, 183, 102, 40, 1, 128, 128, 128, 128 },
{ 255, 255, 1, 1, 128, 1, 128, 128, 128, 1, 128, 128,
128, 128, 128, 128, 255, 1, 128, 128, 128, 128, 128, 128 } } },
{ { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 114, 108, 83, 61, 53, 28, 77, 177, 128, 161, 187, 218,
240, 237, 228, 234, 200, 207, 167, 136, 98, 78, 183, 128 },
{ 117, 138, 116, 77, 75, 85, 26, 1, 128, 197, 162, 200,
184, 212, 225, 236, 189, 225, 168, 124, 144, 171, 128, 128 } },
{ { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } } }
};
#endif // CONFIG_CTX1D
#endif // CONFIG_LV_MAP
#if CONFIG_EXT_PARTITION_TYPES
static const aom_prob
default_partition_probs[PARTITION_CONTEXTS][EXT_PARTITION_TYPES - 1] = {
// 8x8 -> 4x4
{ 199, 122, 141, 128, 128, 128, 255, 128, 255 }, // a/l both not split
{ 147, 63, 159, 128, 128, 128, 255, 128, 255 }, // a split, l not split
{ 148, 133, 118, 128, 128, 128, 255, 128, 255 }, // l split, a not split
{ 121, 104, 114, 128, 128, 128, 255, 128, 255 }, // a/l both split
// 16x16 -> 8x8
{ 174, 73, 87, 128, 128, 128, 255, 128, 255 }, // a/l both not split
{ 92, 41, 83, 128, 128, 128, 255, 128, 255 }, // a split, l not split
{ 82, 99, 50, 128, 128, 128, 255, 128, 255 }, // l split, a not split
{ 53, 39, 39, 128, 128, 128, 255, 128, 255 }, // a/l both split
// 32x32 -> 16x16
{ 177, 58, 59, 128, 128, 85, 128, 85, 128 }, // a/l both not split
{ 68, 26, 63, 128, 128, 85, 128, 85, 128 }, // a split, l not split
{ 52, 79, 25, 128, 128, 85, 128, 85, 128 }, // l split, a not split
{ 17, 14, 12, 128, 128, 85, 128, 85, 128 }, // a/l both split
// 64x64 -> 32x32
{ 222, 34, 30, 128, 128, 85, 128, 85, 128 }, // a/l both not split
{ 72, 16, 44, 128, 128, 85, 128, 85, 128 }, // a split, l not split
{ 58, 32, 12, 128, 128, 85, 128, 85, 128 }, // l split, a not split
{ 10, 7, 6, 128, 128, 85, 128, 85, 128 }, // a/l both split
#if CONFIG_EXT_PARTITION
// 128x128 -> 64x64
{ 222, 34, 30, 128, 128, 128, 255, 128, 255 }, // a/l both not split
{ 72, 16, 44, 128, 128, 128, 255, 128, 255 }, // a split, l not split
{ 58, 32, 12, 128, 128, 128, 255, 128, 255 }, // l split, a not split
{ 10, 7, 6, 128, 128, 128, 255, 128, 255 }, // a/l both split
#endif // CONFIG_EXT_PARTITION
#if CONFIG_UNPOISON_PARTITION_CTX
{ 0, 0, 141, 0, 0, 0, 0, 0, 0 }, // 8x8 -> 4x4
{ 0, 0, 87, 0, 0, 0, 0, 0, 0 }, // 16x16 -> 8x8
{ 0, 0, 59, 0, 0, 0, 0, 0, 0 }, // 32x32 -> 16x16
{ 0, 0, 30, 0, 0, 0, 0, 0, 0 }, // 64x64 -> 32x32
#if CONFIG_EXT_PARTITION
{ 0, 0, 30, 0, 0, 0, 0, 0, 0 }, // 128x128 -> 64x64
#endif // CONFIG_EXT_PARTITION
{ 0, 122, 0, 0, 0, 0, 0, 0, 0 }, // 8x8 -> 4x4
{ 0, 73, 0, 0, 0, 0, 0, 0, 0 }, // 16x16 -> 8x8
{ 0, 58, 0, 0, 0, 0, 0, 0, 0 }, // 32x32 -> 16x16
{ 0, 34, 0, 0, 0, 0, 0, 0, 0 }, // 64x64 -> 32x32
#if CONFIG_EXT_PARTITION
{ 0, 34, 0, 0, 0, 0, 0, 0, 0 }, // 128x128 -> 64x64
#endif // CONFIG_EXT_PARTITION
#endif // CONFIG_UNPOISON_PARTITION_CTX
};
#else
static const aom_prob
default_partition_probs[PARTITION_CONTEXTS][PARTITION_TYPES - 1] = {
// 8x8 -> 4x4
{ 199, 122, 141 }, // a/l both not split
{ 147, 63, 159 }, // a split, l not split
{ 148, 133, 118 }, // l split, a not split
{ 121, 104, 114 }, // a/l both split
// 16x16 -> 8x8
{ 174, 73, 87 }, // a/l both not split
{ 92, 41, 83 }, // a split, l not split
{ 82, 99, 50 }, // l split, a not split
{ 53, 39, 39 }, // a/l both split
// 32x32 -> 16x16
{ 177, 58, 59 }, // a/l both not split
{ 68, 26, 63 }, // a split, l not split
{ 52, 79, 25 }, // l split, a not split
{ 17, 14, 12 }, // a/l both split
// 64x64 -> 32x32
{ 222, 34, 30 }, // a/l both not split
{ 72, 16, 44 }, // a split, l not split
{ 58, 32, 12 }, // l split, a not split
{ 10, 7, 6 }, // a/l both split
#if CONFIG_EXT_PARTITION
// 128x128 -> 64x64
{ 222, 34, 30 }, // a/l both not split
{ 72, 16, 44 }, // a split, l not split
{ 58, 32, 12 }, // l split, a not split
{ 10, 7, 6 }, // a/l both split
#endif // CONFIG_EXT_PARTITION
#if CONFIG_UNPOISON_PARTITION_CTX
{ 0, 0, 141 }, // 8x8 -> 4x4
{ 0, 0, 87 }, // 16x16 -> 8x8
{ 0, 0, 59 }, // 32x32 -> 16x16
{ 0, 0, 30 }, // 64x64 -> 32x32
#if CONFIG_EXT_PARTITION
{ 0, 0, 30 }, // 128x128 -> 64x64
#endif // CONFIG_EXT_PARTITION
{ 0, 122, 0 }, // 8x8 -> 4x4
{ 0, 73, 0 }, // 16x16 -> 8x8
{ 0, 58, 0 }, // 32x32 -> 16x16
{ 0, 34, 0 }, // 64x64 -> 32x32
#if CONFIG_EXT_PARTITION
{ 0, 34, 0 }, // 128x128 -> 64x64
#endif // CONFIG_EXT_PARTITION
#endif // CONFIG_UNPOISON_PARTITION_CTX
};
#endif // CONFIG_EXT_PARTITION_TYPES
static const aom_prob default_newmv_prob[NEWMV_MODE_CONTEXTS] = {
155, 116, 94, 32, 96, 56, 30,
};
static const aom_prob default_zeromv_prob[ZEROMV_MODE_CONTEXTS] = {
45, 13,
};
static const aom_prob default_refmv_prob[REFMV_MODE_CONTEXTS] = {
178, 212, 135, 244, 203, 122, 128, 128, 128,
};
static const aom_prob default_drl_prob[DRL_MODE_CONTEXTS] = {
119, 128, 189, 134, 128,
};
#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_newmv_cdf[NEWMV_MODE_CONTEXTS][CDF_SIZE(2)] =
{ { AOM_ICDF(128 * 155), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 116), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 94), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 32), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 96), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 56), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 30), AOM_ICDF(32768), 0 } };
static const aom_cdf_prob default_zeromv_cdf[ZEROMV_MODE_CONTEXTS][CDF_SIZE(
2)] = { { AOM_ICDF(128 * 45), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 13), AOM_ICDF(32768), 0 } };
static const aom_cdf_prob default_refmv_cdf[REFMV_MODE_CONTEXTS][CDF_SIZE(2)] =
{ { AOM_ICDF(128 * 178), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 212), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 135), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 244), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 203), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 122), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 } };
static const aom_cdf_prob default_drl_cdf[DRL_MODE_CONTEXTS][CDF_SIZE(2)] = {
{ AOM_ICDF(128 * 119), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 189), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 134), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 }
};
#endif
static const aom_prob default_inter_compound_mode_probs
[INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES - 1] = {
{ 154, 167, 233, 165, 143, 170, 167 }, // 0 = both zero mv
{ 75, 168, 237, 155, 135, 176, 172 }, // 1 = 1 zero + 1 predicted
{ 7, 173, 227, 128, 153, 188, 189 }, // 2 = two predicted mvs
{ 8, 120, 214, 113, 154, 178, 174 }, // 3 = 1 pred/zero, 1 new
{ 4, 85, 194, 94, 155, 173, 167 }, // 4 = two new mvs
{ 23, 89, 180, 73, 157, 151, 155 }, // 5 = one intra neighbour
{ 27, 49, 152, 91, 134, 153, 142 }, // 6 = two intra neighbours
};
static const aom_cdf_prob
default_inter_compound_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE(
INTER_COMPOUND_MODES)] = {
{ AOM_ICDF(19712), AOM_ICDF(28229), AOM_ICDF(30892), AOM_ICDF(31437),
AOM_ICDF(31712), AOM_ICDF(32135), AOM_ICDF(32360), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9600), AOM_ICDF(24804), AOM_ICDF(29268), AOM_ICDF(30323),
AOM_ICDF(30802), AOM_ICDF(31726), AOM_ICDF(32177), AOM_ICDF(32768), 0 },
{ AOM_ICDF(896), AOM_ICDF(22434), AOM_ICDF(27015), AOM_ICDF(29026),
AOM_ICDF(29753), AOM_ICDF(31114), AOM_ICDF(31597), AOM_ICDF(32768), 0 },
{ AOM_ICDF(1024), AOM_ICDF(15904), AOM_ICDF(22127), AOM_ICDF(25421),
AOM_ICDF(26864), AOM_ICDF(28996), AOM_ICDF(30001), AOM_ICDF(32768), 0 },
{ AOM_ICDF(512), AOM_ICDF(11222), AOM_ICDF(17217), AOM_ICDF(21445),
AOM_ICDF(23473), AOM_ICDF(26133), AOM_ICDF(27550), AOM_ICDF(32768), 0 },
{ AOM_ICDF(2944), AOM_ICDF(13313), AOM_ICDF(17214), AOM_ICDF(20751),
AOM_ICDF(23211), AOM_ICDF(25500), AOM_ICDF(26992), AOM_ICDF(32768), 0 },
{ AOM_ICDF(3456), AOM_ICDF(9067), AOM_ICDF(14069), AOM_ICDF(16907),
AOM_ICDF(18817), AOM_ICDF(21214), AOM_ICDF(23139), AOM_ICDF(32768), 0 }
};
#if CONFIG_COMPOUND_SINGLEREF
// TODO(zoeliu): Default values to be further adjusted based on the collected
// stats.
/*
static const aom_prob default_inter_singleref_comp_mode_probs
[INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
{ 2, 173, 68, 180 }, // 0 = both zero mv
{ 7, 145, 160, 180 }, // 1 = 1 zero + 1 predicted
{ 7, 166, 126, 180 }, // 2 = two predicted mvs
{ 7, 94, 132, 180 }, // 3 = 1 pred/zero, 1 new
{ 8, 64, 64, 180 }, // 4 = two new mvs
{ 17, 81, 52, 180 }, // 5 = one intra neighbour
{ 25, 29, 50, 180 }, // 6 = two intra neighbours
};*/
static const aom_prob default_inter_singleref_comp_mode_probs
[INTER_MODE_CONTEXTS][INTER_SINGLEREF_COMP_MODES - 1] = {
{ 2, 173, 68 }, // 0 = both zero mv
{ 7, 145, 160 }, // 1 = 1 zero + 1 predicted
{ 7, 166, 126 }, // 2 = two predicted mvs
{ 7, 94, 132 }, // 3 = 1 pred/zero, 1 new
{ 8, 64, 64 }, // 4 = two new mvs
{ 17, 81, 52 }, // 5 = one intra neighbour
{ 25, 29, 50 }, // 6 = two intra neighbours
};
static const aom_cdf_prob
default_inter_singleref_comp_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE(
INTER_SINGLEREF_COMP_MODES)] = {
{ AOM_ICDF(21971), AOM_ICDF(24771), AOM_ICDF(25027), AOM_ICDF(32768), 0 },
{ AOM_ICDF(18053), AOM_ICDF(26690), AOM_ICDF(27586), AOM_ICDF(32768), 0 },
{ AOM_ICDF(20667), AOM_ICDF(26182), AOM_ICDF(27078), AOM_ICDF(32768), 0 },
{ AOM_ICDF(11703), AOM_ICDF(22103), AOM_ICDF(22999), AOM_ICDF(32768), 0 },
{ AOM_ICDF(7936), AOM_ICDF(13888), AOM_ICDF(14912), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9679), AOM_ICDF(13927), AOM_ICDF(16103), AOM_ICDF(32768), 0 },
{ AOM_ICDF(3349), AOM_ICDF(8470), AOM_ICDF(11670), AOM_ICDF(32768), 0 }
};
#endif // CONFIG_COMPOUND_SINGLEREF
static const aom_prob
default_compound_type_probs[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1] = {
{ 128, 128 }, { 128, 128 }, { 128, 128 }, { 128, 128 },
{ 255, 128 }, { 255, 128 }, { 66, 51 }, { 72, 35 },
{ 79, 29 }, { 71, 18 }, { 81, 29 }, { 81, 26 },
{ 69, 19 }, { 104, 1 }, { 99, 1 }, { 75, 1 },
#if CONFIG_EXT_PARTITION
{ 255, 1 }, { 255, 1 }, { 255, 1 },
#endif // CONFIG_EXT_PARTITION
{ 208, 128 }, { 208, 128 }, { 208, 128 }, { 208, 128 },
{ 208, 1 }, { 208, 1 },
#if CONFIG_EXT_PARTITION
{ 208, 1 }, { 208, 1 }
#endif // CONFIG_EXT_PARTITION
};
static const aom_cdf_prob
default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = {
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32704), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32704), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8448), AOM_ICDF(13293), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9216), AOM_ICDF(12436), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10112), AOM_ICDF(12679), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9088), AOM_ICDF(10753), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10368), AOM_ICDF(12906), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10368), AOM_ICDF(12643), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8832), AOM_ICDF(10609), AOM_ICDF(32768), 0 },
{ AOM_ICDF(13312), AOM_ICDF(13388), AOM_ICDF(32768), 0 },
{ AOM_ICDF(12672), AOM_ICDF(12751), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9600), AOM_ICDF(9691), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(32640), AOM_ICDF(32641), AOM_ICDF(32768), 0 }, // 255, 1
{ AOM_ICDF(32640), AOM_ICDF(32641), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32641), AOM_ICDF(32768), 0 },
#endif // CONFIG_EXT_PARTITION
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(26624), AOM_ICDF(26648), AOM_ICDF(32768), 0 }, // 208, 1
{ AOM_ICDF(26624), AOM_ICDF(26648), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(26624), AOM_ICDF(26648), AOM_ICDF(32768), 0 },
{ AOM_ICDF(26624), AOM_ICDF(26648), AOM_ICDF(32768), 0 },
#endif
};
#if CONFIG_INTERINTRA
static const aom_prob default_interintra_prob[BLOCK_SIZE_GROUPS] = {
128, 226, 244, 254,
};
#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_interintra_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(
2)] = { { AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(226 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(254 * 128), AOM_ICDF(32768), 0 } };
#endif
static const aom_prob
default_interintra_mode_prob[BLOCK_SIZE_GROUPS][INTERINTRA_MODES - 1] = {
{ 128, 128, 128 }, // block_size < 8x8
{ 24, 34, 119 }, // block_size < 16x16
{ 38, 33, 95 }, // block_size < 32x32
{ 51, 21, 110 }, // block_size >= 32x32
};
static const aom_cdf_prob
default_interintra_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(
INTERINTRA_MODES)] = {
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768), 0 },
{ AOM_ICDF(3072), AOM_ICDF(7016), AOM_ICDF(18987), AOM_ICDF(32768), 0 },
{ AOM_ICDF(4864), AOM_ICDF(8461), AOM_ICDF(17481), AOM_ICDF(32768), 0 },
{ AOM_ICDF(6528), AOM_ICDF(8681), AOM_ICDF(19031), AOM_ICDF(32768), 0 }
};
static const aom_prob default_wedge_interintra_prob[BLOCK_SIZES_ALL] = {
128, 128, 128, 128, 128, 128, 194, 213,
217, 222, 224, 226, 220, 128, 128, 128,
#if CONFIG_EXT_PARTITION
255, 255, 255,
#endif // CONFIG_EXT_PARTITION
208, 208, 208, 208, 255, 255,
#if CONFIG_EXT_PARTITION
255, 255
#endif // CONFIG_EXT_PARTITION
};
#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(194 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(213 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(217 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(222 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(224 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(226 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(220 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
#endif // CONFIG_EXT_PARTITION
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
#endif // CONFIG_EXT_PARTITION
};
#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_INTERINTRA
#if CONFIG_NCOBMC_ADAPT_WEIGHT
#ifdef TWO_MODE
const aom_tree_index av1_ncobmc_mode_tree[TREE_SIZE(MAX_NCOBMC_MODES)] = {
-NCOBMC_MODE_0, -NCOBMC_MODE_1
};
#else
const aom_tree_index av1_ncobmc_mode_tree[TREE_SIZE(MAX_NCOBMC_MODES)] = {
-NCOBMC_MODE_0, 2,
-NCOBMC_MODE_1, 4,
-NCOBMC_MODE_2, 6,
-NCOBMC_MODE_3, 8,
-NCOBMC_MODE_4, 10,
-NCOBMC_MODE_5, 12,
-NCOBMC_MODE_6, -NCOBMC_MODE_7
};
#endif // TWO_MODE
// TODO(weitinglin): find default prob
// right now setting the first mode with probability 1/255,
// the last eight modes with equal probabilities
static const aom_prob
default_ncobmc_mode_prob[ADAPT_OVERLAP_BLOCKS][MAX_NCOBMC_MODES - 1] = {
#ifdef TWO_MODE
{ 127 }, { 127 }, { 127 }, { 127 }
#else
{ 32, 36, 43, 51, 64, 85, 128 }, // 8x8
{ 32, 36, 43, 51, 64, 85, 128 }, // 16X16
{ 32, 36, 43, 51, 64, 85, 128 }, // 32X32
{ 32, 36, 43, 51, 64, 85, 128 } // 64X64
#endif // TWO_MODE
};
static const aom_cdf_prob
default_ncobmc_mode_cdf[ADAPT_OVERLAP_BLOCKS][CDF_SIZE(MAX_NCOBMC_MODES)] =
#ifdef TWO_MODE
{ { AOM_ICDF(16256), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16256), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16256), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16256), AOM_ICDF(32768), 0 } };
#else
{ { AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288), AOM_ICDF(16384),
AOM_ICDF(20480), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768),
0 },
{ AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288), AOM_ICDF(16384),
AOM_ICDF(20480), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768),
0 },
{ AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288), AOM_ICDF(16384),
AOM_ICDF(20480), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768),
0 },
{ AOM_ICDF(4096), AOM_ICDF(8192), AOM_ICDF(12288), AOM_ICDF(16384),
AOM_ICDF(20480), AOM_ICDF(24576), AOM_ICDF(28672), AOM_ICDF(32768),
0 } };
#endif // TWO_MODEE
#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
// Change this section appropriately once warped motion is supported
#if !CONFIG_WARPED_MOTION
#if CONFIG_NCOBMC_ADAPT_WEIGHT
const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
-SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -NCOBMC_ADAPT_WEIGHT,
};
static const aom_prob
default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
{ 255, 255 },
{ 255, 255 },
{ 255, 255 },
{ 255, 255 },
{ 255, 255 },
{ 255, 255 },
/** Only these nine block sizes allow ncobmc_adapt_weight **/
{ 45, 207 },
{ 42, 211 },
{ 34, 207 },
{ 181, 123 },
{ 129, 141 },
{ 15, 209 },
{ 231, 122 },
{ 195, 190 },
{ 168, 190 },
/** ----------------------------------------------------- **/
{ 244, 255 },
#if CONFIG_EXT_PARTITION
{ 252, 255 },
{ 252, 255 },
{ 252, 255 },
#endif // CONFIG_EXT_PARTITION
{ 255, 200 },
{ 255, 200 },
{ 255, 200 },
{ 255, 200 },
#if CONFIG_EXT_PARTITION
{ 252, 255 },
{ 252, 200 },
{ 252, 200 },
#endif // CONFIG_EXT_PARTITION
};
static const aom_cdf_prob
default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0, 0 },
/** Only these seven block sizes allow ncobmc_adapt_weight **/
{ AOM_ICDF(5702), AOM_ICDF(27555), AOM_ICDF(32768), 0 },
{ AOM_ICDF(5408), AOM_ICDF(27964), AOM_ICDF(32768), 0 },
{ AOM_ICDF(4330), AOM_ICDF(27298), AOM_ICDF(32768), 0 },
{ AOM_ICDF(23107), AOM_ICDF(27760), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16490), AOM_ICDF(25461), AOM_ICDF(32768), 0 },
{ AOM_ICDF(1959), AOM_ICDF(27153), AOM_ICDF(32768), 0 },
{ AOM_ICDF(29530), AOM_ICDF(31073), AOM_ICDF(32768), 0 },
{ AOM_ICDF(25057), AOM_ICDF(30840), AOM_ICDF(32768), 0 },
{ AOM_ICDF(21588), AOM_ICDF(29940), AOM_ICDF(32768), 0 },
/** ----------------------------------------------------- **/
{ AOM_ICDF(244 * 128), AOM_ICDF(32768), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(32256), AOM_ICDF(32768), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32256), AOM_ICDF(32768), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32256), AOM_ICDF(32768), AOM_ICDF(32768), 0 },
#endif
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 }
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
#endif
};
#else // CONFIG_NCOBMC_ADAPT_WEIGHT
const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
-SIMPLE_TRANSLATION, -OBMC_CAUSAL
};
static const aom_prob
default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
{ 255 }, { 255 }, { 255 }, { 255 }, { 255 }, { 255 }, { 151 }, { 153 },
{ 144 }, { 178 }, { 165 }, { 160 }, { 207 }, { 195 }, { 168 }, { 244 },
#if CONFIG_EXT_PARTITION
{ 252 }, { 252 }, { 252 },
#endif // CONFIG_EXT_PARTITION
{ 208 }, { 208 }, { 208 }, { 208 }, { 208 }, { 208 },
#if CONFIG_EXT_PARTITION
{ 208 }, { 208 }
#endif // CONFIG_EXT_PARTITION
};
static const aom_cdf_prob
default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(151 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(178 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(165 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(160 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(207 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(195 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(168 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
#endif // CONFIG_EXT_PARTITION
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
#endif // CONFIG_EXT_PARTITION
};
#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
#elif CONFIG_WARPED_MOTION
#if CONFIG_NCOBMC_ADAPT_WEIGHT
const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
-SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, 4, -NCOBMC_ADAPT_WEIGHT, -WARPED_CAUSAL
};
static const aom_prob default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES -
1] = {
{ 128, 128, 255 }, { 128, 128, 128 }, { 128, 128, 128 }, { 128, 128, 128 },
{ 128, 128, 128 }, { 128, 128, 128 }, { 62, 115, 128 }, { 39, 131, 128 },
{ 39, 132, 128 }, { 118, 94, 128 }, { 77, 125, 128 }, { 100, 121, 128 },
{ 190, 66, 128 }, { 207, 102, 128 }, { 197, 100, 128 }, { 239, 76, 128 },
#if CONFIG_EXT_PARTITION
{ 252, 200, 128 }, { 252, 200, 128 }, { 252, 200, 128 },
#endif // CONFIG_EXT_PARTITION
{ 208, 200, 128 }, { 208, 200, 128 }, { 208, 200, 128 }, { 208, 200, 128 }
};
static const aom_cdf_prob
default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
/** Only these nine block sizes allow ncobmc_adapt_weight **/
{ AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8192), AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
/***********************************************************/
{ AOM_ICDF(30592), AOM_ICDF(31238), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
#endif
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32767), AOM_ICDF(32768), 0 }
};
const aom_tree_index av1_ncobmc_tree[TREE_SIZE(OBMC_FAMILY_MODES)] = {
-SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -NCOBMC_ADAPT_WEIGHT
};
static const aom_prob
default_ncobmc_prob[BLOCK_SIZES_ALL][OBMC_FAMILY_MODES - 1] = {
{ 128, 255 }, { 128, 255 }, { 128, 255 }, { 128, 255 },
{ 128, 255 }, { 128, 255 }, { 45, 255 }, { 79, 255 },
{ 75, 255 }, { 130, 255 }, { 141, 255 }, { 144, 255 },
{ 208, 255 }, { 201, 255 }, { 186, 255 }, { 231, 255 },
#if CONFIG_EXT_PARTITION
{ 252, 255 }, { 252, 255 }, { 252, 255 },
#endif // CONFIG_EXT_PARTITION
{ 208, 255 }, { 208, 255 }, { 208, 255 }, { 208, 255 }
};
static const aom_cdf_prob
default_ncobmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(OBMC_FAMILY_MODES)] = {
{ AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
/** Only these nine block sizes allow ncobmc_adapt_weight **/
{ AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10922), AOM_ICDF(21845), AOM_ICDF(32768), 0 },
/***********************************************************/
{ AOM_ICDF(231 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(252 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(252 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(252 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
#endif // CONFIG_EXT_PARTITION
{ AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32767), AOM_ICDF(32768), 0 }
};
#else
const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
-SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -WARPED_CAUSAL,
};
static const aom_prob
default_motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1] = {
{ 128, 128 }, { 128, 128 }, { 128, 128 }, { 128, 128 },
{ 128, 128 }, { 128, 128 }, { 62, 115 }, { 39, 131 },
{ 39, 132 }, { 118, 94 }, { 77, 125 }, { 100, 121 },
{ 190, 66 }, { 207, 102 }, { 197, 100 }, { 239, 76 },
#if CONFIG_EXT_PARTITION
{ 252, 200 }, { 252, 200 }, { 252, 200 },
#endif // CONFIG_EXT_PARTITION
{ 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 },
{ 208, 200 }, { 208, 200 },
#if CONFIG_EXT_PARTITION
{ 252, 200 }, { 252, 200 }
#endif // CONFIG_EXT_PARTITION
};
static const aom_cdf_prob
default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16384), AOM_ICDF(24576), AOM_ICDF(32768), 0 },
{ AOM_ICDF(7936), AOM_ICDF(19091), AOM_ICDF(32768), 0 },
{ AOM_ICDF(4991), AOM_ICDF(19205), AOM_ICDF(32768), 0 },
{ AOM_ICDF(4992), AOM_ICDF(19314), AOM_ICDF(32768), 0 },
{ AOM_ICDF(15104), AOM_ICDF(21590), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9855), AOM_ICDF(21043), AOM_ICDF(32768), 0 },
{ AOM_ICDF(12800), AOM_ICDF(22238), AOM_ICDF(32768), 0 },
{ AOM_ICDF(24320), AOM_ICDF(26498), AOM_ICDF(32768), 0 },
{ AOM_ICDF(26496), AOM_ICDF(28995), AOM_ICDF(32768), 0 },
{ AOM_ICDF(25216), AOM_ICDF(28166), AOM_ICDF(32768), 0 },
{ AOM_ICDF(30592), AOM_ICDF(31238), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
#endif
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32640), AOM_ICDF(32740), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 },
#endif
};
#endif // CONFIG_NCOBMC_ADAPT_WEIGHT
// Probability for the case that only 1 additional motion mode is allowed
static const aom_prob default_obmc_prob[BLOCK_SIZES_ALL] = {
128, 128, 128, 128, 128, 128, 45, 79, 75, 130, 141, 144, 208, 201, 186, 231,
#if CONFIG_EXT_PARTITION
252, 252, 252,
#endif // CONFIG_EXT_PARTITION
208, 208, 208, 208, 208, 208,
#if CONFIG_EXT_PARTITION
252, 252
#endif // CONFIG_EXT_PARTITION
};
#if CONFIG_NEW_MULTISYMBOL || CONFIG_NCOBMC_ADAPT_WEIGHT
static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(128 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(45 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(79 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(75 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(130 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(141 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(201 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(186 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(231 * 128), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
#endif // CONFIG_EXT_PARTITION
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(208 * 128), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
#endif // CONFIG_EXT_PARTITION
};
#endif // CONFIG_NEW_MULTISYMBOL
#endif
static const aom_prob default_delta_q_probs[DELTA_Q_PROBS] = { 220, 220, 220 };
static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = {
AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
};
#if CONFIG_EXT_DELTA_Q
#if CONFIG_LOOPFILTER_LEVEL
static const aom_prob
default_delta_lf_multi_probs[FRAME_LF_COUNT][DELTA_LF_PROBS] = {
{ 220, 220, 220 }, { 220, 220, 220 }, { 220, 220, 220 }, { 220, 220, 220 }
};
static const aom_cdf_prob
default_delta_lf_multi_cdf[FRAME_LF_COUNT][CDF_SIZE(DELTA_LF_PROBS + 1)] = {
{ AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0 },
{ AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0 },
{ AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0 },
{ AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0 }
};
#endif // CONFIG_LOOPFILTER_LEVEL
static const aom_prob default_delta_lf_probs[DELTA_LF_PROBS] = { 220, 220,
220 };
static const aom_cdf_prob default_delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)] = {
AOM_ICDF(28160), AOM_ICDF(32120), AOM_ICDF(32677), AOM_ICDF(32768), 0
};
#endif
/* clang-format off */
#if CONFIG_INTERINTRA
const aom_tree_index av1_interintra_mode_tree[TREE_SIZE(INTERINTRA_MODES)] = {
-II_DC_PRED, 2, /* 0 = II_DC_NODE */
-II_SMOOTH_PRED, 4, /* 1 = II_SMOOTH_PRED */
-II_V_PRED, -II_H_PRED /* 2 = II_V_NODE */
};
#endif // CONFIG_INTERINTRA
const aom_tree_index av1_inter_compound_mode_tree
[TREE_SIZE(INTER_COMPOUND_MODES)] = {
-INTER_COMPOUND_OFFSET(ZERO_ZEROMV), 2,
-INTER_COMPOUND_OFFSET(NEAREST_NEARESTMV), 4,
6, -INTER_COMPOUND_OFFSET(NEW_NEWMV),
-INTER_COMPOUND_OFFSET(NEAR_NEARMV), 8,
10, 12,
-INTER_COMPOUND_OFFSET(NEAREST_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARESTMV),
-INTER_COMPOUND_OFFSET(NEAR_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARMV)
};
#if CONFIG_COMPOUND_SINGLEREF
// TODO(zoeliu): To redesign the tree structure once the number of mode changes.
/*
const aom_tree_index av1_inter_singleref_comp_mode_tree
[TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
-INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
-INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
6, -INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV),
-INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEWMV),
-INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV)
};*/
const aom_tree_index av1_inter_singleref_comp_mode_tree
[TREE_SIZE(INTER_SINGLEREF_COMP_MODES)] = {
-INTER_SINGLEREF_COMP_OFFSET(SR_ZERO_NEWMV), 2,
-INTER_SINGLEREF_COMP_OFFSET(SR_NEAREST_NEARMV), 4,
-INTER_SINGLEREF_COMP_OFFSET(SR_NEAR_NEWMV),
-INTER_SINGLEREF_COMP_OFFSET(SR_NEW_NEWMV)
};
#endif // CONFIG_COMPOUND_SINGLEREF
const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = {
-COMPOUND_AVERAGE, 2, -COMPOUND_WEDGE, -COMPOUND_SEG
};
/* clang-format on */
const aom_tree_index av1_partition_tree[TREE_SIZE(PARTITION_TYPES)] = {
-PARTITION_NONE, 2, -PARTITION_HORZ, 4, -PARTITION_VERT, -PARTITION_SPLIT
};
#if CONFIG_EXT_PARTITION_TYPES
/* clang-format off */
const aom_tree_index av1_ext_partition_tree[TREE_SIZE(EXT_PARTITION_TYPES)] = {
-PARTITION_NONE, 2,
6, 4,
8, -PARTITION_SPLIT,
-PARTITION_HORZ, 10,
-PARTITION_VERT, 14,
-PARTITION_HORZ_A, 12,
-PARTITION_HORZ_B, -PARTITION_HORZ_4,
-PARTITION_VERT_A, 16,
-PARTITION_VERT_B, -PARTITION_VERT_4
};
/* clang-format on */
#endif // CONFIG_EXT_PARTITION_TYPES
static const aom_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
6, 97, 151, 205,
};
#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_intra_inter_cdf[INTRA_INTER_CONTEXTS][CDF_SIZE(2)] = {
{ AOM_ICDF(768), AOM_ICDF(32768), 0 },
{ AOM_ICDF(12416), AOM_ICDF(32768), 0 },
{ AOM_ICDF(19328), AOM_ICDF(32768), 0 },
{ AOM_ICDF(26240), AOM_ICDF(32768), 0 }
};
#endif
static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
190, 156, 91, 77, 22
};
#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_comp_inter_cdf[COMP_INTER_CONTEXTS][CDF_SIZE(
2)] = { { AOM_ICDF(24290), AOM_ICDF(32768), 0 },
{ AOM_ICDF(19956), AOM_ICDF(32768), 0 },
{ AOM_ICDF(11641), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9804), AOM_ICDF(32768), 0 },
{ AOM_ICDF(2842), AOM_ICDF(32768), 0 } };
#endif // CONFIG_NEW_MULTISYMBOL
#if CONFIG_EXT_COMP_REFS
static const aom_prob default_comp_ref_type_p[COMP_REF_TYPE_CONTEXTS] = {
8, 20, 78, 91, 194
};
static const aom_prob
default_uni_comp_ref_p[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1] = {
{ 88, 30, 28 }, { 218, 97, 105 }, { 254, 180, 196 }
};
#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_comp_ref_type_cdf[COMP_REF_TYPE_CONTEXTS][CDF_SIZE(2)] = {
{ AOM_ICDF(8 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(20 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(78 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(91 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(194 * 128), AOM_ICDF(32768), 0 }
};
static const aom_cdf_prob
default_uni_comp_ref_cdf[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1]
[CDF_SIZE(2)] = {
{ { AOM_ICDF(88 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(30 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(28 * 128), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(218 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(97 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(105 * 128), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(254 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(180 * 128), AOM_ICDF(32768), 0 },
{ AOM_ICDF(196 * 128), AOM_ICDF(32768), 0 } }
};
#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_EXT_COMP_REFS
static const aom_prob default_comp_ref_p[REF_CONTEXTS][FWD_REFS - 1] = {
{ 28, 10, 8 },
{ 77, 27, 26 },
{ 127, 62, 56 },
{ 186, 126, 160 },
{ 236, 143, 172 }
};
static const aom_prob default_comp_bwdref_p[REF_CONTEXTS][BWD_REFS - 1] = {
{ 22, 13 }, { 140, 124 }, { 241, 239 }, { 128, 128 }, { 128, 128 }
};
#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_comp_ref_cdf[REF_CONTEXTS][FWD_REFS - 1][CDF_SIZE(2)] = {
{ { AOM_ICDF(3556), AOM_ICDF(32768), 0 },
{ AOM_ICDF(1217), AOM_ICDF(32768), 0 },
{ AOM_ICDF(988), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(9857), AOM_ICDF(32768), 0 },
{ AOM_ICDF(3394), AOM_ICDF(32768), 0 },
{ AOM_ICDF(3303), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(16237), AOM_ICDF(32768), 0 },
{ AOM_ICDF(7946), AOM_ICDF(32768), 0 },
{ AOM_ICDF(7195), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(23826), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16124), AOM_ICDF(32768), 0 },
{ AOM_ICDF(20536), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(30195), AOM_ICDF(32768), 0 },
{ AOM_ICDF(18344), AOM_ICDF(32768), 0 },
{ AOM_ICDF(21980), AOM_ICDF(32768), 0 } }
};
static const aom_cdf_prob
default_comp_bwdref_cdf[REF_CONTEXTS][BWD_REFS - 1][CDF_SIZE(2)] = {
{ { AOM_ICDF(2762), AOM_ICDF(32768), 0 },
{ AOM_ICDF(1614), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(17976), AOM_ICDF(32768), 0 },
{ AOM_ICDF(15912), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(30894), AOM_ICDF(32768), 0 },
{ AOM_ICDF(30639), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(32768), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32768), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(32768), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32768), AOM_ICDF(32768), 0 } }
};
#endif // CONFIG_NEW_MULTISYMBOL
static const aom_prob default_single_ref_p[REF_CONTEXTS][SINGLE_REFS - 1] = {
{ 36, 16, 32, 57, 11, 14 },
{ 68, 128, 73, 128, 49, 124 },
{ 136, 236, 127, 170, 81, 238 },
{ 128, 128, 191, 211, 115, 128 },
{ 224, 128, 230, 242, 208, 128 }
};
#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_single_ref_cdf[REF_CONTEXTS][SINGLE_REFS - 1][CDF_SIZE(2)] = {
{ { AOM_ICDF(4623), AOM_ICDF(32768), 0 },
{ AOM_ICDF(2110), AOM_ICDF(32768), 0 },
{ AOM_ICDF(4132), AOM_ICDF(32768), 0 },
{ AOM_ICDF(7309), AOM_ICDF(32768), 0 },
{ AOM_ICDF(1392), AOM_ICDF(32768), 0 },
{ AOM_ICDF(1781), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(8659), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16372), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9371), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16322), AOM_ICDF(32768), 0 },
{ AOM_ICDF(6216), AOM_ICDF(32768), 0 },
{ AOM_ICDF(15834), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(17353), AOM_ICDF(32768), 0 },
{ AOM_ICDF(30182), AOM_ICDF(32768), 0 },
{ AOM_ICDF(16300), AOM_ICDF(32768), 0 },
{ AOM_ICDF(21702), AOM_ICDF(32768), 0 },
{ AOM_ICDF(10365), AOM_ICDF(32768), 0 },
{ AOM_ICDF(30486), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(32768), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32768), AOM_ICDF(32768), 0 },
{ AOM_ICDF(24426), AOM_ICDF(32768), 0 },
{ AOM_ICDF(26972), AOM_ICDF(32768), 0 },
{ AOM_ICDF(14760), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32768), AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(28634), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32768), AOM_ICDF(32768), 0 },
{ AOM_ICDF(29425), AOM_ICDF(32768), 0 },
{ AOM_ICDF(30969), AOM_ICDF(32768), 0 },
{ AOM_ICDF(26676), AOM_ICDF(32768), 0 },
{ AOM_ICDF(32768), AOM_ICDF(32768), 0 } }
};
#endif // CONFIG_NEW_MULTISYMBOL
#if CONFIG_COMPOUND_SINGLEREF
// TODO(zoeliu): Default values to be further adjusted based on the collected
// stats.
static const aom_prob default_comp_inter_mode_p[COMP_INTER_MODE_CONTEXTS] = {
40, 110, 160, 220
};
#endif // CONFIG_COMPOUND_SINGLEREF
// TODO(huisu): tune these cdfs
const aom_cdf_prob
default_palette_y_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(PALETTE_SIZES)] = {
{ AOM_ICDF(12288), AOM_ICDF(19408), AOM_ICDF(24627), AOM_ICDF(26662),
AOM_ICDF(28499), AOM_ICDF(30667), AOM_ICDF(32768), 0 },
{ AOM_ICDF(2815), AOM_ICDF(4570), AOM_ICDF(9416), AOM_ICDF(10875),
AOM_ICDF(13782), AOM_ICDF(19863), AOM_ICDF(32768), 0 },
{ AOM_ICDF(3839), AOM_ICDF(5986), AOM_ICDF(11949), AOM_ICDF(13413),
AOM_ICDF(16286), AOM_ICDF(21823), AOM_ICDF(32768), 0 },
{ AOM_ICDF(12032), AOM_ICDF(14948), AOM_ICDF(22187), AOM_ICDF(23138),
AOM_ICDF(24756), AOM_ICDF(27635), AOM_ICDF(32768), 0 },
{ AOM_ICDF(14847), AOM_ICDF(20167), AOM_ICDF(25433), AOM_ICDF(26751),
AOM_ICDF(28278), AOM_ICDF(30119), AOM_ICDF(32768), 0 },
{ AOM_ICDF(14336), AOM_ICDF(20240), AOM_ICDF(24840), AOM_ICDF(26079),
AOM_ICDF(27908), AOM_ICDF(30034), AOM_ICDF(32768), 0 },
{ AOM_ICDF(18816), AOM_ICDF(25574), AOM_ICDF(29030), AOM_ICDF(29877),
AOM_ICDF(30656), AOM_ICDF(31506), AOM_ICDF(32768), 0 },
{ AOM_ICDF(23039), AOM_ICDF(27333), AOM_ICDF(30220), AOM_ICDF(30708),
AOM_ICDF(31070), AOM_ICDF(31826), AOM_ICDF(32768), 0 },
{ AOM_ICDF(13696), AOM_ICDF(18911), AOM_ICDF(23620), AOM_ICDF(25371),
AOM_ICDF(29821), AOM_ICDF(31617), AOM_ICDF(32768), 0 },
{ AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
#if CONFIG_EXT_PARTITION
{ AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
{ AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
{ AOM_ICDF(12543), AOM_ICDF(20838), AOM_ICDF(27455), AOM_ICDF(28762),
AOM_ICDF(29763), AOM_ICDF(31546), AOM_ICDF(32768), 0 },
#endif
};
const aom_cdf_prob default_palette_uv_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(
PALETTE_SIZES)] = {
{ AOM_ICDF(20480), AOM_ICDF(29888), AOM_ICDF(32453), AOM_ICDF(32715),
AOM_ICDF(32751), AOM_ICDF(32766), AOM_ICDF(32768), 0 },
{ AOM_ICDF(11135), AOM_ICDF(23641), AOM_ICDF(31056), AOM_ICDF(31998),
AOM_ICDF(32496), AOM_ICDF(32668), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9216), AOM_ICDF(23108), AOM_ICDF(30806), AOM_ICDF(31871),
AOM_ICDF(32414), AOM_ICDF(32637), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9984), AOM_ICDF(21999), AOM_ICDF(29192), AOM_ICDF(30645),
AOM_ICDF(31640), AOM_ICDF(32402), AOM_ICDF(32768), 0 },
{ AOM_ICDF(7552), AOM_ICDF(16614), AOM_ICDF(24880), AOM_ICDF(27283),
AOM_ICDF(29254), AOM_ICDF(31203), AOM_ICDF(32768), 0 },
{ AOM_ICDF(9600), AOM_ICDF(20279), AOM_ICDF(27548), AOM_ICDF(29261),
AOM_ICDF(30494), AOM_ICDF(31631), AOM_ICDF(32768), 0 },
{ AOM_ICDF(11391), AOM_ICDF(18656), AOM_ICDF(23727), AOM_ICDF(26058),
AOM_ICDF(27788), AOM_ICDF(30278), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8576), AOM_ICDF(13585), AOM_ICDF(17632), AOM_ICDF(20884),
AOM_ICDF(23948), AOM_ICDF(27152), AOM_ICDF(32768), 0