summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_svc_layercontext.h
diff options
context:
space:
mode:
authorJerome Jiang <jianj@google.com>2018-06-01 14:27:34 -0700
committerMarco Paniconi <marpan@google.com>2018-06-04 13:54:04 -0700
commitf058688eaa8b9fb2ff1f4d92eb02cf888fd28ec0 (patch)
tree3e6f7bf18df75eb88a3c809ac0bbb1dd1c47549c /vp9/encoder/vp9_svc_layercontext.h
parent3f7e6cc020446ee29439f1cd7d3d5c39adaf64c0 (diff)
downloadlibvpx-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.h5
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;