AV1 RT: Tune speed features for lowres

This gives ~5% BDRate improvement on specific lowres clips that have
global motion (street180p.y4m) and on other clips the BDRate
improvement is ~1-2%

Change-Id: I0b758b1ee3173836c58546f0fdd36e6a0405ef79
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index f620012..d22c769 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -205,6 +205,23 @@
   }
 }
 
+static void set_rt_speed_feature_framesize_dependent(const AV1_COMP *const cpi,
+                                                     SPEED_FEATURES *const sf,
+                                                     int speed) {
+  const AV1_COMMON *const cm = &cpi->common;
+  const int is_720p_or_larger = AOMMIN(cm->width, cm->height) >= 720;
+  const int is_480p_or_larger = AOMMIN(cm->width, cm->height) >= 480;
+
+  (void)is_720p_or_larger;  // Not used so far
+
+  if (!is_480p_or_larger) {
+    if (speed >= 8) {
+      sf->mv.subpel_search_method = SUBPEL_TREE;
+      sf->estimate_motion_for_var_based_partition = 1;
+    }
+  }
+}
+
 static void set_good_speed_features_framesize_independent(
     const AV1_COMP *const cpi, SPEED_FEATURES *const sf, int speed) {
   const AV1_COMMON *const cm = &cpi->common;
@@ -654,6 +671,8 @@
 
   if (oxcf->mode == GOOD) {
     set_good_speed_feature_framesize_dependent(cpi, sf, speed);
+  } else if (oxcf->mode == REALTIME) {
+    set_rt_speed_feature_framesize_dependent(cpi, sf, speed);
   }
 
   // This is only used in motion vector unit test.