Consolidate prune extended partition search speed features

This patch combines prune_4_partition_using_split_info and
prune_ab_partition_using_split_info speed features

Change-Id: I3efc88dc995ea67d243134ff85287b81233dd5d3
diff --git a/av1/encoder/partition_search.c b/av1/encoder/partition_search.c
index 5f5cbfd..8d0bf74 100644
--- a/av1/encoder/partition_search.c
+++ b/av1/encoder/partition_search.c
@@ -3022,7 +3022,7 @@
   const int num_win_thresh = AOMMIN(3 * (MAXQ - x->qindex) / MAXQ + 1, 3);
 
   for (RECT_PART_TYPE i = HORZ; i < NUM_RECT_PARTS; i++) {
-    if (!(cpi->sf.part_sf.prune_4_partition_using_split_info &&
+    if (!(cpi->sf.part_sf.prune_ext_part_using_split_info &&
           part4_search_allowed[cur_part[i]]))
       continue;
     // Loop over split partitions.
diff --git a/av1/encoder/partition_strategy.c b/av1/encoder/partition_strategy.c
index 706df56..87b6084 100644
--- a/av1/encoder/partition_strategy.c
+++ b/av1/encoder/partition_strategy.c
@@ -1584,22 +1584,22 @@
 
   // Pruning: pruning AB partitions based on the number of horz/vert wins
   // in the current block and sub-blocks in PARTITION_SPLIT.
-  if (cpi->sf.part_sf.prune_ab_partition_using_split_info &&
+  if (cpi->sf.part_sf.prune_ext_part_using_split_info >= 2 &&
       *horza_partition_allowed) {
     *horza_partition_allowed &= evaluate_ab_partition_based_on_split(
         pc_tree, PARTITION_HORZ, rect_part_win_info, x->qindex, 0, 1);
   }
-  if (cpi->sf.part_sf.prune_ab_partition_using_split_info &&
+  if (cpi->sf.part_sf.prune_ext_part_using_split_info >= 2 &&
       *horzb_partition_allowed) {
     *horzb_partition_allowed &= evaluate_ab_partition_based_on_split(
         pc_tree, PARTITION_HORZ, rect_part_win_info, x->qindex, 2, 3);
   }
-  if (cpi->sf.part_sf.prune_ab_partition_using_split_info &&
+  if (cpi->sf.part_sf.prune_ext_part_using_split_info >= 2 &&
       *verta_partition_allowed) {
     *verta_partition_allowed &= evaluate_ab_partition_based_on_split(
         pc_tree, PARTITION_VERT, rect_part_win_info, x->qindex, 0, 2);
   }
-  if (cpi->sf.part_sf.prune_ab_partition_using_split_info &&
+  if (cpi->sf.part_sf.prune_ext_part_using_split_info >= 2 &&
       *vertb_partition_allowed) {
     *vertb_partition_allowed &= evaluate_ab_partition_based_on_split(
         pc_tree, PARTITION_VERT, rect_part_win_info, x->qindex, 1, 3);
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index c871661..5585053 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -525,7 +525,7 @@
 
     sf->part_sf.less_rectangular_check_level = 2;
     sf->part_sf.simple_motion_search_prune_agg = 1;
-    sf->part_sf.prune_4_partition_using_split_info = 1;
+    sf->part_sf.prune_ext_part_using_split_info = 1;
 
     // adaptive_motion_search breaks encoder multi-thread tests.
     // The values in x->pred_mv[] differ for single and multi-thread cases.
@@ -599,7 +599,7 @@
 
     sf->part_sf.simple_motion_search_prune_agg = 2;
     sf->part_sf.simple_motion_search_reduce_search_steps = 4;
-    sf->part_sf.prune_ab_partition_using_split_info = 1;
+    sf->part_sf.prune_ext_part_using_split_info = 2;
     sf->part_sf.early_term_after_none_split = 1;
     sf->part_sf.ml_predict_breakout_level = 3;
 
@@ -1100,8 +1100,7 @@
   part_sf->simple_motion_search_reduce_search_steps = 0;
   part_sf->intra_cnn_split = 0;
   part_sf->ext_partition_eval_thresh = BLOCK_8X8;
-  part_sf->prune_4_partition_using_split_info = 0;
-  part_sf->prune_ab_partition_using_split_info = 0;
+  part_sf->prune_ext_part_using_split_info = 0;
   part_sf->prune_rectangular_split_based_on_qidx = 0;
   part_sf->early_term_after_none_split = 0;
   part_sf->ml_predict_breakout_level = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index e534c96..19a4229 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -482,11 +482,11 @@
   // Disable extended partition search for lower block sizes.
   int ext_partition_eval_thresh;
 
-  // Prune 1:4 partition search based on winner info from split partitions
-  int prune_4_partition_using_split_info;
-
-  // Prune AB partition search using split and HORZ/VERT info
-  int prune_ab_partition_using_split_info;
+  // prune extended partition search
+  // 0 : no pruning
+  // 1 : prune 1:4 partition search using winner info from split partitions
+  // 2 : prune 1:4 and AB partition search using split and HORZ/VERT info
+  int prune_ext_part_using_split_info;
 
   // Prunt rectangular, AB and 4-way partition based on q index and block size
   int prune_rectangular_split_based_on_qidx;