[libcamera-devel,00/10] Merge V4L2ControlInfoMap and ControlInfoMap
mbox series

Message ID 20191013232755.3292-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • Merge V4L2ControlInfoMap and ControlInfoMap
Related show

Message

Laurent Pinchart Oct. 13, 2019, 11:27 p.m. UTC
Hello,

The subject says it all :-)

This series is (hopefully) the last step in the generalisation of
control support. It removes V4L2ControlInfo, V4L2ControlInfoMap and
V4L2ControlList classes, and move their features to core control classes
(after generalising them properly of course).

The only two remaining control classes specific to V4L2 are
V4L2ControlId and V4L2ControlRange, only for the purpose of constructing
a ControlId and ControlRange respectively from a struct
v4l2_query_ext_ctrl.

Thanks to Jacopo for his initial work on this topic, which I have taken,
reworked and extended.

Please see individual patches for details.

Jacopo Mondi (1):
  libcamera: v4l2_controls: Move V4L2ControlId out of V4L2ControlInfo

Laurent Pinchart (9):
  libcamera: v4l2_controls: Remove V4L2ControlInfo::size()
  libcamera: controls: Prevent copies of ControlId class
  libcamera: v4l2_controls: Index V4L2ControlInfoMap by ControlId *
  test: v4l2_videodevice: controls: Use correct control range in check
  libcamera: v4l2_controls: Replace V4L2ControlInfo with
    V4L2ControlRange
  libcamera: v4l2_controls: Store a ControlRange in V4L2ControlInfoMap
  libcamera: v4l2_controls: Derive V4L2ControlInfoMap from
    ControlInfoMap
  libcamera: controls: Merge ControlInfoMap and V4L2ControlInfoMap
  libcamera: v4l2_controls: Remove V4L2ControlList class

 include/ipa/ipa_interface.h              |   2 +-
 include/libcamera/controls.h             |  53 +++++++-
 src/ipa/ipa_vimc.cpp                     |   2 +-
 src/ipa/rkisp1/rkisp1.cpp                |  16 +--
 src/libcamera/camera_sensor.cpp          |   2 +-
 src/libcamera/controls.cpp               | 149 ++++++++++++++++++++++-
 src/libcamera/include/camera_sensor.h    |   4 +-
 src/libcamera/include/v4l2_controls.h    |  50 +-------
 src/libcamera/include/v4l2_device.h      |   9 +-
 src/libcamera/pipeline/ipu3/ipu3.cpp     |   2 +-
 src/libcamera/pipeline/rkisp1/rkisp1.cpp |  11 +-
 src/libcamera/pipeline/uvcvideo.cpp      |  18 +--
 src/libcamera/pipeline/vimc.cpp          |  17 +--
 src/libcamera/proxy/ipa_proxy_linux.cpp  |   2 +-
 src/libcamera/v4l2_controls.cpp          |  97 ++-------------
 src/libcamera/v4l2_device.cpp            |  40 +++---
 test/v4l2_videodevice/controls.cpp       |  28 ++---
 17 files changed, 289 insertions(+), 213 deletions(-)