[libcamera-devel,RFC,00/14] Preliminary FULL plumbing
mbox series

Message ID 20210618103351.1642060-1-paul.elder@ideasonboard.com
Headers show
Series
  • Preliminary FULL plumbing
Related show

Message

Paul Elder June 18, 2021, 10:33 a.m. UTC
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)

Patch 1/14 has the plumbing for capability detection. It does not need
to be reviewed; it is only included for dependency resolution.

Patches 2/14 to 5/14 add the necessary controls.

Patches 2/14 and 6/14 to 9/14 plumb the controls into the HAL. They all
plumb into the static metadata, and only a few into the result metadata.

Patches 10/14 to 14/14 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 10/14 to 14/14 on IPU3, just one layer over.

I hope that the patches for the HAL plumbing can give us some insight to
the requirements of the refactor capability manager.

Paul Elder (14):
  android: Add infrastructure for determining capabilities and hardware
    level
  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
  FULL: pipeline: ipu3: Set MaxLatency ControlInfo
  FULL: pipeline: ipu3: Set AeEnable ControlInfo
  FULL: pipeline: ipu3: Set AeLock ControlInfo
  FULL: pipeline: ipu3: Set AwbMode ControlInfo
  FULL: pipeline: ipu3: Set AwbLock ControlInfo

 include/libcamera/ipa/raspberrypi.h  |   1 -
 src/android/camera_device.cpp        | 121 ++++++++++++---
 src/ipa/raspberrypi/raspberrypi.cpp  |  32 ++--
 src/ipa/rkisp1/rkisp1.cpp            |  13 +-
 src/libcamera/control_ids.yaml       | 220 +++++++++++++++++----------
 src/libcamera/pipeline/ipu3/ipu3.cpp |   5 +
 test/controls/control_list.cpp       |   6 +-
 7 files changed, 262 insertions(+), 136 deletions(-)