Add an expt to remove allow high precision mv flag

Change-Id: I3873acafcd9539da96f67328cdb8faf7798be90f
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 2bf8918..1d79c80 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -3112,10 +3112,18 @@
       if (cm->cur_frame_force_integer_mv) {
         cm->allow_high_precision_mv = 0;
       } else {
+#if CONFIG_EIGHTH_PEL_MV_ONLY
+        cm->allow_high_precision_mv = 1;
+#else
         cm->allow_high_precision_mv = aom_rb_read_bit(rb);
+#endif  // CONFIG_EIGHTH_PEL_MV_ONLY
       }
 #else
+#if CONFIG_EIGHTH_PEL_MV_ONLY
+      cm->allow_high_precision_mv = 1;
+#else
       cm->allow_high_precision_mv = aom_rb_read_bit(rb);
+#endif  // CONFIG_EIGHTH_PEL_MV_ONLY
 #endif
       cm->interp_filter = read_frame_interp_filter(rb);
 #if CONFIG_TEMPMV_SIGNALING
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 41ae432..2e6ccb0 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -4030,10 +4030,14 @@
       if (cm->cur_frame_force_integer_mv) {
         cm->allow_high_precision_mv = 0;
       } else {
+#if !CONFIG_EIGHTH_PEL_MV_ONLY
         aom_wb_write_bit(wb, cm->allow_high_precision_mv);
+#endif  // !CONFIG_EIGHTH_PEL_MV_ONLY
       }
 #else
+#if !CONFIG_EIGHTH_PEL_MV_ONLY
       aom_wb_write_bit(wb, cm->allow_high_precision_mv);
+#endif  // !CONFIG_EIGHTH_PEL_MV_ONLY
 #endif
       fix_interp_filter(cm, cpi->td.counts);
       write_frame_interp_filter(cm->interp_filter, wb);
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index ff0695e..b65392d 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -2480,9 +2480,9 @@
   set_compound_tools(cm);
   av1_reset_segment_features(cm);
 #if CONFIG_AMVR
-  set_high_precision_mv(cpi, 0, 0);
+  set_high_precision_mv(cpi, 1, 0);
 #else
-  set_high_precision_mv(cpi, 0);
+  set_high_precision_mv(cpi, 1);
 #endif
 
   set_rc_buffer_sizes(rc, &cpi->oxcf);
@@ -4121,10 +4121,18 @@
 
   if (!frame_is_intra_only(cm)) {
 #if CONFIG_AMVR
+#if CONFIG_EIGHTH_PEL_MV_ONLY
+    set_high_precision_mv(cpi, 1, cpi->common.cur_frame_force_integer_mv);
+#else
     set_high_precision_mv(cpi, (*q) < HIGH_PRECISION_MV_QTHRESH,
                           cpi->common.cur_frame_force_integer_mv);
+#endif  // CONFIG_EIGHTH_PEL_MV_ONLY
+#else
+#if CONFIG_EIGHTH_PEL_MV_ONLY
+    set_high_precision_mv(cpi, 1);
 #else
     set_high_precision_mv(cpi, (*q) < HIGH_PRECISION_MV_QTHRESH);
+#endif  // CONFIG_EIGHTH_PEL_MV_ONLY
 #endif
   }
 
@@ -6165,9 +6173,17 @@
   aom_usec_timer_start(&cmptimer);
 
 #if CONFIG_AMVR
+#if CONFIG_EIGHTH_PEL_MV_ONLY
+  set_high_precision_mv(cpi, 1, 0);
+#else
   set_high_precision_mv(cpi, ALTREF_HIGH_PRECISION_MV, 0);
+#endif  // CONFIG_EIGHTH_PEL_MV_ONLY
+#else
+#if CONFIG_EIGHTH_PEL_MV_ONLY
+  set_high_precision_mv(cpi, 1);
 #else
   set_high_precision_mv(cpi, ALTREF_HIGH_PRECISION_MV);
+#endif  // CONFIG_EIGHTH_PEL_MV_ONLY
 #endif
 
   // Is multi-arf enabled.
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index be7b770..9b176f2 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -130,6 +130,7 @@
 set(CONFIG_DEPENDENT_HORZTILES 0 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_DIST_8X8 1 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_DUAL_FILTER 1 CACHE NUMBER "AV1 experiment flag.")
+set(CONFIG_EIGHTH_PEL_MV_ONLY 0 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_ENTROPY_STATS 0 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_EOB_FIRST 0 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_EXT_COMP_REFS 1 CACHE NUMBER "AV1 experiment flag.")
diff --git a/configure b/configure
index 5bd5a49..28c0649 100755
--- a/configure
+++ b/configure
@@ -342,6 +342,7 @@
     horzonly_frame_superres
     simple_bwd_adapt
     eob_first
+    eighth_pel_mv_only
 "
 CONFIG_LIST="
     dependency_tracking