Chromium Code Reviews| Index: webrtc/modules/video_processing/frame_preprocessor.h |
| diff --git a/webrtc/modules/video_processing/frame_preprocessor.h b/webrtc/modules/video_processing/frame_preprocessor.h |
| index 27592603c7095d4ae8a224689bfabfeceed71992..12828161d0b070e09055f2aa19dbc486dbe905de 100644 |
| --- a/webrtc/modules/video_processing/frame_preprocessor.h |
| +++ b/webrtc/modules/video_processing/frame_preprocessor.h |
| @@ -8,22 +8,21 @@ |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| -/* |
| - * frame_preprocessor.h |
| - */ |
| #ifndef WEBRTC_MODULES_VIDEO_PROCESSING_FRAME_PREPROCESSOR_H_ |
| #define WEBRTC_MODULES_VIDEO_PROCESSING_FRAME_PREPROCESSOR_H_ |
| +#include "webrtc/base/scoped_ptr.h" |
| #include "webrtc/modules/video_processing/include/video_processing.h" |
| #include "webrtc/modules/video_processing/content_analysis.h" |
| #include "webrtc/modules/video_processing/spatial_resampler.h" |
| #include "webrtc/modules/video_processing/video_decimator.h" |
| -#include "webrtc/modules/video_processing/video_denoiser.h" |
| #include "webrtc/typedefs.h" |
| #include "webrtc/video_frame.h" |
| namespace webrtc { |
| +class VideoDenoiser; |
| + |
| class VPMFramePreprocessor { |
| public: |
| VPMFramePreprocessor(); |
| @@ -52,33 +51,33 @@ class VPMFramePreprocessor { |
| int32_t updateIncomingFrameSize(uint32_t width, uint32_t height); |
| // Set decimated values: frame rate/dimension. |
| - uint32_t Decimatedframe_rate(); |
| - uint32_t DecimatedWidth() const; |
| - uint32_t DecimatedHeight() const; |
| + uint32_t GetDecimatedFrameRate(); |
| + uint32_t GetDecimatedWidth() const; |
| + uint32_t GetDecimatedHeight() const; |
| // Preprocess output: |
| - int32_t PreprocessFrame(const VideoFrame& frame, |
| - VideoFrame** processed_frame); |
| - VideoContentMetrics* ContentMetrics() const; |
| + void EnableDenosing(bool enable); |
| + const VideoFrame* PreprocessFrame(const VideoFrame& frame); |
| + VideoContentMetrics* GetContentMetrics() const; |
| private: |
| // The content does not change so much every frame, so to reduce complexity |
| // we can compute new content metrics every |kSkipFrameCA| frames. |
| enum { kSkipFrameCA = 2 }; |
| + // All pointers/members in this class are assumed to be protected by the class |
|
pbos-webrtc
2015/11/30 11:51:57
Maybe put a note on the class itself rather than h
mflodman
2015/12/04 15:01:07
Done.
|
| + // owner. |
| VideoContentMetrics* content_metrics_; |
| VideoFrame denoised_frame_; |
| VideoFrame resampled_frame_; |
| VPMSpatialResampler* spatial_resampler_; |
| VPMContentAnalysis* ca_; |
| VPMVideoDecimator* vd_; |
| - VideoDenoiser* denoiser_; |
| + rtc::scoped_ptr<VideoDenoiser> denoiser_; |
| bool enable_ca_; |
| - bool enable_denoising_; |
| - int frame_cnt_; |
| - |
| + uint32_t frame_cnt_; |
| }; |
| } // namespace webrtc |
| -#endif // WEBRTC_MODULES_VIDEO_PROCESSING_FRAME_PREPROCESSOR_H_ |
| +#endif // WEBRTC_MODULES_VIDEO_PROCESSING_FRAME_PREPROCESSOR_H_ |