Show a patch.

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

{
    "id": 13436,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/13436/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/13436/",
    "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": "<20210823124937.253539-2-jeanmichel.hautbois@ideasonboard.com>",
    "date": "2021-08-23T12:49:31",
    "name": "[libcamera-devel,v1,1/7] ipa: ipu3: Move the AWB stats structures",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "071ebba78f5e9000c546769c204ebf9820e61a0c",
    "submitter": {
        "id": 75,
        "url": "https://patchwork.libcamera.org/api/1.1/people/75/?format=api",
        "name": "Jean-Michel Hautbois",
        "email": "jeanmichel.hautbois@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/13436/mbox/",
    "series": [
        {
            "id": 2385,
            "url": "https://patchwork.libcamera.org/api/1.1/series/2385/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2385",
            "date": "2021-08-23T12:49:30",
            "name": "IPU3: AWB and AGC improvements",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/2385/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/13436/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/13436/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 44E90BD87D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 23 Aug 2021 12:49:46 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A268668915;\n\tMon, 23 Aug 2021 14:49:44 +0200 (CEST)",
            "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 E364068892\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 23 Aug 2021 14:49:42 +0200 (CEST)",
            "from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:b920:776:a08c:1d1f])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 84AC24A3;\n\tMon, 23 Aug 2021 14:49:42 +0200 (CEST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"PXzPaZGq\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1629722982;\n\tbh=Oy2vfvLsZuh7Gc2BWBlypvUyxoIvvZXJDpS+VojAvbw=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=PXzPaZGqQFOtazM2AczClZ1OcdvgoiKNuLBaH8zeY12nICABoKYZPIIZT4khf1eSm\n\tnx+fPrl/DxDTacw2jlBFS6JYRqOw76bLjMFYYZcQwZf2g48Ck3XPG7Cm2vsHK9Oxyi\n\tMeSVeIzVDub9wavPgKixquQicoPET46F5hX0jlsc=",
        "From": "Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Mon, 23 Aug 2021 14:49:31 +0200",
        "Message-Id": "<20210823124937.253539-2-jeanmichel.hautbois@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.30.2",
        "In-Reply-To": "<20210823124937.253539-1-jeanmichel.hautbois@ideasonboard.com>",
        "References": "<20210823124937.253539-1-jeanmichel.hautbois@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v1 1/7] ipa: ipu3: Move the AWB stats\n\tstructures",
        "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 structure Ipu3AwbCell describes the AWB stats layout on the kernel\nside. We will need it to be used by the AGC algorithm to be introduced\nlater, so let's make it visible from ipa::ipu3::algorithms and not only\nfor the AWB class.\nThis structure should probably go into the intel-ipu3.h file, whichs\nmeans a kernel patch, let's keep it in mind for the moment.\n\nThe other structures RGB, IspStatsRegion and AwbStatus will also be used\nelsewhere so move them at the same time.\n\nSigned-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n---\n src/ipa/ipu3/algorithms/awb.h | 77 ++++++++++++++++++-----------------\n 1 file changed, 39 insertions(+), 38 deletions(-)",
    "diff": "diff --git a/src/ipa/ipu3/algorithms/awb.h b/src/ipa/ipu3/algorithms/awb.h\nindex a16dd68d..332652d0 100644\n--- a/src/ipa/ipu3/algorithms/awb.h\n+++ b/src/ipa/ipu3/algorithms/awb.h\n@@ -23,6 +23,45 @@ namespace ipa::ipu3::algorithms {\n static constexpr uint32_t kAwbStatsSizeX = 16;\n static constexpr uint32_t kAwbStatsSizeY = 12;\n \n+/* \\todo Move the cell layout into intel-ipu3.h kernel header */\n+struct Ipu3AwbCell {\n+\tunsigned char greenRedAvg;\n+\tunsigned char redAvg;\n+\tunsigned char blueAvg;\n+\tunsigned char greenBlueAvg;\n+\tunsigned char satRatio;\n+\tunsigned char padding[3];\n+};\n+\n+/* \\todo Make these structs available to all the ISPs ? */\n+struct RGB {\n+\tRGB(double _R = 0, double _G = 0, double _B = 0)\n+\t\t: R(_R), G(_G), B(_B)\n+\t{\n+\t}\n+\tdouble R, G, B;\n+\tRGB &operator+=(RGB const &other)\n+\t{\n+\t\tR += other.R, G += other.G, B += other.B;\n+\t\treturn *this;\n+\t}\n+};\n+\n+struct IspStatsRegion {\n+\tunsigned int counted;\n+\tunsigned int uncounted;\n+\tunsigned long long rSum;\n+\tunsigned long long gSum;\n+\tunsigned long long bSum;\n+};\n+\n+struct AwbStatus {\n+\tdouble temperatureK;\n+\tdouble redGain;\n+\tdouble greenGain;\n+\tdouble blueGain;\n+};\n+\n class Awb : public Algorithm\n {\n public:\n@@ -32,44 +71,6 @@ public:\n \tvoid prepare(IPAContext &context, ipu3_uapi_params *params) override;\n \tvoid process(IPAContext &context, const ipu3_uapi_stats_3a *stats) override;\n \n-\tstruct Ipu3AwbCell {\n-\t\tunsigned char greenRedAvg;\n-\t\tunsigned char redAvg;\n-\t\tunsigned char blueAvg;\n-\t\tunsigned char greenBlueAvg;\n-\t\tunsigned char satRatio;\n-\t\tunsigned char padding[3];\n-\t} __attribute__((packed));\n-\n-\t/* \\todo Make these three structs available to all the ISPs ? */\n-\tstruct RGB {\n-\t\tRGB(double _R = 0, double _G = 0, double _B = 0)\n-\t\t\t: R(_R), G(_G), B(_B)\n-\t\t{\n-\t\t}\n-\t\tdouble R, G, B;\n-\t\tRGB &operator+=(RGB const &other)\n-\t\t{\n-\t\t\tR += other.R, G += other.G, B += other.B;\n-\t\t\treturn *this;\n-\t\t}\n-\t};\n-\n-\tstruct IspStatsRegion {\n-\t\tunsigned int counted;\n-\t\tunsigned int uncounted;\n-\t\tunsigned long long rSum;\n-\t\tunsigned long long gSum;\n-\t\tunsigned long long bSum;\n-\t};\n-\n-\tstruct AwbStatus {\n-\t\tdouble temperatureK;\n-\t\tdouble redGain;\n-\t\tdouble greenGain;\n-\t\tdouble blueGain;\n-\t};\n-\n private:\n \tvoid calculateWBGains(const ipu3_uapi_stats_3a *stats,\n \t\t\t      const ipu3_uapi_grid_config &grid);\n",
    "prefixes": [
        "libcamera-devel",
        "v1",
        "1/7"
    ]
}