Updates vp9_pattern search to return integer sads
Updates the vp9_pattern_search function to return integer one-away neighbors' sad values, for subsequent use in speeding up the sub-pel search. Also, removes code for the do_refine option which is not being used currently. Updates the integer and subpel functions to pass in a 5-element sad list for output or input. A new pruned sub-pel search algorithm is implemented that uses the sad returned from the integer pel search. But it is not deployed yet. Change-Id: Ifa9f5ad024b5b660570366d2bd900343e1891520
This commit is contained in:
@@ -34,6 +34,7 @@ static unsigned int do_16x16_motion_iteration(VP9_COMP *cpi,
|
||||
const int tmp_row_min = x->mv_row_min;
|
||||
const int tmp_row_max = x->mv_row_max;
|
||||
MV ref_full;
|
||||
int sad_list[5];
|
||||
|
||||
// Further step/diamond searches as necessary
|
||||
int step_param = mv_sf->reduce_first_step_size;
|
||||
@@ -45,8 +46,9 @@ static unsigned int do_16x16_motion_iteration(VP9_COMP *cpi,
|
||||
ref_full.row = ref_mv->row >> 3;
|
||||
|
||||
/*cpi->sf.search_method == HEX*/
|
||||
vp9_hex_search(x, &ref_full, step_param, x->errorperbit, 0, &v_fn_ptr, 0,
|
||||
ref_mv, dst_mv);
|
||||
vp9_hex_search(x, &ref_full, step_param, x->errorperbit, 0,
|
||||
cond_sad_list(cpi, sad_list),
|
||||
&v_fn_ptr, 0, ref_mv, dst_mv);
|
||||
|
||||
// Try sub-pixel MC
|
||||
// if (bestsme > error_thresh && bestsme < INT_MAX)
|
||||
@@ -55,8 +57,10 @@ static unsigned int do_16x16_motion_iteration(VP9_COMP *cpi,
|
||||
unsigned int sse;
|
||||
cpi->find_fractional_mv_step(
|
||||
x, dst_mv, ref_mv, cpi->common.allow_high_precision_mv, x->errorperbit,
|
||||
&v_fn_ptr, 0, mv_sf->subpel_iters_per_step, NULL, NULL, &distortion,
|
||||
&sse, NULL, 0, 0);
|
||||
&v_fn_ptr, 0, mv_sf->subpel_iters_per_step,
|
||||
cond_sad_list(cpi, sad_list),
|
||||
NULL, NULL,
|
||||
&distortion, &sse, NULL, 0, 0);
|
||||
}
|
||||
|
||||
xd->mi[0]->mbmi.mode = NEWMV;
|
||||
|
||||
Reference in New Issue
Block a user