ref: a4e453f668a8d98645c034b9aa9f979bfa5af4a9
parent: ac4dc510275a843724bd040a7aef2e02bd65e8eb
author: Marco Paniconi <marpan@google.com>
date: Thu Apr 5 11:54:17 EDT 2018
vp9-svc: Fix to disable cyclic refresh on key superframes. Cyclic refresh is disabled on key frames, but we did not disable it for for spatial layers whose base is a key frame (i.e., on a key-superframe). This fix means generally somewhat lower frame-level QP will be used for those spatial layers whose base is a key frame, which will generally mean little better quality for the key-superframes. Change-Id: Idf090651aa2f5856fb6696c89198a9f6d5d50280
--- a/vp9/encoder/vp9_aq_cyclicrefresh.c
+++ b/vp9/encoder/vp9_aq_cyclicrefresh.c
@@ -428,6 +428,8 @@
int thresh_low_motion = (cm->width < 720) ? 55 : 20;
cr->apply_cyclic_refresh = 1;
if (cm->frame_type == KEY_FRAME || cpi->svc.temporal_layer_id > 0 ||
+ (cpi->use_svc &&
+ cpi->svc.layer_context[cpi->svc.temporal_layer_id].is_key_frame) ||
(!cpi->use_svc && rc->avg_frame_low_motion < thresh_low_motion &&
rc->frames_since_key > 40)) {
cr->apply_cyclic_refresh = 0;