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,