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