libcamera: libcamera::ipa::ipu3::algorithms::BlackLevelCorrection Class Reference

libcamera v0.7.0 Supporting cameras in Linux since 2019

Loading...
Searching...
No Matches
libcamera::ipa::ipu3::algorithms::BlackLevelCorrection Class Reference

A class to handle black level correction. More...

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

## Public Member Functions
void | prepare (IPAContext &context, const uint32_t frame, IPAFrameContext &frameContext, ipu3_uapi_params *params) override
| Fill in the parameter structure, and enable black level correction.
Public Member Functions inherited from libcamera::ipa::Algorithm< Module >
virtual int | init (typename Module::Context &context, const YamlObject &tuningData)
| Initialize the Algorithm with tuning data.
virtual int | configure (typename Module::Context &context, const typename Module::Config &configInfo)
| Configure the Algorithm given an IPAConfigInfo.
virtual void | queueRequest (typename Module::Context &context, const uint32_t frame, typename Module::FrameContext &frameContext, const ControlList &controls)
| Provide control values to the algorithm.
virtual void | prepare (typename Module::Context &context, const uint32_t frame, typename Module::FrameContext &frameContext, typename Module::Params *params)
| Fill the params buffer with ISP processing parameters for a frame.
virtual void | process (typename Module::Context &context, const uint32_t frame, typename Module::FrameContext &frameContext, const typename Module::Stats *stats, ControlList &metadata)
| Process ISP statistics, and run algorithm operations.

## Additional Inherited Members
Public Types inherited from libcamera::ipa::Algorithm< Module >
using | Module
| The IPA module type for this class of algorithms.

## Detailed Description

A class to handle black level correction.

The pixels output by the camera normally include a black level, because sensors do not always report a signal level of '0' for black. Pixels at or below this level should be considered black. To achieve that, the ImgU BLC algorithm subtracts a configurable offset from all pixels.

The black level can be measured at runtime from an optical dark region of the camera sensor, or measured during the camera tuning process. The first option isn't currently supported.

## Member Function Documentation

## ◆ prepare()

void libcamera::ipa::ipu3::algorithms::BlackLevelCorrection::prepare | ( | IPAContext & | context,
|  | const uint32_t | frame,
|  | IPAFrameContext & | frameContext,
|  | ipu3_uapi_params * | params )
| override

Fill in the parameter structure, and enable black level correction.

Parameters

  [in] | context | The shared IPA context
  [in] | frame | The frame context sequence number
  [in] | frameContext | The FrameContext for this frame
  [out] | params | The IPU3 parameters

Populate the IPU3 parameter structure with the correction values for each channel and enable the corresponding ImgU block processing.

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

- src/ipa/ipu3/algorithms/blc.h
- src/ipa/ipu3/algorithms/blc.cpp