libcamera  v0.0.0
Supporting cameras in Linux since 2019
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  * core_ipa_interface.h - 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 <vector>
14 
16 
17 namespace libcamera {
18 
19 
20 
21 
22 
24 {
25 public:
26 #ifndef __DOXYGEN__
29  {
30  }
31 
32  IPACameraSensorInfo(const std::string &_model, uint32_t _bitsPerPixel, const Size &_activeAreaSize, const Rectangle &_analogCrop, const Size &_outputSize, uint64_t _pixelRate, uint32_t _lineLength, uint32_t _minFrameLength, uint32_t _maxFrameLength)
33  : model(_model), bitsPerPixel(_bitsPerPixel), activeAreaSize(_activeAreaSize), analogCrop(_analogCrop), outputSize(_outputSize), pixelRate(_pixelRate), lineLength(_lineLength), minFrameLength(_minFrameLength), maxFrameLength(_maxFrameLength)
34  {
35  }
36 #endif
37 
38 
39  std::string model;
40  uint32_t bitsPerPixel;
44  uint64_t pixelRate;
45  uint32_t lineLength;
46  uint32_t minFrameLength;
47  uint32_t maxFrameLength;
48 };
49 
50 struct IPABuffer
51 {
52 public:
53 #ifndef __DOXYGEN__
54  IPABuffer()
55  : id(0)
56  {
57  }
58 
59  IPABuffer(uint32_t _id, const std::vector<FrameBuffer::Plane> &_planes)
60  : id(_id), planes(_planes)
61  {
62  }
63 #endif
64 
65 
66  uint32_t id;
67  std::vector<FrameBuffer::Plane> planes;
68 };
69 
71 {
72 public:
73 #ifndef __DOXYGEN__
74  IPASettings()
75  {
76  }
77 
78  IPASettings(const std::string &_configurationFile, const std::string &_sensorModel)
79  : configurationFile(_configurationFile), sensorModel(_sensorModel)
80  {
81  }
82 #endif
83 
84 
85  std::string configurationFile;
86  std::string sensorModel;
87 };
88 
89 struct IPAStream
90 {
91 public:
92 #ifndef __DOXYGEN__
93  IPAStream()
94  : pixelFormat(0)
95  {
96  }
97 
98  IPAStream(uint32_t _pixelFormat, const Size &_size)
99  : pixelFormat(_pixelFormat), size(_size)
100  {
101  }
102 #endif
103 
104 
105  uint32_t pixelFormat;
107 };
108 
109 
110 } /* namespace libcamera */
Describe a rectangle's position and dimensions.
Definition: geometry.h:243
Describe a two-dimensional size.
Definition: geometry.h:53
Image Processing Algorithm interface.
Top-level libcamera namespace.
Definition: backtrace.h:17
Buffer information for the IPA interface.
Definition: core_ipa_interface.h:51
uint32_t id
The buffer unique ID.
Definition: core_ipa_interface.h:66
std::vector< FrameBuffer::Plane > planes
The buffer planes description.
Definition: core_ipa_interface.h:67
Report the image sensor characteristics.
Definition: core_ipa_interface.h:24
uint32_t lineLength
Total line length in pixels.
Definition: core_ipa_interface.h:45
Size outputSize
The size of the images produced by the camera sensor.
Definition: core_ipa_interface.h:43
Size activeAreaSize
The size of the pixel array active area of the sensor.
Definition: core_ipa_interface.h:41
uint32_t minFrameLength
The minimum allowable frame length in units of lines.
Definition: core_ipa_interface.h:46
Rectangle analogCrop
The portion of the pixel array active area which is read-out and processed.
Definition: core_ipa_interface.h:42
uint32_t maxFrameLength
The maximum allowable frame length in units of lines.
Definition: core_ipa_interface.h:47
uint32_t bitsPerPixel
The number of bits per pixel of the image format produced by the image sensor.
Definition: core_ipa_interface.h:40
std::string model
The image sensor model name.
Definition: core_ipa_interface.h:39
uint64_t pixelRate
The number of pixels produced in a second.
Definition: core_ipa_interface.h:44
IPA interface initialization settings.
Definition: core_ipa_interface.h:71
std::string sensorModel
The sensor model name.
Definition: core_ipa_interface.h:86
std::string configurationFile
The name of the IPA configuration file.
Definition: core_ipa_interface.h:85
Stream configuration for the IPA interface.
Definition: core_ipa_interface.h:90
uint32_t pixelFormat
The stream pixel format.
Definition: core_ipa_interface.h:105
Size size
The stream size in pixels.
Definition: core_ipa_interface.h:106