{"id":16170,"url":"https://patchwork.libcamera.org/api/covers/16170/?format=json","web_url":"https://patchwork.libcamera.org/cover/16170/","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":"<20220604211148.188421-1-Rauch.Christian@gmx.de>","date":"2022-06-04T21:11:43","name":"[libcamera-devel,v7,0/5] 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/16170/mbox/","series":[{"id":3162,"url":"https://patchwork.libcamera.org/api/series/3162/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3162","date":"2022-06-04T21:11:43","name":"generate and use fixed-sized Span Control types","version":7,"mbox":"https://patchwork.libcamera.org/series/3162/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/16170/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 6DE3CBD160\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat,  4 Jun 2022 21:11:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6B15165639;\n\tSat,  4 Jun 2022 23:11:53 +0200 (CEST)","from mout.gmx.net (mout.gmx.net [212.227.15.15])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 79AAF633A6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat,  4 Jun 2022 23:11:51 +0200 (CEST)","from localhost.localdomain ([92.18.80.244]) by mail.gmx.net\n\t(mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id\n\t1Ml6qM-1nVzUA3wOC-00lYqt; Sat, 04 Jun 2022 23:11:51 +0200"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1654377113;\n\tbh=j/Wp4QwTAaSIuLqXrmf91AQAhGfQ9eo5wHBD1Palp8w=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=HvmpgoH+tPO3ZIOI/5v8tRNGMWhA1Lqvez31m4+jSnWvZSGk1NZ3CiAYsABc/bg+6\n\tGolLXhrq2W4tmOulZVkq372FDYJ/yKWBUsztDqI6Uo30Fwc6TQkT4mZ3P38jW8iZvg\n\tBNUsuaRbbY1TM5Kt2YU1Wbf4fi/qYkiC+D1KkFwYtlu8G6OCvl2ax49ULtsjrjybJ7\n\tVZFiqPWRvehqoHfOJsjYUOLFJwDohtho5HjYxXn9Z2j6mHtYHU52CyiCiIvEGG8IK4\n\tDASSKdYLLLQkNbtStZIgmrD1Vwse1brVr5BmJlTDhHY20Kd7MtIxuAJV5vHInJ+H4b\n\tR0oEjXpGXfSvw==","v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;\n\ts=badeba3b8450; t=1654377111;\n\tbh=j/Wp4QwTAaSIuLqXrmf91AQAhGfQ9eo5wHBD1Palp8w=;\n\th=X-UI-Sender-Class:From:To:Cc:Subject:Date;\n\tb=JFY5CewWPadFGSE4vVgpIuqpR7JSClAuoMyld1y8Y0jYwOx9V8A9CEJIiWx07Bzkk\n\tL+cIyWM/3uOL6FWzDzMa4ZwHLYgjD/EXOXUoswOnPLMdZ3fnrxVdtoXI37qc5+eN+j\n\t7k0KFlSaKtW0PyfIS/NTeEOBRhaXds/s6KFiIKVY="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=gmx.net header.i=@gmx.net\n\theader.b=\"JFY5CewW\"; dkim-atps=neutral","X-UI-Sender-Class":"01bb95c1-4bf8-414a-932a-4f6e2808ef9c","To":"libcamera-devel@lists.libcamera.org","Date":"Sat,  4 Jun 2022 22:11:43 +0100","Message-Id":"<20220604211148.188421-1-Rauch.Christian@gmx.de>","X-Mailer":"git-send-email 2.34.1","MIME-Version":"1.0","X-Provags-ID":"V03:K1:GwCvCEi+r4mBkY7vnkrLXuOiYUwMVXaZ4MXPgcY7/RfIMDWgDIW\n\tyqTgskwKUXEpruX6ETRZMUe3ny0z1qEhZUebwdyCEDd2oYxqwrb34WxlfIzMkAy6U+O5YCp\n\tBHQG9fva67P6QXDcdkeFUr5VFta0MU7IZr2zzsswjl4GpeiDVc01cD+ET75wJ4TZiP0z9Mf\n\t8e/nnsHc5+6udIx2D6iww==","X-Spam-Flag":"NO","X-UI-Out-Filterresults":"notjunk:1; V03:K0:6RKO7n2/BtI=:MtjdHUDsjuRn1rm+8nwFgN\n\tocuyS6008KhBzmPa7eZeSOkNJJw2uJRwUYJkHUPfpxn1IgoFMnTfFATPyuj4xAduk4HMeoQ5F\n\t4dUHpiQlSXxIzQLXX7dYEOxRCgsB2GmJMq3glZPi18hcmo9IFls2lmTAUGL4nDcGlsUlluc1P\n\tfuMq5YhqfAvqXueh+PGOXDBFIOk6BmLF0SXLPQu18GcIDncr0nhtkwt8AImdWeHB0E4vbuP4I\n\t3cdwxyWdKbMDDuG6X0QELZlJeWMqP9Hjbj45J/5diT80xACVHO/Zew1PpPGEsbXObb1q55cX8\n\tuylryEhVWldh8c5vhDk9gXG2+v8ICj3QqI/wx15B2pSm2dldLc1V71rlSoO+gYiw7w++ZVbsr\n\ttQNxgxZ1eOwwwODH3A8SXVTugMQ3qA1WOh2J/3mi2sY9WQhNZbP4nHjfazJwxvrLnZF49kmyH\n\tJGuCP8msXMeB6wM3C00tkb+N+9xYargcxSiTRDAz/ZkTwKEyi3EjPSD/1dcJXRxJWXjaD/+N7\n\tM4902N5LsOxmOqVbfXhdJBflBUnfpEvzxPX2bLAI1CKnhppkroO+5IwoPtzKxh30jPxDuRQOv\n\ta77a8f6raqR+uv/FV9xfUBQBEOFkhgaS8FSTvHvRijeFhx4lNlK66/BZXGbiaxMwAckIHPode\n\tw/lSSW7BCY1ol+r4GnqVmxPhlEkeVkpT8e1pdl4vrsqRKzCRQsPR8yL/FJb4OXvLjGCz5RX+3\n\tAHrkb9GQazI0FHYeiEV09yGtqs4UFo6bRjlQ9GpcDItGsCkbnQhiM0JE5VfA/WqT9n4joOlng\n\tZeBnXBT7GA0vnOOGjDO7tSWnj0Kiajeb+/Sg5ZGjxaCDDZcCsWKiQ0pWzKWdbQnDxTpx2yDkB\n\t4lcJijN2Hv36eEnGNbdjpeL4gcj4CgX3sytjC3cvX8+Rv5kI4Ae3eP/rozBvOBs5/xzfLO1Bh\n\tgeeyE0Vd8m8c6azQ/YhXbE6YVzMCIUshQtN7ZD3OFKxipodASyhloxbz77NIl365L7htPG6v3\n\tTAmrKbcja5Tmt+ZvYxSMPMVSL/Qh+z/iRlGhe0k5sW3WA9IAUulduveKu4GUPNNIdTT6yyFMU\n\tIYyeOvfFqzsOeuoz5NV3m6DTQYtxEQsDkE5XK2aQKFFp6TbuPz1ONznTA==","Subject":"[libcamera-devel] [PATCH v7 0/5] 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":"Hello,\n\nCompared to the previous version, this 1) avoids a couple of more \"value_or\" fallbacks if the validity of a control value or property was previously checked with \"contains\" and 2) avoids references to potential invalid control values or properties. The last point fixes compiler errors reported by clang.\n\nBest,\n\nChristian Rauch (5):\n  libcamera: controls: Use std::optional to handle invalid control\n    values\n  libcamera: ipu3: Fix rogue whitespace\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/ipa/raspberrypi/raspberrypi.cpp           | 21 ++++++------\n src/libcamera/control_ids.yaml                |  4 +--\n src/libcamera/pipeline/ipu3/ipu3.cpp          | 11 +++----\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 12 files changed, 81 insertions(+), 68 deletions(-)\n\n--\n2.34.1"}