/* SPDX-License-Identifier: BSD-2-Clause */ /* * Copyright (C) 2023, Raspberry Pi Ltd * * cac.hpp - CAC control algorithm */ #pragma once #include "algorithm.h" #include "cac_status.h" namespace RPiController { struct CacConfig { bool enabled; std::vector lutRx; std::vector lutRy; std::vector lutBx; std::vector lutBy; }; class Cac : public Algorithm { public: Cac(Controller *controller = NULL); char const *name() const override; int read(const libcamera::YamlObject ¶ms) override; void prepare(Metadata *imageMetadata) override; private: CacConfig config_; CacStatus cacStatus_; }; } // namespace RPiController