Fix a crash in av1_use_partition_mi()
When ERP is on, the recursion needs to handle sub-8x8 coding blocks
separately as well. Otherwise, it will crash because pc_tree node
is not allocated for the second blocks.
diff --git a/av1/encoder/partition_search.c b/av1/encoder/partition_search.c
index 1fb1661..d02e9cc 100644
--- a/av1/encoder/partition_search.c
+++ b/av1/encoder/partition_search.c
@@ -3343,7 +3343,10 @@
invalid_rdc);
av1_init_rd_stats(&last_part_rdc);
#endif // CONFIG_EXT_RECUR_PARTITIONS
- if (last_part_rdc.rate != INT_MAX && bsize >= BLOCK_8X8 &&
+ if (last_part_rdc.rate != INT_MAX &&
+#if !CONFIG_EXT_RECUR_PARTITIONS
+ bsize >= BLOCK_8X8 &&
+#endif // !CONFIG_EXT_RECUR_PARTITIONS
mi_row + hbs_h < mi_params->mi_rows) {
RD_STATS tmp_rdc;
av1_init_rd_stats(&tmp_rdc);
@@ -3394,7 +3397,10 @@
PARTITION_VERT, subsize, pc_tree->vertical[0], invalid_rdc);
av1_init_rd_stats(&last_part_rdc);
#endif // CONFIG_EXT_RECUR_PARTITIONS
- if (last_part_rdc.rate != INT_MAX && bsize >= BLOCK_8X8 &&
+ if (last_part_rdc.rate != INT_MAX &&
+#if !CONFIG_EXT_RECUR_PARTITIONS
+ bsize >= BLOCK_8X8 &&
+#endif // !CONFIG_EXT_RECUR_PARTITIONS
mi_col + hbs_w < mi_params->mi_cols) {
RD_STATS tmp_rdc;
av1_init_rd_stats(&tmp_rdc);