From patchwork Thu Sep 8 01:41:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 17320 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 1280BC327D for ; Thu, 8 Sep 2022 01:42:35 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id BBBC8620C3; Thu, 8 Sep 2022 03:42:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1662601354; bh=99rJq+scIF3Wd+NrFT3kX9FI6zV87UX/otE3vmV/Lgc=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=cIaQt+TDVOJJoV+e4j7FEUJLS5cxTyjZiZa/pr/KpLdp7+l9Hu+f6Z06JubrKg3ME QeWxPvqscIXVelzlgNYhYrwwNZoujWe9Eb9JZ5UsE3iM0g7wpx1iwrIPskLfDLY/sO t7A4tv6FIso0oBd8jJ+kCBd4B0UNhH91r9HIORRYNUKBDEmgRilGd636a7tpMg9Cw/ oVeM5UQmvEKUEd0mhE5H9OBV42zIsEkCBhq+k9ZqjfSYbW79xJIf8Ax1+kZO4LsCGA ykVSFoQPZ6nQldIWKGlCG1Iirjb0+Ebx3Csy+hSO+vg/2Kcpfy23/ZaesHtbk3LOoV rqjPLHCgeQ5og== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 41A91620B8 for ; Thu, 8 Sep 2022 03:42:33 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="coUehksp"; dkim-atps=neutral Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id BFAB9888 for ; Thu, 8 Sep 2022 03:42:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1662601353; bh=99rJq+scIF3Wd+NrFT3kX9FI6zV87UX/otE3vmV/Lgc=; h=From:To:Subject:Date:In-Reply-To:References:From; b=coUehkspEFMiTkP6W9ZC6yxwsJ0A9khT35r48RLSoJOahnQ3uwUDz8EZObAmoi/iA NGy88G/J5zJ5ReTAOVHSpGXUgL+PM9CuxaKPD0YAdq6NMdzCinO6Uc+Fxwts0s+m92 lA5rP2GCmAV8oDTZ2exoeQfTUWlwChVHS5bxV6p4= To: libcamera-devel@lists.libcamera.org Date: Thu, 8 Sep 2022 04:41:39 +0300 Message-Id: <20220908014200.28728-12-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220908014200.28728-1-laurent.pinchart@ideasonboard.com> References: <20220908014200.28728-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 11/32] ipa: ipu3: Pass controls to algorithm's queueRequest() handler X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Laurent Pinchart via libcamera-devel From: Laurent Pinchart Reply-To: Laurent Pinchart Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" The the Algorithm::queueRequest() function of all algorithms when a request is queue, 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 --- src/ipa/ipu3/ipa_context.cpp | 3 --- src/ipa/ipu3/ipa_context.h | 3 --- src/ipa/ipu3/ipu3.cpp | 4 ++-- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/ipa/ipu3/ipa_context.cpp b/src/ipa/ipu3/ipa_context.cpp index 6904ccbbdf8b..bd71b615365d 100644 --- a/src/ipa/ipu3/ipa_context.cpp +++ b/src/ipa/ipu3/ipa_context.cpp @@ -168,9 +168,6 @@ namespace libcamera::ipa::ipu3 { * \struct IPAFrameContext * \brief IPU3-specific FrameContext * - * \var IPAFrameContext::frameControls - * \brief Controls sent in by the application while queuing the request - * * \var IPAFrameContext::sensor * \brief Effective sensor values that were applied for the frame * diff --git a/src/ipa/ipu3/ipa_context.h b/src/ipa/ipu3/ipa_context.h index bfc0196e098a..36099353e9f2 100644 --- a/src/ipa/ipu3/ipa_context.h +++ b/src/ipa/ipu3/ipa_context.h @@ -12,7 +12,6 @@ #include -#include #include #include @@ -78,8 +77,6 @@ struct IPAFrameContext : public FrameContext { uint32_t exposure; double gain; } sensor; - - ControlList frameControls; }; struct IPAContext { diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp index 8158ca0883e8..844ab6de03c7 100644 --- a/src/ipa/ipu3/ipu3.cpp +++ b/src/ipa/ipu3/ipu3.cpp @@ -666,8 +666,8 @@ void IPAIPU3::queueRequest(const uint32_t frame, const ControlList &controls) /* \todo Start processing for 'frame' based on 'controls'. */ IPAFrameContext &frameContext = context_.frameContexts.init(frame); - /* \todo Implement queueRequest to each algorithm. */ - frameContext.frameControls = controls; + for (auto const &algo : algorithms()) + algo->queueRequest(context_, frame, frameContext, controls); } /**