libcamera v0.0.0+3240-f2a18172-dirty (2022-05-14T03:06:40+00:00)
Supporting cameras in Linux since 2019
Public Member Functions | List of all members
libcamera::ipa::ipu3::algorithms::Agc Class Reference

A mean-based auto-exposure algorithm. More...

Inheritance diagram for libcamera::ipa::ipu3::algorithms::Agc:
Inheritance graph
[legend]
Collaboration diagram for libcamera::ipa::ipu3::algorithms::Agc:
Collaboration graph
[legend]

Public Member Functions

int configure (IPAContext &context, const IPAConfigInfo &configInfo) override
 Configure the AGC given a configInfo. More...
 
void process (IPAContext &context, const ipu3_uapi_stats_3a *stats) override
 Process IPU3 statistics, and run AGC operations. More...
 
- Public Member Functions inherited from libcamera::ipa::ipu3::Algorithm
virtual int configure (IPAContext &context, const IPAConfigInfo &configInfo)
 Configure the Algorithm given an IPAConfigInfo. More...
 
virtual void prepare (IPAContext &context, ipu3_uapi_params *params)
 Fill the params buffer with ISP processing parameters for a frame. More...
 
virtual void process (IPAContext &context, const ipu3_uapi_stats_3a *stats)
 Process ISP statistics, and run algorithm operations. More...
 

Detailed Description

A mean-based auto-exposure algorithm.

This algorithm calculates a shutter time and an analogue gain so that the average value of the green channel of the brightest 2% of pixels approaches 0.5. The AWB gains are not used here, and all cells in the grid have the same weight, like an average-metering case. In this metering mode, the camera uses light information from the entire scene and creates an average for the final exposure setting, giving no weighting to any particular portion of the metered area.

Reference: Battiato, Messina & Castorina. (2008). Exposure Correction for Imaging Devices: An Overview. 10.1201/9781420054538.ch12.

Member Function Documentation

◆ configure()

int libcamera::ipa::ipu3::algorithms::Agc::configure ( IPAContext context,
const IPAConfigInfo &  configInfo 
)
overridevirtual

Configure the AGC given a configInfo.

Parameters
[in]contextThe shared IPA context
[in]configInfoThe IPA configuration data
Returns
0

Reimplemented from libcamera::ipa::ipu3::Algorithm.

◆ process()

void libcamera::ipa::ipu3::algorithms::Agc::process ( IPAContext context,
const ipu3_uapi_stats_3a *  stats 
)
overridevirtual

Process IPU3 statistics, and run AGC operations.

Parameters
[in]contextThe shared IPA context
[in]statsThe IPU3 statistics and ISP results

Identify the current image brightness, and use that to estimate the optimal new exposure and gain for the scene.

Reimplemented from libcamera::ipa::ipu3::Algorithm.


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