ref: ced5cea41ca92ff2f47e4bd094c69a3452ff95a5
parent: acc248e83dc02a9499b281265c70322aa3e7afae
parent: fab630fac9255e80e79597c174b377a407f1f808
author: Marco Paniconi <[email protected]>
date: Wed Jan 27 16:38:35 EST 2016
Merge "vp9-aqmode=3: Limit on period for golden update."
--- a/vp9/encoder/vp9_aq_cyclicrefresh.c
+++ b/vp9/encoder/vp9_aq_cyclicrefresh.c
@@ -321,11 +321,11 @@
void vp9_cyclic_refresh_set_golden_update(VP9_COMP *const cpi) {
RATE_CONTROL *const rc = &cpi->rc;
CYCLIC_REFRESH *const cr = cpi->cyclic_refresh;
- // Set minimum gf_interval for GF update to a multiple (== 2) of refresh
- // period. Depending on past encoding stats, GF flag may be reset and update
- // may not occur until next baseline_gf_interval.
+ // Set minimum gf_interval for GF update to a multiple of the refresh period,
+ // with some max limit. Depending on past encoding stats, GF flag may be
+ // reset and update may not occur until next baseline_gf_interval.
if (cr->percent_refresh > 0)
- rc->baseline_gf_interval = 4 * (100 / cr->percent_refresh);
+ rc->baseline_gf_interval = VPXMIN(4 * (100 / cr->percent_refresh), 40);
else
rc->baseline_gf_interval = 40;
}