From 6349cf6ea5a6641476e0e85e93442a87dbe56909 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Thu, 21 Jul 2022 13:13:10 +0100 Subject: ipa: ipu3: Pass controls to algorithm's queueRequest() handler Call the Algorithm::queueRequest() function of all algorithms when a request is queued, to pass the request controls to the algorithms. We can now drop the copy of the control list stored in IPAFrameContext as it isn't used anymore. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham Reviewed-by: Jacopo Mondi --- src/ipa/ipu3/ipu3.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/ipa/ipu3/ipu3.cpp') diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp index 96dc2af2..d1ea081d 100644 --- a/src/ipa/ipu3/ipu3.cpp +++ b/src/ipa/ipu3/ipu3.cpp @@ -663,11 +663,10 @@ void IPAIPU3::processStatsBuffer(const uint32_t frame, */ void IPAIPU3::queueRequest(const uint32_t frame, const ControlList &controls) { - /* \todo Start processing for 'frame' based on 'controls'. */ IPAFrameContext &frameContext = context_.frameContexts.alloc(frame); - /* \todo Implement queueRequest to each algorithm. */ - frameContext.frameControls = controls; + for (auto const &algo : algorithms()) + algo->queueRequest(context_, frame, frameContext, controls); } /** -- cgit v1.2.1