[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