/* * 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 CONFIG_LV_MAP_MULTI || TRAIN_INIT_PROB const aom_prob default_coeff_base [TX_SIZES][PLANE_TYPES][NUM_BASE_LEVELS][COEFF_BASE_CONTEXTS] = { { { { 109, 232, 199, 135, 87, 52, 239, 210, 142, 92, 63, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 233, 205, 112, 75, 62, 226, 200, 122, 60, 29, 241, 204, 126, 70, 42, 238, 204, 119, 57, 128, 128, 203, 244, 246, 247 }, { 107, 223, 197, 147, 102, 62, 227, 205, 156, 112, 74, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 212, 200, 138, 99, 64, 198, 184, 129, 78, 38, 219, 186, 131, 84, 56, 204, 184, 127, 77, 128, 128, 191, 226, 222, 223 } }, { { 163, 241, 224, 174, 109, 58, 248, 236, 200, 130, 75, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 249, 244, 213, 128, 51, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 228, 248, 252, 254 }, { 153, 231, 211, 165, 113, 66, 236, 221, 180, 127, 88, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 243, 238, 191, 111, 154, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 209, 237, 239, 248 } } }, { { { 91, 228, 196, 134, 88, 48, 242, 213, 157, 107, 63, 239, 202, 139, 92, 54, 236, 201, 138, 90, 53, 248, 229, 176, 121, 76, 231, 202, 140, 80, 37, 246, 222, 168, 110, 61, 248, 221, 151, 97, 60, 128, 199, 249, 252, 252 }, { 85, 196, 181, 138, 98, 55, 230, 206, 164, 121, 73, 219, 193, 144, 104, 62, 218, 192, 143, 101, 61, 237, 218, 182, 140, 90, 213, 191, 140, 94, 44, 224, 200, 159, 115, 68, 220, 199, 151, 107, 69, 128, 183, 229, 226, 230 } }, { { 139, 235, 211, 159, 107, 66, 247, 231, 184, 127, 79, 246, 226, 170, 103, 61, 236, 212, 161, 119, 76, 253, 245, 215, 156, 96, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 227, 249, 253, 255 }, { 128, 195, 197, 162, 121, 73, 236, 220, 184, 138, 86, 223, 208, 158, 107, 64, 222, 204, 167, 132, 86, 246, 234, 205, 161, 108, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 198, 228, 239, 244 } } }, { { { 73, 224, 186, 123, 79, 39, 240, 205, 146, 98, 53, 243, 209, 147, 98, 52, 241, 207, 145, 93, 44, 252, 236, 188, 134, 82, 227, 193, 125, 72, 32, 241, 218, 168, 112, 52, 251, 233, 179, 114, 62, 128, 179, 250, 254, 255 }, { 69, 200, 171, 127, 86, 41, 224, 193, 150, 107, 58, 218, 194, 150, 107, 58, 220, 193, 147, 102, 47, 239, 222, 188, 147, 92, 204, 183, 127, 80, 36, 211, 194, 158, 114, 57, 231, 209, 167, 120, 70, 128, 171, 226, 235, 232 } }, { { 117, 225, 196, 146, 107, 68, 246, 225, 177, 128, 81, 243, 217, 163, 105, 60, 247, 225, 180, 131, 84, 253, 241, 202, 148, 97, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 219, 251, 255, 255 }, { 103, 189, 166, 141, 116, 70, 234, 216, 184, 145, 92, 208, 195, 155, 110, 79, 226, 214, 184, 144, 90, 245, 229, 202, 164, 113, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 182, 221, 236, 243 } } }, { { { 72, 212, 172, 113, 74, 33, 238, 200, 139, 91, 44, 240, 208, 147, 98, 51, 244, 214, 157, 107, 51, 253, 233, 184, 132, 74, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 201, 250, 254, 255 }, { 68, 187, 154, 116, 80, 34, 217, 186, 142, 101, 47, 205, 187, 148, 106, 56, 218, 201, 163, 118, 55, 236, 215, 181, 141, 79, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 219, 246, 244 } }, { { 80, 217, 179, 140, 106, 60, 237, 208, 165, 129, 94, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 253, 240, 205, 158, 111, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 205, 250, 255, 254 }, { 66, 175, 129, 103, 89, 57, 204, 189, 164, 133, 106, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 238, 228, 202, 166, 124, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 154, 207, 128, 226 } } } }; const aom_prob default_nz_map[TX_SIZES][PLANE_TYPES][SIG_COEF_CONTEXTS] = { { { 59, 183, 130, 76, 47, 29, 203, 154, 85, 55, 35, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 202, 165, 86, 70, 42, 183, 132, 70, 28, 13, 212, 158, 77, 34, 22, 222, 172, 74, 30, 128, 128, 1, 1, 1, 1 }, { 97, 210, 172, 111, 61, 29, 223, 188, 131, 77, 33, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 214, 192, 137, 63, 51, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 1, 1, 1, 1 } }, { { 50, 194, 130, 72, 45, 25, 208, 150, 89, 55, 32, 206, 142, 80, 49, 28, 191, 137, 79, 47, 27, 224, 180, 108, 63, 37, 206, 137, 81, 40, 18, 229, 170, 106, 58, 30, 233, 180, 96, 49, 29, 128, 1, 1, 1, 1 }, { 84, 210, 159, 89, 55, 33, 223, 181, 114, 67, 36, 227, 180, 112, 58, 31, 218, 161, 95, 63, 40, 237, 208, 146, 88, 50, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 1, 1, 1, 1 } }, { { 40, 187, 118, 65, 39, 20, 211, 142, 80, 49, 26, 226, 150, 83, 49, 26, 213, 146, 82, 47, 22, 237, 191, 116, 68, 39, 204, 124, 68, 35, 15, 226, 167, 104, 58, 26, 236, 195, 117, 59, 30, 128, 1, 1, 1, 1 }, { 69, 207, 145, 80, 53, 36, 226, 167, 98, 64, 38, 238, 174, 95, 54, 32, 228, 169, 103, 67, 41, 243, 201, 123, 77, 48, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 1, 1, 1, 1 } }, { { 39, 175, 107, 58, 38, 16, 214, 135, 73, 44, 21, 235, 145, 80, 48, 26, 227, 149, 84, 52, 25, 247, 195, 108, 65, 35, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 1, 1, 1, 1 }, { 44, 206, 151, 90, 60, 30, 214, 148, 92, 62, 40, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 248, 197, 125, 80, 52, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 1, 1, 1, 1 } } }; #else // CONFIG_LV_MAP_MULTI #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 #endif // CONFIG_LV_MAP_MULTI #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, #if CONFIG_LV_MAP_MULTI // TODO(olah): The 1 causes an assert in av1_cost_tokens_from_cdf. // Changing to 10 is a temporary fix until the root cause is found. 192, 192, 10, 196, 192, 255, 171, 178, 255, 128, 171, 179 } } #else 192, 192, 1, 196, 192, 255, 171, 178, 255, 128, 171, 179 } } #endif }; #if !CONFIG_LV_MAP_MULTI 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 } } } }; #endif #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 static const aom_cdf_prob default_newmv_cdf[NEWMV_MODE_CONTEXTS][CDF_SIZE(2)] = { { AOM_CDF2(128 * 155) }, { AOM_CDF2(128 * 116) }, { AOM_CDF2(128 * 94) }, { AOM_CDF2(128 * 32) }, { AOM_CDF2(128 * 96) }, { AOM_CDF2(128 * 56) }, { AOM_CDF2(128 * 30) } }; static const aom_cdf_prob default_zeromv_cdf[GLOBALMV_MODE_CONTEXTS][CDF_SIZE( 2)] = { { AOM_CDF2(128 * 45) }, { AOM_CDF2(128 * 13) } }; static const aom_cdf_prob default_refmv_cdf[REFMV_MODE_CONTEXTS][CDF_SIZE(2)] = { { AOM_CDF2(128 * 178) }, { AOM_CDF2(128 * 212) }, { AOM_CDF2(128 * 135) }, { AOM_CDF2(128 * 244) }, { AOM_CDF2(128 * 203) }, { AOM_CDF2(128 * 122) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) } }; static const aom_cdf_prob default_drl_cdf[DRL_MODE_CONTEXTS][CDF_SIZE(2)] = { { AOM_CDF2(128 * 119) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 189) }, { AOM_CDF2(128 * 134) }, { AOM_CDF2(128 * 128) } }; static const aom_cdf_prob default_inter_compound_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE( INTER_COMPOUND_MODES)] = { { AOM_CDF8(19712, 28229, 30892, 31437, 31712, 32135, 32360) }, { AOM_CDF8(9600, 24804, 29268, 30323, 30802, 31726, 32177) }, { AOM_CDF8(896, 22434, 27015, 29026, 29753, 31114, 31597) }, { AOM_CDF8(1024, 15904, 22127, 25421, 26864, 28996, 30001) }, { AOM_CDF8(512, 11222, 17217, 21445, 23473, 26133, 27550) }, { AOM_CDF8(2944, 13313, 17214, 20751, 23211, 25500, 26992) }, { AOM_CDF8(3456, 9067, 14069, 16907, 18817, 21214, 23139) } }; static const aom_cdf_prob default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = { { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(32640, 32704) }, { AOM_CDF3(32640, 32704) }, { AOM_CDF3(8448, 13293) }, { AOM_CDF3(9216, 12436) }, { AOM_CDF3(10112, 12679) }, { AOM_CDF3(9088, 10753) }, { AOM_CDF3(10368, 12906) }, { AOM_CDF3(10368, 12643) }, { AOM_CDF3(8832, 10609) }, { AOM_CDF3(13312, 13388) }, { AOM_CDF3(12672, 12751) }, { AOM_CDF3(9600, 9691) }, #if CONFIG_EXT_PARTITION { AOM_CDF3(32640, 32641) }, // 255, 1 { AOM_CDF3(32640, 32641) }, { AOM_CDF3(32640, 32641) }, #endif // CONFIG_EXT_PARTITION { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(26624, 26648) }, // 208, 1 { AOM_CDF3(26624, 26648) }, #if CONFIG_EXT_PARTITION { AOM_CDF3(26624, 26648) }, { AOM_CDF3(26624, 26648) }, #endif }; static const aom_cdf_prob default_interintra_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE( 2)] = { { AOM_CDF2(128 * 128) }, { AOM_CDF2(226 * 128) }, { AOM_CDF2(244 * 128) }, { AOM_CDF2(254 * 128) } }; static const aom_cdf_prob default_interintra_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTERINTRA_MODES)] = { { AOM_CDF4(16384, 24576, 28672) }, { AOM_CDF4(3072, 7016, 18987) }, { AOM_CDF4(4864, 8461, 17481) }, { AOM_CDF4(6528, 8681, 19031) } }; 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 }; static const aom_cdf_prob default_wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = { { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(194 * 128) }, { AOM_CDF2(213 * 128) }, { AOM_CDF2(217 * 128) }, { AOM_CDF2(222 * 128) }, { AOM_CDF2(224 * 128) }, { AOM_CDF2(226 * 128) }, { AOM_CDF2(220 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, #if CONFIG_EXT_PARTITION { AOM_CDF2(255 * 128) }, { AOM_CDF2(255 * 128) }, { AOM_CDF2(255 * 128) }, #endif // CONFIG_EXT_PARTITION { AOM_CDF2(208 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(255 * 128) }, { AOM_CDF2(255 * 128) }, #if CONFIG_EXT_PARTITION { AOM_CDF2(255 * 128) }, { AOM_CDF2(255 * 128) }, #endif // CONFIG_EXT_PARTITION }; 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_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(7936, 19091) }, { AOM_CDF3(4991, 19205) }, { AOM_CDF3(4992, 19314) }, { AOM_CDF3(15104, 21590) }, { AOM_CDF3(9855, 21043) }, { AOM_CDF3(12800, 22238) }, { AOM_CDF3(24320, 26498) }, { AOM_CDF3(26496, 28995) }, { AOM_CDF3(25216, 28166) }, { AOM_CDF3(30592, 31238) }, #if CONFIG_EXT_PARTITION { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, #endif { AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) }, #if CONFIG_EXT_PARTITION { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, #endif }; static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = { { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(45 * 128) }, { AOM_CDF2(79 * 128) }, { AOM_CDF2(75 * 128) }, { AOM_CDF2(130 * 128) }, { AOM_CDF2(141 * 128) }, { AOM_CDF2(144 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(201 * 128) }, { AOM_CDF2(186 * 128) }, { AOM_CDF2(231 * 128) }, #if CONFIG_EXT_PARTITION { AOM_CDF2(252 * 128) }, { AOM_CDF2(252 * 128) }, { AOM_CDF2(252 * 128) }, #endif // CONFIG_EXT_PARTITION { AOM_CDF2(208 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(208 * 128) }, #if CONFIG_EXT_PARTITION { AOM_CDF2(252 * 128) }, { AOM_CDF2(252 * 128) }, #endif // CONFIG_EXT_PARTITION }; static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = { AOM_CDF4(28160, 32120, 32677) }; #if CONFIG_EXT_DELTA_Q #if CONFIG_LOOPFILTER_LEVEL static const aom_cdf_prob default_delta_lf_multi_cdf[FRAME_LF_COUNT][CDF_SIZE( DELTA_LF_PROBS + 1)] = { { AOM_CDF4(28160, 32120, 32677) }, { AOM_CDF4(28160, 32120, 32677) }, { AOM_CDF4(28160, 32120, 32677) }, { AOM_CDF4(28160, 32120, 32677) } }; #endif // CONFIG_LOOPFILTER_LEVEL static const aom_cdf_prob default_delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)] = { AOM_CDF4(28160, 32120, 32677) }; #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) }; const aom_tree_index av1_compound_type_tree[TREE_SIZE(COMPOUND_TYPES)] = { -COMPOUND_AVERAGE, 2, -COMPOUND_WEDGE, -COMPOUND_SEG }; /* clang-format on */ static const aom_cdf_prob default_intra_inter_cdf[INTRA_INTER_CONTEXTS] [CDF_SIZE(2)] = { { AOM_CDF2(768) }, { AOM_CDF2(12416) }, { AOM_CDF2(19328) }, { AOM_CDF2(26240) } }; static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = { 190, 156, 91, 77, 22 }; static const aom_cdf_prob default_comp_inter_cdf[COMP_INTER_CONTEXTS][CDF_SIZE( 2)] = { { AOM_CDF2(24290) }, { AOM_CDF2(19956) }, { AOM_CDF2(11641) }, { AOM_CDF2(9804) }, { AOM_CDF2(2842) } }; #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 } }; static const aom_cdf_prob default_comp_ref_type_cdf[COMP_REF_TYPE_CONTEXTS] [CDF_SIZE(2)] = { { AOM_CDF2(8 * 128) }, { AOM_CDF2(20 * 128) }, { AOM_CDF2(78 * 128) }, { AOM_CDF2(91 * 128) }, { AOM_CDF2(194 * 128) } }; static const aom_cdf_prob default_uni_comp_ref_cdf[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1] [CDF_SIZE(2)] = { { { AOM_CDF2(88 * 128) }, { AOM_CDF2(30 * 128) }, { AOM_CDF2(28 * 128) } }, { { AOM_CDF2(218 * 128) }, { AOM_CDF2(97 * 128) }, { AOM_CDF2(105 * 128) } }, { { AOM_CDF2(254 * 128) }, { AOM_CDF2(180 * 128) }, { AOM_CDF2(196 * 128) } } }; #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 } }; static const aom_cdf_prob default_comp_ref_cdf[REF_CONTEXTS][FWD_REFS - 1][CDF_SIZE(2)] = { { { AOM_CDF2(3556) }, { AOM_CDF2(1217) }, { AOM_CDF2(988) } }, { { AOM_CDF2(9857) }, { AOM_CDF2(3394) }, { AOM_CDF2(3303) } }, { { AOM_CDF2(16237) }, { AOM_CDF2(7946) }, { AOM_CDF2(7195) } }, { { AOM_CDF2(23826) }, { AOM_CDF2(16124) }, { AOM_CDF2(20536) } }, { { AOM_CDF2(30195) }, { AOM_CDF2(18344) }, { AOM_CDF2(21980) } } }; static const aom_cdf_prob default_comp_bwdref_cdf[REF_CONTEXTS][BWD_REFS - 1][CDF_SIZE(2)] = { { { AOM_CDF2(2762) }, { AOM_CDF2(1614) } }, { { AOM_CDF2(17976) }, { AOM_CDF2(15912) } }, { { AOM_CDF2(30894) }, { AOM_CDF2(30639) } }, { { AOM_CDF2(32768) }, { AOM_CDF2(32768) } }, { { AOM_CDF2(32768) }, { AOM_CDF2(32768) } } }; 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 } }; static const aom_cdf_prob default_single_ref_cdf[REF_CONTEXTS][SINGLE_REFS - 1] [CDF_SIZE(2)] = { { { AOM_CDF2(4623) }, { AOM_CDF2(2110) }, { AOM_CDF2(4132) }, { AOM_CDF2(7309) }, { AOM_CDF2(1392) }, { AOM_CDF2(1781) } }, { { AOM_CDF2(8659) }, { AOM_CDF2(16372) }, { AOM_CDF2(9371) }, { AOM_CDF2(16322) }, { AOM_CDF2(6216) }, { AOM_CDF2(15834) } }, { { AOM_CDF2(17353) }, { AOM_CDF2(30182) }, { AOM_CDF2(16300) }, { AOM_CDF2(21702) }, { AOM_CDF2(10365) }, { AOM_CDF2(30486) } }, { { AOM_CDF2(32768) }, { AOM_CDF2(32768) }, { AOM_CDF2(24426) }, { AOM_CDF2(26972) }, { AOM_CDF2(14760) }, { AOM_CDF2(32768) } }, { { AOM_CDF2(28634) }, { AOM_CDF2(32768) }, { AOM_CDF2(29425) }, { AOM_CDF2(30969) }, { AOM_CDF2(26676) }, { AOM_CDF2(32768) } } }; // TODO(huisu): tune these cdfs const aom_cdf_prob default_palette_y_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(PALETTE_SIZES)] = { { AOM_CDF7(12288, 19408, 24627, 26662, 28499, 30667) }, { AOM_CDF7(2815, 4570, 9416, 10875, 13782, 19863) }, { AOM_CDF7(3839, 5986, 11949, 13413, 16286, 21823) }, { AOM_CDF7(12032, 14948, 22187, 23138, 24756, 27635) }, { AOM_CDF7(14847, 20167, 25433, 26751, 28278, 30119) }, { AOM_CDF7(14336, 20240, 24840, 26079, 27908, 30034) }, { AOM_CDF7(18816, 25574, 29030, 29877, 30656, 31506) }, { AOM_CDF7(23039, 27333, 30220, 30708, 31070, 31826) }, { AOM_CDF7(13696, 18911, 23620, 25371, 29821, 31617) }, { AOM_CDF7(12543, 20838, 27455, 28762, 29763, 31546) }, }; const aom_cdf_prob default_palette_uv_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE( PALETTE_SIZES)] = { { AOM_CDF7(20480, 29888, 32453, 32715, 32751, 32766) }, { AOM_CDF7(11135, 23641, 31056, 31998, 32496, 32668) }, { AOM_CDF7(9216, 23108, 30806, 31871, 32414, 32637) }, { AOM_CDF7(9984, 21999, 29192, 30645, 31640, 32402) }, { AOM_CDF7(7552, 16614, 24880, 27283, 29254, 31203) }, { AOM_CDF7(9600, 20279, 27548, 29261, 30494, 31631) }, { AOM_CDF7(11391, 18656, 23727, 26058, 27788, 30278) }, { AOM_CDF7(8576, 13585, 17632, 20884, 23948, 27152) }, { AOM_CDF7(15360, 24200, 26978, 30846, 31409, 32545) }, { AOM_CDF7(9216, 14276, 19043, 22689, 25799, 28712) }, }; // When palette mode is enabled, following probability tables indicate the // probabilities to code the "is_palette" bit (i.e. the bit that indicates // if this block uses palette mode or DC_PRED mode). const aom_cdf_prob default_palette_y_mode_cdf[PALETTE_BLOCK_SIZES] [PALETTE_Y_MODE_CONTEXTS] [CDF_SIZE(2)] = { { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, { { AOM_CDF2(128 * 240) }, { AOM_CDF2(128 * 180) }, { AOM_CDF2(128 * 100) } }, }; const aom_cdf_prob default_palette_uv_mode_cdf[PALETTE_UV_MODE_CONTEXTS][CDF_SIZE(2)] = { { AOM_CDF2(128 * 253) }, { AOM_CDF2(128 * 229) } }; const aom_cdf_prob default_palette_y_color_index_cdf [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = { { { AOM_CDF2(29568), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(16384), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(8832), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(28672), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(31872), 0, 0, 0, 0, 0, 0 }, }, { { AOM_CDF3(28032, 30326), 0, 0, 0, 0, 0 }, { AOM_CDF3(11647, 27405), 0, 0, 0, 0, 0 }, { AOM_CDF3(4352, 30659), 0, 0, 0, 0, 0 }, { AOM_CDF3(23552, 27800), 0, 0, 0, 0, 0 }, { AOM_CDF3(32256, 32504), 0, 0, 0, 0, 0 }, }, { { AOM_CDF4(26112, 28374, 30039), 0, 0, 0, 0 }, { AOM_CDF4(9472, 22576, 27712), 0, 0, 0, 0 }, { AOM_CDF4(6656, 26138, 29608), 0, 0, 0, 0 }, { AOM_CDF4(19328, 23791, 28946), 0, 0, 0, 0 }, { AOM_CDF4(31744, 31984, 32336), 0, 0, 0, 0 }, }, { { AOM_CDF5(27904, 29215, 30075, 31190), 0, 0, 0 }, { AOM_CDF5(9728, 22598, 26134, 29425), 0, 0, 0 }, { AOM_CDF5(2688, 30066, 31058, 31933), 0, 0, 0 }, { AOM_CDF5(22015, 25039, 27726, 29932), 0, 0, 0 }, { AOM_CDF5(32383, 32482, 32554, 32660), 0, 0, 0 }, }, { { AOM_CDF6(24319, 26299, 27486, 28600, 29804), 0, 0 }, { AOM_CDF6(7935, 18217, 21116, 25440, 28589), 0, 0 }, { AOM_CDF6(6656, 25016, 27105, 28698, 30399), 0, 0 }, { AOM_CDF6(19967, 24117, 26550, 28566, 30224), 0, 0 }, { AOM_CDF6(31359, 31607, 31775, 31977, 32258), 0, 0 }, }, { { AOM_CDF7(26368, 27768, 28588, 29274, 29997, 30917), 0 }, { AOM_CDF7(8960, 18260, 20810, 23986, 26627, 28882), 0 }, { AOM_CDF7(7295, 24111, 25836, 27515, 29033, 30769), 0 }, { AOM_CDF7(22016, 25208, 27305, 28159, 29221, 30274), 0 }, { AOM_CDF7(31744, 31932, 32050, 32199, 32335, 32521), 0 }, }, { { AOM_CDF8(26624, 27872, 28599, 29153, 29633, 30172, 30841) }, { AOM_CDF8(6655, 17569, 19587, 23345, 25884, 28088, 29678) }, { AOM_CDF8(3584, 27296, 28429, 29158, 30032, 30780, 31572) }, { AOM_CDF8(23551, 25855, 27070, 27893, 28597, 29721, 30970) }, { AOM_CDF8(32128, 32173, 32245, 32337, 32416, 32500, 32609) }, }, }; const aom_cdf_prob default_palette_uv_color_index_cdf [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = { { { AOM_CDF2(29824), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(16384), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(8832), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(30720), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(31744), 0, 0, 0, 0, 0, 0 }, }, { { AOM_CDF3(27648, 30208), 0, 0, 0, 0, 0 }, { AOM_CDF3(14080, 26563), 0, 0, 0, 0, 0 }, { AOM_CDF3(5120, 30932), 0, 0, 0, 0, 0 }, { AOM_CDF3(24448, 27828), 0, 0, 0, 0, 0 }, { AOM_CDF3(31616, 32219), 0, 0, 0, 0, 0 }, }, { { AOM_CDF4(25856, 28259, 30584), 0, 0, 0, 0 }, { AOM_CDF4(11520, 22476, 27944), 0, 0, 0, 0 }, { AOM_CDF4(8064, 26882, 30308), 0, 0, 0, 0 }, { AOM_CDF4(19455, 23823, 29134), 0, 0, 0, 0 }, { AOM_CDF4(30848, 31501, 32174), 0, 0, 0, 0 }, }, { { AOM_CDF5(26751, 28020, 29541, 31230), 0, 0, 0 }, { AOM_CDF5(12032, 26045, 30772, 31497), 0, 0, 0 }, { AOM_CDF5(1280, 32153, 32458, 32560), 0, 0, 0 }, { AOM_CDF5(23424, 24154, 29201, 29856), 0, 0, 0 }, { AOM_CDF5(32256, 32402, 32561, 32682), 0, 0, 0 }, }, { { AOM_CDF6(24576, 26720, 28114, 28950, 31694), 0, 0 }, { AOM_CDF6(7551, 16613, 20462, 25269, 29077), 0, 0 }, { AOM_CDF6(6272, 23039, 25623, 28163, 30861), 0, 0 }, { AOM_CDF6(17024, 18808, 20771, 27941, 29845), 0, 0 }, { AOM_CDF6(31616, 31936, 32079, 32321, 32546), 0, 0 }, }, { { AOM_CDF7(23296, 25590, 27833, 29337, 29954, 31229), 0 }, { AOM_CDF7(7552, 13659, 16570, 21695, 24506, 27701), 0 }, { AOM_CDF7(6911, 24788, 26284, 27753, 29575, 30872), 0 }, { AOM_CDF7(17535, 22236, 24457, 26242, 27363, 30191), 0 }, { AOM_CDF7(30592, 31289, 31745, 31921, 32149, 32321), 0 }, }, { { AOM_CDF8(22016, 24242, 25141, 27137, 27797, 29331, 30848) }, { AOM_CDF8(8063, 13564, 16940, 21948, 24568, 25689, 26989) }, { AOM_CDF8(6528, 27028, 27835, 28741, 30031, 31795, 32285) }, { AOM_CDF8(18047, 23797, 25444, 26274, 27111, 27929, 30367) }, { AOM_CDF8(30208, 30628, 31046, 31658, 31762, 32367, 32469) }, } }; #if CONFIG_MRC_TX // TODO(sarahparker) Tune these cdfs const aom_cdf_prob default_mrc_mask_intra_cdf [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = { { { AOM_CDF2(29568), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(16384), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(8832), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(28672), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(31872), 0, 0, 0, 0, 0, 0 }, }, { { AOM_CDF3(28032, 30326), 0, 0, 0, 0, 0 }, { AOM_CDF3(11647, 27405), 0, 0, 0, 0, 0 }, { AOM_CDF3(4352, 30659), 0, 0, 0, 0, 0 }, { AOM_CDF3(23552, 27800), 0, 0, 0, 0, 0 }, { AOM_CDF3(32256, 32504), 0, 0, 0, 0, 0 }, }, { { AOM_CDF4(26112, 28374, 30039), 0, 0, 0, 0 }, { AOM_CDF4(9472, 22576, 27712), 0, 0, 0, 0 }, { AOM_CDF4(6656, 26138, 29608), 0, 0, 0, 0 }, { AOM_CDF4(19328, 23791, 28946), 0, 0, 0, 0 }, { AOM_CDF4(31744, 31984, 32336), 0, 0, 0, 0 }, }, { { AOM_CDF5(27904, 29215, 30075, 31190), 0, 0, 0 }, { AOM_CDF5(9728, 22598, 26134, 29425), 0, 0, 0 }, { AOM_CDF5(2688, 30066, 31058, 31933), 0, 0, 0 }, { AOM_CDF5(22015, 25039, 27726, 29932), 0, 0, 0 }, { AOM_CDF5(32383, 32482, 32554, 32660), 0, 0, 0 }, }, { { AOM_CDF6(24319, 26299, 27486, 28600, 29804), 0, 0 }, { AOM_CDF6(7935, 18217, 21116, 25440, 28589), 0, 0 }, { AOM_CDF6(6656, 25016, 27105, 28698, 30399), 0, 0 }, { AOM_CDF6(19967, 24117, 26550, 28566, 30224), 0, 0 }, { AOM_CDF6(31359, 31607, 31775, 31977, 32258), 0, 0 }, }, { { AOM_CDF7(26368, 27768, 28588, 29274, 29997, 30917), 0 }, { AOM_CDF7(8960, 18260, 20810, 23986, 26627, 28882), 0 }, { AOM_CDF7(7295, 24111, 25836, 27515, 29033, 30769), 0 }, { AOM_CDF7(22016, 25208, 27305, 28159, 29221, 30274), 0 }, { AOM_CDF7(31744, 31932, 32050, 32199, 32335, 32521), 0 }, }, { { AOM_CDF8(26624, 27872, 28599, 29153, 29633, 30172, 30841) }, { AOM_CDF8(6655, 17569, 19587, 23345, 25884, 28088, 29678) }, { AOM_CDF8(3584, 27296, 28429, 29158, 30032, 30780, 31572) }, { AOM_CDF8(23551, 25855, 27070, 27893, 28597, 29721, 30970) }, { AOM_CDF8(32128, 32173, 32245, 32337, 32416, 32500, 32609) }, }, }; const aom_cdf_prob default_mrc_mask_inter_cdf [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = { { { AOM_CDF2(29568), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(16384), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(8832), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(28672), 0, 0, 0, 0, 0, 0 }, { AOM_CDF2(31872), 0, 0, 0, 0, 0, 0 }, }, { { AOM_CDF3(28032, 30326), 0, 0, 0, 0, 0 }, { AOM_CDF3(11647, 27405), 0, 0, 0, 0, 0 }, { AOM_CDF3(4352, 30659), 0, 0, 0, 0, 0 }, { AOM_CDF3(23552, 27800), 0, 0, 0, 0, 0 }, { AOM_CDF3(32256, 32504), 0, 0, 0, 0, 0 }, }, { { AOM_CDF4(26112, 28374, 30039), 0, 0, 0, 0 }, { AOM_CDF4(9472, 22576, 27712), 0, 0, 0, 0 }, { AOM_CDF4(6656, 26138, 29608), 0, 0, 0, 0 }, { AOM_CDF4(19328, 23791, 28946), 0, 0, 0, 0 }, { AOM_CDF4(31744, 31984, 32336), 0, 0, 0, 0 }, }, { { AOM_CDF5(27904, 29215, 30075, 31190), 0, 0, 0 }, { AOM_CDF5(9728, 22598, 26134, 29425), 0, 0, 0 }, { AOM_CDF5(2688, 30066, 31058, 31933), 0, 0, 0 }, { AOM_CDF5(22015, 25039, 27726, 29932), 0, 0, 0 }, { AOM_CDF5(32383, 32482, 32554, 32660), 0, 0, 0 }, }, { { AOM_CDF6(24319, 26299, 27486, 28600, 29804), 0, 0 }, { AOM_CDF6(7935, 18217, 21116, 25440, 28589), 0, 0 }, { AOM_CDF6(6656, 25016, 27105, 28698, 30399), 0, 0 }, { AOM_CDF6(19967, 24117, 26550, 28566, 30224), 0, 0 }, { AOM_CDF6(31359, 31607, 31775, 31977, 32258), 0, 0 }, }, { { AOM_CDF7(26368, 27768, 28588, 29274, 29997, 30917), 0 }, { AOM_CDF7(8960, 18260, 20810, 23986, 26627, 28882), 0 }, { AOM_CDF7(7295, 24111, 25836, 27515, 29033, 30769), 0 }, { AOM_CDF7(22016, 25208, 27305, 28159, 29221, 30274), 0 }, { AOM_CDF7(31744, 31932, 32050, 32199, 32335, 32521), 0 }, }, { { AOM_CDF8(26624, 27872, 28599, 29153, 29633, 30172, 30841) }, { AOM_CDF8(6655, 17569, 19587, 23345, 25884, 28088, 29678) }, { AOM_CDF8(3584, 27296, 28429, 29158, 30032, 30780, 31572) }, { AOM_CDF8(23551, 25855, 27070, 27893, 28597, 29721, 30970) }, { AOM_CDF8(32128, 32173, 32245, 32337, 32416, 32500, 32609) }, }, }; #endif // CONFIG_MRC_TX #if CONFIG_INTRABC static const aom_cdf_prob default_intrabc_cdf[CDF_SIZE(2)] = { AOM_CDF2(192 * 128) }; #endif // CONFIG_INTRABC #define MAX_COLOR_CONTEXT_HASH 8 // Negative values are invalid static const int palette_color_index_context_lookup[MAX_COLOR_CONTEXT_HASH + 1] = { -1, -1, 0, -1, -1, 4, 3, 2, 1 }; #if CONFIG_LOOP_RESTORATION static const aom_cdf_prob default_switchable_restore_cdf[CDF_SIZE( RESTORE_SWITCHABLE_TYPES)] = { AOM_CDF3(32 * 128, 144 * 128) }; static const aom_cdf_prob default_wiener_restore_cdf[CDF_SIZE(2)] = { AOM_CDF2( 64 * 128) }; static const aom_cdf_prob default_sgrproj_restore_cdf[CDF_SIZE(2)] = { AOM_CDF2( 64 * 128) }; #endif // CONFIG_LOOP_RESTORATION #define NUM_PALETTE_NEIGHBORS 3 // left, top-left and top. int av1_get_palette_color_index_context(const uint8_t *color_map, int stride, int r, int c, int palette_size, uint8_t *color_order, int *color_idx) { int i; // The +10 below should not be needed. But we get a warning "array subscript // is above array bounds [-Werror=array-bounds]" without it, possibly due to // this (or similar) bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124 int scores[PALETTE_MAX_SIZE + 10]; const int weights[NUM_PALETTE_NEIGHBORS] = { 2, 1, 2 }; const int hash_multipliers[NUM_PALETTE_NEIGHBORS] = { 1, 2, 2 }; int color_index_ctx_hash; int color_index_ctx; int color_neighbors[NUM_PALETTE_NEIGHBORS]; int inverse_color_order[PALETTE_MAX_SIZE]; assert(palette_size <= PALETTE_MAX_SIZE); assert(r > 0 || c > 0); // Get color indices of neighbors. color_neighbors[0] = (c - 1 >= 0) ? color_map[r * stride + c - 1] : -1; color_neighbors[1] = (c - 1 >= 0 && r - 1 >= 0) ? color_map[(r - 1) * stride + c - 1] : -1; color_neighbors[2] = (r - 1 >= 0) ? color_map[(r - 1) * stride + c] : -1; for (i = 0; i < PALETTE_MAX_SIZE; ++i) { color_order[i] = i; inverse_color_order[i] = i; } memset(scores, 0, PALETTE_MAX_SIZE * sizeof(scores[0])); for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) { if (color_neighbors[i] >= 0) { scores[color_neighbors[i]] += weights[i]; } } // Get the top NUM_PALETTE_NEIGHBORS scores (sorted from large to small). for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) { int max = scores[i]; int max_idx = i; int j; for (j = i + 1; j < palette_size; ++j) { if (scores[j] > max) { max = scores[j]; max_idx = j; } } if (max_idx != i) { // Move the score at index 'max_idx' to index 'i', and shift the scores // from 'i' to 'max_idx - 1' by 1. const int max_score = scores[max_idx]; const uint8_t max_color_order = color_order[max_idx]; int k; for (k = max_idx; k > i; --k) { scores[k] = scores[k - 1]; color_order[k] = color_order[k - 1]; inverse_color_order[color_order[k]] = k; } scores[i] = max_score; color_order[i] = max_color_order; inverse_color_order[color_order[i]] = i; } } // Get hash value of context. color_index_ctx_hash = 0; for (i = 0; i < NUM_PALETTE_NEIGHBORS; ++i) { color_index_ctx_hash += scores[i] * hash_multipliers[i]; } assert(color_index_ctx_hash > 0); assert(color_index_ctx_hash <= MAX_COLOR_CONTEXT_HASH); // Lookup context from hash. color_index_ctx = palette_color_index_context_lookup[color_index_ctx_hash]; assert(color_index_ctx >= 0); assert(color_index_ctx < PALETTE_COLOR_INDEX_CONTEXTS); if (color_idx != NULL) { *color_idx = inverse_color_order[color_map[r * stride + c]]; } return color_index_ctx; } #undef NUM_PALETTE_NEIGHBORS #undef MAX_COLOR_CONTEXT_HASH static const aom_cdf_prob default_txfm_partition_cdf[TXFM_PARTITION_CONTEXTS][CDF_SIZE(2)] = { #if CONFIG_TX64X64 { AOM_CDF2(249 * 128) }, { AOM_CDF2(240 * 128) }, { AOM_CDF2(223 * 128) }, { AOM_CDF2(249 * 128) }, { AOM_CDF2(229 * 128) }, { AOM_CDF2(177 * 128) }, { AOM_CDF2(250 * 128) }, { AOM_CDF2(243 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(226 * 128) }, { AOM_CDF2(187 * 128) }, { AOM_CDF2(145 * 128) }, { AOM_CDF2(236 * 128) }, { AOM_CDF2(204 * 128) }, { AOM_CDF2(150 * 128) }, { AOM_CDF2(183 * 128) }, { AOM_CDF2(149 * 128) }, { AOM_CDF2(125 * 128) }, { AOM_CDF2(181 * 128) }, { AOM_CDF2(146 * 128) }, { AOM_CDF2(113 * 128) }, { AOM_CDF2(128 * 128) } #else { AOM_CDF2(250 * 128) }, { AOM_CDF2(231 * 128) }, { AOM_CDF2(212 * 128) }, { AOM_CDF2(241 * 128) }, { AOM_CDF2(166 * 128) }, { AOM_CDF2(66 * 128) }, { AOM_CDF2(241 * 128) }, { AOM_CDF2(230 * 128) }, { AOM_CDF2(135 * 128) }, { AOM_CDF2(243 * 128) }, { AOM_CDF2(154 * 128) }, { AOM_CDF2(64 * 128) }, { AOM_CDF2(248 * 128) }, { AOM_CDF2(161 * 128) }, { AOM_CDF2(63 * 128) }, { AOM_CDF2(128 * 128) }, #endif // CONFIG_TX64X64 }; #if CONFIG_EXT_SKIP static const aom_cdf_prob default_skip_mode_cdfs[SKIP_MODE_CONTEXTS][CDF_SIZE( 2)] = { { AOM_CDF2(24576) }, { AOM_CDF2(16384) }, { AOM_CDF2(8192) } }; #endif // CONFIG_EXT_SKIP static const aom_cdf_prob default_skip_cdfs[SKIP_CONTEXTS][CDF_SIZE(2)] = { { AOM_CDF2(24576) }, { AOM_CDF2(16384) }, { AOM_CDF2(8192) } }; #if CONFIG_JNT_COMP static const aom_cdf_prob default_compound_idx_cdfs[COMP_INDEX_CONTEXTS][CDF_SIZE(2)] = { { AOM_ICDF(24576), AOM_ICDF(32768), 0 }, { AOM_ICDF(16384), AOM_ICDF(32768), 0 }, { AOM_ICDF(8192), AOM_ICDF(32768), 0 }, { AOM_ICDF(24576), AOM_ICDF(32768), 0 }, { AOM_ICDF(16384), AOM_ICDF(32768), 0 }, { AOM_ICDF(8192), AOM_ICDF(32768), 0 }, }; static const aom_prob default_compound_idx_probs[COMP_INDEX_CONTEXTS] = { 192, 128, 64, 192, 128, 64 }; #endif // CONFIG_JNT_COMP #if CONFIG_FILTER_INTRA static const aom_cdf_prob default_filter_intra_mode_cdf[2][CDF_SIZE( FILTER_INTRA_MODES)] = { { AOM_CDF5(14259, 17304, 20463, 29377) }, { AOM_CDF5(32768, 32768, 32768, 32768) } }; static const aom_cdf_prob default_filter_intra_cdfs[TX_SIZES_ALL][CDF_SIZE(2)] = { { AOM_CDF2(10985) }, { AOM_CDF2(10985) }, { AOM_CDF2(16645) }, { AOM_CDF2(27378) }, { AOM_CDF2(10985) }, { AOM_CDF2(10985) }, { AOM_CDF2(15723) }, { AOM_CDF2(12373) }, { AOM_CDF2(27199) }, { AOM_CDF2(24217) }, { AOM_CDF2(32767) }, { AOM_CDF2(32767) }, { AOM_CDF2(32767) }, { AOM_CDF2(32767) } }; #endif // CONFIG_FILTER_INTRA // FIXME(someone) need real defaults here static const aom_prob default_segment_tree_probs[SEG_TREE_PROBS] = { 128, 128, 128, 128, 128, 128, 128 }; // clang-format off static const aom_prob default_segment_pred_probs[PREDICTION_PROBS] = { 128, 128, 128 }; static const aom_cdf_prob default_segment_pred_cdf[PREDICTION_PROBS][CDF_SIZE(2)] = { { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) } }; // clang-format on #if CONFIG_DUAL_FILTER #if USE_EXTRA_FILTER static const aom_cdf_prob default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE( SWITCHABLE_FILTERS)] = { { AOM_CDF4(30080, 31088, 31760) }, { AOM_CDF4(4608, 9620, 11050) }, { AOM_CDF4(4352, 5240, 31880) }, { AOM_CDF4(4352, 5240, 31880) }, { AOM_CDF4(19072, 23352, 28488) }, { AOM_CDF4(30080, 31088, 31760) }, { AOM_CDF4(4608, 9620, 11050) }, { AOM_CDF4(4352, 5240, 31880) }, { AOM_CDF4(4352, 5240, 31880) }, { AOM_CDF4(19072, 23352, 28488) }, { AOM_CDF4(30080, 31088, 31760) }, { AOM_CDF4(4608, 9620, 11050) }, { AOM_CDF4(4352, 5240, 31880) }, { AOM_CDF4(4352, 5240, 31880) }, { AOM_CDF4(19072, 23352, 28488) }, { AOM_CDF4(30080, 31088, 31760) }, { AOM_CDF4(4608, 9620, 11050) }, { AOM_CDF4(4352, 5240, 31880) }, { AOM_CDF4(4352, 5240, 31880) }, { AOM_CDF4(19072, 23352, 28488) }, }; #else // USE_EXTRA_FILTER static const aom_cdf_prob default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS][CDF_SIZE( SWITCHABLE_FILTERS)] = { { AOM_CDF3(32256, 32654) }, { AOM_CDF3(2816, 32651) }, { AOM_CDF3(512, 764) }, { AOM_CDF3(30464, 31778) }, { AOM_CDF3(32384, 32483) }, { AOM_CDF3(3072, 32652) }, { AOM_CDF3(256, 383) }, { AOM_CDF3(25344, 26533) }, { AOM_CDF3(32000, 32531) }, { AOM_CDF3(2048, 32648) }, { AOM_CDF3(384, 890) }, { AOM_CDF3(28928, 31358) }, { AOM_CDF3(31616, 31787) }, { AOM_CDF3(4224, 32433) }, { AOM_CDF3(128, 256) }, { AOM_CDF3(17408, 18248) } }; #endif // USE_EXTRA_FILTER #else // CONFIG_DUAL_FILTER static const aom_cdf_prob default_switchable_interp_cdf[SWITCHABLE_FILTER_CONTEXTS] [CDF_SIZE(SWITCHABLE_FILTERS)] = { { AOM_CDF3(30080, 31781) }, { AOM_CDF3(4608, 32658) }, { AOM_CDF3(4352, 4685) }, { AOM_CDF3(19072, 26776) }, }; #endif // CONFIG_DUAL_FILTER static const aom_cdf_prob default_seg_tree_cdf[CDF_SIZE(MAX_SEGMENTS)] = { AOM_CDF8(4096, 8192, 12288, 16384, 20480, 24576, 28672) }; #if CONFIG_Q_SEGMENTATION static const aom_cdf_prob default_q_seg_tree_cdf[Q_SEGMENT_CDF_COUNT][CDF_SIZE(MAX_SEGMENTS)] = { { AOM_CDF8(5622, 7893, 16093, 18233, 27809, 28373, 32533), }, { AOM_CDF8(14274, 18230, 22557, 24935, 29980, 30851, 32344), }, { AOM_CDF8(27527, 28487, 28723, 28890, 32397, 32647, 32679), }, }; #endif static const aom_cdf_prob default_tx_size_cdf[MAX_TX_CATS][TX_SIZE_CONTEXTS][CDF_SIZE(MAX_TX_DEPTH + 1)] = { #if MAX_TX_DEPTH == 2 { { AOM_CDF2(19968) }, { AOM_CDF2(24320) } }, { { AOM_CDF3(12272, 30172) }, { AOM_CDF3(18677, 30848) } }, { { AOM_CDF3(12986, 15180) }, { AOM_CDF3(24302, 25602) } }, #if CONFIG_TX64X64 { { AOM_CDF3(5782, 11475) }, { AOM_CDF3(16803, 22759) } }, #endif // CONFIG_TX64X64 #elif MAX_TX_DEPTH == 3 { { AOM_CDF2(19968) }, { AOM_CDF2(24320) } }, { { AOM_CDF3(12272, 30172) }, { AOM_CDF3(18677, 30848) } }, { { AOM_CDF4(12986, 15180, 32384) }, { AOM_CDF4(24302, 25602, 32128) } }, #if CONFIG_TX64X64 { { AOM_CDF4(5782, 11475, 24480) }, { AOM_CDF4(16803, 22759, 28560) } }, #endif // CONFIG_TX64X64 #else { { AOM_CDF2(19968) }, { AOM_CDF2(24320) } }, { { AOM_CDF3(12272, 30172) }, { AOM_CDF3(18677, 30848) } }, { { AOM_CDF4(12986, 15180, 32384) }, { AOM_CDF4(24302, 25602, 32128) } }, #if CONFIG_TX64X64 { { AOM_CDF5(5782, 11475, 24480, 32640) }, { AOM_CDF5(16803, 22759, 28560, 32640) } }, #endif // CONFIG_TX64X64 #endif // MAX_TX_DEPTH == 2 }; static const aom_cdf_prob default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = { { AOM_CDF13(7168, 10680, 13913, 16928, 20294, 22790, 24706, 26275, 28139, 29751, 30563, 31468) }, { AOM_CDF13(11776, 13823, 15307, 15725, 16638, 17406, 17994, 18814, 19634, 21513, 22198, 22928) }, { AOM_CDF13(14720, 16459, 18091, 18299, 18757, 19125, 19423, 19924, 20504, 22922, 24063, 25577) }, { AOM_CDF13(18944, 19925, 20908, 20998, 21017, 21072, 21084, 21121, 21159, 22064, 22820, 24290) }, }; #if CONFIG_CFL static const aom_cdf_prob default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = { { AOM_CDF14(18377, 18815, 19743, 20178, 20560, 20889, 21359, 22098, 22481, 24563, 25781, 26662, 28396) }, { AOM_CDF14(5350, 16837, 17066, 17360, 17692, 18778, 18969, 19206, 20291, 22367, 23212, 24670, 27912) }, { AOM_CDF14(6671, 6759, 17812, 17998, 18260, 18384, 19408, 20667, 20806, 22760, 24142, 24875, 28072) }, { AOM_CDF14(7461, 8082, 8515, 15013, 15583, 16098, 16522, 18519, 20348, 22954, 24130, 25342, 26548) }, { AOM_CDF14(3694, 4403, 5370, 5854, 17841, 19639, 21625, 22224, 22651, 24613, 25399, 26143, 26599) }, { AOM_CDF14(3700, 5651, 6112, 6541, 8929, 20623, 21213, 21640, 22214, 24306, 25412, 26406, 27249) }, { AOM_CDF14(4649, 4947, 7128, 7432, 9439, 9903, 21163, 21774, 22056, 24426, 25403, 26324, 27128) }, { AOM_CDF14(7208, 7375, 8779, 9683, 10072, 10284, 10796, 19786, 20152, 22955, 24246, 25165, 26589) }, { AOM_CDF14(5897, 7283, 7555, 8910, 9391, 9937, 10276, 11044, 19841, 22620, 23784, 25060, 26418) }, { AOM_CDF14(12171, 12718, 13885, 14348, 14925, 15394, 16108, 17075, 17583, 21996, 23614, 25048, 27011) }, { AOM_CDF14(10192, 11222, 12318, 12877, 13533, 14184, 14866, 15879, 16650, 20419, 23265, 24295, 26596) }, { AOM_CDF14(10776, 11387, 12899, 13471, 14088, 14575, 15366, 16456, 17040, 20815, 22009, 24448, 26492) }, { AOM_CDF14(4015, 6473, 9853, 10285, 10655, 11032, 11431, 12199, 12738, 14760, 16121, 17263, 28612) }, }; #else #if CONFIG_FILTER_INTRA static const aom_cdf_prob default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = { { AOM_CDF13(17902, 18828, 21117, 21487, 21924, 22484, 23588, 24669, 25177, 28731, 29903, 31509) }, { AOM_CDF13(9654, 23559, 23873, 24050, 24203, 24929, 25057, 25286, 26027, 28172, 28716, 30913) }, { AOM_CDF13(10012, 10124, 25394, 25540, 25665, 25752, 26567, 27761, 27876, 29497, 30581, 31179) }, { AOM_CDF13(15143, 15859, 16581, 21567, 21968, 22430, 22867, 24953, 26969, 30310, 31125, 32329) }, { AOM_CDF13(14063, 14416, 14921, 15022, 25164, 26720, 28661, 29083, 29277, 31337, 31882, 32565) }, { AOM_CDF13(12942, 14713, 15178, 15325, 16964, 27421, 27834, 28306, 28645, 30804, 31322, 32387) }, { AOM_CDF13(13687, 13993, 16776, 16912, 18338, 18648, 27557, 28140, 28359, 30820, 31669, 32443) }, { AOM_CDF13(14180, 14439, 16582, 17373, 17675, 17931, 18453, 26308, 26761, 30058, 31293, 32156) }, { AOM_CDF13(12480, 14300, 14838, 16085, 16434, 17023, 17426, 18313, 26041, 29653, 30347, 32067) }, { AOM_CDF13(17202, 18093, 19414, 19910, 20311, 20837, 21554, 22830, 23572, 28770, 30259, 32145) }, { AOM_CDF13(16336, 18149, 19485, 19927, 20365, 20924, 21524, 22561, 23421, 28141, 30701, 32020) }, { AOM_CDF13(16485, 17366, 19874, 20364, 20713, 21057, 21773, 23100, 23685, 28079, 29091, 32028) }, { AOM_CDF13(13638, 16789, 19763, 19903, 19995, 20201, 20405, 20861, 21174, 22802, 23566, 24754) } }; #else static const aom_cdf_prob default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = { { AOM_CDF13(23552, 25936, 28623, 29033, 29395, 29892, 30252, 30905, 31370, 31980, 32293, 32660) }, { AOM_CDF13(2944, 26431, 27553, 27746, 28022, 29080, 29204, 29377, 30264, 31206, 31613, 32418) }, { AOM_CDF13(4352, 5120, 27952, 28117, 28473, 28759, 29563, 30864, 31051, 31694, 32073, 32435) }, { AOM_CDF13(17664, 20288, 21839, 26072, 26420, 26972, 27240, 28565, 30914, 31694, 32083, 32591) }, { AOM_CDF13(16640, 18390, 20233, 20557, 25162, 27789, 29397, 29895, 30369, 31497, 32025, 32642) }, { AOM_CDF13(13952, 17947, 18918, 19206, 21131, 30668, 31061, 31317, 31838, 32137, 32342, 32547) }, { AOM_CDF13(15872, 16990, 21479, 21732, 24134, 24854, 30296, 30887, 31163, 31902, 32218, 32702) }, { AOM_CDF13(16256, 17280, 23081, 24039, 24457, 24838, 25346, 30329, 30908, 31746, 32206, 32639) }, { AOM_CDF13(14720, 19249, 20501, 22079, 22439, 23218, 23463, 24107, 30308, 31379, 31866, 32556) }, { AOM_CDF13(16768, 19967, 22374, 22976, 23836, 24050, 24642, 25760, 26653, 29585, 30937, 32518) }, { AOM_CDF13(16768, 20751, 23026, 23591, 24299, 24516, 24981, 25876, 26806, 29520, 31286, 32455) }, { AOM_CDF13(17536, 20055, 22965, 23507, 24210, 24398, 25098, 26366, 27033, 29674, 30689, 32530) }, { AOM_CDF13(17536, 22753, 27126, 27353, 27571, 28139, 28505, 29198, 29886, 30801, 31335, 32054) }, }; #endif #endif // CONFIG_CFL #if CONFIG_EXT_PARTITION_TYPES static const aom_cdf_prob default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE( EXT_PARTITION_TYPES)] = { // 8x8 -> 4x4 only supports the four legacy partition types { AOM_CDF4(25472, 28949, 31052), 0, 0, 0, 0, 0, 0 }, { AOM_CDF4(18816, 22250, 28783), 0, 0, 0, 0, 0, 0 }, { AOM_CDF4(18944, 26126, 29188), 0, 0, 0, 0, 0, 0 }, { AOM_CDF4(15488, 22508, 27077), 0, 0, 0, 0, 0, 0 }, // 16x16 -> 8x8 { AOM_CDF10(22272, 23768, 25043, 29996, 30495, 30994, 31419, 31844, 32343) }, { AOM_CDF10(11776, 13457, 16315, 28229, 28789, 29349, 30302, 31255, 31816) }, { AOM_CDF10(10496, 14802, 16136, 27127, 28563, 29999, 30444, 30889, 32324) }, { AOM_CDF10(6784, 8763, 10440, 29110, 29770, 30430, 30989, 31548, 32208) }, // 32x32 -> 16x16 { AOM_CDF10(22656, 23801, 24702, 30721, 31103, 31485, 31785, 32085, 32467) }, { AOM_CDF10(8704, 9926, 12586, 28885, 29292, 29699, 30586, 31473, 31881) }, { AOM_CDF10(6656, 10685, 11566, 27857, 29200, 30543, 30837, 31131, 32474) }, { AOM_CDF10(2176, 3012, 3690, 31253, 31532, 31811, 32037, 32263, 32542) }, // 64x64 -> 32x32 { AOM_CDF10(28416, 28705, 28926, 32258, 32354, 32450, 32523, 32596, 32693) }, { AOM_CDF10(9216, 9952, 11849, 30134, 30379, 30624, 31256, 31888, 32134) }, { AOM_CDF10(7424, 9008, 9528, 30664, 31192, 31720, 31893, 32066, 32594) }, { AOM_CDF10(1280, 1710, 2069, 31978, 32121, 32264, 32383, 32502, 32647) }, #if CONFIG_EXT_PARTITION #if ALLOW_128X32_BLOCKS { AOM_CDF10(28416, 28705, 28926, 32258, 32354, 32450, 32523, 32596, 32693) }, { AOM_CDF10(9216, 9952, 11849, 30134, 30379, 30624, 31256, 31888, 32134) }, { AOM_CDF10(7424, 9008, 9528, 30664, 31192, 31720, 31893, 32066, 32594) }, { AOM_CDF10(1280, 1710, 2069, 31978, 32121, 32264, 32383, 32502, 32647) }, #else // 128x128 -> 64x64 { AOM_CDF8(28416, 28705, 28926, 32258, 32402, 32547, 32548) }, { AOM_CDF8(9216, 9952, 11849, 30134, 30502, 30870, 30871) }, { AOM_CDF8(7424, 9008, 9528, 30664, 31456, 32248, 32249) }, { AOM_CDF8(1280, 1710, 2069, 31978, 32193, 32409, 32410) }, #endif // ALLOW_128X32_BLOCKS #endif // CONFIG_EXT_PARTITION }; #else static const aom_cdf_prob default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(PARTITION_TYPES)] = { { AOM_CDF4(25472, 28949, 31052) }, { AOM_CDF4(18816, 22250, 28783) }, { AOM_CDF4(18944, 26126, 29188) }, { AOM_CDF4(15488, 22508, 27077) }, { AOM_CDF4(22272, 25265, 27815) }, { AOM_CDF4(11776, 15138, 20854) }, { AOM_CDF4(10496, 19109, 21777) }, { AOM_CDF4(6784, 10743, 14098) }, { AOM_CDF4(22656, 24947, 26749) }, { AOM_CDF4(8704, 11148, 16469) }, { AOM_CDF4(6656, 14714, 16477) }, { AOM_CDF4(2176, 3849, 5205) }, { AOM_CDF4(28416, 28994, 29436) }, { AOM_CDF4(9216, 10688, 14483) }, { AOM_CDF4(7424, 10592, 11632) }, { AOM_CDF4(1280, 2141, 2859) }, #if CONFIG_EXT_PARTITION { AOM_CDF4(28416, 28994, 29436) }, { AOM_CDF4(9216, 10688, 14483) }, { AOM_CDF4(7424, 10592, 11632) }, { AOM_CDF4(1280, 2141, 2859) }, #endif }; #endif static const aom_cdf_prob default_intra_ext_tx_cdf [EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES][CDF_SIZE(TX_TYPES)] = { { // FIXME: unused zero positions, from uncoded trivial transform set { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, }, { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, }, { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, }, { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, }, }, { { { AOM_CDF7(1024, 28800, 29048, 29296, 30164, 31466) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 27118) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1152, 25852, 26284, 26717, 28230, 30499) }, { AOM_CDF7(1024, 2016, 3938, 5860, 29404, 31086) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 27118) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) }, { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, }, { { AOM_CDF7(1024, 28800, 29048, 29296, 30164, 31466) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 27118) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1152, 25852, 26284, 26717, 28230, 30499) }, { AOM_CDF7(1024, 2016, 3938, 5860, 29404, 31086) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 27118) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) }, { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, }, { { AOM_CDF7(1024, 28800, 29048, 29296, 30164, 31466) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 27118) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1152, 25852, 26284, 26717, 28230, 30499) }, { AOM_CDF7(1024, 2016, 3938, 5860, 29404, 31086) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 27118) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) }, { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, }, { { AOM_CDF7(1024, 28800, 29048, 29296, 30164, 31466) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 27118) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1152, 25852, 26284, 26717, 28230, 30499) }, { AOM_CDF7(1024, 2016, 3938, 5860, 29404, 31086) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 27118) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) }, { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) }, }, }, { { { AOM_CDF5(1024, 28800, 29792, 31280) }, { AOM_CDF5(1280, 5216, 6938, 26310) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1152, 25852, 27581, 30174) }, { AOM_CDF5(1024, 2016, 28924, 30846) }, { AOM_CDF5(1280, 5216, 6938, 26310) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 4109, 13065, 26611) }, { AOM_CDF5(1280, 4109, 13065, 26611) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, }, { { AOM_CDF5(1024, 28800, 29792, 31280) }, { AOM_CDF5(1280, 5216, 6938, 26310) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1152, 25852, 27581, 30174) }, { AOM_CDF5(1024, 2016, 28924, 30846) }, { AOM_CDF5(1280, 5216, 6938, 26310) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 4109, 13065, 26611) }, { AOM_CDF5(1280, 4109, 13065, 26611) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, }, { { AOM_CDF5(1024, 28800, 29792, 31280) }, { AOM_CDF5(1280, 5216, 6938, 26310) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1152, 25852, 27581, 30174) }, { AOM_CDF5(1024, 2016, 28924, 30846) }, { AOM_CDF5(1280, 5216, 6938, 26310) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 4109, 13065, 26611) }, { AOM_CDF5(1280, 4109, 13065, 26611) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, }, { { AOM_CDF5(1024, 28800, 29792, 31280) }, { AOM_CDF5(1280, 5216, 6938, 26310) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1152, 25852, 27581, 30174) }, { AOM_CDF5(1024, 2016, 28924, 30846) }, { AOM_CDF5(1280, 5216, 6938, 26310) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 4109, 13065, 26611) }, { AOM_CDF5(1280, 4109, 13065, 26611) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, { AOM_CDF5(1280, 5216, 6938, 13396) }, }, }, #if CONFIG_MRC_TX { { { AOM_CDF2(1024) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1152) }, { AOM_CDF2(1024) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, }, { { AOM_CDF2(1024) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1152) }, { AOM_CDF2(1024) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, }, { { AOM_CDF2(1024) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1152) }, { AOM_CDF2(1024) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, }, { { AOM_CDF2(1024) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1152) }, { AOM_CDF2(1024) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, { AOM_CDF2(1280) }, }, } #endif // CONFIG_MRC_TX }; static const aom_cdf_prob default_inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES][CDF_SIZE( TX_TYPES)] = { { { 0 }, { 0 }, { 0 }, { 0 } }, { { AOM_CDF16(1280, 1453, 1626, 2277, 2929, 3580, 4232, 16717, 19225, 21733, 24241, 26749, 28253, 29758, 31263) }, { AOM_CDF16(1280, 1453, 1626, 2277, 2929, 3580, 4232, 16717, 19225, 21733, 24241, 26749, 28253, 29758, 31263) }, { AOM_CDF16(1280, 1453, 1626, 2277, 2929, 3580, 4232, 16717, 19225, 21733, 24241, 26749, 28253, 29758, 31263) }, { AOM_CDF16(1280, 1453, 1626, 2277, 2929, 3580, 4232, 16717, 19225, 21733, 24241, 26749, 28253, 29758, 31263) } }, { { AOM_CDF12(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904, 28370, 29836, 31302) }, { AOM_CDF12(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904, 28370, 29836, 31302) }, { AOM_CDF12(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904, 28370, 29836, 31302) }, { AOM_CDF12(1280, 3125, 4970, 17132, 19575, 22018, 24461, 26904, 28370, 29836, 31302) } }, { { AOM_CDF2(1536) }, { AOM_CDF2(1536) }, { AOM_CDF2(1536) }, { AOM_CDF2(1536) } }, #if CONFIG_MRC_TX { { AOM_CDF3(30080, 31781) }, { AOM_CDF3(4608, 32658) }, { AOM_CDF3(4352, 4685) }, { AOM_CDF3(19072, 26776) } }, #endif // CONFIG_MRC_TX }; #if CONFIG_CFL static const aom_cdf_prob default_cfl_sign_cdf[CDF_SIZE(CFL_JOINT_SIGNS)] = { AOM_CDF8(1892, 2229, 11464, 14116, 25661, 26409, 32508) }; static const aom_cdf_prob default_cfl_alpha_cdf[CFL_ALPHA_CONTEXTS][CDF_SIZE(CFL_ALPHABET_SIZE)] = { { AOM_CDF16(16215, 27740, 31726, 32606, 32736, 32751, 32757, 32759, 32761, 32762, 32763, 32764, 32765, 32766, 32767) }, { AOM_CDF16(15213, 24615, 29704, 31974, 32545, 32673, 32713, 32746, 32753, 32756, 32758, 32761, 32763, 32764, 32766) }, { AOM_CDF16(13250, 24677, 29113, 31666, 32408, 32578, 32628, 32711, 32730, 32738, 32744, 32749, 32752, 32756, 32759) }, { AOM_CDF16(24593, 30787, 32062, 32495, 32656, 32707, 32735, 32747, 32752, 32757, 32760, 32763, 32764, 32765, 32767) }, { AOM_CDF16(19883, 27419, 30100, 31392, 31896, 32184, 32299, 32511, 32568, 32602, 32628, 32664, 32680, 32691, 32708) }, { AOM_CDF16(15939, 24151, 27754, 29680, 30651, 31267, 31527, 31868, 32001, 32090, 32181, 32284, 32314, 32366, 32486) } }; #endif #if CONFIG_KF_CTX // TODO(jingning): This initial models are copied directly from the entries // from the original table. The copied indexes are (0, 0), (0, 1), .. (4, 4). // It is possible to re-train this model and bring back the 0.14% loss in CIF // set key frame coding. This reduction in context model does not change the // key frame coding stats for mid and high resolution sets. #if CONFIG_FILTER_INTRA const aom_cdf_prob default_kf_y_mode_cdf[KF_MODE_CONTEXTS][KF_MODE_CONTEXTS][CDF_SIZE( INTRA_MODES)] = { { { AOM_CDF13(13234, 14775, 17115, 18040, 18783, 19420, 20510, 22129, 23183, 28738, 30120, 32138) }, { AOM_CDF13(8983, 14623, 16290, 17124, 17864, 18817, 19593, 20876, 22359, 27820, 29791, 31566) }, { AOM_CDF13(7091, 8084, 17897, 18490, 19057, 19428, 20811, 22624, 23265, 28288, 29341, 31870) }, { AOM_CDF13(11191, 12808, 14120, 16182, 16785, 17440, 18159, 20280, 22697, 28431, 30235, 32276) }, { AOM_CDF13(8208, 9510, 11986, 12851, 15212, 16786, 19400, 22224, 23146, 28889, 30200, 32375) } }, { { AOM_CDF13(6308, 15986, 17454, 18110, 18739, 19867, 20479, 21575, 22972, 28087, 30042, 31489) }, { AOM_CDF13(3549, 21993, 22593, 22968, 23262, 24052, 24280, 24856, 26026, 29057, 30818, 31543) }, { AOM_CDF13(4371, 9956, 16063, 16680, 17207, 17870, 18692, 20142, 21261, 26613, 28301, 30433) }, { AOM_CDF13(6445, 12764, 13699, 15338, 15922, 16891, 17304, 18868, 22816, 28105, 30472, 31907) }, { AOM_CDF13(4300, 11014, 12466, 13258, 15028, 17584, 19170, 21448, 22945, 28207, 30041, 31659) } }, { { AOM_CDF13(9111, 10159, 16955, 17625, 18268, 18703, 20078, 22004, 22761, 28166, 29334, 31990) }, { AOM_CDF13(7107, 11104, 15591, 16340, 17066, 17802, 18721, 20303, 21481, 26882, 28699, 30978) }, { AOM_CDF13(4546, 4935, 22442, 22717, 22960, 23087, 24171, 25671, 25939, 29333, 29866, 32023) }, { AOM_CDF13(8332, 9555, 12646, 14689, 15340, 15873, 16872, 19939, 21942, 27812, 29508, 31923) }, { AOM_CDF13(6413, 7233, 13108, 13895, 15332, 16187, 19121, 22694, 23365, 28639, 29686, 32187) } }, { { AOM_CDF13(9584, 11586, 12990, 15322, 15927, 16732, 17406, 19225, 22484, 28555, 30321, 32279) }, { AOM_CDF13(5907, 11662, 12625, 14955, 15491, 16403, 16865, 18074, 23261, 28508, 30584, 32057) }, { AOM_CDF13(5759, 7323, 12581, 14779, 15363, 15946, 16851, 19330, 21902, 27860, 29214, 31747) }, { AOM_CDF13(7166, 8714, 9430, 14479, 14672, 14953, 15184, 17239, 24798, 29350, 31021, 32371) }, { AOM_CDF13(6318, 8140, 9595, 12354, 13754, 15324, 16681, 19701, 22723, 28616, 30226, 32279) } }, { { AOM_CDF13(8669, 9875, 12300, 13093, 15518, 17458, 19843, 22083, 22927, 28780, 30271, 32364) }, { AOM_CDF13(6600, 10422, 12153, 12937, 15218, 18211, 19914, 21744, 22975, 28393, 30393, 31970) }, { AOM_CDF13(5512, 6207, 14265, 14897, 16246, 17175, 19865, 22553, 23178, 28445, 29511, 31980) }, { AOM_CDF13(8195, 9407, 10830, 13261, 14443, 15761, 16922, 20311, 22151, 28230, 30109, 32220) }, { AOM_CDF13(5612, 6462, 8166, 8737, 14316, 17802, 21788, 25554, 26080, 30083, 30983, 32457) } } }; #else const aom_cdf_prob default_kf_y_mode_cdf[KF_MODE_CONTEXTS][KF_MODE_CONTEXTS][CDF_SIZE( INTRA_MODES)] = { { { AOM_CDF13(14208, 17049, 20482, 21400, 22520, 23261, 23963, 25010, 25828, 28398, 29394, 30738) }, { AOM_CDF13(10496, 18295, 19872, 20945, 21933, 22818, 23334, 24033, 24996, 27652, 29060, 30071) }, { AOM_CDF13(5120, 6461, 19840, 20310, 21151, 21506, 22535, 23900, 24281, 26958, 27680, 29636) }, { AOM_CDF13(12544, 15177, 17666, 19855, 21147, 22017, 22797, 24514, 25779, 28716, 29772, 31267) }, { AOM_CDF13(7552, 9909, 11908, 13141, 18765, 22029, 23872, 24920, 25674, 29031, 30244, 31684) }, }, { { AOM_CDF13(3968, 17613, 19125, 19550, 20305, 21908, 22274, 22719, 23959, 26970, 29013, 29843) }, { AOM_CDF13(3072, 21231, 21863, 22306, 22674, 23414, 23517, 23798, 24770, 27032, 29016, 29636) }, { AOM_CDF13(2560, 9825, 15681, 16370, 17054, 17687, 18236, 19273, 20311, 24863, 26825, 28756) }, { AOM_CDF13(6912, 15140, 16485, 18364, 19181, 20394, 20663, 22098, 23936, 27555, 29704, 30849) }, { AOM_CDF13(2944, 13101, 14006, 14974, 17818, 21093, 21930, 22566, 24137, 27732, 29814, 30904) }, }, { { AOM_CDF13(11392, 12961, 20901, 21544, 22490, 22928, 23888, 25214, 25777, 28256, 29102, 30513) }, { AOM_CDF13(8064, 13595, 18888, 19616, 20765, 21454, 21990, 23103, 23980, 26772, 28070, 29197) }, { AOM_CDF13(4352, 5059, 21705, 22099, 22703, 22846, 23679, 25469, 25728, 27919, 28484, 30215) }, { AOM_CDF13(10752, 12277, 16471, 18276, 19443, 19917, 21158, 23881, 24892, 27709, 28771, 30274) }, { AOM_CDF13(8320, 10000, 14147, 15330, 19197, 20923, 22954, 24541, 25285, 28407, 29431, 30953) }, }, { { AOM_CDF13(10240, 12819, 15545, 18248, 19779, 20932, 21899, 23377, 25448, 28730, 29936, 31536) }, { AOM_CDF13(7552, 15309, 16645, 19760, 20653, 21650, 22221, 23273, 25509, 28683, 30153, 31192) }, { AOM_CDF13(5248, 6840, 16129, 17940, 19069, 19660, 20588, 22760, 23927, 27538, 28397, 30725) }, { AOM_CDF13(11008, 11903, 13794, 21320, 21931, 22310, 22546, 25375, 27347, 29800, 30761, 31833) }, { AOM_CDF13(6272, 8678, 10313, 13073, 16823, 19980, 21520, 23242, 25344, 28797, 30405, 31940) }, }, { { AOM_CDF13(7296, 9304, 11772, 12529, 18014, 20418, 23076, 24662, 25549, 29074, 30392, 31773) }, { AOM_CDF13(7168, 11687, 13541, 14431, 18214, 20761, 22269, 23320, 24633, 28339, 30193, 31268) }, { AOM_CDF13(3584, 4428, 13496, 14189, 17372, 18617, 20609, 22615, 23270, 27280, 28305, 30602) }, { AOM_CDF13(7424, 8834, 10499, 14357, 17671, 19150, 20460, 23235, 24391, 28351, 29843, 31481) }, { AOM_CDF13(4480, 5888, 7093, 7902, 18290, 22123, 24511, 25532, 26360, 29653, 30954, 32215) }, }, }; #endif #else const aom_cdf_prob default_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(INTRA_MODES)] = { #if CONFIG_FILTER_INTRA { { AOM_CDF13(14683, 16164, 18655, 19530, 20058, 20712, 21844, 23569, 24762, 29323, 30502, 32305) }, { AOM_CDF13(12656, 20348, 21294, 21804, 22202, 23095, 23587, 24461, 25907, 29190, 30652, 31811) }, { AOM_CDF13(9503, 9951, 23007, 23314, 23541, 23705, 24951, 26524, 26849, 29605, 30141, 31999) }, { AOM_CDF13(13260, 14061, 15139, 17906, 18255, 18765, 19485, 22590, 24686, 29535, 30788, 32556) }, { AOM_CDF13(9636, 10707, 11584, 12180, 19805, 22417, 24821, 25934, 26829, 30447, 31325, 32571) }, { AOM_CDF13(11503, 14182, 15005, 15716, 17312, 22822, 23813, 24939, 26485, 30176, 31386, 32491) }, { AOM_CDF13(10780, 11415, 14363, 14834, 16619, 17205, 23514, 24954, 25580, 29808, 30651, 32535) }, { AOM_CDF13(10987, 11732, 14421, 15496, 15957, 16409, 17580, 23241, 24331, 29195, 30353, 32508) }, { AOM_CDF13(12508, 14242, 15162, 16631, 17071, 17984, 18776, 20784, 24151, 29108, 30867, 32444) }, { AOM_CDF13(12829, 14161, 16064, 16898, 17478, 18230, 19432, 21587, 22866, 28544, 30194, 32428) }, { AOM_CDF13(12573, 14467, 16431, 17241, 17858, 18791, 19760, 21697, 22982, 28322, 30394, 32214) }, { AOM_CDF13(12584, 13813, 16632, 17412, 17891, 18453, 19775, 21906, 22973, 28492, 29852, 32414) }, { AOM_CDF13(10371, 13033, 17420, 17894, 18176, 18567, 19210, 20319, 21090, 24048, 25125, 26632) } }, { { AOM_CDF13(9051, 21642, 22328, 22666, 22990, 24191, 24466, 25094, 26458, 29094, 30542, 31304) }, { AOM_CDF13(5783, 26271, 26458, 26655, 26792, 27507, 27595, 27910, 29012, 30270, 31322, 31740) }, { AOM_CDF13(9084, 14570, 20536, 20922, 21174, 21685, 22190, 23274, 24293, 26854, 27998, 29451) }, { AOM_CDF13(9162, 15547, 16132, 18428, 19036, 19961, 20253, 22111, 25468, 28977, 31151, 32108) }, { AOM_CDF13(6626, 15650, 16281, 16696, 20419, 23826, 24669, 25188, 26709, 29561, 31203, 31811) }, { AOM_CDF13(5946, 17790, 18063, 18339, 19049, 25701, 25942, 26289, 28224, 30501, 31732, 32192) }, { AOM_CDF13(8247, 15710, 16700, 17083, 18600, 19891, 23303, 24149, 25418, 28745, 30205, 31229) }, { AOM_CDF13(7414, 14790, 16103, 17056, 17437, 18332, 18797, 23279, 25024, 28630, 30385, 31627) }, { AOM_CDF13(7886, 17142, 17377, 18228, 18517, 19566, 19789, 20477, 26467, 29451, 31424, 32074) }, { AOM_CDF13(8251, 19430, 19998, 20426, 20782, 22155, 22488, 23281, 25037, 28791, 30593, 31614) }, { AOM_CDF13(8042, 19117, 19777, 20139, 20462, 21878, 22212, 23083, 24811, 28090, 30592, 31308) }, { AOM_CDF13(8268, 19518, 20406, 20756, 21064, 22108, 22552, 23405, 25111, 28731, 30343, 31534) }, { AOM_CDF13(6521, 21472, 22603, 22915, 23041, 23480, 23618, 24110, 25099, 26516, 27883, 28449) } }, { { AOM_CDF13(12527, 13076, 21835, 22214, 22492, 22728, 23978, 25665, 26165, 29466, 30247, 32239) }, { AOM_CDF13(12377, 16820, 21011, 21631, 21960, 22438, 23031, 24350, 25400, 28539, 29714, 31154) }, { AOM_CDF13(6712, 6862, 26853, 26972, 27060, 27103, 27826, 29143, 29267, 30799, 31064, 32294) }, { AOM_CDF13(11320, 11776, 15386, 17447, 17768, 18066, 18973, 23664, 25022, 29029, 30158, 32267) }, { AOM_CDF13(10773, 11905, 15020, 15656, 20247, 21640, 24465, 25777, 26419, 29685, 30762, 32481) }, { AOM_CDF13(12323, 14046, 17449, 18101, 19214, 22210, 23345, 24975, 26412, 29729, 30931, 32336) }, { AOM_CDF13(9944, 10198, 17726, 18052, 18893, 19155, 25498, 26898, 27176, 30160, 30652, 32510) }, { AOM_CDF13(8721, 8970, 16785, 17446, 17649, 17826, 18746, 25927, 26396, 29702, 30461, 32528) }, { AOM_CDF13(11404, 12417, 15834, 17066, 17441, 18014, 18966, 21819, 24083, 29077, 30376, 32213) }, { AOM_CDF13(11450, 11958, 18297, 18820, 19165, 19479, 20809, 23280, 23916, 28662, 29933, 32364) }, { AOM_CDF13(10920, 11607, 17980, 18561, 18921, 19301, 20390, 22706, 23413, 28156, 30004, 31872) }, { AOM_CDF13(11462, 11962, 19642, 20131, 20369, 20530, 21898, 24152, 24686, 28899, 29656, 32424) }, { AOM_CDF13(8171, 9219, 21810, 22146, 22350, 22480, 22930, 24054, 24405, 26437, 27109, 28397) } }, { { AOM_CDF13(12474, 13429, 14740, 17535, 18021, 18752, 19551, 22163, 24563, 29410, 30687, 32505) }, { AOM_CDF13(9862, 15025, 15766, 18942, 19321, 20031, 20492, 21747, 25671, 29272, 30926, 32270) }, { AOM_CDF13(8764, 9426, 17676, 19605, 19945, 20174, 21106, 24312, 25470, 29242, 30066, 31831) }, { AOM_CDF13(8566, 9030, 9692, 18683, 18787, 18968, 19155, 23451, 26278, 30299, 31208, 32537) }, { AOM_CDF13(7535, 8616, 9353, 13056, 18938, 21199, 22627, 23971, 26022, 30131, 31243, 32618) }, { AOM_CDF13(9138, 11001, 11570, 14638, 16000, 20926, 21803, 23237, 26287, 30063, 31128, 32599) }, { AOM_CDF13(9729, 10184, 11919, 13759, 15439, 16099, 20564, 22949, 24424, 29313, 30373, 32518) }, { AOM_CDF13(8615, 9090, 10462, 14832, 15157, 15466, 16143, 22773, 24815, 29574, 30593, 32635) }, { AOM_CDF13(9258, 10308, 10884, 15905, 16092, 16466, 16802, 19277, 25235, 29804, 31328, 32508) }, { AOM_CDF13(10403, 11313, 12386, 15442, 15884, 16549, 17269, 20362, 22913, 28783, 30284, 32578) }, { AOM_CDF13(9620, 10894, 11874, 14923, 15398, 16326, 17076, 20069, 23137, 28656, 30608, 32331) }, { AOM_CDF13(10095, 10981, 12537, 15703, 16165, 16741, 17550, 20754, 22975, 29162, 30500, 32582) }, { AOM_CDF13(8858, 11204, 14847, 18228, 18741, 19060, 19629, 21234, 24400, 27622, 29011, 30627) } }, { { AOM_CDF13(9911, 10689, 11787, 12138, 19892, 22168, 24984, 26365, 27052, 30676, 31618, 32577) }, { AOM_CDF13(10405, 14007, 14667, 15051, 20542, 23567, 25261, 26243, 27418, 30244, 31480, 32398) }, { AOM_CDF13(7972, 8563, 16778, 17053, 20474, 21431, 24348, 26064, 26466, 29456, 30241, 31822) }, { AOM_CDF13(10502, 10858, 11637, 13369, 16831, 18528, 20122, 23814, 25350, 29741, 31151, 32539) }, { AOM_CDF13(4993, 5184, 5393, 5580, 25670, 27769, 29927, 30768, 31020, 32139, 32371, 32721) }, { AOM_CDF13(6994, 8042, 8425, 8775, 18573, 26670, 27998, 29060, 29741, 31512, 32140, 32705) }, { AOM_CDF13(6608, 6893, 7917, 8137, 18180, 19484, 27302, 28268, 28648, 31184, 31688, 32604) }, { AOM_CDF13(7758, 8381, 9673, 10202, 15951, 17361, 19451, 26253, 26891, 30394, 31343, 32571) }, { AOM_CDF13(9961, 11581, 12003, 12812, 17402, 19995, 21609, 23735, 25957, 29973, 31339, 32560) }, { AOM_CDF13(10245, 10965, 11887, 12326, 18409, 20778, 23127, 24779, 25560, 30046, 31167, 32588) }, { AOM_CDF13(9047, 10157, 11136, 11600, 17607, 20541, 22746, 24278, 25239, 29844, 31296, 32466) }, { AOM_CDF13(10318, 11227, 12470, 12792, 17742, 19600, 22120, 24346, 25079, 29588, 30917, 32593) }, { AOM_CDF13(8281, 10602, 15452, 15940, 19120, 20702, 22521, 23526, 24236, 27829, 28776, 29973) } }, { { AOM_CDF13(9850, 12693, 13536, 13937, 16080, 23341, 24177, 25258, 26372, 30167, 31506, 32425) }, { AOM_CDF13(8537, 15828, 16155, 16425, 17738, 25313, 25706, 26423, 27642, 30290, 31795, 32372) }, { AOM_CDF13(8805, 10168, 16679, 17136, 18480, 21724, 22707, 24501, 25226, 28734, 29582, 31015) }, { AOM_CDF13(11887, 13456, 14000, 16402, 17550, 20969, 21942, 24081, 26141, 29735, 31365, 32610) }, { AOM_CDF13(5462, 6783, 7085, 7427, 16960, 26746, 27970, 28609, 29343, 31379, 32138, 32593) }, { AOM_CDF13(4786, 7121, 7242, 7469, 9622, 28427, 28700, 29374, 30121, 31764, 32356, 32637) }, { AOM_CDF13(9172, 10388, 11156, 11527, 15483, 20332, 24727, 25954, 26870, 30198, 31246, 32352) }, { AOM_CDF13(8102, 9847, 11124, 11911, 13567, 18203, 19081, 24364, 25695, 29586, 31057, 32380) }, { AOM_CDF13(10488, 13506, 14020, 14824, 16307, 20899, 21549, 22906, 25886, 29488, 31408, 32369) }, { AOM_CDF13(9407, 11928, 12529, 12941, 14674, 20905, 21782, 23113, 24351, 29073, 31009, 32410) }, { AOM_CDF13(8764, 11728, 12298, 12713, 14609, 21424, 22115, 23419, 24779, 29206, 31355, 32390) }, { AOM_CDF13(9517, 11912, 12950, 13401, 15075, 20426, 21436, 23153, 24539, 29531, 31132, 32469) }, { AOM_CDF13(8253, 12956, 16212, 16664, 17756, 22714, 23216, 24249, 25321, 28440, 29620, 30259) } }, { { AOM_CDF13(11792, 12317, 15563, 16032, 17398, 17977, 23384, 25171, 25807, 29850, 30737, 32541) }, { AOM_CDF13(10922, 14049, 15834, 16386, 17629, 18873, 22496, 24451, 25744, 29328, 30878, 32141) }, { AOM_CDF13(8243, 8431, 19690, 19885, 20402, 20560, 25644, 27470, 27737, 30291, 30701, 32380) }, { AOM_CDF13(11266, 11746, 13215, 15105, 15916, 16497, 19044, 22912, 24422, 29451, 30565, 32543) }, { AOM_CDF13(7970, 8353, 8989, 9324, 18715, 20136, 27478, 28360, 28854, 31356, 31910, 32687) }, { AOM_CDF13(9835, 10905, 11896, 12507, 15383, 20329, 25102, 26520, 27487, 30879, 31709, 32540) }, { AOM_CDF13(6779, 6957, 9270, 9436, 11553, 11824, 27958, 28747, 29030, 31268, 31664, 32666) }, { AOM_CDF13(9125, 9475, 12773, 13383, 14285, 14691, 18620, 24633, 25338, 29728, 30582, 32548) }, { AOM_CDF13(11721, 12709, 14065, 15136, 16224, 17044, 20019, 22634, 24974, 29533, 30976, 32540) }, { AOM_CDF13(11134, 11581, 13908, 14421, 15715, 16407, 20884, 23365, 24142, 29151, 30333, 32546) }, { AOM_CDF13(10621, 11354, 13725, 14331, 15697, 16435, 20811, 23061, 23916, 29068, 30630, 32382) }, { AOM_CDF13(11037, 11497, 14490, 14987, 16009, 16447, 21140, 23683, 24312, 28995, 30105, 32639) }, { AOM_CDF13(9605, 11018, 17444, 17875, 18709, 19288, 22633, 24723, 25518, 28726, 29835, 31394) } }, { { AOM_CDF13(12284, 12942, 15497, 16898, 17400, 17937, 19136, 23012, 24306, 29247, 30360, 32526) }, { AOM_CDF13(11749, 15601, 16892, 18207, 18593, 19416, 20162, 22890, 24773, 28978, 30525, 32157) }, { AOM_CDF13(8357, 8590, 18591, 19354, 19529, 19661, 20764, 25434, 25938, 29380, 29919, 32290) }, { AOM_CDF13(9307, 9623, 10609, 15340, 15587, 15878, 16422, 22905, 25106, 29604, 30579, 32561) }, { AOM_CDF13(9511, 10303, 11146, 12396, 19000, 20742, 22883, 25043, 26322, 30216, 31156, 32668) }, { AOM_CDF13(11525, 12965, 13992, 15314, 16559, 21108, 22323, 24844, 26765, 30376, 31351, 32576) }, { AOM_CDF13(9919, 10382, 13106, 14128, 15212, 15741, 20216, 23213, 24169, 29046, 29869, 32570) }, { AOM_CDF13(8056, 8456, 10218, 11714, 12070, 12383, 12849, 26222, 27079, 30222, 30828, 32606) }, { AOM_CDF13(10700, 11453, 12659, 15291, 15677, 16240, 16902, 20777, 24142, 29325, 30729, 32560) }, { AOM_CDF13(10863, 11450, 13506, 14976, 15428, 15869, 17051, 21294, 22705, 28406, 29836, 32553) }, { AOM_CDF13(10357, 11196, 13312, 14910, 15380, 15977, 16957, 20978, 22542, 28263, 30186, 32369) }, { AOM_CDF13(10325, 10858, 13637, 15045, 15455, 15809, 17144, 21700, 22936, 28610, 29747, 32558) }, { AOM_CDF13(10032, 11356, 16324, 17851, 18191, 18525, 19241, 22933, 24078, 27949, 29094, 31080) } }, { { AOM_CDF13(11187, 13518, 14554, 16266, 16753, 17679, 18282, 19923, 24195, 29274, 30823, 32442) }, { AOM_CDF13(7948, 15152, 15579, 16934, 17200, 18121, 18405, 19130, 26141, 29589, 31275, 32270) }, { AOM_CDF13(8418, 9721, 16634, 18137, 18405, 18791, 19607, 22197, 24804, 28838, 29667, 31725) }, { AOM_CDF13(9661, 10767, 11231, 16796, 16918, 17285, 17685, 20433, 25515, 29910, 31128, 32611) }, { AOM_CDF13(7447, 9631, 10071, 11463, 16405, 18681, 19977, 21135, 25724, 30089, 31371, 32429) }, { AOM_CDF13(7732, 11142, 11643, 13157, 14285, 19050, 19568, 20445, 26278, 30197, 31552, 32543) }, { AOM_CDF13(8655, 9972, 11341, 12647, 14152, 15009, 18424, 20317, 23903, 29129, 30367, 32348) }, { AOM_CDF13(8905, 10161, 11295, 14376, 14751, 15334, 15861, 20676, 24144, 29140, 30559, 32518) }, { AOM_CDF13(7230, 9455, 9769, 12237, 12385, 12718, 12941, 14070, 26774, 30020, 31689, 32544) }, { AOM_CDF13(9676, 11840, 12666, 14444, 14854, 15790, 16395, 18289, 23074, 28546, 30570, 32500) }, { AOM_CDF13(8954, 11507, 12411, 14262, 14736, 15800, 16324, 17931, 23370, 28692, 30899, 32304) }, { AOM_CDF13(9604, 11709, 12728, 14391, 14817, 15784, 16426, 18627, 22984, 28781, 30290, 32507) }, { AOM_CDF13(8037, 12362, 14711, 16445, 16662, 17238, 17667, 18883, 24405, 27873, 29300, 30676) } }, { { AOM_CDF13(12742, 13944, 16005, 16901, 17483, 18249, 19462, 21457, 22908, 28575, 30017, 32411) }, { AOM_CDF13(11299, 16882, 17822, 18576, 19025, 20145, 20676, 21738, 23779, 28608, 30479, 32163) }, { AOM_CDF13(9373, 9807, 20454, 20912, 21134, 21315, 22536, 24523, 25027, 28824, 29546, 31958) }, { AOM_CDF13(10839, 11634, 12609, 15747, 16076, 16521, 17368, 20813, 23179, 28736, 30250, 32547) }, { AOM_CDF13(10018, 11043, 11846, 12631, 18703, 21106, 23223, 24327, 25655, 29908, 31108, 32633) }, { AOM_CDF13(10447, 12670, 13370, 14274, 15751, 20138, 21082, 22289, 24356, 29308, 30721, 32473) }, { AOM_CDF13(10304, 10858, 13242, 13826, 15409, 16080, 21225, 22983, 23924, 29128, 30162, 32556) }, { AOM_CDF13(9909, 10554, 12924, 14243, 14636, 15075, 16202, 21806, 23067, 28721, 29942, 32552) }, { AOM_CDF13(10896, 12565, 13376, 14948, 15378, 16154, 16898, 19033, 22710, 28465, 30461, 32462) }, { AOM_CDF13(11659, 12724, 14290, 15241, 15795, 16545, 17729, 20065, 21669, 28045, 29829, 32507) }, { AOM_CDF13(11351, 12806, 14382, 15343, 15955, 16885, 17916, 20033, 21718, 28093, 30166, 32319) }, { AOM_CDF13(11522, 12494, 14590, 15496, 15977, 16665, 17908, 20267, 21743, 28115, 29581, 32452) }, { AOM_CDF13(9913, 12241, 17367, 18136, 18433, 18985, 19700, 21136, 22405, 26910, 28302, 30379) } }, { { AOM_CDF13(12772, 14653, 16651, 17429, 17957, 18854, 19886, 21672, 23234, 28792, 30500, 32399) }, { AOM_CDF13(10718, 18074, 18913, 19509, 19880, 20951, 21443, 22467, 24411, 28546, 30812, 32079) }, { AOM_CDF13(8668, 9307, 20783, 21169, 21531, 21743, 22862, 24771, 25364, 29059, 29920, 31878) }, { AOM_CDF13(11352, 12585, 13504, 16428, 16801, 17365, 17969, 21427, 23868, 29321, 30836, 32622) }, { AOM_CDF13(9076, 10636, 11637, 12524, 18204, 20593, 22842, 23921, 25465, 29951, 31401, 32575) }, { AOM_CDF13(9924, 12861, 13519, 14327, 15700, 20596, 21434, 22592, 24521, 29177, 30937, 32569) }, { AOM_CDF13(9975, 10926, 13127, 13658, 15283, 16041, 21277, 23058, 24139, 29093, 30305, 32527) }, { AOM_CDF13(9782, 10733, 12976, 14251, 14721, 15295, 16279, 22181, 23520, 29134, 30459, 32591) }, { AOM_CDF13(10910, 13136, 13939, 15246, 15760, 16621, 17278, 19097, 23321, 28756, 31030, 32520) }, { AOM_CDF13(11508, 13079, 14662, 15543, 16088, 16964, 18013, 20126, 21886, 28317, 30284, 32446) }, { AOM_CDF13(11588, 13894, 15463, 16360, 16934, 17975, 18878, 20699, 22408, 28392, 30519, 32360) }, { AOM_CDF13(11198, 12680, 14726, 15620, 16098, 16861, 18056, 20172, 21896, 28252, 29839, 32437) }, { AOM_CDF13(9832, 13268, 17993, 18757, 19173, 19664, 20264, 21689, 23011, 27552, 29216, 30566) } }, { { AOM_CDF13(12350, 13494, 16423, 17219, 17721, 18280, 19569, 21557, 22752, 28182, 29360, 32304) }, { AOM_CDF13(10022, 16315, 17409, 18094, 18533, 19487, 20138, 21179, 22977, 27630, 29129, 31612) }, { AOM_CDF13(9089, 9522, 20772, 21117, 21321, 21492, 22623, 24717, 25118, 28517, 28979, 31962) }, { AOM_CDF13(9995, 10496, 11749, 15264, 15578, 15986, 16825, 20949, 23073, 28353, 29869, 32482) }, { AOM_CDF13(9679, 10801, 11768, 12705, 18527, 20477, 22915, 24165, 25268, 29848, 30931, 32576) }, { AOM_CDF13(9567, 11899, 12955, 13828, 15192, 19318, 20367, 21537, 23628, 28952, 30125, 32358) }, { AOM_CDF13(9977, 10470, 13391, 14019, 15325, 15830, 21218, 23133, 23836, 28927, 29755, 32513) }, { AOM_CDF13(9850, 10345, 13290, 14602, 14927, 15251, 16355, 22136, 23237, 28655, 29584, 32430) }, { AOM_CDF13(10404, 11783, 12735, 14400, 14849, 15513, 16394, 18648, 22370, 28254, 30174, 32416) }, { AOM_CDF13(11468, 12380, 14466, 15450, 15969, 16598, 17836, 20272, 21618, 27769, 29346, 32367) }, { AOM_CDF13(10553, 11978, 13832, 14829, 15388, 16214, 17380, 19633, 21295, 27909, 29723, 32101) }, { AOM_CDF13(11458, 12316, 15258, 16119, 16504, 16926, 18261, 20678, 21757, 27964, 29206, 32426) }, { AOM_CDF13(9827, 12420, 17601, 18357, 18643, 19019, 19747, 21072, 22058, 25919, 27042, 29550) } }, { { AOM_CDF13(9582, 13804, 16310, 16612, 16855, 17317, 17804, 18740, 19414, 21959, 22938, 24178) }, { AOM_CDF13(7931, 20318, 21429, 21817, 21997, 22345, 22526, 23105, 23829, 25586, 26598, 27385) }, { AOM_CDF13(6461, 7883, 22735, 22941, 23061, 23170, 23671, 24830, 25109, 26711, 27168, 28668) }, { AOM_CDF13(9870, 12532, 14896, 17822, 18219, 18649, 19079, 23162, 24634, 28800, 30057, 31098) }, { AOM_CDF13(8170, 13942, 15674, 16236, 20928, 22526, 24154, 25027, 26567, 29246, 29882, 31110) }, { AOM_CDF13(9833, 16669, 17894, 18429, 19535, 23506, 24053, 25052, 26466, 29379, 30616, 31424) }, { AOM_CDF13(9558, 13127, 16722, 16945, 18404, 18965, 23157, 24785, 25444, 28879, 29715, 31451) }, { AOM_CDF13(8656, 11218, 15859, 16851, 17205, 17565, 18231, 24622, 25273, 28496, 29332, 31266) }, { AOM_CDF13(9768, 14291, 15838, 16981, 17225, 18107, 18654, 20335, 24118, 28540, 30170, 31448) }, { AOM_CDF13(10347, 15055, 17791, 18218, 18600, 19290, 19932, 21554, 22592, 26896, 28359, 30358) }, { AOM_CDF13(9093, 14028, 17143, 17521, 17893, 18675, 19203, 20715, 21674, 25422, 28036, 29528) }, { AOM_CDF13(10719, 15009, 18593, 19033, 19256, 19708, 20387, 22033, 22877, 26524, 27841, 30214) }, { AOM_CDF13(6775, 10524, 14225, 14551, 14761, 14914, 15132, 16033, 16477, 17963, 18795, 19673) } } #else { { AOM_CDF13(14208, 17049, 20482, 21400, 22520, 23261, 23963, 25010, 25828, 28398, 29394, 30738) }, { AOM_CDF13(10496, 18295, 19872, 20945, 21933, 22818, 23334, 24033, 24996, 27652, 29060, 30071) }, { AOM_CDF13(5120, 6461, 19840, 20310, 21151, 21506, 22535, 23900, 24281, 26958, 27680, 29636) }, { AOM_CDF13(12544, 15177, 17666, 19855, 21147, 22017, 22797, 24514, 25779, 28716, 29772, 31267) }, { AOM_CDF13(7552, 9909, 11908, 13141, 18765, 22029, 23872, 24920, 25674, 29031, 30244, 31684) }, { AOM_CDF13(11008, 15004, 16534, 18158, 21515, 26668, 27834, 28735, 30471, 30839, 30969, 31068) }, { AOM_CDF13(6272, 7963, 11944, 12780, 17944, 19198, 24071, 25295, 25834, 29014, 29949, 31733) }, { AOM_CDF13(8192, 10189, 14596, 15680, 17143, 17909, 19201, 23711, 24503, 28207, 29338, 31424) }, { AOM_CDF13(10752, 13199, 15048, 17151, 18445, 19604, 20363, 21782, 24311, 28026, 29517, 30962) }, { AOM_CDF13(7424, 10301, 13245, 14307, 16021, 16257, 17265, 18739, 20080, 26066, 28325, 31184) }, { AOM_CDF13(6528, 10893, 13773, 14824, 16540, 16926, 17748, 18876, 20396, 25974, 28795, 30820) }, { AOM_CDF13(8704, 11005, 14320, 15349, 16746, 16884, 17887, 19304, 20265, 26115, 27672, 31358) }, { AOM_CDF13(6272, 9504, 15437, 16399, 17355, 17948, 18814, 20270, 21134, 23690, 24759, 26454) }, }, { { AOM_CDF13(3968, 17613, 19125, 19550, 20305, 21908, 22274, 22719, 23959, 26970, 29013, 29843) }, { AOM_CDF13(3072, 21231, 21863, 22306, 22674, 23414, 23517, 23798, 24770, 27032, 29016, 29636) }, { AOM_CDF13(2560, 9825, 15681, 16370, 17054, 17687, 18236, 19273, 20311, 24863, 26825, 28756) }, { AOM_CDF13(6912, 15140, 16485, 18364, 19181, 20394, 20663, 22098, 23936, 27555, 29704, 30849) }, { AOM_CDF13(2944, 13101, 14006, 14974, 17818, 21093, 21930, 22566, 24137, 27732, 29814, 30904) }, { AOM_CDF13(4352, 17824, 18715, 19632, 21519, 26341, 26922, 27575, 29863, 30432, 30769, 30881) }, { AOM_CDF13(2944, 11971, 13509, 14295, 17202, 19005, 21605, 22458, 23839, 27774, 29492, 30787) }, { AOM_CDF13(4224, 13072, 15288, 16406, 17285, 18362, 19003, 21378, 22942, 27093, 29381, 30872) }, { AOM_CDF13(5120, 15375, 16188, 17415, 18183, 19756, 20030, 20883, 23935, 27428, 29627, 30608) }, { AOM_CDF13(2816, 14999, 16352, 16969, 17836, 18125, 18514, 19181, 20650, 25773, 29172, 30662) }, { AOM_CDF13(2560, 16158, 17320, 17839, 18545, 18848, 19130, 19599, 20863, 25449, 29304, 30408) }, { AOM_CDF13(3328, 15146, 16880, 17523, 18340, 18563, 18896, 19582, 20944, 25914, 28759, 30583) }, { AOM_CDF13(2560, 16618, 18460, 19207, 19654, 20276, 20529, 21179, 22355, 25423, 27696, 28638) }, }, { { AOM_CDF13(11392, 12961, 20901, 21544, 22490, 22928, 23888, 25214, 25777, 28256, 29102, 30513) }, { AOM_CDF13(8064, 13595, 18888, 19616, 20765, 21454, 21990, 23103, 23980, 26772, 28070, 29197) }, { AOM_CDF13(4352, 5059, 21705, 22099, 22703, 22846, 23679, 25469, 25728, 27919, 28484, 30215) }, { AOM_CDF13(10752, 12277, 16471, 18276, 19443, 19917, 21158, 23881, 24892, 27709, 28771, 30274) }, { AOM_CDF13(8320, 10000, 14147, 15330, 19197, 20923, 22954, 24541, 25285, 28407, 29431, 30953) }, { AOM_CDF13(11264, 14751, 18517, 20285, 23172, 25970, 27312, 28684, 29803, 30242, 30412, 30668) }, { AOM_CDF13(6528, 7509, 14190, 14953, 17905, 18452, 23074, 24910, 25374, 28605, 29542, 31640) }, { AOM_CDF13(6784, 7644, 15953, 17055, 17945, 18242, 19351, 24705, 25365, 28466, 29334, 31245) }, { AOM_CDF13(8192, 9802, 14519, 15740, 17351, 18084, 18962, 20908, 22937, 26847, 28284, 29888) }, { AOM_CDF13(5888, 7534, 14635, 15436, 16710, 16830, 18000, 19760, 20571, 25777, 27649, 30668) }, { AOM_CDF13(5248, 7364, 14858, 15545, 16861, 17016, 17859, 19384, 20237, 25239, 27715, 29865) }, { AOM_CDF13(6656, 7989, 15472, 16265, 17271, 17334, 18563, 20327, 20916, 26173, 27350, 31034) }, { AOM_CDF13(4480, 6411, 17828, 18611, 19399, 19684, 20504, 21782, 22335, 25286, 26352, 28016) }, }, { { AOM_CDF13(10240, 12819, 15545, 18248, 19779, 20932, 21899, 23377, 25448, 28730, 29936, 31536) }, { AOM_CDF13(7552, 15309, 16645, 19760, 20653, 21650, 22221, 23273, 25509, 28683, 30153, 31192) }, { AOM_CDF13(5248, 6840, 16129, 17940, 19069, 19660, 20588, 22760, 23927, 27538, 28397, 30725) }, { AOM_CDF13(11008, 11903, 13794, 21320, 21931, 22310, 22546, 25375, 27347, 29800, 30761, 31833) }, { AOM_CDF13(6272, 8678, 10313, 13073, 16823, 19980, 21520, 23242, 25344, 28797, 30405, 31940) }, { AOM_CDF13(7424, 10835, 12653, 16345, 19574, 24868, 25937, 27299, 31104, 31448, 31580, 31679) }, { AOM_CDF13(4992, 6458, 9945, 11961, 16136, 17677, 20946, 23042, 24475, 28304, 29748, 31791) }, { AOM_CDF13(9600, 11879, 14703, 17653, 19176, 20185, 20880, 25194, 26584, 29655, 30430, 32044) }, { AOM_CDF13(9856, 11385, 13457, 18705, 19577, 20266, 20746, 22207, 26724, 29431, 30645, 31604) }, { AOM_CDF13(6272, 9318, 11569, 14812, 16351, 16619, 17537, 19596, 22025, 27384, 29277, 31422) }, { AOM_CDF13(5888, 9348, 11416, 14690, 16254, 16633, 17457, 19031, 21875, 27080, 29442, 31193) }, { AOM_CDF13(6912, 9329, 12218, 15177, 16806, 16998, 17991, 20005, 21952, 27108, 28867, 31657) }, { AOM_CDF13(5120, 9098, 13132, 17701, 18739, 19534, 20415, 22136, 24213, 27199, 28504, 29960) }, }, { { AOM_CDF13(7296, 9304, 11772, 12529, 18014, 20418, 23076, 24662, 25549, 29074, 30392, 31773) }, { AOM_CDF13(7168, 11687, 13541, 14431, 18214, 20761, 22269, 23320, 24633, 28339, 30193, 31268) }, { AOM_CDF13(3584, 4428, 13496, 14189, 17372, 18617, 20609, 22615, 23270, 27280, 28305, 30602) }, { AOM_CDF13(7424, 8834, 10499, 14357, 17671, 19150, 20460, 23235, 24391, 28351, 29843, 31481) }, { AOM_CDF13(4480, 5888, 7093, 7902, 18290, 22123, 24511, 25532, 26360, 29653, 30954, 32215) }, { AOM_CDF13(7296, 10176, 11780, 12824, 19608, 25882, 28520, 29445, 31106, 31573, 31775, 31872) }, { AOM_CDF13(3840, 4833, 7551, 8449, 16668, 18614, 23952, 25668, 26721, 29888, 30697, 32090) }, { AOM_CDF13(6528, 8011, 11083, 12427, 16188, 17548, 19625, 23787, 24792, 28649, 29872, 31845) }, { AOM_CDF13(7168, 9170, 10655, 12439, 15550, 18128, 19565, 21412, 23355, 28007, 30080, 31568) }, { AOM_CDF13(5504, 7636, 10174, 11056, 15562, 16252, 17931, 19598, 20967, 26845, 29149, 31490) }, { AOM_CDF13(5248, 7810, 10004, 11015, 15359, 16310, 17834, 19185, 20903, 26728, 29585, 31478) }, { AOM_CDF13(5376, 7322, 10592, 11694, 15586, 16103, 17999, 19740, 20950, 26894, 28912, 31591) }, { AOM_CDF13(4608, 7276, 12153, 13388, 16091, 17970, 19548, 21175, 22481, 26543, 28212, 29908) }, }, { { AOM_CDF13(6656, 12225, 14441, 15158, 19600, 27127, 28221, 29186, 30439, 30913, 31135, 31238) }, { AOM_CDF13(6400, 14608, 15920, 16643, 20149, 27328, 27896, 28672, 30227, 30778, 31053, 31120) }, { AOM_CDF13(3840, 6925, 14671, 15709, 19830, 24216, 25507, 27459, 28552, 29569, 29808, 30169) }, { AOM_CDF13(9600, 13604, 15202, 17530, 20878, 24279, 25278, 28255, 30651, 31170, 31343, 31410) }, { AOM_CDF13(4608, 8535, 9588, 10740, 18673, 27664, 28826, 29828, 31081, 31503, 31680, 31778) }, { AOM_CDF13(4864, 10543, 11313, 12197, 16785, 27858, 28556, 29480, 30892, 31486, 31722, 31787) }, { AOM_CDF13(3968, 7492, 10283, 11318, 18486, 24061, 26761, 28456, 30126, 30872, 31088, 31305) }, { AOM_CDF13(6016, 10246, 12999, 15083, 18769, 22398, 23584, 27098, 29574, 30609, 30898, 31200) }, { AOM_CDF13(7808, 13404, 14723, 16413, 20186, 24739, 25407, 27106, 29929, 30507, 30827, 30915) }, { AOM_CDF13(2816, 6530, 8123, 9240, 12536, 17593, 18754, 20319, 22070, 27037, 29332, 30779) }, { AOM_CDF13(2432, 6577, 8010, 9215, 12657, 18898, 19588, 20953, 22766, 27231, 29927, 31109) }, { AOM_CDF13(3200, 6974, 9162, 10450, 13818, 17757, 19119, 20842, 22269, 27170, 29271, 30804) }, { AOM_CDF13(4480, 10689, 15307, 16589, 19738, 24416, 25332, 26541, 28634, 29711, 29913, 30116) }, }, { { AOM_CDF13(9600, 11066, 15832, 16515, 18844, 19883, 24302, 25759, 26358, 29290, 30262, 31682) }, { AOM_CDF13(8832, 12814, 16171, 17041, 19066, 20145, 22933, 24074, 25006, 28115, 29722, 30991) }, { AOM_CDF13(3840, 4486, 15821, 16330, 18461, 18879, 22436, 25051, 25443, 28637, 29396, 31412) }, { AOM_CDF13(9856, 10863, 14050, 15920, 18783, 19531, 22502, 24577, 25361, 28559, 29600, 31336) }, { AOM_CDF13(6528, 7620, 10182, 11199, 17281, 19946, 23885, 25333, 26130, 29425, 30332, 31948) }, { AOM_CDF13(9728, 11821, 13954, 15233, 19855, 24478, 28675, 29878, 31238, 31741, 31874, 32048) }, { AOM_CDF13(5120, 5753, 9673, 10149, 14343, 15190, 24967, 26378, 26841, 29749, 30527, 32120) }, { AOM_CDF13(5888, 6606, 11498, 12538, 14737, 15425, 19549, 24047, 24765, 28711, 29822, 32138) }, { AOM_CDF13(10368, 11757, 14126, 15474, 18311, 19358, 21539, 23451, 25034, 28791, 30035, 31280) }, { AOM_CDF13(6016, 7623, 11378, 12248, 15171, 15459, 18958, 20875, 21955, 27411, 29196, 31723) }, { AOM_CDF13(5760, 7469, 11399, 12323, 15165, 15528, 18804, 20769, 21767, 27129, 29435, 31502) }, { AOM_CDF13(7040, 8295, 12298, 13035, 15194, 15357, 18976, 21100, 21805, 26978, 28342, 31763) }, { AOM_CDF13(5632, 7465, 14220, 15035, 17014, 18105, 21111, 23027, 23934, 27207, 28293, 30330) }, }, { { AOM_CDF13(11008, 13089, 17144, 18425, 19954, 20624, 21658, 24229, 25290, 28803, 29938, 31493) }, { AOM_CDF13(9088, 14218, 16378, 17699, 18935, 19928, 20524, 22781, 24155, 27523, 29068, 30270) }, { AOM_CDF13(6144, 7194, 17912, 18991, 19879, 20151, 21170, 23938, 24712, 27763, 28556, 30584) }, { AOM_CDF13(10496, 11614, 13652, 16928, 18425, 18967, 19724, 23817, 25594, 28685, 29734, 30941) }, { AOM_CDF13(7296, 8915, 11163, 13821, 16951, 18507, 20180, 22423, 24017, 28294, 29614, 31673) }, { AOM_CDF13(9728, 13441, 15858, 18860, 21713, 24478, 25995, 28233, 30347, 30853, 31081, 31328) }, { AOM_CDF13(6400, 7480, 11482, 13206, 16199, 16908, 20436, 23507, 24650, 28360, 29438, 31532) }, { AOM_CDF13(9856, 10979, 13430, 15195, 15957, 16350, 16871, 26198, 26991, 29612, 30438, 31962) }, { AOM_CDF13(8960, 10529, 12640, 15350, 16987, 17859, 18590, 21400, 23812, 28188, 29589, 31280) }, { AOM_CDF13(7168, 8877, 12393, 14015, 15655, 15794, 16814, 19923, 21086, 26723, 28669, 31468) }, { AOM_CDF13(6400, 8900, 12241, 13828, 15513, 15671, 16500, 19257, 20456, 25984, 28658, 31017) }, { AOM_CDF13(7296, 8820, 12885, 14441, 15813, 15911, 16954, 20026, 20950, 26563, 28140, 31673) }, { AOM_CDF13(6272, 8455, 13328, 15907, 17026, 17464, 18267, 21436, 22712, 26403, 27660, 29559) }, }, { { AOM_CDF13(6784, 11216, 13269, 15677, 16931, 18445, 19097, 20082, 24298, 28236, 30118, 31448) }, { AOM_CDF13(5760, 13240, 14110, 16966, 17743, 18916, 19281, 19848, 25552, 28646, 30444, 31291) }, { AOM_CDF13(4352, 6870, 14660, 16597, 17361, 18126, 18852, 20765, 23526, 27670, 29096, 31214) }, { AOM_CDF13(9472, 11736, 13172, 18192, 19070, 19651, 19991, 21793, 26005, 29291, 30500, 31767) }, { AOM_CDF13(4480, 7252, 8651, 12379, 14936, 17493, 18326, 19527, 23655, 28031, 29960, 31773) }, { AOM_CDF13(6016, 11561, 12864, 15793, 18765, 23040, 23640, 24415, 31040, 31473, 31740, 31827) }, { AOM_CDF13(4480, 6825, 8810, 11269, 14257, 15716, 18397, 20006, 24020, 28230, 29780, 31773) }, { AOM_CDF13(6912, 9466, 11717, 15159, 16237, 17145, 17814, 21258, 24754, 28864, 30313, 32061) }, { AOM_CDF13(7680, 10517, 11381, 16202, 16809, 17425, 17774, 18764, 26842, 29600, 31073, 31886) }, { AOM_CDF13(4992, 8626, 10531, 13103, 14495, 14784, 15365, 16657, 21051, 27011, 29685, 31574) }, { AOM_CDF13(4736, 9433, 10981, 13494, 14644, 15043, 15396, 16378, 21506, 26869, 29824, 31454) }, { AOM_CDF13(5760, 9526, 11905, 14476, 15722, 16103, 16768, 18070, 21630, 27401, 29592, 31818) }, { AOM_CDF13(4480, 9947, 12386, 15909, 16496, 17397, 17866, 18927, 24408, 27750, 29614, 30889) }, }, { { AOM_CDF13(7424, 10538, 14098, 14891, 16486, 16756, 17607, 18952, 20168, 26275, 28617, 31580) }, { AOM_CDF13(5376, 13070, 14969, 15848, 17197, 17447, 17954, 18747, 20137, 25628, 28753, 30628) }, { AOM_CDF13(3584, 5287, 16141, 16840, 17670, 17760, 18532, 20387, 21102, 26118, 27535, 30830) }, { AOM_CDF13(7424, 9594, 11770, 14505, 16234, 16365, 17201, 20286, 22128, 27371, 29426, 31580) }, { AOM_CDF13(5632, 8393, 10566, 11917, 16025, 16697, 18123, 19541, 21135, 27059, 29325, 31814) }, { AOM_CDF13(3840, 7916, 9526, 11010, 14114, 18169, 19510, 21031, 23083, 27769, 29782, 31299) }, { AOM_CDF13(5376, 7338, 10657, 11699, 14780, 15070, 18291, 20170, 21347, 26985, 28811, 31805) }, { AOM_CDF13(5632, 7669, 11558, 12653, 13962, 14116, 15074, 19886, 21123, 26953, 28755, 31708) }, { AOM_CDF13(6528, 9739, 11612, 13211, 14992, 15237, 16016, 17677, 20588, 26647, 29116, 31435) }, { AOM_CDF13(5376, 8346, 11022, 11976, 13541, 13749, 14520, 16173, 17567, 25182, 28111, 31591) }, { AOM_CDF13(4736, 8894, 11294, 12220, 13753, 14029, 14645, 16065, 17621, 24911, 28655, 31344) }, { AOM_CDF13(5760, 8193, 11667, 12461, 13880, 14040, 14946, 16537, 17642, 25117, 27333, 31713) }, { AOM_CDF13(4096, 8479, 13751, 14813, 15994, 16157, 16905, 18314, 19575, 25132, 27445, 30192) }, }, { { AOM_CDF13(7936, 12263, 15558, 16331, 17779, 18148, 18810, 19794, 21046, 26644, 29417, 31507) }, { AOM_CDF13(5376, 15025, 16457, 17074, 18079, 18299, 18648, 19240, 20612, 25687, 29392, 30842) }, { AOM_CDF13(3840, 6037, 17465, 18089, 18869, 18953, 19688, 21223, 21816, 26562, 28195, 30621) }, { AOM_CDF13(8448, 11255, 13307, 15676, 17392, 17603, 18268, 20783, 22646, 27628, 29737, 31628) }, { AOM_CDF13(5760, 9119, 11015, 12269, 16280, 17023, 18282, 19418, 21325, 27309, 30004, 31818) }, { AOM_CDF13(3968, 9094, 10606, 12007, 14218, 18911, 20089, 20924, 23587, 27808, 30253, 31305) }, { AOM_CDF13(6016, 8627, 11201, 12200, 15305, 15671, 18639, 20185, 21627, 26990, 29449, 31723) }, { AOM_CDF13(6272, 8768, 12320, 13296, 14643, 14970, 15760, 20545, 21863, 27473, 29535, 31836) }, { AOM_CDF13(6912, 10905, 12656, 14084, 15705, 16069, 16674, 17779, 21041, 26586, 29539, 31253) }, { AOM_CDF13(5248, 9672, 12113, 12871, 14423, 14710, 15376, 16708, 18092, 25260, 28991, 31585) }, { AOM_CDF13(4736, 10789, 13029, 13750, 15040, 15385, 15840, 16887, 18393, 25230, 29558, 31454) }, { AOM_CDF13(6016, 9916, 12938, 13741, 15030, 15297, 16116, 17333, 18672, 25954, 28498, 31618) }, { AOM_CDF13(4608, 10266, 15450, 16299, 17114, 17288, 17775, 18835, 20227, 25199, 28098, 30018) }, }, { { AOM_CDF13(7296, 9951, 14124, 14806, 16181, 16377, 17485, 19069, 20078, 26051, 27777, 31574) }, { AOM_CDF13(5376, 13823, 15889, 16620, 17709, 17881, 18327, 19140, 20374, 25685, 28160, 30521) }, { AOM_CDF13(3200, 4602, 16404, 17042, 17780, 17829, 18706, 20608, 21115, 25884, 26960, 30804) }, { AOM_CDF13(7040, 9444, 11770, 14321, 15951, 16074, 17033, 20352, 22301, 27567, 29151, 31662) }, { AOM_CDF13(6016, 8316, 10849, 12136, 15860, 16430, 17935, 19659, 21083, 26968, 28839, 31618) }, { AOM_CDF13(3840, 7472, 9436, 11038, 13625, 17596, 18959, 20543, 22879, 27487, 29351, 31186) }, { AOM_CDF13(5376, 7117, 11424, 12381, 14823, 15053, 18656, 20818, 21722, 27042, 28233, 31591) }, { AOM_CDF13(5760, 7281, 11910, 12912, 14229, 14391, 15474, 20113, 21128, 26627, 28077, 31713) }, { AOM_CDF13(6656, 9452, 11526, 13288, 14861, 15062, 15909, 17695, 20429, 26225, 28603, 31340) }, { AOM_CDF13(5376, 7722, 10921, 11813, 13222, 13348, 14211, 15976, 17110, 24634, 27176, 31484) }, { AOM_CDF13(4736, 8226, 11137, 11988, 13518, 13706, 14332, 16016, 17301, 24641, 27704, 31016) }, { AOM_CDF13(5760, 7592, 11880, 12612, 13738, 13813, 14681, 16392, 17306, 24619, 26334, 31818) }, { AOM_CDF13(4096, 8524, 14316, 15392, 16295, 16433, 17197, 18718, 19924, 25123, 26953, 29856) }, }, { { AOM_CDF13(6528, 13383, 17642, 18342, 19224, 20209, 20899, 21944, 23137, 25966, 27429, 28463) }, { AOM_CDF13(4480, 16901, 18876, 19560, 20257, 20912, 21169, 21959, 23036, 25781, 27676, 28569) }, { AOM_CDF13(2688, 5337, 18178, 18829, 19344, 19628, 20267, 22135, 22671, 25817, 26914, 28773) }, { AOM_CDF13(8192, 11378, 14742, 17269, 18230, 19001, 19655, 22949, 24337, 28025, 29503, 30848) }, { AOM_CDF13(5120, 10133, 13144, 14374, 17020, 18920, 20235, 21677, 23142, 27131, 28671, 30284) }, { AOM_CDF13(7424, 15588, 18431, 19723, 21455, 24705, 25461, 26753, 28923, 29475, 29729, 29897) }, { AOM_CDF13(4224, 8689, 13024, 13658, 16637, 17307, 20836, 22665, 23673, 27015, 28310, 30203) }, { AOM_CDF13(5120, 7896, 13618, 14900, 15708, 16153, 16997, 23625, 24466, 27719, 28892, 30500) }, { AOM_CDF13(5760, 11305, 13669, 15462, 16564, 17683, 18252, 20073, 22917, 27005, 28923, 30236) }, { AOM_CDF13(4224, 9510, 13787, 14587, 15753, 15925, 16513, 18193, 19490, 24944, 27482, 29757) }, { AOM_CDF13(3840, 10052, 14106, 14887, 15827, 15996, 16522, 17939, 19204, 24508, 27661, 29491) }, { AOM_CDF13(4736, 9676, 14492, 15163, 16179, 16390, 17133, 18905, 19864, 25185, 27191, 30030) }, { AOM_CDF13(3584, 9370, 14746, 15820, 16708, 17224, 17718, 19329, 20405, 23541, 25258, 26726) }, }, #endif }; #endif // CONFIG_KF_CTX #if CONFIG_LPF_SB static const aom_cdf_prob default_lpf_reuse_cdf[LPF_REUSE_CONTEXT][CDF_SIZE( 2)] = { { AOM_CDF2(4259) }, { AOM_CDF2(728) } }; static const aom_cdf_prob default_lpf_delta_cdf[LPF_DELTA_CONTEXT][CDF_SIZE( DELTA_RANGE)] = { { AOM_CDF8(100, 688, 2128, 4642, 7895, 11851, 17050) }, { AOM_CDF8(100, 1291, 4358, 7425, 10654, 13559, 18563) }, { AOM_CDF8(100, 1086, 4982, 9134, 13031, 16991, 23123) }, { AOM_CDF8(100, 1068, 3395, 7973, 12512, 17967, 22812) }, { AOM_CDF8(100, 442, 2809, 7178, 12535, 17450, 22417) }, { AOM_CDF8(100, 561, 2246, 6050, 11103, 16592, 21353) }, { AOM_CDF8(100, 345, 2399, 5559, 9682, 13992, 20126) }, { AOM_CDF8(100, 337, 1540, 3573, 6438, 10196, 16320) } }; static const aom_cdf_prob default_lpf_sign_cdf[LPF_REUSE_CONTEXT][LPF_SIGN_CONTEXT][CDF_SIZE(2)] = { { { AOM_CDF2(100) }, { AOM_CDF2(11932) } }, { { AOM_CDF2(14785) }, { AOM_CDF2(8145) } } }; #endif // CONFIG_LPF_SB #if CONFIG_EXT_INTRA_MOD static const aom_cdf_prob default_angle_delta_cdf[DIRECTIONAL_MODES][CDF_SIZE( 2 * MAX_ANGLE_DELTA + 1)] = { { AOM_CDF7(2340, 5327, 7611, 23102, 27196, 30546) }, { AOM_CDF7(3267, 8071, 11970, 21822, 25619, 30034) }, { AOM_CDF7(3417, 9937, 12286, 16420, 19941, 30669) }, { AOM_CDF7(5167, 11735, 15254, 16662, 20697, 28276) }, { AOM_CDF7(1728, 10973, 14103, 18547, 22684, 27007) }, { AOM_CDF7(2764, 10700, 12517, 16957, 20590, 30390) }, { AOM_CDF7(2407, 12749, 16527, 20823, 22781, 29642) }, { AOM_CDF7(3068, 10132, 12079, 16542, 19943, 30448) } }; #endif // CONFIG_EXT_INTRA_MOD static void init_mode_probs(FRAME_CONTEXT *fc) { av1_copy(fc->comp_inter_prob, default_comp_inter_p); av1_copy(fc->palette_y_size_cdf, default_palette_y_size_cdf); av1_copy(fc->palette_uv_size_cdf, default_palette_uv_size_cdf); av1_copy(fc->palette_y_color_index_cdf, default_palette_y_color_index_cdf); av1_copy(fc->palette_uv_color_index_cdf, default_palette_uv_color_index_cdf); av1_copy(fc->kf_y_cdf, default_kf_y_mode_cdf); #if CONFIG_EXT_INTRA_MOD av1_copy(fc->angle_delta_cdf, default_angle_delta_cdf); #endif // CONFIG_EXT_INTRA_MOD #if CONFIG_MRC_TX av1_copy(fc->mrc_mask_inter_cdf, default_mrc_mask_inter_cdf); av1_copy(fc->mrc_mask_intra_cdf, default_mrc_mask_intra_cdf); #endif // CONFIG_MRC_TX av1_copy(fc->comp_inter_cdf, default_comp_inter_cdf); #if CONFIG_EXT_COMP_REFS av1_copy(fc->comp_ref_type_prob, default_comp_ref_type_p); av1_copy(fc->uni_comp_ref_prob, default_uni_comp_ref_p); av1_copy(fc->comp_ref_type_cdf, default_comp_ref_type_cdf); av1_copy(fc->uni_comp_ref_cdf, default_uni_comp_ref_cdf); #endif // CONFIG_EXT_COMP_REFS av1_copy(fc->comp_ref_prob, default_comp_ref_p); av1_copy(fc->palette_y_mode_cdf, default_palette_y_mode_cdf); av1_copy(fc->palette_uv_mode_cdf, default_palette_uv_mode_cdf); av1_copy(fc->comp_ref_cdf, default_comp_ref_cdf); #if CONFIG_LV_MAP av1_copy(fc->txb_skip, default_txb_skip); av1_copy(fc->nz_map, default_nz_map); av1_copy(fc->eob_flag, default_eob_flag); #if !CONFIG_CTX1D av1_copy(fc->eob_extra, default_eob_extra); #endif av1_copy(fc->dc_sign, default_dc_sign); av1_copy(fc->coeff_base, default_coeff_base); av1_copy(fc->coeff_lps, default_coeff_lps); #if !CONFIG_LV_MAP_MULTI av1_copy(fc->coeff_br, default_coeff_br); #endif #if CONFIG_CTX1D av1_copy(fc->eob_mode, default_eob_mode); av1_copy(fc->empty_line, default_empty_line); av1_copy(fc->hv_eob, default_hv_eob); #endif // CONFIG_CTX1D av1_init_txb_probs(fc); #endif av1_copy(fc->comp_bwdref_prob, default_comp_bwdref_p); av1_copy(fc->comp_bwdref_cdf, default_comp_bwdref_cdf); av1_copy(fc->single_ref_prob, default_single_ref_p); av1_copy(fc->single_ref_cdf, default_single_ref_cdf); av1_copy(fc->txfm_partition_cdf, default_txfm_partition_cdf); #if CONFIG_JNT_COMP av1_copy(fc->compound_index_cdf, default_compound_idx_cdfs); av1_copy(fc->compound_index_probs, default_compound_idx_probs); #endif // CONFIG_JNT_COMP av1_copy(fc->newmv_cdf, default_newmv_cdf); av1_copy(fc->zeromv_cdf, default_zeromv_cdf); av1_copy(fc->refmv_cdf, default_refmv_cdf); av1_copy(fc->drl_cdf, default_drl_cdf); av1_copy(fc->motion_mode_prob, default_motion_mode_prob); av1_copy(fc->motion_mode_cdf, default_motion_mode_cdf); av1_copy(fc->obmc_cdf, default_obmc_cdf); av1_copy(fc->inter_compound_mode_cdf, default_inter_compound_mode_cdf); av1_copy(fc->compound_type_cdf, default_compound_type_cdf); av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob); av1_copy(fc->interintra_cdf, default_interintra_cdf); av1_copy(fc->wedge_interintra_cdf, default_wedge_interintra_cdf); av1_copy(fc->interintra_mode_cdf, default_interintra_mode_cdf); av1_copy(fc->seg.tree_probs, default_segment_tree_probs); av1_copy(fc->seg.pred_probs, default_segment_pred_probs); av1_copy(fc->seg.pred_cdf, default_segment_pred_cdf); #if CONFIG_FILTER_INTRA av1_copy(fc->filter_intra_cdfs, default_filter_intra_cdfs); av1_copy(fc->filter_intra_mode_cdf, default_filter_intra_mode_cdf); #endif // CONFIG_FILTER_INTRA #if CONFIG_LOOP_RESTORATION av1_copy(fc->switchable_restore_cdf, default_switchable_restore_cdf); av1_copy(fc->wiener_restore_cdf, default_wiener_restore_cdf); av1_copy(fc->sgrproj_restore_cdf, default_sgrproj_restore_cdf); #endif // CONFIG_LOOP_RESTORATION av1_copy(fc->y_mode_cdf, default_if_y_mode_cdf); av1_copy(fc->uv_mode_cdf, default_uv_mode_cdf); av1_copy(fc->switchable_interp_cdf, default_switchable_interp_cdf); av1_copy(fc->partition_cdf, default_partition_cdf); av1_copy(fc->intra_ext_tx_cdf, default_intra_ext_tx_cdf); av1_copy(fc->inter_ext_tx_cdf, default_inter_ext_tx_cdf); #if CONFIG_EXT_SKIP av1_copy(fc->skip_mode_cdfs, default_skip_mode_cdfs); #endif // CONFIG_EXT_SKIP av1_copy(fc->skip_cdfs, default_skip_cdfs); av1_copy(fc->intra_inter_cdf, default_intra_inter_cdf); av1_copy(fc->seg.tree_cdf, default_seg_tree_cdf); #if CONFIG_Q_SEGMENTATION for (int i = 0; i < Q_SEGMENT_CDF_COUNT; i++) av1_copy(fc->seg.q_seg_cdf[i], default_q_seg_tree_cdf[i]); #endif av1_copy(fc->tx_size_cdf, default_tx_size_cdf); av1_copy(fc->delta_q_cdf, default_delta_q_cdf); #if CONFIG_EXT_DELTA_Q av1_copy(fc->delta_lf_cdf, default_delta_lf_cdf); #if CONFIG_LOOPFILTER_LEVEL av1_copy(fc->delta_lf_multi_cdf, default_delta_lf_multi_cdf); #endif // CONFIG_LOOPFILTER_LEVEL #endif #if CONFIG_CFL av1_copy(fc->cfl_sign_cdf, default_cfl_sign_cdf); av1_copy(fc->cfl_alpha_cdf, default_cfl_alpha_cdf); #endif #if CONFIG_INTRABC av1_copy(fc->intrabc_cdf, default_intrabc_cdf); #endif #if CONFIG_LPF_SB av1_copy(fc->lpf_reuse_cdf, default_lpf_reuse_cdf); av1_copy(fc->lpf_delta_cdf, default_lpf_delta_cdf); av1_copy(fc->lpf_sign_cdf, default_lpf_sign_cdf); #endif // CONFIG_LPF_SB } void av1_adapt_inter_frame_probs(AV1_COMMON *cm) { int i, j; FRAME_CONTEXT *fc = cm->fc; const FRAME_CONTEXT *pre_fc = cm->pre_fc; const FRAME_COUNTS *counts = &cm->counts; for (i = 0; i < COMP_INTER_CONTEXTS; i++) fc->comp_inter_prob[i] = av1_mode_mv_merge_probs(pre_fc->comp_inter_prob[i], counts->comp_inter[i]); #if CONFIG_EXT_COMP_REFS for (i = 0; i < COMP_REF_TYPE_CONTEXTS; i++) fc->comp_ref_type_prob[i] = av1_mode_mv_merge_probs( pre_fc->comp_ref_type_prob[i], counts->comp_ref_type[i]); for (i = 0; i < UNI_COMP_REF_CONTEXTS; i++) for (j = 0; j < (UNIDIR_COMP_REFS - 1); j++) fc->uni_comp_ref_prob[i][j] = av1_mode_mv_merge_probs( pre_fc->uni_comp_ref_prob[i][j], counts->uni_comp_ref[i][j]); #endif // CONFIG_EXT_COMP_REFS for (i = 0; i < REF_CONTEXTS; i++) for (j = 0; j < (FWD_REFS - 1); j++) fc->comp_ref_prob[i][j] = mode_mv_merge_probs(pre_fc->comp_ref_prob[i][j], counts->comp_ref[i][j]); for (i = 0; i < REF_CONTEXTS; i++) for (j = 0; j < (BWD_REFS - 1); j++) fc->comp_bwdref_prob[i][j] = mode_mv_merge_probs( pre_fc->comp_bwdref_prob[i][j], counts->comp_bwdref[i][j]); for (i = 0; i < REF_CONTEXTS; i++) for (j = 0; j < (SINGLE_REFS - 1); j++) fc->single_ref_prob[i][j] = av1_mode_mv_merge_probs( pre_fc->single_ref_prob[i][j], counts->single_ref[i][j]); for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; ++i) aom_tree_merge_probs(av1_motion_mode_tree, pre_fc->motion_mode_prob[i], counts->motion_mode[i], fc->motion_mode_prob[i]); if (cm->allow_interintra_compound) { for (i = 0; i < BLOCK_SIZES_ALL; ++i) { if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i)) fc->wedge_interintra_prob[i] = av1_mode_mv_merge_probs( pre_fc->wedge_interintra_prob[i], counts->wedge_interintra[i]); } } #if CONFIG_JNT_COMP for (i = 0; i < COMP_INDEX_CONTEXTS; ++i) fc->compound_index_probs[i] = av1_mode_mv_merge_probs( pre_fc->compound_index_probs[i], counts->compound_index[i]); #endif // CONFIG_JNT_COMP } void av1_adapt_intra_frame_probs(AV1_COMMON *cm) { int i; FRAME_CONTEXT *fc = cm->fc; const FRAME_CONTEXT *pre_fc = cm->pre_fc; const FRAME_COUNTS *counts = &cm->counts; if (cm->seg.temporal_update) { for (i = 0; i < PREDICTION_PROBS; i++) fc->seg.pred_probs[i] = av1_mode_mv_merge_probs(pre_fc->seg.pred_probs[i], counts->seg.pred[i]); aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs, counts->seg.tree_mispred, fc->seg.tree_probs); } else { aom_tree_merge_probs(av1_segment_tree, pre_fc->seg.tree_probs, counts->seg.tree_total, fc->seg.tree_probs); } } static void set_default_lf_deltas(struct loopfilter *lf) { lf->mode_ref_delta_enabled = 1; lf->mode_ref_delta_update = 1; lf->ref_deltas[INTRA_FRAME] = 1; lf->ref_deltas[LAST_FRAME] = 0; lf->ref_deltas[LAST2_FRAME] = lf->ref_deltas[LAST_FRAME]; lf->ref_deltas[LAST3_FRAME] = lf->ref_deltas[LAST_FRAME]; lf->ref_deltas[BWDREF_FRAME] = lf->ref_deltas[LAST_FRAME]; lf->ref_deltas[GOLDEN_FRAME] = -1; lf->ref_deltas[ALTREF2_FRAME] = -1; lf->ref_deltas[ALTREF_FRAME] = -1; lf->mode_deltas[0] = 0; lf->mode_deltas[1] = 0; av1_copy(lf->last_ref_deltas, lf->ref_deltas); av1_copy(lf->last_mode_deltas, lf->mode_deltas); } void av1_setup_frame_contexts(AV1_COMMON *cm) { int i; #if CONFIG_NO_FRAME_CONTEXT_SIGNALING if (cm->frame_type == KEY_FRAME) { // Reset all frame contexts, as all reference frames will be lost. for (i = 0; i < FRAME_CONTEXTS; ++i) cm->frame_contexts[i] = *cm->fc; } #else if (cm->frame_type == KEY_FRAME || cm->error_resilient_mode || cm->reset_frame_context == RESET_FRAME_CONTEXT_ALL) { // Reset all frame contexts. for (i = 0; i < FRAME_CONTEXTS; ++i) cm->frame_contexts[i] = *cm->fc; } else if (cm->reset_frame_context == RESET_FRAME_CONTEXT_CURRENT) { #if CONFIG_NO_FRAME_CONTEXT_SIGNALING // Reset the frame context of the first specified ref frame. if (cm->frame_refs[0].idx >= 0) { cm->frame_contexts[cm->frame_refs[0].idx] = *cm->fc; } #else // Reset only the frame context specified in the frame header. cm->frame_contexts[cm->frame_context_idx] = *cm->fc; #endif // CONFIG_NO_FRAME_CONTEXT_SIGNALING } #endif // CONFIG_NO_FRAME_CONTEXT_SIGNALING } void av1_setup_past_independence(AV1_COMMON *cm) { // Reset the segment feature data to the default stats: // Features disabled, 0, with delta coding (Default state). struct loopfilter *const lf = &cm->lf; av1_clearall_segfeatures(&cm->seg); if (cm->last_frame_seg_map && !cm->frame_parallel_decode) memset(cm->last_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols)); if (cm->current_frame_seg_map) memset(cm->current_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols)); // Reset the mode ref deltas for loop filter av1_zero(lf->last_ref_deltas); av1_zero(lf->last_mode_deltas); set_default_lf_deltas(lf); // To force update of the sharpness lf->last_sharpness_level = -1; av1_default_coef_probs(cm); init_mode_probs(cm->fc); av1_init_mv_probs(cm); #if CONFIG_LV_MAP av1_init_lv_map(cm); #endif #if CONFIG_ADAPT_SCAN av1_init_scan_order(cm); #endif av1_convolve_init(cm); cm->fc->initialized = 1; av1_setup_frame_contexts(cm); // prev_mip will only be allocated in encoder. if (frame_is_intra_only(cm) && cm->prev_mip && !cm->frame_parallel_decode) memset(cm->prev_mip, 0, cm->mi_stride * (cm->mi_rows + 1) * sizeof(*cm->prev_mip)); #if !CONFIG_NO_FRAME_CONTEXT_SIGNALING cm->frame_context_idx = 0; #endif // !CONFIG_NO_FRAME_CONTEXT_SIGNALING }