summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_denoiser.h
diff options
context:
space:
mode:
authorJerome Jiang <jianj@google.com>2018-11-29 15:53:41 -0800
committerJerome Jiang <jianj@google.com>2018-12-04 12:16:40 -0800
commit28345f9730e476eebd23c41c1abd71fc45b74d9a (patch)
tree4502f22a1f32b229a917e0e767ef73aad05daa27 /vp9/encoder/vp9_denoiser.h
parent932f8fa04dc15f4adf16df37402556e8c4dc72e7 (diff)
downloadlibvpx-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.h5
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);