Show a patch.

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

{
    "id": 25096,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/25096/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/25096/",
    "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": "<20251120104548.80268-12-mzamazal@redhat.com>",
    "date": "2025-11-20T10:45:46",
    "name": "[RFC,v2,11/13] libcamera: ipa: simple: Use float type for adjustment controls",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "15ddd96f877378ce6adc7acac4991db8be946d6d",
    "submitter": {
        "id": 177,
        "url": "https://patchwork.libcamera.org/api/1.1/people/177/?format=api",
        "name": "Milan Zamazal",
        "email": "mzamazal@redhat.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/25096/mbox/",
    "series": [
        {
            "id": 5597,
            "url": "https://patchwork.libcamera.org/api/1.1/series/5597/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5597",
            "date": "2025-11-20T10:45:35",
            "name": "Simple pipeline IPA cleanup",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/5597/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/25096/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/25096/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 CFC4FC3330\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 20 Nov 2025 10:46:33 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8083960AA0;\n\tThu, 20 Nov 2025 11:46:33 +0100 (CET)",
            "from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.133.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 80D3860A8B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 20 Nov 2025 11:46:30 +0100 (CET)",
            "from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com\n\t(ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97])\n\tby relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n\tcipher=TLS_AES_256_GCM_SHA384) id us-mta-306-95axWgThPGeEAI6s4UZfZg-1;\n\tThu, 20 Nov 2025 05:46:26 -0500",
            "from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com\n\t(mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com\n\t[10.30.177.111])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (2048 bits)\n\tserver-digest SHA256) (No client certificate requested)\n\tby mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTPS id 3BBD4180123B; Thu, 20 Nov 2025 10:46:25 +0000 (UTC)",
            "from mzamazal-thinkpadp1gen7.tpbc.com (unknown [10.44.34.39])\n\tby mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTP id BAAAD180087B; Thu, 20 Nov 2025 10:46:23 +0000 (UTC)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"Q39QMaLh\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1763635589;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tcontent-transfer-encoding:content-transfer-encoding:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=7X2EsoUBq3VvXhpFXn51rajAnZvLH5Poc3KFf+qB3Mo=;\n\tb=Q39QMaLhEQXFciV0DwbuBdhbIhrj1mtksM7DzHo0vu5YhPYyF3pevFMvwtsX+hYALqKuW2\n\ttMav8hClQMVIJkReBiUD4/G8sfpMxGN4sRm4jx/4yaEmyRys0g47mq9ZvLdUXqbF7Sb3bO\n\t3Udt8AGzMVISE1vZt7QhkIhYQza5gK0=",
        "X-MC-Unique": "95axWgThPGeEAI6s4UZfZg-1",
        "X-Mimecast-MFC-AGG-ID": "95axWgThPGeEAI6s4UZfZg_1763635585",
        "From": "Milan Zamazal <mzamazal@redhat.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Milan Zamazal <mzamazal@redhat.com>, Kieran Bingham\n\t<kieran.bingham@ideasonboard.com>, =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?=\n\t<barnabas.pocze@ideasonboard.com>",
        "Subject": "[RFC PATCH v2 11/13] libcamera: ipa: simple: Use float type for\n\tadjustment controls",
        "Date": "Thu, 20 Nov 2025 11:45:46 +0100",
        "Message-ID": "<20251120104548.80268-12-mzamazal@redhat.com>",
        "In-Reply-To": "<20251120104548.80268-1-mzamazal@redhat.com>",
        "References": "<20251120104548.80268-1-mzamazal@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.4.1 on 10.30.177.111",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-MFC-PROC-ID": "_iEygRH7wMRcN7FrYLo1Af9bnhYFrU0XFeC0SZ10pFQ_1763635585",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "content-type": "text/plain; charset=\"US-ASCII\"; x-default=true",
        "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": "control_ids.h defines the contrast type as float, let's use the same in\nsimple IPA, instead of double.  Saturation and gamma already use float,\nexcept for the knobs, let's use float for the knobs too.\n\nSigned-off-by: Milan Zamazal <mzamazal@redhat.com>\n---\n src/ipa/simple/algorithms/adjust.cpp | 6 +++---\n src/ipa/simple/ipa_context.h         | 6 +++---\n 2 files changed, 6 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/src/ipa/simple/algorithms/adjust.cpp b/src/ipa/simple/algorithms/adjust.cpp\nindex 600fd3c7b..57ed4f6bf 100644\n--- a/src/ipa/simple/algorithms/adjust.cpp\n+++ b/src/ipa/simple/algorithms/adjust.cpp\n@@ -33,9 +33,9 @@ int Adjust::init(IPAContext &context, [[maybe_unused]] const YamlObject &tuningD\n int Adjust::configure(IPAContext &context,\n \t\t      [[maybe_unused]] const IPAConfigInfo &configInfo)\n {\n-\tcontext.activeState.knobs.gamma = std::optional<double>();\n-\tcontext.activeState.knobs.contrast = std::optional<double>();\n-\tcontext.activeState.knobs.saturation = std::optional<double>();\n+\tcontext.activeState.knobs.gamma = std::optional<float>();\n+\tcontext.activeState.knobs.contrast = std::optional<float>();\n+\tcontext.activeState.knobs.saturation = std::optional<float>();\n \n \treturn 0;\n }\ndiff --git a/src/ipa/simple/ipa_context.h b/src/ipa/simple/ipa_context.h\nindex 8f56c25bf..fb063b091 100644\n--- a/src/ipa/simple/ipa_context.h\n+++ b/src/ipa/simple/ipa_context.h\n@@ -58,7 +58,7 @@ struct IPAActiveState {\n \t\tstd::array<double, kGammaLookupSize> gammaTable;\n \t\tuint8_t blackLevel;\n \t\tfloat gamma;\n-\t\tdouble contrast;\n+\t\tfloat contrast;\n \t} gamma;\n \n \tMatrix<float, 3, 3> ccm;\n@@ -68,7 +68,7 @@ struct IPAActiveState {\n \tstruct {\n \t\tstd::optional<float> gamma;\n \t\t/* 0..2 range, 1.0 = normal */\n-\t\tstd::optional<double> contrast;\n+\t\tstd::optional<float> contrast;\n \t\tstd::optional<float> saturation;\n \t} knobs;\n };\n@@ -87,7 +87,7 @@ struct IPAFrameContext : public FrameContext {\n \t} gains;\n \n \tstd::optional<float> gamma;\n-\tstd::optional<double> contrast;\n+\tstd::optional<float> contrast;\n \tstd::optional<float> saturation;\n };\n \n",
    "prefixes": [
        "RFC",
        "v2",
        "11/13"
    ]
}