Add enum definition for subpel search precision

To improve readability.

Change-Id: Ie5f97871ed492dcba54e46e94203f5227e1524cd
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index c61c646..3d7467a 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -361,7 +361,7 @@
   }
   if (speed >= 8) {
     sf->mv.search_method = FAST_DIAMOND;
-    sf->mv.subpel_force_stop = 2;
+    sf->mv.subpel_force_stop = HALF_PEL;
     sf->lpf_pick = LPF_PICK_MINIMAL_LPF;
   }
 }
@@ -407,7 +407,7 @@
   sf->recode_loop = ALLOW_RECODE;
   sf->mv.subpel_search_method = SUBPEL_TREE;
   sf->mv.subpel_iters_per_step = 2;
-  sf->mv.subpel_force_stop = 0;
+  sf->mv.subpel_force_stop = EIGHTH_PEL;
 #if DISABLE_TRELLISQ_SEARCH == 2
   sf->optimize_coefficients = !is_lossless_requested(&cpi->oxcf)
                                   ? FINAL_PASS_TRELLIS_OPT
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 268410d..b2ff8e2 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -194,6 +194,8 @@
   REFERENCE_PARTITION
 } PARTITION_SEARCH_TYPE;
 
+typedef enum { EIGHTH_PEL, QUARTER_PEL, HALF_PEL, FULL_PEL } SUBPEL_FORCE_STOP;
+
 typedef struct MV_SPEED_FEATURES {
   // Motion search method (Diamond, NSTEP, Hex, Big Diamond, Square, etc).
   SEARCH_METHODS search_method;
@@ -215,8 +217,8 @@
   // Maximum number of steps in logarithmic subpel search before giving up.
   int subpel_iters_per_step;
 
-  // Control when to stop subpel search
-  int subpel_force_stop;
+  // When to stop subpel search.
+  SUBPEL_FORCE_STOP subpel_force_stop;
 } MV_SPEED_FEATURES;
 
 #define MAX_MESH_STEP 4