libcamera v0.0.0+3240-f2a18172-dirty (2022-05-13T14:52:50+00:00)
Supporting cameras in Linux since 2019
tone_mapping.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2021, Google inc.
4 *
5 * tone_mapping.h - IPU3 ToneMapping and Gamma control
6 */
7#ifndef __LIBCAMERA_IPU3_ALGORITHMS_TONE_MAPPING_H__
8#define __LIBCAMERA_IPU3_ALGORITHMS_TONE_MAPPING_H__
9
10#include "algorithm.h"
11
12namespace libcamera {
13
14namespace ipa::ipu3::algorithms {
15
16class ToneMapping : public Algorithm
17{
18public:
20
21 int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
22 void prepare(IPAContext &context, ipu3_uapi_params *params) override;
23 void process(IPAContext &context, const ipu3_uapi_stats_3a *stats) override;
24
25private:
26 double gamma_;
27};
28
29} /* namespace ipa::ipu3::algorithms */
30
31} /* namespace libcamera */
32
33#endif /* __LIBCAMERA_IPU3_ALGORITHMS_TONE_MAPPING_H__ */
Algorithm common interface.
The base class for all IPU3 algorithms.
Definition: algorithm.h:19
A class to handle tone mapping based on gamma.
Definition: tone_mapping.h:17
void prepare(IPAContext &context, ipu3_uapi_params *params) override
Fill in the parameter structure, and enable gamma control.
Definition: tone_mapping.cpp:58
int configure(IPAContext &context, const IPAConfigInfo &configInfo) override
Configure the tone mapping given a configInfo.
Definition: tone_mapping.cpp:41
void process(IPAContext &context, const ipu3_uapi_stats_3a *stats) override
Calculate the tone mapping look up table.
Definition: tone_mapping.cpp:80
Top-level libcamera namespace.
Definition: backtrace.h:17
Global IPA context data shared between all algorithms.
Definition: ipa_context.h:63