diff options
Diffstat (limited to 'common/hal/google_camera_hal/zsl_snapshot_capture_session.h')
-rw-r--r-- | common/hal/google_camera_hal/zsl_snapshot_capture_session.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/common/hal/google_camera_hal/zsl_snapshot_capture_session.h b/common/hal/google_camera_hal/zsl_snapshot_capture_session.h index 74b3cc3..a376030 100644 --- a/common/hal/google_camera_hal/zsl_snapshot_capture_session.h +++ b/common/hal/google_camera_hal/zsl_snapshot_capture_session.h @@ -17,6 +17,7 @@ #ifndef HARDWARE_GOOGLE_CAMERA_HAL_GOOGLE_CAMERA_HAL_ZSL_SNAPSHOT_CAPTURE_SESSION_H_ #define HARDWARE_GOOGLE_CAMERA_HAL_GOOGLE_CAMERA_HAL_ZSL_SNAPSHOT_CAPTURE_SESSION_H_ +#include "basic_result_processor.h" #include "camera_buffer_allocator_hwl.h" #include "camera_device_session_hwl.h" #include "capture_session.h" @@ -26,6 +27,7 @@ #include "process_block.h" #include "realtime_zsl_request_processor.h" #include "realtime_zsl_result_processor.h" +#include "realtime_zsl_result_request_processor.h" #include "request_processor.h" #include "result_processor.h" #include "snapshot_request_processor.h" @@ -42,7 +44,7 @@ class CameraDeviceSession; // // 1.SnapshotRequestProcessor->SnapshotProcessBlock->SnapshotResultProcessor // -// 2.RealtimeZslRequestProcessor->CaptureSessionWrapperProcessBlock->RealtimeZslResultProcessor +// 2.RealtimeZslRequestProcessor->CaptureSessionWrapperProcessBlock->RealtimeZslResultRequestProcessor->DenoiseProcessBlock->BasicResultProcessor // || /\ // \/ || // embedded capture session @@ -128,6 +130,7 @@ class ZslSnapshotCaptureSession : public CaptureSession { std::vector<HalStream>* hal_configured_streams); std::unique_ptr<ProcessBlock> CreateSnapshotProcessBlock(); + std::unique_ptr<ProcessBlock> CreateDenoiseProcessBlock(); // Invoked when receiving a result from result processor. void ProcessCaptureResult(std::unique_ptr<CaptureResult> result); @@ -138,12 +141,11 @@ class ZslSnapshotCaptureSession : public CaptureSession { std::unique_ptr<InternalStreamManager> internal_stream_manager_; std::unique_ptr<RealtimeZslRequestProcessor> realtime_request_processor_; + RealtimeZslResultRequestProcessor* realtime_zsl_result_request_processor_ = + nullptr; // CaptureSessionWrapperProcessBlock will be owned and released by // RealtimeZslRequestProcessor. CaptureSessionWrapperProcessBlock* realtime_process_block_ = nullptr; - // RealtimeZslResultProcessor will be owned and released by - // CaptureSessionWrapperProcessBlock. - RealtimeZslResultProcessor* realtime_result_processor_ = nullptr; std::unique_ptr<SnapshotRequestProcessor> snapshot_request_processor_; // SnapshotProcessBlock will be owned and released by @@ -152,6 +154,8 @@ class ZslSnapshotCaptureSession : public CaptureSession { // SnapshotResultProcessor will be owned and released by SnapshotProcessBlock. SnapshotResultProcessor* snapshot_result_processor_ = nullptr; + BasicResultProcessor* basic_result_processor_ = nullptr; + // Use this stream id to check the request is ZSL compatible int32_t hal_preview_stream_id_ = -1; @@ -181,8 +185,15 @@ class ZslSnapshotCaptureSession : public CaptureSession { // Opened library handles that should be closed on destruction void* snapshot_process_block_lib_handle_ = nullptr; + GetProcessBlockFactoryFunc denoise_process_block_factory_; + // Opened library handles that should be closed on destruction + void* denoise_process_block_lib_handle_ = nullptr; + // Partial result count reported by HAL uint32_t partial_result_count_ = 1; + + // Whether video software denoise is enabled + bool video_sw_denoise_enabled_ = false; }; } // namespace google_camera_hal |