[libcamera-devel] [RFC 5/6] libcamera: ipu3: Initialize draft properties

Jacopo Mondi jacopo at jmondi.org
Fri Sep 11 18:20:38 CEST 2020


Initialize three draft properties for the IPU3 platform.

IPU3 reports a maximum of three processing stages: exposure, capture and
ISP processing and does not support noise reduction and color
aberration.

Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 2d881fe28f98..9ce329a83f5d 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -13,6 +13,7 @@
 
 #include <libcamera/camera.h>
 #include <libcamera/formats.h>
+#include <libcamera/property_ids.h>
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
@@ -776,7 +777,14 @@ int PipelineHandlerIPU3::registerCameras()
 			continue;
 
 		/* Initialize the camera properties. */
-		data->properties_ = cio2->sensor()->properties();
+		for (const auto &sensorProperty : cio2->sensor()->properties())
+			data->properties_.set(sensorProperty.first,
+					      sensorProperty.second);
+		data->properties_.set(properties::DraftPipelineMaxDepth, 3);
+		data->properties_.set(properties::DraftAvailableNoiseReductionModes,
+				      { static_cast<int32_t>(properties::DRAFT_NOISE_REDUCTION_MODE_OFF) });
+		data->properties_.set(properties::DraftAvailableColorCorrectionAberrationModes,
+				      { static_cast<int32_t>(properties::DRAFT_COLOR_CORRECTION_ABERRATION_OFF) });
 
 		/**
 		 * \todo Dynamically assign ImgU and output devices to each
-- 
2.28.0



More information about the libcamera-devel mailing list