[libcamera-devel,v3,0/7] Vendor controls and properties
mbox series

Message ID 20231124123713.22519-1-naush@raspberrypi.com
Headers show
Series
  • Vendor controls and properties
Related show

Message

Naushir Patuck Nov. 24, 2023, 12:37 p.m. UTC
Hi all,

Few changes from v2 in this series:

- Tidy-ups and applied all suggested changes from Laurent and Jacopo.
- Reworked the meson.build logic for how controls and propoerties are
  auto-generated.  Everything now goes through a single table.
- Renamed control_ids.yaml to control_ids_core.yaml.  Ditto for properties.

Hope I've captured all the feedback, but if I've missed anything, please let me
know.

Regards,
Naush

Naushir Patuck (7):
  controls: Add vendor control/property support to generation scripts
  controls: Update argument handling for controls generation scripts
  build: controls: Rework how controls and properties are generated
  libcamera: control: Add vendor control id range reservation
  libcamera: controls: Use vendor tags for draft controls and properties
  build: controls: Add Raspberry Pi vendor specific controls
  documentation: Document vendor specific controls and properties
    handling

 Documentation/guides/pipeline-handler.rst     |  56 +++-
 include/libcamera/control_ids.h.in            |   6 +-
 include/libcamera/meson.build                 |  59 ++++-
 include/libcamera/property_ids.h.in           |   8 +-
 meson.build                                   |   2 +
 src/ipa/rpi/common/ipa_base.cpp               |   2 +-
 src/ipa/rpi/vc4/vc4.cpp                       |   2 +-
 src/libcamera/control_ids.cpp.in              |  14 +-
 ...control_ids.yaml => control_ids_core.yaml} | 233 +----------------
 src/libcamera/control_ids_draft.yaml          | 240 ++++++++++++++++++
 src/libcamera/control_ids_rpi.yaml            |  17 ++
 src/libcamera/control_ranges.yaml             |  18 ++
 src/libcamera/meson.build                     |  25 +-
 src/libcamera/property_ids.cpp.in             |  14 +-
 ...operty_ids.yaml => property_ids_core.yaml} |  34 +--
 src/libcamera/property_ids_draft.yaml         |  39 +++
 src/py/libcamera/gen-py-controls.py           |  86 ++++---
 src/py/libcamera/meson.build                  |  26 +-
 src/py/libcamera/py_controls_generated.cpp.in |   6 +-
 .../libcamera/py_properties_generated.cpp.in  |   4 +-
 utils/gen-controls.py                         | 140 ++++++----
 21 files changed, 615 insertions(+), 416 deletions(-)
 rename src/libcamera/{control_ids.yaml => control_ids_core.yaml} (79%)
 create mode 100644 src/libcamera/control_ids_draft.yaml
 create mode 100644 src/libcamera/control_ids_rpi.yaml
 create mode 100644 src/libcamera/control_ranges.yaml
 rename src/libcamera/{property_ids.yaml => property_ids_core.yaml} (96%)
 create mode 100644 src/libcamera/property_ids_draft.yaml