[libcamera-devel] [RFC PATCH 00/14] Preliminary FULL plumbing

Paul Elder paul.elder at ideasonboard.com
Fri Jun 18 12:33:37 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)

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(-)

-- 
2.27.0



More information about the libcamera-devel mailing list