Add threshold multipler for variance partitioning
as speed feature, and increase it by 2x for speed >= 9
for resoln >= VGA. Also only allow simple_interpol
filter when avg_low_motion is below threshold.
Better tradeoff of speed/quality comparing to speed 8.
Change-Id: I6bd29ad3cced470b32d04f60771120531112a5d9
int content_state) {
VP9_COMMON *const cm = &cpi->common;
const int is_key_frame = frame_is_intra_only(cm);
int content_state) {
VP9_COMMON *const cm = &cpi->common;
const int is_key_frame = frame_is_intra_only(cm);
- const int threshold_multiplier = is_key_frame ? 20 : 1;
+ const int threshold_multiplier =
+ is_key_frame ? 20 : cpi->sf.variance_part_thresh_mult;
int64_t threshold_base =
(int64_t)(threshold_multiplier * cpi->y_dequant[q][1]);
int64_t threshold_base =
(int64_t)(threshold_multiplier * cpi->y_dequant[q][1]);
sf->enhanced_full_pixel_motion_search = 0;
sf->use_accurate_subpel_search = USE_2_TAPS;
sf->nonrd_use_ml_partition = 0;
sf->enhanced_full_pixel_motion_search = 0;
sf->use_accurate_subpel_search = USE_2_TAPS;
sf->nonrd_use_ml_partition = 0;
+ sf->variance_part_thresh_mult = 1;
if (speed >= 1) {
sf->allow_txfm_domain_distortion = 1;
if (speed >= 1) {
sf->allow_txfm_domain_distortion = 1;
sf->disable_16x16part_nonkey = 1;
// Allow for disabling GOLDEN reference, for CBR mode.
if (cpi->oxcf.rc_mode == VPX_CBR) sf->disable_golden_ref = 1;
sf->disable_16x16part_nonkey = 1;
// Allow for disabling GOLDEN reference, for CBR mode.
if (cpi->oxcf.rc_mode == VPX_CBR) sf->disable_golden_ref = 1;
- sf->default_interp_filter = BILINEAR;
+ if (cpi->rc.avg_frame_low_motion < 70) sf->default_interp_filter = BILINEAR;
+ if (cm->width * cm->height >= 640 * 360) sf->variance_part_thresh_mult = 2;
}
if (sf->nonrd_use_ml_partition)
}
if (sf->nonrd_use_ml_partition)
// Use machine learning based partition search.
int nonrd_use_ml_partition;
// Use machine learning based partition search.
int nonrd_use_ml_partition;
+
+ // Multiplier for base thresold for variance partitioning.
+ int variance_part_thresh_mult;
} SPEED_FEATURES;
struct VP9_COMP;
} SPEED_FEATURES;
struct VP9_COMP;