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>
This commit is contained in:
Naushir Patuck 2021-02-08 15:07:37 +00:00 committed by Laurent Pinchart
parent 44ea5b65c8
commit c9e1ef7bd2
4 changed files with 37 additions and 3 deletions

View file

@ -0,0 +1,23 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright (C) 2021, Raspberry Pi (Trading) Limited
*
* denoise.hpp - Denoise control algorithm interface
*/
#pragma once
#include "algorithm.hpp"
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;
};
} // namespace RPiController