[libcamera-devel] [PATCH v3 00/14] libcamera Controls
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Jul 1 01:38:03 CEST 2019
Hello,
Here's the third version of the libcamera controls series, taken over
from Kieran (with his consent and help).
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 04/14)
Kieran Bingham (9):
libcamera: Use 'files()' function to specify gen-header.sh
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 | 4 +-
include/libcamera/request.h | 3 +
src/libcamera/camera.cpp | 12 +
src/libcamera/camera_sensor.cpp | 10 +-
src/libcamera/controls.cpp | 532 +++++++++++++++++++++++
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 | 129 +++++-
src/libcamera/pipeline/vimc.cpp | 105 ++++-
src/libcamera/pipeline_handler.cpp | 19 +
src/libcamera/request.cpp | 15 +-
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, 1540 insertions(+), 55 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