Disable speed features temporarily for enc row-mt

Speed features - adaptive_rd_threshold and inter_mode_rd_model_estimation
have been disabled temporarily for row based multi-threading in encoder.
Also, checks are added for exhaustive search features which would be
temporarily disabled for enc row-mt in future patches.

STATS_CHANGED

Change-Id: I90afdba0b220d78d252a8b0110c26982ceaf5c42
diff --git a/av1/encoder/mcomp.c b/av1/encoder/mcomp.c
index 8f6de9b..4f3c4e2 100644
--- a/av1/encoder/mcomp.c
+++ b/av1/encoder/mcomp.c
@@ -1897,7 +1897,7 @@
   int baseline_interval_divisor;
 
   // Keep track of number of exhaustive calls (this frame in this thread).
-  ++(*x->ex_search_count_ptr);
+  if (x->ex_search_count_ptr != NULL) ++(*x->ex_search_count_ptr);
 
   // Trap illegal values for interval and range for this function.
   if ((range < MIN_RANGE) || (range > MAX_RANGE) || (interval < MIN_INTERVAL) ||
@@ -2117,13 +2117,16 @@
 #define MIN_EX_SEARCH_LIMIT 128
 static int is_exhaustive_allowed(const AV1_COMP *const cpi, MACROBLOCK *x) {
   const SPEED_FEATURES *const sf = &cpi->sf;
-  const int max_ex =
-      AOMMAX(MIN_EX_SEARCH_LIMIT,
-             (*x->m_search_count_ptr * sf->max_exaustive_pct) / 100);
-
-  return sf->allow_exhaustive_searches &&
-         (sf->exhaustive_searches_thresh < INT_MAX) &&
-         (*x->ex_search_count_ptr <= max_ex) && !cpi->rc.is_src_frame_alt_ref;
+  int is_allowed = sf->allow_exhaustive_searches &&
+                   (sf->exhaustive_searches_thresh < INT_MAX) &&
+                   !cpi->rc.is_src_frame_alt_ref;
+  if (x->m_search_count_ptr != NULL && x->ex_search_count_ptr != NULL) {
+    const int max_ex =
+        AOMMAX(MIN_EX_SEARCH_LIMIT,
+               (*x->m_search_count_ptr * sf->max_exaustive_pct) / 100);
+    is_allowed = *x->ex_search_count_ptr <= max_ex && is_allowed;
+  }
+  return is_allowed;
 }
 
 int av1_full_pixel_search(const AV1_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bsize,
@@ -2144,7 +2147,7 @@
   }
 
   // Keep track of number of searches (this frame in this thread).
-  ++(*x->m_search_count_ptr);
+  if (x->m_search_count_ptr != NULL) ++(*x->m_search_count_ptr);
 
   switch (method) {
     case FAST_DIAMOND:
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 797ad80..537e103 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -566,4 +566,8 @@
 
   if (cpi->oxcf.using_dist_8x8) x->min_partition_size = BLOCK_8X8;
 #endif  // CONFIG_DIST_8X8
+  if (cpi->row_mt == 1) {
+    sf->adaptive_rd_thresh = 0;
+    sf->inter_mode_rd_model_estimation = 0;
+  }
 }