[libcamera-devel] [RFC PATCH v2 09/12] pipeline: ipu3: Add controls for FULL compliance
Paul Elder
paul.elder at ideasonboard.com
Thu Apr 22 11:40:59 CEST 2021
Add controls to IPU3Controls that are necessary for FULL compliance.
Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
---
src/libcamera/pipeline/ipu3/ipu3.cpp | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 28e849a4..70a5e9ce 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -48,8 +48,27 @@ static constexpr unsigned int IMGU_OUTPUT_WIDTH_MARGIN = 64;
static constexpr unsigned int IMGU_OUTPUT_HEIGHT_MARGIN = 32;
static constexpr Size IPU3ViewfinderSize(1280, 720);
+const std::array<const ControlValue, 3> IPU3NoiseReductionModeValues = {
+ static_cast<int32_t>(controls::draft::NoiseReductionModeOff),
+ static_cast<int32_t>(controls::draft::NoiseReductionModeFast),
+ static_cast<int32_t>(controls::draft::NoiseReductionModeHighQuality),
+};
+
static const ControlInfoMap::Map IPU3Controls = {
{ &controls::draft::PipelineDepth, ControlInfo(2, 3) },
+ { &controls::draft::BlackLevelLocked, ControlInfo(false, true) },
+ { &controls::AeLocked, ControlInfo(false, true) },
+ { &controls::draft::AePrecaptureTrigger,
+ ControlInfo(controls::draft::AePrecaptureTriggerValues) },
+ { &controls::AwbMode, ControlInfo(controls::AwbModeValues) },
+ { &controls::AwbLocked, ControlInfo(false, true) },
+ { &controls::draft::EdgeMode,
+ ControlInfo(controls::draft::EdgeModeValues) },
+ { &controls::draft::NoiseReductionMode,
+ ControlInfo(IPU3NoiseReductionModeValues) },
+ { &controls::draft::SensorSensitivity, ControlInfo(32, 2400) },
+ { &controls::draft::TonemapMode,
+ ControlInfo(controls::draft::TonemapModeValues) },
};
class IPU3CameraData : public CameraData
--
2.27.0
More information about the libcamera-devel
mailing list