Merge "vp9: use nonrd pick_intra for small blocks on keyframes."

This commit is contained in:
Jerome Jiang 2017-10-12 17:29:27 +00:00 committed by Gerrit Code Review
commit 175b36cb6d
3 changed files with 6 additions and 1 deletions

View File

@ -3489,7 +3489,7 @@ static TX_MODE select_tx_mode(const VP9_COMP *cpi, MACROBLOCKD *const xd) {
static void hybrid_intra_mode_search(VP9_COMP *cpi, MACROBLOCK *const x,
RD_COST *rd_cost, BLOCK_SIZE bsize,
PICK_MODE_CONTEXT *ctx) {
if (bsize < BLOCK_16X16)
if (!cpi->sf.nonrd_keyframe && bsize < BLOCK_16X16)
vp9_rd_pick_intra_mode_sb(cpi, x, rd_cost, bsize, ctx, INT64_MAX);
else
vp9_pick_intra_mode(cpi, x, rd_cost, bsize, ctx);

View File

@ -366,6 +366,7 @@ static void set_rt_speed_feature_framesize_independent(
sf->use_simple_block_yrd = 0;
sf->adapt_partition_source_sad = 0;
sf->use_altref_onepass = 0;
sf->nonrd_keyframe = 0;
if (speed >= 1) {
sf->allow_txfm_domain_distortion = 1;
@ -598,6 +599,7 @@ static void set_rt_speed_feature_framesize_independent(
if (speed >= 8) {
sf->adaptive_rd_thresh = 4;
sf->skip_encode_sb = 1;
sf->nonrd_keyframe = 1;
if (!cpi->use_svc) cpi->max_copied_frame = 4;
if (cpi->row_mt && cpi->oxcf.max_threads > 1)
sf->adaptive_rd_thresh_row_mt = 1;

View File

@ -499,6 +499,9 @@ typedef struct SPEED_FEATURES {
// Enable use of alt-refs in 1 pass VBR.
int use_altref_onepass;
// Always use nonrd_pick_intra for all block sizes on keyframes.
int nonrd_keyframe;
} SPEED_FEATURES;
struct VP9_COMP;