libcamera/src/ipa/raspberrypi/controller/rpi/sdn.hpp
Naushir Patuck c9e1ef7bd2 ipa: raspberrypi: Add a DenoiseAlgorithm class to the Controller
This denoise algorithm class will be used to pass in the user requested
denoise operating mode to the controller. The existing Denoise
controller will derive from this new DenoiseAlgorithm class.

Add a denoise mode field in the denoise status metadata object for the
IPA to use when configuring the ISP.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2021-02-09 13:23:39 +02:00

32 lines
740 B
C++

/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright (C) 2019, Raspberry Pi (Trading) Limited
*
* sdn.hpp - SDN (spatial denoise) control algorithm
*/
#pragma once
#include "../algorithm.hpp"
#include "../denoise_algorithm.hpp"
namespace RPiController {
// Algorithm to calculate correct spatial denoise (SDN) settings.
class Sdn : public DenoiseAlgorithm
{
public:
Sdn(Controller *controller = NULL);
char const *Name() const override;
void Read(boost::property_tree::ptree const &params) override;
void Initialise() override;
void Prepare(Metadata *image_metadata) override;
void SetMode(DenoiseMode mode) override;
private:
double deviation_;
double strength_;
DenoiseMode mode_;
};
} // namespace RPiController