libcamera v0.7.2+rpt20260817
Supporting cameras in Linux since 2019
Loading...
Searching...
No Matches
libcamera::ipa::AwbAlgorithm< Q > Class Template Reference

The libipa AWB algorithm. More...

Inheritance diagram for libcamera::ipa::AwbAlgorithm< Q >:
Collaboration diagram for libcamera::ipa::AwbAlgorithm< Q >:

Public Member Functions

int init (const ValueNode &tuningData, ControlInfoMap::Map &controls)
 
- Public Member Functions inherited from libcamera::ipa::AwbAlgorithmBase
int init (const ValueNode &tuningData)
 Initialize the algorithm with the given tuning data.
 
int configure (awb::ActiveState &state)
 Configure the AWB algorithm.
 
void queueRequest (awb::ActiveState &state, const uint32_t frame, awb::FrameContext &frameContext, const ControlList &controls)
 Queue a Request to the AWB algorithm.
 
void prepare (awb::ActiveState &state, awb::FrameContext &frameContext)
 Set the gains and colour temperature values in frameContext.
 
void process (awb::ActiveState &state, awb::FrameContext &frameContext, const AwbStats &stats, unsigned int lux, ControlList &metadata)
 Process AWB statistics to calculate gains and populate metadata.
 

Additional Inherited Members

- Protected Attributes inherited from libcamera::ipa::AwbAlgorithmBase
ControlInfoMap::Map controls_
 Controls info map for the controls registered by the AWB algorithm.
 
float gainMin_
 The minimum supported gain value.
 
float gainMax_
 The maximum supported gain value.
 

Detailed Description

template<typename Q>
class libcamera::ipa::AwbAlgorithm< Q >

The libipa AWB algorithm.

Template Parameters
QThe fixedpoint register representation of gain values

Implement the AWB algorithm for libipa.

The AwbAlgorithm class implements an interface similar in spirit to the one of the Algorithm class. IPA modules are expected to store an instance of AwbAlgorithm as class member, template it with the AWB engine gain register representation and call its function in their implementations of the Algorithm interface.

The AwbAlgorithm instantiates an AwbImplementation implementation (AwbGrey or AwbBayes) at init() time by parsing the tuning data and uses it to compute the RGB gains and estimate a colour temperature given a set of statistics in the form of a AwbStats derived implementation.

Member Function Documentation

◆ init()

template<typename Q >
libcamera::ipa::AwbAlgorithm< Q >::init ( const ValueNode tuningData,
ControlInfoMap::Map controls 
)
inline
Parameters
[in]controlsThe info map of the IPA controls

Initialize the algorithm with the given tuning data.

Parameters
[in]tuningDataThe tuning data to use for the algorithm

Parse tuningData to initialize the AWB algorithm and register controls. IPA modules are expected to call this function as part of their implementation of Algorithm::init().

Returns
0 on success, a negative error code otherwise

The documentation for this class was generated from the following files: