Show a patch.

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

{
    "id": 26658,
    "url": "https://patchwork.libcamera.org/api/patches/26658/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/26658/",
    "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": "<20260506230722.1041596-2-devve.3@gmail.com>",
    "date": "2026-05-06T23:07:13",
    "name": "[v2,01/10] ipa: libipa: camera_sensor_helper: Add OV01A10",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "30f0ab3e422ba130f6f90ef43f0cdbf6a05d322a",
    "submitter": {
        "id": 271,
        "url": "https://patchwork.libcamera.org/api/people/271/?format=api",
        "name": "devve",
        "email": "devve.3@gmail.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/26658/mbox/",
    "series": [
        {
            "id": 5915,
            "url": "https://patchwork.libcamera.org/api/series/5915/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5915",
            "date": "2026-05-06T23:07:12",
            "name": "OV01A10 sensor support and simple IPA improvements",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/5915/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/26658/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/26658/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 1F094C32FC\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  6 May 2026 23:07:29 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EE23063038;\n\tThu,  7 May 2026 01:07:28 +0200 (CEST)",
            "from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com\n\t[IPv6:2607:f8b0:4864:20::72d])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2020063024\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  7 May 2026 01:07:28 +0200 (CEST)",
            "by mail-qk1-x72d.google.com with SMTP id\n\taf79cd13be357-8e8c0c2d2bcso34885285a.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 06 May 2026 16:07:28 -0700 (PDT)",
            "from dexps.speedport.ip\n\t(p200300eda74453cf3cf3f7929e513b94.dip0.t-ipconnect.de.\n\t[2003:ed:a744:53cf:3cf3:f792:9e51:3b94])\n\tby smtp.gmail.com with ESMTPSA id\n\taf79cd13be357-8fc2c25324esm2035266385a.23.2026.05.06.16.07.24\n\tfor <libcamera-devel@lists.libcamera.org>\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 06 May 2026 16:07:26 -0700 (PDT)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"CqCVXTab\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20251104; t=1778108847; x=1778713647;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:to:from:from:to:cc:subject:date:message-id\n\t:reply-to; bh=LaTrKnaEFSG6R1dixgnlxJZEG75nGFBB6KtmVy+2B9E=;\n\tb=CqCVXTabuBU0AfBEH9rYt1dEb/pYBsatGCr+sk7WgxKDYss6Pe4hBMYaqgySo822lQ\n\tZQ0E1WRz5v9MabIqgUYkDycrRdyWZXOJU5UPyRPPJRilceEa9ku5lQlvlWjfN1vfLvem\n\ti4Z2N0PmfGxCcfm2jJMgvnAlEsrIGFkyNiPS1Ov1tFhuyHnFHFsd1UHwHxH1RCxRAwBT\n\tPKgnDtApX/dp10Prd3NjuhHSL1GeTVY+i5FDnNGxx0ciT5BTM4Ip2WEYnDV6MOVm/eJj\n\t5hxyMev/7HUjc3aDBpunfje7xalnXIw0RhAKPV/jUFUWrGFbhqSAI9DDlvTXDO95Js3B\n\thTpQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1778108847; x=1778713647;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to\n\t:cc:subject:date:message-id:reply-to;\n\tbh=LaTrKnaEFSG6R1dixgnlxJZEG75nGFBB6KtmVy+2B9E=;\n\tb=GBl4VeNsmpaD8ZpEblhbVtuDxB1I1W1VyVT860czt91DaVpFT1+ueWK0k9yQ5NVrIB\n\tRtzYb6Xh8UfDwbhLtLBN+noD7ZQy7QgHpmrZFgdGbIIZa0VwjyQxa7mm9aKFZT3eIum6\n\titEiH1XM09wFJAIuJ3kJonJupAcys3PTXpe9xizOufbwbBf89bLn61mpNEQXF+mXsM2v\n\t+iJdbUsSpBm3vm0NHCMyWt8LLUY8fTc9WIrTxMLrLVK/WRKDCXCP63GUus+IuCMOB4Qa\n\twZSGtK1nmoGROR6qJx6h65txiZEIqmVijQmt0L9yeSCnMRhAG5wnBTS8Zf8cEQK8WDlZ\n\tnYlA==",
        "X-Gm-Message-State": "AOJu0YxbSb6O4DMt0YNakxBVGbaKl2UZ0sDdHfKDnGtqzmofUFyGORwB\n\tEd1t8yKpaN9emWrQNMtH0eX3yNxsdPFGclfyZo9R15aRbCIDcTbMOH9XLM3jtw==",
        "X-Gm-Gg": "AeBDievxyfJaJOO3o2N41/N9HTpZo82RsUNCMDC9JaXZjkSSlabpUQE0B1gQeNC7FAD\n\txrbbRCNGDrIaeeaQzeuxn5QgbwoyOA4dIrSfdsCkchwTaQxiFW0AnbqQcqpx3KU/KzojCW7jZdO\n\tmocaX4DJU69GelW9YCFG+I4x4g53JhQiSnp8gZo+N2R8b822W3zeK5lzT7am33GTfvb5OQT4PZ+\n\tnqRFbKlt3jLogrX3OgGk40sGa9h2icOqXhoqLOZg9QP1RGYBbZz+BHnLbzizFHS3wC2RebyemTC\n\tN0t7C9xrfzC8yxhKGi6Rz2aWi9BlzvGyIqE3zBxSTqyRgMF1N8tX7okylstkvg5MQE1mzN/S3PO\n\tO8diLsar5CM+n3aoScud4BXz1H98v0G1V28TIEdCmERc8JFzwup6MIu32PK/hh7SRwDUwZpvas2\n\tPzjQAmIY5N8gR+K0bMJ/s1aF4h2s44+HxL2rf1wQeazEKYkKhulho+NYDne1YPhjrZPWcNq98oI\n\tejzi6MoZTJo8Ez/1ThfW8JMtdDoZt+s",
        "X-Received": "by 2002:a05:620a:4505:b0:8cf:d9ce:378b with SMTP id\n\taf79cd13be357-904d3fa449cmr785076785a.2.1778108846655; \n\tWed, 06 May 2026 16:07:26 -0700 (PDT)",
        "From": "d3vv3 <devve.3@gmail.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Subject": "[PATCH v2 01/10] ipa: libipa: camera_sensor_helper: Add OV01A10",
        "Date": "Thu,  7 May 2026 01:07:13 +0200",
        "Message-ID": "<20260506230722.1041596-2-devve.3@gmail.com>",
        "X-Mailer": "git-send-email 2.54.0",
        "In-Reply-To": "<20260506230722.1041596-1-devve.3@gmail.com>",
        "References": "<20260506230722.1041596-1-devve.3@gmail.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": "From: Stuart J Mackintosh <sjm@opendigital.cc>\n\nAdd a CameraSensorHelper for the OmniVision OV01A10 image sensor,\nused in Dell XPS 13 and other laptops with the Intel IPU6 camera\nsubsystem.\n\nThe analogue gain register (0x3508) uses a Q6.8 fixed-point format,\nwith the minimum value OV01A10_ANAL_GAIN_MIN = 0x100 representing\nunity gain. This gives the linear model:\n\n  gain = code / 256\n\nHans de Goede confirmed linear behaviour by monitoring the 18% grey\npatch of a Macbeth chart under controlled lighting while stepping the\ngain control.\n\nThe black level of 0x40 at 10 bits (4096 scaled to 16 bits) was\nconfirmed by dark frame measurement with the lens covered.\n\nWithout this helper, libcamera's AGC algorithm cannot convert between\ngain codes and real gain values, causing auto-exposure oscillation and\nthe following warning:\n\n  IPASoft: Failed to create camera sensor helper for ov01a10\n\nSigned-off-by: Stuart J Mackintosh <sjm@opendigital.cc>\n---\n src/ipa/libipa/camera_sensor_helper.cpp | 12 ++++++++++++\n 1 file changed, 12 insertions(+)",
    "diff": "diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\nindex e3e3e535..72466867 100644\n--- a/src/ipa/libipa/camera_sensor_helper.cpp\n+++ b/src/ipa/libipa/camera_sensor_helper.cpp\n@@ -653,6 +653,18 @@ public:\n };\n REGISTER_CAMERA_SENSOR_HELPER(\"imx708\", CameraSensorHelperImx708)\n \n+class CameraSensorHelperOv01a10 : public CameraSensorHelper\n+{\n+public:\n+\tCameraSensorHelperOv01a10()\n+\t{\n+\t\t/* From dark frame measurement: 0x40 at 10bits. */\n+\t\tblackLevel_ = 4096;\n+\t\tgain_ = AnalogueGainLinear{ 1, 0, 0, 256 };\n+\t}\n+};\n+REGISTER_CAMERA_SENSOR_HELPER(\"ov01a10\", CameraSensorHelperOv01a10)\n+\n class CameraSensorHelperOv2685 : public CameraSensorHelper\n {\n public:\n",
    "prefixes": [
        "v2",
        "01/10"
    ]
}