From 14d47180435602d2905c078323eb788731d61974 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 7 Jun 2017 11:33:40 -0700 Subject: [PATCH] vp9: SVC: Enable simple_block_yrd for temporal layers. Enable simple_block_yrd for temporal enhancement layers (TL > 0). And remove block size condiiton for SVC mode. Only affects speed >= 7 SVC. Speedup ~3-4%. avgPSNR regression on RTC for (3 spatial, 3 temporal) layers: ~1%. Change-Id: Iff4fc191623b71c69cd373e7c0823385e7ac67ed --- vp9/encoder/vp9_pickmode.c | 2 +- vp9/encoder/vp9_speed_features.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index fc0629f2b..525523ade 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -670,7 +670,7 @@ static void block_yrd(VP9_COMP *cpi, MACROBLOCK *x, RD_COST *this_rdc, #endif if (cpi->sf.use_simple_block_yrd && cpi->common.frame_type != KEY_FRAME && - bsize < BLOCK_32X32) { + (bsize < BLOCK_32X32 || cpi->use_svc)) { unsigned int var_y, sse_y; (void)tx_size; if (!rd_computed) diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index 14bdf4b02..14db81d4d 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -550,8 +550,10 @@ static void set_rt_speed_feature_framesize_independent( sf->mv.search_method = NSTEP; sf->mv.fullpel_search_step_param = 6; } - if (cpi->svc.temporal_layer_id > 0) + if (cpi->svc.temporal_layer_id > 0) { sf->mv.subpel_search_method = SUBPEL_TREE_PRUNED_EVENMORE; + sf->use_simple_block_yrd = 1; + } if (!cpi->external_resize) sf->use_source_sad = 1; if (sf->use_source_sad) { if (cpi->content_state_sb_fd == NULL &&