init_allowed_partitions: fix logic for Uneven 4-way
Old code was working by accident, due to other logic downstream.
But we correct the logic for safety.
No change in stats.
diff --git a/av1/encoder/encodeframe_utils.h b/av1/encoder/encodeframe_utils.h
index 45bf7a4..c714e9c 100644
--- a/av1/encoder/encodeframe_utils.h
+++ b/av1/encoder/encodeframe_utils.h
@@ -203,7 +203,6 @@
#if CONFIG_ML_PART_SPLIT
bool prune_partition_split;
#endif // CONFIG_ML_PART_SPLIT
- bool ext_partition_allowed;
bool partition_3_allowed[NUM_RECT_PARTS];
bool prune_partition_3[NUM_RECT_PARTS];
bool partition_4a_allowed[NUM_RECT_PARTS];
diff --git a/av1/encoder/partition_search.c b/av1/encoder/partition_search.c
index 36ec2b7..67faefc 100644
--- a/av1/encoder/partition_search.c
+++ b/av1/encoder/partition_search.c
@@ -3851,7 +3851,7 @@
is_bsize_geq(vert_subsize, blk_params->min_partition_size) &&
is_vert_size_valid;
- const int ext_partition_allowed = part_search_state->ext_partition_allowed =
+ const int ext_partition_allowed =
part_search_state->is_block_splittable &&
part_cfg->enable_ext_partitions &&
is_ext_partition_allowed_at_bsize(bsize, tree_type);
@@ -3887,9 +3887,9 @@
;
const int uneven_4way_partition_allowed =
- part_search_state->ext_partition_allowed =
- part_cfg->enable_ext_partitions &&
- is_uneven_4way_partition_allowed_at_bsize(bsize, tree_type);
+ part_search_state->is_block_splittable &&
+ part_cfg->enable_ext_partitions &&
+ is_uneven_4way_partition_allowed_at_bsize(bsize, tree_type);
part_search_state->partition_4a_allowed[HORZ] =
uneven_4way_partition_allowed &&
get_partition_subsize(bsize, PARTITION_HORZ_4A) != BLOCK_INVALID &&