ERP: remove ERP_LIMIT_PARTITION3_128 flag This flag should be always on because it is decided that block partitioning should be aligned with the 64x64 grid.
diff --git a/av1/common/av1_common_int.h b/av1/common/av1_common_int.h index 9a299f2..6760fec 100644 --- a/av1/common/av1_common_int.h +++ b/av1/common/av1_common_int.h
@@ -2228,11 +2228,7 @@ case BLOCK_4X8: case BLOCK_8X4: return (PARTITION_LONG_SIDE_2_REC + 1); case BLOCK_64X128: -#if ERP_LIMIT_PARTITION3_128 case BLOCK_128X64: return (PARTITION_LONG_SIDE_2_REC + 1); -#else - case BLOCK_128X64: return (PARTITION_LONG_SIDE_3_REC + 1); -#endif case BLOCK_8X16: case BLOCK_16X8: case BLOCK_16X32:
diff --git a/av1/common/common_data.h b/av1/common/common_data.h index cc560a5..baf4f49 100644 --- a/av1/common/common_data.h +++ b/av1/common/common_data.h
@@ -129,34 +129,16 @@ BLOCK_32X16, }, { // PARTITION_HORZ_3 BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_8X4, - BLOCK_INVALID, BLOCK_16X4, BLOCK_16X8, - BLOCK_INVALID, - BLOCK_32X8, BLOCK_32X16, - BLOCK_INVALID, - BLOCK_64X16, -#if ERP_LIMIT_PARTITION3_128 - BLOCK_INVALID, -#else - BLOCK_64X32, -#endif - BLOCK_INVALID, BLOCK_INVALID, - BLOCK_4X4, BLOCK_INVALID, BLOCK_8X8, BLOCK_INVALID, BLOCK_16X16, - BLOCK_INVALID, + BLOCK_INVALID, BLOCK_16X4, BLOCK_16X8, BLOCK_INVALID, BLOCK_32X8, + BLOCK_32X16, BLOCK_INVALID, BLOCK_64X16, BLOCK_INVALID, BLOCK_INVALID, + BLOCK_INVALID, BLOCK_4X4, BLOCK_INVALID, BLOCK_8X8, BLOCK_INVALID, + BLOCK_16X16, BLOCK_INVALID, }, { // PARTITION_VERT_3 BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, - BLOCK_4X8, BLOCK_4X16, - BLOCK_INVALID, - BLOCK_8X16, BLOCK_8X32, - BLOCK_INVALID, - BLOCK_16X32, BLOCK_16X64, BLOCK_INVALID, -#if ERP_LIMIT_PARTITION3_128 - BLOCK_INVALID, -#else - BLOCK_32X64, -#endif - BLOCK_INVALID, - BLOCK_INVALID, BLOCK_4X4, BLOCK_INVALID, BLOCK_8X8, - BLOCK_INVALID, BLOCK_16X16, + BLOCK_4X8, BLOCK_4X16, BLOCK_INVALID, BLOCK_8X16, BLOCK_8X32, BLOCK_INVALID, + BLOCK_16X32, BLOCK_16X64, BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, + BLOCK_INVALID, BLOCK_4X4, BLOCK_INVALID, BLOCK_8X8, BLOCK_INVALID, + BLOCK_16X16, }, { // PARTITION_SPLIT BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_4X4, BLOCK_INVALID, BLOCK_INVALID, BLOCK_8X8, BLOCK_INVALID, BLOCK_INVALID, BLOCK_16X16,
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c index 6c79b60..895ee7d 100644 --- a/av1/common/entropymode.c +++ b/av1/common/entropymode.c
@@ -228,7 +228,6 @@ }; #endif // CONFIG_AIMC #if CONFIG_EXT_RECUR_PARTITIONS -#if ERP_LIMIT_PARTITION3_128 static const aom_cdf_prob default_partition_cdf[PARTITION_STRUCTURE_NUM][PARTITION_CONTEXTS][CDF_SIZE( EXT_PARTITION_TYPES)] = { { @@ -343,64 +342,6 @@ { AOM_CDF3(2286, 20850) }, } }; -#else // !ERP_LIMIT_PARTITION3_128 -static const aom_cdf_prob - default_partition_cdf[PARTITION_STRUCTURE_NUM][PARTITION_CONTEXTS][CDF_SIZE( - EXT_PARTITION_TYPES)] = { { - // 8x8 - { AOM_CDF3(22187, 28914) }, - { AOM_CDF3(17354, 25544) }, - { AOM_CDF3(16287, 28824) }, - { AOM_CDF3(15189, 27217) }, - // 16x16 - { AOM_CDF5(14665, 22357, 28960, 30645) }, - { AOM_CDF5(7804, 13703, 27420, 29025) }, - { AOM_CDF5(7508, 23180, 28044, 30882) }, - { AOM_CDF5(5058, 16122, 25275, 28359) }, - // 32x32 - { AOM_CDF5(11795, 19886, 27120, 29401) }, - { AOM_CDF5(5127, 12682, 26374, 28387) }, - { AOM_CDF5(5522, 19614, 27318, 30668) }, - { AOM_CDF5(3450, 12856, 24163, 28493) }, - // 64x64 - { AOM_CDF5(21562, 26118, 30872, 31711) }, - { AOM_CDF5(5489, 14515, 28365, 29969) }, - { AOM_CDF5(5873, 19195, 28209, 31603) }, - { AOM_CDF5(1674, 15579, 28805, 31560) }, - // 128x128 - { AOM_CDF3(25710, 28640) }, - { AOM_CDF3(7561, 14721) }, - { AOM_CDF3(9603, 21021) }, - { AOM_CDF3(1736, 12989) }, - }, - { - // 8x8 - { AOM_CDF3(22187, 28914) }, - { AOM_CDF3(17354, 25544) }, - { AOM_CDF3(16287, 28824) }, - { AOM_CDF3(15189, 27217) }, - // 16x16 - { AOM_CDF5(14665, 22357, 28960, 30645) }, - { AOM_CDF5(7804, 13703, 27420, 29025) }, - { AOM_CDF5(7508, 23180, 28044, 30882) }, - { AOM_CDF5(5058, 16122, 25275, 28359) }, - // 32x32 - { AOM_CDF5(11795, 19886, 27120, 29401) }, - { AOM_CDF5(5127, 12682, 26374, 28387) }, - { AOM_CDF5(5522, 19614, 27318, 30668) }, - { AOM_CDF5(3450, 12856, 24163, 28493) }, - // 64x64 - { AOM_CDF5(21562, 26118, 30872, 31711) }, - { AOM_CDF5(5489, 14515, 28365, 29969) }, - { AOM_CDF5(5873, 19195, 28209, 31603) }, - { AOM_CDF5(1674, 15579, 28805, 31560) }, - // 128x128 - { AOM_CDF3(25710, 28640) }, - { AOM_CDF3(7561, 14721) }, - { AOM_CDF3(9603, 21021) }, - { AOM_CDF3(1736, 12989) }, - } }; -#endif // ERP_LIMIT_PARTITION3_128 static const aom_cdf_prob default_limited_partition_cdf [PARTITION_STRUCTURE_NUM][NUM_LIMITED_PARTITION_PARENTS][PARTITION_CONTEXTS] @@ -714,7 +655,6 @@ #endif // CONFIG_EXT_RECUR_PARTITIONS #if CONFIG_EXT_RECUR_PARTITIONS -#if ERP_LIMIT_PARTITION3_128 static const aom_cdf_prob default_partition_rec_cdf[PARTITION_CONTEXTS_REC] [CDF_SIZE(PARTITION_TYPES_REC)] = { @@ -773,37 +713,6 @@ { AOM_CDF2(8532) }, { AOM_CDF2(8532) }, }; -#else // !ERP_LIMIT_PARTITION3_128 -static const aom_cdf_prob - default_partition_rec_cdf[PARTITION_CONTEXTS_REC] - [CDF_SIZE(PARTITION_TYPES_REC)] = { - // 8x4, 4x8 - { AOM_CDF2(30462) }, - { AOM_CDF2(25506) }, - { AOM_CDF2(27632) }, - { AOM_CDF2(19443) }, - // 16x8, 8x16 - { AOM_CDF4(19986, 29676, 30790) }, - { AOM_CDF4(12672, 24996, 30937) }, - { AOM_CDF4(16895, 30097, 30155) }, - { AOM_CDF4(10676, 22283, 25595) }, - // 32x16, 16x32 - { AOM_CDF4(13648, 24298, 31008) }, - { AOM_CDF4(6941, 18823, 31326) }, - { AOM_CDF4(8081, 19947, 30935) }, - { AOM_CDF4(4728, 17352, 30577) }, - // 64x32, 32x64 - { AOM_CDF4(14004, 23614, 30662) }, - { AOM_CDF4(5530, 18449, 30965) }, - { AOM_CDF4(6144, 19185, 31435) }, - { AOM_CDF4(7382, 19434, 30389) }, - // 128x64, 64x128 - { AOM_CDF3(15208, 24398) }, - { AOM_CDF3(6597, 18232) }, - { AOM_CDF3(9068, 21038) }, - { AOM_CDF3(10923, 21845) }, - }; -#endif // ERP_LIMIT_PARTITION3_128 // TODO(chiyotsai@google.com): Retune the cdf here static const aom_cdf_prob default_partition_middle_rec_cdf[PARTITION_CONTEXTS_REC]
diff --git a/av1/common/enums.h b/av1/common/enums.h index 26d6433..e410541 100644 --- a/av1/common/enums.h +++ b/av1/common/enums.h
@@ -297,7 +297,6 @@ #define PARTITION_CONTEXTS (PARTITION_BLOCK_SIZES * PARTITION_PLOFFSET) #if CONFIG_EXT_RECUR_PARTITIONS -#define ERP_LIMIT_PARTITION3_128 1 // If the parent block is PARTITION_3, then we might have a smaller set of // partitions #define NUM_LIMITED_PARTITION_PARENTS (2)
diff --git a/tools/aom_entropy_optimizer.c b/tools/aom_entropy_optimizer.c index d9a9dc1..a287402 100644 --- a/tools/aom_entropy_optimizer.c +++ b/tools/aom_entropy_optimizer.c
@@ -455,36 +455,9 @@ cts_each_dim[0] = PARTITION_CONTEXTS_REC; cts_each_dim[1] = PARTITION_TYPES_REC; - int part_types_each_ctx_rec[PARTITION_CONTEXTS_REC] = { - 2, - 2, - 2, - 2, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, - 4, -#if ERP_LIMIT_PARTITION3_128 - 2, - 2, - 2, - 2 - }; -#else - 3, - 3, - 3, - 3 - }; -#endif + int part_types_each_ctx_rec[PARTITION_CONTEXTS_REC] = { 2, 2, 2, 2, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, + 4, 4, 2, 2, 2, 2 }; optimize_cdf_table_var_modes_2d( &fc.partition_rec[0][0], probsfile, 2, cts_each_dim, part_types_each_ctx_rec,