libcamera v0.0.0
Supporting cameras in Linux since 2019
algorithm.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2021, Ideas On Board
4 *
5 * algorithm.h - ISP control algorithm interface
6 */
7#pragma once
8
9namespace libcamera {
10
11namespace ipa {
12
13template<typename Context, typename Config, typename Params, typename Stats>
15{
16public:
17 virtual ~Algorithm() {}
18
19 virtual int configure([[maybe_unused]] Context &context,
20 [[maybe_unused]] const Config &configInfo)
21 {
22 return 0;
23 }
24
25 virtual void prepare([[maybe_unused]] Context &context,
26 [[maybe_unused]] Params *params)
27 {
28 }
29
30 virtual void process([[maybe_unused]] Context &context,
31 [[maybe_unused]] const Stats *stats)
32 {
33 }
34};
35
36} /* namespace ipa */
37
38} /* namespace libcamera */
The base class for all IPA algorithms.
Definition: algorithm.h:15
virtual int configure(Context &context, const Config &configInfo)
Configure the Algorithm given an IPAConfigInfo.
Definition: algorithm.h:19
virtual void process(Context &context, const Stats *stats)
Process ISP statistics, and run algorithm operations.
Definition: algorithm.h:30
virtual void prepare(Context &context, Params *params)
Fill the params buffer with ISP processing parameters for a frame.
Definition: algorithm.h:25
Top-level libcamera namespace.
Definition: backtrace.h:17