[libcamera-devel] [PATCH v3 9/9] ipa: ipu3: Send lens controls to pipeline handler

Daniel Scally djrscally at gmail.com
Tue Dec 7 23:45:12 CET 2021


Pick up the focus value from the AF algorithm and send lens controls
along in the frame context.

Signed-off-by: Daniel Scally <djrscally at gmail.com>
---
Changes in v3:

	- Replaced the new focus_ member with a local variable.

 src/ipa/ipu3/ipu3.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp
index fe2bc3af..9303b33a 100644
--- a/src/ipa/ipu3/ipu3.cpp
+++ b/src/ipa/ipu3/ipu3.cpp
@@ -663,6 +663,7 @@ void IPAIPU3::parseStatistics(unsigned int frame,
  */
 void IPAIPU3::setControls(unsigned int frame)
 {
+	uint32_t focus;
 	IPU3Action op;
 	op.op = ActionSetSensorControls;
 
@@ -674,6 +675,12 @@ void IPAIPU3::setControls(unsigned int frame)
 	ctrls.set(V4L2_CID_ANALOGUE_GAIN, static_cast<int32_t>(gain_));
 	op.sensorControls = ctrls;
 
+	focus = context_.frameContext.af.focus;
+
+	ControlList lensCtrls(lensCtrls_);
+	lensCtrls.set(V4L2_CID_FOCUS_ABSOLUTE, static_cast<int32_t>(focus));
+	op.lensControls = lensCtrls;
+
 	queueFrameAction.emit(frame, op);
 }
 
-- 
2.25.1



More information about the libcamera-devel mailing list