[libcamera-devel] [PATCH 00/17] libcamera: Add support for format information and validation
Niklas Söderlund
niklas.soderlund at ragnatech.se
Mon May 27 02:15:26 CEST 2019
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.
Niklas Söderlund (17):
meson: Allow partially initializing objects
libcamera: geometry: SizeRange: Add constructor for a single size
libcamera: geometry: SizeRange: Extend with stepping information
libcamera: geometry: SizeRange: Add toString()
libcamera: formats: Add V4L2DeviceFormats and V4L2DeviceFormats
libcamera: v4l2_subdevice: Breakout mbus code enumeration
libcamera: v4l2_subdevice: Rework enumPadSizes()
libcamera: v4l2_subdevice: Replace FormatEnum with
V4L2SubdeviceFormats
libcamera: v4l2_device: Add enumeration of pixelformats and frame
sizes
libcamera: stream: Define log object
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 | 22 ++-
include/libcamera/stream.h | 24 ++-
meson.build | 1 +
src/cam/capture.cpp | 84 +--------
src/cam/capture.h | 7 +-
src/cam/info.cpp | 44 +++++
src/cam/info.h | 18 ++
src/cam/main.cpp | 95 +++++++++-
src/cam/main.h | 1 +
src/cam/meson.build | 1 +
src/libcamera/camera_sensor.cpp | 12 +-
src/libcamera/formats.cpp | 159 +++++++++++++++-
src/libcamera/geometry.cpp | 66 +++++++
src/libcamera/include/formats.h | 35 +++-
src/libcamera/include/v4l2_device.h | 5 +
src/libcamera/include/v4l2_subdevice.h | 7 +-
src/libcamera/pipeline/uvcvideo.cpp | 46 ++++-
src/libcamera/stream.cpp | 239 +++++++++++++++++++++++++
src/libcamera/v4l2_device.cpp | 104 +++++++++++
src/libcamera/v4l2_subdevice.cpp | 98 +++++-----
test/meson.build | 1 +
test/stream/meson.build | 11 ++
test/stream/stream_formats.cpp | 102 +++++++++++
test/v4l2_subdevice/list_formats.cpp | 10 +-
24 files changed, 1026 insertions(+), 166 deletions(-)
create mode 100644 src/cam/info.cpp
create mode 100644 src/cam/info.h
create mode 100644 test/stream/meson.build
create mode 100644 test/stream/stream_formats.cpp
--
2.21.0
More information about the libcamera-devel
mailing list