diff --git a/vp9/encoder/vp9_firstpass.c b/vp9/encoder/vp9_firstpass.c index cbd321b34f2d9c880ca1562a9b6df884369f2fc8..70d711ceee7d5a75d422266f659086e91596e4db 100644 --- a/vp9/encoder/vp9_firstpass.c +++ b/vp9/encoder/vp9_firstpass.c @@ -406,8 +406,6 @@ static void first_pass_motion_search(VP9_COMP *cpi, MACROBLOCK *x, // for first pass test while ((quart_frm << sr) < MAX_FULL_PEL_VAL) sr++; - if (sr) - sr--; step_param += sr; further_steps -= sr; diff --git a/vp9/encoder/vp9_mcomp.c b/vp9/encoder/vp9_mcomp.c index a52f5b1b0af5fc1a9c41c00187fa1dbf2d39f37f..a383164983833ad63775a388e65395ed176ae7ee 100644 --- a/vp9/encoder/vp9_mcomp.c +++ b/vp9/encoder/vp9_mcomp.c @@ -51,9 +51,6 @@ int vp9_init_search_range(VP9_COMP *cpi, int size) { while ((size << sr) < MAX_FULL_PEL_VAL) sr++; - if (sr) - sr--; - sr += cpi->sf.reduce_first_step_size; sr = MIN(sr, (cpi->sf.max_step_search_steps - 2)); return sr; diff --git a/vp9/encoder/vp9_mcomp.h b/vp9/encoder/vp9_mcomp.h index bcab679c7e61ebeb31cb7789646728ac3995241b..10c2e4fca10363635457d3d12a9a48d79fcbf936 100644 --- a/vp9/encoder/vp9_mcomp.h +++ b/vp9/encoder/vp9_mcomp.h @@ -18,8 +18,9 @@ // The maximum number of steps in a step search given the largest // allowed initial step #define MAX_MVSEARCH_STEPS 11 -// Max full pel mv specified in 1 pel units -#define MAX_FULL_PEL_VAL ((1 << (MAX_MVSEARCH_STEPS)) - 1) +// Max full pel mv specified in the unit of full pixel +// Enable the use of motion vector in range [-1023, 1023]. +#define MAX_FULL_PEL_VAL ((1 << (MAX_MVSEARCH_STEPS - 1)) - 1) // Maximum size of the first step in full pel units #define MAX_FIRST_STEP (1 << (MAX_MVSEARCH_STEPS-1)) // Allowed motion vector pixel distance outside image border