summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_ratectrl.c
diff options
context:
space:
mode:
authorMarco <marpan@google.com>2016-02-12 10:29:26 -0800
committerMarco <marpan@google.com>2016-02-22 17:44:20 -0800
commita0278cad3f352e4d878f59ecf414f0af2badae8b (patch)
tree8c0a1e16cca1350965fa24d33b0e2e420b91f791 /vp9/encoder/vp9_ratectrl.c
parent034031d4aae9947d760309cf701c6f33b954e055 (diff)
downloadlibvpx-a0278cad3f352e4d878f59ecf414f0af2badae8b.tar
libvpx-a0278cad3f352e4d878f59ecf414f0af2badae8b.tar.gz
libvpx-a0278cad3f352e4d878f59ecf414f0af2badae8b.tar.bz2
libvpx-a0278cad3f352e4d878f59ecf414f0af2badae8b.zip
vp9 aq-mode=3: Allow it to be used for 1 pass VBR mode.
Change-Id: I630b8e33106c78382545d49da5fb4c75b1b0b528
Diffstat (limited to 'vp9/encoder/vp9_ratectrl.c')
-rw-r--r--vp9/encoder/vp9_ratectrl.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c
index 11b89b922..042fe0b94 100644
--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -1469,7 +1469,12 @@ void vp9_rc_get_one_pass_vbr_params(VP9_COMP *cpi) {
cm->frame_type = INTER_FRAME;
}
if (rc->frames_till_gf_update_due == 0) {
- rc->baseline_gf_interval = (rc->min_gf_interval + rc->max_gf_interval) / 2;
+ if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cpi->oxcf.pass == 0) {
+ vp9_cyclic_refresh_set_golden_update(cpi);
+ } else {
+ rc->baseline_gf_interval =
+ (rc->min_gf_interval + rc->max_gf_interval) / 2;
+ }
rc->frames_till_gf_update_due = rc->baseline_gf_interval;
// NOTE: frames_till_gf_update_due must be <= frames_to_key.
if (rc->frames_till_gf_update_due > rc->frames_to_key) {
@@ -1487,6 +1492,8 @@ void vp9_rc_get_one_pass_vbr_params(VP9_COMP *cpi) {
else
target = calc_pframe_target_size_one_pass_vbr(cpi);
vp9_rc_set_frame_target(cpi, target);
+ if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cpi->oxcf.pass == 0)
+ vp9_cyclic_refresh_update_parameters(cpi);
}
static int calc_pframe_target_size_one_pass_cbr(const VP9_COMP *cpi) {