[libcamera-devel] [RFC PATCH 2/2] DNI: pipeline: ipu3: Set Sharpness control and control info

Paul Elder paul.elder at ideasonboard.com
Mon Aug 23 11:48:06 CEST 2021


This is to demonstrate reporting and setting Sharpness on ipu3.

Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index a98d7eff..e90659e3 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -50,6 +50,7 @@ static constexpr unsigned int IMGU_OUTPUT_HEIGHT_MARGIN = 32;
 static constexpr Size IPU3ViewfinderSize(1280, 720);
 
 static const ControlInfoMap::Map IPU3Controls = {
+	{ &controls::Sharpness, ControlInfo(0.0f, 1.0f, 0.0f) },
 	{ &controls::draft::PipelineDepth, ControlInfo(2, 3) },
 };
 
@@ -1299,6 +1300,12 @@ void IPU3CameraData::imguOutputBufferReady(FrameBuffer *buffer)
 		cropRegion_ = request->controls().get(controls::ScalerCrop);
 	request->metadata().set(controls::ScalerCrop, cropRegion_);
 
+	/* \todo Actually apply sharpness. */
+	if (request->controls().contains(controls::Sharpness)) {
+		float val = request->controls().get<float>(controls::Sharpness);
+		request->metadata().set(controls::Sharpness, val);
+	}
+
 	if (frameInfos_.tryComplete(info))
 		pipe()->completeRequest(request);
 }
-- 
2.27.0



More information about the libcamera-devel mailing list