Show a patch.

GET /api/patches/16719/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 16719,
    "url": "https://patchwork.libcamera.org/api/patches/16719/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/16719/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/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": "<20220721121310.1286862-8-kieran.bingham@ideasonboard.com>",
    "date": "2022-07-21T12:13:05",
    "name": "[libcamera-devel,RFC,07/12] ipa: rkisp1: Convert to use the FCQueue",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "3eeb0ec30cda1d6293873e51a7fc1eddbbbaca29",
    "submitter": {
        "id": 4,
        "url": "https://patchwork.libcamera.org/api/people/4/?format=api",
        "name": "Kieran Bingham",
        "email": "kieran.bingham@ideasonboard.com"
    },
    "delegate": {
        "id": 11,
        "url": "https://patchwork.libcamera.org/api/users/11/?format=api",
        "username": "kbingham",
        "first_name": "Kieran",
        "last_name": "Bingham",
        "email": "kieran.bingham@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/patch/16719/mbox/",
    "series": [
        {
            "id": 3313,
            "url": "https://patchwork.libcamera.org/api/series/3313/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3313",
            "date": "2022-07-21T12:12:58",
            "name": "libcamera: Align IPU3 and RKISP1 interfaces",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/3313/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/16719/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/16719/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 0C2AABD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 21 Jul 2022 12:13:25 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 54B8C63325;\n\tThu, 21 Jul 2022 14:13:23 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7267E63318\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 21 Jul 2022 14:13:15 +0200 (CEST)",
            "from Monstersaurus.local\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 210F3496;\n\tThu, 21 Jul 2022 14:13:15 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1658405603;\n\tbh=lr+PMgSDOkvy+qcyZCzh0vL1OSik8zfEOPD0JrMS8CE=;\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=NsAuP3ODMS4lCRXEszFjEfD9+22wQnKrpkgutmuvx+h5UZDemHJOoqYsupuwISPRT\n\tLEZZhy63F+G7rOkDJC4p/Om8Ao4Xyxj93JiSqs1nmhWAjOlC6ltSkNoLdkau8ZlRDI\n\tRWki075AgraGP3Vkm016t8dcmPbCWPqcX4DEXU6GDnvf4V9NMMvcSGpCNOhg576ubN\n\tY+v4w3GeJ1qM9NLgbYUpnWSWAsZGkOrgLyIbdOFEnvEtSKfvQCAWQJxfJXUSGfMpEJ\n\t7SmnCqgXjoo3ZtxdRYMJa8Xv/hDqKTO0B6nqxoniF9XIO6BzXrYT6tqJipJ98h171A\n\tck7SqSeUaGWug==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1658405595;\n\tbh=lr+PMgSDOkvy+qcyZCzh0vL1OSik8zfEOPD0JrMS8CE=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=BbNUUIPTROxOy75C25IROrRQWoH1IzclzTo7QD2kc52GVdrP8Jmq2q/ywdL5X6vRV\n\tXMmpHYsQjHcav4oWLV935vMEXmfcpEle33ocqaIzHIf2a9vrH+4o9qDUe0iFSri5r5\n\t0GQInZE/HdDX9VoTmcTRWKOP2a/18rCozuFE8758="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"BbNUUIPT\"; dkim-atps=neutral",
        "To": "libcamera devel <libcamera-devel@lists.libcamera.org>",
        "Date": "Thu, 21 Jul 2022 13:13:05 +0100",
        "Message-Id": "<20220721121310.1286862-8-kieran.bingham@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20220721121310.1286862-1-kieran.bingham@ideasonboard.com>",
        "References": "<20220721121310.1286862-1-kieran.bingham@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [RFC PATCH 07/12] 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": "Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Kieran Bingham <kieran.bingham@ideasonboard.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Establish 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>\n---\n src/ipa/rkisp1/ipa_context.h | 2 ++\n src/ipa/rkisp1/rkisp1.cpp    | 9 +++++----\n 2 files changed, 7 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/src/ipa/rkisp1/ipa_context.h b/src/ipa/rkisp1/ipa_context.h\nindex a64dbc75fdd2..dc4fa5d1ddba 100644\n--- a/src/ipa/rkisp1/ipa_context.h\n+++ b/src/ipa/rkisp1/ipa_context.h\n@@ -72,6 +72,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 7481e67e70f6..a2b7b25a53e5 100644\n--- a/src/ipa/rkisp1/rkisp1.cpp\n+++ b/src/ipa/rkisp1/rkisp1.cpp\n@@ -205,7 +205,9 @@ int IPARkISP1::configure([[maybe_unused]] const IPACameraSensorInfo &info,\n \t\t<< \" Gain: \" << minGain << \"-\" << maxGain;\n \n \t/* Clean context at configuration */\n-\tcontext_ = {};\n+\tcontext_.configuration = {};\n+\tcontext_.activeState = {};\n+\tcontext_.frameContexts.clear();\n \n \t/* Set the hardware revision for the algorithms. */\n \tcontext_.configuration.hw.revision = hwRevision_;\n@@ -290,6 +292,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@@ -301,9 +305,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",
        "RFC",
        "07/12"
    ]
}