/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2024 Red Hat, Inc. * * Simple pipeline IPA Context */ #pragma once #include #include #include namespace libcamera { namespace ipa::soft { struct IPASessionConfiguration { float gamma; }; struct IPAActiveState { struct { uint8_t level; } blc; struct { double red; double green; double blue; } gains; static constexpr unsigned int kGammaLookupSize = 1024; struct { std::array gammaTable; uint8_t blackLevel; } gamma; }; struct IPAFrameContext : public FrameContext { }; struct IPAContext { IPASessionConfiguration configuration; IPAActiveState activeState; FCQueue frameContexts; }; } /* namespace ipa::soft */ } /* namespace libcamera */