diff options
author | Jerome Jiang <jianj@google.com> | 2018-06-01 14:27:34 -0700 |
---|---|---|
committer | Marco Paniconi <marpan@google.com> | 2018-06-04 13:54:04 -0700 |
commit | f058688eaa8b9fb2ff1f4d92eb02cf888fd28ec0 (patch) | |
tree | 3e6f7bf18df75eb88a3c809ac0bbb1dd1c47549c /vp9/encoder/vp9_svc_layercontext.h | |
parent | 3f7e6cc020446ee29439f1cd7d3d5c39adaf64c0 (diff) | |
download | libvpx-f058688eaa8b9fb2ff1f4d92eb02cf888fd28ec0.tar libvpx-f058688eaa8b9fb2ff1f4d92eb02cf888fd28ec0.tar.gz libvpx-f058688eaa8b9fb2ff1f4d92eb02cf888fd28ec0.tar.bz2 libvpx-f058688eaa8b9fb2ff1f4d92eb02cf888fd28ec0.zip |
vp9-svc: Allow usage of second (long term) temporal reference.
Allow for second temporal reference for top spatial layer in SVC,
when inter-layer prediction is disabled on INTER frames.
The second temporal reference is labelled as the golden reference
and the update/refresh of this reference buffer is only on base
temporal layer superframes. For now the period of refresh is
fixed at every 20 TL0 superframes.
Average gain is ~4% on RTC set, several clips up
by ~8-12%. Speed loss is about ~2% on mac.
Feature is disabled as default for now.
Change-Id: I2e5db5052c62dbe958a3b14be97d043823b7a529
Diffstat (limited to 'vp9/encoder/vp9_svc_layercontext.h')
-rw-r--r-- | vp9/encoder/vp9_svc_layercontext.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_svc_layercontext.h b/vp9/encoder/vp9_svc_layercontext.h index 9be5bb7ea..f1a1df936 100644 --- a/vp9/encoder/vp9_svc_layercontext.h +++ b/vp9/encoder/vp9_svc_layercontext.h @@ -97,6 +97,11 @@ typedef struct SVC { int gld_fb_idx[VPX_MAX_LAYERS]; int alt_fb_idx[VPX_MAX_LAYERS]; int force_zero_mode_spatial_ref; + // Sequence level flag to enable second (long term) temporal reference. + int use_longterm_ref; + // Frame level flag to enable second (long term) temporal reference. + int use_longterm_ref_current_layer; + int buffer_idx_longterm_ref; int current_superframe; int non_reference_frame; int use_base_mv; |