vp9: Modify simple_block_yrd condition for SVC
Modify simple_block_yrd condition in nonrd_pickmode for SVC: allow it to be used also on base temporal_layer, only when spatial_layer > 1 and block size < 32x32. Speed up of about ~2% for 3 layer SVC, with little/negligible loss in quality. Change-Id: I7734bdae51cf51f22b96f6b2b27da20ea1d84344
This commit is contained in:
		@@ -676,7 +676,9 @@ 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 || cpi->use_svc)) {
 | 
			
		||||
      (bsize < BLOCK_32X32 ||
 | 
			
		||||
       (cpi->use_svc &&
 | 
			
		||||
        (bsize < BLOCK_32X32 || cpi->svc.temporal_layer_id > 0)))) {
 | 
			
		||||
    unsigned int var_y, sse_y;
 | 
			
		||||
    (void)tx_size;
 | 
			
		||||
    if (!rd_computed)
 | 
			
		||||
 
 | 
			
		||||
@@ -572,7 +572,7 @@ 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 || cpi->svc.spatial_layer_id > 1) {
 | 
			
		||||
      sf->use_simple_block_yrd = 1;
 | 
			
		||||
      if (cpi->svc.non_reference_frame)
 | 
			
		||||
        sf->mv.subpel_search_method = SUBPEL_TREE_PRUNED_EVENMORE;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user