{"id":15737,"url":"https://patchwork.libcamera.org/api/covers/15737/?format=json","web_url":"https://patchwork.libcamera.org/cover/15737/","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":"<20220427223004.115381-1-Rauch.Christian@gmx.de>","date":"2022-04-27T22:30:00","name":"[libcamera-devel,v4,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/15737/mbox/","series":[{"id":3080,"url":"https://patchwork.libcamera.org/api/series/3080/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3080","date":"2022-04-27T22:30:00","name":"generate and use fixed-sized Span Control types","version":4,"mbox":"https://patchwork.libcamera.org/series/3080/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/15737/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 905CEC3256\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 27 Apr 2022 22:30:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BA58D6564F;\n\tThu, 28 Apr 2022 00:30:10 +0200 (CEST)","from mout.gmx.net (mout.gmx.net [212.227.17.20])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1243160431\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 28 Apr 2022 00:30:08 +0200 (CEST)","from localhost.localdomain ([92.10.251.63]) by mail.gmx.net\n\t(mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id\n\t1M1HZi-1niCH70Dms-002rKa; Thu, 28 Apr 2022 00:30:07 +0200"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1651098610;\n\tbh=DqPR65r/8mdzD+fTTExX57Mc8Zye8aTU22ZB+Qb+arc=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=P4zYrWzBfvoy7ewb9psB3agWdSKoOVM+xMz+9obIjL6b8J75uitTmVsJW00/c6pdr\n\t1G0DI0udP9Fqb5Yt7AfYfO2yht3z2Canwvq9L9LkrcINwZz23fpqzjKP82IfT8PhJ+\n\tRBezmaR0cRmnQcaelMj0QPNk1//A5ZTxN/84Ceu2QGKFgjE1d4Zi4uCKvHuyuaQJhj\n\t0zR0QHqP1I2WH0AcMSnFGGjKHkZT3HzrmD956E89TOgH/1/4nhqUNy7vh+yh38/L3w\n\tuzxEY5OwaUab2VQReNY9jBfU8wp513J8uQfnMVXWt16ZjhWRXMqrxbJhS+LMYJm9Hd\n\tcCc7luMrWS1Qw==","v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;\n\ts=badeba3b8450; t=1651098607;\n\tbh=DqPR65r/8mdzD+fTTExX57Mc8Zye8aTU22ZB+Qb+arc=;\n\th=X-UI-Sender-Class:From:To:Cc:Subject:Date;\n\tb=TLqcyMTgrGg6WCWl7dae0q2iqNm5Cz+gl7xmF8MWcJvllEOQSQPa44gHAKt2ndbJE\n\tHlYIvyhnJmYbfcq9iBoZKlIaUOdhpYNgU20xI+yXxXwSfvnUR2qaUNDHOa7XhuAPpU\n\tm98ooy+pmKl4kz7sSZegzy8pyecoGxthiaN8SSI0="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=gmx.net header.i=@gmx.net\n\theader.b=\"TLqcyMTg\"; dkim-atps=neutral","X-UI-Sender-Class":"01bb95c1-4bf8-414a-932a-4f6e2808ef9c","To":"libcamera-devel@lists.libcamera.org","Date":"Wed, 27 Apr 2022 23:30:00 +0100","Message-Id":"<20220427223004.115381-1-Rauch.Christian@gmx.de>","X-Mailer":"git-send-email 2.34.1","MIME-Version":"1.0","X-Provags-ID":"V03:K1:lGXA0i1paf1g80R6m7fYXS3FrSS4hQfBQwjpb0YU/gZVU4boj/p\n\tF7FQ4AxdDHvd9jbGkBUUuli7KVzxuHeBIxT4EyJcNirhLX0fQslWzHL0uegysZQpErnWsIR\n\tJe3wlqksX53GCm8NskWZVamygYycPSLwxpK/lQ+sufjQkTtIdjRji56yeePXhja4Tg1/ZUg\n\tmyzdOJz4XTtD2WLvjJApA==","X-Spam-Flag":"NO","X-UI-Out-Filterresults":"notjunk:1; V03:K0:51qwJl7NNWQ=:DQ5mEpjrd/YBj1KCZxx5+0\n\tR0+LNkVkmJsV6W1vxm29luIFbf+4Nf6Nk9WaEj5xAWUpiehgdrEvKodysnc7jMnDsB4EH0eM7\n\t1MNlcuTcxcAjm4+GydXnbPyRFMCXDo1Qhng7Ftxgh5iY6hjUB9/7GFB1k8bQplttbC5z3M1wK\n\tt33+5paE+6MRkf/cdKzJxlz6kskjC/WShFIb6TUuekycU//YDlA3nhpQ4S9+wvouPEZkXb3ye\n\tPfU/Kts2E1afoQfJQsL9OCI8WxnFT1GDbcc/42BNcYsy2ffugXADIu8MSVW36KP2gR3ZwlEMi\n\tmY7GUbPFDZW66ScuWGsZIaDEYtXc1D5C4fidUxdeUPzkeojypASpZDBN4XYQUUbpWEa6UNsJy\n\ttLwo9F1nrnKbWQ8z2comy3tTllGTi2wjdgsaBMcocG0/G84lOohSULOsQtd729GZ1sRLDSU8l\n\tzw9ci7YtKMQbEio7xHTWO67b0gGQjTZXA8JldA7SujntGwyS1v32aGp6c+QoDGGA4vq6ba0nK\n\t4uJda+8ME+tfMyO3nIV3ianP8+4K1KVaYawH8ni/F5uD9HklW1iuTGu+xDOSQzlsppEJSaHsN\n\t8vvhvXyWbOsNjMBxyzyoO80+GXesXcHmxRqGq3JgNPKSfURRWFc+9aNSDReSap6JlXnMhW8RB\n\tzbD2ou0N/WRg7wQZujeQMiLiQJoTVaessBhaTNYxCOd/RBjLcGNbOZz09V+eKGY9gbubD8tE+\n\tL+psfgEdZ5EqdzFY+vBsGII0aLpfeP3JuuawmE5rw4mr+QFd26X7gATooMpONmHxSvLSsS22j\n\tzyDle+AAbd1W84MKk68KbmbpuBkjLs8A5QS3Fn8X9S8HeOeP0odyoc9g9cUSAgtMYwjC7KtXf\n\tNY37Ke02xcIci7powVDEil2MWF6Ex8UH13ECmi97BRyoTnHhpM9nz0U8kT053tt784jriSOWb\n\tMke3oPwpsC6/HTx/aWorqy8S1eFnlMK/Hu8c430xS15e7YUXKSGgmf5Zo5DKLOAkZmHQkglEQ\n\tYTCOmurms0qdnSw+cIa+eA15wmCjiOiadTu3Ol51CLQyPhZL2MZauEamZwwu40iLZv7+bphbF\n\ty6FhHQqGCpMWZ0=","Subject":"[libcamera-devel] [PATCH v4 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":"Hello,\n\nIn version 4 of this patch set I applied minor modification from feedback that I received so far. I reorderd the commits such that the \"std::optional\" commit appears first and can be used without the changes related to fixed-sized Spans.\n\nBest,\n\nChristian Rauch (4):\n  use std::optional to handle invalid control values\n  libcamera: controls: Define size of array controls as a shape vector\n  generate fixed- and variable-sized Span Controls\n  apply explicit fixed-sized Span type casts\n\n include/libcamera/controls.h                  |  7 ++--\n src/cam/main.cpp                              |  4 +--\n src/ipa/raspberrypi/raspberrypi.cpp           | 21 ++++++------\n src/libcamera/control_ids.yaml                |  2 +-\n src/libcamera/pipeline/ipu3/ipu3.cpp          |  9 +++---\n .../pipeline/raspberrypi/raspberrypi.cpp      | 10 +++---\n src/libcamera/property_ids.yaml               |  4 +--\n src/qcam/dng_writer.cpp                       | 15 +++++----\n utils/gen-controls.py                         | 32 +++++++++++++------\n 9 files changed, 61 insertions(+), 43 deletions(-)\n\n--\n2.34.1"}