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_denoiser.h | |
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_denoiser.h')
-rw-r--r-- | vp9/encoder/vp9_denoiser.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_denoiser.h b/vp9/encoder/vp9_denoiser.h index 2362c4f50..1973e9898 100644 --- a/vp9/encoder/vp9_denoiser.h +++ b/vp9/encoder/vp9_denoiser.h @@ -50,6 +50,7 @@ typedef struct vp9_denoiser { int reset; int num_ref_frames; int num_layers; + unsigned int current_denoiser_frame; VP9_DENOISER_LEVEL denoising_level; VP9_DENOISER_LEVEL prev_denoising_level; } VP9_DENOISER; @@ -111,7 +112,9 @@ static INLINE int total_adj_strong_thresh(BLOCK_SIZE bs, void vp9_denoiser_free(VP9_DENOISER *denoiser); -void vp9_denoiser_set_noise_level(VP9_DENOISER *denoiser, int noise_level); +void vp9_denoiser_set_noise_level(struct VP9_COMP *const cpi, int noise_level); + +void vp9_denoiser_reset_on_first_frame(struct VP9_COMP *const cpi); int64_t vp9_scale_part_thresh(int64_t threshold, VP9_DENOISER_LEVEL noise_level, int content_state, int temporal_layer_id); |