Merge "Added a speed feature"
This commit is contained in:
Коммит
1fecc5bd2e
|
@ -839,6 +839,7 @@ static void set_rt_speed_feature(VP9_COMMON *cm,
|
||||||
if (speed >= 5) {
|
if (speed >= 5) {
|
||||||
int i;
|
int i;
|
||||||
sf->disable_split_mask = DISABLE_ALL_SPLIT;
|
sf->disable_split_mask = DISABLE_ALL_SPLIT;
|
||||||
|
sf->subpel_force_stop = 1;
|
||||||
for (i = 0; i < TX_SIZES; i++) {
|
for (i = 0; i < TX_SIZES; i++) {
|
||||||
sf->intra_y_mode_mask[i] = INTRA_DC_H_V;
|
sf->intra_y_mode_mask[i] = INTRA_DC_H_V;
|
||||||
sf->intra_uv_mode_mask[i] = INTRA_DC_ONLY;
|
sf->intra_uv_mode_mask[i] = INTRA_DC_ONLY;
|
||||||
|
@ -867,6 +868,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
|
||||||
sf->recode_loop = 1;
|
sf->recode_loop = 1;
|
||||||
sf->subpel_search_method = SUBPEL_TREE;
|
sf->subpel_search_method = SUBPEL_TREE;
|
||||||
sf->subpel_iters_per_step = 2;
|
sf->subpel_iters_per_step = 2;
|
||||||
|
sf->subpel_force_stop = 0;
|
||||||
sf->optimize_coefficients = !cpi->oxcf.lossless;
|
sf->optimize_coefficients = !cpi->oxcf.lossless;
|
||||||
sf->reduce_first_step_size = 0;
|
sf->reduce_first_step_size = 0;
|
||||||
sf->auto_mv_step_size = 0;
|
sf->auto_mv_step_size = 0;
|
||||||
|
|
|
@ -256,6 +256,9 @@ typedef struct {
|
||||||
// Maximum number of steps in logarithmic subpel search before giving up.
|
// Maximum number of steps in logarithmic subpel search before giving up.
|
||||||
int subpel_iters_per_step;
|
int subpel_iters_per_step;
|
||||||
|
|
||||||
|
// Control when to stop subpel search
|
||||||
|
int subpel_force_stop;
|
||||||
|
|
||||||
// Thresh_mult is used to set a threshold for the rd score. A higher value
|
// Thresh_mult is used to set a threshold for the rd score. A higher value
|
||||||
// means that we will accept the best mode so far more often. This number
|
// means that we will accept the best mode so far more often. This number
|
||||||
// is used in combination with the current block size, and thresh_freq_fact
|
// is used in combination with the current block size, and thresh_freq_fact
|
||||||
|
|
|
@ -1840,7 +1840,8 @@ static void rd_check_segment_txsize(VP9_COMP *cpi, MACROBLOCK *x,
|
||||||
&bsi->ref_mv->as_mv,
|
&bsi->ref_mv->as_mv,
|
||||||
cm->allow_high_precision_mv,
|
cm->allow_high_precision_mv,
|
||||||
x->errorperbit, v_fn_ptr,
|
x->errorperbit, v_fn_ptr,
|
||||||
0, cpi->sf.subpel_iters_per_step,
|
cpi->sf.subpel_force_stop,
|
||||||
|
cpi->sf.subpel_iters_per_step,
|
||||||
x->nmvjointcost, x->mvcost,
|
x->nmvjointcost, x->mvcost,
|
||||||
&distortion,
|
&distortion,
|
||||||
&x->pred_sse[mbmi->ref_frame[0]]);
|
&x->pred_sse[mbmi->ref_frame[0]]);
|
||||||
|
@ -2451,7 +2452,8 @@ static void single_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
||||||
cm->allow_high_precision_mv,
|
cm->allow_high_precision_mv,
|
||||||
x->errorperbit,
|
x->errorperbit,
|
||||||
&cpi->fn_ptr[bsize],
|
&cpi->fn_ptr[bsize],
|
||||||
0, cpi->sf.subpel_iters_per_step,
|
cpi->sf.subpel_force_stop,
|
||||||
|
cpi->sf.subpel_iters_per_step,
|
||||||
x->nmvjointcost, x->mvcost,
|
x->nmvjointcost, x->mvcost,
|
||||||
&dis, &x->pred_sse[ref]);
|
&dis, &x->pred_sse[ref]);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче