libcamera v0.0.0+3240-f2a18172-dirty (2022-05-13T20:32:10+00:00)
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 - IPU3 control algorithm interface
6 */
7#ifndef __LIBCAMERA_IPA_IPU3_ALGORITHM_H__
8#define __LIBCAMERA_IPA_IPU3_ALGORITHM_H__
9
10#include <libcamera/ipa/ipu3_ipa_interface.h>
11
12#include "ipa_context.h"
13
14namespace libcamera {
15
16namespace ipa::ipu3 {
17
19{
20public:
21 virtual ~Algorithm() {}
22
23 virtual int configure(IPAContext &context, const IPAConfigInfo &configInfo);
24 virtual void prepare(IPAContext &context, ipu3_uapi_params *params);
25 virtual void process(IPAContext &context, const ipu3_uapi_stats_3a *stats);
26};
27
28} /* namespace ipa::ipu3 */
29
30} /* namespace libcamera */
31
32#endif /* __LIBCAMERA_IPA_IPU3_ALGORITHM_H__ */
The base class for all IPU3 algorithms.
Definition: algorithm.h:19
virtual void prepare(IPAContext &context, ipu3_uapi_params *params)
Fill the params buffer with ISP processing parameters for a frame.
Definition: algorithm.cpp:61
virtual int configure(IPAContext &context, const IPAConfigInfo &configInfo)
Configure the Algorithm given an IPAConfigInfo.
Definition: algorithm.cpp:42
virtual void process(IPAContext &context, const ipu3_uapi_stats_3a *stats)
Process ISP statistics, and run algorithm operations.
Definition: algorithm.cpp:94
Context and state information shared between the algorithms.
Top-level libcamera namespace.
Definition: backtrace.h:17
Global IPA context data shared between all algorithms.
Definition: ipa_context.h:63