Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1013)

Unified Diff: webrtc/modules/video_processing/frame_preprocessor.h

Issue 1482913003: Initial VideoProcessing refactoring. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Based on pbos review Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698