]> granicus.if.org Git - libvpx/commitdiff
Fix a setting in cyclic refresh.
authorMarco <marpan@chromium.org>
Fri, 7 Aug 2015 17:14:01 +0000 (10:14 -0700)
committerMarco <marpan@chromium.org>
Fri, 7 Aug 2015 17:34:47 +0000 (10:34 -0700)
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

vp9/encoder/vp9_aq_cyclicrefresh.c

index b61906388b8807b286fdabfc7af951bafe8dd9c2..a13f0c00151c5edbab263e19f272806992ea0fa5 100644 (file)
@@ -459,7 +459,10 @@ void vp9_cyclic_refresh_update_parameters(VP9_COMP *const cpi) {
   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;