diff options
author | Daniel Scally <dan.scally@ideasonboard.com> | 2024-11-15 12:25:36 +0000 |
---|---|---|
committer | Daniel Scally <dan.scally@ideasonboard.com> | 2024-12-17 22:35:59 +0000 |
commit | e8cae247e8ebd13f31c854dd8cd8d1b2929a8eb4 (patch) | |
tree | d64e113a549f2d13b4c201645212819d527de42d /src/ipa/mali-c55/ipa_context.h | |
parent | 93a33e7a0f12971a6c88f64bcf9766b8f215a03a (diff) |
ipa: mali-c55: Add Agc algorithm
Add a new algorithm and associated infrastructure for Agc. The
tuning files for uncalibrated sensors is extended to enable the
algorithm.
Acked-by: Nayden Kanchev <nayden.kanchev@arm.com>
Co-developed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/ipa/mali-c55/ipa_context.h')
-rw-r--r-- | src/ipa/mali-c55/ipa_context.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/ipa/mali-c55/ipa_context.h b/src/ipa/mali-c55/ipa_context.h index 837389ee..6c9019a8 100644 --- a/src/ipa/mali-c55/ipa_context.h +++ b/src/ipa/mali-c55/ipa_context.h @@ -7,8 +7,11 @@ #pragma once +#include <libcamera/base/utils.h> #include <libcamera/controls.h> +#include "libcamera/internal/bayer_format.h" + #include <libipa/fc_queue.h> namespace libcamera { @@ -16,15 +19,44 @@ namespace libcamera { namespace ipa::mali_c55 { struct IPASessionConfiguration { + struct { + utils::Duration minShutterSpeed; + utils::Duration maxShutterSpeed; + uint32_t defaultExposure; + double minAnalogueGain; + double maxAnalogueGain; + } agc; + + struct { + BayerFormat::Order bayerOrder; + utils::Duration lineDuration; + } sensor; }; struct IPAActiveState { + struct { + struct { + uint32_t exposure; + double sensorGain; + double ispGain; + } automatic; + struct { + uint32_t exposure; + double sensorGain; + double ispGain; + } manual; + bool autoEnabled; + uint32_t constraintMode; + uint32_t exposureMode; + uint32_t temperatureK; + } agc; }; struct IPAFrameContext : public FrameContext { struct { uint32_t exposure; double sensorGain; + double ispGain; } agc; }; |