libcamera v0.7.2+rpt20261009
Supporting cameras in Linux since 2019
Loading...
Searching...
No Matches
core_ipa_interface.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2020, Google Inc.
4 *
5 * libcamera core definitions for Image Processing Algorithms
6 *
7 * This file is auto-generated. Do not edit.
8 */
9
10#pragma once
11
12
13#include <string>
14#include <type_traits>
15#include <utility>
16#include <vector>
17
18#include <libcamera/controls.h>
20#include <libcamera/geometry.h>
21
23
24namespace libcamera {
25
26
27
28
29
31{
32public:
33#ifndef __DOXYGEN__
34 IPACameraSensorInfo() = default;
35
36 template<
37 typename T1 = std::string,
38 typename T2 = uint32_t,
39 typename T3 = uint32_t,
40 typename T4 = Rectangle,
41 typename T5 = Rectangle,
42 typename T6 = Rectangle,
43 typename T7 = Size,
44 typename T8 = uint64_t,
45 typename T9 = uint32_t,
46 typename T10 = uint32_t,
47 typename T11 = uint32_t,
48 typename T12 = uint32_t,
49 std::enable_if_t<std::is_convertible_v<T1&&, std::string>> * = nullptr,
50 std::enable_if_t<std::is_convertible_v<T2&&, uint32_t>> * = nullptr,
51 std::enable_if_t<std::is_convertible_v<T3&&, uint32_t>> * = nullptr,
52 std::enable_if_t<std::is_convertible_v<T4&&, Rectangle>> * = nullptr,
53 std::enable_if_t<std::is_convertible_v<T5&&, Rectangle>> * = nullptr,
54 std::enable_if_t<std::is_convertible_v<T6&&, Rectangle>> * = nullptr,
55 std::enable_if_t<std::is_convertible_v<T7&&, Size>> * = nullptr,
56 std::enable_if_t<std::is_convertible_v<T8&&, uint64_t>> * = nullptr,
57 std::enable_if_t<std::is_convertible_v<T9&&, uint32_t>> * = nullptr,
58 std::enable_if_t<std::is_convertible_v<T10&&, uint32_t>> * = nullptr,
59 std::enable_if_t<std::is_convertible_v<T11&&, uint32_t>> * = nullptr,
60 std::enable_if_t<std::is_convertible_v<T12&&, uint32_t>> * = nullptr
61 >
62 IPACameraSensorInfo(T1 &&_model, T2 &&_bitsPerPixel, T3 &&_cfaPattern, T4 &&_pixelArrayArea, T5 &&_activeArea, T6 &&_analogCrop, T7 &&_outputSize, T8 &&_pixelRate, T9 &&_minLineLength, T10 &&_maxLineLength, T11 &&_minFrameLength, T12 &&_maxFrameLength)
63 : model(std::forward<T1>(_model))
64 , bitsPerPixel(std::forward<T2>(_bitsPerPixel))
65 , cfaPattern(std::forward<T3>(_cfaPattern))
66 , pixelArrayArea(std::forward<T4>(_pixelArrayArea))
67 , activeArea(std::forward<T5>(_activeArea))
68 , analogCrop(std::forward<T6>(_analogCrop))
69 , outputSize(std::forward<T7>(_outputSize))
70 , pixelRate(std::forward<T8>(_pixelRate))
71 , minLineLength(std::forward<T9>(_minLineLength))
72 , maxLineLength(std::forward<T10>(_maxLineLength))
73 , minFrameLength(std::forward<T11>(_minFrameLength))
74 , maxFrameLength(std::forward<T12>(_maxFrameLength))
75 {
76 }
77#endif
78
79
80 std::string model;
81 uint32_t bitsPerPixel{ 0 };
82 uint32_t cfaPattern{ 0 };
87 uint64_t pixelRate{ 0 };
88 uint32_t minLineLength{ 0 };
89 uint32_t maxLineLength{ 0 };
90 uint32_t minFrameLength{ 0 };
91 uint32_t maxFrameLength{ 0 };
92};
93
95{
96public:
97#ifndef __DOXYGEN__
98 IPABuffer() = default;
99
100 template<
101 typename T1 = uint32_t,
102 typename T2 = std::vector<FrameBuffer::Plane>,
103 std::enable_if_t<std::is_convertible_v<T1&&, uint32_t>> * = nullptr,
104 std::enable_if_t<std::is_convertible_v<T2&&, std::vector<FrameBuffer::Plane>>> * = nullptr
105 >
106 IPABuffer(T1 &&_id, T2 &&_planes)
107 : id(std::forward<T1>(_id))
108 , planes(std::forward<T2>(_planes))
109 {
110 }
111#endif
112
113
114 uint32_t id{ 0 };
115 std::vector<FrameBuffer::Plane> planes;
116};
117
119{
120public:
121#ifndef __DOXYGEN__
122 IPASettings() = default;
123
124 template<
125 typename T1 = std::string,
126 typename T2 = std::string,
127 std::enable_if_t<std::is_convertible_v<T1&&, std::string>> * = nullptr,
128 std::enable_if_t<std::is_convertible_v<T2&&, std::string>> * = nullptr
129 >
130 IPASettings(T1 &&_configurationFile, T2 &&_sensorModel)
131 : configurationFile(std::forward<T1>(_configurationFile))
132 , sensorModel(std::forward<T2>(_sensorModel))
133 {
134 }
135#endif
136
137
138 std::string configurationFile;
139 std::string sensorModel;
140};
141
143{
144public:
145#ifndef __DOXYGEN__
146 IPAStream() = default;
147
148 template<
149 typename T1 = uint32_t,
150 typename T2 = Size,
151 std::enable_if_t<std::is_convertible_v<T1&&, uint32_t>> * = nullptr,
152 std::enable_if_t<std::is_convertible_v<T2&&, Size>> * = nullptr
153 >
154 IPAStream(T1 &&_pixelFormat, T2 &&_size)
155 : pixelFormat(std::forward<T1>(_pixelFormat))
156 , size(std::forward<T2>(_size))
157 {
158 }
159#endif
160
161
162 uint32_t pixelFormat{ 0 };
164};
165
166
167} /* namespace libcamera */
Describe a rectangle's position and dimensions.
Definition geometry.h:247
Describe a two-dimensional size.
Definition geometry.h:51
Framework to manage controls related to an object.
Frame buffer handling.
Data structures related to geometric objects.
Image Processing Algorithm interface.
Top-level libcamera namespace.
Definition backtrace.h:17
Buffer information for the IPA interface.
Definition core_ipa_interface.h:95
uint32_t id
The buffer unique ID.
Definition core_ipa_interface.h:114
std::vector< FrameBuffer::Plane > planes
The buffer planes description.
Definition core_ipa_interface.h:115
Report the image sensor characteristics.
Definition core_ipa_interface.h:31
uint32_t cfaPattern
The arrangement of colour filters on the image sensor.
Definition core_ipa_interface.h:82
Size outputSize
The size of the images produced by the camera sensor.
Definition core_ipa_interface.h:86
uint32_t minFrameLength
The minimum allowable frame length in units of lines.
Definition core_ipa_interface.h:90
Rectangle pixelArrayArea
The area of the physical pixel array of the sensor in pixels.
Definition core_ipa_interface.h:83
Rectangle analogCrop
The portion of the pixel array which is read-out and processed.
Definition core_ipa_interface.h:85
uint32_t maxFrameLength
The maximum allowable frame length in units of lines.
Definition core_ipa_interface.h:91
Rectangle activeArea
The active pixel area of the sensor, relative to the physical pixel array.
Definition core_ipa_interface.h:84
uint32_t maxLineLength
The maximum line length in pixels.
Definition core_ipa_interface.h:89
uint32_t bitsPerPixel
The number of bits per pixel of the image format produced by the image sensor.
Definition core_ipa_interface.h:81
std::string model
The image sensor model name.
Definition core_ipa_interface.h:80
uint32_t minLineLength
The minimum line length in pixels.
Definition core_ipa_interface.h:88
uint64_t pixelRate
The number of pixels produced in a second.
Definition core_ipa_interface.h:87
IPA interface initialization settings.
Definition core_ipa_interface.h:119
std::string sensorModel
The sensor model name.
Definition core_ipa_interface.h:139
std::string configurationFile
The name of the IPA configuration file.
Definition core_ipa_interface.h:138
Stream configuration for the IPA interface.
Definition core_ipa_interface.h:143
uint32_t pixelFormat
The stream pixel format.
Definition core_ipa_interface.h:162
Size size
The stream size in pixels.
Definition core_ipa_interface.h:163