[libcamera-devel,v2,0/4] libcamera: Improve handling of fixed-size array controls
mbox series

Message ID 20221006230747.11688-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • libcamera: Improve handling of fixed-size array controls
Related show

Message

Laurent Pinchart Oct. 6, 2022, 11:07 p.m. UTC
Hello,

This patch series builds up on top of Christian's "libcamera: controls:
Generate and use fixed-sized Span types" patch to improve support of
fixed-size array controls. It started as an itch I wanted to scratch,
being bothered by the explicit Span construction in the Raspberry Pi IPA
module.

The series starts with patch 1/4 that refactors the gen-controls.py
script to make it (hopefully) more readable, without any functional
change. Patch 2/4 then improves the YAML notation for variable-size
array controls, and patch 3/4 improves the Control::set() function to
construct the Span using the size provided by the Control class
definition. The result is patch 4/4, which reverts usage of the explicit
Span constructor in the Rapsberry Pi IPA module.

Compared to v1, the intrusive 3/4 patch got replaced with a much simpler
version.

Laurent Pinchart (4):
  utils: gen-controls: Factor out YAML data handling in classes
  utils: gen-controls: Improve YAML notation for variable-size array
    controls
  libcamera: controls: Construct Span with size for array controls
  ipa: raspberrypi: Remove unneeded Span casts

 include/libcamera/controls.h        |   6 +-
 src/ipa/raspberrypi/raspberrypi.cpp |  19 ++-
 src/libcamera/control_ids.yaml      |   2 +-
 src/libcamera/controls.cpp          |   2 +-
 src/libcamera/property_ids.yaml     |   4 +-
 utils/gen-controls.py               | 175 ++++++++++++++++++++--------
 6 files changed, 141 insertions(+), 67 deletions(-)


base-commit: 8c2b092a20ec0c6bcfc4af489fb6b4b7ab656d63