Patch Detail
Show a patch.
GET /api/1.1/patches/24286/?format=api
{ "id": 24286, "url": "https://patchwork.libcamera.org/api/1.1/patches/24286/?format=api", "web_url": "https://patchwork.libcamera.org/patch/24286/", "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": "<20250905-vd55g1_support-v1-2-545d39f280b2@foss.st.com>", "date": "2025-09-05T09:08:23", "name": "[2/4] ipa: rpi: Add vd55g1 support for rpi", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "2024934dd66448f587529f37899c963aeccaec7d", "submitter": { "id": 227, "url": "https://patchwork.libcamera.org/api/1.1/people/227/?format=api", "name": "Benjamin Mugnier", "email": "benjamin.mugnier@foss.st.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/24286/mbox/", "series": [ { "id": 5423, "url": "https://patchwork.libcamera.org/api/1.1/series/5423/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5423", "date": "2025-09-05T09:08:21", "name": "Add vd55g1 support for rpi and libipa", "version": 1, "mbox": "https://patchwork.libcamera.org/series/5423/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/24286/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/24286/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 6B5ADC328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 5 Sep 2025 09:10:15 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 421A86934D;\n\tFri, 5 Sep 2025 11:10:11 +0200 (CEST)", "from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com\n\t[91.207.212.93])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6E6D169333\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 5 Sep 2025 11:10:05 +0200 (CEST)", "from pps.filterd (m0046661.ppops.net [127.0.0.1])\n\tby mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id\n\t58599D3j027706; Fri, 5 Sep 2025 11:10:03 +0200", "from pa4pr04cu001.outbound.protection.outlook.com\n\t(mail-francecentralazon11013010.outbound.protection.outlook.com\n\t[40.107.162.10])\n\tby mx07-00178001.pphosted.com (PPS) with ESMTPS id 48ur6g16r0-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=NOT); Fri, 05 Sep 2025 11:10:03 +0200 (MEST)", "from AS4P190CA0003.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::8)\n\tby PA1PR10MB8932.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:453::12)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.20;\n\tFri, 5 Sep 2025 09:10:00 +0000", "from AM3PEPF0000A792.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:5de:cafe::87) by AS4P190CA0003.outlook.office365.com\n\t(2603:10a6:20b:5de::8) with Microsoft SMTP Server (version=TLS1_3,\n\tcipher=TLS_AES_256_GCM_SHA384) id 15.20.9094.20 via Frontend\n\tTransport; Fri, 5 Sep 2025 09:10:00 +0000", "from smtpO365.st.com (164.130.1.43) by\n\tAM3PEPF0000A792.mail.protection.outlook.com (10.167.16.121) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.9094.14 via Frontend Transport; Fri, 5 Sep 2025 09:09:59 +0000", "from SHFDAG1NODE1.st.com (10.75.129.69) by smtpO365.st.com\n\t(10.250.44.66) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.57;\n\tFri, 5 Sep 2025 11:07:41 +0200", "from localhost (10.252.26.31) by SHFDAG1NODE1.st.com (10.75.129.69)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.57;\n\tFri, 5 Sep 2025 11:09:59 +0200" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=foss.st.com header.i=@foss.st.com\n\theader.b=\"Le22L1He\"; dkim=pass (1024-bit key;\n\tunprotected) header.d=stmicroelectronics.onmicrosoft.com\n\theader.i=@stmicroelectronics.onmicrosoft.com\n\theader.b=\"i7UVnqnE\"; dkim-atps=neutral", "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=selector1; bh=\n\tIFOvgfkh8/GXtOTq7HEnLPeFwpz7YY4Jihx11NDdwlg=; b=Le22L1HeaE3ACJVk\n\tJBVYZkg7nFCEW70LNbdLAsWOUnyhazoFFe97a2Hh7tVVh+Svw8FAFrqlVFWGfXK/\n\tZFBYAmaubi/mOWqPbA4YOfXEWX09Ohajxa3aICd1cAV92GdFEZZMkUbx84PSJ+Wf\n\twD2OJFd9XeKcG/8HQW2dnv5D7y/LV6RNn8Bl6+xWZXTzmFfmjIa3UaYZRLGClJU2\n\tZjex2MaWqUDZPZmL1SWj5Bq0giyCvUtlSISS3hwOwNecrfHrYC22twS85Adqk8DV\n\tdKtN2VCrxkjcepYulcTps4MteAO3gOXJ5LMV6yObDgW2zYPooaeiiqjEgLmp1T00\n\t6rcVgw==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=stmicroelectronics.onmicrosoft.com;\n\ts=selector2-stmicroelectronics-onmicrosoft-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=IFOvgfkh8/GXtOTq7HEnLPeFwpz7YY4Jihx11NDdwlg=;\n\tb=i7UVnqnE/W88wucA4XRHqUUe38DcgQq/sBdriPKVHSQUPLn5egnGBqH2/UB/0Yq6lk0v7jUQbeD7+Uh6eG/QfkhMNxrMz8z1faEKeg04WfxSfxcvuplcaVGHtnGIrZpaa5Is96viRZ6dVi86XCyxDXOpxxFPlpWmgatmD26w4+k=" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=rP4oJ3rFbcrKaBgGFS0GboSH7pYPL/IgoCKIcBk33Wb7V/YjYaIFh31D99siN3V5MlMwe3L8vHD0nHztLIz8iBRlfZ+rDGYfqYnGEiD3l/aVkd1osToLCevdT6taQRSvj0xIRYuReEEEk/JYaO4eBrhijDpceIrJpHhXMGxwbahNGStx9vtIglaw6qQAv5x4p24L9zwiq312rkW9nPc7Y5Dzfa+T7OAE9XjFK43ZR0k3V/suuy5G4WU2DROIKXcNNxyiqIiXoiqHIjsue9nBWozdwG+cudzXkKa+pcGTALz/PZSQwqIfNbTGC7xrNrpq7zKPx1BBSpCNUzhRkt53+g==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector10001;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=IFOvgfkh8/GXtOTq7HEnLPeFwpz7YY4Jihx11NDdwlg=;\n\tb=PsPLma36lJhwp3RehBP0oFKTmATHfS99NGfDTH6g9ZOIzzCmxQi/55yNADVT1vnsYCHHevN5a2UCpDJeTakcqPynVlaQyuFl8U6e9HZMGED1v/mJUE9nSFnAApEWPClGUeQ4m+bItg6fEn1ecYhi3nZFtH8lLdKAyzJCOhCdtBWQ+CMU7ex7JFbJ5xMj2l1dIBlG+w9Th2YBajAF3vSIxRmOm2Jp5jJn8CxViXLjyjhpoWaFXmsAqwWpj6ldZs6uAc72O9BU/jq9Ic4XatFAUtSAYLA+6ZcvCXpDKpGGNIKXak8AMVhK2GeM79af/F9MJgOLw0CGh5InXqqWci4omw==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=fail (sender ip is\n\t164.130.1.43) smtp.rcpttodomain=ideasonboard.com\n\tsmtp.mailfrom=foss.st.com; \n\tdmarc=fail (p=none sp=none pct=100) action=none\n\theader.from=foss.st.com; \n\tdkim=none (message not signed); arc=none (0)", "X-MS-Exchange-Authentication-Results": "spf=fail (sender IP is 164.130.1.43)\n\tsmtp.mailfrom=foss.st.com; dkim=none (message not signed)\n\theader.d=none;dmarc=fail action=none header.from=foss.st.com;", "Received-SPF": "Fail (protection.outlook.com: domain of foss.st.com does not\n\tdesignate 164.130.1.43 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=164.130.1.43; helo=smtpO365.st.com;", "From": "Benjamin Mugnier <benjamin.mugnier@foss.st.com>", "Date": "Fri, 5 Sep 2025 11:08:23 +0200", "Subject": "[PATCH 2/4] ipa: rpi: Add vd55g1 support for rpi", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-ID": "<20250905-vd55g1_support-v1-2-545d39f280b2@foss.st.com>", "References": "<20250905-vd55g1_support-v1-0-545d39f280b2@foss.st.com>", "In-Reply-To": "<20250905-vd55g1_support-v1-0-545d39f280b2@foss.st.com>", "To": "<libcamera-devel@lists.libcamera.org>, Naushir Patuck\n\t<naush@raspberrypi.com>, Kieran Bingham <kieran.bingham@ideasonboard.com>", "CC": "Sylvain Petinot <sylvain.petinot@foss.st.com>, Benjamin Mugnier\n\t<benjamin.mugnier@foss.st.com>", "X-Mailer": "b4 0.14.2", "X-Originating-IP": "[10.252.26.31]", "X-ClientProxiedBy": "SHFCAS1NODE1.st.com (10.75.129.72) To SHFDAG1NODE1.st.com\n\t(10.75.129.69)", "X-EOPAttributedMessage": "0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "AM3PEPF0000A792:EE_|PA1PR10MB8932:EE_", "X-MS-Office365-Filtering-Correlation-Id": "b77739d7-893d-4550-f6a4-08ddec5bfdbf", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n\tARA:13230040|376014|1800799024|82310400026|36860700013; ", "X-Microsoft-Antispam-Message-Info": "=?utf-8?q?WX/SsjntD1uzmhL6QoO9Pwyn4LQt?=\n\t=?utf-8?q?9kzECZEhkF4QzqWLyCU5EsOhFmTJFlAp3MbSZamhkpBTNG8THqAREqOm?=\n\t=?utf-8?q?UPC7nQlcGfgw762vdCEiEdm/a4yxFAu6s0SBsv6g9TNW9ZriFJBvtL8e?=\n\t=?utf-8?q?cTjEBeoC+YVFzaQcxs5HhvRQ3sjTQFr9mbeWMkIs/jBqPe1l67Sem9tv?=\n\t=?utf-8?q?5BKiVKWWsCsFT0GGk2CQ2grhb3ivrcEWcTfGspdmBKeGZn4j+zQkuB0B?=\n\t=?utf-8?q?u4S/v8t7vwovoPTwXmm2HpIZ0dErl15X46AUblNQcGyJOSgvXJgGyurR?=\n\t=?utf-8?q?1JDs0dSqhe5OQJTMtHL6+1IpNo/OVdbNSy8WFPTu3X710fdT/ttYZi/Z?=\n\t=?utf-8?q?kgdks3VcaAItJ/UniWoAVfN1IwaLfDZcnHNq+Y8KTYfHghsOBU3xOs1J?=\n\t=?utf-8?q?Q9bLUVl9PtUgin+82djqc6nCQIXU1RYU+B2FBTWU1p6neULObRNmCRYj?=\n\t=?utf-8?q?MVLfx4a0TPYMTy+vte+hNWz/fvqrsAx5ocaVbYtUYodQNMD5usqm05+G?=\n\t=?utf-8?q?+LeRw/jvFqeJyCnVtbGO5UVop41Uj0JrrByGrAPeL9u9TUxdoEL8sp3c?=\n\t=?utf-8?q?aMljdGt8vReMq4HYIEnwk20aiQeUbFMDNToRwQRFMApX6bUBIZ5mR5Pb?=\n\t=?utf-8?q?0ZO1VU/vB6cX/ru6TNYy7tG8fVg7q7+CusbWEACI3J2ePh1gB8st0ARy?=\n\t=?utf-8?q?e3WK06mT0tefdnKnlumLdQbTJJgRWHK3nvhH5l8oc/mZMHFBui5lK6VB?=\n\t=?utf-8?q?kLw3F2UQorQmYi0l5t0g0rOl4lKLSGmD7+1akp20B+qs7irXniihDRrr?=\n\t=?utf-8?q?A3eKQDLfvNU0sgvAAGjwt+yskzERmjAh7QpgAXVqpeKRxdyYt82SJ8WV?=\n\t=?utf-8?q?GjiE4hWYSfz5tnZnyNFtofQZkRMYllGzhTAxNqD4gde26ABUsLOyfM3T?=\n\t=?utf-8?q?4GFJpi9GCaXDjywUB8aSeFKj/0oB0yWEoI/15EQBA8NaouMZMDVPYnfS?=\n\t=?utf-8?q?qSFN5JcU9IVTDmq0efNwrZEeR/wOI9pKDz9iL/xKQPobFh3lC9ia/Vw3?=\n\t=?utf-8?q?tWWrfAXGRbbrT0owmeTVdUXqEmmaKsbdmjC0wPljqYXw4B422uXGL/zo?=\n\t=?utf-8?q?qV/CIlI+5YkOwJqlBjweTLJuOmLZlE1L/ha4pegYjuaDVBLgiCrRm3El?=\n\t=?utf-8?q?Xx66SaAtxY2DnICmsRrelr4goWj8KH/DtJOYrTGVcu/3kQeuZrQsbJJI?=\n\t=?utf-8?q?fKhWI+SVRT4zvVc8DpM3z6CCc6A3qm9uoYdM4yOkxosI7mumNwRB+Jgm?=\n\t=?utf-8?q?T0V9gTP4OJHDyS5gFvYtmU9E9qhzqiEB4uKm8ovPuQ0qCJ54TGm1vrn5?=\n\t=?utf-8?q?HxZsm1bb+xQfYw8KcNHAASqzE80H80D9IzHbSX3m4L48hWcZOEph8YnO?=\n\t=?utf-8?q?Z44DAJbSxsIaSga5zuLBRI/V+ANfz+BWAkUNML64Hcyd2GDOosFJtUr3?=\n\t=?utf-8?q?Qz1zkplfh3+KdubmPokNuEX6PxZ35X88Za5JLmRBdDhsHV5aeiwu6Ryw?=\n\t=?utf-8?q?w/+WwiJU+5tugjQqMp6agQ1nsHFe0oz6/h6RYHSZEzgI8E9rzix1?=", "X-Forefront-Antispam-Report": "CIP:164.130.1.43; CTRY:IT; LANG:en; SCL:1; SRV:;\n\tIPV:CAL; SFV:NSPM; H:smtpO365.st.com; PTR:InfoDomainNonexistent;\n\tCAT:NONE; \n\tSFS:(13230040)(376014)(1800799024)(82310400026)(36860700013); DIR:OUT;\n\tSFP:1101; ", "X-OriginatorOrg": "foss.st.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "05 Sep 2025 09:09:59.8970\n\t(UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "b77739d7-893d-4550-f6a4-08ddec5bfdbf", "X-MS-Exchange-CrossTenant-Id": "75e027c9-20d5-47d5-b82f-77d7cd041e8f", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;\n\tIp=[164.130.1.43]; \n\tHelo=[smtpO365.st.com]", "X-MS-Exchange-CrossTenant-AuthSource": "AM3PEPF0000A792.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "PA1PR10MB8932", "X-Authority-Analysis": "v=2.4 cv=Ts3mhCXh c=1 sm=1 tr=0 ts=68baa8eb cx=c_pps\n\ta=6eCpzUxAHqa0kiPdty4tFw==:117 a=peP7VJn1Wk7OJvVWh4ABVQ==:17\n\ta=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=h8e1o3o8w34MuCiiGQrqVE4VwXA=:19\n\ta=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19\n\ta=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=58ASqn27JyAA:10 a=IkcTkHD0fZMA:10\n\ta=yJojWOMRYYMA:10 a=s63m1ICgrNkA:10 a=FUbXzq8tPBIA:10\n\ta=8b9GpE9nAAAA:8\n\ta=CLyXKx3vXmGqdc0cRRIA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22", "X-Proofpoint-ORIG-GUID": "WTV8NWbSfcg2_DF5--6XATCDghiih_v-", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjUwODMwMDAxOCBTYWx0ZWRfXzglzBtOIH40W\n\taYYYP9OGIEmnveJFSxjQoLoMdC2WwtMxiL/2BzC/YeEa0a11bnm4pbHiUktJBSN1RKwu05IPNV1\n\thfIIRTSAfFcEjNCCvnbuT6ldFHal/RJrDhVCrlDY/nNkdHYd9YhG3h/zs7A0IXMc8b0YrDFLW+G\n\tkYgqEzV+oXaYn4T83xyQu3W9tPf1JxeOdz/7ZxLcSrJz+eGH5JGdZfr2rrIxzaj58CJHdwXgQu4\n\tPh7aE2bawSm7tYabE15UbBA5JMDIbvpIdHXdltwL+Vz1C4UNnnMaW5KEnIubGmQGvrd/q1YMLFM\n\tOcZYZa1/QxO/Q52h7wuFCxACBmQzb+febo67lXjUdKMqEGHC2cz1dyZ0aK1qJzRNfP9Zan34Eul\n\tu1ExRAMk", "X-Proofpoint-GUID": "WTV8NWbSfcg2_DF5--6XATCDghiih_v-", "X-Proofpoint-Virus-Version": "vendor=baseguard\n\tengine=ICAP:2.0.293, Aquarius:18.0.1117, Hydra:6.1.9,\n\tFMLib:17.12.80.40\n\tdefinitions=2025-09-05_02,2025-09-04_01,2025-03-28_01", "X-Proofpoint-Spam-Details": "rule=notspam policy=default score=0 spamscore=0\n\tclxscore=1011\n\tpriorityscore=1501 malwarescore=0 adultscore=0 impostorscore=0\n\tphishscore=0 suspectscore=0 bulkscore=0 classifier=typeunknown\n\tauthscore=0\n\tauthtc= authcc= route=outbound adjust=0 reason=mlx scancount=1\n\tengine=8.19.0-2507300000 definitions=main-2508300018", "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 cam_helper gain formula and frameIntegrationDiff can be found in the\nvd55g1 user manual.\n\nSigned-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>\n---\n src/ipa/rpi/cam_helper/cam_helper_vd55g1.cpp | 49 ++++++++++++++++++++++++++++\n src/ipa/rpi/cam_helper/meson.build | 1 +\n 2 files changed, 50 insertions(+)", "diff": "diff --git a/src/ipa/rpi/cam_helper/cam_helper_vd55g1.cpp b/src/ipa/rpi/cam_helper/cam_helper_vd55g1.cpp\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..7a262e2332f3039b1fd35330abfb91099ff0e21e\n--- /dev/null\n+++ b/src/ipa/rpi/cam_helper/cam_helper_vd55g1.cpp\n@@ -0,0 +1,49 @@\n+/* SPDX-License-Identifier: BSD-2-Clause */\n+/*\n+ * Copyright (C) STMicroelectronics SA 2025\n+ *\n+ * Camera information for vd55g1 sensor\n+ */\n+\n+#include <assert.h>\n+\n+#include \"cam_helper.h\"\n+\n+using namespace RPiController;\n+\n+class CamHelperVd55g1 : public CamHelper\n+{\n+public:\n+\tCamHelperVd55g1();\n+\tuint32_t gainCode(double gain) const override;\n+\tdouble gain(uint32_t gainCode) const override;\n+\n+private:\n+\t/*\n+\t * Smallest difference between the frame length and integration time,\n+\t * in units of lines.\n+\t */\n+\tstatic constexpr int frameIntegrationDiff = 64;\n+};\n+\n+CamHelperVd55g1::CamHelperVd55g1()\n+\t: CamHelper({}, frameIntegrationDiff)\n+{\n+}\n+\n+uint32_t CamHelperVd55g1::gainCode(double gain) const\n+{\n+\treturn static_cast<uint32_t>(32.0 - 32.0 / gain);\n+}\n+\n+double CamHelperVd55g1::gain(uint32_t gainCode) const\n+{\n+\treturn 32.0 / (32.0 - static_cast<double>(gainCode));\n+}\n+\n+static CamHelper *create()\n+{\n+\treturn new CamHelperVd55g1();\n+}\n+\n+static RegisterCamHelper reg(\"vd55g1\", &create);\ndiff --git a/src/ipa/rpi/cam_helper/meson.build b/src/ipa/rpi/cam_helper/meson.build\nindex b70acbee5fcaa94265da1f1ad75487563486679f..87b6a3600b18b5d380a9007f92cc620bfbafb830 100644\n--- a/src/ipa/rpi/cam_helper/meson.build\n+++ b/src/ipa/rpi/cam_helper/meson.build\n@@ -14,6 +14,7 @@ rpi_ipa_cam_helper_sources = files([\n 'cam_helper_ov64a40.cpp',\n 'cam_helper_ov7251.cpp',\n 'cam_helper_ov9281.cpp',\n+ 'cam_helper_vd55g1.cpp',\n 'cam_helper_vd56g3.cpp',\n 'md_parser_smia.cpp',\n ])\n", "prefixes": [ "2/4" ] }