IDS peak ICV v1.2.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
51enum class PixelFormat : uint64_t
52{
53 BayerGR8 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_8,
54 BayerGR10 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10,
55 BayerGR12 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12,
56
57 BayerRG8 = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_8,
58 BayerRG10 = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10,
59 BayerRG12 = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12,
60
61 BayerGB8 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_8,
62 BayerGB10 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10,
63 BayerGB12 = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12,
64
65 BayerBG8 = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_8,
66 BayerBG10 = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10,
67 BayerBG12 = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12,
68
69 Mono8 = PEAK_COMMON_PIXEL_FORMAT_MONO_8,
70 Mono10 = PEAK_COMMON_PIXEL_FORMAT_MONO_10,
71 Mono12 = PEAK_COMMON_PIXEL_FORMAT_MONO_12,
72 Mono16 = PEAK_COMMON_PIXEL_FORMAT_MONO_16,
73
74 Confidence8 = PEAK_COMMON_PIXEL_FORMAT_CONFIDENCE_8,
75 Confidence16 = PEAK_COMMON_PIXEL_FORMAT_CONFIDENCE_16,
76
77 Coord3D_C8 = PEAK_COMMON_PIXEL_FORMAT_COORD3D_C8,
78 Coord3D_C16 = PEAK_COMMON_PIXEL_FORMAT_COORD3D_C16,
79 Coord3D_C32f = PEAK_COMMON_PIXEL_FORMAT_COORD3D_C32F,
80
81 Coord3D_ABC32f = PEAK_COMMON_PIXEL_FORMAT_COORD3D_ABC32F,
82
83 YUV420_8_YY_UV_SemiplanarIDS = PEAK_COMMON_PIXEL_FORMAT_YUV420_8_YY_UV_SemiplanarIDS,
84 YUV420_8_YY_VU_SemiplanarIDS = PEAK_COMMON_PIXEL_FORMAT_YUV420_8_YY_VU_SemiplanarIDS,
85
86 YUV422_8_UYVY = PEAK_COMMON_PIXEL_FORMAT_YUV422_8_UYVY,
87
88 RGB8 = PEAK_COMMON_PIXEL_FORMAT_RGB_8,
89 RGB10 = PEAK_COMMON_PIXEL_FORMAT_RGB_10,
90 RGB12 = PEAK_COMMON_PIXEL_FORMAT_RGB_12,
91
92 BGR8 = PEAK_COMMON_PIXEL_FORMAT_BGR_8,
93 BGR10 = PEAK_COMMON_PIXEL_FORMAT_BGR_10,
94 BGR12 = PEAK_COMMON_PIXEL_FORMAT_BGR_12,
95
96 RGBa8 = PEAK_COMMON_PIXEL_FORMAT_RGBA_8,
97 RGBa10 = PEAK_COMMON_PIXEL_FORMAT_RGBA_10,
98 RGBa12 = PEAK_COMMON_PIXEL_FORMAT_RGBA_12,
99
100 BGRa8 = PEAK_COMMON_PIXEL_FORMAT_BGRA_8,
101 BGRa10 = PEAK_COMMON_PIXEL_FORMAT_BGRA_10,
102 BGRa12 = PEAK_COMMON_PIXEL_FORMAT_BGRA_12,
103
104 BayerBG10p = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_PACKED,
105 BayerBG12p = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_PACKED,
106
107 BayerGB10p = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_PACKED,
108 BayerGB12p = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_PACKED,
109
110 BayerGR10p = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_PACKED,
111 BayerGR12p = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_PACKED,
112
113 BayerRG10p = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_PACKED,
114 BayerRG12p = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_PACKED,
115
116 Mono10p = PEAK_COMMON_PIXEL_FORMAT_MONO_10_PACKED,
117 Mono12p = PEAK_COMMON_PIXEL_FORMAT_MONO_12_PACKED,
118
119 RGB10p32 = PEAK_COMMON_PIXEL_FORMAT_RGB_10_PACKED_32,
120 BGR10p32 = PEAK_COMMON_PIXEL_FORMAT_BGR_10_PACKED_32,
121
122 BayerRG10g40IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_GROUPED_40_IDS,
123 BayerGB10g40IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_GROUPED_40_IDS,
124 BayerGR10g40IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_GROUPED_40_IDS,
125 BayerBG10g40IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_GROUPED_40_IDS,
126
127 BayerRG12g24IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_GROUPED_24_IDS,
128 BayerGB12g24IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_GROUPED_24_IDS,
129 BayerGR12g24IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_GROUPED_24_IDS,
130 BayerBG12g24IDS = PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_GROUPED_24_IDS,
131
132 Mono10g40IDS = PEAK_COMMON_PIXEL_FORMAT_MONO_10_GROUPED_40_IDS,
133 Mono12g24IDS = PEAK_COMMON_PIXEL_FORMAT_MONO_12_GROUPED_24_IDS,
134
135 Mono32fIDS = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_32F_IDS),
136 RGB32fIDS = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_RGB_32F_IDS),
137
138 Mono10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_GROUPED_40_IDS_INTERLEAVED_A_B),
139 BayerRG10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_GROUPED_40_IDS_INTERLEAVED_A_B),
140 BayerBG10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_GROUPED_40_IDS_INTERLEAVED_A_B),
141 BayerGR10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_GROUPED_40_IDS_INTERLEAVED_A_B),
142 BayerGB10g40IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_GROUPED_40_IDS_INTERLEAVED_A_B),
143 Mono12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_GROUPED_24_IDS_INTERLEAVED_A_B),
144 BayerRG12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_GROUPED_24_IDS_INTERLEAVED_A_B),
145 BayerBG12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_GROUPED_24_IDS_INTERLEAVED_A_B),
146 BayerGR12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_GROUPED_24_IDS_INTERLEAVED_A_B),
147 BayerGB12g24IDS_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_GROUPED_24_IDS_INTERLEAVED_A_B),
148 Mono8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_8_INTERLEAVED_A_B),
149 BayerRG8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_8_INTERLEAVED_A_B),
150 BayerBG8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_8_INTERLEAVED_A_B),
151 BayerGR8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_8_INTERLEAVED_A_B),
152 BayerGB8_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_8_INTERLEAVED_A_B),
153 Mono10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_INTERLEAVED_A_B),
154 BayerRG10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_INTERLEAVED_A_B),
155 BayerBG10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_INTERLEAVED_A_B),
156 BayerGR10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_INTERLEAVED_A_B),
157 BayerGB10_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_INTERLEAVED_A_B),
158 Mono12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_INTERLEAVED_A_B),
159 BayerRG12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_INTERLEAVED_A_B),
160 BayerBG12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_INTERLEAVED_A_B),
161 BayerGR12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_INTERLEAVED_A_B),
162 BayerGB12_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_INTERLEAVED_A_B),
163 Mono10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_PACKED_INTERLEAVED_A_B),
164 BayerRG10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_PACKED_INTERLEAVED_A_B),
165 BayerBG10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_PACKED_INTERLEAVED_A_B),
166 BayerGR10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_PACKED_INTERLEAVED_A_B),
167 BayerGB10p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_PACKED_INTERLEAVED_A_B),
168 Mono12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_PACKED_INTERLEAVED_A_B),
169 BayerRG12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_PACKED_INTERLEAVED_A_B),
170 BayerBG12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_PACKED_INTERLEAVED_A_B),
171 BayerGR12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_PACKED_INTERLEAVED_A_B),
172 BayerGB12p_I_A_B = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_PACKED_INTERLEAVED_A_B),
173 Mono8_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_8_INTERLEAVED_AB_CD),
174 Mono10_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_INTERLEAVED_AB_CD),
175 Mono12_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_INTERLEAVED_AB_CD),
176 Mono10p_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_PACKED_INTERLEAVED_AB_CD),
177 Mono12p_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_PACKED_INTERLEAVED_AB_CD),
178 Mono10g40IDS_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_GROUPED_40_IDS_INTERLEAVED_AB_CD),
179 Mono12g24IDS_I_AB_CD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_GROUPED_24_IDS_INTERLEAVED_AB_CD),
180
181 Mono10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_AB),
182 BayerRG10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_10_AB),
183 BayerBG10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_10_AB),
184 BayerGR10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_10_AB),
185 BayerGB10_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_10_AB),
186 Mono12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_AB),
187 BayerRG12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_12_AB),
188 BayerBG12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_12_AB),
189 BayerGR12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_12_AB),
190 BayerGB12_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_12_AB),
191 Mono8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_8_AB),
192 BayerRG8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_RG_8_AB),
193 BayerBG8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_BG_8_AB),
194 BayerGR8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GR_8_AB),
195 BayerGB8_AB = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_BAYER_GB_8_AB),
196 Mono8_ABCD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_8_ABCD),
197 Mono10_ABCD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_10_ABCD),
198 Mono12_ABCD = detail::CPixelFormatCast(PEAK_COMMON_PIXEL_FORMAT_MONO_12_ABCD),
199};
200// clang-format on
201
202namespace detail
203{
204constexpr PixelFormat CPixelFormatToCppPixelFormat(peak_common_pixel_format pixelFormat) noexcept
205{
206 return static_cast<PixelFormat>(CPixelFormatCast(pixelFormat));
207}
208
209constexpr peak_common_pixel_format CppPixelFormatToCPixelFormat(PixelFormat pixelFormat) noexcept
210{
211 return static_cast<peak_common_pixel_format>(static_cast<uint32_t>(pixelFormat));
212}
213} // namespace detail
214
225{
226public:
233 explicit PixelFormatInfo(peak::common::PixelFormat pixelFormat);
234
241 explicit PixelFormatInfo(const std::string& name);
242
250 template <typename T = size_t>
251 PEAK_COMMON_NO_DISCARD T GetMinimumValuePerChannel() const;
252
260 template <typename T = size_t>
261 PEAK_COMMON_NO_DISCARD T GetMaximumValuePerChannel() const;
262
269 PEAK_COMMON_NO_DISCARD size_t GetStorageBitsPerPixel() const;
270
277 PEAK_COMMON_NO_DISCARD size_t GetStorageBitsPerChannel() const;
278
285 PEAK_COMMON_NO_DISCARD std::string GetName() const;
286
293 PEAK_COMMON_NO_DISCARD std::vector<Channel> GetChannels() const;
294
301 PEAK_COMMON_NO_DISCARD size_t GetAllocatedBitsPerPixel() const;
302
309 PEAK_COMMON_NO_DISCARD bool HasIntensityChannel() const;
310
318 PEAK_COMMON_NO_DISCARD size_t GetChannelIndex(Channel channel) const;
319
326 PEAK_COMMON_NO_DISCARD size_t GetNumberOfChannels() const;
327
334 PEAK_COMMON_NO_DISCARD bool IsSingleChannel() const;
335
343 PEAK_COMMON_NO_DISCARD bool HasChannel(Channel channel) const;
344
351 PEAK_COMMON_NO_DISCARD peak::common::PixelFormat GetPixelFormat() const;
352
360 PEAK_COMMON_NO_DISCARD size_t GetSizeInBytes(const Size& size) const;
361
368 PEAK_COMMON_NO_DISCARD bool IsPacked() const;
369
409 PEAK_COMMON_NO_DISCARD bool IsInterleaved() const;
410
417 PEAK_COMMON_NO_DISCARD bool IsFloat() const;
418
427 PEAK_COMMON_NO_DISCARD PixelFormat GetUnpackedPixelFormat() const;
428
429private:
430 peak::common::PixelFormat m_pixelFormat;
431};
432
434 : m_pixelFormat{ pixelFormat }
435{}
436
438{
440}
441
442inline size_t PixelFormatInfo::GetChannelIndex(Channel channel) const
443{
444 const auto channels = this->GetChannels();
445 const auto it = std::find(channels.cbegin(), channels.cend(), channel);
446 if (it == channels.end())
447 {
448 throw InvalidParameterException("The given channel is not part of the pixel format " + GetName() + '!');
449 }
450
451 return static_cast<size_t>(std::distance(channels.begin(), it));
452}
453
455{
456 return this->GetChannels().size();
457}
458
460{
461 return GetNumberOfChannels() == 1;
462}
463
464inline bool PixelFormatInfo::HasChannel(Channel channel) const
465{
466 const auto channels = this->GetChannels();
467 return std::find(channels.cbegin(), channels.cend(), channel) != channels.cend();
468}
469
471{
472 return m_pixelFormat;
473}
474} // namespace common
475} // namespace peak
476
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