Framework to tune speed features based on qindex

Adds a placeholder function to override some speed features
once qindex for a frame has been set.

Change-Id: I4de0a4dda9abfa28938fee4cf7c092b781a6def9
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 8012dd6..a326f18 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -4941,6 +4941,7 @@
     int *const low_cr_seen, const int loop_at_this_size) {
   AV1_COMMON *const cm = &cpi->common;
   RATE_CONTROL *const rc = &cpi->rc;
+  *loop = 0;
 
   const int min_cr = cpi->oxcf.min_cr;
   if (min_cr > 0) {
@@ -5293,6 +5294,7 @@
 #if CONFIG_TUNE_VMAF
     }
 #endif
+    av1_set_speed_features_qindex_dependent(cpi, cpi->oxcf.speed);
     if (cpi->oxcf.deltaq_mode != NO_DELTA_Q) av1_init_quantizer(cpi);
 
     av1_set_variance_partition_thresholds(cpi, q_for_screen_content_quick_run,
@@ -5429,6 +5431,7 @@
 #if CONFIG_TUNE_VMAF
     }
 #endif
+    av1_set_speed_features_qindex_dependent(cpi, cpi->oxcf.speed);
 
     if (cpi->oxcf.deltaq_mode != NO_DELTA_Q) av1_init_quantizer(cpi);
 
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index a268182..8f6c26f 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -1265,3 +1265,20 @@
     }
   }
 }
+
+// Override some speed features based on qindex
+void av1_set_speed_features_qindex_dependent(AV1_COMP *cpi, int speed) {
+  AV1_COMMON *const cm = &cpi->common;
+  SPEED_FEATURES *const sf = &cpi->sf;
+  (void)cm;
+  (void)sf;
+  (void)speed;
+  /* Turn trellis off
+  const int is_720p_or_larger = AOMMIN(cm->width, cm->height) >= 720;
+  if (is_720p_or_larger && speed == 0) {
+    if (cm->base_qindex < 96) {
+      sf->rd_sf.optimize_coefficients = NO_TRELLIS_OPT;
+    }
+  }
+  */
+}
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 0f7b89b..36e0f71 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -1024,6 +1024,7 @@
                                                   int speed);
 void av1_set_speed_features_framesize_dependent(struct AV1_COMP *cpi,
                                                 int speed);
+void av1_set_speed_features_qindex_dependent(struct AV1_COMP *cpi, int speed);
 
 #ifdef __cplusplus
 }  // extern "C"