[{"id":37849,"web_url":"https://patchwork.libcamera.org/comment/37849/","msgid":"<176907335684.3882822.1509952397078011574@neptunite.rasen.tech>","date":"2026-01-22T09:15:56","subject":"Re: [PATCH v1 13/35] ipa: rkisp1: Add initializeFrameContext()\n\tfunction","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Quoting Stefan Klug (2025-10-24 17:50:37)\n> In preparation to handling startup controls, split the frame context\n> initialization from queueRequest into a separate function.\n> \n> This patch contains no functional changes.\n> \n> Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n> ---\n>  src/ipa/rkisp1/rkisp1.cpp | 10 ++++++++++\n>  1 file changed, 10 insertions(+)\n> \n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index ee87c899fcb1..a55bac260026 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -67,6 +67,9 @@ public:\n>  \n>         void queueRequest(const uint32_t frame, const ControlList &controls) override;\n>         void computeParams(const uint32_t frame, const uint32_t bufferId) override;\n> +       void initializeFrameContext(const uint32_t frame,\n> +                                   IPAFrameContext &frameContext,\n> +                                   const ControlList &controls);\n>         void processStats(const uint32_t frame, const uint32_t bufferId,\n>                           const ControlList &sensorControls) override;\n>  \n> @@ -331,6 +334,13 @@ void IPARkISP1::queueRequest(const uint32_t frame, const ControlList &controls)\n>         IPAFrameContext &frameContext = context_.frameContexts.alloc(frame);\n>         context_.debugMetadata.enableByControl(controls);\n>  \n> +       initializeFrameContext(frame, frameContext, controls);\n> +}\n> +\n> +void IPARkISP1::initializeFrameContext(const uint32_t frame,\n> +                                      IPAFrameContext &frameContext,\n> +                                      const ControlList &controls)\n> +{\n>         for (auto const &a : algorithms()) {\n>                 Algorithm *algo = static_cast<Algorithm *>(a.get());\n>                 if (algo->disabled_)\n\nSemantically this feels a bit weird because initializing the frame context is\nachieved by queuing requests to the algos. Although perhaps that's a misnomer\non the IPA interface side.\n\nIn any case I think Jacopo caught more stuff on the next patch that I didn't\nsee and that patch is a superset of this.\n\n\nPaul\n\n> -- \n> 2.48.1\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 6735CBDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 22 Jan 2026 09:16:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F3C6A61FD8;\n\tThu, 22 Jan 2026 10:16:04 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 83DED61FC8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 22 Jan 2026 10:16:03 +0100 (CET)","from neptunite.rasen.tech (unknown\n\t[IPv6:2404:7a81:160:2100:8816:a947:ebed:2ec7])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 9D8432DD;\n\tThu, 22 Jan 2026 10:15:30 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"pWmZQBVx\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1769073331;\n\tbh=fy+0YiGv+/Nnsi9zqdR4xcJD7yePLnerlwURl0ki7sM=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=pWmZQBVxI8P4mbg8RfETWXTWcMf3+kn2dQgvhKzoFlil80j0zQUYNMo6exil5DqiM\n\t9zJk/Z7OcMYi13bGN20CKV6UnNQtWPQ9ZapojwrTbJPNy9g/BKpjtQAxeFCq0zR8di\n\tE4OIBM525ECE7XYp1UBYBW54TKnXfIxUqtF3yF08=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20251024085130.995967-14-stefan.klug@ideasonboard.com>","References":"<20251024085130.995967-1-stefan.klug@ideasonboard.com>\n\t<20251024085130.995967-14-stefan.klug@ideasonboard.com>","Subject":"Re: [PATCH v1 13/35] ipa: rkisp1: Add initializeFrameContext()\n\tfunction","From":"Paul Elder <paul.elder@ideasonboard.com>","Cc":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"Stefan Klug <stefan.klug@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Thu, 22 Jan 2026 18:15:56 +0900","Message-ID":"<176907335684.3882822.1509952397078011574@neptunite.rasen.tech>","User-Agent":"alot/0.0.0","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]