10 #include <linux/intel-ipu3.h> 19 #include "algorithm.h" 23 struct IPACameraSensorInfo;
25 namespace ipa::ipu3::algorithms {
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_;
Global IPA context data shared between all algorithms.
Definition: ipa_context.h:86
Base class implementing mean luminance AEGC.
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:207
Top-level libcamera namespace.
Definition: backtrace.h:17
Miscellaneous utility functions.
A mean-based auto-exposure algorithm.
Definition: agc_mean_luminance.h:28
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:353
The base class for creating histograms.
Definition: histogram.h:22
A class representing the tree structure of the YAML content.
Definition: yaml_parser.h:27
IPU3-specific FrameContext.
Definition: ipa_context.h:79
Class to represent Histograms and manipulate them.
Associate a list of ControlId with their values for an object.
Definition: controls.h:380
int configure(IPAContext &context, const IPAConfigInfo &configInfo) override
Configure the AGC given a configInfo.
Definition: agc.cpp:95
The base class for all IPA algorithms.
Definition: algorithm.h:22
A mean-based auto-exposure algorithm.
Definition: agc.h:27
Data structures related to geometric objects.