| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -110,6 +110,7 @@ typedef struct VPxEncoderContext { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    float level; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    int row_mt; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    int tune_content; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    int corpus_complexity; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} VPxContext; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			/** String mappings for enum vp8e_enc_control_id */ | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -213,6 +214,10 @@ static av_cold void dump_enc_cfg(AVCodecContext *avctx, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			           width, "rc_2pass_vbr_bias_pct:",       cfg->rc_2pass_vbr_bias_pct, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			           width, "rc_2pass_vbr_minsection_pct:", cfg->rc_2pass_vbr_minsection_pct, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			           width, "rc_2pass_vbr_maxsection_pct:", cfg->rc_2pass_vbr_maxsection_pct); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#if VPX_ENCODER_ABI_VERSION >= 14 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    av_log(avctx, level, "  %*s%u\n", | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			           width, "rc_2pass_vbr_corpus_complexity:", cfg->rc_2pass_vbr_corpus_complexity); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#endif | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    av_log(avctx, level, "keyframing settings\n" | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			           "  %*s%d\n  %*s%u\n  %*s%u\n", | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			           width, "kf_mode:",     cfg->kf_mode, | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -565,6 +570,14 @@ FF_ENABLE_DEPRECATION_WARNINGS | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (avctx->rc_max_rate) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        enccfg.rc_2pass_vbr_maxsection_pct = | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            avctx->rc_max_rate * 100LL / avctx->bit_rate; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#if CONFIG_LIBVPX_VP9_ENCODER | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (avctx->codec_id == AV_CODEC_ID_VP9) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#if VPX_ENCODER_ABI_VERSION >= 14 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (ctx->corpus_complexity >= 0) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            enccfg.rc_2pass_vbr_corpus_complexity = ctx->corpus_complexity; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#endif | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#endif | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (avctx->rc_buffer_size) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        enccfg.rc_buf_sz         = | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -1140,6 +1153,9 @@ static const AVOption vp9_options[] = { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#if VPX_ENCODER_ABI_VERSION >= 14 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    { "film",            "Film content; improves grain retention", 0, AV_OPT_TYPE_CONST, {.i64 = 2}, 0, 0, VE, "tune_content" }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#endif | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#endif | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#if VPX_ENCODER_ABI_VERSION >= 14 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    { "corpus-complexity", "corpus vbr complexity midpoint", OFFSET(corpus_complexity), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 10000, VE }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#endif | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    LEGACY_OPTIONS | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    { NULL } | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |