Subpel search cleanups and enhancements
- Some fixes to surface fit. - Returns variance function as cost rather than sad in the pattern search and diamond search functions. Only vp9_pattern_search_sad function used in bigdia search uses sad as integer 1-away costs. - Deploys SUBPEL_TREE_PRUNED_MORE for speed 4+. Results: derf [Speed 3]: About +0.036% in coding efficiency without any discernible speed loss. derf [Speed 4]: About 2-3% faster at -0.199% loss in coding efficiency. derf [Speed 5]: About 3-4% faster at -0.149% loss in coding efficiency. Change-Id: I8462f94f6adb46966ca964f2bd0400977357fd63
This commit is contained in:
@@ -132,7 +132,7 @@ static int combined_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
const int tmp_row_min = x->mv_row_min;
|
||||
const int tmp_row_max = x->mv_row_max;
|
||||
int rv = 0;
|
||||
int sad_list[5];
|
||||
int cost_list[5];
|
||||
const YV12_BUFFER_CONFIG *scaled_ref_frame = vp9_get_scaled_ref_frame(cpi,
|
||||
ref);
|
||||
if (cpi->common.show_frame &&
|
||||
@@ -160,7 +160,7 @@ static int combined_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
mvp_full.row >>= 3;
|
||||
|
||||
vp9_full_pixel_search(cpi, x, bsize, &mvp_full, step_param, sadpb,
|
||||
cond_sad_list(cpi, sad_list),
|
||||
cond_cost_list(cpi, cost_list),
|
||||
&ref_mv, &tmp_mv->as_mv, INT_MAX, 0);
|
||||
|
||||
x->mv_col_min = tmp_col_min;
|
||||
@@ -187,7 +187,7 @@ static int combined_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
&cpi->fn_ptr[bsize],
|
||||
cpi->sf.mv.subpel_force_stop,
|
||||
cpi->sf.mv.subpel_iters_per_step,
|
||||
cond_sad_list(cpi, sad_list),
|
||||
cond_cost_list(cpi, cost_list),
|
||||
x->nmvjointcost, x->mvcost,
|
||||
&dis, &x->pred_sse[ref], NULL, 0, 0);
|
||||
x->pred_mv[ref] = tmp_mv->as_mv;
|
||||
|
||||
Reference in New Issue
Block a user