[libcamera-devel] [PATCH v4 00/16] libcamera: Add support for format information and validation
Niklas Söderlund
niklas.soderlund at ragnatech.se
Wed Jun 19 12:30:38 CEST 2019
Hi,
I have addressed Laurent's comments on this series and push this series
to master. Thanks all for your great review effort!
On 2019-06-19 04:51:13 +0200, Niklas Söderlund wrote:
> Hi,
>
> This series aim to add support for format information exposed to
> applications and to ease format validation by allowing formats to be
> enumerate on v4l2 devices. The series also enhance the format
> enumeration of v4l2 subdevices. Further more it extends the cam utility
> to demonstrate the usage of how formats can examined and validated.
>
> One shortcoming of this series is that it only extends the uvcvideo
> pipeline with code to gather format information and perform validation.
> This however do not impact other existing pipeline handlers as they keep
> functioning as before this series. That is no format information can be
> retrieved and format validation is still supported all yet as simple as
> before this series.
>
> * Changes since v3
> - Fix grammar and spelling in documentation.
> - Extend documentation, thanks Laurent!
> - Change error of ImageFormats::addFormat() from -EBUSY to -ESXIST.
> - Added \todo notes where computed lists could potentially be cached in
> the future.
> - Catch the error from V4L2Device::enumSizes() in V4L2Device::formats()
> - Move infoConfiguration() into CamApp::infoConfiguration().
>
> * Changes since v2
> - Correct spelling and grammar in documentation, thanks Jacopo!
> - Removed unneeded empty constructor ImageFormats::ImageFormats()
> - Rearranged order of data accessors in ImageFormats per Jacopo's
> suggestions.
> - s|\returns|\return|
> - Fix segfault when running cam -I without a camera.
>
> Niklas Söderlund (16):
> libcamera: geometry: SizeRange: Add constructor for a single size
> libcamera: geometry: SizeRange: Extend with step information
> libcamera: geometry: SizeRange: Add toString()
> libcamera: geometry: SizeRange: Add contains()
> libcamera: formats: Add ImageFormats
> libcamera: v4l2_subdevice: Breakout mbus code enumeration
> libcamera: v4l2_subdevice: Rework enumPadSizes()
> libcamera: v4l2_subdevice: Replace FormatEnum with ImageFormats
> libcamera: v4l2_device: Add enumeration of pixelformats and frame
> sizes
> libcamera: stream: Add StreamFormats
> libcamera: stream: StreamConfiguration: Add StreamFormats information
> test: stream: Add test for StreamFormat
> cam: Move camera configuration preparation to CamApp
> cam: Validate camera configuration
> cam: Add --info option to print information about stream(s)
> libcamera: pipeline: uvcvideo: Add format information and validation
>
> include/libcamera/geometry.h | 24 ++-
> include/libcamera/stream.h | 24 ++-
> src/cam/capture.cpp | 84 +-------
> src/cam/capture.h | 7 +-
> src/cam/main.cpp | 129 ++++++++++++-
> src/cam/main.h | 1 +
> src/libcamera/camera_sensor.cpp | 14 +-
> src/libcamera/formats.cpp | 90 ++++++++-
> src/libcamera/geometry.cpp | 86 ++++++++-
> src/libcamera/include/formats.h | 14 +-
> src/libcamera/include/v4l2_device.h | 5 +
> src/libcamera/include/v4l2_subdevice.h | 7 +-
> src/libcamera/pipeline/uvcvideo.cpp | 41 +++-
> src/libcamera/stream.cpp | 255 +++++++++++++++++++++++++
> src/libcamera/v4l2_device.cpp | 114 +++++++++++
> src/libcamera/v4l2_subdevice.cpp | 113 ++++++-----
> test/meson.build | 1 +
> test/stream/meson.build | 11 ++
> test/stream/stream_formats.cpp | 101 ++++++++++
> test/v4l2_subdevice/list_formats.cpp | 16 +-
> 20 files changed, 957 insertions(+), 180 deletions(-)
> create mode 100644 test/stream/meson.build
> create mode 100644 test/stream/stream_formats.cpp
>
> --
> 2.21.0
>
--
Regards,
Niklas Söderlund
More information about the libcamera-devel
mailing list