From 12ae6eaf21274876ef1c02124620c186c4c3cff2 Mon Sep 17 00:00:00 2001 From: Deb Mukherjee Date: Fri, 14 Feb 2014 10:12:38 -0800 Subject: Enforce max-intra-pct in one-pass cbr mode This was inadvertently left out in a previous refactoring step. Change-Id: Idf3350e95152f876a1a1a4591dd30c8981856c96 --- vp9/encoder/vp9_ratectrl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'vp9/encoder') diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c index 7aa4b39ed..a5560631f 100644 --- a/vp9/encoder/vp9_ratectrl.c +++ b/vp9/encoder/vp9_ratectrl.c @@ -1338,9 +1338,10 @@ static int calc_pframe_target_size_one_pass_cbr(const VP9_COMP *cpi) { static int calc_iframe_target_size_one_pass_cbr(const VP9_COMP *cpi) { const RATE_CONTROL *rc = &cpi->rc; + int target; if (cpi->common.current_video_frame == 0) { - return ((cpi->oxcf.starting_buffer_level / 2) > INT_MAX) + target = ((cpi->oxcf.starting_buffer_level / 2) > INT_MAX) ? INT_MAX : (int)(cpi->oxcf.starting_buffer_level / 2); } else { const int initial_boost = 32; @@ -1349,8 +1350,9 @@ static int calc_iframe_target_size_one_pass_cbr(const VP9_COMP *cpi) { kf_boost = (int)(kf_boost * rc->frames_since_key / (cpi->output_framerate / 2)); } - return ((16 + kf_boost) * rc->av_per_frame_bandwidth) >> 4; + target = ((16 + kf_boost) * rc->av_per_frame_bandwidth) >> 4; } + return vp9_rc_clamp_iframe_target_size(cpi, target); } void vp9_rc_get_svc_params(VP9_COMP *cpi) { -- cgit v1.2.3