10#include <linux/intel-ipu3.h>
25namespace ipa::ipu3::algorithms {
27class Agc :
public Algorithm,
public AgcMeanLuminance
37 const ipu3_uapi_stats_3a *stats,
41 double estimateLuminance(
double gain)
const override;
42 Histogram parseStatistics(
const ipu3_uapi_stats_3a *stats,
43 const ipu3_uapi_grid_config &grid);
48 double minAnalogueGain_;
49 double maxAnalogueGain_;
55 ipu3_uapi_grid_config bdsGrid_;
56 std::vector<std::tuple<uint8_t, uint8_t, uint8_t>> rgbTriples_;
Base class implementing mean luminance AEGC.
Associate a list of ControlId with their values for an object.
Definition controls.h:411
A class representing the tree structure of the YAML content.
Definition yaml_parser.h:28
The base class for creating histograms.
Definition histogram.h:23
void process(IPAContext &context, const uint32_t frame, IPAFrameContext &frameContext, const ipu3_uapi_stats_3a *stats, ControlList &metadata) override
Process IPU3 statistics, and run AGC operations.
Definition agc.cpp:205
int configure(IPAContext &context, const IPAConfigInfo &configInfo) override
Configure the AGC given a configInfo.
Definition agc.cpp:95
int init(IPAContext &context, const YamlObject &tuningData) override
Initialise the AGC algorithm from tuning files.
Definition agc.cpp:75
Helper class from std::chrono::duration that represents a time duration in nanoseconds with double pr...
Definition utils.h:370
Data structures related to geometric objects.
Class to represent Histograms and manipulate them.
Top-level libcamera namespace.
Definition backtrace.h:17
Report the image sensor characteristics.
Definition core_ipa_interface.h:29
Global IPA context data shared between all algorithms.
Definition ipa_context.h:86
IPU3-specific FrameContext.
Definition ipa_context.h:79
Miscellaneous utility functions.