[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