Disable a speed feature that causes visual artifacts

The speed feature introduces visual artifacts reported in the buganizer.
BUG=b/245416468

The speed feature intends to prune NEARESTMV and NEARMV when the
count of spatial neighboring mvs is smaller than a threshold in
the ref mv stack.

However, the first coding block in a tile does not have neighboring mvs,
therefore it will always skip NEARESTMV and NEARMV mode.

For certain conditions where the mv difference is zero, NEWMV mode is
also early terminated. Therefore no inter mode is ever
evaludated in the rate-distortion optimization. This leads to the
selection of intra coding modes while an inter prediciton is obviously
a better trade-off. The selection of intra modes also leads to strong
visual artifacts since the prediction is very bad.

This phenomenon appear more frequenty for high resolution videos when
divided to sevral tile rows and columns.

We thus turn off the speed feature to allow the rate-distortion
optimization process to correctly choose inter modes, and artifacts
are gone consequently.

In addition, since it corrects the RD search, a better coding
performance is seen. On a 2K test video, the coding performance
before and after the fix is:
        ovr_psnr   bps
Before: 41.165    14174341
After:  41.381    14132105

Change-Id: Ie60061cd0d47b7cb1844d47e793e67bfa8ba1ad4
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 475cf3d..7ffcad6 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -1141,7 +1141,6 @@
     sf->inter_sf.prune_ext_comp_using_neighbors = 2;
     sf->inter_sf.prune_obmc_prob_thresh = INT_MAX;
     sf->inter_sf.disable_interinter_wedge_var_thresh = UINT_MAX;
-    sf->inter_sf.prune_nearest_near_mv_using_refmv_weight = boosted ? 0 : 1;
 
     sf->interp_sf.cb_pred_filter_search = 1;
     sf->interp_sf.skip_sharp_interp_filter_search = 1;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 13846bc..60efc14 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -920,6 +920,14 @@
   int prune_comp_using_best_single_mode_ref;
 
   // Skip NEARESTMV and NEARMV using weight computed in ref mv list population
+  // This speed feature sometimes leads to severe visual artifacts for
+  // the overlay frame. It makes inter RD mode search skip NEARESTMV
+  // and NEARMV, and no valid inter mode is evaluated when the NEWMV mode
+  // is also early terminated due to the constraint that it does not handle
+  // zero mv difference. In this cases, intra modes will be chosen, leading
+  // to bad prediction and flickering artifacts.
+  // Turn off this feature for now. Be careful to check visual quality if
+  // anyone is going to turn it on.
   int prune_nearest_near_mv_using_refmv_weight;
 
   // Based on previous ref_mv_idx search result, prune the following search.
diff --git a/test/horz_superres_test.cc b/test/horz_superres_test.cc
index 12e14dc..323aa93 100644
--- a/test/horz_superres_test.cc
+++ b/test/horz_superres_test.cc
@@ -56,7 +56,7 @@
     45.0 },
 #if CONFIG_AV1_HIGHBITDEPTH
   { "park_joy_90p_10_444.y4m", AOM_IMG_FMT_I44416, AOM_BITS_10, 1, 5, 0, 27.0,
-    48.0 },
+    47.9 },
 #endif
   { "screendata.y4m", AOM_IMG_FMT_I420, AOM_BITS_8, 0, 4, 1, 23.0, 56.0 },
   // Image coding (single frame).