Show a patch.

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

{
    "id": 22616,
    "url": "https://patchwork.libcamera.org/api/patches/22616/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/22616/",
    "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": "<20250123114204.79321-2-stefan.klug@ideasonboard.com>",
    "date": "2025-01-23T11:40:51",
    "name": "[v2,01/17] libipa: interpolator: Add accessor to internal data",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "b29a4457200b6388bd1f325d2fb0352ad5c63a82",
    "submitter": {
        "id": 184,
        "url": "https://patchwork.libcamera.org/api/people/184/?format=api",
        "name": "Stefan Klug",
        "email": "stefan.klug@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/22616/mbox/",
    "series": [
        {
            "id": 4966,
            "url": "https://patchwork.libcamera.org/api/series/4966/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4966",
            "date": "2025-01-23T11:40:50",
            "name": "Add Bayesian AWB algorithm to libipa and rkisp1",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/4966/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/22616/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/22616/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 62A6ABDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 23 Jan 2025 11:42:17 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 08EBC68561;\n\tThu, 23 Jan 2025 12:42:17 +0100 (CET)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6B94261879\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 23 Jan 2025 12:42:14 +0100 (CET)",
            "from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:c0a:33cd:b453:5d3f])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C1674465;\n\tThu, 23 Jan 2025 12:41:10 +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=\"M2Wj2DeH\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1737632470;\n\tbh=jjPgmjkMuR6c/TDSoavRWZ7mTYlA3Yncak0fSBLhhHo=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=M2Wj2DeH8dIzy6JAK108/sOS9MO7f1lrJ1d18nElaZQtVTL08AmF0zqjU9JkGyhGt\n\tz/42IDduYIdlxw2TG/WVkNX6Gskhm3o5hE64A1LJgdCGjlHIvm1QAb3A2vhVcGCsZ0\n\tGbgxADtVpgP+yiqGlacUFQ7t1yhduV+OTDpm03k0=",
        "From": "Stefan Klug <stefan.klug@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Stefan Klug <stefan.klug@ideasonboard.com>,\n\tPaul Elder <paul.elder@ideasonboard.com>,\n\tDaniel Scally <dan.scally@ideasonboard.com>",
        "Subject": "[PATCH v2 01/17] libipa: interpolator: Add accessor to internal data",
        "Date": "Thu, 23 Jan 2025 12:40:51 +0100",
        "Message-ID": "<20250123114204.79321-2-stefan.klug@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20250123114204.79321-1-stefan.klug@ideasonboard.com>",
        "References": "<20250123114204.79321-1-stefan.klug@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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>"
    },
    "content": "The only way to access the internal data of an Interpolator is through\nthe getInterpolated() method. Sometimes it is necessary to to access the\ninternal data directly to iterate over it. Add an accessor for that.\n\nWhile at it, remove a line break from the doxygen documentation for\ninterpolate() so that doxygen is able to correctly match the function.\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\nReviewed-by: Daniel Scally <dan.scally@ideasonboard.com>\n\n---\nChanges in v2:\n- Collected tags\n---\n src/ipa/libipa/interpolator.cpp | 10 ++++++++--\n src/ipa/libipa/interpolator.h   |  5 +++++\n 2 files changed, 13 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/src/ipa/libipa/interpolator.cpp b/src/ipa/libipa/interpolator.cpp\nindex 73e8d3b7de14..f901a86e4c74 100644\n--- a/src/ipa/libipa/interpolator.cpp\n+++ b/src/ipa/libipa/interpolator.cpp\n@@ -125,6 +125,13 @@ namespace ipa {\n  * Overwrites the internal map using move semantics.\n  */\n \n+/**\n+ * \\fn std::map<unsigned int, T> &Interpolator<T>::data() const\n+ * \\brief Access the internal map\n+ *\n+ * \\return The internal map\n+ */\n+\n /**\n  * \\fn const T& Interpolator<T>::getInterpolated()\n  * \\brief Retrieve an interpolated value for the given key\n@@ -136,8 +143,7 @@ namespace ipa {\n  */\n \n /**\n- * \\fn void Interpolator<T>::interpolate(const T &a, const T &b, T &dest, double\n- * lambda)\n+ * \\fn void Interpolator<T>::interpolate(const T &a, const T &b, T &dest, double lambda)\n  * \\brief Interpolate between two instances of T\n  * \\param a The first value to interpolate\n  * \\param b The second value to interpolate\ndiff --git a/src/ipa/libipa/interpolator.h b/src/ipa/libipa/interpolator.h\nindex fffce21465fe..7880db6976d1 100644\n--- a/src/ipa/libipa/interpolator.h\n+++ b/src/ipa/libipa/interpolator.h\n@@ -81,6 +81,11 @@ public:\n \t\tlastInterpolatedKey_.reset();\n \t}\n \n+\tconst std::map<unsigned int, T> &data() const\n+\t{\n+\t\treturn data_;\n+\t}\n+\n \tconst T &getInterpolated(unsigned int key, unsigned int *quantizedKey = nullptr)\n \t{\n \t\tASSERT(data_.size() > 0);\n",
    "prefixes": [
        "v2",
        "01/17"
    ]
}