diff options
author | Marco Paniconi <marpan@google.com> | 2018-04-05 15:54:17 -0700 |
---|---|---|
committer | Marco Paniconi <marpan@google.com> | 2018-04-05 15:58:36 -0700 |
commit | a4e453f668a8d98645c034b9aa9f979bfa5af4a9 (patch) | |
tree | 38332445868f319427c1cfdd9b9ae1939afa8d09 /vp9 | |
parent | ac4dc510275a843724bd040a7aef2e02bd65e8eb (diff) | |
download | libvpx-a4e453f668a8d98645c034b9aa9f979bfa5af4a9.tar libvpx-a4e453f668a8d98645c034b9aa9f979bfa5af4a9.tar.gz libvpx-a4e453f668a8d98645c034b9aa9f979bfa5af4a9.tar.bz2 libvpx-a4e453f668a8d98645c034b9aa9f979bfa5af4a9.zip |
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
Diffstat (limited to 'vp9')
-rw-r--r-- | vp9/encoder/vp9_aq_cyclicrefresh.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_aq_cyclicrefresh.c b/vp9/encoder/vp9_aq_cyclicrefresh.c index ed43de701..ef8484f98 100644 --- a/vp9/encoder/vp9_aq_cyclicrefresh.c +++ b/vp9/encoder/vp9_aq_cyclicrefresh.c @@ -428,6 +428,8 @@ void vp9_cyclic_refresh_update_parameters(VP9_COMP *const cpi) { 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; |