blob: ced99ae63c6fd7263a7c0698973f0424c2f73c43 [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 },
};
#if USE_CAUSAL_BASE_CTX
const aom_prob default_coeff_base
[TX_SIZES][PLANE_TYPES][NUM_BASE_LEVELS][COEFF_BASE_CONTEXTS] = {
{ { { 139, 242, 199, 135, 87, 51, 245, 208, 138, 89, 60,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 240,
200, 108, 70, 56, 230, 199, 126, 66, 32, 242, 204,
128, 74, 45, 241, 203, 120, 62, 128, 128 },
{ 118, 230, 197, 147, 103, 60, 228, 202, 154, 110, 72,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 213,
196, 134, 94, 58, 199, 184, 130, 82, 40, 217, 186,
134, 86, 57, 204, 185, 127, 74, 128, 128 } },
{ { 203, 248, 223, 170, 105, 58, 252, 235, 195, 125, 72,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 253,
244, 209, 110, 85, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 170, 239, 210, 163, 112, 68, 239, 219, 175, 127, 84,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 246,
234, 184, 142, 154, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 } } },
{ { { 119, 240, 196, 136, 90, 50, 247, 214, 159, 109, 64,
241, 201, 137, 91, 53, 239, 199, 136, 89, 52, 251,
230, 176, 121, 76, 231, 202, 142, 84, 39, 246, 221,
169, 111, 61, 248, 221, 152, 97, 60, 128 },
{ 98, 209, 182, 140, 100, 56, 234, 207, 166, 122, 73,
215, 189, 142, 103, 59, 216, 188, 140, 99, 59, 235,
216, 179, 137, 88, 214, 189, 141, 96, 46, 224, 200,
159, 117, 68, 221, 199, 152, 108, 68, 128 } },
{ { 195, 245, 212, 159, 108, 64, 251, 231, 186, 131, 80,
250, 228, 175, 108, 58, 244, 213, 163, 120, 82, 254,
245, 216, 159, 91, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 150, 207, 199, 164, 121, 76, 239, 221, 185, 142, 89,
231, 208, 162, 113, 69, 228, 205, 169, 136, 95, 246,
235, 204, 157, 110, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 } } },
{ { { 93, 232, 185, 124, 81, 38, 244, 206, 147, 98, 53,
246, 210, 150, 100, 54, 244, 208, 146, 94, 44, 253,
236, 189, 135, 82, 228, 195, 130, 76, 35, 242, 220,
170, 114, 59, 253, 235, 184, 122, 68, 128 },
{ 80, 203, 169, 127, 86, 41, 228, 194, 151, 108, 58,
221, 195, 152, 110, 60, 220, 194, 149, 103, 48, 238,
221, 188, 147, 92, 205, 184, 130, 85, 41, 208, 195,
159, 120, 62, 233, 212, 173, 126, 76, 128 } },
{ { 187, 239, 199, 149, 109, 66, 250, 226, 179, 130, 82,
248, 218, 159, 100, 63, 251, 227, 184, 135, 91, 254,
241, 202, 150, 99, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 130, 202, 169, 146, 118, 73, 236, 217, 186, 146, 91,
215, 194, 154, 102, 77, 234, 216, 188, 145, 98, 245,
229, 201, 163, 110, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 } } },
{ { { 102, 225, 171, 113, 74, 33, 243, 201, 139, 92, 44,
244, 208, 146, 99, 53, 247, 214, 158, 107, 52, 253,
233, 183, 131, 73, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 80, 190, 152, 116, 79, 34, 222, 187, 142, 101, 47,
211, 187, 148, 106, 56, 221, 200, 163, 118, 56, 236,
215, 181, 140, 78, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 } },
{ { 166, 237, 184, 144, 106, 62, 245, 211, 167, 129, 93,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 254,
240, 205, 158, 112, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 91, 185, 133, 105, 95, 60, 213, 190, 164, 131, 107,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 242,
227, 203, 160, 127, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128 } } }
};
const aom_prob default_nz_map[TX_SIZES][PLANE_TYPES][SIG_COEF_CONTEXTS] = {
{ { 59, 183, 130, 76, 48, 28, 202, 153, 84, 54, 34, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 200, 163, 84, 61, 34, 182, 131,
71, 31, 16, 210, 156, 78, 36, 26, 220, 170, 73, 32, 128, 128 },
{ 96, 209, 171, 109, 59, 28, 223, 187, 128, 71, 35, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 215, 192, 135, 63, 73, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
{ { 49, 190, 129, 74, 46, 25, 206, 150, 90, 55, 32, 205, 142, 79,
48, 27, 191, 137, 78, 47, 27, 223, 181, 109, 63, 37, 204, 136,
82, 42, 19, 226, 169, 106, 58, 30, 231, 180, 96, 49, 29, 128 },
{ 86, 210, 159, 90, 56, 34, 223, 181, 114, 69, 40, 229, 182, 113,
59, 28, 218, 162, 96, 64, 42, 237, 207, 146, 92, 50, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
{ { 41, 187, 119, 66, 40, 20, 212, 144, 80, 49, 26, 226, 151, 84,
49, 27, 214, 146, 82, 47, 22, 237, 190, 115, 68, 40, 206, 126,
71, 37, 17, 227, 168, 103, 61, 29, 237, 197, 119, 63, 32, 128 },
{ 70, 207, 146, 82, 54, 35, 226, 167, 99, 65, 40, 238, 176, 96,
57, 29, 229, 171, 108, 69, 47, 244, 201, 124, 78, 48, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } },
{ { 40, 176, 107, 57, 37, 16, 216, 136, 73, 44, 22, 235, 145, 79,
49, 26, 227, 149, 84, 52, 26, 247, 195, 107, 64, 35, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
{ 49, 210, 153, 95, 58, 31, 217, 151, 93, 64, 41, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 248, 197, 123, 79, 53, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } }
};
#else // USE_CAUSAL_BASE_CTX
const aom_prob default_coeff_base
[TX_SIZES][PLANE_TYPES][NUM_BASE_LEVELS][COEFF_BASE_CONTEXTS] = {
{ { {
230, 199, 168, 74, 128, 169, 213, 173, 87, 21, 60, 117, 213,
177, 126, 22, 64, 121, 206, 168, 67, 10, 33, 96, 140,
},
{
236, 218, 201, 124, 185, 219, 223, 196, 128, 65, 127, 176, 224,
199, 151, 75, 131, 177, 217, 190, 102, 38, 93, 161, 192,
} },
{ {
219, 188, 161, 46, 114, 163, 198, 154, 73, 10, 43, 101, 199,
160, 89, 12, 49, 111, 186, 136, 62, 2, 15, 66, 123,
},
{
228, 210, 191, 108, 177, 215, 213, 183, 125, 58, 112, 169, 212,
183, 134, 65, 120, 171, 206, 166, 90, 27, 73, 140, 173,
} } },
{ { {
232, 198, 164, 85, 124, 169, 207, 156, 49, 9, 42, 97, 208,
160, 90, 11, 45, 101, 198, 145, 50, 2, 15, 66, 120,
},
{
237, 218, 199, 123, 187, 222, 219, 187, 101, 54, 117, 167, 221,
189, 125, 61, 121, 171, 212, 175, 81, 27, 78, 147, 185,
} },
{ {
204, 165, 154, 39, 100, 144, 173, 117, 42, 7, 27, 71, 156,
108, 52, 9, 32, 78, 165, 117, 46, 2, 12, 55, 102,
},
{
225, 204, 183, 99, 173, 149, 205, 167, 88, 47, 99, 160, 186,
149, 88, 48, 98, 157, 183, 148, 76, 34, 75, 133, 187,
} } },
{ { {
231, 199, 182, 107, 136, 172, 200, 148, 55, 8, 35, 87, 204,
150, 72, 10, 37, 89, 184, 127, 36, 1, 9, 47, 103,
},
{
236, 217, 206, 128, 188, 222, 213, 180, 98, 51, 113, 166, 218,
182, 115, 55, 115, 167, 200, 162, 66, 22, 70, 135, 178,
} },
{ {
229, 200, 220, 56, 123, 179, 184, 123, 64, 8, 24, 62, 177,
118, 55, 8, 27, 70, 158, 101, 8, 1, 12, 54, 107,
},
{
232, 222, 223, 108, 195, 154, 213, 184, 71, 41, 101, 154, 206,
164, 109, 42, 96, 162, 182, 137, 5, 33, 81, 146, 177,
} } },
{ { {
232, 208, 213, 120, 151, 192, 200, 152, 57, 13, 44, 94, 200,
148, 87, 13, 42, 94, 181, 124, 45, 1, 9, 46, 99,
},
{
241, 226, 222, 129, 197, 179, 213, 184, 133, 57, 119, 168, 214,
178, 116, 64, 119, 162, 199, 157, 64, 24, 70, 130, 176,
} },
{ {
233, 223, 202, 65, 131, 128, 178, 138, 128, 2, 24, 59, 99,
111, 73, 3, 17, 52, 149, 99, 19, 2, 18, 72, 140,
},
{
240, 199, 230, 79, 181, 128, 192, 198, 128, 64, 121, 171, 192,
148, 37, 26, 83, 85, 183, 149, 8, 33, 101, 168, 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 } } };
#endif // USE_CAUSAL_BASE_CTX
#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[GLOBALMV_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[GLOBALMV_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
};
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
#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_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
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 */
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 */
};
const aom_tree_index av1_inter_compound_mode_tree
[TREE_SIZE(INTER_COMPOUND_MODES)] = {
-INTER_COMPOUND_OFFSET(GLOBAL_GLOBALMV), 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,