{"id":16537,"url":"https://patchwork.libcamera.org/api/covers/16537/?format=json","web_url":"https://patchwork.libcamera.org/cover/16537/","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":"<20220704233217.54769-1-Rauch.Christian@gmx.de>","date":"2022-07-04T23:32:13","name":"[libcamera-devel,v9,0/4] generate and use fixed-sized Span Control types","submitter":{"id":111,"url":"https://patchwork.libcamera.org/api/people/111/?format=json","name":"Christian Rauch","email":"Rauch.Christian@gmx.de"},"mbox":"https://patchwork.libcamera.org/cover/16537/mbox/","series":[{"id":3250,"url":"https://patchwork.libcamera.org/api/series/3250/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3250","date":"2022-07-04T23:32:13","name":"generate and use fixed-sized Span Control types","version":9,"mbox":"https://patchwork.libcamera.org/series/3250/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/16537/comments/","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 BCD57BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  4 Jul 2022 23:32:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CC9B76330D;\n\tTue,  5 Jul 2022 01:32:35 +0200 (CEST)","from mout.gmx.net (mout.gmx.net [212.227.15.15])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 800DB6042E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  5 Jul 2022 01:32:33 +0200 (CEST)","from localhost.localdomain ([92.18.80.244]) by mail.gmx.net\n\t(mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id\n\t1MYeQr-1o3AO33kmp-00Vjs5; Tue, 05 Jul 2022 01:32:33 +0200"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1656977555;\n\tbh=rLHpDD1GNBZDcVTIHwA5CMzIJtGwsUE3v124evevgDw=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=ToleD+QBHNFM23gP6IQmYmZ/L2phbtpYnyx9gNsBDmUsFxwjeEgKyhRm9ijUuClba\n\tTRbH0dptRaVJaoD5KA8hp3H7ENkbFw4d62Q715/F743GxzCDjZSD2rmyil/vetyKrF\n\tnJ8eNFTi+yl1tRU4Dz2rccOurX+mmR/YpkuCw/4syusPQgsw34PBYYiaYLVwOQkd2m\n\tVRD76EJ3yxoTPjMluVND0Yn87W8h4xJcdh5ck7lqnuJoZ9FmLp450dfszX7w9WBVWZ\n\tNx10c33v3hnMjSrLCBjGyIamrXJbqPBX0YzahP3okBciqo5UwXGYwMIc2XKgmykd9n\n\tBVwGyvRo9+Fvw==","v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;\n\ts=badeba3b8450; t=1656977553;\n\tbh=rLHpDD1GNBZDcVTIHwA5CMzIJtGwsUE3v124evevgDw=;\n\th=X-UI-Sender-Class:From:To:Cc:Subject:Date;\n\tb=VNTBBVI6vc0IeUBmmKTVaOhA/HxW3cuKCzfOm0QWpbZ3STQ4zgNSnrWxDdurOSmaK\n\tr5UIIJ2bVXnQ5yixKAybzQKA4rcMXXCG5VAtimp+fNut2YQRFVvkQxogwBu+gdfkYs\n\tf4axsE5icbUN6lWyNzu2fFKENRay/y8/m34FLgd4="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=gmx.net header.i=@gmx.net\n\theader.b=\"VNTBBVI6\"; dkim-atps=neutral","X-UI-Sender-Class":"01bb95c1-4bf8-414a-932a-4f6e2808ef9c","To":"libcamera-devel@lists.libcamera.org","Date":"Tue,  5 Jul 2022 00:32:13 +0100","Message-Id":"<20220704233217.54769-1-Rauch.Christian@gmx.de>","X-Mailer":"git-send-email 2.34.1","MIME-Version":"1.0","X-Provags-ID":"V03:K1:xVSwWx24y4WrteEPwuIJlvGFulShxl+NynTy5Hc7AE50A1eO+ZH\n\taZGjUk76Yrny9I+xIGs9ugWySvzlfgLlNJuHAN1FIC8O+/QKMWBURZ0abbtJp97c1LjR649\n\tVOVRcTqTc22fnJYodYrBOpQYHrmK+S5Tpygbti2vI6Y8WKfyMWt58EI+55EVP4bFWtOZWse\n\tPp6uSI86sHz6+H7skUCpg==","X-Spam-Flag":"NO","X-UI-Out-Filterresults":"notjunk:1; V03:K0:BYujwcrmcWk=:KtITqtdvZiehx7gKyokDdt\n\tCrx/E4kGnqKmltH7AsVm5lYFM3p4meywkR97ixJ+eSfQjEik81oUm5NqwXbK/Cp+7FdWZbaVs\n\tijk1ZQ64WwPHvZLeqwOKCxckdYyen0XACekaREqD/jJRgefiKea6/iff7TnSYWjgF/zciw/yN\n\tuIpGMMf2r0aVtfwngQ79TUXXrv77fp0CSkZ/fjYRO/ZwmyyYU4fMZTH5Os+WlgGZ2gGiSQ17j\n\tNrmgkc6JTWjc+YjzzCUeceQImcRCTtTdAsO9OZzckdOPjWO5/1LTRklEaN9oBihO3WYjbiGbM\n\t1vxDVsFsFsixuva/m/ErkmEsaf3JKUOQPoIE1xLLLl9suCG3msx0gs2VJfraI65DGwrsrMghg\n\tmn3/k76jsAGqpyP1FuRXuwHJ7bO5R90DIvjlSMZvpIE4MM1NLaeLF87ZW+27jr57qXUSSSABW\n\tyO4lQJhJaQ8Kv7vnlIvOfXeaLA+iyzNDuR3odH+3E+bSyPGSHUkSKVxRgOfiFkQ9EBljzERhy\n\t9FdQoX3bQf+BI6ceYWnsknicDSqnLwUbcgH9Y6kWD29cIo/WDHHmJc0Cn2ak2QiBBQ70H6Ips\n\t+pJ3ExpbN3T/7GrZStzDhVVf4q2ZUThKe2o/a0iHchJKLqs7vo3HSu9SawJpXi1Oo5kcct+Qb\n\t8915qTV2t84Ew219YKJnKiMmxgHVT5fbe3b/OZJyV0f7ONO6i9zAcZrDYnqX80PE2B87rZmwH\n\trEg8/Jg67SXFScoQqspF+Utzbk+K1OlQLn35GcQeqHrUnJYrP963XPhgpXl6q06umrD4WB9rA\n\tl+rcHg3V5VB4pMOew3RFekJXyId8a0g0BAgsPssEgIFmJnn6CCCNMd7xtefmaIWTb5lQS/xk7\n\taLdK6zzRbqlGL4cZZ2qKsLdtknESxDNvJsehnQu4UlfheFSReWH3hxwM3n21bHrPSPbIaeHMC\n\t915l7cBWs0xFzrkzrCcjAKDwXAXranM1fOLhUxG4nKSAljCYLxhzGERkYJo/vHtNCgbwav+PG\n\txIjQrDpuAs3NKPyWNFxuH05x/IpQ7KpesnaVav/40s3+0TtHuzkxEYCeyM5EfRRGO8NWrHPbr\n\thRCTlJ4oeQAo2gPgXXAcC+bd3/vzL5xWhq/4iwmNUy/3AEdzESuM5L6pg==","Subject":"[libcamera-devel] [PATCH v9 0/4] generate and use fixed-sized Span\n\tControl types","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>","From":"Christian Rauch via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Christian Rauch <Rauch.Christian@gmx.de>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi,\n\nI am sending a v9 of this since the recent changes to gstreamer required to add a \"value_or\" for the \"controls::SensorTimestamp\" metadata query.\n\n@Laurent: Please add your fixes on top of this and post your new version as v10.\n\nBest,\n\nChristian Rauch (4):\n  libcamera: controls: Use std::optional to handle invalid control\n    values\n  libcamera: controls: Define size of array controls as a shape vector\n  libcamera: controls: Generate fixed- and variable-sized Span Controls\n  libcamera: controls: Apply explicit fixed-sized Span type casts\n\n include/libcamera/controls.h                  |  7 ++--\n src/android/camera_capabilities.cpp           | 12 +++----\n src/android/camera_device.cpp                 | 21 ++++++------\n src/android/camera_hal_manager.cpp            |  2 +-\n src/cam/main.cpp                              |  4 +--\n src/gstreamer/gstlibcamerasrc.cpp             |  2 +-\n src/ipa/raspberrypi/raspberrypi.cpp           | 21 ++++++------\n src/libcamera/control_ids.yaml                |  4 +--\n src/libcamera/pipeline/ipu3/ipu3.cpp          |  9 +++---\n .../pipeline/raspberrypi/raspberrypi.cpp      |  9 +++---\n src/libcamera/property_ids.yaml               |  4 +--\n src/qcam/dng_writer.cpp                       | 22 ++++++-------\n utils/gen-controls.py                         | 32 +++++++++++++------\n 13 files changed, 81 insertions(+), 68 deletions(-)\n\n--\n2.34.1"}