]> granicus.if.org Git - libvpx/commit
vp9-svc: Fix to frames_since_golden update for SVC.
authorMarco Paniconi <marpan@google.com>
Thu, 7 Jun 2018 23:35:44 +0000 (16:35 -0700)
committerMarco Paniconi <marpan@google.com>
Mon, 11 Jun 2018 15:57:20 +0000 (08:57 -0700)
commit7d97790438b796620a48dd2cfa6f2c6fe1f16871
treef8294e06ec62bb562beec33db5f85db321ecd6a7
parent3ac2b57015000dde5731ceb9fc824e86747c5945
vp9-svc: Fix to frames_since_golden update for SVC.

When the second (gf) temporal reference is used in SVC:
the reference is refreshed on base TL superframes, and so
the rc->frames_since_golden counter was also only updated on
base TL frames. But this was disabling the golden reference
from being used as a temporal reference for TL > 0 frames
(since frames_since_golden was 0/not updated on TL > 0 frames).

Fix is to copy the update of rc->frames_since_golden to all
upper temporal layers. This allows TL > 0 frames to test the
golden inter mode.

Gain on RTC set: ~2%, ~8% on desktop_vga clip.
Encode time increase ~5-8% on linux, 3SL-3TL run with 1 thread.

For now keep this off for TL > 0 frames in speed features, so
this change does not change current behavior for speed >= 7.

Change-Id: I405708f3f80039ae47bd64ec53e66f92160acd9e
vp9/encoder/vp9_ratectrl.c
vp9/encoder/vp9_speed_features.c