Patch Detail
Show a patch.
GET /api/1.1/patches/17159/?format=api
{ "id": 17159, "url": "https://patchwork.libcamera.org/api/1.1/patches/17159/?format=api", "web_url": "https://patchwork.libcamera.org/patch/17159/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20220818094410.1671-5-jacopo@jmondi.org>", "date": "2022-08-18T09:43:57", "name": "[libcamera-devel,v3,04/17] ipa: rkisp1: Convert to use the FCQueue", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "0db1f443a99f1fee16f971aa71675abd0f405bee", "submitter": { "id": 3, "url": "https://patchwork.libcamera.org/api/1.1/people/3/?format=api", "name": "Jacopo Mondi", "email": "jacopo@jmondi.org" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/17159/mbox/", "series": [ { "id": 3426, "url": "https://patchwork.libcamera.org/api/1.1/series/3426/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3426", "date": "2022-08-18T09:43:53", "name": "libcamera: Align IPU3 and RKISP1 interfaces", "version": 3, "mbox": "https://patchwork.libcamera.org/series/3426/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/17159/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/17159/checks/", "tags": {}, "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 9406DC3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 18 Aug 2022 09:44:28 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 177B961FC6;\n\tThu, 18 Aug 2022 11:44:28 +0200 (CEST)", "from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net\n\t[217.70.183.199])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2680361FC2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 18 Aug 2022 11:44:25 +0200 (CEST)", "(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id C20B8FF80E;\n\tThu, 18 Aug 2022 09:44:23 +0000 (UTC)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1660815868;\n\tbh=f1vpmT+sHJTjT/b1FkHCEWQpZB17Oi327UeCikRtNTE=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=gpy1DDG/q9zqmYhHXqcRN6rBKRMoF8EgHMIb/H2PR+QSweIf3wkomhqoU4OxiZAlJ\n\trW8Z/pAbb+AsyUQsGW3h5ZYb4NK0NDJBiCxnvKlLBJ9piN/ylBASd/DYwvo/WwONFN\n\tnrSuaOE9TXK9WRzUy9NbhTB++bVlQOWW7ak2FkAAcyo7aexppttTgGFoLD8zOhNlWW\n\tdD1QAZ9GwN6d7M2QU26PVtKXCOKyUId3SBf1p+L9Z+7OCGu9GJ9Z2ijM2UGC7Uq3Ob\n\tnP/6ekoePcAeOZDKe3WDRy3O9izFESsXcrN7waKzGVyhq/JngVRYAeL/iyCp4Mf96A\n\t8V74YTNyjv7Fw==", "To": "libcamera-devel@lists.libcamera.org", "Date": "Thu, 18 Aug 2022 11:43:57 +0200", "Message-Id": "<20220818094410.1671-5-jacopo@jmondi.org>", "X-Mailer": "git-send-email 2.37.2", "In-Reply-To": "<20220818094410.1671-1-jacopo@jmondi.org>", "References": "<20220818094410.1671-1-jacopo@jmondi.org>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v3 04/17] ipa: rkisp1: Convert to use the\n\tFCQueue", "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>", "From": "Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>", "Reply-To": "Jacopo Mondi <jacopo@jmondi.org>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "From: Kieran Bingham via libcamera-devel <libcamera-devel@lists.libcamera.org>\n\nEstablish a queue of FrameContexts using the new FCQueue and use it to\nsupply the FrameContext to the algorithms.\n\nThe algorithms on the RKISP1 do not use this yet themselves, but are\nable to do so after the introduction of this patch.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n---\n src/ipa/rkisp1/ipa_context.h | 2 ++\n src/ipa/rkisp1/rkisp1.cpp | 15 ++++++++++-----\n 2 files changed, 12 insertions(+), 5 deletions(-)", "diff": "diff --git a/src/ipa/rkisp1/ipa_context.h b/src/ipa/rkisp1/ipa_context.h\nindex c42bcd73b314..dd756f4025d1 100644\n--- a/src/ipa/rkisp1/ipa_context.h\n+++ b/src/ipa/rkisp1/ipa_context.h\n@@ -86,6 +86,8 @@ struct RKISP1FrameContext : public IPAFrameContext {\n struct IPAContext {\n \tIPASessionConfiguration configuration;\n \tIPAActiveState activeState;\n+\n+\tFCQueue<RKISP1FrameContext> frameContexts;\n };\n \n } /* namespace ipa::rkisp1 */\ndiff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\nindex c3aa49329693..3d6a6b78bb8d 100644\n--- a/src/ipa/rkisp1/rkisp1.cpp\n+++ b/src/ipa/rkisp1/rkisp1.cpp\n@@ -46,7 +46,7 @@ public:\n \tint init(const IPASettings &settings, unsigned int hwRevision,\n \t\t ControlInfoMap *ipaControls) override;\n \tint start() override;\n-\tvoid stop() override {}\n+\tvoid stop() override;\n \n \tint configure(const IPACameraSensorInfo &info,\n \t\t const std::map<uint32_t, IPAStream> &streamConfig,\n@@ -186,6 +186,11 @@ int IPARkISP1::start()\n \treturn 0;\n }\n \n+void IPARkISP1::stop()\n+{\n+\tcontext_.frameContexts.clear();\n+}\n+\n /**\n * \\todo The RkISP1 pipeline currently provides an empty IPACameraSensorInfo\n * if the connected sensor does not provide enough information to properly\n@@ -225,7 +230,8 @@ int IPARkISP1::configure([[maybe_unused]] const IPACameraSensorInfo &info,\n \t\t<< \"Exposure: \" << minExposure << \"-\" << maxExposure\n \t\t<< \" Gain: \" << minGain << \"-\" << maxGain;\n \n-\t/* Clean context at configuration */\n+\t/* Clear the IPA context before the streaming session. */\n+\tcontext_.frameContexts.clear();\n \tcontext_ = {};\n \n \t/* Set the hardware revision for the algorithms. */\n@@ -312,6 +318,8 @@ void IPARkISP1::fillParamsBuffer(const uint32_t frame, const uint32_t bufferId)\n void IPARkISP1::processStatsBuffer(const uint32_t frame, const uint32_t bufferId,\n \t\t\t\t const ControlList &sensorControls)\n {\n+\tRKISP1FrameContext &frameContext = context_.frameContexts.get(frame);\n+\n \tconst rkisp1_stat_buffer *stats =\n \t\treinterpret_cast<rkisp1_stat_buffer *>(\n \t\t\tmappedBuffers_.at(bufferId).planes()[0].data());\n@@ -323,9 +331,6 @@ void IPARkISP1::processStatsBuffer(const uint32_t frame, const uint32_t bufferId\n \n \tunsigned int aeState = 0;\n \n-\t/* \\todo Obtain the frame context to pass to process from the FCQueue */\n-\tRKISP1FrameContext frameContext;\n-\n \tfor (auto const &algo : algorithms())\n \t\talgo->process(context_, frameContext, stats);\n \n", "prefixes": [ "libcamera-devel", "v3", "04/17" ] }