ref: dc36e5aff0786a696d50343c74391fe9aeaec97f
parent: eaa8043a31be5304946cd33d8f3f9f72547bff4a
author: Marco <[email protected]>
date: Fri Aug 7 06:14:01 EDT 2015
Fix a setting in cyclic refresh. Use the correct period (in terms of cr->percent_refresh) for the condition of larger delta-qp following key frame. And account for larger interval for temporal layers. Change-Id: Ibb43f5200f9b1eeb8bbb8211327b08ecda3c3b8a
--- a/vp9/encoder/vp9_aq_cyclicrefresh.c
+++ b/vp9/encoder/vp9_aq_cyclicrefresh.c
@@ -459,7 +459,10 @@
cr->time_for_refresh = 0;
// Use larger delta-qp (increase rate_ratio_qdelta) for first few (~4)
// periods of the refresh cycle, after a key frame.
- if (rc->frames_since_key < 4 * cr->percent_refresh)
+ // Account for larger interval on base layer for temporal layers.
+ if (cr->percent_refresh > 0 &&
+ rc->frames_since_key < (4 * cpi->svc.number_temporal_layers) *
+ (100 / cr->percent_refresh))
cr->rate_ratio_qdelta = 3.0;
else
cr->rate_ratio_qdelta = 2.0;