Remove sub-4x4 block sizes Removes unused BLOCK_2X2, BLOCK_2X4 and BLOCK_4X2 from the BLOCK_SIZE enum. Change-Id: I964d99718026c51a1eaf30d4a1fc83cc52f94083
diff --git a/av1/common/av1_loopfilter.c b/av1/common/av1_loopfilter.c index 43941cf..6eedd0c 100644 --- a/av1/common/av1_loopfilter.c +++ b/av1/common/av1_loopfilter.c
@@ -131,9 +131,6 @@ // 00000000 // 00000000 static const uint64_t left_prediction_mask[BLOCK_SIZES_ALL] = { - 0x0000000000000001ULL, // BLOCK_2X2, - 0x0000000000000001ULL, // BLOCK_2X4, - 0x0000000000000001ULL, // BLOCK_4X2, 0x0000000000000001ULL, // BLOCK_4X4, 0x0000000000000001ULL, // BLOCK_4X8, 0x0000000000000001ULL, // BLOCK_8X4, @@ -157,9 +154,6 @@ // 64 bit mask to shift and set for each prediction size. static const uint64_t above_prediction_mask[BLOCK_SIZES_ALL] = { - 0x0000000000000001ULL, // BLOCK_2X2 - 0x0000000000000001ULL, // BLOCK_2X4 - 0x0000000000000001ULL, // BLOCK_4X2 0x0000000000000001ULL, // BLOCK_4X4 0x0000000000000001ULL, // BLOCK_4X8 0x0000000000000001ULL, // BLOCK_8X4 @@ -184,9 +178,6 @@ // each 8x8 block that would be in the top left most block of the given block // size in the 64x64 block. static const uint64_t size_mask[BLOCK_SIZES_ALL] = { - 0x0000000000000001ULL, // BLOCK_2X2 - 0x0000000000000001ULL, // BLOCK_2X4 - 0x0000000000000001ULL, // BLOCK_4X2 0x0000000000000001ULL, // BLOCK_4X4 0x0000000000000001ULL, // BLOCK_4X8 0x0000000000000001ULL, // BLOCK_8X4 @@ -235,9 +226,6 @@ // 16 bit left mask to shift and set for each uv prediction size. static const uint16_t left_prediction_mask_uv[BLOCK_SIZES_ALL] = { - 0x0001, // BLOCK_2X2, - 0x0001, // BLOCK_2X4, - 0x0001, // BLOCK_4X2, 0x0001, // BLOCK_4X4, 0x0001, // BLOCK_4X8, 0x0001, // BLOCK_8X4, @@ -261,9 +249,6 @@ // 16 bit above mask to shift and set for uv each prediction size. static const uint16_t above_prediction_mask_uv[BLOCK_SIZES_ALL] = { - 0x0001, // BLOCK_2X2 - 0x0001, // BLOCK_2X4 - 0x0001, // BLOCK_4X2 0x0001, // BLOCK_4X4 0x0001, // BLOCK_4X8 0x0001, // BLOCK_8X4 @@ -287,9 +272,6 @@ // 64 bit mask to shift and set for each uv prediction size static const uint16_t size_mask_uv[BLOCK_SIZES_ALL] = { - 0x0001, // BLOCK_2X2 - 0x0001, // BLOCK_2X4 - 0x0001, // BLOCK_4X2 0x0001, // BLOCK_4X4 0x0001, // BLOCK_4X8 0x0001, // BLOCK_8X4 @@ -1517,8 +1499,7 @@ (blk_row * mi_size_high[BLOCK_8X8] << TX_UNIT_HIGH_LOG2) >> 1; const int tx_col_idx = (blk_col * mi_size_wide[BLOCK_8X8] << TX_UNIT_WIDE_LOG2) >> 1; - const BLOCK_SIZE bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(mbmi->sb_type, plane)); + const BLOCK_SIZE bsize = get_plane_block_size(mbmi->sb_type, plane); const TX_SIZE mb_tx_size = mbmi->inter_tx_size[tx_row_idx][tx_col_idx]; tx_size = (plane->plane_type == PLANE_TYPE_UV) ? uv_txsize_lookup[bsize][mb_tx_size][0][0] @@ -1978,9 +1959,6 @@ static const uint32_t av1_prediction_masks[NUM_EDGE_DIRS][BLOCK_SIZES_ALL] = { // mask for vertical edges filtering { - 2 - 1, // BLOCK_2X2 - 2 - 1, // BLOCK_2X4 - 4 - 1, // BLOCK_4X2 4 - 1, // BLOCK_4X4 4 - 1, // BLOCK_4X8 8 - 1, // BLOCK_8X4 @@ -2012,9 +1990,6 @@ }, // mask for horizontal edges filtering { - 2 - 1, // BLOCK_2X2 - 4 - 1, // BLOCK_2X4 - 2 - 1, // BLOCK_4X2 4 - 1, // BLOCK_4X4 8 - 1, // BLOCK_4X8 4 - 1, // BLOCK_8X4 @@ -2133,8 +2108,7 @@ (blk_row * mi_size_high[BLOCK_8X8] << TX_UNIT_HIGH_LOG2) >> 1; const int tx_col_idx = (blk_col * mi_size_wide[BLOCK_8X8] << TX_UNIT_WIDE_LOG2) >> 1; - const BLOCK_SIZE bsize = - AOMMAX(BLOCK_4X4, ss_size_lookup[sb_type][scale_horz][scale_vert]); + const BLOCK_SIZE bsize = ss_size_lookup[sb_type][scale_horz][scale_vert]; const TX_SIZE mb_tx_size = mbmi->inter_tx_size[tx_row_idx][tx_col_idx]; assert(mb_tx_size < TX_SIZES_ALL);
diff --git a/av1/common/blockd.c b/av1/common/blockd.c index c56011b..0d6b9a6 100644 --- a/av1/common/blockd.c +++ b/av1/common/blockd.c
@@ -34,8 +34,7 @@ // 4x4=0, 8x8=2, 16x16=4, 32x32=6, 64x64=8 // transform size varies per plane, look it up in a common way. const TX_SIZE tx_size = av1_get_tx_size(plane, xd); - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsize, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsize, pd); const uint8_t txw_unit = tx_size_wide_unit[tx_size]; const uint8_t txh_unit = tx_size_high_unit[tx_size]; const int step = txw_unit * txh_unit; @@ -137,8 +136,7 @@ nplanes = 1 + (MAX_MB_PLANE - 1) * chroma_ref; for (i = 0; i < nplanes; i++) { struct macroblockd_plane *const pd = &xd->plane[i]; - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsize, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsize, pd); const int txs_wide = block_size_wide[plane_bsize] >> tx_size_wide_log2[0]; const int txs_high = block_size_high[plane_bsize] >> tx_size_high_log2[0]; memset(pd->above_context, 0, sizeof(ENTROPY_CONTEXT) * txs_wide);
diff --git a/av1/common/blockd.h b/av1/common/blockd.h index cda8f6f..361eaf5 100644 --- a/av1/common/blockd.h +++ b/av1/common/blockd.h
@@ -892,9 +892,6 @@ static INLINE int is_rect_tx_allowed_bsize(BLOCK_SIZE bsize) { static const char LUT[BLOCK_SIZES_ALL] = { - 0, // BLOCK_2X2 - 0, // BLOCK_2X4 - 0, // BLOCK_4X2 0, // BLOCK_4X4 1, // BLOCK_4X8 1, // BLOCK_8X4 @@ -1171,8 +1168,7 @@ const struct macroblockd_plane *pd) { #if CONFIG_CFL if (!is_inter_block(mbmi) && mbmi->uv_mode == UV_CFL_PRED) { - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(mbmi->sb_type, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(mbmi->sb_type, pd); assert(plane_bsize < BLOCK_SIZES_ALL); return max_txsize_rect_lookup[0][plane_bsize]; }
diff --git a/av1/common/cfl.c b/av1/common/cfl.c index 3bd4f41..43fa62c 100644 --- a/av1/common/cfl.c +++ b/av1/common/cfl.c
@@ -483,7 +483,6 @@ struct macroblockd_plane *const pd = &xd->plane[AOM_PLANE_Y]; int row = 0; int col = 0; - bsize = AOMMAX(BLOCK_4X4, bsize); assert(is_cfl_allowed(&xd->mi[0]->mbmi)); if (block_size_high[bsize] == 4 || block_size_wide[bsize] == 4) {
diff --git a/av1/common/cfl.h b/av1/common/cfl.h index 365e420..7dbc2e2 100644 --- a/av1/common/cfl.h +++ b/av1/common/cfl.h
@@ -16,9 +16,8 @@ static INLINE int is_cfl_allowed(const MB_MODE_INFO *mbmi) { const BLOCK_SIZE bsize = mbmi->sb_type; - assert(bsize >= BLOCK_4X4); // Intra luma partitions can't be < 4X4 assert(bsize < BLOCK_SIZES_ALL); - return (bsize >= BLOCK_4X4) && (bsize <= CFL_MAX_BLOCK_SIZE); + return bsize <= CFL_MAX_BLOCK_SIZE; } static INLINE int get_scaled_luma_q0(int alpha_q3, int16_t pred_buf_q3) {
diff --git a/av1/common/common_data.h b/av1/common/common_data.h index 181f980..7199518 100644 --- a/av1/common/common_data.h +++ b/av1/common/common_data.h
@@ -28,323 +28,167 @@ // Log 2 conversion lookup tables for block width and height static const uint8_t b_width_log2_lookup[BLOCK_SIZES_ALL] = { - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 2, - 2, - 2, - 3, - 3, - 3, - 4, - 4, - IF_EXT_PARTITION(4, 5, 5) 0, - 2, - 1, - 3, - 2, - 4, - IF_EXT_PARTITION(3, 5) + 0, 0, + 1, 1, + 1, 2, + 2, 2, + 3, 3, + 3, 4, + 4, IF_EXT_PARTITION(4, 5, 5) 0, + 2, 1, + 3, 2, + 4, IF_EXT_PARTITION(3, 5) }; static const uint8_t b_height_log2_lookup[BLOCK_SIZES_ALL] = { - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 2, - 1, - 2, - 3, - 2, - 3, - 4, - 3, - 4, - IF_EXT_PARTITION(5, 4, 5) 2, - 0, - 3, - 1, - 4, - 2, - IF_EXT_PARTITION(5, 3) + 0, 1, + 0, 1, + 2, 1, + 2, 3, + 2, 3, + 4, 3, + 4, IF_EXT_PARTITION(5, 4, 5) 2, + 0, 3, + 1, 4, + 2, IF_EXT_PARTITION(5, 3) }; // Log 2 conversion lookup tables for modeinfo width and height static const uint8_t mi_width_log2_lookup[BLOCK_SIZES_ALL] = { - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 2, - 2, - 2, - 3, - 3, - 3, - 4, - 4, - IF_EXT_PARTITION(4, 5, 5) 0, - 2, - 1, - 3, - 2, - 4, - IF_EXT_PARTITION(3, 5) + 0, 0, + 1, 1, + 1, 2, + 2, 2, + 3, 3, + 3, 4, + 4, IF_EXT_PARTITION(4, 5, 5) 0, + 2, 1, + 3, 2, + 4, IF_EXT_PARTITION(3, 5) }; static const uint8_t mi_height_log2_lookup[BLOCK_SIZES_ALL] = { - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 2, - 1, - 2, - 3, - 2, - 3, - 4, - 3, - 4, - IF_EXT_PARTITION(5, 4, 5) 2, - 0, - 3, - 1, - 4, - 2, - IF_EXT_PARTITION(5, 3) + 0, 1, + 0, 1, + 2, 1, + 2, 3, + 2, 3, + 4, 3, + 4, IF_EXT_PARTITION(5, 4, 5) 2, + 0, 3, + 1, 4, + 2, IF_EXT_PARTITION(5, 3) }; /* clang-format off */ static const uint8_t mi_size_wide[BLOCK_SIZES_ALL] = { - 1, 1, 1, 1, 1, 2, 2, 2, 4, 4, 4, 8, 8, 8, 16, 16, + 1, 1, 2, 2, 2, 4, 4, 4, 8, 8, 8, 16, 16, IF_EXT_PARTITION(16, 32, 32) 1, 4, 2, 8, 4, 16, IF_EXT_PARTITION(8, 32) }; static const uint8_t mi_size_high[BLOCK_SIZES_ALL] = { - 1, 1, 1, 1, 2, 1, 2, 4, 2, 4, 8, 4, 8, 16, 8, 16, + 1, 2, 1, 2, 4, 2, 4, 8, 4, 8, 16, 8, 16, IF_EXT_PARTITION(32, 16, 32) 4, 1, 8, 2, 16, 4, IF_EXT_PARTITION(32, 8) }; /* clang-format on */ // Width/height lookup tables in units of various block sizes static const uint8_t block_size_wide[BLOCK_SIZES_ALL] = { - 2, - 2, - 4, - 4, - 4, - 8, - 8, - 8, - 16, - 16, - 16, - 32, - 32, - 32, - 64, - 64, - IF_EXT_PARTITION(64, 128, 128) 4, - 16, - 8, - 32, - 16, - 64, - IF_EXT_PARTITION(32, 128) + 4, 4, + 8, 8, + 8, 16, + 16, 16, + 32, 32, + 32, 64, + 64, IF_EXT_PARTITION(64, 128, 128) 4, + 16, 8, + 32, 16, + 64, IF_EXT_PARTITION(32, 128) }; static const uint8_t block_size_high[BLOCK_SIZES_ALL] = { - 2, - 4, - 2, - 4, - 8, - 4, - 8, - 16, - 8, - 16, - 32, - 16, - 32, - 64, - 32, - 64, - IF_EXT_PARTITION(128, 64, 128) 16, - 4, - 32, - 8, - 64, - 16, - IF_EXT_PARTITION(128, 32) + 4, 8, + 4, 8, + 16, 8, + 16, 32, + 16, 32, + 64, 32, + 64, IF_EXT_PARTITION(128, 64, 128) 16, + 4, 32, + 8, 64, + 16, IF_EXT_PARTITION(128, 32) }; static const uint8_t num_4x4_blocks_wide_lookup[BLOCK_SIZES_ALL] = { - 1, - 1, - 1, - 1, - 1, - 2, - 2, - 2, - 4, - 4, - 4, - 8, - 8, - 8, - 16, - 16, - IF_EXT_PARTITION(16, 32, 32) 1, - 4, - 2, - 8, - 4, - 16, - IF_EXT_PARTITION(8, 32) + 1, 1, + 2, 2, + 2, 4, + 4, 4, + 8, 8, + 8, 16, + 16, IF_EXT_PARTITION(16, 32, 32) 1, + 4, 2, + 8, 4, + 16, IF_EXT_PARTITION(8, 32) }; static const uint8_t num_4x4_blocks_high_lookup[BLOCK_SIZES_ALL] = { - 1, - 1, - 1, - 1, - 2, - 1, - 2, - 4, - 2, - 4, - 8, - 4, - 8, - 16, - 8, - 16, - IF_EXT_PARTITION(32, 16, 32) 4, - 1, - 8, - 2, - 16, - 4, - IF_EXT_PARTITION(32, 8) + 1, 2, + 1, 2, + 4, 2, + 4, 8, + 4, 8, + 16, 8, + 16, IF_EXT_PARTITION(32, 16, 32) 4, + 1, 8, + 2, 16, + 4, IF_EXT_PARTITION(32, 8) }; static const uint8_t num_8x8_blocks_wide_lookup[BLOCK_SIZES_ALL] = { - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 2, - 2, - 2, - 4, - 4, - 4, - 8, - 8, - IF_EXT_PARTITION(8, 16, 16) 1, - 2, - 1, - 4, - 2, - 8, - IF_EXT_PARTITION(4, 16) + 1, 1, + 1, 1, + 1, 2, + 2, 2, + 4, 4, + 4, 8, + 8, IF_EXT_PARTITION(8, 16, 16) 1, + 2, 1, + 4, 2, + 8, IF_EXT_PARTITION(4, 16) }; static const uint8_t num_8x8_blocks_high_lookup[BLOCK_SIZES_ALL] = { - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 2, - 1, - 2, - 4, - 2, - 4, - 8, - 4, - 8, - IF_EXT_PARTITION(16, 8, 16) 2, - 1, - 4, - 1, - 8, - 2, - IF_EXT_PARTITION(16, 4) + 1, 1, + 1, 1, + 2, 1, + 2, 4, + 2, 4, + 8, 4, + 8, IF_EXT_PARTITION(16, 8, 16) 2, + 1, 4, + 1, 8, + 2, IF_EXT_PARTITION(16, 4) }; // AOMMIN(3, AOMMIN(b_width_log2(bsize), b_height_log2(bsize))) static const uint8_t size_group_lookup[BLOCK_SIZES_ALL] = { - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 2, - 2, - 2, - 3, - 3, - 3, - 3, - IF_EXT_PARTITION(3, 3, 3) 0, - 0, - 1, - 1, - 2, - 2, - IF_EXT_PARTITION(3, 3) + 0, 0, + 0, 1, + 1, 1, + 2, 2, + 2, 3, + 3, 3, + 3, IF_EXT_PARTITION(3, 3, 3) 0, + 0, 1, + 1, 2, + 2, IF_EXT_PARTITION(3, 3) }; static const uint8_t num_pels_log2_lookup[BLOCK_SIZES_ALL] = { - 2, - 3, - 3, - 4, - 5, - 5, - 6, - 7, - 7, - 8, - 9, - 9, - 10, - 11, - 11, - 12, - IF_EXT_PARTITION(13, 13, 14) 6, - 6, - 8, - 8, - 10, - 10, - IF_EXT_PARTITION(12, 12) + 4, 5, + 5, 6, + 7, 7, + 8, 9, + 9, 10, + 11, 11, + 12, IF_EXT_PARTITION(13, 13, 14) 6, + 6, 8, + 8, 10, + 10, IF_EXT_PARTITION(12, 12) }; /* clang-format off */ @@ -355,8 +199,6 @@ #endif // CONFIG_EXT_PARTITION_TYPES { { // PARTITION_NONE - // 2X2, 2X4, 4X2, - BLOCK_2X2, BLOCK_2X4, BLOCK_4X2, // 4X4 BLOCK_4X4, // 4X8, 8X4, 8X8 @@ -380,10 +222,8 @@ BLOCK_32X128, BLOCK_128X32 #endif // CONFIG_EXT_PARTITION }, { // PARTITION_HORZ - // 2X2, 2X4, 4X2, - BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, // 4X4 - BLOCK_4X2, + BLOCK_INVALID, // 4X8, 8X4, 8X8 BLOCK_INVALID, BLOCK_INVALID, BLOCK_8X4, // 8X16, 16X8, 16X16 @@ -405,10 +245,8 @@ BLOCK_INVALID, BLOCK_INVALID #endif // CONFIG_EXT_PARTITION }, { // PARTITION_VERT - // 2X2, 2X4, 4X2, - BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, // 4X4 - BLOCK_2X4, + BLOCK_INVALID, // 4X8, 8X4, 8X8 BLOCK_INVALID, BLOCK_INVALID, BLOCK_4X8, // 8X16, 16X8, 16X16 @@ -430,8 +268,6 @@ BLOCK_INVALID, BLOCK_INVALID #endif // CONFIG_EXT_PARTITION }, { // PARTITION_SPLIT - // 2X2, 2X4, 4X2, - BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, // 4X4 BLOCK_INVALID, // 4X8, 8X4, 8X8 @@ -456,8 +292,6 @@ #endif // CONFIG_EXT_PARTITION #if CONFIG_EXT_PARTITION_TYPES }, { // PARTITION_HORZ_A - // 2X2, 2X4, 4X2, - BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, // 4X4 BLOCK_INVALID, // 4X8, 8X4, 8X8 @@ -481,8 +315,6 @@ BLOCK_INVALID, BLOCK_INVALID #endif // CONFIG_EXT_PARTITION }, { // PARTITION_HORZ_B - // 2X2, 2X4, 4X2, - BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, // 4X4 BLOCK_INVALID, // 4X8, 8X4, 8X8 @@ -506,8 +338,6 @@ BLOCK_INVALID, BLOCK_INVALID #endif // CONFIG_EXT_PARTITION }, { // PARTITION_VERT_A - // 2X2, 2X4, 4X2, - BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, // 4X4 BLOCK_INVALID, // 4X8, 8X4, 8X8 @@ -531,8 +361,6 @@ BLOCK_INVALID, BLOCK_INVALID #endif // CONFIG_EXT_PARTITION }, { // PARTITION_VERT_B - // 2X2, 2X4, 4X2, - BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, // 4X4 BLOCK_INVALID, // 4X8, 8X4, 8X8 @@ -556,8 +384,6 @@ BLOCK_INVALID, BLOCK_INVALID #endif // CONFIG_EXT_PARTITION }, { // PARTITION_HORZ_4 - // 2X2, 2X4, 4X2, - BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, // 4X4 BLOCK_INVALID, // 4X8, 8X4, 8X8 @@ -581,8 +407,6 @@ BLOCK_INVALID, BLOCK_INVALID #endif // CONFIG_EXT_PARTITION }, { // PARTITION_VERT_4 - // 2X2, 2X4, 4X2, - BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, // 4X4 BLOCK_INVALID, // 4X8, 8X4, 8X8 @@ -610,8 +434,6 @@ }; static const TX_SIZE max_txsize_lookup[BLOCK_SIZES_ALL] = { - // 2X2, 2X4, 4X2, - TX_4X4, TX_4X4, TX_4X4, // 4X4 TX_4X4, // 4X8, 8X4, 8X8 @@ -650,8 +472,6 @@ static const TX_SIZE max_txsize_rect_lookup[2][BLOCK_SIZES_ALL] = { { // Intra - // 2X2, 2X4, 4X2, - TX_4X4, TX_4X4, TX_4X4, // 4X4 TX_4X4, // 4X8, 8X4, 8X8 @@ -710,8 +530,6 @@ #endif // CONFIG_EXT_PARTITION }, { // Inter - // 2X2, 2X4, 4X2, - TX_4X4, TX_4X4, TX_4X4, // 4X4 TX_4X4, // 4X8, 8X4, 8X8 @@ -1157,29 +975,26 @@ static const BLOCK_SIZE ss_size_lookup[BLOCK_SIZES_ALL][2][2] = { // ss_x == 0 ss_x == 0 ss_x == 1 ss_x == 1 // ss_y == 0 ss_y == 1 ss_y == 0 ss_y == 1 - { { BLOCK_2X2, BLOCK_INVALID }, { BLOCK_INVALID, BLOCK_INVALID } }, - { { BLOCK_2X4, BLOCK_INVALID }, { BLOCK_INVALID, BLOCK_INVALID } }, - { { BLOCK_4X2, BLOCK_INVALID }, { BLOCK_INVALID, BLOCK_INVALID } }, - { { BLOCK_4X4, BLOCK_4X2 }, { BLOCK_2X4, BLOCK_2X2 } }, - { { BLOCK_4X8, BLOCK_4X4 }, { BLOCK_INVALID, BLOCK_2X4 } }, - { { BLOCK_8X4, BLOCK_INVALID }, { BLOCK_4X4, BLOCK_4X2 } }, + { { BLOCK_4X4, BLOCK_4X4 }, { BLOCK_4X4, BLOCK_4X4 } }, + { { BLOCK_4X8, BLOCK_4X4 }, { BLOCK_4X4, BLOCK_4X4 } }, + { { BLOCK_8X4, BLOCK_4X4 }, { BLOCK_4X4, BLOCK_4X4 } }, { { BLOCK_8X8, BLOCK_8X4 }, { BLOCK_4X8, BLOCK_4X4 } }, - { { BLOCK_8X16, BLOCK_8X8 }, { BLOCK_INVALID, BLOCK_4X8 } }, - { { BLOCK_16X8, BLOCK_INVALID }, { BLOCK_8X8, BLOCK_8X4 } }, + { { BLOCK_8X16, BLOCK_8X8 }, { BLOCK_4X16, BLOCK_4X8 } }, + { { BLOCK_16X8, BLOCK_16X4 }, { BLOCK_8X8, BLOCK_8X4 } }, { { BLOCK_16X16, BLOCK_16X8 }, { BLOCK_8X16, BLOCK_8X8 } }, - { { BLOCK_16X32, BLOCK_16X16 }, { BLOCK_INVALID, BLOCK_8X16 } }, - { { BLOCK_32X16, BLOCK_INVALID }, { BLOCK_16X16, BLOCK_16X8 } }, + { { BLOCK_16X32, BLOCK_16X16 }, { BLOCK_8X32, BLOCK_8X16 } }, + { { BLOCK_32X16, BLOCK_32X8 }, { BLOCK_16X16, BLOCK_16X8 } }, { { BLOCK_32X32, BLOCK_32X16 }, { BLOCK_16X32, BLOCK_16X16 } }, - { { BLOCK_32X64, BLOCK_32X32 }, { BLOCK_INVALID, BLOCK_16X32 } }, - { { BLOCK_64X32, BLOCK_INVALID }, { BLOCK_32X32, BLOCK_32X16 } }, + { { BLOCK_32X64, BLOCK_32X32 }, { BLOCK_16X64, BLOCK_16X32 } }, + { { BLOCK_64X32, BLOCK_64X16 }, { BLOCK_32X32, BLOCK_32X16 } }, { { BLOCK_64X64, BLOCK_64X32 }, { BLOCK_32X64, BLOCK_32X32 } }, #if CONFIG_EXT_PARTITION - { { BLOCK_64X128, BLOCK_64X64 }, { BLOCK_INVALID, BLOCK_32X64 } }, - { { BLOCK_128X64, BLOCK_INVALID }, { BLOCK_64X64, BLOCK_64X32 } }, + { { BLOCK_64X128, BLOCK_64X64 }, { BLOCK_32X128, BLOCK_32X64 } }, + { { BLOCK_128X64, BLOCK_128X32 }, { BLOCK_64X64, BLOCK_64X32 } }, { { BLOCK_128X128, BLOCK_128X64 }, { BLOCK_64X128, BLOCK_64X64 } }, #endif // CONFIG_EXT_PARTITION - { { BLOCK_4X16, BLOCK_4X8 }, { BLOCK_INVALID, BLOCK_4X8 } }, - { { BLOCK_16X4, BLOCK_INVALID }, { BLOCK_8X4, BLOCK_8X4 } }, + { { BLOCK_4X16, BLOCK_4X8 }, { BLOCK_4X16, BLOCK_4X8 } }, + { { BLOCK_16X4, BLOCK_16X4 }, { BLOCK_8X4, BLOCK_8X4 } }, { { BLOCK_8X32, BLOCK_8X16 }, { BLOCK_INVALID, BLOCK_4X16 } }, { { BLOCK_32X8, BLOCK_INVALID }, { BLOCK_16X8, BLOCK_16X4 } }, { { BLOCK_16X64, BLOCK_16X32 }, { BLOCK_INVALID, BLOCK_8X32 } }, @@ -1194,90 +1009,6 @@ // ss_x == 0 ss_x == 0 ss_x == 1 ss_x == 1 // ss_y == 0 ss_y == 1 ss_y == 0 ss_y == 1 { - // BLOCK_2x2 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#if CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#endif // CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#if CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#endif // CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#if CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#endif // CONFIG_TX64X64 - }, - { - // BLOCK_2X4 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#if CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#endif // CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#if CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#endif // CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#if CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#endif // CONFIG_TX64X64 - }, - { - // BLOCK_4X2 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#if CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#endif // CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#if CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#endif // CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#if CONFIG_TX64X64 - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, - { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, -#endif // CONFIG_TX64X64 - }, - { // BLOCK_4X4 { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } }, @@ -1964,9 +1695,6 @@ PARTITION_CONTEXT left; } partition_context_lookup[BLOCK_SIZES_ALL] = { #if CONFIG_EXT_PARTITION - { 31, 31 }, // 2X2 - {0b11111, 0b11111} - { 31, 31 }, // 2X4 - {0b11111, 0b11111} - { 31, 31 }, // 4X2 - {0b11111, 0b11111} { 31, 31 }, // 4X4 - {0b11111, 0b11111} { 31, 30 }, // 4X8 - {0b11111, 0b11110} { 30, 31 }, // 8X4 - {0b11110, 0b11111} @@ -1983,7 +1711,6 @@ { 16, 0 }, // 64X128- {0b10000, 0b00000} { 0, 16 }, // 128X64- {0b00000, 0b10000} { 0, 0 }, // 128X128-{0b00000, 0b00000} - { 31, 28 }, // 4X16 - {0b11111, 0b11100} { 28, 31 }, // 16X4 - {0b11100, 0b11111} { 30, 24 }, // 8X32 - {0b11110, 0b11000} @@ -1993,9 +1720,6 @@ { 24, 0 }, // 32X128- {0b11000, 0b00000} { 0, 24 }, // 128X32- {0b00000, 0b11000} #else - { 15, 15 }, // 2X2 - {0b1111, 0b1111} - { 15, 15 }, // 2X4 - {0b1111, 0b1111} - { 15, 15 }, // 4X2 - {0b1111, 0b1111} { 15, 15 }, // 4X4 - {0b1111, 0b1111} { 15, 14 }, // 4X8 - {0b1111, 0b1110} { 14, 15 }, // 8X4 - {0b1110, 0b1111} @@ -2009,7 +1733,6 @@ { 8, 0 }, // 32X64 - {0b1000, 0b0000} { 0, 8 }, // 64X32 - {0b0000, 0b1000} { 0, 0 }, // 64X64 - {0b0000, 0b0000} - { 15, 12 }, // 4X16 - {0b1111, 0b1100} { 12, 15 }, // 16X4 - {0b1100, 0b1111} { 8, 14 }, // 8X32 - {0b1110, 0b1000}
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c index 47c22b8..1a2328e 100644 --- a/av1/common/entropymode.c +++ b/av1/common/entropymode.c
@@ -621,7 +621,6 @@ { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, - { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, { AOM_CDF2(16384) }, #if CONFIG_EXT_PARTITION { AOM_CDF2(16384) }, // 255, 1 @@ -637,14 +636,13 @@ #else static const aom_cdf_prob default_compound_type_cdf[BLOCK_SIZES_ALL][CDF_SIZE(COMPOUND_TYPES)] = { - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(32640, 32704) }, { AOM_CDF3(32640, 32704) }, - { AOM_CDF3(8448, 13293) }, { AOM_CDF3(9216, 12436) }, - { AOM_CDF3(10112, 12679) }, { AOM_CDF3(9088, 10753) }, - { AOM_CDF3(10368, 12906) }, { AOM_CDF3(10368, 12643) }, - { AOM_CDF3(8832, 10609) }, { AOM_CDF3(13312, 13388) }, - { AOM_CDF3(12672, 12751) }, { AOM_CDF3(9600, 9691) }, + { AOM_CDF3(16384, 24576) }, { AOM_CDF3(32640, 32704) }, + { AOM_CDF3(32640, 32704) }, { AOM_CDF3(8448, 13293) }, + { AOM_CDF3(9216, 12436) }, { AOM_CDF3(10112, 12679) }, + { AOM_CDF3(9088, 10753) }, { AOM_CDF3(10368, 12906) }, + { AOM_CDF3(10368, 12643) }, { AOM_CDF3(8832, 10609) }, + { AOM_CDF3(13312, 13388) }, { AOM_CDF3(12672, 12751) }, + { AOM_CDF3(9600, 9691) }, #if CONFIG_EXT_PARTITION { AOM_CDF3(32640, 32641) }, // 255, 1 { AOM_CDF3(32640, 32641) }, { AOM_CDF3(32640, 32641) }, @@ -675,7 +673,6 @@ static const aom_cdf_prob default_wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = { { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, - { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(194 * 128) }, { AOM_CDF2(213 * 128) }, { AOM_CDF2(217 * 128) }, { AOM_CDF2(222 * 128) }, { AOM_CDF2(224 * 128) }, { AOM_CDF2(226 * 128) }, { AOM_CDF2(220 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, @@ -697,15 +694,14 @@ #if !CONFIG_EXT_WARPED_MOTION 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 }, + { 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 }, + { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, + { 208, 200 }, #if CONFIG_EXT_PARTITION { 252, 200 }, { 252, 200 } #endif // CONFIG_EXT_PARTITION @@ -715,43 +711,40 @@ default_motion_mode_prob[MOTION_MODE_CTX][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 }, + { 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 }, + { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, + { 208, 200 }, #if CONFIG_EXT_PARTITION { 252, 200 }, { 252, 200 }, #endif // CONFIG_EXT_PARTITION }, { - { 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 }, + { 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 }, + { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, + { 208, 200 }, #if CONFIG_EXT_PARTITION { 252, 200 }, { 252, 200 }, #endif // CONFIG_EXT_PARTITION }, { - { 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 }, + { 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 }, + { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, { 208, 200 }, + { 208, 200 }, #if CONFIG_EXT_PARTITION { 252, 200 }, { 252, 200 }, #endif // CONFIG_EXT_PARTITION @@ -763,13 +756,12 @@ static const aom_cdf_prob default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = { { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(7936, 19091) }, { AOM_CDF3(4991, 19205) }, - { AOM_CDF3(4992, 19314) }, { AOM_CDF3(15104, 21590) }, - { AOM_CDF3(9855, 21043) }, { AOM_CDF3(12800, 22238) }, - { AOM_CDF3(24320, 26498) }, { AOM_CDF3(26496, 28995) }, - { AOM_CDF3(25216, 28166) }, { AOM_CDF3(30592, 31238) }, + { AOM_CDF3(16384, 24576) }, { AOM_CDF3(7936, 19091) }, + { AOM_CDF3(4991, 19205) }, { AOM_CDF3(4992, 19314) }, + { AOM_CDF3(15104, 21590) }, { AOM_CDF3(9855, 21043) }, + { AOM_CDF3(12800, 22238) }, { AOM_CDF3(24320, 26498) }, + { AOM_CDF3(26496, 28995) }, { AOM_CDF3(25216, 28166) }, + { AOM_CDF3(30592, 31238) }, #if CONFIG_EXT_PARTITION { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, @@ -787,13 +779,12 @@ MOTION_MODES)] = { { { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(7936, 19091) }, { AOM_CDF3(4991, 19205) }, - { AOM_CDF3(4992, 19314) }, { AOM_CDF3(15104, 21590) }, - { AOM_CDF3(9855, 21043) }, { AOM_CDF3(12800, 22238) }, - { AOM_CDF3(24320, 26498) }, { AOM_CDF3(26496, 28995) }, - { AOM_CDF3(25216, 28166) }, { AOM_CDF3(30592, 31238) }, + { AOM_CDF3(16384, 24576) }, { AOM_CDF3(7936, 19091) }, + { AOM_CDF3(4991, 19205) }, { AOM_CDF3(4992, 19314) }, + { AOM_CDF3(15104, 21590) }, { AOM_CDF3(9855, 21043) }, + { AOM_CDF3(12800, 22238) }, { AOM_CDF3(24320, 26498) }, + { AOM_CDF3(26496, 28995) }, { AOM_CDF3(25216, 28166) }, + { AOM_CDF3(30592, 31238) }, #if CONFIG_EXT_PARTITION { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, @@ -807,13 +798,12 @@ }, { { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(7936, 19091) }, { AOM_CDF3(4991, 19205) }, - { AOM_CDF3(4992, 19314) }, { AOM_CDF3(15104, 21590) }, - { AOM_CDF3(9855, 21043) }, { AOM_CDF3(12800, 22238) }, - { AOM_CDF3(24320, 26498) }, { AOM_CDF3(26496, 28995) }, - { AOM_CDF3(25216, 28166) }, { AOM_CDF3(30592, 31238) }, + { AOM_CDF3(16384, 24576) }, { AOM_CDF3(7936, 19091) }, + { AOM_CDF3(4991, 19205) }, { AOM_CDF3(4992, 19314) }, + { AOM_CDF3(15104, 21590) }, { AOM_CDF3(9855, 21043) }, + { AOM_CDF3(12800, 22238) }, { AOM_CDF3(24320, 26498) }, + { AOM_CDF3(26496, 28995) }, { AOM_CDF3(25216, 28166) }, + { AOM_CDF3(30592, 31238) }, #if CONFIG_EXT_PARTITION { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, @@ -827,13 +817,12 @@ }, { { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, - { AOM_CDF3(7936, 19091) }, { AOM_CDF3(4991, 19205) }, - { AOM_CDF3(4992, 19314) }, { AOM_CDF3(15104, 21590) }, - { AOM_CDF3(9855, 21043) }, { AOM_CDF3(12800, 22238) }, - { AOM_CDF3(24320, 26498) }, { AOM_CDF3(26496, 28995) }, - { AOM_CDF3(25216, 28166) }, { AOM_CDF3(30592, 31238) }, + { AOM_CDF3(16384, 24576) }, { AOM_CDF3(7936, 19091) }, + { AOM_CDF3(4991, 19205) }, { AOM_CDF3(4992, 19314) }, + { AOM_CDF3(15104, 21590) }, { AOM_CDF3(9855, 21043) }, + { AOM_CDF3(12800, 22238) }, { AOM_CDF3(24320, 26498) }, + { AOM_CDF3(26496, 28995) }, { AOM_CDF3(25216, 28166) }, + { AOM_CDF3(30592, 31238) }, #if CONFIG_EXT_PARTITION { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, @@ -850,7 +839,6 @@ static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = { { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, - { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(45 * 128) }, { AOM_CDF2(79 * 128) }, { AOM_CDF2(75 * 128) }, { AOM_CDF2(130 * 128) }, { AOM_CDF2(141 * 128) }, { AOM_CDF2(144 * 128) }, { AOM_CDF2(208 * 128) }, { AOM_CDF2(201 * 128) }, { AOM_CDF2(186 * 128) },
diff --git a/av1/common/enums.h b/av1/common/enums.h index 2d6184b..64b8864 100644 --- a/av1/common/enums.h +++ b/av1/common/enums.h
@@ -139,9 +139,6 @@ // type, so that we can save memory when they are used in structs/arrays. typedef enum ATTRIBUTE_PACKED { - BLOCK_2X2, - BLOCK_2X4, - BLOCK_4X2, BLOCK_4X4, BLOCK_4X8, BLOCK_8X4,
diff --git a/av1/common/reconinter.c b/av1/common/reconinter.c index 4b452bf..b152571 100644 --- a/av1/common/reconinter.c +++ b/av1/common/reconinter.c
@@ -244,9 +244,6 @@ { 0, NULL, NULL, 0, NULL }, { 0, NULL, NULL, 0, NULL }, { 0, NULL, NULL, 0, NULL }, - { 0, NULL, NULL, 0, NULL }, - { 0, NULL, NULL, 0, NULL }, - { 0, NULL, NULL, 0, NULL }, { 4, wedge_codebook_16_heqw, wedge_signflip_lookup[BLOCK_8X8], 0, wedge_masks[BLOCK_8X8] }, { 4, wedge_codebook_16_hgtw, wedge_signflip_lookup[BLOCK_8X16], 0, @@ -1462,7 +1459,6 @@ BLOCK_SIZE bsize_plane = ss_size_lookup[bsize][pd->subsampling_x][pd->subsampling_y]; - if (bsize_plane < BLOCK_4X4) return 1; switch (bsize_plane) { #if DISABLE_CHROMA_U8X8_OBMC case BLOCK_4X4: @@ -1838,7 +1834,6 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; static int ii_size_scales[BLOCK_SIZES_ALL] = { - 32, 32, 32, 32, 16, 16, 16, 8, 8, 8, 4, 4, 4, 2, 2, 2, 1, 1, 1, 16, 16, 8, 8, 4, 4, 2, 2 @@ -1851,7 +1846,6 @@ 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; static int ii_size_scales[BLOCK_SIZES_ALL] = { - 16, 16, 16, 16, 8, 8, 8, 4, 4, 4, 2, 2, 2, 1, 1, 1, 8, 8, 4, 4, 2, 2,
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c index 976fee4..1236699 100644 --- a/av1/common/reconintra.c +++ b/av1/common/reconintra.c
@@ -407,8 +407,6 @@ #if CONFIG_EXT_PARTITION /* clang-format off */ static const uint16_t *const orders[BLOCK_SIZES_ALL] = { - // 2X2, 2X4, 4X2 - NULL, NULL, NULL, // 4X4 orders_4x4, // 4X8, 8X4, 8X8 @@ -441,8 +439,6 @@ #else /* clang-format off */ static const uint16_t *const orders[BLOCK_SIZES_ALL] = { - // 2X2, 2X4, 4X2 - NULL, NULL, NULL, // 4X4 orders_8x8, // 4X8, 8X4, 8X8 @@ -481,8 +477,6 @@ #if CONFIG_EXT_PARTITION /* clang-format off */ static const uint16_t *const orders_vert[BLOCK_SIZES] = { - // 2X2, 2X4, 4X2 - NULL, NULL, NULL, // 4X4 NULL, // 4X8, 8X4, 8X8 @@ -500,8 +494,6 @@ #else /* clang-format off */ static const uint16_t *const orders_vert[BLOCK_SIZES] = { - // 2X2, 2X4, 4X2 - NULL, NULL, NULL, // 4X4 NULL, // 4X8, 8X4, 8X8 @@ -2780,8 +2772,7 @@ assert(blk_col == 0); assert(blk_row == 0); assert(is_cfl_allowed(mbmi)); - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(mbmi->sb_type, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(mbmi->sb_type, pd); assert(plane_bsize < BLOCK_SIZES_ALL); assert(block_size_wide[plane_bsize] == tx_size_wide[tx_size]); assert(block_size_high[plane_bsize] == tx_size_high[tx_size]);
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 8072282..0514f45 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c
@@ -430,8 +430,7 @@ const TX_SIZE tx_size = av1_get_tx_size(plane, xd); const int stepr = tx_size_high_unit[tx_size]; const int stepc = tx_size_wide_unit[tx_size]; - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsize, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsize, pd); int row, col; const int max_blocks_wide = max_block_wide(xd, plane_bsize, plane); const int max_blocks_high = max_block_high(xd, plane_bsize, plane); @@ -512,8 +511,7 @@ continue; const BLOCK_SIZE bsizec = scale_chroma_bsize(bsize, pd->subsampling_x, pd->subsampling_y); - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsizec, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsizec, pd); const int max_blocks_wide = max_block_wide(xd, plane_bsize, plane); const int max_blocks_high = max_block_high(xd, plane_bsize, plane); int row, col;
diff --git a/av1/decoder/decodetxb.c b/av1/decoder/decodetxb.c index f57ce36..1040a20 100644 --- a/av1/decoder/decodetxb.c +++ b/av1/decoder/decodetxb.c
@@ -402,8 +402,7 @@ struct macroblockd_plane *const pd = &xd->plane[plane]; const BLOCK_SIZE bsize = mbmi->sb_type; - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsize, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsize, pd); TXB_CTX txb_ctx; get_txb_ctx(plane_bsize, tx_size, plane, pd->above_context + col,
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 8a3d423..8f5eec5 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c
@@ -1941,8 +1941,7 @@ const BLOCK_SIZE bsizec = scale_chroma_bsize(bsize, pd->subsampling_x, pd->subsampling_y); - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsizec, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsizec, pd); TX_SIZE max_tx_size = get_vartx_max_txsize( xd, plane_bsize, pd->subsampling_x || pd->subsampling_y); @@ -2057,8 +2056,7 @@ const BLOCK_SIZE bsize = mbmi->sb_type; const BLOCK_SIZE bsizec = scale_chroma_bsize(bsize, pd->subsampling_x, pd->subsampling_y); - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsizec, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsizec, pd); const int num_4x4_w = block_size_wide[plane_bsize] >> tx_size_wide_log2[0];
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c index 2a0ce53..45b76c6 100644 --- a/av1/encoder/encodeframe.c +++ b/av1/encoder/encodeframe.c
@@ -153,54 +153,28 @@ #if CONFIG_FP_MB_STATS static const uint8_t num_16x16_blocks_wide_lookup[BLOCK_SIZES_ALL] = { - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 2, - 2, - 2, - 4, - 4, - IF_EXT_PARTITION(4, 8, 8) 1, - 1, - 1, - 2, - 2, - 4, - IF_EXT_PARTITION(2, 8) + 1, 1, + 1, 1, + 1, 1, + 1, 1, + 2, 2, + 2, 4, + 4, IF_EXT_PARTITION(4, 8, 8) 1, + 1, 1, + 2, 2, + 4, IF_EXT_PARTITION(2, 8) }; static const uint8_t num_16x16_blocks_high_lookup[BLOCK_SIZES_ALL] = { - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 2, - 1, - 2, - 4, - 2, - 4, - IF_EXT_PARTITION(8, 4, 8) 1, - 1, - 2, - 1, - 4, - 2, - IF_EXT_PARTITION(8, 2) + 1, 1, + 1, 1, + 1, 1, + 1, 2, + 1, 2, + 4, 2, + 4, IF_EXT_PARTITION(8, 4, 8) 1, + 1, 2, + 1, 4, + 2, IF_EXT_PARTITION(8, 2) }; #endif // CONFIG_FP_MB_STATS @@ -1853,7 +1827,6 @@ /* clang-format off */ static const BLOCK_SIZE min_partition_size[BLOCK_SIZES_ALL] = { - BLOCK_2X2, BLOCK_2X2, BLOCK_2X2, // 2x2, 2x4, 4x2 BLOCK_4X4, // 4x4 BLOCK_4X4, BLOCK_4X4, BLOCK_4X4, // 4x8, 8x4, 8x8 BLOCK_4X4, BLOCK_4X4, BLOCK_8X8, // 8x16, 16x8, 16x16 @@ -1870,7 +1843,6 @@ }; static const BLOCK_SIZE max_partition_size[BLOCK_SIZES_ALL] = { - BLOCK_4X4, BLOCK_4X4, BLOCK_4X4, // 2x2, 2x4, 4x2 BLOCK_8X8, // 4x4 BLOCK_16X16, BLOCK_16X16, BLOCK_16X16, // 4x8, 8x4, 8x8 BLOCK_32X32, BLOCK_32X32, BLOCK_32X32, // 8x16, 16x8, 16x16 @@ -1888,7 +1860,6 @@ // Next square block size less or equal than current block size. static const BLOCK_SIZE next_square_size[BLOCK_SIZES_ALL] = { - BLOCK_2X2, BLOCK_2X2, BLOCK_2X2, // 2x2, 2x4, 4x2 BLOCK_4X4, // 4x4 BLOCK_4X4, BLOCK_4X4, BLOCK_8X8, // 4x8, 8x4, 8x8 BLOCK_8X8, BLOCK_8X8, BLOCK_16X16, // 8x16, 16x8, 16x16 @@ -2257,7 +2228,7 @@ const int src_stride_uv = x->plane[plane].src.stride; const int dst_stride_uv = xd->plane[plane].dst.stride; const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(BLOCK_8X8, &xd->plane[plane])); + get_plane_block_size(BLOCK_8X8, &xd->plane[plane]); cpi->fn_ptr[plane_bsize].vf(src_plane_8x8[plane], src_stride_uv, dst_plane_8x8[plane], dst_stride_uv, &sse);
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index e12a6f2..6fa3932 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c
@@ -1569,13 +1569,6 @@ aom_highbd_8_sub_pixel_avg_variance4x4, aom_highbd_sad4x4x3_bits8, aom_highbd_sad4x4x8_bits8, aom_highbd_sad4x4x4d_bits8) - HIGHBD_BFP(BLOCK_2X2, NULL, NULL, aom_highbd_8_variance2x2, NULL, NULL, - NULL, NULL, NULL) - HIGHBD_BFP(BLOCK_4X2, NULL, NULL, aom_highbd_8_variance4x2, NULL, NULL, - NULL, NULL, NULL) - HIGHBD_BFP(BLOCK_2X4, NULL, NULL, aom_highbd_8_variance2x4, NULL, NULL, - NULL, NULL, NULL) - #if CONFIG_EXT_PARTITION HIGHBD_BFP(BLOCK_128X128, aom_highbd_sad128x128_bits8, aom_highbd_sad128x128_avg_bits8, @@ -1884,13 +1877,6 @@ aom_highbd_10_sub_pixel_avg_variance4x4, aom_highbd_sad4x4x3_bits10, aom_highbd_sad4x4x8_bits10, aom_highbd_sad4x4x4d_bits10) - HIGHBD_BFP(BLOCK_2X2, NULL, NULL, aom_highbd_10_variance2x2, NULL, NULL, - NULL, NULL, NULL) - HIGHBD_BFP(BLOCK_4X2, NULL, NULL, aom_highbd_10_variance4x2, NULL, NULL, - NULL, NULL, NULL) - HIGHBD_BFP(BLOCK_2X4, NULL, NULL, aom_highbd_10_variance2x4, NULL, NULL, - NULL, NULL, NULL) - #if CONFIG_EXT_PARTITION HIGHBD_BFP( BLOCK_128X128, aom_highbd_sad128x128_bits10, @@ -2201,13 +2187,6 @@ aom_highbd_12_sub_pixel_avg_variance4x4, aom_highbd_sad4x4x3_bits12, aom_highbd_sad4x4x8_bits12, aom_highbd_sad4x4x4d_bits12) - HIGHBD_BFP(BLOCK_2X2, NULL, NULL, aom_highbd_12_variance2x2, NULL, NULL, - NULL, NULL, NULL) - HIGHBD_BFP(BLOCK_4X2, NULL, NULL, aom_highbd_12_variance4x2, NULL, NULL, - NULL, NULL, NULL) - HIGHBD_BFP(BLOCK_2X4, NULL, NULL, aom_highbd_12_variance2x4, NULL, NULL, - NULL, NULL, NULL) - #if CONFIG_EXT_PARTITION HIGHBD_BFP( BLOCK_128X128, aom_highbd_sad128x128_bits12, @@ -2904,12 +2883,6 @@ aom_sad4x4x8, aom_sad4x4x4d, aom_jnt_sad4x4_avg, aom_jnt_sub_pixel_avg_variance4x4) - BFP(BLOCK_2X2, NULL, NULL, aom_variance2x2, NULL, NULL, NULL, NULL, NULL, - NULL, NULL) - BFP(BLOCK_2X4, NULL, NULL, aom_variance2x4, NULL, NULL, NULL, NULL, NULL, - NULL, NULL) - BFP(BLOCK_4X2, NULL, NULL, aom_variance4x2, NULL, NULL, NULL, NULL, NULL, - NULL, NULL) #else // CONFIG_JNT_COMP #if CONFIG_EXT_PARTITION_TYPES BFP(BLOCK_4X16, aom_sad4x16, aom_sad4x16_avg, aom_variance4x16, @@ -3013,9 +2986,6 @@ aom_sub_pixel_variance4x4, aom_sub_pixel_avg_variance4x4, aom_sad4x4x3, aom_sad4x4x8, aom_sad4x4x4d) - BFP(BLOCK_2X2, NULL, NULL, aom_variance2x2, NULL, NULL, NULL, NULL, NULL) - BFP(BLOCK_2X4, NULL, NULL, aom_variance2x4, NULL, NULL, NULL, NULL, NULL) - BFP(BLOCK_4X2, NULL, NULL, aom_variance4x2, NULL, NULL, NULL, NULL, NULL) #endif // CONFIG_JNT_COMP #define OBFP(BT, OSDF, OVF, OSVF) \
diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c index 483a1e5..e88794e 100644 --- a/av1/encoder/rd.c +++ b/av1/encoder/rd.c
@@ -54,7 +54,7 @@ // This table is used to correct for block size. // The factors here are << 2 (2 = x0.5, 32 = x8 etc). static const uint8_t rd_thresh_block_size_factor[BLOCK_SIZES_ALL] = { - 2, 2, 2, 2, 3, 3, 4, 6, 6, 8, 12, 12, 16, 24, 24, 32, + 2, 3, 3, 4, 6, 6, 8, 12, 12, 16, 24, 24, 32, #if CONFIG_EXT_PARTITION 48, 48, 64, #endif // CONFIG_EXT_PARTITION @@ -870,8 +870,7 @@ const struct macroblockd_plane *pd, ENTROPY_CONTEXT t_above[2 * MAX_MIB_SIZE], ENTROPY_CONTEXT t_left[2 * MAX_MIB_SIZE]) { - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsize, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsize, pd); get_entropy_contexts_plane(plane_bsize, tx_size, pd, t_above, t_left); }
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index 8c26e33..e8498fb 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -1515,7 +1515,7 @@ for (plane = plane_from; plane <= plane_to; ++plane) { struct macroblock_plane *const p = &x->plane[plane]; struct macroblockd_plane *const pd = &xd->plane[plane]; - const BLOCK_SIZE bs = AOMMAX(BLOCK_4X4, get_plane_block_size(bsize, pd)); + const BLOCK_SIZE bs = get_plane_block_size(bsize, pd); unsigned int sse; int rate; int64_t dist; @@ -1733,8 +1733,7 @@ const MB_MODE_INFO *mbmi = &xd->mi[0]->mbmi; const struct macroblockd_plane *pd = &xd->plane[plane]; const BLOCK_SIZE bsize = mbmi->sb_type; - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsize, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsize, pd); TXB_CTX txb_ctx; get_txb_ctx(plane_bsize, tx_size, plane, a, l, &txb_ctx); int cost = av1_cost_coeffs_txb(cm, x, plane, blk_row, blk_col, block, tx_size, @@ -4683,7 +4682,7 @@ static const uint32_t skip_pred_threshold[3][BLOCK_SIZES_ALL] = { { - 0, 0, 0, 50, 50, 50, 55, 47, 47, 53, 53, 53, 53, 53, 53, 53, + 50, 50, 50, 55, 47, 47, 53, 53, 53, 53, 53, 53, 53, #if CONFIG_EXT_PARTITION 53, 53, 53, #endif @@ -4693,7 +4692,7 @@ #endif }, { - 0, 0, 0, 69, 69, 69, 67, 68, 68, 53, 53, 53, 53, 53, 53, 53, + 69, 69, 69, 67, 68, 68, 53, 53, 53, 53, 53, 53, 53, #if CONFIG_EXT_PARTITION 53, 53, 53, #endif @@ -4703,7 +4702,7 @@ #endif }, { - 0, 0, 0, 70, 73, 73, 70, 73, 73, 58, 58, 58, 58, 58, 58, 58, + 70, 73, 73, 70, 73, 73, 58, 58, 58, 58, 58, 58, 58, #if CONFIG_EXT_PARTITION 58, 58, 58, #endif @@ -5434,8 +5433,8 @@ const BLOCK_SIZE bsize = mbmi->sb_type; #if CONFIG_DEBUG assert(is_cfl_allowed(mbmi)); - const BLOCK_SIZE plane_bsize = AOMMAX( - BLOCK_4X4, get_plane_block_size(mbmi->sb_type, &xd->plane[AOM_PLANE_U])); + const BLOCK_SIZE plane_bsize = + get_plane_block_size(mbmi->sb_type, &xd->plane[AOM_PLANE_U]); assert(plane_bsize < BLOCK_SIZES_ALL); assert(block_size_wide[plane_bsize] == tx_size_wide[tx_size]); assert(block_size_high[plane_bsize] == tx_size_high[tx_size]);
diff --git a/av1/encoder/tokenize.c b/av1/encoder/tokenize.c index d2acee8..4348d68 100644 --- a/av1/encoder/tokenize.c +++ b/av1/encoder/tokenize.c
@@ -620,8 +620,7 @@ const struct macroblockd_plane *const pd = &xd->plane[plane]; const BLOCK_SIZE bsizec = scale_chroma_bsize(bsize, pd->subsampling_x, pd->subsampling_y); - const BLOCK_SIZE plane_bsize = - AOMMAX(BLOCK_4X4, get_plane_block_size(bsizec, pd)); + const BLOCK_SIZE plane_bsize = get_plane_block_size(bsizec, pd); const int mi_width = block_size_wide[plane_bsize] >> tx_size_wide_log2[0]; const int mi_height = block_size_high[plane_bsize] >> tx_size_wide_log2[0]; TX_SIZE max_tx_size = get_vartx_max_txsize(
diff --git a/examples/inspect.c b/examples/inspect.c index 894cacb..a78c4e4 100644 --- a/examples/inspect.c +++ b/examples/inspect.c
@@ -148,7 +148,6 @@ }; const map_entry block_size_map[] = { - ENUM(BLOCK_2X2), ENUM(BLOCK_2X4), ENUM(BLOCK_4X2), ENUM(BLOCK_4X4), ENUM(BLOCK_4X8), ENUM(BLOCK_8X4), ENUM(BLOCK_8X8), ENUM(BLOCK_8X16), ENUM(BLOCK_16X8), ENUM(BLOCK_16X16), ENUM(BLOCK_16X32), ENUM(BLOCK_32X16),