libcamera v0.7.2+rpt20260817
Supporting cameras in Linux since 2019
Loading...
Searching...
No Matches
libcamera::ipa Namespace Reference

The IPA (Image Processing Algorithm) namespace. More...

Classes

class  AgcMeanLuminance
 A mean-based auto-exposure algorithm. More...
 
class  Algorithm
 The base class for all IPA algorithms. More...
 
class  AlgorithmFactory
 Registration of Algorithm classes and creation of instances. More...
 
class  AlgorithmFactoryBase
 
class  AwbAlgorithm
 The libipa AWB algorithm. More...
 
class  AwbAlgorithmBase
 Base class for AwbAlgorithm for non-templated functions implementation. More...
 
class  AwbBayes
 Implementation of a bayesian auto white balance algorithm. More...
 
class  AwbGrey
 A Grey world auto white balance algorithm. More...
 
class  AwbImplementation
 Pure virtual base class for AWB algorithms implementations. More...
 
class  AwbStats
 An abstraction class wrapping hardware-specific AWB statistics. More...
 
class  CameraSensorHelper
 Base class for computing sensor tuning parameters using sensor-specific constants. More...
 
class  CameraSensorHelperFactory
 Registration of CameraSensorHelperFactory classes and creation of instances. More...
 
class  CameraSensorHelperFactoryBase
 Base class for camera sensor helper factories. More...
 
class  CcmAlgorithm
 The libipa CCM algorithm. More...
 
class  CcmAlgorithmBase
 Base class for CcmAlgorithm for non-templated functions implementation. More...
 
class  ExposureModeHelper
 Class for splitting exposure into exposure time and total gain. More...
 
class  FCQueue
 A support class for managing FrameContext instances in IPA modules. More...
 
struct  FixedPointQTraits
 Traits type implementing fixed-point quantization conversions. More...
 
struct  FrameContext
 Context for a frame. More...
 
class  Histogram
 The base class for creating histograms. More...
 
class  Interpolator
 Class for storing, retrieving, and interpolating objects. More...
 
class  LscAlgorithm
 libIPA LSC algorithm implementation More...
 
class  LscAlgorithmBase
 Base class for LscAlgorithm. More...
 
struct  LscDescriptor
 Describe the ISP LSC engine. More...
 
class  LscImplementation
 Pure virtual base class for LSC algorithm implementations. More...
 
class  LscPolynomial
 Radial Polynomial LSC algorithm implementation. More...
 
class  LscTable
 Table based LSC algorithm implementation. More...
 
class  Lux
 Class that implements lux estimation. More...
 
class  Module
 The base class for all IPA modules. More...
 
class  Pwl
 Describe a univariate piecewise linear function in two-dimensional real space. More...
 
struct  Quantized
 Wrapper that stores a value in both quantized and floating-point form. More...
 
class  V4L2Params
 Helper class that represent an ISP configuration buffer. More...
 
class  V4L2ParamsBase
 Base class for V4L2Params. More...
 
class  V4L2ParamsBlock
 Helper class that represents an ISP configuration block. More...
 
class  V4L2Stats
 Helper class that represents an ISP statistics buffer. More...
 
class  V4L2StatsBase
 Base class for V4L2Stats. More...
 

Typedefs

template<unsigned int I, unsigned int F>
using Q = Quantized< FixedPointQTraits< I, F, decltype(details::qtype< I+F >())> >
 Define a signed fixed-point quantized type with automatic storage width.
 
template<unsigned int I, unsigned int F>
using UQ = Quantized< FixedPointQTraits< I, F, std::make_unsigned_t< decltype(details::qtype< I+F >())> > >
 Define an unsigned fixed-point quantized type with automatic storage width.
 

Functions

double rec601LuminanceFromRGB (const RGB< double > &rgb)
 Estimate luminance from RGB values following ITU-R BT.601.
 
uint32_t estimateCCT (const RGB< double > &rgb)
 Estimate correlated colour temperature from RGB color space input.
 

Detailed Description

The IPA (Image Processing Algorithm) namespace.

The IPA namespace groups all types specific to IPA modules. It serves as the top-level namespace for the IPA library libipa, and also contains module-specific namespaces for IPA modules.

Typedef Documentation

◆ Q

template<unsigned int I, unsigned int F>
libcamera::ipa::Q

Define a signed fixed-point quantized type with automatic storage width.

Template Parameters
IThe number of integer bits
FThe number of fractional bits

This alias defines a signed fixed-point quantized type using the FixedPointQTraits trait and a suitable signed integer storage type automatically selected based on the total number of bits (I + F).

◆ UQ

template<unsigned int I, unsigned int F>
libcamera::ipa::UQ

Define an unsigned fixed-point quantized type with automatic storage width.

Template Parameters
IThe number of integer bits
FThe number of fractional bits

This alias defines an unsigned fixed-point quantized type using the FixedPointQTraits trait and a suitable unsigned integer storage type automatically selected based on the total number of bits (I + F).

Function Documentation

◆ estimateCCT()

uint32_t libcamera::ipa::estimateCCT ( const RGB< double > &  rgb)

Estimate correlated colour temperature from RGB color space input.

Parameters
[in]rgbThe RGB value

This function estimates the correlated color temperature RGB color space input. In physics and color science, the Planckian locus or black body locus is the path or locus that the color of an incandescent black body would take in a particular chromaticity space as the black body temperature changes.

If a narrow range of color temperatures is considered (those encapsulating daylight being the most practical case) one can approximate the Planckian locus in order to calculate the CCT in terms of chromaticity coordinates.

More detailed information can be found in: https://en.wikipedia.org/wiki/Color_temperature#Approximation

Returns
The estimated color temperature

◆ rec601LuminanceFromRGB()

double libcamera::ipa::rec601LuminanceFromRGB ( const RGB< double > &  rgb)

Estimate luminance from RGB values following ITU-R BT.601.

Parameters
[in]rgbThe RGB value

This function estimates a luminance value from a triplet of Red, Green and Blue values, following the formula defined by ITU-R Recommendation BT.601-7 which can be found at https://www.itu.int/rec/R-REC-BT.601

Returns
The estimated luminance value