Show a patch.

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

{
    "id": 23172,
    "url": "https://patchwork.libcamera.org/api/patches/23172/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/23172/",
    "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": "<20250411130423.2164577-6-stefan.klug@ideasonboard.com>",
    "date": "2025-04-11T13:04:12",
    "name": "[5/8] ipa: rkisp1: Switch histogram to RGB combined mode",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "3324e577f9148173acee7c61f84a5329e0e43402",
    "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/23172/mbox/",
    "series": [
        {
            "id": 5122,
            "url": "https://patchwork.libcamera.org/api/series/5122/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5122",
            "date": "2025-04-11T13:04:07",
            "name": "Implement WDR algorithm",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/5122/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/23172/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/23172/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 57BD1C3213\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 11 Apr 2025 13:04:43 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 052B668AB5;\n\tFri, 11 Apr 2025 15:04:43 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 790D968AA8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 11 Apr 2025 15:04:41 +0200 (CEST)",
            "from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:5b21:2ad5:1023:7179])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 283A2667;\n\tFri, 11 Apr 2025 15:02:42 +0200 (CEST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"hnOQ40rw\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1744376562;\n\tbh=nLc6I4mBkYBfe77vUG7kKX5alg1HtTiVAllPwtAYeB8=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=hnOQ40rwQWhsl9DobSGn7tmaOtQyy+HrhXNw/OqVGB/pX3EcYLBzlfWB5rOHF7GR8\n\t5HucSFlsScLMp2Lr7Mz6LFOg0YeExTgik8WdtzyxgTJ0uf1X/SdqsuNfYj4WpXqGvc\n\tr5D2TvWuxWW2KrqOJ0x4HnP2tbxIQhzS7STlDdlc=",
        "From": "Stefan Klug <stefan.klug@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Stefan Klug <stefan.klug@ideasonboard.com>",
        "Subject": "[PATCH 5/8] ipa: rkisp1: Switch histogram to RGB combined mode",
        "Date": "Fri, 11 Apr 2025 15:04:12 +0200",
        "Message-ID": "<20250411130423.2164577-6-stefan.klug@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20250411130423.2164577-1-stefan.klug@ideasonboard.com>",
        "References": "<20250411130423.2164577-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 Y mode of the histogram get's captured at the ISP output, before the\noutput formatter.  This has the side effect, that the first and the last\nbins of are empty in case of limited YUV range.  Another side effect is\nthat gamma and GWDR processing is included in the histogram which makes\nalgorithm development very difficult. In RGB mode the histogram is taken\nafter xtalk (CCM) and is therefore independent of gamma and WDR. The\nlimited range issue also does not apply. In the ISP reference it is\nhowever stated that \"it is not possible to calculate a luminance or\ngrayscale histogram from an RGB histogram since the position information\nis lost during its generation\".\n\nDuring testing the RGB histogram provided good data and better\nalgorithmic stability at a possible (but not measured) inaccuracy.\n\nAnother option would be to pass the color space information into the IPA\nand strip the histogram accordingly. For ease of implementation switch to\nthe RGB mode.\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n---\n src/ipa/rkisp1/algorithms/agc.cpp | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)",
    "diff": "diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp\nindex 0e4fd3663167..a2c8d5403ba2 100644\n--- a/src/ipa/rkisp1/algorithms/agc.cpp\n+++ b/src/ipa/rkisp1/algorithms/agc.cpp\n@@ -379,7 +379,7 @@ void Agc::prepare(IPAContext &context, const uint32_t frame,\n \thstConfig.setEnabled(true);\n \n \thstConfig->meas_window = context.configuration.agc.measureWindow;\n-\thstConfig->mode = RKISP1_CIF_ISP_HISTOGRAM_MODE_Y_HISTOGRAM;\n+\thstConfig->mode = RKISP1_CIF_ISP_HISTOGRAM_MODE_RGB_COMBINED;\n \n \tSpan<uint8_t> weights{\n \t\thstConfig->hist_weight,\n",
    "prefixes": [
        "5/8"
    ]
}