libcamera v0.0.5
Supporting cameras in Linux since 2019
starfive_ipa_interface.h
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2020, Google Inc.
4 *
5 * starfive_ipa_interface.h - Image Processing Algorithm interface for starfive
6 *
7 * This file is auto-generated. Do not edit.
8 */
9
10#pragma once
11
14
15
16#include <vector>
17
18namespace libcamera {
19
20namespace ipa {
21
22namespace starfive {
23
24
25
26
27enum class _StarfiveCmd {
28 Exit = 0,
29 Init = 1,
30 Start = 2,
31 Stop = 3,
32 Configure = 4,
33 IsSensorISPEnabled = 5,
34 MapBuffers = 6,
35 UnmapBuffers = 7,
36 QueueRequest = 8,
37 StatBufferReady = 9,
38};
39
40enum class _StarfiveEventCmd {
41 SetDelayedControls = 1,
42 SetIspControls = 2,
43 CompleteGetInfo = 3,
44};
45
46
48{
49public:
50#ifndef __DOXYGEN__
51 ssParams()
52 : outWidth(0), outHeight(0)
53 {
54 }
55
56 ssParams(uint16_t _outWidth, uint16_t _outHeight)
57 : outWidth(_outWidth), outHeight(_outHeight)
58 {
59 }
60#endif
61
62
63 uint16_t outWidth;
64 uint16_t outHeight;
65};
66
68{
69public:
70
71 virtual int32_t init(
72 const IPASettings &settings,
73 const IPACameraSensorInfo &sensorInfo,
74 const ControlInfoMap &sensorControls) = 0;
75
76 virtual int32_t start(
77 const ControlList &controls) = 0;
78
79 virtual void stop() = 0;
80
81 virtual int32_t configure(
82 const ControlInfoMap &ispControls,
83 const ControlInfoMap &sensorControls,
84 const IPACameraSensorInfo &sensorInfo,
85 const std::vector<ipa::starfive::ssParams> &outSSParams) = 0;
86
87 virtual bool isSensorISPEnabled() = 0;
88
89 virtual void mapBuffers(
90 const std::vector<libcamera::IPABuffer> &buffers) = 0;
91
92 virtual void unmapBuffers(
93 const std::vector<uint32_t> &ids) = 0;
94
95 virtual void queueRequest(
96 const ControlList &controls) = 0;
97
98 virtual void statBufferReady(
99 const uint32_t bufferId,
100 const ControlList &sensorControls) = 0;
101
102 Signal<const ControlList &> setDelayedControls;
103
104 Signal<const ControlList &> setIspControls;
105
106 Signal<uint32_t, bool> completeGetInfo;
107};
108
109} /* namespace starfive */
110
111} /* namespace ipa */
112
113} /* namespace libcamera */
A map of ControlId to ControlInfo.
Definition: controls.h:306
Associate a list of ControlId with their values for an object.
Definition: controls.h:350
C++ Interface for IPA implementation.
Definition: ipa_interface.h:31
Generic signal and slot communication mechanism.
Definition: signal.h:39
Definition: starfive_ipa_interface.h:68
libcamera structs for IPAs
Image Processing Algorithm interface.
const ControlIdMap controls
List of all supported libcamera controls.
Definition: control_ids.cpp:1303
Top-level libcamera namespace.
Definition: backtrace.h:17
Report the image sensor characteristics.
Definition: core_ipa_interface.h:24
IPA interface initialization settings.
Definition: core_ipa_interface.h:72
Definition: starfive_ipa_interface.h:48