summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2014-02-14 15:53:19 -0800
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-02-14 15:53:19 -0800
commit5306eda9daf6ef3e26e63f3843780b1ed3626215 (patch)
treef210ff9e414e804778405c760506091ef8047f92 /vp9/encoder
parentecf392a155c33963aeb743d68bcb61e86bac4dc8 (diff)
parent12ae6eaf21274876ef1c02124620c186c4c3cff2 (diff)
downloadlibvpx-5306eda9daf6ef3e26e63f3843780b1ed3626215.tar
libvpx-5306eda9daf6ef3e26e63f3843780b1ed3626215.tar.gz
libvpx-5306eda9daf6ef3e26e63f3843780b1ed3626215.tar.bz2
libvpx-5306eda9daf6ef3e26e63f3843780b1ed3626215.zip
Merge "Enforce max-intra-pct in one-pass cbr mode"
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_ratectrl.c6
1 files changed, 4 insertions, 2 deletions
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) {