libcamera v0.7.2+rpt20260817
Supporting cameras in Linux since 2019
Loading...
Searching...
No Matches
lsc.h File Reference

libipa LSC algorithm More...

#include <memory>
#include <vector>
#include <libcamera/controls.h>
#include <libcamera/geometry.h>
#include "libcamera/internal/value_node.h"
#include "interpolator.h"
#include "lsc_base.h"
Include dependency graph for lsc.h:

Go to the source code of this file.

Classes

struct  libcamera::ipa::lsc::ActiveState
 The LSC active state. More...
 
struct  libcamera::ipa::lsc::FrameContext
 The LSC frame context. More...
 
class  libcamera::ipa::LscAlgorithmBase
 Base class for LscAlgorithm. More...
 
class  libcamera::ipa::LscAlgorithm< U >
 libIPA LSC algorithm implementation More...
 

Namespaces

namespace  libcamera
 Top-level libcamera namespace.
 
namespace  libcamera::ipa
 The IPA (Image Processing Algorithm) namespace.
 

Typedefs

template<typename T >
using libcamera::ipa::lsc::Components = std::map< std::string, std::vector< T >, std::less<> >
 Associate colour components with a list of gains in register format.
 
template<typename T >
using libcamera::ipa::lsc::ComponentsMap = std::map< unsigned int, Components< T > >
 Associate a colour temperature to a LSC table.
 

Detailed Description

libipa LSC algorithm

Typedef Documentation

◆ Components

template<typename T >
libcamera::ipa::lsc::Components

Associate colour components with a list of gains in register format.

Template Parameters
TThe type used to store the gain values

LSC tables are defined as a list of gain values associated to a colour component.

As different ISPs support different colour components (usually 'r', 'gr', 'gb', 'b' or just 'r', 'g', 'b') this class associates a string identifier for the colour component to a list of gains.

Each key name shall match an entry in the tuning file.

The list of keys is provided to the LscAlgorithm class using LscDescriptor::keys.

The gain values are expressed in fixed-point register format stored in variabled of type T, as each platform potentially has a different register width.

◆ ComponentsMap

template<typename T >
libcamera::ipa::lsc::ComponentsMap

Associate a colour temperature to a LSC table.

Template Parameters
TThe type of the gain values

An LSC table is generated during the tuning phase for a specific colour temperature, and a tuning file usually contains LSC tables generated for several different colour temperatures.