diff options
author | Adrian Grange <agrange@google.com> | 2015-03-11 16:09:49 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2015-03-11 16:09:49 -0700 |
commit | 39d20c6ac36b5406b620db15af7517892e0e885a (patch) | |
tree | 64cb8e4d4bdaf38b19211a2f76268efe8a98b992 | |
parent | a250ebf8b86371e9ffb76ceb4b22fb45d81bf0ac (diff) | |
parent | 42a89eb8cc0e80ff657f30f264e9c27630682094 (diff) | |
download | libvpx-39d20c6ac36b5406b620db15af7517892e0e885a.tar libvpx-39d20c6ac36b5406b620db15af7517892e0e885a.tar.gz libvpx-39d20c6ac36b5406b620db15af7517892e0e885a.tar.bz2 libvpx-39d20c6ac36b5406b620db15af7517892e0e885a.zip |
Merge "Clamp rate correction factor after scaling it"
-rw-r--r-- | vp9/encoder/vp9_ratectrl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c index c7c5e972d..626c6e9af 100644 --- a/vp9/encoder/vp9_ratectrl.c +++ b/vp9/encoder/vp9_ratectrl.c @@ -377,7 +377,7 @@ static double get_rate_correction_factor(const VP9_COMP *cpi) { rcf = rc->rate_correction_factors[INTER_NORMAL]; } rcf *= rcf_mult[rc->frame_size_selector]; - return rcf > MAX_BPB_FACTOR ? MAX_BPB_FACTOR : rcf; + return fclamp(rcf, MIN_BPB_FACTOR, MAX_BPB_FACTOR); } static void set_rate_correction_factor(VP9_COMP *cpi, double factor) { @@ -386,6 +386,8 @@ static void set_rate_correction_factor(VP9_COMP *cpi, double factor) { // Normalize RCF to account for the size-dependent scaling factor. factor /= rcf_mult[cpi->rc.frame_size_selector]; + factor = fclamp(factor, MIN_BPB_FACTOR, MAX_BPB_FACTOR); + if (cpi->common.frame_type == KEY_FRAME) { rc->rate_correction_factors[KF_STD] = factor; } else if (cpi->oxcf.pass == 2) { |