[libcamera-devel] [PATCH v4 00/13] libcamera Controls
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Jul 1 22:14:51 CEST 2019
Hello,
Here's the fourth version of the libcamera controls series, taken over
from Kieran (with his consent and help).
Compared to v3, no major rework has occurred. Please see individual
patches for a description of the small typo fixes, documentation updates
or small API changes.
The main API changes since v2 are
- The Value class has been renamed to ControlValue
- The ControlList class is now indexed by ControlInfo pointer instead of
instance
- The ControlList class is constructed for a camera, and looks up
ControlInfo from that camera
- The V4L2ControlInfo class now exposes the min and max values
- The Camera has a new method to expose all the controls it supports
Notable changes are also file renames (control_definitions.h ->
control_ids.h and control_definitions.cpp -> control_types.cpp), dynamic
query of supported controls in the UVC pipeline handler, control support
in the VIMC pipeline handler and handling of control minimum/maximum
values in the qcam proof-of-concept patch.
Todo items include
- Better documentation for the initial controls
- Integer type handling for ControlValue (see patch 03/13)
Kieran Bingham (8):
libcamera: controls: Introduce control-related data types
libcamera: camera: Provide a list of ControlInfo
libcamera: request: Add a ControlList
libcamera: pipeline: uvcvideo: Add controls support
libcamera: test: Add ControlValue test
libcamera: test: Add ControlInfo test
libcamera: test: Add ControlList tests
[PoC] QCam: Control demo: A SineWave Brightness
Laurent Pinchart (5):
libcamera: v4l2_controls: Add min and max to V4L2ControlInfo
libcamera: v4l2_device: Add method to retrieve all supported controls
libcamera: controls: Extend ControlList to access controls by ID
libcamera: controls: Add a set of initial controls
libcamera: pipeline: vimc: Add controls support
Documentation/Doxyfile.in | 3 +-
include/libcamera/camera.h | 3 +
include/libcamera/control_ids.h | 41 ++
include/libcamera/controls.h | 138 ++++++
include/libcamera/meson.build | 2 +
include/libcamera/request.h | 3 +
src/libcamera/camera.cpp | 12 +
src/libcamera/camera_sensor.cpp | 10 +-
src/libcamera/controls.cpp | 552 +++++++++++++++++++++++
src/libcamera/gen-controls.awk | 106 +++++
src/libcamera/include/camera_sensor.h | 5 +-
src/libcamera/include/pipeline_handler.h | 4 +
src/libcamera/include/v4l2_controls.h | 12 +-
src/libcamera/include/v4l2_device.h | 9 +-
src/libcamera/meson.build | 11 +
src/libcamera/pipeline/uvcvideo.cpp | 124 ++++-
src/libcamera/pipeline/vimc.cpp | 107 ++++-
src/libcamera/pipeline_handler.cpp | 19 +
src/libcamera/request.cpp | 12 +-
src/libcamera/v4l2_controls.cpp | 19 +
src/libcamera/v4l2_device.cpp | 25 +-
src/qcam/main_window.cpp | 29 +-
src/qcam/main_window.h | 3 +
test/controls/control_info.cpp | 62 +++
test/controls/control_list.cpp | 213 +++++++++
test/controls/control_value.cpp | 69 +++
test/controls/meson.build | 13 +
test/meson.build | 1 +
28 files changed, 1557 insertions(+), 50 deletions(-)
create mode 100644 include/libcamera/control_ids.h
create mode 100644 include/libcamera/controls.h
create mode 100644 src/libcamera/controls.cpp
create mode 100755 src/libcamera/gen-controls.awk
create mode 100644 test/controls/control_info.cpp
create mode 100644 test/controls/control_list.cpp
create mode 100644 test/controls/control_value.cpp
create mode 100644 test/controls/meson.build
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list