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