diff options
author | Marco <marpan@google.com> | 2017-05-21 22:15:28 -0700 |
---|---|---|
committer | Marco <marpan@google.com> | 2017-05-21 22:21:44 -0700 |
commit | 2adc0443dd3701d0236a44e9e0670b50c15d30a2 (patch) | |
tree | 42003bb1f929dd16f5d14974c860e34614a0f2fc /vp9/encoder/vp9_ratectrl.c | |
parent | b5055002d7a57ed21badf870f2af384193ac89b6 (diff) | |
download | libvpx-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.c | 3 |
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); |