[libcamera-devel] [RFC PATCH v3 00/16] Preliminary FULL plumbing
Paul Elder
paul.elder at ideasonboard.com
Fri Jul 2 12:37:44 CEST 2021
This patch series adds controls and plumbing necessary for 5 controls to
satisfy FULL requirements:
- AeLock
- AeEnable (AE_MODE)
- AwbLock
- AwbMode
- MaxLatency (SYNC_MAX_LATENCY)
v2 has been skipped.
New in v3, 1/16 adds a constructor for ControlInfo that takes boolean
values.
Patch 2/16 has the plumbing for capability detection.
New in v3, patch 3/16 adds helpers for setting android metadata for
libcamera controls, to help keep the HAL capability tracking cleaner.
Patches 4/16 to 7/16 add the necessary controls.
Patches 4/16 and 8/16 to 11/16 plumb the controls into the HAL. They all
plumb into the static metadata, and only a few into the result metadata.
Patches 12/16 to 16/16 plumb the controls into the IPU3 pipeline
handler.
As for IPA capability discovery, I think we can simply do an extension
of what I have on 12/16 to 16/16 on IPU3, just one layer over.
It was hard to gauge the desires for the lock controls, so there aren't
really any changes there.
Paul Elder (16):
controls: Add boolean constructor for ControlInfo
android: Add infrastructure for determining capabilities and hardware
level
android: Add helpers for setting android metadata from libcamera
controls
android, controls: Add and plumb MaxLatency control
controls: Replace AeLocked with AeState, and add AeLock
controls: Replace AwbEnable with AwbMode
controls: Replace AwbLocked with AwbState, and add AwbLock
android: Plumb AeEnable control
android: Plumb AeLock control
android: Plumb AwbMode control
android: Plumb AwbLock control
pipeline: ipu3: Set MaxLatency ControlInfo
FULL: pipeline: ipu3: Set AeEnable ControlInfo
pipeline: ipu3: Set AeLock ControlInfo
pipeline: ipu3: Set AwbMode ControlInfo
pipeline: ipu3: Set AwbLock ControlInfo
include/libcamera/controls.h | 1 +
include/libcamera/ipa/raspberrypi.h | 1 -
src/android/camera_capabilities.cpp | 266 +++++++++++++++++++++++----
src/android/camera_device.cpp | 6 +-
src/ipa/raspberrypi/raspberrypi.cpp | 32 ++--
src/ipa/rkisp1/rkisp1.cpp | 13 +-
src/libcamera/control_ids.yaml | 220 +++++++++++++---------
src/libcamera/controls.cpp | 20 ++
src/libcamera/pipeline/ipu3/ipu3.cpp | 6 +
test/controls/control_list.cpp | 6 +-
10 files changed, 424 insertions(+), 147 deletions(-)
--
2.27.0
More information about the libcamera-devel
mailing list