[libcamera-devel,RFC,11/12] ipa: rkisp1: Transfer queueRequest() call to each algorithm
diff mbox series

Message ID 20220721121310.1286862-12-kieran.bingham@ideasonboard.com
State Accepted
Headers show
Series
  • libcamera: Align IPU3 and RKISP1 interfaces
Related show

Commit Message

Kieran Bingham July 21, 2022, 12:13 p.m. UTC
From: Florian Sylvestre <fsylvestre@baylibre.com>

Implement rkisp1 queueRequest() function to update each algorithm with user
controls.

Signed-off-by: Florian Sylvestre <fsylvestre@baylibre.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

---
v2: (Kieran)

 - Provide frame, and frame context to the algorithms.
 - Use RKISP1FrameContext type now

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/ipa/rkisp1/rkisp1.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Patch
diff mbox series

diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index b468e08a67fa..c2bd5ef36c1b 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -267,10 +267,13 @@  void IPARkISP1::unmapBuffers(const std::vector<unsigned int> &ids)
 	}
 }
 
-void IPARkISP1::queueRequest([[maybe_unused]] const uint32_t frame,
-			     [[maybe_unused]] const ControlList &controls)
+void IPARkISP1::queueRequest(const uint32_t frame,
+			     const ControlList &controls)
 {
-	/* \todo Start processing for 'frame' based on 'controls'. */
+	RKISP1FrameContext &frameContext = context_.frameContexts.initialise(frame);
+
+	for (auto const &algo : algorithms())
+		algo->queueRequest(context_, frame, frameContext, controls);
 }
 
 void IPARkISP1::fillParamsBuffer(const uint32_t frame, const uint32_t bufferId)