libcamera/src/ipa/rkisp1/algorithms/lsc.h
Florian Sylvestre b3e96411d8 ipa: rkisp1: Add support of Lens Shading Correction control
The Lens Shading Correction algorithm applies multipliers to all pixels
to compensate for the lens shading effect. The coefficients are
specified in a downscaled table in the YAML tuning file.

Signed-off-by: Florian Sylvestre <fsylvestre@baylibre.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-07-28 14:54:54 +03:00

38 lines
805 B
C++

/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2021-2022, Ideas On Board
*
* lsc.h - RkISP1 Lens Shading Correction control
*/
#pragma once
#include "algorithm.h"
namespace libcamera {
namespace ipa::rkisp1::algorithms {
class LensShadingCorrection : public Algorithm
{
public:
LensShadingCorrection();
~LensShadingCorrection() = default;
int init(IPAContext &context, const YamlObject &tuningData) override;
void prepare(IPAContext &context, rkisp1_params_cfg *params) override;
private:
bool initialized_;
std::vector<uint16_t> rData_;
std::vector<uint16_t> grData_;
std::vector<uint16_t> gbData_;
std::vector<uint16_t> bData_;
std::vector<double> xSize_;
std::vector<double> ySize_;
};
} /* namespace ipa::rkisp1::algorithms */
} /* namespace libcamera */