summaryrefslogtreecommitdiff
path: root/src/ipa/rpi/controller/denoise_algorithm.h
blob: b9a2a33cd741c16b6bce9a04eb6485c04a68296d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* SPDX-License-Identifier: BSD-2-Clause */
/*
 * Copyright (C) 2021, Raspberry Pi Ltd
 *
 * Denoise control algorithm interface
 */
#pragma once

#include <string>

#include "algorithm.h"

namespace RPiController {

enum class DenoiseMode { Off, ColourOff, ColourFast, ColourHighQuality };

class DenoiseAlgorithm : public Algorithm
{
public:
	DenoiseAlgorithm(Controller *controller) : Algorithm(controller) {}
	/* A Denoise algorithm must provide the following: */
	virtual void setMode(DenoiseMode mode) = 0;
	/* Some platforms may not be able to define this, so supply a default. */
	virtual void setConfig([[maybe_unused]] std::string const &name) {}
};

} /* namespace RPiController */