libcamera
v0.5.0+20-3569fed7
Supporting cameras in Linux since 2019
|
A class to handle tone mapping based on gamma. More...
Public Member Functions | |
int | configure (IPAContext &context, const IPAConfigInfo &configInfo) override |
Configure the tone mapping given a configInfo. More... | |
void | prepare (IPAContext &context, const uint32_t frame, IPAFrameContext &frameContext, ipu3_uapi_params *params) override |
Fill in the parameter structure, and enable gamma control. More... | |
void | process (IPAContext &context, const uint32_t frame, IPAFrameContext &frameContext, const ipu3_uapi_stats_3a *stats, ControlList &metadata) override |
Calculate the tone mapping look up table. More... | |
![]() | |
virtual int | init ([[maybe_unused]] typename Module::Context &context, [[maybe_unused]] const YamlObject &tuningData) |
Initialize the Algorithm with tuning data. More... | |
virtual int | configure ([[maybe_unused]] typename Module::Context &context, [[maybe_unused]] const typename Module::Config &configInfo) |
Configure the Algorithm given an IPAConfigInfo. More... | |
virtual void | queueRequest ([[maybe_unused]] typename Module::Context &context, [[maybe_unused]] const uint32_t frame, [[maybe_unused]] typename Module::FrameContext &frameContext, [[maybe_unused]] const ControlList &controls) |
Provide control values to the algorithm. More... | |
virtual void | prepare ([[maybe_unused]] typename Module::Context &context, [[maybe_unused]] const uint32_t frame, [[maybe_unused]] typename Module::FrameContext &frameContext, [[maybe_unused]] typename Module::Params *params) |
Fill the params buffer with ISP processing parameters for a frame. More... | |
virtual void | process ([[maybe_unused]] typename Module::Context &context, [[maybe_unused]] const uint32_t frame, [[maybe_unused]] typename Module::FrameContext &frameContext, [[maybe_unused]] const typename Module::Stats *stats, [[maybe_unused]] ControlList &metadata) |
Process ISP statistics, and run algorithm operations. More... | |
Additional Inherited Members | |
![]() | |
using | Module = _Module |
The IPA module type for this class of algorithms. | |
A class to handle tone mapping based on gamma.
This algorithm improves the image dynamic using a look-up table which is generated based on a gamma parameter.
|
override |
Configure the tone mapping given a configInfo.
[in] | context | The shared IPA context |
[in] | configInfo | The IPA configuration data |
|
override |
Fill in the parameter structure, and enable gamma control.
[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 our tone mapping look up table and enable the gamma control module in the processing blocks.
|
override |
Calculate the tone mapping look up table.
[in] | context | The shared IPA context |
[in] | frame | The current frame sequence number |
[in] | frameContext | The current frame context |
[in] | stats | The IPU3 statistics and ISP results |
[out] | metadata | Metadata for the frame, to be filled by the algorithm |
The tone mapping look up table is generated as an inverse power curve from our gamma setting.