vp9: SVC: Adjust some speed settings for temporal layers.

Make some speed setting changes for temporal enhancement layers,
and remove the switch in subpel_force_stop for the aggressive_base_mv
in non-rd pickmode.

Gain some 2-3% speed with little/negligible quality loss.

Change-Id: I3e2a7f80ff45f38c0a6ceb01b34dbca2f53edbf0
This commit is contained in:
Marco 2017-04-25 16:11:19 -07:00
parent 92ec0674fd
commit c614164cb6
2 changed files with 10 additions and 4 deletions

View File

@ -211,9 +211,7 @@ static int combined_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
!(RDCOST(x->rdmult, x->rddiv, (*rate_mv + rate_mode), 0) > best_rd_sofar);
if (rv) {
const int subpel_force_stop = use_base_mv && cpi->sf.base_mv_aggressive
? 2
: cpi->sf.mv.subpel_force_stop;
const int subpel_force_stop = cpi->sf.mv.subpel_force_stop;
cpi->find_fractional_mv_step(
x, &tmp_mv->as_mv, &ref_mv, cpi->common.allow_high_precision_mv,
x->errorperbit, &cpi->fn_ptr[bsize], subpel_force_stop,

View File

@ -530,7 +530,15 @@ static void set_rt_speed_feature_framesize_independent(
// Enable short circuit for low temporal variance.
sf->short_circuit_low_temp_var = 1;
}
if (cpi->use_svc) sf->base_mv_aggressive = 1;
if (cpi->svc.temporal_layer_id > 0) {
sf->adaptive_rd_thresh = 4;
sf->limit_newmv_early_exit = 0;
sf->mv.subpel_force_stop = (cpi->svc.temporal_layer_id == 1) ? 1 : 2;
sf->base_mv_aggressive =
(cpi->svc.temporal_layer_id == cpi->svc.number_temporal_layers - 1)
? 1
: 0;
}
}
if (speed >= 7) {