IDS peak ICV v1.3.0
Loading...
Searching...
No Matches
peak_common_pixel_format.hpp
Go to the documentation of this file.
1
13#pragma once
14
18#include <peak_common_c/detail/peak_common_defines.h>
19#include <peak_common_c/types/peak_common_pixel_format.h>
20#include <unordered_map>
21#include <algorithm>
22#include <array>
23#include <cstdint>
24#include <ostream>
25#include <string>
26#include <vector>
27
28namespace peak
29{
30namespace common
31{
32namespace detail
33{
34constexpr uint64_t CPixelFormatCast(peak_common_pixel_format pixelFormat) noexcept
35{
36 return static_cast<uint32_t>(static_cast<std::underlying_type_t<peak_common_pixel_format>>(pixelFormat));
37}
38} // namespace detail
39
40// clang-format off
50enum class PixelFormat : uint64_t
51{
52 BayerGR8 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_8,
53 BayerGR10 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10,
54 BayerGR12 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12,
55
56 BayerRG8 = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_8,
57 BayerRG10 = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10,
58 BayerRG12 = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12,
59
60 BayerGB8 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_8,
61 BayerGB10 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10,
62 BayerGB12 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12,
63
64 BayerBG8 = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_8,
65 BayerBG10 = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10,
66 BayerBG12 = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12,
67
68 Mono8 = PEAK_COMMON_PIXEL_FORMAT_MONO_8,
69 Mono10 = PEAK_COMMON_PIXEL_FORMAT_MONO_10,
70 Mono12 = PEAK_COMMON_PIXEL_FORMAT_MONO_12,
71 Mono16 = PEAK_COMMON_PIXEL_FORMAT_MONO_16,
72
73 Confidence8 = PEAK_COMMON_PIXEL_FORMAT_CONFIDENCE_8,
74 Confidence16 = PEAK_COMMON_PIXEL_FORMAT_CONFIDENCE_16,
75
76 Coord3D_C8 = PEAK_COMMON_PIXEL_FORMAT_COORD3D_C8,
77 Coord3D_C16 = PEAK_COMMON_PIXEL_FORMAT_COORD3D_C16,
78 Coord3D_C32f = PEAK_COMMON_PIXEL_FORMAT_COORD3D_C32F,
79
80 Coord3D_ABC32f = PEAK_COMMON_PIXEL_FORMAT_COORD3D_ABC32F,
81
82 YUV420_8_YY_UV_SemiplanarIDS = PEAK_COMMON_PIXEL_FORMAT_YUV420_8_YY_UV_SemiplanarIDS,
83 YUV420_8_YY_VU_SemiplanarIDS = PEAK_COMMON_PIXEL_FORMAT_YUV420_8_YY_VU_SemiplanarIDS,
84
85 YUV422_8_UYVY = PEAK_COMMON_PIXEL_FORMAT_YUV422_8_UYVY,
86
87 RGB8 = PEAK_COMMON_PIXEL_FORMAT_RGB_8,
88 RGB10 = PEAK_COMMON_PIXEL_FORMAT_RGB_10,
89 RGB12 = PEAK_COMMON_PIXEL_FORMAT_RGB_12,
90
91 BGR8 = PEAK_COMMON_PIXEL_FORMAT_BGR_8,
92 BGR10 = PEAK_COMMON_PIXEL_FORMAT_BGR_10,
93 BGR12 = PEAK_COMMON_PIXEL_FORMAT_BGR_12,
94
95 RGBa8 = PEAK_COMMON_PIXEL_FORMAT_RGBA_8,
96 RGBa10 = PEAK_COMMON_PIXEL_FORMAT_RGBA_10,
97 RGBa12 = PEAK_COMMON_PIXEL_FORMAT_RGBA_12,
98
99 BGRa8 = PEAK_COMMON_PIXEL_FORMAT_BGRA_8,
100 BGRa10 = PEAK_COMMON_PIXEL_FORMAT_BGRA_10,
101 BGRa12 = PEAK_COMMON_PIXEL_FORMAT_BGRA_12,
102
103 BayerBG10p = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_PACKED,
104 BayerBG12p = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_PACKED,
105
106 BayerGB10p = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_PACKED,
107 BayerGB12p = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_PACKED,
108
109 BayerGR10p = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_PACKED,
110 BayerGR12p = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_PACKED,
111
112 BayerRG10p = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_PACKED,
113 BayerRG12p = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_PACKED,
114
115 Mono10p = PEAK_COMMON_PIXEL_FORMAT_MONO_10_PACKED,
116 Mono12p = PEAK_COMMON_PIXEL_FORMAT_MONO_12_PACKED,
117
118 RGB10p32 = PEAK_COMMON_PIXEL_FORMAT_RGB_10_PACKED_32,
119 BGR10p32 = PEAK_COMMON_PIXEL_FORMAT_BGR_10_PACKED_32,
120
121 BayerRG10g40IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_GROUPED_40_IDS,
122 BayerGB10g40IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_GROUPED_40_IDS,
123 BayerGR10g40IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_GROUPED_40_IDS,
124 BayerBG10g40IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_GROUPED_40_IDS,
125
126 BayerRG12g24IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_GROUPED_24_IDS,
127 BayerGB12g24IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_GROUPED_24_IDS,
128 BayerGR12g24IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_GROUPED_24_IDS,
129 BayerBG12g24IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_GROUPED_24_IDS,
130
131 Mono10g40IDS = PEAK_COMMON_PIXEL_FORMAT_MONO_10_GROUPED_40_IDS,
132 Mono12g24IDS = PEAK_COMMON_PIXEL_FORMAT_MONO_12_GROUPED_24_IDS,
133
134 Mono32fIDS = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_32F_IDS),
135 RGB32fIDS = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_RGB_32F_IDS),
136
137 Mono10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_GROUPED_40_IDS_INTERLEAVED_A_B),
138 BayerRG10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_GROUPED_40_IDS_INTERLEAVED_A_B),
139 BayerBG10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_GROUPED_40_IDS_INTERLEAVED_A_B),
140 BayerGR10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_GROUPED_40_IDS_INTERLEAVED_A_B),
141 BayerGB10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_GROUPED_40_IDS_INTERLEAVED_A_B),
142 Mono12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_GROUPED_24_IDS_INTERLEAVED_A_B),
143 BayerRG12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_GROUPED_24_IDS_INTERLEAVED_A_B),
144 BayerBG12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_GROUPED_24_IDS_INTERLEAVED_A_B),
145 BayerGR12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_GROUPED_24_IDS_INTERLEAVED_A_B),
146 BayerGB12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_GROUPED_24_IDS_INTERLEAVED_A_B),
147 Mono8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_8_INTERLEAVED_A_B),
148 BayerRG8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_8_INTERLEAVED_A_B),
149 BayerBG8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_8_INTERLEAVED_A_B),
150 BayerGR8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_8_INTERLEAVED_A_B),
151 BayerGB8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_8_INTERLEAVED_A_B),
152 Mono10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_INTERLEAVED_A_B),
153 BayerRG10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_INTERLEAVED_A_B),
154 BayerBG10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_INTERLEAVED_A_B),
155 BayerGR10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_INTERLEAVED_A_B),
156 BayerGB10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_INTERLEAVED_A_B),
157 Mono12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_INTERLEAVED_A_B),
158 BayerRG12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_INTERLEAVED_A_B),
159 BayerBG12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_INTERLEAVED_A_B),
160 BayerGR12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_INTERLEAVED_A_B),
161 BayerGB12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_INTERLEAVED_A_B),
162 Mono10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_PACKED_INTERLEAVED_A_B),
163 BayerRG10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_PACKED_INTERLEAVED_A_B),
164 BayerBG10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_PACKED_INTERLEAVED_A_B),
165 BayerGR10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_PACKED_INTERLEAVED_A_B),
166 BayerGB10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_PACKED_INTERLEAVED_A_B),
167 Mono12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_PACKED_INTERLEAVED_A_B),
168 BayerRG12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_PACKED_INTERLEAVED_A_B),
169 BayerBG12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_PACKED_INTERLEAVED_A_B),
170 BayerGR12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_PACKED_INTERLEAVED_A_B),
171 BayerGB12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_PACKED_INTERLEAVED_A_B),
172 Mono8_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_8_INTERLEAVED_AB_CD),
173 Mono10_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_INTERLEAVED_AB_CD),
174 Mono12_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_INTERLEAVED_AB_CD),
175 Mono10p_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_PACKED_INTERLEAVED_AB_CD),
176 Mono12p_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_PACKED_INTERLEAVED_AB_CD),
177 Mono10g40IDS_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_GROUPED_40_IDS_INTERLEAVED_AB_CD),
178 Mono12g24IDS_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_GROUPED_24_IDS_INTERLEAVED_AB_CD),
179
180 Mono10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_AB),
181 BayerRG10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_AB),
182 BayerBG10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_AB),
183 BayerGR10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_AB),
184 BayerGB10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_AB),
185 Mono12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_AB),
186 BayerRG12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_AB),
187 BayerBG12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_AB),
188 BayerGR12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_AB),
189 BayerGB12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_AB),
190 Mono8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_8_AB),
191 BayerRG8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_8_AB),
192 BayerBG8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_8_AB),
193 BayerGR8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_8_AB),
194 BayerGB8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_8_AB),
195 Mono8_ABCD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_8_ABCD),
196 Mono10_ABCD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_ABCD),
197 Mono12_ABCD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_ABCD),
198};
199// clang-format on
200
201namespace detail
202{
203constexpr PixelFormat CPixelFormatToCppPixelFormat(peak_common_pixel_format pixelFormat) noexcept
204{
205 return static_cast<PixelFormat>(CPixelFormatCast(pixelFormat));
206}
207
208constexpr peak_common_pixel_format CppPixelFormatToCPixelFormat(PixelFormat pixelFormat) noexcept
209{
210 return static_cast<peak_common_pixel_format>(static_cast<uint32_t>(pixelFormat));
211}
212} // namespace detail
213
224{
225public:
232 explicit PixelFormatInfo(peak::common::PixelFormat pixelFormat);
233
240 explicit PixelFormatInfo(const std::string& name);
241
249 template <typename T = size_t>
250 PEAK_COMMON_NO_DISCARD T GetMinimumValuePerChannel() const;
251
259 template <typename T = size_t>
260 PEAK_COMMON_NO_DISCARD T GetMaximumValuePerChannel() const;
261
268 PEAK_COMMON_NO_DISCARD size_t GetStorageBitsPerPixel() const;
269
276 PEAK_COMMON_NO_DISCARD size_t GetStorageBitsPerChannel() const;
277
284 PEAK_COMMON_NO_DISCARD std::string GetName() const;
285
292 PEAK_COMMON_NO_DISCARD std::vector<Channel> GetChannels() const;
293
300 PEAK_COMMON_NO_DISCARD size_t GetAllocatedBitsPerPixel() const;
301
308 PEAK_COMMON_NO_DISCARD bool HasIntensityChannel() const;
309
317 PEAK_COMMON_NO_DISCARD size_t GetChannelIndex(Channel channel) const;
318
325 PEAK_COMMON_NO_DISCARD size_t GetNumberOfChannels() const;
326
333 PEAK_COMMON_NO_DISCARD bool IsSingleChannel() const;
334
342 PEAK_COMMON_NO_DISCARD bool HasChannel(Channel channel) const;
343
350 PEAK_COMMON_NO_DISCARD peak::common::PixelFormat GetPixelFormat() const;
351
359 PEAK_COMMON_NO_DISCARD size_t GetSizeInBytes(const Size& size) const;
360
367 PEAK_COMMON_NO_DISCARD bool IsPacked() const;
368
408 PEAK_COMMON_NO_DISCARD bool IsInterleaved() const;
409
416 PEAK_COMMON_NO_DISCARD bool IsFloat() const;
417
426 PEAK_COMMON_NO_DISCARD PixelFormat GetUnpackedPixelFormat() const;
427
428private:
429 peak::common::PixelFormat m_pixelFormat;
430};
431
433 : m_pixelFormat{ pixelFormat }
434{}
435
437{
439}
440
441inline size_t PixelFormatInfo::GetChannelIndex(Channel channel) const
442{
443 const auto channels = this->GetChannels();
444 const auto it = std::find(channels.cbegin(), channels.cend(), channel);
445 if (it == channels.end())
446 {
447 throw InvalidParameterException("The given channel is not part of the pixel format " + GetName() + '!');
448 }
449
450 return static_cast<size_t>(std::distance(channels.begin(), it));
451}
452
454{
455 return this->GetChannels().size();
456}
457
459{
460 return GetNumberOfChannels() == 1;
461}
462
463inline bool PixelFormatInfo::HasChannel(Channel channel) const
464{
465 const auto channels = this->GetChannels();
466 return std::find(channels.cbegin(), channels.cend(), channel) != channels.cend();
467}
468
470{
471 return m_pixelFormat;
472}
473} // namespace common
474} // namespace peak
475
Thrown when a function receives an invalid parameter.
Provides information and utility functions for pixel formats.
std::vector< Channel > GetChannels() const
Returns the list of channels in the pixel format.
PixelFormatInfo(peak::common::PixelFormat pixelFormat)
Constructs a PixelFormatInfo object for the specified pixel format.
T GetMinimumValuePerChannel() const
Returns the minimum possible value per channel for the pixel format.
bool HasIntensityChannel() const
Checks whether the pixel format includes an intensity channel.
PixelFormat GetUnpackedPixelFormat() const
Returns the unpacked pixel format for a packed pixel format.
size_t GetChannelIndex(Channel channel) const
Returns the index of a specific channel within the pixel format.
size_t GetStorageBitsPerPixel() const
Returns the total number of bits used per pixel for storage.
bool HasChannel(Channel channel) const
Checks whether a specific channel is present in the pixel format.
size_t GetNumberOfChannels() const
Returns the total number of channels in the pixel format.
size_t GetSizeInBytes(const Size &size) const
Calculates the memory size in bytes for a given image size.
size_t GetAllocatedBitsPerPixel() const
Returns the number of allocated bits per pixel.
T GetMaximumValuePerChannel() const
Returns the maximum possible value per channel for the pixel format.
size_t GetStorageBitsPerChannel() const
Returns the number of bits used per channel for storage.
bool IsSingleChannel() const
Checks whether the pixel format contains only a single channel.
peak::common::PixelFormat GetPixelFormat() const
Returns the underlying pixel format enumeration value.
std::string GetName() const
Returns the human-readable name of the pixel format.
bool IsFloat() const
Returns whether the pixel format uses floating points.
bool IsInterleaved() const
Indicates whether the pixel format is interleaved.
bool IsPacked() const
Returns whether the pixel format is packed.
Represents a two-dimensional size with non-negative width and height.
Channel
Represents the various data channels in image or spatial data formats.
PixelFormat
Enum listing all supported pixel formats and their internal IDs.
@ RGB32fIDS
RGB 32-Bit float format (IDS)
@ BayerGR12p_I_A_B
BayerGR 12-Bit packed format line Interleaved Components A, B.
@ BayerGB12_AB
BayerGB 12-Bit pixel format Components A, B.
@ BayerRG12g24IDS
BayerRG 12-Bit grouped 24-bit (IDS)
@ BayerBG12p_I_A_B
BayerBG 12-Bit packed format line Interleaved Components A, B.
@ Coord3D_C8
3D coordinate C 8-Bit format
@ Mono10g40IDS_I_A_B
Mono 10-Bit grouped 40-bit (IDS) line Interleaved Components A, B.
@ RGBa10
RGBA 10-Bit pixel format.
@ RGB8
RGB 8-Bit pixel format.
@ Mono10_I_AB_CD
Mono 10-Bit pixel format pixel Interleaved Components A, B, C, D.
@ Mono12p
Mono 12-Bit packed format.
@ Mono12
Mono 12-Bit pixel format.
@ BGR10p32
BGR 10-Bit packed 32-bit format.
@ BayerGR12_AB
BayerGR 12-Bit pixel format Components A, B.
@ BayerGB10
BayerGB 10-Bit pixel format.
@ BayerBG8_I_A_B
BayerBG 8-Bit pixel format line Interleaved Components A, B.
@ BayerGB12p_I_A_B
BayerGB 12-Bit packed format line Interleaved Components A, B.
@ BayerRG12p
BayerRG 12-Bit packed format.
@ BayerBG10
BayerBG 10-Bit pixel format.
@ BayerGR10_I_A_B
BayerGR 10-Bit pixel format line Interleaved Components A, B.
@ RGBa8
RGBA 8-Bit pixel format.
@ Mono10g40IDS
Mono 10-Bit grouped 40-bit (IDS)
@ BayerRG8_I_A_B
BayerRG 8-Bit pixel format line Interleaved Components A, B.
@ BayerGB10g40IDS_I_A_B
BayerGB 10-Bit grouped 40-bit (IDS) line Interleaved Components A, B.
@ BayerGR10g40IDS
BayerGR 10-Bit grouped 40-bit (IDS)
@ BayerGR12_I_A_B
BayerGR 12-Bit pixel format line Interleaved Components A, B.
@ BayerBG8_AB
BayerBG 8-Bit pixel format Components A, B.
@ BayerBG10p
BayerBG 10-Bit packed format.
@ BayerRG10p_I_A_B
BayerRG 10-Bit packed format line Interleaved Components A, B.
@ Mono10_ABCD
Mono 10-Bit pixel format Components A, B, C, D.
@ RGBa12
RGBA 12-Bit pixel format.
@ BayerGB10p_I_A_B
BayerGB 10-Bit packed format line Interleaved Components A, B.
@ BayerGB12p
BayerGB 12-Bit packed format.
@ BGRa12
BGRA 12-Bit pixel format.
@ BayerGR12
BayerGR 12-Bit pixel format.
@ Mono10p_I_A_B
Mono 10-Bit packed format line Interleaved Components A, B.
@ BayerRG10p
BayerRG 10-Bit packed format.
@ BayerGR8_I_A_B
BayerGR 8-Bit pixel format line Interleaved Components A, B.
@ BayerGR10p_I_A_B
BayerGR 10-Bit packed format line Interleaved Components A, B.
@ BayerRG12
BayerRG 12-Bit pixel format.
@ BayerBG10g40IDS_I_A_B
BayerBG 10-Bit grouped 40-bit (IDS) line Interleaved Components A, B.
@ BayerGR12p
BayerGR 12-Bit packed format.
@ BayerGR8
BayerGR 8-Bit pixel format.
@ BayerBG12p
BayerBG 12-Bit packed format.
@ BayerBG8
BayerBG 8-Bit pixel format.
@ BayerBG12_AB
BayerBG 12-Bit pixel format Components A, B.
@ Confidence16
Confidence 16-Bit format.
@ BayerGB12_I_A_B
BayerGB 12-Bit pixel format line Interleaved Components A, B.
@ Mono12g24IDS
Mono 12-Bit grouped 24-bit (IDS)
@ BayerRG10
BayerRG 10-Bit pixel format.
@ BayerGB12
BayerGB 12-Bit pixel format.
@ Mono8_I_AB_CD
Mono 8-Bit pixel format pixel Interleaved Components A, B, C, D.
@ BayerRG8
BayerRG 8-Bit pixel format.
@ BayerGR10p
BayerGR 10-Bit packed format.
@ BayerBG12_I_A_B
BayerBG 12-Bit pixel format line Interleaved Components A, B.
@ BayerBG10_AB
BayerBG 10-Bit pixel format Components A, B.
@ YUV422_8_UYVY
UYVY 4:2:2 8-Bit format.
@ YUV420_8_YY_VU_SemiplanarIDS
YUV4:2:0 8-Bit YY/VU semiplanar (IDS)
@ BayerRG12g24IDS_I_A_B
BayerRG 10-Bit grouped 40-bit (IDS) line Interleaved Components A, B.
@ Mono8_ABCD
Mono 8-Bit pixel format Components A, B, C, D.
@ Mono12p_I_AB_CD
Mono 12-Bit packed format pixel Interleaved Components A, B, C, D.
@ BayerGB8
BayerGB 8-Bit pixel format.
@ Mono12_I_AB_CD
Mono 12-Bit pixel format pixel Interleaved Components A, B, C, D.
@ Mono10_I_A_B
Mono 10-Bit pixel format line Interleaved Components A, B.
@ BGR12
BGR 12-Bit pixel format.
@ Mono8_AB
Mono 8-Bit pixel format Components A, B.
@ Confidence8
Confidence 8-Bit format.
@ Mono10g40IDS_I_AB_CD
Mono 10-Bit grouped 40-bit (IDS) pixel Interleaved Components A, B, C, D.
@ BayerRG10g40IDS_I_A_B
BayerRG 10-Bit grouped 40-bit (IDS) line Interleaved Components A, B.
@ BayerGR12g24IDS_I_A_B
BayerGR 10-Bit grouped 40-bit (IDS) line Interleaved Components A, B.
@ RGB10
RGB 10-Bit pixel format.
@ BayerGR12g24IDS
BayerGR 12-Bit grouped 24-bit (IDS)
@ YUV420_8_YY_UV_SemiplanarIDS
YUV4:2:0 8-Bit YY/UV semiplanar (IDS)
@ BayerGR10
BayerGR 10-Bit pixel format.
@ Coord3D_C32f
3D coordinate C 32-Bit float format
@ Mono16
Mono 16-Bit pixel format.
@ Mono10
Mono 10-Bit pixel format.
@ BayerRG12_AB
BayerRG 12-Bit pixel format Components A, B.
@ Mono10p_I_AB_CD
Mono 10-Bit packed format pixel Interleaved Components A, B, C, D.
@ Mono12g24IDS_I_A_B
Mono 12-Bit grouped 24-bit (IDS) line Interleaved Components A, B.
@ BayerRG10_AB
BayerRG 10-Bit pixel format Components A, B.
@ Mono8
Mono 8-Bit pixel format.
@ Mono12_I_A_B
Mono 12-Bit pixel format line Interleaved Components A, B.
@ BGR10
BGR 10-Bit pixel format.
@ BayerBG10_I_A_B
BayerBG 10-Bit pixel format line Interleaved Components A, B.
@ Mono12p_I_A_B
Mono 12-Bit packed format line Interleaved Components A, B.
@ BayerGB12g24IDS_I_A_B
BayerGB 10-Bit grouped 40-bit (IDS) line Interleaved Components A, B.
@ Coord3D_ABC32f
3D coordinates A, B, C 32-Bit float format
@ RGB12
RGB 12-Bit pixel format.
@ BayerGB10_I_A_B
BayerGB 10-Bit pixel format line Interleaved Components A, B.
@ BayerBG10p_I_A_B
BayerBG 10-Bit packed format line Interleaved Components A, B.
@ BayerGR10_AB
BayerGR 10-Bit pixel format Components A, B.
@ BayerBG12
BayerBG 12-Bit pixel format.
@ BayerBG10g40IDS
BayerBG 10-Bit grouped 40-bit (IDS)
@ BayerGR8_AB
BayerGR 8-Bit pixel format Components A, B.
@ BayerGB10p
BayerGB 10-Bit packed format.
@ Mono12g24IDS_I_AB_CD
Mono 12-Bit grouped 24-bit (IDS) pixel Interleaved Components A, B, C, D.
@ Mono32fIDS
Mono 32-Bit float format (IDS)
@ BayerRG8_AB
BayerRG 8-Bit pixel format Components A, B.
@ BGRa8
BGRA 8-Bit pixel format.
@ BayerGB8_AB
BayerGB 8-Bit pixel format Components A, B.
@ BayerGB10_AB
BayerGB 10-Bit pixel format Components A, B.
@ BGRa10
BGRA 10-Bit pixel format.
@ Coord3D_C16
3D coordinate C 16-Bit format
@ BayerRG12_I_A_B
BayerRG 12-Bit pixel format line Interleaved Components A, B.
@ BGR8
BGR 8-Bit pixel format.
@ BayerBG12g24IDS_I_A_B
BayerBG 10-Bit grouped 40-bit (IDS) line Interleaved Components A, B.
@ BayerBG12g24IDS
BayerBG 12-Bit grouped 24-bit (IDS)
@ Mono8_I_A_B
Mono 8-Bit pixel format line Interleaved Components A, B.
@ Mono12_AB
Mono 12-Bit pixel format Components A, B.
@ Mono10_AB
Mono 10-Bit pixel format Components A, B.
@ BayerGR10g40IDS_I_A_B
BayerGR 10-Bit grouped 40-bit (IDS) line Interleaved Components A, B.
@ Mono10p
Mono 10-Bit packed format.
@ BayerRG10g40IDS
BayerRG 10-Bit grouped 40-bit (IDS)
@ BayerGB8_I_A_B
BayerGB 8-Bit pixel format line Interleaved Components A, B.
@ BayerRG12p_I_A_B
BayerRG 12-Bit packed format line Interleaved Components A, B.
@ Mono12_ABCD
Mono 12-Bit pixel format Components A, B, C, D.
@ BayerRG10_I_A_B
BayerRG 10-Bit pixel format line Interleaved Components A, B.
@ RGB10p32
RGB 10-Bit packed 32-bit format.
@ BayerGB10g40IDS
BayerGB 10-Bit grouped 40-bit (IDS)
@ BayerGB12g24IDS
BayerGB 12-Bit grouped 24-bit (IDS)
constexpr peak_common_pixel_format CppPixelFormatToCPixelFormat(PixelFormat pixelFormat) noexcept
constexpr uint64_t CPixelFormatCast(peak_common_pixel_format pixelFormat) noexcept
constexpr PixelFormat CPixelFormatToCppPixelFormat(peak_common_pixel_format pixelFormat) noexcept