Bug fix for second reference stats.
Immediately following a key frame the trailing second reference error in the first pass stats will be based on a reference frame from the prior key frame group and will thus usually be much larger. This fix eliminates that effect (which typically triggers a short arf group immediately after a key frame). It also changes the accounting for the first frame in each new arf group. This change gives large gains on a couple of clips that contain mid sequence key frames (e.g. 6% on 1080P tennis). Overall there was a net gain in PSNR and PSNR-HVS ~(0.05- 0.4%) and mixed results for SSIM (+/- 0.2%). Change-Id: I8e00538ac2c0b5c2e7e637903cac329ce5c2a375
This commit is contained in:
		@@ -2543,8 +2543,11 @@ static void define_gf_group(VP9_COMP *cpi, FIRSTPASS_STATS *this_frame) {
 | 
			
		||||
      // Update the accumulator for second ref error difference.
 | 
			
		||||
      // This is intended to give an indication of how much the coded error is
 | 
			
		||||
      // increasing over time.
 | 
			
		||||
      if (i == 1) {
 | 
			
		||||
        sr_accumulator += next_frame.coded_error;
 | 
			
		||||
      } else {
 | 
			
		||||
        sr_accumulator += (next_frame.sr_coded_error - next_frame.coded_error);
 | 
			
		||||
      sr_accumulator = VPXMAX(0.0, sr_accumulator);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Break out conditions.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user