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..8e6bb9b3d0ec17a5b1487cf111312742ee50e476 100644 |
--- a/webrtc/modules/video_processing/frame_preprocessor.h |
+++ b/webrtc/modules/video_processing/frame_preprocessor.h |
@@ -8,22 +8,23 @@ |
* 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; |
+ |
+// All pointers/members in this class are assumed to be protected by the class |
+// owner. |
class VPMFramePreprocessor { |
public: |
VPMFramePreprocessor(); |
@@ -52,14 +53,14 @@ 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 |
@@ -72,13 +73,11 @@ class VPMFramePreprocessor { |
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_ |