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