{"id":1450,"url":"https://patchwork.libcamera.org/api/1.1/covers/1450/?format=json","web_url":"https://patchwork.libcamera.org/cover/1450/","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":"<20190619025129.21164-1-niklas.soderlund@ragnatech.se>","date":"2019-06-19T02:51:13","name":"[libcamera-devel,v4,00/16] libcamera: Add support for format information and validation","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/1.1/people/5/?format=json","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"mbox":"https://patchwork.libcamera.org/cover/1450/mbox/","series":[{"id":361,"url":"https://patchwork.libcamera.org/api/1.1/series/361/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=361","date":"2019-06-19T02:51:13","name":"libcamera: Add support for format information and validation","version":4,"mbox":"https://patchwork.libcamera.org/series/361/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/1450/comments/","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from bin-mail-out-05.binero.net (bin-mail-out-05.binero.net\n\t[195.74.38.228])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3B2FD61A21\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Jun 2019 04:52:23 +0200 (CEST)","from bismarck.berto.se (unknown [89.233.230.99])\n\tby bin-vsp-out-01.atm.binero.net (Halon) with ESMTPA\n\tid 31296ce7-923d-11e9-8ab4-005056917a89;\n\tWed, 19 Jun 2019 04:52:08 +0200 (CEST)"],"X-Halon-ID":"31296ce7-923d-11e9-8ab4-005056917a89","Authorized-sender":"niklas@soderlund.pp.se","From":"=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","To":"libcamera-devel@lists.libcamera.org","Date":"Wed, 19 Jun 2019 04:51:13 +0200","Message-Id":"<20190619025129.21164-1-niklas.soderlund@ragnatech.se>","X-Mailer":"git-send-email 2.21.0","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v4 00/16] libcamera: Add support for\n\tformat information and validation","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","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>","X-List-Received-Date":"Wed, 19 Jun 2019 02:52:23 -0000"},"content":"Hi,\n\nThis series aim to add support for format information exposed to\napplications and to ease format validation by allowing formats to be\nenumerate on v4l2 devices. The series also enhance the format\nenumeration of v4l2 subdevices. Further more it extends the cam utility\nto demonstrate the usage of how formats can examined and validated.\n\nOne shortcoming of this series is that it only extends the uvcvideo\npipeline with code to gather format information and perform validation.\nThis however do not impact other existing pipeline handlers as they keep\nfunctioning as before this series. That is no format information can be\nretrieved and format validation is still supported all yet as simple as\nbefore this series.\n\n* Changes since v3\n- Fix grammar and spelling in documentation.\n- Extend documentation, thanks Laurent!\n- Change error of ImageFormats::addFormat() from -EBUSY to -ESXIST.\n- Added \\todo notes where computed lists could potentially be cached in \n  the future.\n- Catch the error from V4L2Device::enumSizes() in V4L2Device::formats()\n- Move infoConfiguration() into CamApp::infoConfiguration().\n\n* Changes since v2\n- Correct spelling and grammar in documentation, thanks Jacopo!\n- Removed unneeded empty constructor ImageFormats::ImageFormats()\n- Rearranged order of data accessors in ImageFormats per Jacopo's\n  suggestions.\n- s|\\returns|\\return|\n- Fix segfault when running cam -I without a camera.\n\nNiklas Söderlund (16):\n  libcamera: geometry: SizeRange: Add constructor for a single size\n  libcamera: geometry: SizeRange: Extend with step information\n  libcamera: geometry: SizeRange: Add toString()\n  libcamera: geometry: SizeRange: Add contains()\n  libcamera: formats: Add ImageFormats\n  libcamera: v4l2_subdevice: Breakout mbus code enumeration\n  libcamera: v4l2_subdevice: Rework enumPadSizes()\n  libcamera: v4l2_subdevice: Replace FormatEnum with ImageFormats\n  libcamera: v4l2_device: Add enumeration of pixelformats and frame\n    sizes\n  libcamera: stream: Add StreamFormats\n  libcamera: stream: StreamConfiguration: Add StreamFormats information\n  test: stream: Add test for StreamFormat\n  cam: Move camera configuration preparation to CamApp\n  cam: Validate camera configuration\n  cam: Add --info option to print information about stream(s)\n  libcamera: pipeline: uvcvideo: Add format information and validation\n\n include/libcamera/geometry.h           |  24 ++-\n include/libcamera/stream.h             |  24 ++-\n src/cam/capture.cpp                    |  84 +-------\n src/cam/capture.h                      |   7 +-\n src/cam/main.cpp                       | 129 ++++++++++++-\n src/cam/main.h                         |   1 +\n src/libcamera/camera_sensor.cpp        |  14 +-\n src/libcamera/formats.cpp              |  90 ++++++++-\n src/libcamera/geometry.cpp             |  86 ++++++++-\n src/libcamera/include/formats.h        |  14 +-\n src/libcamera/include/v4l2_device.h    |   5 +\n src/libcamera/include/v4l2_subdevice.h |   7 +-\n src/libcamera/pipeline/uvcvideo.cpp    |  41 +++-\n src/libcamera/stream.cpp               | 255 +++++++++++++++++++++++++\n src/libcamera/v4l2_device.cpp          | 114 +++++++++++\n src/libcamera/v4l2_subdevice.cpp       | 113 ++++++-----\n test/meson.build                       |   1 +\n test/stream/meson.build                |  11 ++\n test/stream/stream_formats.cpp         | 101 ++++++++++\n test/v4l2_subdevice/list_formats.cpp   |  16 +-\n 20 files changed, 957 insertions(+), 180 deletions(-)\n create mode 100644 test/stream/meson.build\n create mode 100644 test/stream/stream_formats.cpp"}