{"id":21167,"url":"https://patchwork.libcamera.org/api/patches/21167/?format=json","web_url":"https://patchwork.libcamera.org/patch/21167/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240905-imx214-v1-1-740caf6fb0a9@apitzsch.eu>","date":"2024-09-05T20:47:46","name":"libcamera: libipa: camera_sensor: Add Sony IMX214 sensor properties","commit_ref":"642dbafe64d5d8c584931f773129c50ca186a927","pull_url":null,"state":"accepted","archived":false,"hash":"b5de8a589e5fa5a3ccc41c34a7171992528c1ce0","submitter":{"id":206,"url":"https://patchwork.libcamera.org/api/people/206/?format=json","name":"André Apitzsch","email":"git@apitzsch.eu"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/21167/mbox/","series":[{"id":4564,"url":"https://patchwork.libcamera.org/api/series/4564/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4564","date":"2024-09-05T20:47:46","name":"libcamera: libipa: camera_sensor: Add Sony IMX214 sensor properties","version":1,"mbox":"https://patchwork.libcamera.org/series/4564/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/21167/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/21167/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 755AAC324C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  5 Sep 2024 20:49:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7D5B3634CB;\n\tThu,  5 Sep 2024 22:49:14 +0200 (CEST)","from smtprelay08.ispgateway.de (smtprelay08.ispgateway.de\n\t[134.119.228.109])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C97946345D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  5 Sep 2024 22:47:22 +0200 (CEST)","from [77.64.252.226] (helo=[192.168.1.141])\n\tby smtprelay08.ispgateway.de with esmtpsa (TLS1.2) tls\n\tTLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98)\n\t(envelope-from <git@apitzsch.eu>) id 1smJNy-000000001oP-0DBM;\n\tThu, 05 Sep 2024 22:47:22 +0200"],"From":"=?utf-8?q?Andr=C3=A9_Apitzsch?= <git@apitzsch.eu>","Date":"Thu, 05 Sep 2024 22:47:46 +0200","Subject":"[PATCH] libcamera: libipa: camera_sensor: Add Sony IMX214 sensor\n\tproperties","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"8bit","Message-Id":"<20240905-imx214-v1-1-740caf6fb0a9@apitzsch.eu>","X-B4-Tracking":"v=1; b=H4sIAPEY2mYC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE\n\tvPSU3UzU4B8JSMDIxMDSwNT3czcCiNDE11zSzNLY8ukFBNT42QloOKCotS0zAqwQdGxtbUAOoG\n\td4lgAAAA=","To":"libcamera-devel@lists.libcamera.org","Cc":"=?utf-8?q?Andr=C3=A9_Apitzsch?= <git@apitzsch.eu>","X-Mailer":"b4 0.14.1","X-Df-Sender":"YW5kcmVAYXBpdHpzY2guZXU=","X-Mailman-Approved-At":"Thu, 05 Sep 2024 22:49:13 +0200","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":"Provide the Sony IMX214 camera sensor properties and registration with\nlibipa for the gain code helpers.\n\nSigned-off-by: André Apitzsch <git@apitzsch.eu>\n---\n src/ipa/libipa/camera_sensor_helper.cpp           | 13 +++++++++++++\n src/libcamera/sensor/camera_sensor_properties.cpp | 10 ++++++++++\n 2 files changed, 23 insertions(+)\n\n\n---\nbase-commit: f75b8dd26feaca86701704390dea18c71e2f0350\nchange-id: 20240905-imx214-796939bd453c\n\nBest regards,","diff":"diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\nindex ffc7c1d7..f3289b1c 100644\n--- a/src/ipa/libipa/camera_sensor_helper.cpp\n+++ b/src/ipa/libipa/camera_sensor_helper.cpp\n@@ -519,6 +519,19 @@ private:\n };\n REGISTER_CAMERA_SENSOR_HELPER(\"ar0521\", CameraSensorHelperAr0521)\n \n+class CameraSensorHelperImx214 : public CameraSensorHelper\n+{\n+public:\n+\tCameraSensorHelperImx214()\n+\t{\n+\t\t/* From datasheet: 64 at 10bits. */\n+\t\tblackLevel_ = 4096;\n+\t\tgainType_ = AnalogueGainLinear;\n+\t\tgainConstants_.linear = { 0, 512, -1, 512 };\n+\t}\n+};\n+REGISTER_CAMERA_SENSOR_HELPER(\"imx214\", CameraSensorHelperImx214)\n+\n class CameraSensorHelperImx219 : public CameraSensorHelper\n {\n public:\ndiff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp\nindex 4e5217ab..6d4136d0 100644\n--- a/src/libcamera/sensor/camera_sensor_properties.cpp\n+++ b/src/libcamera/sensor/camera_sensor_properties.cpp\n@@ -88,6 +88,16 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n \t\t\t\t */\n \t\t\t},\n \t\t} },\n+\t\t{ \"imx214\", {\n+\t\t\t.unitCellSize = { 1120, 1120 },\n+\t\t\t.testPatternModes = {\n+\t\t\t\t{ controls::draft::TestPatternModeOff, 0 },\n+\t\t\t\t{ controls::draft::TestPatternModeColorBars, 1 },\n+\t\t\t\t{ controls::draft::TestPatternModeSolidColor, 2 },\n+\t\t\t\t{ controls::draft::TestPatternModeColorBarsFadeToGray, 3 },\n+\t\t\t\t{ controls::draft::TestPatternModePn9, 4 },\n+\t\t\t},\n+\t\t} },\n \t\t{ \"imx219\", {\n \t\t\t.unitCellSize = { 1120, 1120 },\n \t\t\t.testPatternModes = {\n","prefixes":[]}