Merge "vp9: Use more aggressive skip when short_circuit_low_temp_var = 1."
This commit is contained in:
commit
8b2cbaefcf
@ -742,7 +742,8 @@ static void set_low_temp_var_flag(VP9_COMP *cpi, MACROBLOCK *x, MACROBLOCKD *xd,
|
||||
continue;
|
||||
|
||||
if ((*this_mi)->sb_type == BLOCK_32X32) {
|
||||
int64_t threshold_32x32 = cpi->sf.short_circuit_low_temp_var == 3
|
||||
int64_t threshold_32x32 = (cpi->sf.short_circuit_low_temp_var == 1 ||
|
||||
cpi->sf.short_circuit_low_temp_var == 3)
|
||||
? ((3 * thresholds[1]) >> 2)
|
||||
: (thresholds[1] >> 1);
|
||||
if (vt->split[i].part_variances.none.variance < threshold_32x32)
|
||||
|
@ -1490,8 +1490,11 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
|
||||
if (cpi->sf.short_circuit_low_temp_var) {
|
||||
force_skip_low_temp_var =
|
||||
get_force_skip_low_temp_var(&x->variance_low[0], mi_row, mi_col, bsize);
|
||||
// In the most aggresive short circuit, skip golden in any mode
|
||||
if (cpi->sf.short_circuit_low_temp_var == 3 && force_skip_low_temp_var) {
|
||||
// If force_skip_low_temp_var is set, and for short circuit mode = 1 and 3,
|
||||
// skip golden reference.
|
||||
if ((cpi->sf.short_circuit_low_temp_var == 1 ||
|
||||
cpi->sf.short_circuit_low_temp_var == 3) &&
|
||||
force_skip_low_temp_var) {
|
||||
usable_ref_frame = LAST_FRAME;
|
||||
}
|
||||
}
|
||||
|
@ -457,11 +457,11 @@ typedef struct SPEED_FEATURES {
|
||||
|
||||
// Skip a number of expensive mode evaluations for blocks with very low
|
||||
// temporal variance.
|
||||
// 1: Skip golden non-zeromv and ALL INTRA for bsize >= 32x32.
|
||||
// 1: Skip all golden modes and ALL INTRA for bsize >= 32x32.
|
||||
// 2: Skip golden non-zeromv and newmv-last for bsize >= 16x16, skip ALL
|
||||
// INTRA for bsize >= 32x32 and vert/horz INTRA for bsize 16x16, 16x32 and
|
||||
// 32x16.
|
||||
// 3: Same as (2), also skip golden in any mode for low res
|
||||
// 3: Same as (2), but also skip golden zeromv for low res.
|
||||
int short_circuit_low_temp_var;
|
||||
|
||||
// Limits the rd-threshold update for early exit for the newmv-last mode,
|
||||
|
Loading…
x
Reference in New Issue
Block a user