Enable av1_ml_predict_breakout() for speed 0 hbd

This CL enables the speed feature av1_ml_predict_breakout() to
speed preset 0 for high bit-depth encoding.

         Instruction Count        BD-Rate Loss(%)
cpu-used    Reduction(%)     avg.psnr  ovr.psnr   ssim
   0          2.841           0.0441    0.0458    0.0462

STATS_CHANGED for hbd encoding

Change-Id: If3de3aae5a56536f0c12f2ecc8d824363a81e123
diff --git a/av1/encoder/partition_strategy.c b/av1/encoder/partition_strategy.c
index 686623b..3cae746 100644
--- a/av1/encoder/partition_strategy.c
+++ b/av1/encoder/partition_strategy.c
@@ -1259,10 +1259,9 @@
   if (!nn_config || thresh < 0) return 0;
 
   const float ml_predict_breakout_thresh_scale[3] = { 1.15f, 1.05f, 1.0f };
-  thresh =
-      (int)((float)thresh *
-            ml_predict_breakout_thresh_scale[cpi->sf.part_sf
-                                                 .ml_predict_breakout_level]);
+  thresh = (int)((float)thresh *
+                 ml_predict_breakout_thresh_scale
+                     [cpi->sf.part_sf.ml_predict_breakout_level - 1]);
 
   // Generate feature values.
   float features[FEATURES];
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 47b0fc3..1c17568 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -340,7 +340,7 @@
   sf->part_sf.ml_prune_rect_partition = 1;
   sf->part_sf.prune_ext_partition_types_search_level = 1;
   sf->part_sf.simple_motion_search_prune_rect = 1;
-  sf->part_sf.ml_predict_breakout_level = use_hbd ? 0 : 2;
+  sf->part_sf.ml_predict_breakout_level = use_hbd ? 1 : 3;
 
   sf->inter_sf.disable_wedge_search_var_thresh = 0;
   // TODO(debargha): Test, tweak and turn on either 1 or 2
@@ -390,7 +390,7 @@
     // simple_motion_search_split in partition search function and set the
     // speed feature accordingly
     sf->part_sf.simple_motion_search_split = allow_screen_content_tools ? 1 : 2;
-    sf->part_sf.ml_predict_breakout_level = use_hbd ? 1 : 2;
+    sf->part_sf.ml_predict_breakout_level = use_hbd ? 2 : 3;
 
     sf->mv_sf.exhaustive_searches_thresh <<= 1;
     sf->mv_sf.obmc_full_pixel_search_level = 1;
@@ -547,7 +547,7 @@
     sf->part_sf.simple_motion_search_reduce_search_steps = 4;
     sf->part_sf.prune_ab_partition_using_split_info = 1;
     sf->part_sf.early_term_after_none_split = 1;
-    sf->part_sf.ml_predict_breakout_level = 2;
+    sf->part_sf.ml_predict_breakout_level = 3;
 
     sf->inter_sf.alt_ref_search_fp = 1;
     sf->inter_sf.txfm_rd_gate_level = boosted ? 0 : 4;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 20e8056..1926dec 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -475,8 +475,9 @@
   int early_term_after_none_split;
 
   // Level used to adjust threshold for av1_ml_predict_breakout(). At lower
-  // levels, more conservative threshold is used. Value of 2 corresponds to
-  // default case with no adjustment to lbd thresholds.
+  // levels, more conservative threshold is used, and value of 0 indicates
+  // av1_ml_predict_breakout() is disabled. Value of 3 corresponds to default
+  // case with no adjustment to lbd thresholds.
   int ml_predict_breakout_level;
 } PARTITION_SPEED_FEATURES;