Show a patch.

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

{
    "id": 17783,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/17783/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/17783/",
    "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": "<20221110173154.488445-13-paul.elder@ideasonboard.com>",
    "date": "2022-11-10T17:31:54",
    "name": "[libcamera-devel,v3,12/12] utils: tuning: Add tuning script for rkisp1",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "966ce5b8b7f7ee4a49d2e4b654f48785e875435b",
    "submitter": {
        "id": 17,
        "url": "https://patchwork.libcamera.org/api/1.1/people/17/?format=api",
        "name": "Paul Elder",
        "email": "paul.elder@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/17783/mbox/",
    "series": [
        {
            "id": 3603,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3603/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3603",
            "date": "2022-11-10T17:31:42",
            "name": "utils: tuning: Add a new tuning infrastructure",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/3603/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/17783/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/17783/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 BF77DC3285\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 10 Nov 2022 17:32:41 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8479963083;\n\tThu, 10 Nov 2022 18:32:41 +0100 (CET)",
            "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 8271063083\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Nov 2022 18:32:40 +0100 (CET)",
            "from pyrite.tail37cf.ts.net (h175-177-042-159.catv02.itscom.jp\n\t[175.177.42.159])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 31789499;\n\tThu, 10 Nov 2022 18:32:38 +0100 (CET)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1668101561;\n\tbh=9ZGQ9hgbXREqVUXDt8Mjsmo3EE5ObzpWFtrLYNUwviM=;\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=B+gFWLAykFe1zu6aR07BGrs+ABTd4QTyidq2C+pAKh/kOTyAz2yjvQvGfmwhXDdt/\n\t34cEB/n4dD7aYXoH5DhJ7kr8e6UdcErMNf35+ubhoZH/kV6lIXmLN1Flub/QxZ/i9B\n\tn88SDMJC+h4Zquu3HUyCIotUT/vSv+ji3EF6A2uMJDng/RdH8tIUY/OREAPVylXbJg\n\tcTc6IE30mblxLGdvojOMgEdUHoayNEbsq1R8jl5zqgnx4YYLsb9Fvi4qzDXomqHRCb\n\teYeJS7ERfCkc8W7wWrpBTOW4o/FKxh5d9kQyIuXaH2FeBd7gzZd+LA2ZPfGLWiAKgz\n\tdqu7nD3L6GY4Q==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1668101560;\n\tbh=9ZGQ9hgbXREqVUXDt8Mjsmo3EE5ObzpWFtrLYNUwviM=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=Ah/cE8nOMfllbaXDGUMRzw4EpvGJtXR8Ocug5TUWt1+TkH7PT1upmReLzNlshM5iZ\n\trQak4TiuTnepbQeKmWbkFMT1Wo4zCLJczEIZelfmAxoaVFT49IVE15mWRETWHkwr4c\n\t0oiBw8SXysWME30f2J83XnG5EBxmiAvGbuPNsjxw="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Ah/cE8nO\"; dkim-atps=neutral",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Fri, 11 Nov 2022 02:31:54 +0900",
        "Message-Id": "<20221110173154.488445-13-paul.elder@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.35.1",
        "In-Reply-To": "<20221110173154.488445-1-paul.elder@ideasonboard.com>",
        "References": "<20221110173154.488445-1-paul.elder@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v3 12/12] utils: tuning: Add tuning script\n\tfor rkisp1",
        "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": "Paul Elder via libcamera-devel <libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Paul Elder <paul.elder@ideasonboard.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Add a tuning script for rkisp1 that uses libtuning. So far it only\nsupports LSC.\n\nSigned-off-by: Paul Elder <paul.elder@ideasonboard.com>\n\n---\nChanges in v3:\n- cosmetic changes / fix style\n- add __main__ guard\n- rename ALSC to LSC\n\nChanges in v2:\n- add SPDX and copyright\n- s/average_functions/average/\n- update the script to work with the new rkisp1 alsc module\n\nv1:\nThis won't run as we're missing the necessary parser and generator for\nyaml, parabolic gradient support, and multiple green support in the LSC\nmodule, hence the DNI. As soon as those are added though, this *should*\nwork.\n---\n utils/tuning/rkisp1.py | 43 ++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 43 insertions(+)\n create mode 100755 utils/tuning/rkisp1.py",
    "diff": "diff --git a/utils/tuning/rkisp1.py b/utils/tuning/rkisp1.py\nnew file mode 100755\nindex 00000000..a8cb0c39\n--- /dev/null\n+++ b/utils/tuning/rkisp1.py\n@@ -0,0 +1,43 @@\n+#!/usr/bin/env python3\n+# SPDX-License-Identifier: GPL-2.0-or-later\n+#\n+# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>\n+#\n+# rkisp1.py - Tuning script for rkisp1\n+\n+import sys\n+\n+import libtuning as lt\n+from libtuning.parsers import YamlParser\n+from libtuning.generators import YamlOutput\n+from libtuning.modules.lsc import LSCRkISP1\n+\n+tuner = lt.Tuner('RkISP1')\n+tuner.add(LSCRkISP1(\n+          # This can support other debug options (I can't think of any right\n+          # now, but for future-proofing).\n+          debug=[lt.Debug.Plot],\n+\n+          # This is for the actual LSC tuning, and is part of the base ALSC\n+          # module. rkisp1's table sector sizes (16x16 programmed as mirrored\n+          # 8x8) are separate, and is hardcoded in its specific ALSC tuning\n+          # module.\n+          sector_shape=(17, 17),\n+\n+          sector_x_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),\n+          sector_y_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),\n+\n+          # This is the function that will be used to average the pixels in\n+          # each sector. This can also be a custom function.\n+          sector_average_function=lt.average.Mean(),\n+\n+          # This is the function that will be used to smooth the color ratio\n+          # values.  This can also be a custom function.\n+          smoothing_function=lt.smoothing.MedianBlur(3),\n+          ))\n+tuner.set_input_parser(YamlParser())\n+tuner.set_output_formatter(YamlOutput())\n+tuner.set_output_order([LSCRkISP1])\n+\n+if __name__ == '__main__':\n+    sys.exit(tuner.run(sys.argv))\n",
    "prefixes": [
        "libcamera-devel",
        "v3",
        "12/12"
    ]
}