summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_ratectrl.c
diff options
context:
space:
mode:
authorMarco <marpan@google.com>2017-05-21 22:15:28 -0700
committerMarco <marpan@google.com>2017-05-21 22:21:44 -0700
commit2adc0443dd3701d0236a44e9e0670b50c15d30a2 (patch)
tree42003bb1f929dd16f5d14974c860e34614a0f2fc /vp9/encoder/vp9_ratectrl.c
parentb5055002d7a57ed21badf870f2af384193ac89b6 (diff)
downloadlibvpx-2adc0443dd3701d0236a44e9e0670b50c15d30a2.tar
libvpx-2adc0443dd3701d0236a44e9e0670b50c15d30a2.tar.gz
libvpx-2adc0443dd3701d0236a44e9e0670b50c15d30a2.tar.bz2
libvpx-2adc0443dd3701d0236a44e9e0670b50c15d30a2.zip
vp9: Adjustments to cyclic refresh for high motion.
For aq-mode=3: refactor the condition for turning off the refresh. Add some adjustments for high motion content. No/little change in RTC metrics, only affects high motion case. Change-Id: I7da8eabfb0e61db014be4562806f72ee5ef4a43b
Diffstat (limited to 'vp9/encoder/vp9_ratectrl.c')
-rw-r--r--vp9/encoder/vp9_ratectrl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c
index b1866cd8a..27fea5d4e 100644
--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -547,6 +547,7 @@ void vp9_rc_update_rate_correction_factors(VP9_COMP *cpi) {
int vp9_rc_regulate_q(const VP9_COMP *cpi, int target_bits_per_frame,
int active_best_quality, int active_worst_quality) {
const VP9_COMMON *const cm = &cpi->common;
+ CYCLIC_REFRESH *const cr = cpi->cyclic_refresh;
int q = active_worst_quality;
int last_error = INT_MAX;
int i, target_bits_per_mb, bits_per_mb_at_this_q;
@@ -561,7 +562,7 @@ int vp9_rc_regulate_q(const VP9_COMP *cpi, int target_bits_per_frame,
do {
if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cm->seg.enabled &&
- cpi->svc.temporal_layer_id == 0 &&
+ cr->apply_cyclic_refresh &&
(!cpi->oxcf.gf_cbr_boost_pct || !cpi->refresh_golden_frame)) {
bits_per_mb_at_this_q =
(int)vp9_cyclic_refresh_rc_bits_per_mb(cpi, i, correction_factor);