total_sse += sum_sse;
// Fast approximate the modelling function.
- if (cpi->oxcf.speed > 4) {
+ if (cpi->sf.simple_model_rd_from_var) {
int64_t rate;
const int64_t square_error = sum_sse;
int quantizer = (pd->dequant[1] >> 3);
sf->use_fast_coef_costing = 1;
sf->motion_field_mode_search = !boosted;
sf->partition_search_breakout_rate_thr = 300;
+ sf->simple_model_rd_from_var = 1;
}
if (speed >= 5) {
sf->inter_mode_mask[BLOCK_64X64] = INTER_NEAREST;
sf->max_intra_bsize = BLOCK_32X32;
sf->allow_skip_recode = 1;
+ sf->simple_model_rd_from_var = 1;
}
if (speed >= 5) {
sf->tx_size_search_breakout = 0;
sf->partition_search_breakout_dist_thr = 0;
sf->partition_search_breakout_rate_thr = 0;
+ sf->simple_model_rd_from_var = 0;
if (oxcf->mode == REALTIME)
set_rt_speed_feature(cpi, sf, oxcf->speed, oxcf->content);
// Allow skipping partition search for still image frame
int allow_partition_search_skip;
+
+ // Fast approximation of vp9_model_rd_from_var_lapndz
+ int simple_model_rd_from_var;
} SPEED_FEATURES;
struct VP9_COMP;