Clamp rate correction factor after scaling it

Added clamp on the rate correction factor after
it has been scaled.

Change-Id: I5d4b46a101987b43c5bcfd7e0bd1b7b4d53640a4
This commit is contained in:
Adrian Grange
2015-03-10 12:04:59 -07:00
parent 78df712216
commit 42a89eb8cc

View File

@@ -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) {