{"id":10689,"url":"https://patchwork.libcamera.org/api/1.1/patches/10689/?format=json","web_url":"https://patchwork.libcamera.org/patch/10689/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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":"<20201218164754.81422-10-jacopo@jmondi.org>","date":"2020-12-18T16:47:54","name":"[libcamera-devel,v2,9/9] android: camera_device: Report sensor physical size","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"fb457758dd503fdbd53acaa75c1f8d3cfc87874f","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/1.1/people/3/?format=json","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"delegate":{"id":15,"url":"https://patchwork.libcamera.org/api/1.1/users/15/?format=json","username":"jmondi","first_name":"Jacopo","last_name":"Mondi","email":"jacopo@jmondi.org"},"mbox":"https://patchwork.libcamera.org/patch/10689/mbox/","series":[{"id":1538,"url":"https://patchwork.libcamera.org/api/1.1/series/1538/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1538","date":"2020-12-18T16:47:45","name":"libcamera: Introduce sensor database","version":2,"mbox":"https://patchwork.libcamera.org/series/1538/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/10689/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/10689/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 C8583C0F1A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 18 Dec 2020 16:47:58 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 95C0862000;\n\tFri, 18 Dec 2020 17:47:58 +0100 (CET)","from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net\n\t[217.70.183.200])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C5FD9619E2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 18 Dec 2020 17:47:52 +0100 (CET)","from uno.lan (93-34-118-233.ip49.fastwebnet.it [93.34.118.233])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 914F920003\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 18 Dec 2020 16:47:52 +0000 (UTC)"],"X-Originating-IP":"93.34.118.233","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 18 Dec 2020 17:47:54 +0100","Message-Id":"<20201218164754.81422-10-jacopo@jmondi.org>","X-Mailer":"git-send-email 2.29.2","In-Reply-To":"<20201218164754.81422-1-jacopo@jmondi.org>","References":"<20201218164754.81422-1-jacopo@jmondi.org>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v2 9/9] android: camera_device: Report\n\tsensor physical size","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>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Report the ANDROID_SENSOR_INFO_PHYSICAL_SIZE property inspecting\nthe draft SensorPhysicalSize property reported by libcamera.\n\nMaintain a default value to support pipelines that do not register\nthe camera property.\n\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\n---\n src/android/camera_device.cpp | 18 +++++++++++++-----\n 1 file changed, 13 insertions(+), 5 deletions(-)","diff":"diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\nindex bad8a51ae7f7..f50a539e907d 100644\n--- a/src/android/camera_device.cpp\n+++ b/src/android/camera_device.cpp\n@@ -919,12 +919,20 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n \t\t\t\t  testPatterModes.data(),\n \t\t\t\t  testPatterModes.size());\n \n-\tstd::vector<float> physicalSize = {\n-\t\t2592, 1944,\n-\t};\n+\tstd::vector<float> physicalSize(2);\n+\tif (properties.contains(properties::draft::SensorPhysicalSize)) {\n+\t\tconst Span<const float> data =\n+\t\t\tproperties.get<Span<const float>>(properties::draft::SensorPhysicalSize);\n+\t\tphysicalSize = { data[0], data[1] };\n+\t} else {\n+\t\t/*\n+\t\t * \\todo Drop the default once all pipelines report the\n+\t\t * property.\n+\t\t */\n+\t\tphysicalSize = { 2.592, 1.944 };\n+\t}\n \tstaticMetadata_->addEntry(ANDROID_SENSOR_INFO_PHYSICAL_SIZE,\n-\t\t\t\t  physicalSize.data(),\n-\t\t\t\t  physicalSize.size());\n+\t\t\t\t  physicalSize.data(), physicalSize.size());\n \n \tuint8_t timestampSource = ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN;\n \tstaticMetadata_->addEntry(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE,\n","prefixes":["libcamera-devel","v2","9/9"]}