From 301409107feb8df66f3b6634af6abc92ff40be2f Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Mon, 12 Mar 2012 16:23:08 -0700 Subject: [PATCH] Update for key frame target size setting. Set an iniital/minimun boost level for the frame rate factor of key frame target size setting. Change-Id: If2586f4ac76a1fa89378aa652a58607356a1f426 --- vp8/encoder/ratectrl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vp8/encoder/ratectrl.c b/vp8/encoder/ratectrl.c index f4ed300..fc340ee 100644 --- a/vp8/encoder/ratectrl.c +++ b/vp8/encoder/ratectrl.c @@ -392,13 +392,14 @@ static void calc_iframe_target_size(VP8_COMP *cpi) int Q = (cpi->common.frame_flags & FRAMEFLAGS_KEY) ? cpi->avg_frame_qindex : cpi->ni_av_qi; + int initial_boost = 24; // Corresponds to: |2.5 * per_frame_bandwidth| // Boost depends somewhat on frame rate: only used for 1 layer case. if (cpi->oxcf.number_of_layers == 1) { - kf_boost = (int)(2 * cpi->output_frame_rate - 16); + kf_boost = MAX(initial_boost, (int)(2 * cpi->output_frame_rate - 16)); } else { // Initial factor: set target size to: |2.5 * per_frame_bandwidth|. - kf_boost = 24; + kf_boost = initial_boost; } // adjustment up based on q: this factor ranges from ~1.2 to 2.2. -- 2.7.4