[v2,3/8] ipa: libipa: Add af::prepareControls()
diff mbox series

Message ID 20261031184040.20139-4-mzamazal@redhat.com
State New
Headers show
Series
  • Autofocus basics for software ISP
Related show

Commit Message

Milan Zamazal Oct. 31, 2026, 6:40 p.m. UTC
Similarly to what other algorithms do, let's add a control
initialisation function to the libipa autofocus algorithm and use it in
ipu3 IPA.

Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
---
 src/ipa/ipu3/ipu3.cpp | 3 +--
 src/ipa/libipa/af.h   | 7 +++++++
 2 files changed, 8 insertions(+), 2 deletions(-)

Patch
diff mbox series

diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp
index 30d52cfcf..599817061 100644
--- a/src/ipa/ipu3/ipu3.cpp
+++ b/src/ipa/ipu3/ipu3.cpp
@@ -555,8 +555,7 @@  void IPAIPU3::setControls(unsigned int frame)
 			     frameContext.agc.exposure, frameContext.agc.gain);
 
 	ControlList lensCtrls(lensCtrls_);
-	lensCtrls.set(V4L2_CID_FOCUS_ABSOLUTE,
-		      static_cast<int32_t>(context_.activeState.af.focus));
+	af::prepareControls(lensCtrls, context_.activeState.af.focus);
 
 	setSensorControls.emit(frame, ctrls, lensCtrls);
 }
diff --git a/src/ipa/libipa/af.h b/src/ipa/libipa/af.h
index c902b434c..de9f7e0ba 100644
--- a/src/ipa/libipa/af.h
+++ b/src/ipa/libipa/af.h
@@ -7,6 +7,8 @@ 
 
 #pragma once
 
+#include <linux/v4l2-controls.h>
+
 #include <libcamera/base/log.h>
 
 #include <libcamera/control_ids.h>
@@ -25,6 +27,11 @@  struct ActiveState {
 	bool stable;
 };
 
+inline void prepareControls(ControlList &controls, int32_t focus)
+{
+	controls.set(V4L2_CID_FOCUS_ABSOLUTE, focus);
+}
+
 } /* namespace af */
 
 class AfAlgorithm