From: Zoe Liu Date: Tue, 19 Jul 2016 20:55:14 +0000 (-0700) Subject: A small refactor on the rate controller X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=054689b2bf5c633fc929a12560a6881fca99fee8;p=libvpx A small refactor on the rate controller Change-Id: Ie39e16de2457dd201121c62967e4ddaf5a05c33a --- diff --git a/vp10/encoder/ratectrl.c b/vp10/encoder/ratectrl.c index 2f2f2b72d..6157c9e64 100644 --- a/vp10/encoder/ratectrl.c +++ b/vp10/encoder/ratectrl.c @@ -201,8 +201,7 @@ int vp10_rc_clamp_pframe_target_size(const VP10_COMP *const cpi, int target) { const VP10EncoderConfig *oxcf = &cpi->oxcf; const int min_frame_target = VPXMAX(rc->min_frame_bandwidth, rc->avg_frame_bandwidth >> 5); - if (target < min_frame_target) - target = min_frame_target; + // Clip the frame target to the minimum setup value. #if CONFIG_EXT_REFS if (cpi->rc.is_src_frame_alt_ref) { #else @@ -213,7 +212,10 @@ int vp10_rc_clamp_pframe_target_size(const VP10_COMP *const cpi, int target) { // The active maximum quantizer insures that an appropriate // number of bits will be spent if needed for constructed ARFs. target = min_frame_target; + } else if (target < min_frame_target) { + target = min_frame_target; } + // Clip the frame target to the maximum allowed value. if (target > rc->max_frame_bandwidth) target = rc->max_frame_bandwidth; @@ -222,6 +224,7 @@ int vp10_rc_clamp_pframe_target_size(const VP10_COMP *const cpi, int target) { oxcf->rc_max_inter_bitrate_pct / 100; target = VPXMIN(target, max_rate); } + return target; }