Chromium Code Reviews| Index: webrtc/modules/video_processing/video_denoiser.h |
| diff --git a/webrtc/modules/video_processing/video_denoiser.h b/webrtc/modules/video_processing/video_denoiser.h |
| index 03b30d91c7f74087547a3f223ee12e61bcf289db..dec6a9f1929e1dcc34b3b071cc18339683fcfd47 100644 |
| --- a/webrtc/modules/video_processing/video_denoiser.h |
| +++ b/webrtc/modules/video_processing/video_denoiser.h |
| @@ -22,25 +22,45 @@ namespace webrtc { |
| class VideoDenoiser { |
| public: |
| explicit VideoDenoiser(bool runtime_cpu_detection); |
| + |
| void DenoiseFrame(const VideoFrame& frame, |
| VideoFrame* denoised_frame, |
| - VideoFrame* denoised_frame_track, |
| - int noise_level_prev); |
| + VideoFrame* denoised_frame_prev, |
| + bool noise_estimation_enabled); |
| private: |
| + void DenoiserReset(const VideoFrame& frame, |
| + VideoFrame* denoised_frame, |
| + VideoFrame* denoised_frame_prev); |
| + |
| + int PositionCheck(int mb_row, int mb_col, int noise_level); |
| + |
| + void ReduceFalseDetection(const std::unique_ptr<uint8_t[]>& d_status, |
| + std::unique_ptr<uint8_t[]>* d_status_red, |
| + int noise_level); |
| + |
| + bool IsTrailingBlock(const std::unique_ptr<uint8_t[]>& d_status, |
| + int mb_row, |
| + int mb_col); |
| + |
| + void CopySrcOnMOB(const uint8_t* y_src, uint8_t* y_dst); |
| + |
| int width_; |
| int height_; |
| + int mb_rows_; |
| + int mb_cols_; |
| + int stride_y_; |
| + int stride_u_; |
| + int stride_v_; |
| CpuType cpu_type_; |
| - std::unique_ptr<DenoiseMetrics[]> metrics_; |
| std::unique_ptr<DenoiserFilter> filter_; |
| std::unique_ptr<NoiseEstimation> ne_; |
| std::unique_ptr<uint8_t[]> d_status_; |
| -#if EXPERIMENTAL |
| - std::unique_ptr<uint8_t[]> d_status_tmp1_; |
| - std::unique_ptr<uint8_t[]> d_status_tmp2_; |
| -#endif |
| + // Moving object detection (MOD) result. |
|
marpan
2016/04/12 23:10:19
no need to write "MOD" here? you don't reference i
jackychen_
2016/04/12 23:17:14
Fixed in patch 11.
|
| + std::unique_ptr<uint8_t[]> mod_; |
| std::unique_ptr<uint8_t[]> x_density_; |
| std::unique_ptr<uint8_t[]> y_density_; |
| + std::unique_ptr<DenoiserDecision[]> mb_filter_decision_; |
| }; |
| } // namespace webrtc |