Show a patch.

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

{
    "id": 20535,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/20535/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/20535/",
    "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": "<20240703141726.252368-22-stefan.klug@ideasonboard.com>",
    "date": "2024-07-03T14:17:10",
    "name": "[v3,21/23] libtuning: lsc: rkisp1: Do not calculate ratios to green",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "0200bc3c4365039e7e47a423eb65194338392851",
    "submitter": {
        "id": 184,
        "url": "https://patchwork.libcamera.org/api/1.1/people/184/?format=api",
        "name": "Stefan Klug",
        "email": "stefan.klug@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/20535/mbox/",
    "series": [
        {
            "id": 4437,
            "url": "https://patchwork.libcamera.org/api/1.1/series/4437/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4437",
            "date": "2024-07-03T14:16:49",
            "name": "Add ccm calibration to libtuning",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/4437/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/20535/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/20535/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 B68DFBEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  3 Jul 2024 14:18:37 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7495B6336F;\n\tWed,  3 Jul 2024 16:18:37 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1D88B63370\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  3 Jul 2024 16:18:35 +0200 (CEST)",
            "from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:9263:c199:9587:576])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id F39C64CA;\n\tWed,  3 Jul 2024 16:18:06 +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=\"ki3bNeyy\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1720016287;\n\tbh=/gVqIs0u6onaUPch87D8xNTLx3TCQPtgdC96/KTuCqc=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=ki3bNeyyh+1/KKbFnbYQry2+7puEHlYdj6bIhU3mvcLlIsvIFbVeA+0Iz62h5ISMI\n\tssk7Cgyj9UZiJdiZ7eRcxeZrKveDjY5xe9p3+7mxV5gz5fiUOBcZ/NkhNjIzYiQUKV\n\ta3cr6XWcLw2NiWkjHtXKoDXTZ6d0pF81poAunR+I=",
        "From": "Stefan Klug <stefan.klug@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Stefan Klug <stefan.klug@ideasonboard.com>",
        "Subject": "[PATCH v3 21/23] libtuning: lsc: rkisp1: Do not calculate ratios to\n\tgreen",
        "Date": "Wed,  3 Jul 2024 16:17:10 +0200",
        "Message-ID": "<20240703141726.252368-22-stefan.klug@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20240703141726.252368-1-stefan.klug@ideasonboard.com>",
        "References": "<20240703141726.252368-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 current LSC algorithm for the rkisp1 just forwards the LSC tables to\nthe hardware, so absolute factors are needed and not ratios compared to\ngreen. Therefore every channel needs to be calculated independently.\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n---\n utils/tuning/libtuning/modules/lsc/rkisp1.py | 8 ++++++--\n 1 file changed, 6 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/utils/tuning/libtuning/modules/lsc/rkisp1.py b/utils/tuning/libtuning/modules/lsc/rkisp1.py\nindex 512233aeae9d..56df23ec7b42 100644\n--- a/utils/tuning/libtuning/modules/lsc/rkisp1.py\n+++ b/utils/tuning/libtuning/modules/lsc/rkisp1.py\n@@ -38,8 +38,12 @@ class LSCRkISP1(LSC):\n \n         # \\todo Should these ratio against the average of both greens or just\n         # each green like we've done here?\n-        cr, _ = self._lsc_single_channel(image.channels[lt.Color.R], image, gr)\n-        cb, _ = self._lsc_single_channel(image.channels[lt.Color.B], image, gb)\n+\n+        # The LSC tables in the our rkisp1 algorithm represent gains on the\n+        # corresponding channel, not ratios with respect to green, so calculate\n+        # them independently\n+        cr, _ = self._lsc_single_channel(image.channels[lt.Color.R], image, None)\n+        cb, _ = self._lsc_single_channel(image.channels[lt.Color.B], image, None)\n \n         return image.color, cr.flatten(), cb.flatten(), cgr.flatten(), cgb.flatten()\n \n",
    "prefixes": [
        "v3",
        "21/23"
    ]
}