| /* |
| * Copyright (c) 2021, Alliance for Open Media. All rights reserved |
| * |
| * This source code is subject to the terms of the BSD 3-Clause Clear License |
| * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear |
| * License was not distributed with this source code in the LICENSE file, you |
| * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/. 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 |
| * aomedia.org/license/patent-license/. |
| */ |
| |
| #include "aom_mem/aom_mem.h" |
| |
| #include "av1/common/av1_common_int.h" |
| #include "av1/common/enums.h" |
| #include "av1/common/reconinter.h" |
| #include "av1/common/scan.h" |
| #include "av1/common/seg_common.h" |
| #include "av1/common/txb_common.h" |
| #include "av1/encoder/mcomp.h" |
| |
| #if !CONFIG_AIMC |
| static const aom_cdf_prob |
| default_kf_y_mode_cdf[KF_MODE_CONTEXTS][KF_MODE_CONTEXTS][CDF_SIZE( |
| INTRA_MODES)] = { |
| { { AOM_CDF13(15588, 17027, 19338, 20218, 20682, 21110, 21825, 23244, |
| 24189, 28165, 29093, 30466) }, |
| { AOM_CDF13(12016, 18066, 19516, 20303, 20719, 21444, 21888, 23032, |
| 24434, 28658, 30172, 31409) }, |
| { AOM_CDF13(10052, 10771, 22296, 22788, 23055, 23239, 24133, 25620, |
| 26160, 29336, 29929, 31567) }, |
| { AOM_CDF13(14091, 15406, 16442, 18808, 19136, 19546, 19998, 22096, |
| 24746, 29585, 30958, 32462) }, |
| { AOM_CDF13(12122, 13265, 15603, 16501, 18609, 20033, 22391, 25583, |
| 26437, 30261, 31073, 32475) } }, |
| { { AOM_CDF13(10023, 19585, 20848, 21440, 21832, 22760, 23089, 24023, |
| 25381, 29014, 30482, 31436) }, |
| { AOM_CDF13(5983, 24099, 24560, 24886, 25066, 25795, 25913, 26423, |
| 27610, 29905, 31276, 31794) }, |
| { AOM_CDF13(7444, 12781, 20177, 20728, 21077, 21607, 22170, 23405, |
| 24469, 27915, 29090, 30492) }, |
| { AOM_CDF13(8537, 14689, 15432, 17087, 17408, 18172, 18408, 19825, |
| 24649, 29153, 31096, 32210) }, |
| { AOM_CDF13(7543, 14231, 15496, 16195, 17905, 20717, 21984, 24516, |
| 26001, 29675, 30981, 31994) } }, |
| { { AOM_CDF13(12613, 13591, 21383, 22004, 22312, 22577, 23401, 25055, |
| 25729, 29538, 30305, 32077) }, |
| { AOM_CDF13(9687, 13470, 18506, 19230, 19604, 20147, 20695, 22062, |
| 23219, 27743, 29211, 30907) }, |
| { AOM_CDF13(6183, 6505, 26024, 26252, 26366, 26434, 27082, 28354, 28555, |
| 30467, 30794, 32086) }, |
| { AOM_CDF13(10718, 11734, 14954, 17224, 17565, 17924, 18561, 21523, |
| 23878, 28975, 30287, 32252) }, |
| { AOM_CDF13(9194, 9858, 16501, 17263, 18424, 19171, 21563, 25961, 26561, |
| 30072, 30737, 32463) } }, |
| { { AOM_CDF13(12602, 14399, 15488, 18381, 18778, 19315, 19724, 21419, |
| 25060, 29696, 30917, 32409) }, |
| { AOM_CDF13(8203, 13821, 14524, 17105, 17439, 18131, 18404, 19468, |
| 25225, 29485, 31158, 32342) }, |
| { AOM_CDF13(8451, 9731, 15004, 17643, 18012, 18425, 19070, 21538, 24605, |
| 29118, 30078, 32018) }, |
| { AOM_CDF13(7714, 9048, 9516, 16667, 16817, 16994, 17153, 18767, 26743, |
| 30389, 31536, 32528) }, |
| { AOM_CDF13(8843, 10280, 11496, 15317, 16652, 17943, 19108, 22718, |
| 25769, 29953, 30983, 32485) } }, |
| { { AOM_CDF13(12578, 13671, 15979, 16834, 19075, 20913, 22989, 25449, |
| 26219, 30214, 31150, 32477) }, |
| { AOM_CDF13(9563, 13626, 15080, 15892, 17756, 20863, 22207, 24236, |
| 25380, 29653, 31143, 32277) }, |
| { AOM_CDF13(8356, 8901, 17616, 18256, 19350, 20106, 22598, 25947, 26466, |
| 29900, 30523, 32261) }, |
| { AOM_CDF13(10835, 11815, 13124, 16042, 17018, 18039, 18947, 22753, |
| 24615, 29489, 30883, 32482) }, |
| { AOM_CDF13(7618, 8288, 9859, 10509, 15386, 18657, 22903, 28776, 29180, |
| 31355, 31802, 32593) } } |
| }; |
| #endif |
| |
| #if CONFIG_IMPROVED_INTRA_DIR_PRED |
| #if CONFIG_ENTROPY_PARA |
| static const aom_cdf_prob |
| default_mrl_index_cdf[MRL_INDEX_CONTEXTS][CDF_SIZE(MRL_LINE_NUMBER)] = { |
| { AOM_CDF4(28081, 30613, 31659), 78 }, |
| { AOM_CDF4(22175, 28045, 30623), 75 }, |
| { AOM_CDF4(17175, 25921, 29682), 1 }, |
| }; |
| #else |
| static const aom_cdf_prob |
| default_mrl_index_cdf[MRL_INDEX_CONTEXTS][CDF_SIZE(MRL_LINE_NUMBER)] = { |
| { AOM_CDF4(27852, 29491, 31129) }, |
| { AOM_CDF4(23920, 27852, 30474) }, |
| { AOM_CDF4(20316, 26542, 29818) }, |
| }; |
| #endif // CONFIG_ENTROPY_PARA |
| #else |
| static const aom_cdf_prob default_mrl_index_cdf[CDF_SIZE(MRL_LINE_NUMBER)] = { |
| AOM_CDF4(24756, 29049, 31092) |
| }; |
| #endif // CONFIG_IMPROVED_INTRA_DIR_PRED |
| |
| #if CONFIG_LOSSLESS_DPCM |
| static const aom_cdf_prob default_dpcm_cdf[CDF_SIZE(2)] = { AOM_CDF2(16384) }; |
| static const aom_cdf_prob default_dpcm_vert_horz_cdf[CDF_SIZE(2)] = { AOM_CDF2( |
| 16384) }; |
| static const aom_cdf_prob default_dpcm_uv_cdf[CDF_SIZE(2)] = { AOM_CDF2( |
| 16384) }; |
| static const aom_cdf_prob default_dpcm_uv_vert_horz_cdf[CDF_SIZE(2)] = { |
| AOM_CDF2(16384) |
| }; |
| #endif // CONFIG_LOSSLESS_DPCM |
| |
| #if CONFIG_NEW_CONTEXT_MODELING |
| #if CONFIG_ENTROPY_PARA |
| static const aom_cdf_prob default_fsc_mode_cdf[FSC_MODE_CONTEXTS] |
| [FSC_BSIZE_CONTEXTS] |
| [CDF_SIZE(FSC_MODES)] = { |
| { |
| { AOM_CDF2(29820), 3 }, |
| { AOM_CDF2(31107), 78 }, |
| { AOM_CDF2(32018), 118 }, |
| { AOM_CDF2(32202), 118 }, |
| { AOM_CDF2(32482), 118 }, |
| { AOM_CDF2(32539), 123 }, |
| }, |
| { |
| { AOM_CDF2(27906), 78 }, |
| { AOM_CDF2(27439), 0 }, |
| { AOM_CDF2(29059), 0 }, |
| { AOM_CDF2(28167), 76 }, |
| { AOM_CDF2(27696), 7 }, |
| { AOM_CDF2(22842), 62 }, |
| }, |
| { |
| { AOM_CDF2(26882), 75 }, |
| { AOM_CDF2(22539), 75 }, |
| { AOM_CDF2(23495), 37 }, |
| { AOM_CDF2(18016), 32 }, |
| { AOM_CDF2(11559), 25 }, |
| { AOM_CDF2(4688), 102 }, |
| }, |
| { |
| { AOM_CDF2(29627), 119 }, |
| { AOM_CDF2(29794), 93 }, |
| { AOM_CDF2(32190), 118 }, |
| { AOM_CDF2(32289), 118 }, |
| { AOM_CDF2(32618), 123 }, |
| { AOM_CDF2(32583), 123 }, |
| }, |
| }; |
| #else |
| static const aom_cdf_prob |
| default_fsc_mode_cdf[FSC_MODE_CONTEXTS][FSC_BSIZE_CONTEXTS] |
| [CDF_SIZE(FSC_MODES)] = { { { AOM_CDF2(29360) }, |
| { AOM_CDF2(31501) }, |
| { AOM_CDF2(32278) }, |
| { AOM_CDF2(32371) }, |
| { AOM_CDF2(32560) }, |
| { AOM_CDF2(32531) } }, |
| { { AOM_CDF2(24973) }, |
| { AOM_CDF2(24385) }, |
| { AOM_CDF2(24145) }, |
| { AOM_CDF2(26258) }, |
| { AOM_CDF2(21038) }, |
| { AOM_CDF2(15313) } }, |
| { { AOM_CDF2(20868) }, |
| { AOM_CDF2(16117) }, |
| { AOM_CDF2(12254) }, |
| { AOM_CDF2(14424) }, |
| { AOM_CDF2(5350) }, |
| { AOM_CDF2(2348) } }, |
| { { AOM_CDF2(31265) }, |
| { AOM_CDF2(31284) }, |
| { AOM_CDF2(32247) }, |
| { AOM_CDF2(32253) }, |
| { AOM_CDF2(32560) }, |
| { AOM_CDF2(32533) } } }; |
| #endif // CONFIG_ENTROPY_PARA |
| #else |
| static const aom_cdf_prob |
| default_fsc_mode_cdf[FSC_MODE_CONTEXTS][FSC_BSIZE_CONTEXTS] |
| [CDF_SIZE(FSC_MODES)] = { { { AOM_CDF2(29656) }, |
| { AOM_CDF2(31950) }, |
| { AOM_CDF2(32056) }, |
| { AOM_CDF2(32483) }, |
| { AOM_CDF2(32320) } }, |
| { { AOM_CDF2(24381) }, |
| { AOM_CDF2(28062) }, |
| { AOM_CDF2(21473) }, |
| { AOM_CDF2(28418) }, |
| { AOM_CDF2(14016) } }, |
| { { AOM_CDF2(19188) }, |
| { AOM_CDF2(22942) }, |
| { AOM_CDF2(8388) }, |
| { AOM_CDF2(20964) }, |
| { AOM_CDF2(1235) } }, |
| { { AOM_CDF2(29238) }, |
| { AOM_CDF2(30676) }, |
| { AOM_CDF2(31947) }, |
| { AOM_CDF2(32203) }, |
| { AOM_CDF2(32283) } } }; |
| #endif // CONFIG_NEW_CONTEXT_MODELING |
| #if CONFIG_ENABLE_MHCCP |
| #if CONFIG_IMPROVED_CFL |
| #if CONFIG_ENTROPY_PARA |
| static const aom_cdf_prob default_cfl_index_cdf[CDF_SIZE( |
| CFL_TYPE_COUNT - 1)] = { AOM_CDF3(4124, 16615), 5 }; |
| #else |
| static const aom_cdf_prob default_cfl_index_cdf[CDF_SIZE(CFL_TYPE_COUNT)] = { |
| AOM_CDF4(18000, 24000, 29000) |
| }; |
| #endif // CONFIG_ENTROPY_PARA |
| #else |
| static const aom_cdf_prob default_cfl_index_cdf[CDF_SIZE( |
| CFL_TYPE_COUNT - 1)] = { AOM_CDF3(16384, 23000) }; |
| #endif |
| #else |
| static const aom_cdf_prob default_cfl_index_cdf[CDF_SIZE(CFL_TYPE_COUNT)] = { |
| AOM_CDF2(18000), 0 |
| }; |
| #endif // CONFIG_ENABLE_MHCCP |
| #if CONFIG_ENABLE_MHCCP |
| static const aom_cdf_prob default_filter_dir_cdf[MHCCP_CONTEXT_GROUP_SIZE] |
| [CDF_SIZE(MHCCP_MODE_NUM)] = { |
| { AOM_CDF2(13909), 1 }, |
| { AOM_CDF2(8925), 76 }, |
| { AOM_CDF2(4205), 0 }, |
| { AOM_CDF2(5225), 6 }, |
| { AOM_CDF2(6694), 31 }, |
| { AOM_CDF2(9557), 32 }, |
| { AOM_CDF2(16384), 0 }, |
| }; |
| #endif // CONFIG_ENABLE_MHCCP |
| #if CONFIG_AIMC |
| #if CONFIG_ENTROPY_PARA |
| static const aom_cdf_prob default_y_mode_set_cdf[CDF_SIZE(INTRA_MODE_SETS)] = { |
| #if CONFIG_UV_CFL |
| AOM_CDF4(28618, 30909, 31555), 93 |
| #else |
| AOM_CDF4(18000, 24000, 29000), 0 |
| #endif // CONFIG_UV_CFL |
| }; |
| |
| static const aom_cdf_prob |
| default_y_first_mode_cdf[Y_MODE_CONTEXTS][CDF_SIZE(FIRST_MODE_COUNT)] = { |
| { AOM_CDF13(14967, 20223, 22467, 24775, 26294, 27253, 28348, 30404, 30994, |
| 31347, 31791, 32090), |
| 75 }, |
| { AOM_CDF13(10399, 14457, 16589, 18447, 19804, 24728, 26455, 28680, 29718, |
| 30583, 31310, 31936), |
| 75 }, |
| { AOM_CDF13(5342, 7123, 8352, 9283, 9845, 17570, 23158, 26522, 27963, |
| 29340, 31013, 31870), |
| 75 }, |
| }; |
| |
| static const aom_cdf_prob |
| default_y_second_mode_cdf[Y_MODE_CONTEXTS][CDF_SIZE(SECOND_MODE_COUNT)] = { |
| { AOM_CDF16(2614, 4872, 7327, 9645, 11546, 13349, 15504, 17424, 19397, |
| 21573, 23212, 25033, 26890, 28681, 30112), |
| 1 }, |
| { AOM_CDF16(2837, 4903, 6949, 8850, 11141, 13110, 14637, 16551, 18362, |
| 20178, 22150, 24988, 27556, 29191, 30451), |
| 75 }, |
| { AOM_CDF16(2444, 4419, 5731, 6909, 9743, 12013, 14058, 15701, 17458, |
| 19690, 21835, 25356, 27731, 29157, 30362), |
| 76 }, |
| }; |
| |
| #if CONFIG_UV_CFL |
| static const aom_cdf_prob |
| default_uv_mode_cdf[UV_MODE_CONTEXTS][CDF_SIZE(UV_INTRA_MODES - 1)] = { |
| { AOM_CDF13(13848, 18930, 20641, 22133, 23986, 25450, 28075, 28950, 29740, |
| 30647, 31182, 31880), |
| 0 }, |
| { AOM_CDF13(19268, 22648, 25651, 26449, 27288, 28840, 29451, 30120, 30622, |
| 31606, 31844, 32144), |
| 0 }, |
| }; |
| static const aom_cdf_prob default_cfl_cdf[CFL_CONTEXTS][CDF_SIZE(2)] = { |
| { AOM_CDF2(18484), 31 }, |
| { AOM_CDF2(8591), 31 }, |
| { AOM_CDF2(2151), 0 }, |
| }; |
| #else |
| static const aom_cdf_prob |
| default_uv_mode_cdf[CFL_ALLOWED_TYPES][UV_MODE_CONTEXTS][CDF_SIZE( |
| UV_INTRA_MODES)] = { |
| { |
| { AOM_CDF13(22631, 24152, 25378, 25661, 25986, 26520, 27055, 27923, |
| 28244, 30059, 30941, 31961), |
| 6 }, |
| { AOM_CDF13(9513, 15881, 22973, 23546, 24118, 25664, 26739, 27824, |
| 28359, 29505, 29800, 31796), |
| 31 }, |
| }, |
| { |
| { AOM_CDF14(12000, 14000, 16000, 18000, 19000, 20000, 21000, 21300, |
| 21800, 22300, 22800, 23300, 23800), |
| 30 }, |
| { AOM_CDF14(11000, 13000, 15000, 17000, 18000, 19000, 20000, 20300, |
| 20800, 21300, 21800, 22300, 22800), |
| 30 }, |
| }, |
| }; |
| #endif // CONFIG_UV_CFL |
| #else |
| static const aom_cdf_prob default_y_mode_set_cdf[CDF_SIZE(INTRA_MODE_SETS)] = { |
| #if CONFIG_UV_CFL |
| AOM_CDF4(28000, 30600, 31400) |
| #else |
| AOM_CDF4(18000, 24000, 29000) |
| #endif // CONFIG_UV_CFL |
| }; |
| static const aom_cdf_prob |
| default_y_first_mode_cdf[Y_MODE_CONTEXTS][CDF_SIZE(FIRST_MODE_COUNT)] = { |
| { AOM_CDF13(13000, 18000, 20000, 22000, 24000, 25000, 26000, 27000, 28000, |
| 29000, 30000, 31000) }, |
| { AOM_CDF13(10000, 15000, 17000, 19000, 20000, 25000, 26000, 27000, 28000, |
| 29000, 30000, 31000) }, |
| { AOM_CDF13(7000, 12000, 14000, 16000, 17000, 22000, 26000, 27000, 28000, |
| 29000, 30000, 31000) } |
| }; |
| static const aom_cdf_prob |
| default_y_second_mode_cdf[Y_MODE_CONTEXTS][CDF_SIZE(SECOND_MODE_COUNT)] = { |
| { AOM_CDF16(2048, 4096, 6144, 8192, 10240, 12288, 14336, 16384, 18432, |
| 20480, 22528, 24576, 26624, 28672, 30720) }, |
| { AOM_CDF16(2048, 4096, 6144, 8192, 10240, 12288, 14336, 16384, 18432, |
| 20480, 22528, 24576, 26624, 28672, 30720) }, |
| { AOM_CDF16(2048, 4096, 6144, 8192, 10240, 12288, 14336, 16384, 18432, |
| 20480, 22528, 24576, 26624, 28672, 30720) } |
| }; |
| #if CONFIG_UV_CFL |
| static const aom_cdf_prob |
| default_uv_mode_cdf[UV_MODE_CONTEXTS][CDF_SIZE(UV_INTRA_MODES - 1)] = { |
| { AOM_CDF13(20545, 22597, 24087, 24753, 24995, 25621, 26273, 27089, 28510, |
| 29888, 31389, 32041) }, |
| { AOM_CDF13(5917, 11538, 16087, 17200, 18154, 19802, 21631, 23074, 24491, |
| 29013, 29694, 30641) } |
| }; |
| static const aom_cdf_prob default_cfl_cdf[CFL_CONTEXTS][CDF_SIZE(2)] = { |
| { AOM_CDF2(16384) }, |
| { AOM_CDF2(12384) }, |
| { AOM_CDF2(6384) }, |
| }; |
| #else |
| static const aom_cdf_prob |
| default_uv_mode_cdf[CFL_ALLOWED_TYPES][UV_MODE_CONTEXTS][CDF_SIZE( |
| UV_INTRA_MODES)] = { |
| { { AOM_CDF13(22631, 24152, 25378, 25661, 25986, 26520, 27055, 27923, |
| 28244, 30059, 30941, 31961) }, |
| { AOM_CDF13(9513, 15881, 22973, 23546, 24118, 25664, 26739, 27824, |
| 28359, 29505, 29800, 31796) } }, |
| { { AOM_CDF14(12000, 14000, 16000, 18000, 19000, 20000, 21000, 21300, |
| 21800, 22300, 22800, 23300, 23800) }, |
| { AOM_CDF14(11000, 13000, 15000, 17000, 18000, 19000, 20000, 20300, |
| 20800, 21300, 21800, 22300, 22800) } } |
| }; |
| #endif // CONFIG_UV_CFL |
| #endif // CONFIG_ENTROPY_PARA |
| #else |
| #if CONFIG_UV_CFL |
| static const aom_cdf_prob default_cfl_cdf[CFL_CONTEXTS][CDF_SIZE(2)] = { |
| { AOM_CDF2(16384), 0 }, |
| { AOM_CDF2(12384), 0 }, |
| { AOM_CDF2(6384), 0 }, |
| }; |
| #endif // CONFIG_UV_CFL |
| static const aom_cdf_prob default_angle_delta_cdf |
| [PARTITION_STRUCTURE_NUM][DIRECTIONAL_MODES] |
| [CDF_SIZE(2 * MAX_ANGLE_DELTA + 1)] = { |
| { { AOM_CDF7(2180, 5032, 7567, 22776, 26989, 30217) }, |
| { AOM_CDF7(2301, 5608, 8801, 23487, 26974, 30330) }, |
| { AOM_CDF7(3780, 11018, 13699, 19354, 23083, 31286) }, |
| { AOM_CDF7(4581, 11226, 15147, 17138, 21834, 28397) }, |
| { AOM_CDF7(1737, 10927, 14509, 19588, 22745, 28823) }, |
| { AOM_CDF7(2664, 10176, 12485, 17650, 21600, 30495) }, |
| { AOM_CDF7(2240, 11096, 15453, 20341, 22561, 28917) }, |
| { AOM_CDF7(3605, 10428, 12459, 17676, 21244, 30655) } }, |
| { { AOM_CDF7(2180, 5032, 7567, 22776, 26989, 30217) }, |
| { AOM_CDF7(2301, 5608, 8801, 23487, 26974, 30330) }, |
| { AOM_CDF7(3780, 11018, 13699, 19354, 23083, 31286) }, |
| { AOM_CDF7(4581, 11226, 15147, 17138, 21834, 28397) }, |
| { AOM_CDF7(1737, 10927, 14509, 19588, 22745, 28823) }, |
| { AOM_CDF7(2664, 10176, 12485, 17650, 21600, 30495) }, |
| { AOM_CDF7(2240, 11096, 15453, 20341, 22561, 28917) }, |
| { AOM_CDF7(3605, 10428, 12459, 17676, 21244, 30655) } } |
| }; |
| |
| static const aom_cdf_prob default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE( |
| INTRA_MODES)] = { { AOM_CDF13(22801, 23489, 24293, 24756, 25601, 26123, |
| 26606, 27418, 27945, 29228, 29685, 30349) }, |
| { AOM_CDF13(18673, 19845, 22631, 23318, 23950, 24649, |
| 25527, 27364, 28152, 29701, 29984, 30852) }, |
| { AOM_CDF13(19770, 20979, 23396, 23939, 24241, 24654, |
| 25136, 27073, 27830, 29360, 29730, 30659) }, |
| { AOM_CDF13(20155, 21301, 22838, 23178, 23261, 23533, |
| 23703, 24804, 25352, 26575, 27016, 28049) } }; |
| |
| static const aom_cdf_prob |
| default_uv_mode_cdf[CFL_ALLOWED_TYPES][INTRA_MODES][CDF_SIZE( |
| UV_INTRA_MODES)] = { |
| { { AOM_CDF13(22631, 24152, 25378, 25661, 25986, 26520, 27055, 27923, |
| 28244, 30059, 30941, 31961) }, |
| { AOM_CDF13(9513, 26881, 26973, 27046, 27118, 27664, 27739, 27824, |
| 28359, 29505, 29800, 31796) }, |
| { AOM_CDF13(9845, 9915, 28663, 28704, 28757, 28780, 29198, 29822, 29854, |
| 30764, 31777, 32029) }, |
| { AOM_CDF13(13639, 13897, 14171, 25331, 25606, 25727, 25953, 27148, |
| 28577, 30612, 31355, 32493) }, |
| { AOM_CDF13(9764, 9835, 9930, 9954, 25386, 27053, 27958, 28148, 28243, |
| 31101, 31744, 32363) }, |
| { AOM_CDF13(11825, 13589, 13677, 13720, 15048, 29213, 29301, 29458, |
| 29711, 31161, 31441, 32550) }, |
| { AOM_CDF13(14175, 14399, 16608, 16821, 17718, 17775, 28551, 30200, |
| 30245, 31837, 32342, 32667) }, |
| { AOM_CDF13(12885, 13038, 14978, 15590, 15673, 15748, 16176, 29128, |
| 29267, 30643, 31961, 32461) }, |
| { AOM_CDF13(12026, 13661, 13874, 15305, 15490, 15726, 15995, 16273, |
| 28443, 30388, 30767, 32416) }, |
| { AOM_CDF13(19052, 19840, 20579, 20916, 21150, 21467, 21885, 22719, |
| 23174, 28861, 30379, 32175) }, |
| { AOM_CDF13(18627, 19649, 20974, 21219, 21492, 21816, 22199, 23119, |
| 23527, 27053, 31397, 32148) }, |
| { AOM_CDF13(17026, 19004, 19997, 20339, 20586, 21103, 21349, 21907, |
| 22482, 25896, 26541, 31819) }, |
| { AOM_CDF13(12124, 13759, 14959, 14992, 15007, 15051, 15078, 15166, |
| 15255, 15753, 16039, 16606) } }, |
| { { AOM_CDF14(10407, 11208, 12900, 13181, 13823, 14175, 14899, 15656, |
| 15986, 20086, 20995, 22455, 24212) }, |
| { AOM_CDF14(4532, 19780, 20057, 20215, 20428, 21071, 21199, 21451, |
| 22099, 24228, 24693, 27032, 29472) }, |
| { AOM_CDF14(5273, 5379, 20177, 20270, 20385, 20439, 20949, 21695, 21774, |
| 23138, 24256, 24703, 26679) }, |
| { AOM_CDF14(6740, 7167, 7662, 14152, 14536, 14785, 15034, 16741, 18371, |
| 21520, 22206, 23389, 24182) }, |
| { AOM_CDF14(4987, 5368, 5928, 6068, 19114, 20315, 21857, 22253, 22411, |
| 24911, 25380, 26027, 26376) }, |
| { AOM_CDF14(5370, 6889, 7247, 7393, 9498, 21114, 21402, 21753, 21981, |
| 24780, 25386, 26517, 27176) }, |
| { AOM_CDF14(4816, 4961, 7204, 7326, 8765, 8930, 20169, 20682, 20803, |
| 23188, 23763, 24455, 24940) }, |
| { AOM_CDF14(6608, 6740, 8529, 9049, 9257, 9356, 9735, 18827, 19059, |
| 22336, 23204, 23964, 24793) }, |
| { AOM_CDF14(5998, 7419, 7781, 8933, 9255, 9549, 9753, 10417, 18898, |
| 22494, 23139, 24764, 25989) }, |
| { AOM_CDF14(10660, 11298, 12550, 12957, 13322, 13624, 14040, 15004, |
| 15534, 20714, 21789, 23443, 24861) }, |
| { AOM_CDF14(10522, 11530, 12552, 12963, 13378, 13779, 14245, 15235, |
| 15902, 20102, 22696, 23774, 25838) }, |
| { AOM_CDF14(10099, 10691, 12639, 13049, 13386, 13665, 14125, 15163, |
| 15636, 19676, 20474, 23519, 25208) }, |
| { AOM_CDF14(3144, 5087, 7382, 7504, 7593, 7690, 7801, 8064, 8232, 9248, |
| 9875, 10521, 29048) } } |
| }; |
| #endif // CONFIG_AIMC |
| |
| #if CONFIG_EXTENDED_SDP |
| static aom_cdf_prob default_region_type_cdf[INTER_SDP_BSIZE_GROUP] |
| [CDF_SIZE(REGION_TYPES)] = { |
| // w * h <= 64 |
| { AOM_CDF2(16384), 0 }, |
| // w * h <= 128 |
| { AOM_CDF2(16384), 0 }, |
| // w * h <= 256 |
| { AOM_CDF2(16384), 0 }, |
| // w * h <= 512 |
| { AOM_CDF2(16384), 0 }, |
| // w * h <= 1024 |
| { AOM_CDF2(16384), 0 } |
| }; |
| #endif // CONFIG_EXTENDED_SDP |
| #if CONFIG_EXT_RECUR_PARTITIONS |
| // clang-format off |
| #if CONFIG_FLEX_PARTITION |
| static aom_cdf_prob |
| default_do_split_cdf[PARTITION_STRUCTURE_NUM][PARTITION_CONTEXTS][CDF_SIZE(2)] = { |
| // Luma |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(28194), 0 }, |
| { AOM_CDF2(26594), 75 }, |
| { AOM_CDF2(24734), 0 }, |
| { AOM_CDF2(22454), 0 }, |
| // BLOCK_8X4 |
| { AOM_CDF2(27954), 0 }, |
| { AOM_CDF2(23649), 0 }, |
| { AOM_CDF2(26002), 75 }, |
| { AOM_CDF2(20643), 0 }, |
| // BLOCK_8X8 |
| { AOM_CDF2(24288), 1 }, |
| { AOM_CDF2(13221), 0 }, |
| { AOM_CDF2(12754), 1 }, |
| { AOM_CDF2( 7261), 0 }, |
| // BLOCK_8x16 |
| { AOM_CDF2(24132), 1 }, |
| { AOM_CDF2(15340), 1 }, |
| { AOM_CDF2(14348), 1 }, |
| { AOM_CDF2( 6511), 1 }, |
| // BLOCK_16X8 |
| { AOM_CDF2(20945), 1 }, |
| { AOM_CDF2( 9504), 1 }, |
| { AOM_CDF2(11479), 1 }, |
| { AOM_CDF2( 3562), 0 }, |
| // BLOCK_16x16 |
| { AOM_CDF2(19951), 1 }, |
| { AOM_CDF2( 7293), 1 }, |
| { AOM_CDF2( 7619), 1 }, |
| { AOM_CDF2( 2157), 75 }, |
| // BLOCK_16X32 |
| { AOM_CDF2(21508), 75 }, |
| { AOM_CDF2( 9317), 76 }, |
| { AOM_CDF2(10683), 1 }, |
| { AOM_CDF2( 2709), 0 }, |
| // BLOCK_32X16 |
| { AOM_CDF2(18209), 1 }, |
| { AOM_CDF2( 5879), 1 }, |
| { AOM_CDF2( 6560), 76 }, |
| { AOM_CDF2( 1174), 90 }, |
| // BLOCK_32X32 |
| { AOM_CDF2(21089), 1 }, |
| { AOM_CDF2( 6150), 1 }, |
| { AOM_CDF2( 6826), 1 }, |
| { AOM_CDF2( 1202), 75 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(21366), 76 }, |
| { AOM_CDF2( 8824), 76 }, |
| { AOM_CDF2(12030), 6 }, |
| { AOM_CDF2( 2371), 1 }, |
| // BLOCK_64X32 |
| { AOM_CDF2(17649), 76 }, |
| { AOM_CDF2( 4196), 1 }, |
| { AOM_CDF2( 4840), 76 }, |
| { AOM_CDF2( 531), 93 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(17354), 76 }, |
| { AOM_CDF2( 4849), 1 }, |
| { AOM_CDF2( 5162), 1 }, |
| { AOM_CDF2( 639), 115 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(25198), 80 }, |
| { AOM_CDF2(10238), 20 }, |
| { AOM_CDF2(22876), 98 }, |
| { AOM_CDF2( 8560), 22 }, |
| // BLOCK_128X64 |
| { AOM_CDF2(26996), 107 }, |
| { AOM_CDF2(21770), 12 }, |
| { AOM_CDF2(11453), 85 }, |
| { AOM_CDF2( 6203), 60 }, |
| // BLOCK_128X128 |
| { AOM_CDF2(17248), 2 }, |
| { AOM_CDF2( 5306), 37 }, |
| { AOM_CDF2( 3947), 2 }, |
| { AOM_CDF2( 506), 78 }, |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(25796), 120 }, |
| { AOM_CDF2(11229), 0 }, |
| { AOM_CDF2(19151), 120 }, |
| { AOM_CDF2( 4994), 75 }, |
| // BLOCK_256X128 |
| { AOM_CDF2(23826), 109 }, |
| { AOM_CDF2(20220), 120 }, |
| { AOM_CDF2( 5605), 0 }, |
| { AOM_CDF2( 2749), 100 }, |
| // BLOCK_256X256 |
| { AOM_CDF2(19297), 0 }, |
| { AOM_CDF2( 3302), 25 }, |
| { AOM_CDF2( 3314), 0 }, |
| { AOM_CDF2( 356), 110 }, |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(26126) }, |
| { AOM_CDF2(25336) }, |
| { AOM_CDF2(18712) }, |
| { AOM_CDF2(16570) }, |
| // BLOCK_16X4, |
| { AOM_CDF2(23630) }, |
| { AOM_CDF2(17208) }, |
| { AOM_CDF2(20873) }, |
| { AOM_CDF2(14909) }, |
| // BLOCK_8X32, |
| { AOM_CDF2(27024) }, |
| { AOM_CDF2(16959) }, |
| { AOM_CDF2(18572) }, |
| { AOM_CDF2(9272) }, |
| // BLOCK_32X8, |
| { AOM_CDF2(24802) }, |
| { AOM_CDF2(16618) }, |
| { AOM_CDF2(17784) }, |
| { AOM_CDF2(10423) }, |
| // BLOCK_16X64, |
| { AOM_CDF2(24992) }, |
| { AOM_CDF2(13827) }, |
| { AOM_CDF2(19117) }, |
| { AOM_CDF2(12141) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(25944) }, |
| { AOM_CDF2(17962) }, |
| { AOM_CDF2(13861) }, |
| { AOM_CDF2(12419) } |
| #endif // CONFIG_CB1TO4_SPLIT |
| }, |
| // Chroma |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(26672), 0 }, |
| { AOM_CDF2(16384), 0 }, |
| { AOM_CDF2(20710), 0 }, |
| { AOM_CDF2(16384), 0 }, |
| // BLOCK_16X8 |
| { AOM_CDF2(26587), 0 }, |
| { AOM_CDF2(22028), 0 }, |
| { AOM_CDF2(16384), 0 }, |
| { AOM_CDF2(16384), 0 }, |
| // BLOCK_16x16 |
| { AOM_CDF2(22192), 0 }, |
| { AOM_CDF2(11412), 0 }, |
| { AOM_CDF2(11721), 75 }, |
| { AOM_CDF2( 6263), 90 }, |
| // BLOCK_16X32 |
| { AOM_CDF2(23832), 1 }, |
| { AOM_CDF2(11924), 90 }, |
| { AOM_CDF2(14591), 6 }, |
| { AOM_CDF2( 6202), 0 }, |
| // BLOCK_32X16 |
| { AOM_CDF2(23116), 31 }, |
| { AOM_CDF2(12716), 31 }, |
| { AOM_CDF2(10065), 0 }, |
| { AOM_CDF2( 4723), 90 }, |
| // BLOCK_32X32 |
| { AOM_CDF2(29561), 31 }, |
| { AOM_CDF2(11499), 1 }, |
| { AOM_CDF2(10640), 6 }, |
| { AOM_CDF2( 2921), 0 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(15621), 1 }, |
| { AOM_CDF2( 7058), 8 }, |
| { AOM_CDF2( 5046), 6 }, |
| { AOM_CDF2( 1287), 0 }, |
| // BLOCK_64X32 |
| { AOM_CDF2( 7706), 32 }, |
| { AOM_CDF2( 1091), 0 }, |
| { AOM_CDF2( 1637), 76 }, |
| { AOM_CDF2( 325), 99 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(20097), 32 }, |
| { AOM_CDF2( 6851), 7 }, |
| { AOM_CDF2( 5020), 1 }, |
| { AOM_CDF2( 909), 75 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(19587), 107 }, |
| { AOM_CDF2( 9322), 110 }, |
| { AOM_CDF2(19769), 5 }, |
| { AOM_CDF2( 9100), 8 }, |
| // BLOCK_128X64 |
| { AOM_CDF2(24402), 37 }, |
| { AOM_CDF2(19136), 35 }, |
| { AOM_CDF2( 8316), 110 }, |
| { AOM_CDF2( 4291), 60 }, |
| // BLOCK_128X128 |
| { AOM_CDF2(27951), 1 }, |
| { AOM_CDF2(15351), 35 }, |
| { AOM_CDF2(10542), 33 }, |
| { AOM_CDF2( 2947), 7 }, |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(25686) }, |
| { AOM_CDF2(16384) }, |
| { AOM_CDF2(19333) }, |
| { AOM_CDF2(16384) }, |
| // BLOCK_32X8, |
| { AOM_CDF2(24906) }, |
| { AOM_CDF2(21616) }, |
| { AOM_CDF2(16384) }, |
| { AOM_CDF2(16384) }, |
| // BLOCK_16X64, |
| { AOM_CDF2(20317) }, |
| { AOM_CDF2(12842) }, |
| { AOM_CDF2(11366) }, |
| { AOM_CDF2(6383) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(23710) }, |
| { AOM_CDF2(12905) }, |
| { AOM_CDF2(13405) }, |
| { AOM_CDF2(9485) }, |
| #endif // CONFIG_CB1TO4_SPLIT |
| } |
| }; |
| |
| static aom_cdf_prob |
| default_rect_type_cdf[PARTITION_STRUCTURE_NUM][PARTITION_CONTEXTS][CDF_SIZE(2)] = { |
| // Luma |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(17405), 75 }, |
| { AOM_CDF2(13772), 75 }, |
| { AOM_CDF2(21881), 115 }, |
| { AOM_CDF2(19500), 115 }, |
| // BLOCK_8x16 |
| { AOM_CDF2(22464), 1 }, |
| { AOM_CDF2(17171), 1 }, |
| { AOM_CDF2(28223), 0 }, |
| { AOM_CDF2(26546), 1 }, |
| // BLOCK_16X8 |
| { AOM_CDF2( 6820), 76 }, |
| { AOM_CDF2( 2633), 75 }, |
| { AOM_CDF2(10735), 77 }, |
| { AOM_CDF2( 3775), 90 }, |
| // BLOCK_16x16 |
| { AOM_CDF2(18040), 1 }, |
| { AOM_CDF2(10648), 1 }, |
| { AOM_CDF2(25993), 75 }, |
| { AOM_CDF2(22265), 76 }, |
| // BLOCK_16X32 |
| { AOM_CDF2(21076), 1 }, |
| { AOM_CDF2(17097), 1 }, |
| { AOM_CDF2(29285), 1 }, |
| { AOM_CDF2(28199), 1 }, |
| // BLOCK_32X16 |
| { AOM_CDF2( 6588), 76 }, |
| { AOM_CDF2( 1588), 90 }, |
| { AOM_CDF2( 9365), 7 }, |
| { AOM_CDF2( 1930), 75 }, |
| // BLOCK_32X32 |
| { AOM_CDF2(19224), 76 }, |
| { AOM_CDF2(13869), 1 }, |
| { AOM_CDF2(26476), 115 }, |
| { AOM_CDF2(24567), 75 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(20266), 7 }, |
| { AOM_CDF2(18322), 6 }, |
| { AOM_CDF2(28636), 1 }, |
| { AOM_CDF2(29270), 1 }, |
| // BLOCK_64X32 |
| { AOM_CDF2( 6131), 6 }, |
| { AOM_CDF2( 1064), 115 }, |
| { AOM_CDF2( 9671), 37 }, |
| { AOM_CDF2( 1050), 0 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(20007), 7 }, |
| { AOM_CDF2(17698), 1 }, |
| { AOM_CDF2(26666), 76 }, |
| { AOM_CDF2(26592), 75 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(18109), 90 }, |
| { AOM_CDF2(10515), 0 }, |
| { AOM_CDF2(22879), 15 }, |
| { AOM_CDF2(14385), 12 }, |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(18966), 75 }, |
| { AOM_CDF2(14351), 0 }, |
| { AOM_CDF2(23553), 10 }, |
| { AOM_CDF2(19681), 25 }, |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(26301) }, |
| { AOM_CDF2(17343) }, |
| { AOM_CDF2(30275) }, |
| { AOM_CDF2(26721) }, |
| // BLOCK_32X8, |
| { AOM_CDF2(3776) }, |
| { AOM_CDF2(1850) }, |
| { AOM_CDF2(13227) }, |
| { AOM_CDF2(6227) }, |
| // BLOCK_16X64, |
| { AOM_CDF2(14949) }, |
| { AOM_CDF2(7948) }, |
| { AOM_CDF2(25748) }, |
| { AOM_CDF2(16507) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(12012) }, |
| { AOM_CDF2(5647) }, |
| { AOM_CDF2(24606) }, |
| { AOM_CDF2(16248) } |
| #endif // CONFIG_CB1TO4_SPLIT |
| }, |
| // Chroma |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16x16 |
| { AOM_CDF2(17466), 75 }, |
| { AOM_CDF2(11461), 75 }, |
| { AOM_CDF2(23069), 90 }, |
| { AOM_CDF2(17575), 90 }, |
| // BLOCK_16X32 |
| { AOM_CDF2(21500), 1 }, |
| { AOM_CDF2(16941), 1 }, |
| { AOM_CDF2(28190), 75 }, |
| { AOM_CDF2(25590), 1 }, |
| // BLOCK_32X16 |
| { AOM_CDF2(12489), 2 }, |
| { AOM_CDF2( 4568), 76 }, |
| { AOM_CDF2(17792), 7 }, |
| { AOM_CDF2( 7495), 76 }, |
| // BLOCK_32X32 |
| { AOM_CDF2(19912), 76 }, |
| { AOM_CDF2(13861), 76 }, |
| { AOM_CDF2(26203), 76 }, |
| { AOM_CDF2(21835), 76 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(26349), 4 }, |
| { AOM_CDF2(18909), 45 }, |
| { AOM_CDF2(31145), 1 }, |
| { AOM_CDF2(29434), 6 }, |
| // BLOCK_64X32 |
| { AOM_CDF2( 1359), 1 }, |
| { AOM_CDF2( 346), 118 }, |
| { AOM_CDF2(11224), 37 }, |
| { AOM_CDF2( 1533), 76 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(22373), 5 }, |
| { AOM_CDF2(22200), 6 }, |
| { AOM_CDF2(27751), 1 }, |
| { AOM_CDF2(26876), 0 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(13754), 25 }, |
| { AOM_CDF2( 8131), 0 }, |
| { AOM_CDF2(19409), 45 }, |
| { AOM_CDF2( 8887), 35 }, |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X8, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X64, |
| { AOM_CDF2(21059) }, |
| { AOM_CDF2(14764) }, |
| { AOM_CDF2(28605) }, |
| { AOM_CDF2(19399) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(9578) }, |
| { AOM_CDF2(3837) }, |
| { AOM_CDF2(14517) }, |
| { AOM_CDF2(13975) }, |
| #endif // CONFIG_CB1TO4_SPLIT |
| } |
| }; |
| |
| // Note: For the partition CDFs below, most entries are unused. An optimized |
| // implementation could create smaller arrays with only used values + some |
| // mapping tables. |
| static aom_cdf_prob default_do_ext_partition_cdf |
| [PARTITION_STRUCTURE_NUM][NUM_RECT_PARTS][PARTITION_CONTEXTS] |
| [CDF_SIZE(2)] = { |
| // Luma |
| { |
| // HORZ |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(28126), 0 }, |
| { AOM_CDF2(24398), 75 }, |
| { AOM_CDF2(23529), 1 }, |
| { AOM_CDF2(18352), 90 }, |
| // BLOCK_16X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16x16 |
| { AOM_CDF2(30732), 115 }, |
| { AOM_CDF2(30747), 118 }, |
| { AOM_CDF2(30203), 118 }, |
| { AOM_CDF2(30752), 118 }, |
| // BLOCK_16X32 |
| { AOM_CDF2(27439), 75 }, |
| { AOM_CDF2(26381), 75 }, |
| { AOM_CDF2(20472), 75 }, |
| { AOM_CDF2(19396), 90 }, |
| // BLOCK_32X16 |
| { AOM_CDF2(29051), 76 }, |
| { AOM_CDF2(26472), 75 }, |
| { AOM_CDF2(26906), 6 }, |
| { AOM_CDF2(22036), 7 }, |
| // BLOCK_32X32 |
| { AOM_CDF2(30744), 90 }, |
| { AOM_CDF2(31624), 115 }, |
| { AOM_CDF2(29903), 90 }, |
| { AOM_CDF2(31718), 115 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(26575), 15 }, |
| { AOM_CDF2(25376), 92 }, |
| { AOM_CDF2(19834), 76 }, |
| { AOM_CDF2(17616), 93 }, |
| // BLOCK_64X32 |
| { AOM_CDF2(27828), 13 }, |
| { AOM_CDF2(24853), 30 }, |
| { AOM_CDF2(27145), 37 }, |
| { AOM_CDF2(20656), 37 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(31215), 119 }, |
| { AOM_CDF2(31941), 117 }, |
| { AOM_CDF2(30679), 90 }, |
| { AOM_CDF2(32244), 115 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(31265) }, |
| { AOM_CDF2(26764) }, |
| { AOM_CDF2(29953) }, |
| { AOM_CDF2(23205) }, |
| // BLOCK_32X8, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X64, |
| { AOM_CDF2(31886) }, |
| { AOM_CDF2(30362) }, |
| { AOM_CDF2(31708) }, |
| { AOM_CDF2(30337) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(32345) }, |
| { AOM_CDF2(31839) }, |
| { AOM_CDF2(32289) }, |
| { AOM_CDF2(31216) }, |
| #endif // CONFIG_CB1TO4_SPLIT |
| }, |
| // VERT |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
| { AOM_CDF2(30150), 90 }, |
| { AOM_CDF2(28639), 75 }, |
| { AOM_CDF2(27384), 90 }, |
| { AOM_CDF2(25595), 93 }, |
| // BLOCK_16x16 |
| { AOM_CDF2(31199), 123 }, |
| { AOM_CDF2(30494), 118 }, |
| { AOM_CDF2(29694), 123 }, |
| { AOM_CDF2(29315), 123 }, |
| // BLOCK_16X32 |
| { AOM_CDF2(30436), 0 }, |
| { AOM_CDF2(27853), 0 }, |
| { AOM_CDF2(28515), 6 }, |
| { AOM_CDF2(24402), 0 }, |
| // BLOCK_32X16 |
| { AOM_CDF2(29006), 90 }, |
| { AOM_CDF2(25918), 118 }, |
| { AOM_CDF2(27758), 118 }, |
| { AOM_CDF2(26233), 118 }, |
| // BLOCK_32X32 |
| { AOM_CDF2(30119), 90 }, |
| { AOM_CDF2(27654), 75 }, |
| { AOM_CDF2(29837), 90 }, |
| { AOM_CDF2(29583), 90 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(28069), 44 }, |
| { AOM_CDF2(24273), 31 }, |
| { AOM_CDF2(27312), 20 }, |
| { AOM_CDF2(22205), 25 }, |
| // BLOCK_64X32 |
| { AOM_CDF2(29637), 115 }, |
| { AOM_CDF2(27709), 115 }, |
| { AOM_CDF2(29419), 115 }, |
| { AOM_CDF2(28775), 118 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(28966), 90 }, |
| { AOM_CDF2(27455), 91 }, |
| { AOM_CDF2(29656), 104 }, |
| { AOM_CDF2(30158), 76 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X8, |
| { AOM_CDF2(31827) }, |
| { AOM_CDF2(31123) }, |
| { AOM_CDF2(30086) }, |
| { AOM_CDF2(25381) }, |
| // BLOCK_16X64, |
| { AOM_CDF2(32151) }, |
| { AOM_CDF2(31187) }, |
| { AOM_CDF2(31652) }, |
| { AOM_CDF2(31288) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(32278) }, |
| { AOM_CDF2(31754) }, |
| { AOM_CDF2(30750) }, |
| { AOM_CDF2(29716) }, |
| #endif // CONFIG_CB1TO4_SPLIT |
| } |
| }, |
| // Chroma |
| { |
| // HORZ |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X32 |
| { AOM_CDF2(23344), 75 }, |
| { AOM_CDF2(21307), 124 }, |
| { AOM_CDF2(20958), 75 }, |
| { AOM_CDF2(18495), 123 }, |
| // BLOCK_32X16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X32 |
| { AOM_CDF2(29125), 115 }, |
| { AOM_CDF2(29708), 115 }, |
| { AOM_CDF2(29515), 118 }, |
| { AOM_CDF2(30210), 115 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(24821), 4 }, |
| { AOM_CDF2(19830), 110 }, |
| { AOM_CDF2(14978), 75 }, |
| { AOM_CDF2(13689), 118 }, |
| // BLOCK_64X32 |
| { AOM_CDF2(20582), 30 }, |
| { AOM_CDF2(18547), 10 }, |
| { AOM_CDF2(28584), 37 }, |
| { AOM_CDF2(19540), 35 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(29777), 109 }, |
| { AOM_CDF2(31484), 75 }, |
| { AOM_CDF2(30589), 75 }, |
| { AOM_CDF2(32081), 90 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X8, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X64, |
| { AOM_CDF2(25080) }, |
| { AOM_CDF2(19505) }, |
| { AOM_CDF2(23746) }, |
| { AOM_CDF2(17913) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_CB1TO4_SPLIT |
| }, |
| // VERT |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X32 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X16 |
| { AOM_CDF2(27168), 75 }, |
| { AOM_CDF2(26315), 75 }, |
| { AOM_CDF2(25707), 115 }, |
| { AOM_CDF2(24315), 115 }, |
| // BLOCK_32X32 |
| { AOM_CDF2(30010), 123 }, |
| { AOM_CDF2(29350), 123 }, |
| { AOM_CDF2(29797), 123 }, |
| { AOM_CDF2(29474), 123 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(24177), 20 }, |
| { AOM_CDF2(22570), 35 }, |
| { AOM_CDF2(20114), 30 }, |
| { AOM_CDF2(15773), 30 }, |
| // BLOCK_64X32 |
| { AOM_CDF2(30934), 0 }, |
| { AOM_CDF2(29660), 0 }, |
| { AOM_CDF2(28397), 96 }, |
| { AOM_CDF2(26230), 123 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(25575), 95 }, |
| { AOM_CDF2(25411), 94 }, |
| { AOM_CDF2(28377), 76 }, |
| { AOM_CDF2(30292), 6 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X8, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X64, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_64X16, |
| { AOM_CDF2(25683) }, |
| { AOM_CDF2(26032) }, |
| { AOM_CDF2(28399) }, |
| { AOM_CDF2(19080) }, |
| #endif // CONFIG_CB1TO4_SPLIT |
| } |
| } |
| }; |
| |
| static aom_cdf_prob default_do_uneven_4way_partition_cdf |
| [PARTITION_STRUCTURE_NUM][NUM_RECT_PARTS][PARTITION_CONTEXTS] |
| [CDF_SIZE(2)] = { |
| // Luma |
| { |
| // HORZ |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X32 |
| { AOM_CDF2(20896), 91 }, |
| { AOM_CDF2(25423), 87 }, |
| { AOM_CDF2(18934), 76 }, |
| { AOM_CDF2(24233), 76 }, |
| // BLOCK_32X16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X32 |
| { AOM_CDF2(18886), 5 }, |
| { AOM_CDF2(19925), 75 }, |
| { AOM_CDF2(14534), 2 }, |
| { AOM_CDF2(15937), 12 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(22179), 0 }, |
| { AOM_CDF2(25007), 0 }, |
| { AOM_CDF2(23004), 2 }, |
| { AOM_CDF2(28583), 1 }, |
| // BLOCK_64X32 |
| { AOM_CDF2(28837), 0 }, |
| { AOM_CDF2(27058), 0 }, |
| { AOM_CDF2(26110), 4 }, |
| { AOM_CDF2(25514), 35 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(15474), 25 }, |
| { AOM_CDF2(17027), 0 }, |
| { AOM_CDF2(11547), 18 }, |
| { AOM_CDF2(13274), 10 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(28069) }, |
| { AOM_CDF2(26917) }, |
| { AOM_CDF2(27340) }, |
| { AOM_CDF2(26972) }, |
| // BLOCK_32X8, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X64, |
| { AOM_CDF2(24743) }, |
| { AOM_CDF2(22342) }, |
| { AOM_CDF2(26904) }, |
| { AOM_CDF2(16384) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_CB1TO4_SPLIT |
| }, |
| // VERT |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X32 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X16 |
| { AOM_CDF2(18404), 94 }, |
| { AOM_CDF2(13828), 1 }, |
| { AOM_CDF2(21848), 92 }, |
| { AOM_CDF2(21300), 1 }, |
| // BLOCK_32X32 |
| { AOM_CDF2(17164), 0 }, |
| { AOM_CDF2(12467), 7 }, |
| { AOM_CDF2(19002), 0 }, |
| { AOM_CDF2(15835), 7 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(18611), 100 }, |
| { AOM_CDF2(22116), 99 }, |
| { AOM_CDF2(24382), 25 }, |
| { AOM_CDF2(23971), 20 }, |
| // BLOCK_64X32 |
| { AOM_CDF2(15558), 0 }, |
| { AOM_CDF2(13948), 7 }, |
| { AOM_CDF2(23894), 0 }, |
| { AOM_CDF2(25244), 1 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(16931), 50 }, |
| { AOM_CDF2(15037), 31 }, |
| { AOM_CDF2(20386), 25 }, |
| { AOM_CDF2(18422), 35 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X8, |
| { AOM_CDF2(25768) }, |
| { AOM_CDF2(23523) }, |
| { AOM_CDF2(26810) }, |
| { AOM_CDF2(23729) }, |
| // BLOCK_16X64, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_64X16, |
| { AOM_CDF2(19661) }, |
| { AOM_CDF2(19484) }, |
| { AOM_CDF2(16384) }, |
| { AOM_CDF2(26214) }, |
| #endif // CONFIG_CB1TO4_SPLIT |
| } |
| }, |
| // Chroma |
| { |
| // HORZ |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X32 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X32 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X64 |
| { AOM_CDF2(23490), 120 }, |
| { AOM_CDF2(24611), 0 }, |
| { AOM_CDF2(21709), 76 }, |
| { AOM_CDF2(24109), 77 }, |
| // BLOCK_64X32 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_64X64 |
| { AOM_CDF2(26228), 75 }, |
| { AOM_CDF2(23938), 100 }, |
| { AOM_CDF2(21021), 20 }, |
| { AOM_CDF2(20071), 8 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X8, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X64, |
| { AOM_CDF2(30125) }, |
| { AOM_CDF2(29127) }, |
| { AOM_CDF2(25775) }, |
| { AOM_CDF2(24342) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_CB1TO4_SPLIT |
| }, |
| // VERT |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X32 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X32 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_64X32 |
| { AOM_CDF2(21146), 75 }, |
| { AOM_CDF2(18757), 2 }, |
| { AOM_CDF2(25409), 95 }, |
| { AOM_CDF2(22994), 76 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(16091), 75 }, |
| { AOM_CDF2(14886), 20 }, |
| { AOM_CDF2(17656), 75 }, |
| { AOM_CDF2(15202), 15 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X8, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X64, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_64X16, |
| { AOM_CDF2(23177) }, |
| { AOM_CDF2(26985) }, |
| { AOM_CDF2(28087) }, |
| { AOM_CDF2(23130) }, |
| #endif // CONFIG_CB1TO4_SPLIT |
| } |
| }, |
| }; |
| |
| static aom_cdf_prob default_uneven_4way_partition_type_cdf |
| [PARTITION_STRUCTURE_NUM][NUM_RECT_PARTS][PARTITION_CONTEXTS] |
| [CDF_SIZE(NUM_UNEVEN_4WAY_PARTS)] = { |
| // Luma |
| { |
| // HORZ |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X32 |
| { AOM_CDF2(21740), 80 }, |
| { AOM_CDF2(21317), 100 }, |
| { AOM_CDF2(24285), 115 }, |
| { AOM_CDF2(24124), 124 }, |
| // BLOCK_32X16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_32X32 |
| { AOM_CDF2(19671), 75 }, |
| { AOM_CDF2(17030), 75 }, |
| { AOM_CDF2(20432), 7 }, |
| { AOM_CDF2(17357), 17 }, |
| // BLOCK_32X64 |
| { AOM_CDF2(21678), 100 }, |
| { AOM_CDF2(22846), 100 }, |
| { AOM_CDF2(23642), 80 }, |
| { AOM_CDF2(23686), 110 }, |
| // BLOCK_64X32 |
| { AOM_CDF2(20055), 0 }, |
| { AOM_CDF2(24000), 100 }, |
| { AOM_CDF2(17744), 0 }, |
| { AOM_CDF2(18144), 25 }, |
| // BLOCK_64X64 |
| { AOM_CDF2(19248), 25 }, |
| { AOM_CDF2(13999), 75 }, |
| { AOM_CDF2(19510), 5 }, |
| { AOM_CDF2(12879), 75 }, |
| // BLOCK_64X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X64 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_128X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #if CONFIG_BLOCK_256 |
| // BLOCK_128X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X128 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_256X256 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_BLOCK_256 |
| #if CONFIG_CB1TO4_SPLIT |
| // BLOCK_4X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X4, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X32, |
| { AOM_CDF2(20165) }, |
| { AOM_CDF2(18432) }, |
| { AOM_CDF2(14938) }, |
| { AOM_CDF2(17311) }, |
| // BLOCK_32X8, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X64, |
| { AOM_CDF2(17644) }, |
| { AOM_CDF2(12288) }, |
| { AOM_CDF2(20025) }, |
| { AOM_CDF2(14043) }, |
| // BLOCK_64X16, |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| #endif // CONFIG_CB1TO4_SPLIT |
| }, |
| // VERT |
| { |
| // BLOCK_4X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_4X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X4 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8X8 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_8x16 |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| { AOM_CDF2(16384), 0 }, // unused entry |
| // BLOCK_16X8 |
|