diff options
author | Jerome Jiang <jianj@google.com> | 2018-11-29 15:53:41 -0800 |
---|---|---|
committer | Jerome Jiang <jianj@google.com> | 2018-12-04 12:16:40 -0800 |
commit | 28345f9730e476eebd23c41c1abd71fc45b74d9a (patch) | |
tree | 4502f22a1f32b229a917e0e767ef73aad05daa27 /vp9/encoder/vp9_svc_layercontext.c | |
parent | 932f8fa04dc15f4adf16df37402556e8c4dc72e7 (diff) | |
download | libvpx-28345f9730e476eebd23c41c1abd71fc45b74d9a.tar libvpx-28345f9730e476eebd23c41c1abd71fc45b74d9a.tar.gz libvpx-28345f9730e476eebd23c41c1abd71fc45b74d9a.tar.bz2 libvpx-28345f9730e476eebd23c41c1abd71fc45b74d9a.zip |
vp9: force refresh of long term ref when denoiser reset.
This will allocate extra frame buffer if long term temporal reference is
used and denoiser is enabled on non-key frame.
Add test.
Change-Id: I0e8d1fdb9a2d697a8eed7fe6206bcb362e69f1c8
Diffstat (limited to 'vp9/encoder/vp9_svc_layercontext.c')
-rw-r--r-- | vp9/encoder/vp9_svc_layercontext.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_svc_layercontext.c b/vp9/encoder/vp9_svc_layercontext.c index 21b920f11..510087580 100644 --- a/vp9/encoder/vp9_svc_layercontext.c +++ b/vp9/encoder/vp9_svc_layercontext.c @@ -1106,6 +1106,16 @@ void vp9_svc_assert_constraints_pattern(VP9_COMP *const cpi) { } } +#if CONFIG_VP9_TEMPORAL_DENOISING +int vp9_denoise_svc_non_key(VP9_COMP *const cpi) { + int layer = + LAYER_IDS_TO_IDX(cpi->svc.spatial_layer_id, cpi->svc.temporal_layer_id, + cpi->svc.number_temporal_layers); + LAYER_CONTEXT *lc = &cpi->svc.layer_context[layer]; + return denoise_svc(cpi) && !lc->is_key_frame; +} +#endif + void vp9_svc_check_spatial_layer_sync(VP9_COMP *const cpi) { SVC *const svc = &cpi->svc; // Only for superframes whose base is not key, as those are |