rtc: Extract some speed features used in screen
Extract some features used for screen and add
speed features for them: newmv skip for flat blocks,
usage of idtx, and the min_thresh for scene detection.
This is to allow for better control for content with
mixed screen and video; also some of these may be used
for non-screen input.
No change in behavior.
Change-Id: I29307032a283d19f8899d980baa61a7d9b0748a4
diff --git a/av1/encoder/nonrd_pickmode.c b/av1/encoder/nonrd_pickmode.c
index 08ecb84..dcaf13f 100644
--- a/av1/encoder/nonrd_pickmode.c
+++ b/av1/encoder/nonrd_pickmode.c
@@ -2469,7 +2469,9 @@
return true;
}
// Skip NEWMV search for flat blocks.
- if (*this_mode == NEWMV && x->source_variance < 100) return true;
+ if (rt_sf->skip_newmv_flat_blocks_screen && *this_mode == NEWMV &&
+ x->source_variance < 100)
+ return true;
// Skip non-LAST for color on flat blocks.
if (*ref_frame > LAST_FRAME && x->source_variance == 0 &&
(x->color_sensitivity[COLOR_SENS_IDX(AOM_PLANE_U)] == 1 ||
@@ -2960,9 +2962,9 @@
// TODO(marpan): Only allow for 8 bit-depth for now, re-enable for 10/12 bit
// when issue 3359 is fixed.
- if (cm->seq_params->bit_depth == 8 &&
- cpi->oxcf.tune_cfg.content == AOM_CONTENT_SCREEN && !skip_idtx_palette &&
- !cpi->oxcf.txfm_cfg.use_inter_dct_only && !x->force_zeromv_skip_for_blk &&
+ if (cm->seq_params->bit_depth == 8 && rt_sf->use_idtx_nonrd &&
+ !skip_idtx_palette && !cpi->oxcf.txfm_cfg.use_inter_dct_only &&
+ !x->force_zeromv_skip_for_blk &&
is_inter_mode(best_pickmode->best_mode) &&
best_pickmode->best_pred != NULL &&
(!rt_sf->prune_idtx_nonrd ||