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
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 @@
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.