[{"id":35844,"web_url":"https://patchwork.libcamera.org/comment/35844/","msgid":"<175802977335.1246375.1996662711945526463@ping.linuxembedded.co.uk>","date":"2025-09-16T13:36:13","subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Benjamin Mugnier (2025-09-05 10:08:22)\n> Add unit cell size from the 'pixel size' element in the datasheet.\n> Delays are set to 2 in case a setting is entered at the very end of the\n> N frame, the N+1 frame will miss it and only the N+2 frame will use this\n> new setting.\n\nI'm not sure that's the meaning of the delay values. I don't think\nthey're supposed to be increased just incase ...\n\n \n> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>\n> ---\n>  src/libcamera/sensor/camera_sensor_properties.cpp | 17 +++++++++++++++++\n>  1 file changed, 17 insertions(+)\n> \n> diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n> index f2da8205372baabca58416e2c0f9da64e722fe02..09f60391fddba1738a5e2409703f023c9ba1655c 100644\n> --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n> +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n> @@ -461,6 +461,23 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>                         },\n>                         .sensorDelays = { },\n>                 } },\n> +               { \"vd55g1\", {\n> +                       .unitCellSize = { 2160, 2160 },\n> +                       .testPatternModes = {\n> +                               { controls::draft::TestPatternModeOff, 0 },\n> +                               { controls::draft::TestPatternModePn9, 2},\n> +                               /*\n> +                                * No corresponding test pattern mode for:\n> +                                * 1: \"Diagonal Gray Scale\"\n> +                                */\n> +                       },\n> +                       .sensorDelays = {\n> +                               .exposureDelay = 2,\n> +                               .gainDelay = 2,\n> +                               .vblankDelay = 2,\n> +                               .hblankDelay = 2\n> +                       },\n> +               } },\n>                 { \"vd56g3\", {\n>                         .unitCellSize = { 2610, 2610 },\n>                         .testPatternModes = {\n> \n> -- \n> 2.25.1\n>","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 44328BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 16 Sep 2025 13:36:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F36B269370;\n\tTue, 16 Sep 2025 15:36:16 +0200 (CEST)","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 E3CCC613A1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 16 Sep 2025 15:36:15 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id CA5C8DF3;\n\tTue, 16 Sep 2025 15:34:57 +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=\"Rme4ZdX4\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1758029697;\n\tbh=/Qj8qVma2/OP6zm1UPcBbSbrRTXIDdnorRXdy5aqjD0=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=Rme4ZdX46DPHw13iACEwCiy5LNjm011R6Gmuecg//8bKI9xCJ5WTahA0Szr+X5LWI\n\t1oHZEdpYUy+T5ElCDlCS6Ip2Z2V9rtxuSDM8iGS6DSsV6IvVX8nG7s6ZMyQonYy0n4\n\tzurcUczwvf1APMzkgmSoAEPx7L7LX6knFQD3TI7U=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20250905-vd55g1_support-v1-1-545d39f280b2@foss.st.com>","References":"<20250905-vd55g1_support-v1-0-545d39f280b2@foss.st.com>\n\t<20250905-vd55g1_support-v1-1-545d39f280b2@foss.st.com>","Subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Sylvain Petinot <sylvain.petinot@foss.st.com>,\n\tBenjamin Mugnier <benjamin.mugnier@foss.st.com>","To":"Benjamin Mugnier <benjamin.mugnier@foss.st.com>,\n\tNaushir Patuck <naush@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Tue, 16 Sep 2025 14:36:13 +0100","Message-ID":"<175802977335.1246375.1996662711945526463@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>"}},{"id":35850,"web_url":"https://patchwork.libcamera.org/comment/35850/","msgid":"<490b6d2b-b1bf-4af0-94e5-ff750a7c5add@foss.st.com>","date":"2025-09-17T08:57:12","subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","submitter":{"id":227,"url":"https://patchwork.libcamera.org/api/people/227/","name":"Benjamin Mugnier","email":"benjamin.mugnier@foss.st.com"},"content":"Hi Kieran\n\nOn 9/16/25 15:36, Kieran Bingham wrote:\n> Quoting Benjamin Mugnier (2025-09-05 10:08:22)\n>> Add unit cell size from the 'pixel size' element in the datasheet.\n>> Delays are set to 2 in case a setting is entered at the very end of the\n>> N frame, the N+1 frame will miss it and only the N+2 frame will use this\n>> new setting.\n> \n> I'm not sure that's the meaning of the delay values. I don't think\n> they're supposed to be increased just incase ...\n> \n\nAh, maybe this paragraph is not precise enough. Let me try again.\n\nThese delay values are the maximum number of frames required for the\nsensor to reflect the parameter change in its acquisition.\n\nIf you set a parameter during frame N, usually the new parameter will be\ntaken into account at frame N+1, resulting in a delay of 1. Now, there\nis a case where if you set a parameter at the very end of frame N, it\nwill be too late to be applied at frame N+1 (which will keep frame N's\nparameters), and will effectively be taken into account at frame N+2,\nhence the delays set to 2. These delays are the exact delays required to\nacknowledge this worst-case scenario.\n\nFrom my understanding, these values are correct, and by reading other\nsensors' parameters in camera_sensor_properties.cpp, this seems pretty\nstandard.\n\nHope this helps. This is the same paragraph as the vd56g3 one that got\naccepted as is. But maybe I should take this opportunity to rephrase it?\n\n>  \n>> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>\n>> ---\n>>  src/libcamera/sensor/camera_sensor_properties.cpp | 17 +++++++++++++++++\n>>  1 file changed, 17 insertions(+)\n>>\n>> diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n>> index f2da8205372baabca58416e2c0f9da64e722fe02..09f60391fddba1738a5e2409703f023c9ba1655c 100644\n>> --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n>> +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n>> @@ -461,6 +461,23 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>>                         },\n>>                         .sensorDelays = { },\n>>                 } },\n>> +               { \"vd55g1\", {\n>> +                       .unitCellSize = { 2160, 2160 },\n>> +                       .testPatternModes = {\n>> +                               { controls::draft::TestPatternModeOff, 0 },\n>> +                               { controls::draft::TestPatternModePn9, 2},\n>> +                               /*\n>> +                                * No corresponding test pattern mode for:\n>> +                                * 1: \"Diagonal Gray Scale\"\n>> +                                */\n>> +                       },\n>> +                       .sensorDelays = {\n>> +                               .exposureDelay = 2,\n>> +                               .gainDelay = 2,\n>> +                               .vblankDelay = 2,\n>> +                               .hblankDelay = 2\n>> +                       },\n>> +               } },\n>>                 { \"vd56g3\", {\n>>                         .unitCellSize = { 2610, 2610 },\n>>                         .testPatternModes = {\n>>\n>> -- \n>> 2.25.1\n>>","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 5E13BBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 17 Sep 2025 08:57:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 080A369371;\n\tWed, 17 Sep 2025 10:57:04 +0200 (CEST)","from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com\n\t[185.132.182.106])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EF53369369\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 17 Sep 2025 10:57:01 +0200 (CEST)","from pps.filterd (m0241204.ppops.net [127.0.0.1])\n\tby mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id\n\t58H5wjtJ006350; Wed, 17 Sep 2025 10:57:01 +0200","from as8pr04cu009.outbound.protection.outlook.com\n\t(mail-westeuropeazon11011026.outbound.protection.outlook.com\n\t[52.101.70.26])\n\tby mx07-00178001.pphosted.com (PPS) with ESMTPS id 497fxutr65-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=NOT); Wed, 17 Sep 2025 10:57:01 +0200 (MEST)","from DU2PR04CA0083.eurprd04.prod.outlook.com (2603:10a6:10:232::28)\n\tby AS1PR10MB5263.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4a3::9)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9115.22;\n\tWed, 17 Sep 2025 08:56:58 +0000","from DU6PEPF0000B61F.eurprd02.prod.outlook.com\n\t(2603:10a6:10:232:cafe::ef) by DU2PR04CA0083.outlook.office365.com\n\t(2603:10a6:10:232::28) with Microsoft SMTP Server (version=TLS1_3,\n\tcipher=TLS_AES_256_GCM_SHA384) id 15.20.9137.13 via Frontend\n\tTransport; Wed, 17 Sep 2025 08:56:58 +0000","from smtpO365.st.com (164.130.1.43) by\n\tDU6PEPF0000B61F.mail.protection.outlook.com (10.167.8.134) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.9137.12 via Frontend Transport; Wed, 17 Sep 2025 08:56:57 +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\tWed, 17 Sep 2025 10:54:33 +0200","from [10.130.78.106] (10.130.78.106) by SHFDAG1NODE1.st.com\n\t(10.75.129.69) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.57;\n\tWed, 17 Sep 2025 10:56:57 +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=\"LbuW7WBL\"; dkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=opQ/Sx578NvsPBIXFYpMbYxsWd6U32H6dwLDlFE3n/Vags8qXCTEvvZDtZfZ7ZLRfevp4UByptXb1J0KmRuqYYQleVIWQ2GjsZUwuKrgPo/X80K/pxmJvMZ95yFnpraKm0lfq8815ocKR1JtrqcwK1faA7HYwZFIySbWvX+WKXts88ssyrty4Anpcf140hIpnJ3VX1wf4C5gianYdiXQIjgQeIGjMmVfruQEJrW/NdRdifad7FhYqqHBf2HC7zBIbkLEZM7ya9QeaL/GpRrWEaBf90HHPa2cRYPq233kIkORSFjNrxNLP/EZd6MYRnUbtzBewu6MsDCGkqiX7dPXrA==","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=qnOycKXCcI4sfcw6yHpZkha/xun+JfZcFopSkb2KthM=;\n\tb=uKKvl9af10u2iZbXiYqZ/6URQV54c9GqQtT/XFsBVIWySNx/sA2kGLcEhEoY/XX9n0+/cr8dnsdqIYW2gLgONthVwzeMpzV3IuGHllF/omZs2h1HDr8+PgqX+leia/71hPTKJJCF8/pfxF+T0t+8t+H2lgoGvac6MxA/aTMcdSR+6mjCpaQSIW6DxYu3woltZBydKGdeDm0HHkzllHxB3jmg9/V8Cn03898lCaxFdne/PtWDs8VRloNRNRTAS1iBKZ+6IVgaBjOA0uqEg5SuvDRZGTy0tbnLzs5eVzwFUkFdtHnGqFBnruv3CRxWNktzAd6lEaatNN+d+o4gB8kgbQ==","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)","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com;\n\ts=selector2;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=qnOycKXCcI4sfcw6yHpZkha/xun+JfZcFopSkb2KthM=;\n\tb=LbuW7WBLc8x9qwbb9vmFFdse3xq3d5kqYz25uHwdPHmLtBGLnwcpynNs2h3iuwE8WqPSt4Pcutr2D9O68Ff1FDHBQyTHfSg5+IyebMZ2WKlihJCXLWFZ98oFER2woCIpmGaIotlDL97GaGvayjW3Q2hDSe4Gtz65BMB439hb1ZVKEYdmzvVIc9K1Vhl9zlRbFoo0BSlRbo5WJeBffCzZxhDHCLOzjRVFuc3RYvjGNn77zgFHqwWWhujRlImBmDitLiv9rzz5YuiqbxgJoA3Ttj0bluPDtDHBIhV4wiFASHXlmu20tKP32omZpFsEhleQgTYPzPkBeW1242aHfPayTw==","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;","Message-ID":"<490b6d2b-b1bf-4af0-94e5-ff750a7c5add@foss.st.com>","Date":"Wed, 17 Sep 2025 10:57:12 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>, Naushir Patuck\n\t<naush@raspberrypi.com>, <libcamera-devel@lists.libcamera.org>","CC":"Sylvain Petinot <sylvain.petinot@foss.st.com>","References":"<20250905-vd55g1_support-v1-0-545d39f280b2@foss.st.com>\n\t<20250905-vd55g1_support-v1-1-545d39f280b2@foss.st.com>\n\t<175802977335.1246375.1996662711945526463@ping.linuxembedded.co.uk>","Content-Language":"en-US","From":"Benjamin Mugnier <benjamin.mugnier@foss.st.com>","In-Reply-To":"<175802977335.1246375.1996662711945526463@ping.linuxembedded.co.uk>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"7bit","X-Originating-IP":"[10.130.78.106]","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":"DU6PEPF0000B61F:EE_|AS1PR10MB5263:EE_","X-MS-Office365-Filtering-Correlation-Id":"43f12cab-eb58-4f90-9465-08ddf5c828ac","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n\tARA:13230040|376014|1800799024|36860700013|82310400026; ","X-Microsoft-Antispam-Message-Info":"=?utf-8?q?InHF3UG7PxKPeS+orwvdauT/NH5B?=\n\t=?utf-8?q?AW3gWZJwUWPIp6YuHYBi09WRaPg4ib7aQ9x0vyHF5m6ExDMBVPH3AfQA?=\n\t=?utf-8?q?hTPH0nCcV2mJJc624gF42TWssImaEC5FqaCgeTvUfLJUlQMuEE7XM1jx?=\n\t=?utf-8?q?mslQB9ien4KPzfTjL/pIK/l26HSvB3bdHxnwCYHsVwRPBfk7AtHFaa7e?=\n\t=?utf-8?q?GpAUDWMBPMy1SnRFVQRwziWV+mClAdJaPjHOIDqTtahACw4zuSK5GnKq?=\n\t=?utf-8?q?gIB8NdwBY36SwR16iIJRxaqSwu8iizDJ9yi5AFszDUpYEixYTLA41OB/?=\n\t=?utf-8?q?dCIna7AujBDZqYWRBj5tU89Teb5iJZbi46T+3wCHXcpLDtF1IWM9/Un0?=\n\t=?utf-8?q?UKMBmvsRxY2jZbENNRWHgoDJEFzySHWGoVFwrHa5sw8xIaqpxbL7Sr6C?=\n\t=?utf-8?q?v8KQVbQNMudXW3lUINsG06cea78+4xmaKZwbC0N2z5/BoyNZ5R/k+c8I?=\n\t=?utf-8?q?f1eoty35bsWvd0XMpbRRPzwhOTheBRUYJ3MtBbPpuZthXrqnfpApYAoz?=\n\t=?utf-8?q?WEoOfl3kDnRFT6SWlSEWtGqvsiGh/Giymza2UdrbcySqJJf0Mrf3ZKy8?=\n\t=?utf-8?q?x820WdOc9RPAJLoAL1PqH7jprM0KjSZTkAzUVxY+VIGTLyUzeCC1Aj5M?=\n\t=?utf-8?q?x/bexxZv47MfAZ2JE1BrYqvfaVmZd4ZPmi+/+wgFJXk27uloFbrJStBo?=\n\t=?utf-8?q?2z9zzGAW8xY+xmysTeLPmqbtR70Xpv/K5dL3SYVp5mDx87aV4qcje0hO?=\n\t=?utf-8?q?zM/PHVHfq8JzSZHUas5CCAPWIimSFLqv7+5aW+srlRWz7jPhwVBC0SgJ?=\n\t=?utf-8?q?3wPp44vJfd/mTKOIoUmOJlEEDjPZshs/GoldAP/4fkCRRuPpe+iQhQcO?=\n\t=?utf-8?q?Wj4gKk3kU//xE/UxdEbUmlsw8O/wcmxCYZdwtJowexdnjZzSYF635KHQ?=\n\t=?utf-8?q?xhbCtellVvnFILnm/8NWlfyYja1N5J/LVspd4u8caA1vEbkJwjECEw+d?=\n\t=?utf-8?q?r74BDCujg43rMMloTAcRBOoonCQOG+dgTqHD++feRvj38JuWSxPpDJdt?=\n\t=?utf-8?q?vG1WhVB5GKIxBmd0Qyqnv1Un4AxkrtvlXpuRF1kTR6VMSvHgcQUCPwRL?=\n\t=?utf-8?q?cRaE19TAfQ86qNTBZUZe6Rhv1kbU63B5gtplANyBUkDwVwBbpbKgSlpX?=\n\t=?utf-8?q?Qm3bSlhUMN+UdZATZCpMdF2UVOxfdnfR/EQWWW8yVwg4DOD88K/pzE6M?=\n\t=?utf-8?q?kj2twc2cOUM/UMbrXl74Q8YUb+T4sro5zX76dseQmiLiNyhP8pgqwmHM?=\n\t=?utf-8?q?Fn+bml2iv4LJvaC0o1NaJxZNKjhk+QzeDwFkV9jYF/C0oe1Iyuc17SyG?=\n\t=?utf-8?q?/ZHDXORyIwrvLiAGzGgjAVep1+IAFrXHSwb1afGwGjMo0mKHjK+TMsBG?=\n\t=?utf-8?q?xYyRlRN2KXq7J8dO+UIULGNc5m6ylOqngG9QuVfrpM6zPfc1c3R8m3DW?=\n\t=?utf-8?q?cLrGXh8ZQp/hr6/mlT5ubppBbs0b1IXWbYwysbZx2GZBGBoJRDr7Vh2+?=\n\t=?utf-8?q?Op3ilwWPnZr5F0wxQU87YYJqRVPW7RCsriW7hNRCJkWjgkrnvf4q?=","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)(36860700013)(82310400026); DIR:OUT;\n\tSFP:1101; ","X-OriginatorOrg":"foss.st.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"17 Sep 2025 08:56:57.9897\n\t(UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"43f12cab-eb58-4f90-9465-08ddf5c828ac","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":"DU6PEPF0000B61F.eurprd02.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AS1PR10MB5263","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjUwOTE2MDIwMiBTYWx0ZWRfX0Dx9g5xkgU9O\n\t8BPyQ4VZFblGjVRtVkWGCpJNgmyPAtv/f6pfIYo7IpdjVc5x9uZPhZT4wDc1C/sCJ5XhFf+brM+\n\tsmlX4R0zRD2sftOr0lOvNHB5yWIJoOkndAYv3Pb/GjBUVEZgmKbVsmOEDh9px/ZV8irOKSJ/n33\n\t9nf5J2Guw9mab1KiPKcCOYvfn52AS0lterr3EqMU45XfkmZa2pVEPcwgvszIAqLZFNjuanFGGmA\n\tp2EAjk8AGrC9qXpHNPV07fN1LPVdJRjMLRmNzer5Jrn47Iob+JntXgR+HraV4zocwO/F3QGSFUq\n\tEUPdWEiorgeKqsBcrNgKvRkI5keFfYDjQLN+tdB2EHP+iQC4d6bSLdpTfc5NYgXO8oIi1l0teVJ\n\too89TfZV","X-Authority-Analysis":"v=2.4 cv=TtLmhCXh c=1 sm=1 tr=0 ts=68ca77dd cx=c_pps\n\ta=+UN/3faCtK6Mc17jq6xMgQ==:117 a=peP7VJn1Wk7OJvVWh4ABVQ==:17\n\ta=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=h8e1o3o8w34MuCiiGQrqVE4VwXA=:19\n\ta=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19\n\ta=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=ulpFtCY-0pAA:10 a=IkcTkHD0fZMA:10\n\ta=yJojWOMRYYMA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10\n\ta=8b9GpE9nAAAA:8\n\ta=d6uWeRdmS7vncRYhGOEA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22","X-Proofpoint-ORIG-GUID":"faXZwcUUQnbuVeqZnyewX0gBaWXJN4Lk","X-Proofpoint-GUID":"faXZwcUUQnbuVeqZnyewX0gBaWXJN4Lk","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-16_02,2025-09-17_01,2025-03-28_01","X-Proofpoint-Spam-Details":"rule=notspam policy=default score=0 phishscore=0\n\timpostorscore=0\n\tmalwarescore=0 spamscore=0 clxscore=1015 adultscore=0 suspectscore=0\n\tbulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0\n\tauthtc=\n\tauthcc= route=outbound adjust=0 reason=mlx scancount=1\n\tengine=8.19.0-2507300000 definitions=main-2509160202","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>"}},{"id":35851,"web_url":"https://patchwork.libcamera.org/comment/35851/","msgid":"<175810410952.1246375.9429209754337292340@ping.linuxembedded.co.uk>","date":"2025-09-17T10:15:09","subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Benjamin Mugnier (2025-09-17 09:57:12)\n> Hi Kieran\n> \n> On 9/16/25 15:36, Kieran Bingham wrote:\n> > Quoting Benjamin Mugnier (2025-09-05 10:08:22)\n> >> Add unit cell size from the 'pixel size' element in the datasheet.\n> >> Delays are set to 2 in case a setting is entered at the very end of the\n> >> N frame, the N+1 frame will miss it and only the N+2 frame will use this\n> >> new setting.\n> > \n> > I'm not sure that's the meaning of the delay values. I don't think\n> > they're supposed to be increased just incase ...\n> > \n> \n> Ah, maybe this paragraph is not precise enough. Let me try again.\n> \n> These delay values are the maximum number of frames required for the\n> sensor to reflect the parameter change in its acquisition.\n> \n> If you set a parameter during frame N, usually the new parameter will be\n> taken into account at frame N+1, resulting in a delay of 1. Now, there\n> is a case where if you set a parameter at the very end of frame N, it\n> will be too late to be applied at frame N+1 (which will keep frame N's\n> parameters), and will effectively be taken into account at frame N+2,\n> hence the delays set to 2. These delays are the exact delays required to\n> acknowledge this worst-case scenario.\n\nthat's the bit I'm concerned about. I don't think we take the worst case\nscenario in these values - I think we take the best case because that's\nwhat 99% of the occasions will be.\n\nIdeally we need to know from the sensor metadata which values were\napplied on a frame - but because we don't have that universally (or at\nall yet) we use the delays specified here to have our best guess as to\nwhat gain and exposure are *really* applied in an image frame.\n\nWe shouldn't increase by one just to be sure. And to be more clear -\nwhat I'm really curious about is the fact that you have the delay for\nboth gain and exposure set the same.\n\nCan you clarify/confirm that both the gain and exposure are applied on\nthe same frame when set together ?\n\n> From my understanding, these values are correct, and by reading other\n> sensors' parameters in camera_sensor_properties.cpp, this seems pretty\n> standard.\n\nYes, but it's the wording that caught my eye indeed. It sounds like\nyou're adding an extra '1' to the numbers 'just in case' but that would\nbe wrong.\n\nThese should be 'precise' so they're either right or wrong - we can't\njust set them to 3 for instance. That would be likely to introduce\noscillations in the AEGC.\n\n> Hope this helps. This is the same paragraph as the vd56g3 one that got\n> accepted as is. But maybe I should take this opportunity to rephrase it?\n\nWording aside I want to know what the sensor is really doing ;-)\n\n--\nKieran\n\n> \n> >  \n> >> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>\n> >> ---\n> >>  src/libcamera/sensor/camera_sensor_properties.cpp | 17 +++++++++++++++++\n> >>  1 file changed, 17 insertions(+)\n> >>\n> >> diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n> >> index f2da8205372baabca58416e2c0f9da64e722fe02..09f60391fddba1738a5e2409703f023c9ba1655c 100644\n> >> --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n> >> +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n> >> @@ -461,6 +461,23 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> >>                         },\n> >>                         .sensorDelays = { },\n> >>                 } },\n> >> +               { \"vd55g1\", {\n> >> +                       .unitCellSize = { 2160, 2160 },\n> >> +                       .testPatternModes = {\n> >> +                               { controls::draft::TestPatternModeOff, 0 },\n> >> +                               { controls::draft::TestPatternModePn9, 2},\n> >> +                               /*\n> >> +                                * No corresponding test pattern mode for:\n> >> +                                * 1: \"Diagonal Gray Scale\"\n> >> +                                */\n> >> +                       },\n> >> +                       .sensorDelays = {\n> >> +                               .exposureDelay = 2,\n> >> +                               .gainDelay = 2,\n> >> +                               .vblankDelay = 2,\n> >> +                               .hblankDelay = 2\n> >> +                       },\n> >> +               } },\n> >>                 { \"vd56g3\", {\n> >>                         .unitCellSize = { 2610, 2610 },\n> >>                         .testPatternModes = {\n> >>\n> >> -- \n> >> 2.25.1\n> >>\n> \n> -- \n> Regards,\n> Benjamin","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 BDD47BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 17 Sep 2025 10:15:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EC6206936F;\n\tWed, 17 Sep 2025 12:15:26 +0200 (CEST)","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 8F92969367\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 17 Sep 2025 12:15:12 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id BC07655A;\n\tWed, 17 Sep 2025 12:13:53 +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=\"gn2/m/6n\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1758104033;\n\tbh=gj85i22gKkTiysGFr3wksSNZJn2rEf4X26AcJlNUk4Y=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=gn2/m/6nXW/F6/MCG/0NgdPy/PLEN0yyEAgBdV5qMBMS7fs5fkAyAX0S/W/IagVwQ\n\toaqEooeqrcPO5EwxE1TdvmILC+O2NRZI5L+/lez+qkDYrUBg5YTcL5WJWqgkiiYAiJ\n\tUUQEAfkfQ+zMZF/hvJ0++/s5x9dgc8uRYV0y8Hd4=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<490b6d2b-b1bf-4af0-94e5-ff750a7c5add@foss.st.com>","References":"<20250905-vd55g1_support-v1-0-545d39f280b2@foss.st.com>\n\t<20250905-vd55g1_support-v1-1-545d39f280b2@foss.st.com>\n\t<175802977335.1246375.1996662711945526463@ping.linuxembedded.co.uk>\n\t<490b6d2b-b1bf-4af0-94e5-ff750a7c5add@foss.st.com>","Subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Sylvain Petinot <sylvain.petinot@foss.st.com>","To":"Benjamin Mugnier <benjamin.mugnier@foss.st.com>,\n\tNaushir Patuck <naush@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Wed, 17 Sep 2025 11:15:09 +0100","Message-ID":"<175810410952.1246375.9429209754337292340@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>"}},{"id":35856,"web_url":"https://patchwork.libcamera.org/comment/35856/","msgid":"<49b2fef2-b277-4d64-8ac5-ef1f784d01ea@foss.st.com>","date":"2025-09-17T13:23:51","subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","submitter":{"id":227,"url":"https://patchwork.libcamera.org/api/people/227/","name":"Benjamin Mugnier","email":"benjamin.mugnier@foss.st.com"},"content":"On 9/17/25 12:15, Kieran Bingham wrote:\n> Quoting Benjamin Mugnier (2025-09-17 09:57:12)\n>> Hi Kieran\n>>\n>> On 9/16/25 15:36, Kieran Bingham wrote:\n>>> Quoting Benjamin Mugnier (2025-09-05 10:08:22)\n>>>> Add unit cell size from the 'pixel size' element in the datasheet.\n>>>> Delays are set to 2 in case a setting is entered at the very end of the\n>>>> N frame, the N+1 frame will miss it and only the N+2 frame will use this\n>>>> new setting.\n>>>\n>>> I'm not sure that's the meaning of the delay values. I don't think\n>>> they're supposed to be increased just incase ...\n>>>\n>>\n>> Ah, maybe this paragraph is not precise enough. Let me try again.\n>>\n>> These delay values are the maximum number of frames required for the\n>> sensor to reflect the parameter change in its acquisition.\n>>\n>> If you set a parameter during frame N, usually the new parameter will be\n>> taken into account at frame N+1, resulting in a delay of 1. Now, there\n>> is a case where if you set a parameter at the very end of frame N, it\n>> will be too late to be applied at frame N+1 (which will keep frame N's\n>> parameters), and will effectively be taken into account at frame N+2,\n>> hence the delays set to 2. These delays are the exact delays required to\n>> acknowledge this worst-case scenario.\n> \n> that's the bit I'm concerned about. I don't think we take the worst case\n> scenario in these values - I think we take the best case because that's\n> what 99% of the occasions will be.\n> \n> Ideally we need to know from the sensor metadata which values were\n> applied on a frame - but because we don't have that universally (or at\n> all yet) we use the delays specified here to have our best guess as to\n> what gain and exposure are *really* applied in an image frame.\n> \n> We shouldn't increase by one just to be sure. And to be more clear -\n> what I'm really curious about is the fact that you have the delay for\n> both gain and exposure set the same.\n> \n> Can you clarify/confirm that both the gain and exposure are applied on\n> the same frame when set together ?\n> \n\nYes, they are. It doesn't matter which combination of parameters is set.\n\n>> From my understanding, these values are correct, and by reading other\n>> sensors' parameters in camera_sensor_properties.cpp, this seems pretty\n>> standard.\n> \n> Yes, but it's the wording that caught my eye indeed. It sounds like\n> you're adding an extra '1' to the numbers 'just in case' but that would\n> be wrong.\n> \n> These should be 'precise' so they're either right or wrong - we can't\n> just set them to 3 for instance. That would be likely to introduce\n> oscillations in the AEGC.\n> \n\nI just discussed with the team in charge. My assumptions were wrong and\nthe vd55g1 is a bit specific. It buffers parameters and *always* applies\nthem at N+2 for consistency, avoiding the best-case/worst-case scenarios\nI described above.\n\nSo I confirm '2' is the correct value. I'll rewrite the commit message\nfor v2. Thank you for pointing this.\n\n\nNow I wonder what values does libcamera expects as values for a sensor\nthat doesn't have this buffer mechanism ? As you correctly pointed out\nit could either be 1 or 2 depending on when the parameter is applied.\n\n>> Hope this helps. This is the same paragraph as the vd56g3 one that got\n>> accepted as is. But maybe I should take this opportunity to rephrase it?\n> \n> Wording aside I want to know what the sensor is really doing ;-)\n> \n> --\n> Kieran\n> \n>>\n>>>  \n>>>> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>\n>>>> ---\n>>>>  src/libcamera/sensor/camera_sensor_properties.cpp | 17 +++++++++++++++++\n>>>>  1 file changed, 17 insertions(+)\n>>>>\n>>>> diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n>>>> index f2da8205372baabca58416e2c0f9da64e722fe02..09f60391fddba1738a5e2409703f023c9ba1655c 100644\n>>>> --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n>>>> +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n>>>> @@ -461,6 +461,23 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>>>>                         },\n>>>>                         .sensorDelays = { },\n>>>>                 } },\n>>>> +               { \"vd55g1\", {\n>>>> +                       .unitCellSize = { 2160, 2160 },\n>>>> +                       .testPatternModes = {\n>>>> +                               { controls::draft::TestPatternModeOff, 0 },\n>>>> +                               { controls::draft::TestPatternModePn9, 2},\n>>>> +                               /*\n>>>> +                                * No corresponding test pattern mode for:\n>>>> +                                * 1: \"Diagonal Gray Scale\"\n>>>> +                                */\n>>>> +                       },\n>>>> +                       .sensorDelays = {\n>>>> +                               .exposureDelay = 2,\n>>>> +                               .gainDelay = 2,\n>>>> +                               .vblankDelay = 2,\n>>>> +                               .hblankDelay = 2\n>>>> +                       },\n>>>> +               } },\n>>>>                 { \"vd56g3\", {\n>>>>                         .unitCellSize = { 2610, 2610 },\n>>>>                         .testPatternModes = {\n>>>>\n>>>> -- \n>>>> 2.25.1\n>>>>\n>>\n>> -- \n>> Regards,\n>> Benjamin","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 3D581C328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 17 Sep 2025 13:24:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 80E4F6936F;\n\tWed, 17 Sep 2025 15:24:02 +0200 (CEST)","from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com\n\t[185.132.182.106])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A821369367\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 17 Sep 2025 15:23:47 +0200 (CEST)","from pps.filterd (m0369458.ppops.net [127.0.0.1])\n\tby mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id\n\t58HBbN8C005337; Wed, 17 Sep 2025 15:23:44 +0200","from mrwpr03cu001.outbound.protection.outlook.com\n\t(mail-francesouthazon11011011.outbound.protection.outlook.com\n\t[40.107.130.11])\n\tby mx07-00178001.pphosted.com (PPS) with ESMTPS id 497fxauy7g-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=NOT); Wed, 17 Sep 2025 15:23:43 +0200 (MEST)","from AM4PR05CA0029.eurprd05.prod.outlook.com (2603:10a6:205::42) by\n\tAS1PR10MB5263.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4a3::9) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.9115.22; Wed, 17 Sep 2025 13:23:37 +0000","from AMS1EPF00000040.eurprd04.prod.outlook.com\n\t(2603:10a6:205:0:cafe::2b) by AM4PR05CA0029.outlook.office365.com\n\t(2603:10a6:205::42) with Microsoft SMTP Server (version=TLS1_3,\n\tcipher=TLS_AES_256_GCM_SHA384) id 15.20.9137.13 via Frontend\n\tTransport; Wed, 17 Sep 2025 13:23:37 +0000","from smtpO365.st.com (164.130.1.43) by\n\tAMS1EPF00000040.mail.protection.outlook.com (10.167.16.37) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.9137.12 via Frontend Transport; Wed, 17 Sep 2025 13:23:36 +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\tWed, 17 Sep 2025 15:21:11 +0200","from [10.130.78.106] (10.130.78.106) by SHFDAG1NODE1.st.com\n\t(10.75.129.69) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.57;\n\tWed, 17 Sep 2025 15:23:35 +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=\"LdY4ASxR\"; dkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=OgziDQyVLmTs0iohBaiG0a2DDn6vq5AxqfKrK0nrju4J0WbfTklG3ZQaml1WhC00TbBHI18rLCmwnpAMOn3Z8BjHD+WY238aZL2ipIRAizVAQzF2VFsYDfGSYClVJsv9sYUb63Z83cZd5OYcxzj9zptlFJfnC0LQOy6eBUzva2TKEMaySf76m5aQvkXNxCUBLMejpR5wCAs1dC+6KLYgywxxyV7tfmAtulpT4CZNvz6fjjxD9iCEG/ISRR4JYtQmGbXtTNWiNi6lr74CNDDr3VLPuKZvFiphI3FJnt4Egp9d5ORMICXnS2b9CFfXi2KoTTy1AwHp//MhWbZW3DMkSQ==","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=1drV3yh4Dyi76JlpGYBOQT5caYB9H895DNzuLgzY+YM=;\n\tb=x37vZHmyyyeNZ5S+C5BAoSQ488voRdCo6HDf+KdVkSjdE3xD5WcB+1+c8HPP0AKpdNqomo4xiQa8O9f3ouNrgwJyMxi2BFbIMiDVFYs5Kp6bdqEl8PVRV0tk7M3iLzfKRwLgr53H9a5ht5JTnOL40qk74A7iHrqNIUsJQ9oP0WSjnALnrG1HpiVJpWGim9EFl7pPBLX2l10EKov6sjwHUFutX8HIUPPzaIxSIdZHAmJH1uupGehOQPDh9nawsYcfDqxV9UG8OU9mLElAIbBp5RBc49AbdAAR6LUgRjHJA3U+7MsT6+hMZhWuP8TmXnbUpHmWnzQ1EH9RZeArE+S7yQ==","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)","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com;\n\ts=selector2;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=1drV3yh4Dyi76JlpGYBOQT5caYB9H895DNzuLgzY+YM=;\n\tb=LdY4ASxRCcYOt7vYdu4GxbRHiOtPy5Qlffw+3K900oIzatgrjK1wr+43v06nIvIX2JZCStV59UpTtHYFI++Fb76/MUP2Jc9HPLnKy4SBIs26xbxi1Fz7u1JRdDzSn5VY5nZYRwEO++AvdhHUapI5f+qfGfq6IsGlZG+h9cys8P9jldCxdz7VhWoIFvQbVWma+w8XnHkfuSffgYQYTJpctuOxA11qQPB9QJK8717KkTPrPUTxtgOuHfFs25BnG6zo90AmnUOTHvvfG4+l/+gdr1lqsvG1aQ2V/rKQryOb1sr7IAOW9UD8sQ20YOLgEIfXLBWvgHy7BvQm05OKGZCvxg==","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;","Message-ID":"<49b2fef2-b277-4d64-8ac5-ef1f784d01ea@foss.st.com>","Date":"Wed, 17 Sep 2025 15:23:51 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>, Naushir Patuck\n\t<naush@raspberrypi.com>, <libcamera-devel@lists.libcamera.org>","CC":"Sylvain Petinot <sylvain.petinot@foss.st.com>","References":"<20250905-vd55g1_support-v1-0-545d39f280b2@foss.st.com>\n\t<20250905-vd55g1_support-v1-1-545d39f280b2@foss.st.com>\n\t<175802977335.1246375.1996662711945526463@ping.linuxembedded.co.uk>\n\t<490b6d2b-b1bf-4af0-94e5-ff750a7c5add@foss.st.com>\n\t<175810410952.1246375.9429209754337292340@ping.linuxembedded.co.uk>","Content-Language":"en-US","From":"Benjamin Mugnier <benjamin.mugnier@foss.st.com>","In-Reply-To":"<175810410952.1246375.9429209754337292340@ping.linuxembedded.co.uk>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"7bit","X-Originating-IP":"[10.130.78.106]","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":"AMS1EPF00000040:EE_|AS1PR10MB5263:EE_","X-MS-Office365-Filtering-Correlation-Id":"4a249a95-dc65-4c3a-eb92-08ddf5ed688c","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n\tARA:13230040|376014|1800799024|36860700013|82310400026; ","X-Microsoft-Antispam-Message-Info":"=?utf-8?q?iPsHAinEx4MoyZab2mqSdLLSy/gt?=\n\t=?utf-8?q?c7/wqcQGpgvVxZI6C0nad2xXX8ZdkIDhW5aWFdPOiqNqEPgMU4ttaAIq?=\n\t=?utf-8?q?c9FlIrepKh7zs2Xd57NqMtP+xs0R/wVQ/dIXmFdWzc+rsoxoc5lcCmqa?=\n\t=?utf-8?q?KQev7HJARXfBvePV3OhK0khXjHnTZEhf2dwqlMqwFXRzK5jkEzBJLNcZ?=\n\t=?utf-8?q?AoWiRD42wPDzeL1760nS6FJJjMkCvkPtsaMR4/ZLf76HvMa9s/V0hj47?=\n\t=?utf-8?q?yQELVWjcPmNMzLR/DMKT2pU9X2ECEFusRzgeK4Z/4oXzzP/ma3Tl/Re7?=\n\t=?utf-8?q?Ul016+JN9tf2qpDuuJZOUssVFxRVwIxab1J46hGsmRE8d8qxWJK6GmTF?=\n\t=?utf-8?q?LAQN3zIha4MXkcYOg0iv8O+OTpuG9uLpUqgUtXbgoqyU2ZCoaOxKhn32?=\n\t=?utf-8?q?oVMvMpmQLvqjDzZzABG6dcwaQJ65fcGHgM3WaZzEGm9A8PlrrWGo/leN?=\n\t=?utf-8?q?INiJjkmIVunMt0/Lf1u3zqWS2w59BEJXhibYuA7F7YL9pojFbFSqF6kE?=\n\t=?utf-8?q?4hhL8rmWWJxRfFaAaSx39ZjaAEGXpz619/nBgAfQqGACjiUm1hcqYZB5?=\n\t=?utf-8?q?ql2EtsLe8/FAwZxUSRpvXt3b524S4l6K0gHuctOmPIRW5Jr82G5jMVCN?=\n\t=?utf-8?q?TQke1GfAS3+Oi6e/m8k702J61xW45ryhDqKEJHXgoZCODvONBXtt4rbc?=\n\t=?utf-8?q?KpH1Tzue0XsjSZ3Wp4aIrVdraAqc7jDoNpvE53A72ZUbAe6Mr+DYHJGT?=\n\t=?utf-8?q?MDS/knx1mi8yXjKiEeNIwLW2MdP3sS28jWpA8a9IKHV4U+4f0DGkhywW?=\n\t=?utf-8?q?72tt8um6ZIi074/LJUScNWA0XcM1I+cbraEW2DBodiL8x8/zV6tc7YBx?=\n\t=?utf-8?q?acYyzQCUtjYCTwwrS++5IK6HZgSWWmsKfYj/mveqtuaAoYp9I7hr7TgZ?=\n\t=?utf-8?q?4ovEr/XB1yXAQb7tbgt3wUompye4oLy2EZ/6AY38fyJVK9N7SoT2UvyV?=\n\t=?utf-8?q?8LGbE/PB+tvMj2+2hc3kGdBp3r5ERlSUT1JPvI6rUECFCw8MZNv8Llk4?=\n\t=?utf-8?q?+GS0zizzTJPpdofW+JT8j7EVWBS0vulMLf+Pjib2wbxMkH1eLRwZfQGX?=\n\t=?utf-8?q?yvBV/ZDYhkKUKL/k4mE8BxpKPKRwG66Nq95l/NYz92jEHL7kj/qkdt2/?=\n\t=?utf-8?q?YQUngOOqGXYvwDCU+ysELa2lIgnsARhm2Nnffa8KRjGSm6Nzd4m/5C4L?=\n\t=?utf-8?q?F1hY18oT0bstLH5eccSh5DUVGThH06aT8nXJaWATXA6GtFcEvlT5uu03?=\n\t=?utf-8?q?Sw/32HD+N6mgp4ckPbl1GnI7TfGXKg6sZ+kg7XSbuzynWtCRQtJV25X1?=\n\t=?utf-8?q?oT0GkBsSdiWL6qeNou7hlwtLDtXPKr+50eSFj8V3fpdSmu7g620FgUU5?=\n\t=?utf-8?q?RX19P+shcPQoDwtRY2V0+n5W0lBHo9vVqDMUqOpPOi/BgjfYvSkewwRf?=\n\t=?utf-8?q?jz7QYP5XeOPkSdsNDgOl4Xwhi/nHqagQgK5raAxbsASYEAHOcVdYnWug?=\n\t=?utf-8?q?7sS3iYa5eU9LApM7PDe+C9wAjPWfEBbWnnWi0R3iR1ejL6t3A8P9?=","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)(36860700013)(82310400026); DIR:OUT;\n\tSFP:1101; ","X-OriginatorOrg":"foss.st.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"17 Sep 2025 13:23:36.5683\n\t(UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"4a249a95-dc65-4c3a-eb92-08ddf5ed688c","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":"AMS1EPF00000040.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AS1PR10MB5263","X-Authority-Analysis":"v=2.4 cv=RPOzH5i+ c=1 sm=1 tr=0 ts=68cab65f cx=c_pps\n\ta=PyuWNx0SgPbB4SnybF+ChA==:117 a=peP7VJn1Wk7OJvVWh4ABVQ==:17\n\ta=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=h8e1o3o8w34MuCiiGQrqVE4VwXA=:19\n\ta=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19\n\ta=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=ulpFtCY-0pAA:10 a=IkcTkHD0fZMA:10\n\ta=yJojWOMRYYMA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10\n\ta=8b9GpE9nAAAA:8\n\ta=mwDZDu_lqo1Xx5KEWlsA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22","X-Proofpoint-ORIG-GUID":"0aqsth_GPSsd1ZkZusxPKT0E97nKk3Uz","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjUwOTE2MDIwMiBTYWx0ZWRfXzRWCXYOYKgPI\n\tSbVCeC2nOqxmcZD/u1QEDli/YdQTwe/WibOjjHBkuO4hGMzhBh1GD8BjPcyKpS/CVI6aEUhs74j\n\tiBVM8+urzYr3IeuhkAT0na1SdUGPYn8mkindEReD9BzVCwepK1Nc+SPvMLMrV0kfU0oFknGU9br\n\tLXmavcbnQ+0s59KaNMhfDfNqiUR96K08GsRPEB9u8jUKSn/yFAxgzh/9Dz/hCm2qsX2qb/v/grT\n\tywpM8CWwwdcSMNtt/M5fVXCmd6QkC93NnRDIjlHGA+rSVy9WqINEOoeVnM26rx7Ygdcm36gBvmn\n\tf6lCHurS/IPmL/Y2AweVGXoIi97rMWwbaAVorZkYITPC4OxkGKRdc0V+qwM7Mn7k2xO+VDSYj8b\n\tmRUvgs3O","X-Proofpoint-GUID":"0aqsth_GPSsd1ZkZusxPKT0E97nKk3Uz","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-17_01,2025-09-17_02,2025-03-28_01","X-Proofpoint-Spam-Details":"rule=notspam policy=default score=0\n\tpriorityscore=1501 impostorscore=0\n\tmalwarescore=0 suspectscore=0 adultscore=0 spamscore=0 clxscore=1015\n\tbulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc=\n\tauthcc= route=outbound adjust=0 reason=mlx scancount=1\n\tengine=8.19.0-2507300000 definitions=main-2509160202","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>"}},{"id":35857,"web_url":"https://patchwork.libcamera.org/comment/35857/","msgid":"<175811761503.1246375.6964647991920991386@ping.linuxembedded.co.uk>","date":"2025-09-17T14:00:15","subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Benjamin Mugnier (2025-09-17 14:23:51)\n> \n> \n> On 9/17/25 12:15, Kieran Bingham wrote:\n> > Quoting Benjamin Mugnier (2025-09-17 09:57:12)\n> >> Hi Kieran\n> >>\n> >> On 9/16/25 15:36, Kieran Bingham wrote:\n> >>> Quoting Benjamin Mugnier (2025-09-05 10:08:22)\n> >>>> Add unit cell size from the 'pixel size' element in the datasheet.\n> >>>> Delays are set to 2 in case a setting is entered at the very end of the\n> >>>> N frame, the N+1 frame will miss it and only the N+2 frame will use this\n> >>>> new setting.\n> >>>\n> >>> I'm not sure that's the meaning of the delay values. I don't think\n> >>> they're supposed to be increased just incase ...\n> >>>\n> >>\n> >> Ah, maybe this paragraph is not precise enough. Let me try again.\n> >>\n> >> These delay values are the maximum number of frames required for the\n> >> sensor to reflect the parameter change in its acquisition.\n> >>\n> >> If you set a parameter during frame N, usually the new parameter will be\n> >> taken into account at frame N+1, resulting in a delay of 1. Now, there\n> >> is a case where if you set a parameter at the very end of frame N, it\n> >> will be too late to be applied at frame N+1 (which will keep frame N's\n> >> parameters), and will effectively be taken into account at frame N+2,\n> >> hence the delays set to 2. These delays are the exact delays required to\n> >> acknowledge this worst-case scenario.\n> > \n> > that's the bit I'm concerned about. I don't think we take the worst case\n> > scenario in these values - I think we take the best case because that's\n> > what 99% of the occasions will be.\n> > \n> > Ideally we need to know from the sensor metadata which values were\n> > applied on a frame - but because we don't have that universally (or at\n> > all yet) we use the delays specified here to have our best guess as to\n> > what gain and exposure are *really* applied in an image frame.\n> > \n> > We shouldn't increase by one just to be sure. And to be more clear -\n> > what I'm really curious about is the fact that you have the delay for\n> > both gain and exposure set the same.\n> > \n> > Can you clarify/confirm that both the gain and exposure are applied on\n> > the same frame when set together ?\n> > \n> \n> Yes, they are. It doesn't matter which combination of parameters is set.\n> \n> >> From my understanding, these values are correct, and by reading other\n> >> sensors' parameters in camera_sensor_properties.cpp, this seems pretty\n> >> standard.\n> > \n> > Yes, but it's the wording that caught my eye indeed. It sounds like\n> > you're adding an extra '1' to the numbers 'just in case' but that would\n> > be wrong.\n> > \n> > These should be 'precise' so they're either right or wrong - we can't\n> > just set them to 3 for instance. That would be likely to introduce\n> > oscillations in the AEGC.\n> > \n> \n> I just discussed with the team in charge. My assumptions were wrong and\n> the vd55g1 is a bit specific. It buffers parameters and *always* applies\n> them at N+2 for consistency, avoiding the best-case/worst-case scenarios\n> I described above.\n> \n> So I confirm '2' is the correct value. I'll rewrite the commit message\n> for v2. Thank you for pointing this.\n> \n> \n> Now I wonder what values does libcamera expects as values for a sensor\n> that doesn't have this buffer mechanism ? As you correctly pointed out\n> it could either be 1 or 2 depending on when the parameter is applied.\n\nIndeed, but libcamera uses the frame start signal to apply controls to\naim to apply the updates 'as soon as possible' and avoid this issue.\n\nOf course - not being specifically realtime - this isn't guaranteed ...\n\n--\nKieran\n\n> \n> >> Hope this helps. This is the same paragraph as the vd56g3 one that got\n> >> accepted as is. But maybe I should take this opportunity to rephrase it?\n> > \n> > Wording aside I want to know what the sensor is really doing ;-)\n> > \n> > --\n> > Kieran\n> > \n> >>\n> >>>  \n> >>>> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>\n> >>>> ---\n> >>>>  src/libcamera/sensor/camera_sensor_properties.cpp | 17 +++++++++++++++++\n> >>>>  1 file changed, 17 insertions(+)\n> >>>>\n> >>>> diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\n> >>>> index f2da8205372baabca58416e2c0f9da64e722fe02..09f60391fddba1738a5e2409703f023c9ba1655c 100644\n> >>>> --- a/src/libcamera/sensor/camera_sensor_properties.cpp\n> >>>> +++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n> >>>> @@ -461,6 +461,23 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> >>>>                         },\n> >>>>                         .sensorDelays = { },\n> >>>>                 } },\n> >>>> +               { \"vd55g1\", {\n> >>>> +                       .unitCellSize = { 2160, 2160 },\n> >>>> +                       .testPatternModes = {\n> >>>> +                               { controls::draft::TestPatternModeOff, 0 },\n> >>>> +                               { controls::draft::TestPatternModePn9, 2},\n> >>>> +                               /*\n> >>>> +                                * No corresponding test pattern mode for:\n> >>>> +                                * 1: \"Diagonal Gray Scale\"\n> >>>> +                                */\n> >>>> +                       },\n> >>>> +                       .sensorDelays = {\n> >>>> +                               .exposureDelay = 2,\n> >>>> +                               .gainDelay = 2,\n> >>>> +                               .vblankDelay = 2,\n> >>>> +                               .hblankDelay = 2\n> >>>> +                       },\n> >>>> +               } },\n> >>>>                 { \"vd56g3\", {\n> >>>>                         .unitCellSize = { 2610, 2610 },\n> >>>>                         .testPatternModes = {\n> >>>>\n> >>>> -- \n> >>>> 2.25.1\n> >>>>\n> >>\n> >> -- \n> >> Regards,\n> >> Benjamin\n> \n> -- \n> Regards,\n> Benjamin","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 C0D2BC328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 17 Sep 2025 14:00:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2CCC769370;\n\tWed, 17 Sep 2025 16:00:21 +0200 (CEST)","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 9689C69369\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 17 Sep 2025 16:00:18 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7FD18D0;\n\tWed, 17 Sep 2025 15:58:59 +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=\"JUYTi+/y\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1758117539;\n\tbh=DkysBFi9ANRaznN8P9wMoFGnR0dnZQFGl8S9uuMdCOA=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=JUYTi+/yMRJVijDmIpkP+0VNjFkf+MCzEiWcJTI/xltBL6tOIWo5LIGLwF1cbfRIH\n\t/qmf8obYHgr/omOcKC+dZTRe2dLgARTGw64gZF7W+6L+ygkYxxw9kdZAixzjv9ISjY\n\tpXkndbn75H1ecix5Fue7FbR/Xa28oUA7ijX6sy28=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<49b2fef2-b277-4d64-8ac5-ef1f784d01ea@foss.st.com>","References":"<20250905-vd55g1_support-v1-0-545d39f280b2@foss.st.com>\n\t<20250905-vd55g1_support-v1-1-545d39f280b2@foss.st.com>\n\t<175802977335.1246375.1996662711945526463@ping.linuxembedded.co.uk>\n\t<490b6d2b-b1bf-4af0-94e5-ff750a7c5add@foss.st.com>\n\t<175810410952.1246375.9429209754337292340@ping.linuxembedded.co.uk>\n\t<49b2fef2-b277-4d64-8ac5-ef1f784d01ea@foss.st.com>","Subject":"Re: [PATCH 1/4] libcamera: camera_sensor_properties: Add vd55g1\n\tcamera sensor","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Sylvain Petinot <sylvain.petinot@foss.st.com>","To":"Benjamin Mugnier <benjamin.mugnier@foss.st.com>,\n\tNaushir Patuck <naush@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Wed, 17 Sep 2025 15:00:15 +0100","Message-ID":"<175811761503.1246375.6964647991920991386@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>"}}]