shithub: libvpx

Download patch

ref: 14d47180435602d2905c078323eb788731d61974
parent: 13b02a8efec5b3cdaad513779382b782abb5f4bb
author: Marco <marpan@google.com>
date: Wed Jun 7 07:33:40 EDT 2017

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

--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -670,7 +670,7 @@
 #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)
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -550,8 +550,10 @@
       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 &&