[PATCH v3 0/8] AEGC controls

Paul Elder paul.elder at ideasonboard.com
Wed Nov 13 14:12:48 CET 2024


This patch series introduces a new set of AEGC controls that allow:
- flicker avoidance when switching from auto to manual
- shutter priority / gain priority

To achieve this, we remove the existing AeEnable control and add two
separate controls that control enabling/disabling auto-exposure and
auto-gain. The definition of AeState is also made more concrete. The
first two patches add the new controls, as well as documentation and
design rationale.

The rest of the patches naturally update the existing users of AeEnable,
before finally removing the control altogether.

Thanks,

Paul

Jacopo Mondi (4):
  libcamera: uvcvideo: Register ExposureTimeMode control
  test: ipa_data_serialization: Use ExposureTimeMode
  ipa: raspberry: Port to the new AEGC controls
  controls: Remove AeEnable and AeLocked

Paul Elder (4):
  controls: Introduce AEGC-related controls
  Documentation: design: ae: Document the design for AE controls
  ipa: rkisp1: Port to the new AEGC controls
  gstreamer: Generate the new AEGC controls

 Documentation/design/ae.rst                   | 348 ++++++++++++++++++
 src/ipa/rkisp1/algorithms/agc.cpp             |  68 +++-
 src/ipa/rkisp1/ipa_context.cpp                |  14 +-
 src/ipa/rkisp1/ipa_context.h                  |   6 +-
 src/ipa/rpi/common/ipa_base.cpp               |  74 +++-
 src/ipa/rpi/controller/agc_algorithm.h        |   8 +-
 src/ipa/rpi/controller/rpi/agc.cpp            |  52 ++-
 src/ipa/rpi/controller/rpi/agc.h              |   8 +-
 src/ipa/rpi/controller/rpi/agc_channel.cpp    |  24 +-
 src/ipa/rpi/controller/rpi/agc_channel.h      |   8 +-
 src/libcamera/control_ids_core.yaml           | 249 +++++++++++--
 src/libcamera/control_ids_draft.yaml          |  29 --
 src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  |  54 ++-
 .../ipa_data_serializer_test.cpp              |   2 +-
 utils/codegen/gen-gst-controls.py             |   5 +-
 15 files changed, 835 insertions(+), 114 deletions(-)
 create mode 100644 Documentation/design/ae.rst

-- 
2.39.2



More information about the libcamera-devel mailing list