PFNC.h
Go to the documentation of this file.
1 /**************************************************************************************************************
2  * This file was automatically generated by tools designed and maintained by Leutron Vision, Matrox, Groget, MVTec Software.
3  * Copyright (C) 2007-2016 Leutron Vision, Matrox, Groget, MVTec Software.
4  * You can freely use and modify the file without restrictions.
5  * The file is provided as is, without any warranty. Bug reports and other feedback is appreciated.
6  **************************************************************************************************************
7  *
8  **************************************************************************************************************
9  * Version and date information:
10  * PFNC value list release date: 2017-02-17
11  * Header generator version: 3.2
12  * Header generation date: 2017-02-21
13  **************************************************************************************************************/
14 
15 #ifndef PFNC_H
16 #define PFNC_H
17 
18 #define PFNC_Mono1p 0x01010037 /* Monochrome 1-bit packed */
19 #define PFNC_Mono2p 0x01020038 /* Monochrome 2-bit packed */
20 #define PFNC_Mono4p 0x01040039 /* Monochrome 4-bit packed */
21 #define PFNC_Mono8 0x01080001 /* Monochrome 8-bit */
22 #define PFNC_Mono8s 0x01080002 /* Monochrome 8-bit signed */
23 #define PFNC_Mono10 0x01100003 /* Monochrome 10-bit unpacked */
24 #define PFNC_Mono10p 0x010A0046 /* Monochrome 10-bit packed */
25 #define PFNC_Mono12 0x01100005 /* Monochrome 12-bit unpacked */
26 #define PFNC_Mono12p 0x010C0047 /* Monochrome 12-bit packed */
27 #define PFNC_Mono14 0x01100025 /* Monochrome 14-bit unpacked */
28 #define PFNC_Mono16 0x01100007 /* Monochrome 16-bit */
29 #define PFNC_BayerBG8 0x0108000B /* Bayer Blue-Green 8-bit */
30 #define PFNC_BayerBG10 0x0110000F /* Bayer Blue-Green 10-bit unpacked */
31 #define PFNC_BayerBG10p 0x010A0052 /* Bayer Blue-Green 10-bit packed */
32 #define PFNC_BayerBG12 0x01100013 /* Bayer Blue-Green 12-bit unpacked */
33 #define PFNC_BayerBG12p 0x010C0053 /* Bayer Blue-Green 12-bit packed */
34 #define PFNC_BayerBG16 0x01100031 /* Bayer Blue-Green 16-bit */
35 #define PFNC_BayerGB8 0x0108000A /* Bayer Green-Blue 8-bit */
36 #define PFNC_BayerGB10 0x0110000E /* Bayer Green-Blue 10-bit unpacked */
37 #define PFNC_BayerGB10p 0x010A0054 /* Bayer Green-Blue 10-bit packed */
38 #define PFNC_BayerGB12 0x01100012 /* Bayer Green-Blue 12-bit unpacked */
39 #define PFNC_BayerGB12p 0x010C0055 /* Bayer Green-Blue 12-bit packed */
40 #define PFNC_BayerGB16 0x01100030 /* Bayer Green-Blue 16-bit */
41 #define PFNC_BayerGR8 0x01080008 /* Bayer Green-Red 8-bit */
42 #define PFNC_BayerGR10 0x0110000C /* Bayer Green-Red 10-bit unpacked */
43 #define PFNC_BayerGR10p 0x010A0056 /* Bayer Green-Red 10-bit packed */
44 #define PFNC_BayerGR12 0x01100010 /* Bayer Green-Red 12-bit unpacked */
45 #define PFNC_BayerGR12p 0x010C0057 /* Bayer Green-Red 12-bit packed */
46 #define PFNC_BayerGR16 0x0110002E /* Bayer Green-Red 16-bit */
47 #define PFNC_BayerRG8 0x01080009 /* Bayer Red-Green 8-bit */
48 #define PFNC_BayerRG10 0x0110000D /* Bayer Red-Green 10-bit unpacked */
49 #define PFNC_BayerRG10p 0x010A0058 /* Bayer Red-Green 10-bit packed */
50 #define PFNC_BayerRG12 0x01100011 /* Bayer Red-Green 12-bit unpacked */
51 #define PFNC_BayerRG12p 0x010C0059 /* Bayer Red-Green 12-bit packed */
52 #define PFNC_BayerRG16 0x0110002F /* Bayer Red-Green 16-bit */
53 #define PFNC_RGBa8 0x02200016 /* Red-Green-Blue-alpha 8-bit */
54 #define PFNC_RGBa10 0x0240005F /* Red-Green-Blue-alpha 10-bit unpacked */
55 #define PFNC_RGBa10p 0x02280060 /* Red-Green-Blue-alpha 10-bit packed */
56 #define PFNC_RGBa12 0x02400061 /* Red-Green-Blue-alpha 12-bit unpacked */
57 #define PFNC_RGBa12p 0x02300062 /* Red-Green-Blue-alpha 12-bit packed */
58 #define PFNC_RGBa14 0x02400063 /* Red-Green-Blue-alpha 14-bit unpacked */
59 #define PFNC_RGBa16 0x02400064 /* Red-Green-Blue-alpha 16-bit */
60 #define PFNC_RGB8 0x02180014 /* Red-Green-Blue 8-bit */
61 #define PFNC_RGB8_Planar 0x02180021 /* Red-Green-Blue 8-bit planar */
62 #define PFNC_RGB10 0x02300018 /* Red-Green-Blue 10-bit unpacked */
63 #define PFNC_RGB10_Planar 0x02300022 /* Red-Green-Blue 10-bit unpacked planar */
64 #define PFNC_RGB10p 0x021E005C /* Red-Green-Blue 10-bit packed */
65 #define PFNC_RGB10p32 0x0220001D /* Red-Green-Blue 10-bit packed into 32-bit */
66 #define PFNC_RGB12 0x0230001A /* Red-Green-Blue 12-bit unpacked */
67 #define PFNC_RGB12_Planar 0x02300023 /* Red-Green-Blue 12-bit unpacked planar */
68 #define PFNC_RGB12p 0x0224005D /* Red-Green-Blue 12-bit packed */
69 #define PFNC_RGB14 0x0230005E /* Red-Green-Blue 14-bit unpacked */
70 #define PFNC_RGB16 0x02300033 /* Red-Green-Blue 16-bit */
71 #define PFNC_RGB16_Planar 0x02300024 /* Red-Green-Blue 16-bit planar */
72 #define PFNC_RGB565p 0x02100035 /* Red-Green-Blue 5/6/5-bit packed */
73 #define PFNC_BGRa8 0x02200017 /* Blue-Green-Red-alpha 8-bit */
74 #define PFNC_BGRa10 0x0240004C /* Blue-Green-Red-alpha 10-bit unpacked */
75 #define PFNC_BGRa10p 0x0228004D /* Blue-Green-Red-alpha 10-bit packed */
76 #define PFNC_BGRa12 0x0240004E /* Blue-Green-Red-alpha 12-bit unpacked */
77 #define PFNC_BGRa12p 0x0230004F /* Blue-Green-Red-alpha 12-bit packed */
78 #define PFNC_BGRa14 0x02400050 /* Blue-Green-Red-alpha 14-bit unpacked */
79 #define PFNC_BGRa16 0x02400051 /* Blue-Green-Red-alpha 16-bit */
80 #define PFNC_BGR8 0x02180015 /* Blue-Green-Red 8-bit */
81 #define PFNC_BGR10 0x02300019 /* Blue-Green-Red 10-bit unpacked */
82 #define PFNC_BGR10p 0x021E0048 /* Blue-Green-Red 10-bit packed */
83 #define PFNC_BGR12 0x0230001B /* Blue-Green-Red 12-bit unpacked */
84 #define PFNC_BGR12p 0x02240049 /* Blue-Green-Red 12-bit packed */
85 #define PFNC_BGR14 0x0230004A /* Blue-Green-Red 14-bit unpacked */
86 #define PFNC_BGR16 0x0230004B /* Blue-Green-Red 16-bit */
87 #define PFNC_BGR565p 0x02100036 /* Blue-Green-Red 5/6/5-bit packed */
88 #define PFNC_R8 0x010800C9 /* Red 8-bit */
89 #define PFNC_R10 0x010A00CA /* Red 10-bit */
90 #define PFNC_R12 0x010C00CB /* Red 12-bit */
91 #define PFNC_R16 0x011000CC /* Red 16-bit */
92 #define PFNC_G8 0x010800CD /* Green 8-bit */
93 #define PFNC_G10 0x010A00CE /* Green 10-bit */
94 #define PFNC_G12 0x010C00CF /* Green 12-bit */
95 #define PFNC_G16 0x011000D0 /* Green 16-bit */
96 #define PFNC_B8 0x010800D1 /* Blue 8-bit */
97 #define PFNC_B10 0x010A00D2 /* Blue 10-bit */
98 #define PFNC_B12 0x010C00D3 /* Blue 12-bit */
99 #define PFNC_B16 0x011000D4 /* Blue 16-bit */
100 #define PFNC_Coord3D_ABC8 0x021800B2 /* 3D coordinate A-B-C 8-bit */
101 #define PFNC_Coord3D_ABC8_Planar 0x021800B3 /* 3D coordinate A-B-C 8-bit planar */
102 #define PFNC_Coord3D_ABC10p 0x021E00DB /* 3D coordinate A-B-C 10-bit packed */
103 #define PFNC_Coord3D_ABC10p_Planar 0x021E00DC /* 3D coordinate A-B-C 10-bit packed planar */
104 #define PFNC_Coord3D_ABC12p 0x022400DE /* 3D coordinate A-B-C 12-bit packed */
105 #define PFNC_Coord3D_ABC12p_Planar 0x022400DF /* 3D coordinate A-B-C 12-bit packed planar */
106 #define PFNC_Coord3D_ABC16 0x023000B9 /* 3D coordinate A-B-C 16-bit */
107 #define PFNC_Coord3D_ABC16_Planar 0x023000BA /* 3D coordinate A-B-C 16-bit planar */
108 #define PFNC_Coord3D_ABC32f 0x026000C0 /* 3D coordinate A-B-C 32-bit floating point */
109 #define PFNC_Coord3D_ABC32f_Planar 0x026000C1 /* 3D coordinate A-B-C 32-bit floating point planar */
110 #define PFNC_Coord3D_AC8 0x021000B4 /* 3D coordinate A-C 8-bit */
111 #define PFNC_Coord3D_AC8_Planar 0x021000B5 /* 3D coordinate A-C 8-bit planar */
112 #define PFNC_Coord3D_AC10p 0x021400F0 /* 3D coordinate A-C 10-bit packed */
113 #define PFNC_Coord3D_AC10p_Planar 0x021400F1 /* 3D coordinate A-C 10-bit packed planar */
114 #define PFNC_Coord3D_AC12p 0x021800F2 /* 3D coordinate A-C 12-bit packed */
115 #define PFNC_Coord3D_AC12p_Planar 0x021800F3 /* 3D coordinate A-C 12-bit packed planar */
116 #define PFNC_Coord3D_AC16 0x022000BB /* 3D coordinate A-C 16-bit */
117 #define PFNC_Coord3D_AC16_Planar 0x022000BC /* 3D coordinate A-C 16-bit planar */
118 #define PFNC_Coord3D_AC32f 0x024000C2 /* 3D coordinate A-C 32-bit floating point */
119 #define PFNC_Coord3D_AC32f_Planar 0x024000C3 /* 3D coordinate A-C 32-bit floating point planar */
120 #define PFNC_Coord3D_A8 0x010800AF /* 3D coordinate A 8-bit */
121 #define PFNC_Coord3D_A10p 0x010A00D5 /* 3D coordinate A 10-bit packed */
122 #define PFNC_Coord3D_A12p 0x010C00D8 /* 3D coordinate A 12-bit packed */
123 #define PFNC_Coord3D_A16 0x011000B6 /* 3D coordinate A 16-bit */
124 #define PFNC_Coord3D_A32f 0x012000BD /* 3D coordinate A 32-bit floating point */
125 #define PFNC_Coord3D_B8 0x010800B0 /* 3D coordinate B 8-bit */
126 #define PFNC_Coord3D_B10p 0x010A00D6 /* 3D coordinate B 10-bit packed */
127 #define PFNC_Coord3D_B12p 0x010C00D9 /* 3D coordinate B 12-bit packed */
128 #define PFNC_Coord3D_B16 0x011000B7 /* 3D coordinate B 16-bit */
129 #define PFNC_Coord3D_B32f 0x012000BE /* 3D coordinate B 32-bit floating point */
130 #define PFNC_Coord3D_C8 0x010800B1 /* 3D coordinate C 8-bit */
131 #define PFNC_Coord3D_C10p 0x010A00D7 /* 3D coordinate C 10-bit packed */
132 #define PFNC_Coord3D_C12p 0x010C00DA /* 3D coordinate C 12-bit packed */
133 #define PFNC_Coord3D_C16 0x011000B8 /* 3D coordinate C 16-bit */
134 #define PFNC_Coord3D_C32f 0x012000BF /* 3D coordinate C 32-bit floating point */
135 #define PFNC_Confidence1 0x010800C4 /* Confidence 1-bit unpacked */
136 #define PFNC_Confidence1p 0x010100C5 /* Confidence 1-bit packed */
137 #define PFNC_Confidence8 0x010800C6 /* Confidence 8-bit */
138 #define PFNC_Confidence16 0x011000C7 /* Confidence 16-bit */
139 #define PFNC_Confidence32f 0x012000C8 /* Confidence 32-bit floating point */
140 #define PFNC_BiColorBGRG8 0x021000A6 /* Bi-color Blue/Green - Red/Green 8-bit */
141 #define PFNC_BiColorBGRG10 0x022000A9 /* Bi-color Blue/Green - Red/Green 10-bit unpacked */
142 #define PFNC_BiColorBGRG10p 0x021400AA /* Bi-color Blue/Green - Red/Green 10-bit packed */
143 #define PFNC_BiColorBGRG12 0x022000AD /* Bi-color Blue/Green - Red/Green 12-bit unpacked */
144 #define PFNC_BiColorBGRG12p 0x021800AE /* Bi-color Blue/Green - Red/Green 12-bit packed */
145 #define PFNC_BiColorRGBG8 0x021000A5 /* Bi-color Red/Green - Blue/Green 8-bit */
146 #define PFNC_BiColorRGBG10 0x022000A7 /* Bi-color Red/Green - Blue/Green 10-bit unpacked */
147 #define PFNC_BiColorRGBG10p 0x021400A8 /* Bi-color Red/Green - Blue/Green 10-bit packed */
148 #define PFNC_BiColorRGBG12 0x022000AB /* Bi-color Red/Green - Blue/Green 12-bit unpacked */
149 #define PFNC_BiColorRGBG12p 0x021800AC /* Bi-color Red/Green - Blue/Green 12-bit packed */
150 #define PFNC_SCF1WBWG8 0x01080067 /* Sparse Color Filter #1 White-Blue-White-Green 8-bit */
151 #define PFNC_SCF1WBWG10 0x01100068 /* Sparse Color Filter #1 White-Blue-White-Green 10-bit unpacked */
152 #define PFNC_SCF1WBWG10p 0x010A0069 /* Sparse Color Filter #1 White-Blue-White-Green 10-bit packed */
153 #define PFNC_SCF1WBWG12 0x0110006A /* Sparse Color Filter #1 White-Blue-White-Green 12-bit unpacked */
154 #define PFNC_SCF1WBWG12p 0x010C006B /* Sparse Color Filter #1 White-Blue-White-Green 12-bit packed */
155 #define PFNC_SCF1WBWG14 0x0110006C /* Sparse Color Filter #1 White-Blue-White-Green 14-bit unpacked */
156 #define PFNC_SCF1WBWG16 0x0110006D /* Sparse Color Filter #1 White-Blue-White-Green 16-bit unpacked */
157 #define PFNC_SCF1WGWB8 0x0108006E /* Sparse Color Filter #1 White-Green-White-Blue 8-bit */
158 #define PFNC_SCF1WGWB10 0x0110006F /* Sparse Color Filter #1 White-Green-White-Blue 10-bit unpacked */
159 #define PFNC_SCF1WGWB10p 0x010A0070 /* Sparse Color Filter #1 White-Green-White-Blue 10-bit packed */
160 #define PFNC_SCF1WGWB12 0x01100071 /* Sparse Color Filter #1 White-Green-White-Blue 12-bit unpacked */
161 #define PFNC_SCF1WGWB12p 0x010C0072 /* Sparse Color Filter #1 White-Green-White-Blue 12-bit packed */
162 #define PFNC_SCF1WGWB14 0x01100073 /* Sparse Color Filter #1 White-Green-White-Blue 14-bit unpacked */
163 #define PFNC_SCF1WGWB16 0x01100074 /* Sparse Color Filter #1 White-Green-White-Blue 16-bit */
164 #define PFNC_SCF1WGWR8 0x01080075 /* Sparse Color Filter #1 White-Green-White-Red 8-bit */
165 #define PFNC_SCF1WGWR10 0x01100076 /* Sparse Color Filter #1 White-Green-White-Red 10-bit unpacked */
166 #define PFNC_SCF1WGWR10p 0x010A0077 /* Sparse Color Filter #1 White-Green-White-Red 10-bit packed */
167 #define PFNC_SCF1WGWR12 0x01100078 /* Sparse Color Filter #1 White-Green-White-Red 12-bit unpacked */
168 #define PFNC_SCF1WGWR12p 0x010C0079 /* Sparse Color Filter #1 White-Green-White-Red 12-bit packed */
169 #define PFNC_SCF1WGWR14 0x0110007A /* Sparse Color Filter #1 White-Green-White-Red 14-bit unpacked */
170 #define PFNC_SCF1WGWR16 0x0110007B /* Sparse Color Filter #1 White-Green-White-Red 16-bit */
171 #define PFNC_SCF1WRWG8 0x0108007C /* Sparse Color Filter #1 White-Red-White-Green 8-bit */
172 #define PFNC_SCF1WRWG10 0x0110007D /* Sparse Color Filter #1 White-Red-White-Green 10-bit unpacked */
173 #define PFNC_SCF1WRWG10p 0x010A007E /* Sparse Color Filter #1 White-Red-White-Green 10-bit packed */
174 #define PFNC_SCF1WRWG12 0x0110007F /* Sparse Color Filter #1 White-Red-White-Green 12-bit unpacked */
175 #define PFNC_SCF1WRWG12p 0x010C0080 /* Sparse Color Filter #1 White-Red-White-Green 12-bit packed */
176 #define PFNC_SCF1WRWG14 0x01100081 /* Sparse Color Filter #1 White-Red-White-Green 14-bit unpacked */
177 #define PFNC_SCF1WRWG16 0x01100082 /* Sparse Color Filter #1 White-Red-White-Green 16-bit */
178 #define PFNC_YCbCr8 0x0218005B /* YCbCr 4:4:4 8-bit */
179 #define PFNC_YCbCr8_CbYCr 0x0218003A /* YCbCr 4:4:4 8-bit */
180 #define PFNC_YCbCr10_CbYCr 0x02300083 /* YCbCr 4:4:4 10-bit unpacked */
181 #define PFNC_YCbCr10p_CbYCr 0x021E0084 /* YCbCr 4:4:4 10-bit packed */
182 #define PFNC_YCbCr12_CbYCr 0x02300085 /* YCbCr 4:4:4 12-bit unpacked */
183 #define PFNC_YCbCr12p_CbYCr 0x02240086 /* YCbCr 4:4:4 12-bit packed */
184 #define PFNC_YCbCr411_8 0x020C005A /* YCbCr 4:1:1 8-bit */
185 #define PFNC_YCbCr411_8_CbYYCrYY 0x020C003C /* YCbCr 4:1:1 8-bit */
186 #define PFNC_YCbCr422_8 0x0210003B /* YCbCr 4:2:2 8-bit */
187 #define PFNC_YCbCr422_8_CbYCrY 0x02100043 /* YCbCr 4:2:2 8-bit */
188 #define PFNC_YCbCr422_10 0x02200065 /* YCbCr 4:2:2 10-bit unpacked */
189 #define PFNC_YCbCr422_10_CbYCrY 0x02200099 /* YCbCr 4:2:2 10-bit unpacked */
190 #define PFNC_YCbCr422_10p 0x02140087 /* YCbCr 4:2:2 10-bit packed */
191 #define PFNC_YCbCr422_10p_CbYCrY 0x0214009A /* YCbCr 4:2:2 10-bit packed */
192 #define PFNC_YCbCr422_12 0x02200066 /* YCbCr 4:2:2 12-bit unpacked */
193 #define PFNC_YCbCr422_12_CbYCrY 0x0220009B /* YCbCr 4:2:2 12-bit unpacked */
194 #define PFNC_YCbCr422_12p 0x02180088 /* YCbCr 4:2:2 12-bit packed */
195 #define PFNC_YCbCr422_12p_CbYCrY 0x0218009C /* YCbCr 4:2:2 12-bit packed */
196 #define PFNC_YCbCr601_8_CbYCr 0x0218003D /* YCbCr 4:4:4 8-bit BT.601 */
197 #define PFNC_YCbCr601_10_CbYCr 0x02300089 /* YCbCr 4:4:4 10-bit unpacked BT.601 */
198 #define PFNC_YCbCr601_10p_CbYCr 0x021E008A /* YCbCr 4:4:4 10-bit packed BT.601 */
199 #define PFNC_YCbCr601_12_CbYCr 0x0230008B /* YCbCr 4:4:4 12-bit unpacked BT.601 */
200 #define PFNC_YCbCr601_12p_CbYCr 0x0224008C /* YCbCr 4:4:4 12-bit packed BT.601 */
201 #define PFNC_YCbCr601_411_8_CbYYCrYY 0x020C003F /* YCbCr 4:1:1 8-bit BT.601 */
202 #define PFNC_YCbCr601_422_8 0x0210003E /* YCbCr 4:2:2 8-bit BT.601 */
203 #define PFNC_YCbCr601_422_8_CbYCrY 0x02100044 /* YCbCr 4:2:2 8-bit BT.601 */
204 #define PFNC_YCbCr601_422_10 0x0220008D /* YCbCr 4:2:2 10-bit unpacked BT.601 */
205 #define PFNC_YCbCr601_422_10_CbYCrY 0x0220009D /* YCbCr 4:2:2 10-bit unpacked BT.601 */
206 #define PFNC_YCbCr601_422_10p 0x0214008E /* YCbCr 4:2:2 10-bit packed BT.601 */
207 #define PFNC_YCbCr601_422_10p_CbYCrY 0x0214009E /* YCbCr 4:2:2 10-bit packed BT.601 */
208 #define PFNC_YCbCr601_422_12 0x0220008F /* YCbCr 4:2:2 12-bit unpacked BT.601 */
209 #define PFNC_YCbCr601_422_12_CbYCrY 0x0220009F /* YCbCr 4:2:2 12-bit unpacked BT.601 */
210 #define PFNC_YCbCr601_422_12p 0x02180090 /* YCbCr 4:2:2 12-bit packed BT.601 */
211 #define PFNC_YCbCr601_422_12p_CbYCrY 0x021800A0 /* YCbCr 4:2:2 12-bit packed BT.601 */
212 #define PFNC_YCbCr709_8_CbYCr 0x02180040 /* YCbCr 4:4:4 8-bit BT.709 */
213 #define PFNC_YCbCr709_10_CbYCr 0x02300091 /* YCbCr 4:4:4 10-bit unpacked BT.709 */
214 #define PFNC_YCbCr709_10p_CbYCr 0x021E0092 /* YCbCr 4:4:4 10-bit packed BT.709 */
215 #define PFNC_YCbCr709_12_CbYCr 0x02300093 /* YCbCr 4:4:4 12-bit unpacked BT.709 */
216 #define PFNC_YCbCr709_12p_CbYCr 0x02240094 /* YCbCr 4:4:4 12-bit packed BT.709 */
217 #define PFNC_YCbCr709_411_8_CbYYCrYY 0x020C0042 /* YCbCr 4:1:1 8-bit BT.709 */
218 #define PFNC_YCbCr709_422_8 0x02100041 /* YCbCr 4:2:2 8-bit BT.709 */
219 #define PFNC_YCbCr709_422_8_CbYCrY 0x02100045 /* YCbCr 4:2:2 8-bit BT.709 */
220 #define PFNC_YCbCr709_422_10 0x02200095 /* YCbCr 4:2:2 10-bit unpacked BT.709 */
221 #define PFNC_YCbCr709_422_10_CbYCrY 0x022000A1 /* YCbCr 4:2:2 10-bit unpacked BT.709 */
222 #define PFNC_YCbCr709_422_10p 0x02140096 /* YCbCr 4:2:2 10-bit packed BT.709 */
223 #define PFNC_YCbCr709_422_10p_CbYCrY 0x021400A2 /* YCbCr 4:2:2 10-bit packed BT.709 */
224 #define PFNC_YCbCr709_422_12 0x02200097 /* YCbCr 4:2:2 12-bit unpacked BT.709 */
225 #define PFNC_YCbCr709_422_12_CbYCrY 0x022000A3 /* YCbCr 4:2:2 12-bit unpacked BT.709 */
226 #define PFNC_YCbCr709_422_12p 0x02180098 /* YCbCr 4:2:2 12-bit packed BT.709 */
227 #define PFNC_YCbCr709_422_12p_CbYCrY 0x021800A4 /* YCbCr 4:2:2 12-bit packed BT.709 */
228 #define PFNC_YCbCr2020_8_CbYCr 0x021800F4 /* YCbCr 4:4:4 8-bit BT.2020 */
229 #define PFNC_YCbCr2020_10_CbYCr 0x023000F5 /* YCbCr 4:4:4 10-bit unpacked BT.2020 */
230 #define PFNC_YCbCr2020_10p_CbYCr 0x021E00F6 /* YCbCr 4:4:4 10-bit packed BT.2020 */
231 #define PFNC_YCbCr2020_12_CbYCr 0x023000F7 /* YCbCr 4:4:4 12-bit unpacked BT.2020 */
232 #define PFNC_YCbCr2020_12p_CbYCr 0x022400F8 /* YCbCr 4:4:4 12-bit packed BT.2020 */
233 #define PFNC_YCbCr2020_411_8_CbYYCrYY 0x020C00F9 /* YCbCr 4:1:1 8-bit BT.2020 */
234 #define PFNC_YCbCr2020_422_8 0x021000FA /* YCbCr 4:2:2 8-bit BT.2020 */
235 #define PFNC_YCbCr2020_422_8_CbYCrY 0x021000FB /* YCbCr 4:2:2 8-bit BT.2020 */
236 #define PFNC_YCbCr2020_422_10 0x022000FC /* YCbCr 4:2:2 10-bit unpacked BT.2020 */
237 #define PFNC_YCbCr2020_422_10_CbYCrY 0x022000FD /* YCbCr 4:2:2 10-bit unpacked BT.2020 */
238 #define PFNC_YCbCr2020_422_10p 0x021400FE /* YCbCr 4:2:2 10-bit packed BT.2020 */
239 #define PFNC_YCbCr2020_422_10p_CbYCrY 0x021400FF /* YCbCr 4:2:2 10-bit packed BT.2020 */
240 #define PFNC_YCbCr2020_422_12 0x02200100 /* YCbCr 4:2:2 12-bit unpacked BT.2020 */
241 #define PFNC_YCbCr2020_422_12_CbYCrY 0x02200101 /* YCbCr 4:2:2 12-bit unpacked BT.2020 */
242 #define PFNC_YCbCr2020_422_12p 0x02180102 /* YCbCr 4:2:2 12-bit packed BT.2020 */
243 #define PFNC_YCbCr2020_422_12p_CbYCrY 0x02180103 /* YCbCr 4:2:2 12-bit packed BT.2020 */
244 #define PFNC_YUV8_UYV 0x02180020 /* YUV 4:4:4 8-bit */
245 #define PFNC_YUV411_8_UYYVYY 0x020C001E /* YUV 4:1:1 8-bit */
246 #define PFNC_YUV422_8 0x02100032 /* YUV 4:2:2 8-bit */
247 #define PFNC_YUV422_8_UYVY 0x0210001F /* YUV 4:2:2 8-bit */
248 
249 /* Following formats are not PFNC compliant, but are still kept in the list for legacy purposes. */
250 
251 #define GVSP_Mono10Packed 0x010C0004 /* GigE Vision specific format, Monochrome 10-bit packed */
252 #define GVSP_Mono12Packed 0x010C0006 /* GigE Vision specific format, Monochrome 12-bit packed */
253 #define GVSP_BayerBG10Packed 0x010C0029 /* GigE Vision specific format, Bayer Blue-Green 10-bit packed */
254 #define GVSP_BayerBG12Packed 0x010C002D /* GigE Vision specific format, Bayer Blue-Green 12-bit packed */
255 #define GVSP_BayerGB10Packed 0x010C0028 /* GigE Vision specific format, Bayer Green-Blue 10-bit packed */
256 #define GVSP_BayerGB12Packed 0x010C002C /* GigE Vision specific format, Bayer Green-Blue 12-bit packed */
257 #define GVSP_BayerGR10Packed 0x010C0026 /* GigE Vision specific format, Bayer Green-Red 10-bit packed */
258 #define GVSP_BayerGR12Packed 0x010C002A /* GigE Vision specific format, Bayer Green-Red 12-bit packed */
259 #define GVSP_BayerRG10Packed 0x010C0027 /* GigE Vision specific format, Bayer Red-Green 10-bit packed */
260 #define GVSP_BayerRG12Packed 0x010C002B /* GigE Vision specific format, Bayer Red-Green 12-bit packed */
261 #define GVSP_RGB10V1Packed 0x0220001C /* GigE Vision specific format, Red-Green-Blue 10-bit packed - variant 1 */
262 #define GVSP_RGB12V1Packed 0x02240034 /* GigE Vision specific format, Red-Green-Blue 12-bit packed - variant 1 */
263 
264 
265 /* Identical set of formats in the form of an enum */
266 
267 typedef enum PfncFormat_
268 {
269  Mono1p = 0x01010037, /* Monochrome 1-bit packed */
270  Mono2p = 0x01020038, /* Monochrome 2-bit packed */
271  Mono4p = 0x01040039, /* Monochrome 4-bit packed */
272  Mono8 = 0x01080001, /* Monochrome 8-bit */
273  Mono8s = 0x01080002, /* Monochrome 8-bit signed */
274  Mono10 = 0x01100003, /* Monochrome 10-bit unpacked */
275  Mono10p = 0x010A0046, /* Monochrome 10-bit packed */
276  Mono12 = 0x01100005, /* Monochrome 12-bit unpacked */
277  Mono12p = 0x010C0047, /* Monochrome 12-bit packed */
278  Mono14 = 0x01100025, /* Monochrome 14-bit unpacked */
279  Mono16 = 0x01100007, /* Monochrome 16-bit */
280  BayerBG8 = 0x0108000B, /* Bayer Blue-Green 8-bit */
281  BayerBG10 = 0x0110000F, /* Bayer Blue-Green 10-bit unpacked */
282  BayerBG10p = 0x010A0052, /* Bayer Blue-Green 10-bit packed */
283  BayerBG12 = 0x01100013, /* Bayer Blue-Green 12-bit unpacked */
284  BayerBG12p = 0x010C0053, /* Bayer Blue-Green 12-bit packed */
285  BayerBG16 = 0x01100031, /* Bayer Blue-Green 16-bit */
286  BayerGB8 = 0x0108000A, /* Bayer Green-Blue 8-bit */
287  BayerGB10 = 0x0110000E, /* Bayer Green-Blue 10-bit unpacked */
288  BayerGB10p = 0x010A0054, /* Bayer Green-Blue 10-bit packed */
289  BayerGB12 = 0x01100012, /* Bayer Green-Blue 12-bit unpacked */
290  BayerGB12p = 0x010C0055, /* Bayer Green-Blue 12-bit packed */
291  BayerGB16 = 0x01100030, /* Bayer Green-Blue 16-bit */
292  BayerGR8 = 0x01080008, /* Bayer Green-Red 8-bit */
293  BayerGR10 = 0x0110000C, /* Bayer Green-Red 10-bit unpacked */
294  BayerGR10p = 0x010A0056, /* Bayer Green-Red 10-bit packed */
295  BayerGR12 = 0x01100010, /* Bayer Green-Red 12-bit unpacked */
296  BayerGR12p = 0x010C0057, /* Bayer Green-Red 12-bit packed */
297  BayerGR16 = 0x0110002E, /* Bayer Green-Red 16-bit */
298  BayerRG8 = 0x01080009, /* Bayer Red-Green 8-bit */
299  BayerRG10 = 0x0110000D, /* Bayer Red-Green 10-bit unpacked */
300  BayerRG10p = 0x010A0058, /* Bayer Red-Green 10-bit packed */
301  BayerRG12 = 0x01100011, /* Bayer Red-Green 12-bit unpacked */
302  BayerRG12p = 0x010C0059, /* Bayer Red-Green 12-bit packed */
303  BayerRG16 = 0x0110002F, /* Bayer Red-Green 16-bit */
304  RGBa8 = 0x02200016, /* Red-Green-Blue-alpha 8-bit */
305  RGBa10 = 0x0240005F, /* Red-Green-Blue-alpha 10-bit unpacked */
306  RGBa10p = 0x02280060, /* Red-Green-Blue-alpha 10-bit packed */
307  RGBa12 = 0x02400061, /* Red-Green-Blue-alpha 12-bit unpacked */
308  RGBa12p = 0x02300062, /* Red-Green-Blue-alpha 12-bit packed */
309  RGBa14 = 0x02400063, /* Red-Green-Blue-alpha 14-bit unpacked */
310  RGBa16 = 0x02400064, /* Red-Green-Blue-alpha 16-bit */
311  RGB8 = 0x02180014, /* Red-Green-Blue 8-bit */
312  RGB8_Planar = 0x02180021, /* Red-Green-Blue 8-bit planar */
313  RGB10 = 0x02300018, /* Red-Green-Blue 10-bit unpacked */
314  RGB10_Planar = 0x02300022, /* Red-Green-Blue 10-bit unpacked planar */
315  RGB10p = 0x021E005C, /* Red-Green-Blue 10-bit packed */
316  RGB10p32 = 0x0220001D, /* Red-Green-Blue 10-bit packed into 32-bit */
317  RGB12 = 0x0230001A, /* Red-Green-Blue 12-bit unpacked */
318  RGB12_Planar = 0x02300023, /* Red-Green-Blue 12-bit unpacked planar */
319  RGB12p = 0x0224005D, /* Red-Green-Blue 12-bit packed */
320  RGB14 = 0x0230005E, /* Red-Green-Blue 14-bit unpacked */
321  RGB16 = 0x02300033, /* Red-Green-Blue 16-bit */
322  RGB16_Planar = 0x02300024, /* Red-Green-Blue 16-bit planar */
323  RGB565p = 0x02100035, /* Red-Green-Blue 5/6/5-bit packed */
324  BGRa8 = 0x02200017, /* Blue-Green-Red-alpha 8-bit */
325  BGRa10 = 0x0240004C, /* Blue-Green-Red-alpha 10-bit unpacked */
326  BGRa10p = 0x0228004D, /* Blue-Green-Red-alpha 10-bit packed */
327  BGRa12 = 0x0240004E, /* Blue-Green-Red-alpha 12-bit unpacked */
328  BGRa12p = 0x0230004F, /* Blue-Green-Red-alpha 12-bit packed */
329  BGRa14 = 0x02400050, /* Blue-Green-Red-alpha 14-bit unpacked */
330  BGRa16 = 0x02400051, /* Blue-Green-Red-alpha 16-bit */
331  BGR8 = 0x02180015, /* Blue-Green-Red 8-bit */
332  BGR10 = 0x02300019, /* Blue-Green-Red 10-bit unpacked */
333  BGR10p = 0x021E0048, /* Blue-Green-Red 10-bit packed */
334  BGR12 = 0x0230001B, /* Blue-Green-Red 12-bit unpacked */
335  BGR12p = 0x02240049, /* Blue-Green-Red 12-bit packed */
336  BGR14 = 0x0230004A, /* Blue-Green-Red 14-bit unpacked */
337  BGR16 = 0x0230004B, /* Blue-Green-Red 16-bit */
338  BGR565p = 0x02100036, /* Blue-Green-Red 5/6/5-bit packed */
339  R8 = 0x010800C9, /* Red 8-bit */
340  R10 = 0x010A00CA, /* Red 10-bit */
341  R12 = 0x010C00CB, /* Red 12-bit */
342  R16 = 0x011000CC, /* Red 16-bit */
343  G8 = 0x010800CD, /* Green 8-bit */
344  G10 = 0x010A00CE, /* Green 10-bit */
345  G12 = 0x010C00CF, /* Green 12-bit */
346  G16 = 0x011000D0, /* Green 16-bit */
347  B8 = 0x010800D1, /* Blue 8-bit */
348  B10 = 0x010A00D2, /* Blue 10-bit */
349  B12 = 0x010C00D3, /* Blue 12-bit */
350  B16 = 0x011000D4, /* Blue 16-bit */
351  Coord3D_ABC8 = 0x021800B2, /* 3D coordinate A-B-C 8-bit */
352  Coord3D_ABC8_Planar = 0x021800B3, /* 3D coordinate A-B-C 8-bit planar */
353  Coord3D_ABC10p = 0x021E00DB, /* 3D coordinate A-B-C 10-bit packed */
354  Coord3D_ABC10p_Planar = 0x021E00DC, /* 3D coordinate A-B-C 10-bit packed planar */
355  Coord3D_ABC12p = 0x022400DE, /* 3D coordinate A-B-C 12-bit packed */
356  Coord3D_ABC12p_Planar = 0x022400DF, /* 3D coordinate A-B-C 12-bit packed planar */
357  Coord3D_ABC16 = 0x023000B9, /* 3D coordinate A-B-C 16-bit */
358  Coord3D_ABC16_Planar = 0x023000BA, /* 3D coordinate A-B-C 16-bit planar */
359  Coord3D_ABC32f = 0x026000C0, /* 3D coordinate A-B-C 32-bit floating point */
360  Coord3D_ABC32f_Planar = 0x026000C1, /* 3D coordinate A-B-C 32-bit floating point planar */
361  Coord3D_AC8 = 0x021000B4, /* 3D coordinate A-C 8-bit */
362  Coord3D_AC8_Planar = 0x021000B5, /* 3D coordinate A-C 8-bit planar */
363  Coord3D_AC10p = 0x021400F0, /* 3D coordinate A-C 10-bit packed */
364  Coord3D_AC10p_Planar = 0x021400F1, /* 3D coordinate A-C 10-bit packed planar */
365  Coord3D_AC12p = 0x021800F2, /* 3D coordinate A-C 12-bit packed */
366  Coord3D_AC12p_Planar = 0x021800F3, /* 3D coordinate A-C 12-bit packed planar */
367  Coord3D_AC16 = 0x022000BB, /* 3D coordinate A-C 16-bit */
368  Coord3D_AC16_Planar = 0x022000BC, /* 3D coordinate A-C 16-bit planar */
369  Coord3D_AC32f = 0x024000C2, /* 3D coordinate A-C 32-bit floating point */
370  Coord3D_AC32f_Planar = 0x024000C3, /* 3D coordinate A-C 32-bit floating point planar */
371  Coord3D_A8 = 0x010800AF, /* 3D coordinate A 8-bit */
372  Coord3D_A10p = 0x010A00D5, /* 3D coordinate A 10-bit packed */
373  Coord3D_A12p = 0x010C00D8, /* 3D coordinate A 12-bit packed */
374  Coord3D_A16 = 0x011000B6, /* 3D coordinate A 16-bit */
375  Coord3D_A32f = 0x012000BD, /* 3D coordinate A 32-bit floating point */
376  Coord3D_B8 = 0x010800B0, /* 3D coordinate B 8-bit */
377  Coord3D_B10p = 0x010A00D6, /* 3D coordinate B 10-bit packed */
378  Coord3D_B12p = 0x010C00D9, /* 3D coordinate B 12-bit packed */
379  Coord3D_B16 = 0x011000B7, /* 3D coordinate B 16-bit */
380  Coord3D_B32f = 0x012000BE, /* 3D coordinate B 32-bit floating point */
381  Coord3D_C8 = 0x010800B1, /* 3D coordinate C 8-bit */
382  Coord3D_C10p = 0x010A00D7, /* 3D coordinate C 10-bit packed */
383  Coord3D_C12p = 0x010C00DA, /* 3D coordinate C 12-bit packed */
384  Coord3D_C16 = 0x011000B8, /* 3D coordinate C 16-bit */
385  Coord3D_C32f = 0x012000BF, /* 3D coordinate C 32-bit floating point */
386  Confidence1 = 0x010800C4, /* Confidence 1-bit unpacked */
387  Confidence1p = 0x010100C5, /* Confidence 1-bit packed */
388  Confidence8 = 0x010800C6, /* Confidence 8-bit */
389  Confidence16 = 0x011000C7, /* Confidence 16-bit */
390  Confidence32f = 0x012000C8, /* Confidence 32-bit floating point */
391  BiColorBGRG8 = 0x021000A6, /* Bi-color Blue/Green - Red/Green 8-bit */
392  BiColorBGRG10 = 0x022000A9, /* Bi-color Blue/Green - Red/Green 10-bit unpacked */
393  BiColorBGRG10p = 0x021400AA, /* Bi-color Blue/Green - Red/Green 10-bit packed */
394  BiColorBGRG12 = 0x022000AD, /* Bi-color Blue/Green - Red/Green 12-bit unpacked */
395  BiColorBGRG12p = 0x021800AE, /* Bi-color Blue/Green - Red/Green 12-bit packed */
396  BiColorRGBG8 = 0x021000A5, /* Bi-color Red/Green - Blue/Green 8-bit */
397  BiColorRGBG10 = 0x022000A7, /* Bi-color Red/Green - Blue/Green 10-bit unpacked */
398  BiColorRGBG10p = 0x021400A8, /* Bi-color Red/Green - Blue/Green 10-bit packed */
399  BiColorRGBG12 = 0x022000AB, /* Bi-color Red/Green - Blue/Green 12-bit unpacked */
400  BiColorRGBG12p = 0x021800AC, /* Bi-color Red/Green - Blue/Green 12-bit packed */
401  SCF1WBWG8 = 0x01080067, /* Sparse Color Filter #1 White-Blue-White-Green 8-bit */
402  SCF1WBWG10 = 0x01100068, /* Sparse Color Filter #1 White-Blue-White-Green 10-bit unpacked */
403  SCF1WBWG10p = 0x010A0069, /* Sparse Color Filter #1 White-Blue-White-Green 10-bit packed */
404  SCF1WBWG12 = 0x0110006A, /* Sparse Color Filter #1 White-Blue-White-Green 12-bit unpacked */
405  SCF1WBWG12p = 0x010C006B, /* Sparse Color Filter #1 White-Blue-White-Green 12-bit packed */
406  SCF1WBWG14 = 0x0110006C, /* Sparse Color Filter #1 White-Blue-White-Green 14-bit unpacked */
407  SCF1WBWG16 = 0x0110006D, /* Sparse Color Filter #1 White-Blue-White-Green 16-bit unpacked */
408  SCF1WGWB8 = 0x0108006E, /* Sparse Color Filter #1 White-Green-White-Blue 8-bit */
409  SCF1WGWB10 = 0x0110006F, /* Sparse Color Filter #1 White-Green-White-Blue 10-bit unpacked */
410  SCF1WGWB10p = 0x010A0070, /* Sparse Color Filter #1 White-Green-White-Blue 10-bit packed */
411  SCF1WGWB12 = 0x01100071, /* Sparse Color Filter #1 White-Green-White-Blue 12-bit unpacked */
412  SCF1WGWB12p = 0x010C0072, /* Sparse Color Filter #1 White-Green-White-Blue 12-bit packed */
413  SCF1WGWB14 = 0x01100073, /* Sparse Color Filter #1 White-Green-White-Blue 14-bit unpacked */
414  SCF1WGWB16 = 0x01100074, /* Sparse Color Filter #1 White-Green-White-Blue 16-bit */
415  SCF1WGWR8 = 0x01080075, /* Sparse Color Filter #1 White-Green-White-Red 8-bit */
416  SCF1WGWR10 = 0x01100076, /* Sparse Color Filter #1 White-Green-White-Red 10-bit unpacked */
417  SCF1WGWR10p = 0x010A0077, /* Sparse Color Filter #1 White-Green-White-Red 10-bit packed */
418  SCF1WGWR12 = 0x01100078, /* Sparse Color Filter #1 White-Green-White-Red 12-bit unpacked */
419  SCF1WGWR12p = 0x010C0079, /* Sparse Color Filter #1 White-Green-White-Red 12-bit packed */
420  SCF1WGWR14 = 0x0110007A, /* Sparse Color Filter #1 White-Green-White-Red 14-bit unpacked */
421  SCF1WGWR16 = 0x0110007B, /* Sparse Color Filter #1 White-Green-White-Red 16-bit */
422  SCF1WRWG8 = 0x0108007C, /* Sparse Color Filter #1 White-Red-White-Green 8-bit */
423  SCF1WRWG10 = 0x0110007D, /* Sparse Color Filter #1 White-Red-White-Green 10-bit unpacked */
424  SCF1WRWG10p = 0x010A007E, /* Sparse Color Filter #1 White-Red-White-Green 10-bit packed */
425  SCF1WRWG12 = 0x0110007F, /* Sparse Color Filter #1 White-Red-White-Green 12-bit unpacked */
426  SCF1WRWG12p = 0x010C0080, /* Sparse Color Filter #1 White-Red-White-Green 12-bit packed */
427  SCF1WRWG14 = 0x01100081, /* Sparse Color Filter #1 White-Red-White-Green 14-bit unpacked */
428  SCF1WRWG16 = 0x01100082, /* Sparse Color Filter #1 White-Red-White-Green 16-bit */
429  YCbCr8 = 0x0218005B, /* YCbCr 4:4:4 8-bit */
430  YCbCr8_CbYCr = 0x0218003A, /* YCbCr 4:4:4 8-bit */
431  YCbCr10_CbYCr = 0x02300083, /* YCbCr 4:4:4 10-bit unpacked */
432  YCbCr10p_CbYCr = 0x021E0084, /* YCbCr 4:4:4 10-bit packed */
433  YCbCr12_CbYCr = 0x02300085, /* YCbCr 4:4:4 12-bit unpacked */
434  YCbCr12p_CbYCr = 0x02240086, /* YCbCr 4:4:4 12-bit packed */
435  YCbCr411_8 = 0x020C005A, /* YCbCr 4:1:1 8-bit */
436  YCbCr411_8_CbYYCrYY = 0x020C003C, /* YCbCr 4:1:1 8-bit */
437  YCbCr422_8 = 0x0210003B, /* YCbCr 4:2:2 8-bit */
438  YCbCr422_8_CbYCrY = 0x02100043, /* YCbCr 4:2:2 8-bit */
439  YCbCr422_10 = 0x02200065, /* YCbCr 4:2:2 10-bit unpacked */
440  YCbCr422_10_CbYCrY = 0x02200099, /* YCbCr 4:2:2 10-bit unpacked */
441  YCbCr422_10p = 0x02140087, /* YCbCr 4:2:2 10-bit packed */
442  YCbCr422_10p_CbYCrY = 0x0214009A, /* YCbCr 4:2:2 10-bit packed */
443  YCbCr422_12 = 0x02200066, /* YCbCr 4:2:2 12-bit unpacked */
444  YCbCr422_12_CbYCrY = 0x0220009B, /* YCbCr 4:2:2 12-bit unpacked */
445  YCbCr422_12p = 0x02180088, /* YCbCr 4:2:2 12-bit packed */
446  YCbCr422_12p_CbYCrY = 0x0218009C, /* YCbCr 4:2:2 12-bit packed */
447  YCbCr601_8_CbYCr = 0x0218003D, /* YCbCr 4:4:4 8-bit BT.601 */
448  YCbCr601_10_CbYCr = 0x02300089, /* YCbCr 4:4:4 10-bit unpacked BT.601 */
449  YCbCr601_10p_CbYCr = 0x021E008A, /* YCbCr 4:4:4 10-bit packed BT.601 */
450  YCbCr601_12_CbYCr = 0x0230008B, /* YCbCr 4:4:4 12-bit unpacked BT.601 */
451  YCbCr601_12p_CbYCr = 0x0224008C, /* YCbCr 4:4:4 12-bit packed BT.601 */
452  YCbCr601_411_8_CbYYCrYY = 0x020C003F, /* YCbCr 4:1:1 8-bit BT.601 */
453  YCbCr601_422_8 = 0x0210003E, /* YCbCr 4:2:2 8-bit BT.601 */
454  YCbCr601_422_8_CbYCrY = 0x02100044, /* YCbCr 4:2:2 8-bit BT.601 */
455  YCbCr601_422_10 = 0x0220008D, /* YCbCr 4:2:2 10-bit unpacked BT.601 */
456  YCbCr601_422_10_CbYCrY = 0x0220009D, /* YCbCr 4:2:2 10-bit unpacked BT.601 */
457  YCbCr601_422_10p = 0x0214008E, /* YCbCr 4:2:2 10-bit packed BT.601 */
458  YCbCr601_422_10p_CbYCrY = 0x0214009E, /* YCbCr 4:2:2 10-bit packed BT.601 */
459  YCbCr601_422_12 = 0x0220008F, /* YCbCr 4:2:2 12-bit unpacked BT.601 */
460  YCbCr601_422_12_CbYCrY = 0x0220009F, /* YCbCr 4:2:2 12-bit unpacked BT.601 */
461  YCbCr601_422_12p = 0x02180090, /* YCbCr 4:2:2 12-bit packed BT.601 */
462  YCbCr601_422_12p_CbYCrY = 0x021800A0, /* YCbCr 4:2:2 12-bit packed BT.601 */
463  YCbCr709_8_CbYCr = 0x02180040, /* YCbCr 4:4:4 8-bit BT.709 */
464  YCbCr709_10_CbYCr = 0x02300091, /* YCbCr 4:4:4 10-bit unpacked BT.709 */
465  YCbCr709_10p_CbYCr = 0x021E0092, /* YCbCr 4:4:4 10-bit packed BT.709 */
466  YCbCr709_12_CbYCr = 0x02300093, /* YCbCr 4:4:4 12-bit unpacked BT.709 */
467  YCbCr709_12p_CbYCr = 0x02240094, /* YCbCr 4:4:4 12-bit packed BT.709 */
468  YCbCr709_411_8_CbYYCrYY = 0x020C0042, /* YCbCr 4:1:1 8-bit BT.709 */
469  YCbCr709_422_8 = 0x02100041, /* YCbCr 4:2:2 8-bit BT.709 */
470  YCbCr709_422_8_CbYCrY = 0x02100045, /* YCbCr 4:2:2 8-bit BT.709 */
471  YCbCr709_422_10 = 0x02200095, /* YCbCr 4:2:2 10-bit unpacked BT.709 */
472  YCbCr709_422_10_CbYCrY = 0x022000A1, /* YCbCr 4:2:2 10-bit unpacked BT.709 */
473  YCbCr709_422_10p = 0x02140096, /* YCbCr 4:2:2 10-bit packed BT.709 */
474  YCbCr709_422_10p_CbYCrY = 0x021400A2, /* YCbCr 4:2:2 10-bit packed BT.709 */
475  YCbCr709_422_12 = 0x02200097, /* YCbCr 4:2:2 12-bit unpacked BT.709 */
476  YCbCr709_422_12_CbYCrY = 0x022000A3, /* YCbCr 4:2:2 12-bit unpacked BT.709 */
477  YCbCr709_422_12p = 0x02180098, /* YCbCr 4:2:2 12-bit packed BT.709 */
478  YCbCr709_422_12p_CbYCrY = 0x021800A4, /* YCbCr 4:2:2 12-bit packed BT.709 */
479  YCbCr2020_8_CbYCr = 0x021800F4, /* YCbCr 4:4:4 8-bit BT.2020 */
480  YCbCr2020_10_CbYCr = 0x023000F5, /* YCbCr 4:4:4 10-bit unpacked BT.2020 */
481  YCbCr2020_10p_CbYCr = 0x021E00F6, /* YCbCr 4:4:4 10-bit packed BT.2020 */
482  YCbCr2020_12_CbYCr = 0x023000F7, /* YCbCr 4:4:4 12-bit unpacked BT.2020 */
483  YCbCr2020_12p_CbYCr = 0x022400F8, /* YCbCr 4:4:4 12-bit packed BT.2020 */
484  YCbCr2020_411_8_CbYYCrYY = 0x020C00F9, /* YCbCr 4:1:1 8-bit BT.2020 */
485  YCbCr2020_422_8 = 0x021000FA, /* YCbCr 4:2:2 8-bit BT.2020 */
486  YCbCr2020_422_8_CbYCrY = 0x021000FB, /* YCbCr 4:2:2 8-bit BT.2020 */
487  YCbCr2020_422_10 = 0x022000FC, /* YCbCr 4:2:2 10-bit unpacked BT.2020 */
488  YCbCr2020_422_10_CbYCrY = 0x022000FD, /* YCbCr 4:2:2 10-bit unpacked BT.2020 */
489  YCbCr2020_422_10p = 0x021400FE, /* YCbCr 4:2:2 10-bit packed BT.2020 */
490  YCbCr2020_422_10p_CbYCrY = 0x021400FF, /* YCbCr 4:2:2 10-bit packed BT.2020 */
491  YCbCr2020_422_12 = 0x02200100, /* YCbCr 4:2:2 12-bit unpacked BT.2020 */
492  YCbCr2020_422_12_CbYCrY = 0x02200101, /* YCbCr 4:2:2 12-bit unpacked BT.2020 */
493  YCbCr2020_422_12p = 0x02180102, /* YCbCr 4:2:2 12-bit packed BT.2020 */
494  YCbCr2020_422_12p_CbYCrY = 0x02180103, /* YCbCr 4:2:2 12-bit packed BT.2020 */
495  YUV8_UYV = 0x02180020, /* YUV 4:4:4 8-bit */
496  YUV411_8_UYYVYY = 0x020C001E, /* YUV 4:1:1 8-bit */
497  YUV422_8 = 0x02100032, /* YUV 4:2:2 8-bit */
498  YUV422_8_UYVY = 0x0210001F, /* YUV 4:2:2 8-bit */
499  Mono10Packed = 0x010C0004, /* GigE Vision specific format, Monochrome 10-bit packed */
500  Mono12Packed = 0x010C0006, /* GigE Vision specific format, Monochrome 12-bit packed */
501  BayerBG10Packed = 0x010C0029, /* GigE Vision specific format, Bayer Blue-Green 10-bit packed */
502  BayerBG12Packed = 0x010C002D, /* GigE Vision specific format, Bayer Blue-Green 12-bit packed */
503  BayerGB10Packed = 0x010C0028, /* GigE Vision specific format, Bayer Green-Blue 10-bit packed */
504  BayerGB12Packed = 0x010C002C, /* GigE Vision specific format, Bayer Green-Blue 12-bit packed */
505  BayerGR10Packed = 0x010C0026, /* GigE Vision specific format, Bayer Green-Red 10-bit packed */
506  BayerGR12Packed = 0x010C002A, /* GigE Vision specific format, Bayer Green-Red 12-bit packed */
507  BayerRG10Packed = 0x010C0027, /* GigE Vision specific format, Bayer Red-Green 10-bit packed */
508  BayerRG12Packed = 0x010C002B, /* GigE Vision specific format, Bayer Red-Green 12-bit packed */
509  RGB10V1Packed = 0x0220001C, /* GigE Vision specific format, Red-Green-Blue 10-bit packed - variant 1 */
510  RGB12V1Packed = 0x02240034, /* GigE Vision specific format, Red-Green-Blue 12-bit packed - variant 1 */
512 } PfncFormat;
513 
514 /* 32-bit value layout */
515 /* |31 24|23 16|15 08|07 00| */
516 /* | C| Comp. Layout| Effective Size | Pixel ID | */
517 
518 /* Custom flag */
519 #define PFNC_CUSTOM 0x80000000
520 /* Component layout */
521 #define PFNC_SINGLE_COMPONENT 0x01000000
522 #define PFNC_MULTIPLE_COMPONENT 0x02000000
523 #define PFNC_COMPONENT_MASK 0x7F000000
524 /* Effective size */
525 #define PFNC_OCCUPY1BIT 0x00010000
526 #define PFNC_OCCUPY2BIT 0x00020000
527 #define PFNC_OCCUPY4BIT 0x00040000
528 #define PFNC_OCCUPY8BIT 0x00080000
529 #define PFNC_OCCUPY10BIT 0x000A0000
530 #define PFNC_OCCUPY12BIT 0x000C0000
531 #define PFNC_OCCUPY16BIT 0x00100000
532 #define PFNC_OCCUPY24BIT 0x00180000
533 #define PFNC_OCCUPY30BIT 0x001E0000
534 #define PFNC_OCCUPY32BIT 0x00200000
535 #define PFNC_OCCUPY36BIT 0x00240000
536 #define PFNC_OCCUPY40BIT 0x00280000
537 #define PFNC_OCCUPY48BIT 0x00300000
538 #define PFNC_OCCUPY64BIT 0x00400000
539 #define PFNC_PIXEL_SIZE_MASK 0x00FF0000
540 #define PFNC_PIXEL_SIZE_SHIFT 16
541 /* Pixel ID */
542 #define PFNC_PIXEL_ID_MASK 0x0000FFFF
543 /* Pixel format value dissection helpers */
544 #define PFNC_PIXEL_SIZE(X) ((X & PFNC_PIXEL_SIZE_MASK) >> PFNC_PIXEL_SIZE_SHIFT)
545 #define PFNC_IS_PIXEL_SINGLE_COMPONENT(X) ((X & PFNC_COMPONENT_MASK) == PFNC_SINGLE_COMPONENT)
546 #define PFNC_IS_PIXEL_MULTIPLE_COMPONENT(X) ((X & PFNC_COMPONENT_MASK) == PFNC_MULTIPLE_COMPONENT)
547 #define PFNC_IS_PIXEL_CUSTOM(X) ((X & PFNC_CUSTOM) == PFNC_CUSTOM)
548 #define PFNC_PIXEL_ID(X) (X & PFNC_PIXEL_ID_MASK)
549 
550 
551 /* Additional helpers */
552 #ifdef PFNC_INCLUDE_HELPERS
553 #ifdef _MSC_VER
554 # define PFNC_INLINE __inline
555 #else
556 # define PFNC_INLINE inline
557 #endif
558 static PFNC_INLINE const char* GetPixelFormatName (PfncFormat format)
559 {
560  switch (format)
561  {
562  case Mono1p: return "Mono1p";
563  case Mono2p: return "Mono2p";
564  case Mono4p: return "Mono4p";
565  case Mono8: return "Mono8";
566  case Mono8s: return "Mono8s";
567  case Mono10: return "Mono10";
568  case Mono10p: return "Mono10p";
569  case Mono12: return "Mono12";
570  case Mono12p: return "Mono12p";
571  case Mono14: return "Mono14";
572  case Mono16: return "Mono16";
573  case BayerBG8: return "BayerBG8";
574  case BayerBG10: return "BayerBG10";
575  case BayerBG10p: return "BayerBG10p";
576  case BayerBG12: return "BayerBG12";
577  case BayerBG12p: return "BayerBG12p";
578  case BayerBG16: return "BayerBG16";
579  case BayerGB8: return "BayerGB8";
580  case BayerGB10: return "BayerGB10";
581  case BayerGB10p: return "BayerGB10p";
582  case BayerGB12: return "BayerGB12";
583  case BayerGB12p: return "BayerGB12p";
584  case BayerGB16: return "BayerGB16";
585  case BayerGR8: return "BayerGR8";
586  case BayerGR10: return "BayerGR10";
587  case BayerGR10p: return "BayerGR10p";
588  case BayerGR12: return "BayerGR12";
589  case BayerGR12p: return "BayerGR12p";
590  case BayerGR16: return "BayerGR16";
591  case BayerRG8: return "BayerRG8";
592  case BayerRG10: return "BayerRG10";
593  case BayerRG10p: return "BayerRG10p";
594  case BayerRG12: return "BayerRG12";
595  case BayerRG12p: return "BayerRG12p";
596  case BayerRG16: return "BayerRG16";
597  case RGBa8: return "RGBa8";
598  case RGBa10: return "RGBa10";
599  case RGBa10p: return "RGBa10p";
600  case RGBa12: return "RGBa12";
601  case RGBa12p: return "RGBa12p";
602  case RGBa14: return "RGBa14";
603  case RGBa16: return "RGBa16";
604  case RGB8: return "RGB8";
605  case RGB8_Planar: return "RGB8_Planar";
606  case RGB10: return "RGB10";
607  case RGB10_Planar: return "RGB10_Planar";
608  case RGB10p: return "RGB10p";
609  case RGB10p32: return "RGB10p32";
610  case RGB12: return "RGB12";
611  case RGB12_Planar: return "RGB12_Planar";
612  case RGB12p: return "RGB12p";
613  case RGB14: return "RGB14";
614  case RGB16: return "RGB16";
615  case RGB16_Planar: return "RGB16_Planar";
616  case RGB565p: return "RGB565p";
617  case BGRa8: return "BGRa8";
618  case BGRa10: return "BGRa10";
619  case BGRa10p: return "BGRa10p";
620  case BGRa12: return "BGRa12";
621  case BGRa12p: return "BGRa12p";
622  case BGRa14: return "BGRa14";
623  case BGRa16: return "BGRa16";
624  case BGR8: return "BGR8";
625  case BGR10: return "BGR10";
626  case BGR10p: return "BGR10p";
627  case BGR12: return "BGR12";
628  case BGR12p: return "BGR12p";
629  case BGR14: return "BGR14";
630  case BGR16: return "BGR16";
631  case BGR565p: return "BGR565p";
632  case R8: return "R8";
633  case R10: return "R10";
634  case R12: return "R12";
635  case R16: return "R16";
636  case G8: return "G8";
637  case G10: return "G10";
638  case G12: return "G12";
639  case G16: return "G16";
640  case B8: return "B8";
641  case B10: return "B10";
642  case B12: return "B12";
643  case B16: return "B16";
644  case Coord3D_ABC8: return "Coord3D_ABC8";
645  case Coord3D_ABC8_Planar: return "Coord3D_ABC8_Planar";
646  case Coord3D_ABC10p: return "Coord3D_ABC10p";
647  case Coord3D_ABC10p_Planar: return "Coord3D_ABC10p_Planar";
648  case Coord3D_ABC12p: return "Coord3D_ABC12p";
649  case Coord3D_ABC12p_Planar: return "Coord3D_ABC12p_Planar";
650  case Coord3D_ABC16: return "Coord3D_ABC16";
651  case Coord3D_ABC16_Planar: return "Coord3D_ABC16_Planar";
652  case Coord3D_ABC32f: return "Coord3D_ABC32f";
653  case Coord3D_ABC32f_Planar: return "Coord3D_ABC32f_Planar";
654  case Coord3D_AC8: return "Coord3D_AC8";
655  case Coord3D_AC8_Planar: return "Coord3D_AC8_Planar";
656  case Coord3D_AC10p: return "Coord3D_AC10p";
657  case Coord3D_AC10p_Planar: return "Coord3D_AC10p_Planar";
658  case Coord3D_AC12p: return "Coord3D_AC12p";
659  case Coord3D_AC12p_Planar: return "Coord3D_AC12p_Planar";
660  case Coord3D_AC16: return "Coord3D_AC16";
661  case Coord3D_AC16_Planar: return "Coord3D_AC16_Planar";
662  case Coord3D_AC32f: return "Coord3D_AC32f";
663  case Coord3D_AC32f_Planar: return "Coord3D_AC32f_Planar";
664  case Coord3D_A8: return "Coord3D_A8";
665  case Coord3D_A10p: return "Coord3D_A10p";
666  case Coord3D_A12p: return "Coord3D_A12p";
667  case Coord3D_A16: return "Coord3D_A16";
668  case Coord3D_A32f: return "Coord3D_A32f";
669  case Coord3D_B8: return "Coord3D_B8";
670  case Coord3D_B10p: return "Coord3D_B10p";
671  case Coord3D_B12p: return "Coord3D_B12p";
672  case Coord3D_B16: return "Coord3D_B16";
673  case Coord3D_B32f: return "Coord3D_B32f";
674  case Coord3D_C8: return "Coord3D_C8";
675  case Coord3D_C10p: return "Coord3D_C10p";
676  case Coord3D_C12p: return "Coord3D_C12p";
677  case Coord3D_C16: return "Coord3D_C16";
678  case Coord3D_C32f: return "Coord3D_C32f";
679  case Confidence1: return "Confidence1";
680  case Confidence1p: return "Confidence1p";
681  case Confidence8: return "Confidence8";
682  case Confidence16: return "Confidence16";
683  case Confidence32f: return "Confidence32f";
684  case BiColorBGRG8: return "BiColorBGRG8";
685  case BiColorBGRG10: return "BiColorBGRG10";
686  case BiColorBGRG10p: return "BiColorBGRG10p";
687  case BiColorBGRG12: return "BiColorBGRG12";
688  case BiColorBGRG12p: return "BiColorBGRG12p";
689  case BiColorRGBG8: return "BiColorRGBG8";
690  case BiColorRGBG10: return "BiColorRGBG10";
691  case BiColorRGBG10p: return "BiColorRGBG10p";
692  case BiColorRGBG12: return "BiColorRGBG12";
693  case BiColorRGBG12p: return "BiColorRGBG12p";
694  case SCF1WBWG8: return "SCF1WBWG8";
695  case SCF1WBWG10: return "SCF1WBWG10";
696  case SCF1WBWG10p: return "SCF1WBWG10p";
697  case SCF1WBWG12: return "SCF1WBWG12";
698  case SCF1WBWG12p: return "SCF1WBWG12p";
699  case SCF1WBWG14: return "SCF1WBWG14";
700  case SCF1WBWG16: return "SCF1WBWG16";
701  case SCF1WGWB8: return "SCF1WGWB8";
702  case SCF1WGWB10: return "SCF1WGWB10";
703  case SCF1WGWB10p: return "SCF1WGWB10p";
704  case SCF1WGWB12: return "SCF1WGWB12";
705  case SCF1WGWB12p: return "SCF1WGWB12p";
706  case SCF1WGWB14: return "SCF1WGWB14";
707  case SCF1WGWB16: return "SCF1WGWB16";
708  case SCF1WGWR8: return "SCF1WGWR8";
709  case SCF1WGWR10: return "SCF1WGWR10";
710  case SCF1WGWR10p: return "SCF1WGWR10p";
711  case SCF1WGWR12: return "SCF1WGWR12";
712  case SCF1WGWR12p: return "SCF1WGWR12p";
713  case SCF1WGWR14: return "SCF1WGWR14";
714  case SCF1WGWR16: return "SCF1WGWR16";
715  case SCF1WRWG8: return "SCF1WRWG8";
716  case SCF1WRWG10: return "SCF1WRWG10";
717  case SCF1WRWG10p: return "SCF1WRWG10p";
718  case SCF1WRWG12: return "SCF1WRWG12";
719  case SCF1WRWG12p: return "SCF1WRWG12p";
720  case SCF1WRWG14: return "SCF1WRWG14";
721  case SCF1WRWG16: return "SCF1WRWG16";
722  case YCbCr8: return "YCbCr8";
723  case YCbCr8_CbYCr: return "YCbCr8_CbYCr";
724  case YCbCr10_CbYCr: return "YCbCr10_CbYCr";
725  case YCbCr10p_CbYCr: return "YCbCr10p_CbYCr";
726  case YCbCr12_CbYCr: return "YCbCr12_CbYCr";
727  case YCbCr12p_CbYCr: return "YCbCr12p_CbYCr";
728  case YCbCr411_8: return "YCbCr411_8";
729  case YCbCr411_8_CbYYCrYY: return "YCbCr411_8_CbYYCrYY";
730  case YCbCr422_8: return "YCbCr422_8";
731  case YCbCr422_8_CbYCrY: return "YCbCr422_8_CbYCrY";
732  case YCbCr422_10: return "YCbCr422_10";
733  case YCbCr422_10_CbYCrY: return "YCbCr422_10_CbYCrY";
734  case YCbCr422_10p: return "YCbCr422_10p";
735  case YCbCr422_10p_CbYCrY: return "YCbCr422_10p_CbYCrY";
736  case YCbCr422_12: return "YCbCr422_12";
737  case YCbCr422_12_CbYCrY: return "YCbCr422_12_CbYCrY";
738  case YCbCr422_12p: return "YCbCr422_12p";
739  case YCbCr422_12p_CbYCrY: return "YCbCr422_12p_CbYCrY";
740  case YCbCr601_8_CbYCr: return "YCbCr601_8_CbYCr";
741  case YCbCr601_10_CbYCr: return "YCbCr601_10_CbYCr";
742  case YCbCr601_10p_CbYCr: return "YCbCr601_10p_CbYCr";
743  case YCbCr601_12_CbYCr: return "YCbCr601_12_CbYCr";
744  case YCbCr601_12p_CbYCr: return "YCbCr601_12p_CbYCr";
745  case YCbCr601_411_8_CbYYCrYY: return "YCbCr601_411_8_CbYYCrYY";
746  case YCbCr601_422_8: return "YCbCr601_422_8";
747  case YCbCr601_422_8_CbYCrY: return "YCbCr601_422_8_CbYCrY";
748  case YCbCr601_422_10: return "YCbCr601_422_10";
749  case YCbCr601_422_10_CbYCrY: return "YCbCr601_422_10_CbYCrY";
750  case YCbCr601_422_10p: return "YCbCr601_422_10p";
751  case YCbCr601_422_10p_CbYCrY: return "YCbCr601_422_10p_CbYCrY";
752  case YCbCr601_422_12: return "YCbCr601_422_12";
753  case YCbCr601_422_12_CbYCrY: return "YCbCr601_422_12_CbYCrY";
754  case YCbCr601_422_12p: return "YCbCr601_422_12p";
755  case YCbCr601_422_12p_CbYCrY: return "YCbCr601_422_12p_CbYCrY";
756  case YCbCr709_8_CbYCr: return "YCbCr709_8_CbYCr";
757  case YCbCr709_10_CbYCr: return "YCbCr709_10_CbYCr";
758  case YCbCr709_10p_CbYCr: return "YCbCr709_10p_CbYCr";
759  case YCbCr709_12_CbYCr: return "YCbCr709_12_CbYCr";
760  case YCbCr709_12p_CbYCr: return "YCbCr709_12p_CbYCr";
761  case YCbCr709_411_8_CbYYCrYY: return "YCbCr709_411_8_CbYYCrYY";
762  case YCbCr709_422_8: return "YCbCr709_422_8";
763  case YCbCr709_422_8_CbYCrY: return "YCbCr709_422_8_CbYCrY";
764  case YCbCr709_422_10: return "YCbCr709_422_10";
765  case YCbCr709_422_10_CbYCrY: return "YCbCr709_422_10_CbYCrY";
766  case YCbCr709_422_10p: return "YCbCr709_422_10p";
767  case YCbCr709_422_10p_CbYCrY: return "YCbCr709_422_10p_CbYCrY";
768  case YCbCr709_422_12: return "YCbCr709_422_12";
769  case YCbCr709_422_12_CbYCrY: return "YCbCr709_422_12_CbYCrY";
770  case YCbCr709_422_12p: return "YCbCr709_422_12p";
771  case YCbCr709_422_12p_CbYCrY: return "YCbCr709_422_12p_CbYCrY";
772  case YCbCr2020_8_CbYCr: return "YCbCr2020_8_CbYCr";
773  case YCbCr2020_10_CbYCr: return "YCbCr2020_10_CbYCr";
774  case YCbCr2020_10p_CbYCr: return "YCbCr2020_10p_CbYCr";
775  case YCbCr2020_12_CbYCr: return "YCbCr2020_12_CbYCr";
776  case YCbCr2020_12p_CbYCr: return "YCbCr2020_12p_CbYCr";
777  case YCbCr2020_411_8_CbYYCrYY: return "YCbCr2020_411_8_CbYYCrYY";
778  case YCbCr2020_422_8: return "YCbCr2020_422_8";
779  case YCbCr2020_422_8_CbYCrY: return "YCbCr2020_422_8_CbYCrY";
780  case YCbCr2020_422_10: return "YCbCr2020_422_10";
781  case YCbCr2020_422_10_CbYCrY: return "YCbCr2020_422_10_CbYCrY";
782  case YCbCr2020_422_10p: return "YCbCr2020_422_10p";
783  case YCbCr2020_422_10p_CbYCrY: return "YCbCr2020_422_10p_CbYCrY";
784  case YCbCr2020_422_12: return "YCbCr2020_422_12";
785  case YCbCr2020_422_12_CbYCrY: return "YCbCr2020_422_12_CbYCrY";
786  case YCbCr2020_422_12p: return "YCbCr2020_422_12p";
787  case YCbCr2020_422_12p_CbYCrY: return "YCbCr2020_422_12p_CbYCrY";
788  case YUV8_UYV: return "YUV8_UYV";
789  case YUV411_8_UYYVYY: return "YUV411_8_UYYVYY";
790  case YUV422_8: return "YUV422_8";
791  case YUV422_8_UYVY: return "YUV422_8_UYVY";
792  case Mono10Packed: return "Mono10Packed";
793  case Mono12Packed: return "Mono12Packed";
794  case BayerBG10Packed: return "BayerBG10Packed";
795  case BayerBG12Packed: return "BayerBG12Packed";
796  case BayerGB10Packed: return "BayerGB10Packed";
797  case BayerGB12Packed: return "BayerGB12Packed";
798  case BayerGR10Packed: return "BayerGR10Packed";
799  case BayerGR12Packed: return "BayerGR12Packed";
800  case BayerRG10Packed: return "BayerRG10Packed";
801  case BayerRG12Packed: return "BayerRG12Packed";
802  case RGB10V1Packed: return "RGB10V1Packed";
803  case RGB12V1Packed: return "RGB12V1Packed";
804 
805  case InvalidPixelFormat: return "InvalidPixelFormat";
806 
807  default: return "UnknownPixelFormat";
808  }
809 }
810 static PFNC_INLINE const char* GetPixelFormatDescription (PfncFormat format)
811 {
812  switch (format)
813  {
814  case Mono1p: return "Monochrome 1-bit packed";
815  case Mono2p: return "Monochrome 2-bit packed";
816  case Mono4p: return "Monochrome 4-bit packed";
817  case Mono8: return "Monochrome 8-bit";
818  case Mono8s: return "Monochrome 8-bit signed";
819  case Mono10: return "Monochrome 10-bit unpacked";
820  case Mono10p: return "Monochrome 10-bit packed";
821  case Mono12: return "Monochrome 12-bit unpacked";
822  case Mono12p: return "Monochrome 12-bit packed";
823  case Mono14: return "Monochrome 14-bit unpacked";
824  case Mono16: return "Monochrome 16-bit";
825  case BayerBG8: return "Bayer Blue-Green 8-bit";
826  case BayerBG10: return "Bayer Blue-Green 10-bit unpacked";
827  case BayerBG10p: return "Bayer Blue-Green 10-bit packed";
828  case BayerBG12: return "Bayer Blue-Green 12-bit unpacked";
829  case BayerBG12p: return "Bayer Blue-Green 12-bit packed";
830  case BayerBG16: return "Bayer Blue-Green 16-bit";
831  case BayerGB8: return "Bayer Green-Blue 8-bit";
832  case BayerGB10: return "Bayer Green-Blue 10-bit unpacked";
833  case BayerGB10p: return "Bayer Green-Blue 10-bit packed";
834  case BayerGB12: return "Bayer Green-Blue 12-bit unpacked";
835  case BayerGB12p: return "Bayer Green-Blue 12-bit packed";
836  case BayerGB16: return "Bayer Green-Blue 16-bit";
837  case BayerGR8: return "Bayer Green-Red 8-bit";
838  case BayerGR10: return "Bayer Green-Red 10-bit unpacked";
839  case BayerGR10p: return "Bayer Green-Red 10-bit packed";
840  case BayerGR12: return "Bayer Green-Red 12-bit unpacked";
841  case BayerGR12p: return "Bayer Green-Red 12-bit packed";
842  case BayerGR16: return "Bayer Green-Red 16-bit";
843  case BayerRG8: return "Bayer Red-Green 8-bit";
844  case BayerRG10: return "Bayer Red-Green 10-bit unpacked";
845  case BayerRG10p: return "Bayer Red-Green 10-bit packed";
846  case BayerRG12: return "Bayer Red-Green 12-bit unpacked";
847  case BayerRG12p: return "Bayer Red-Green 12-bit packed";
848  case BayerRG16: return "Bayer Red-Green 16-bit";
849  case RGBa8: return "Red-Green-Blue-alpha 8-bit";
850  case RGBa10: return "Red-Green-Blue-alpha 10-bit unpacked";
851  case RGBa10p: return "Red-Green-Blue-alpha 10-bit packed";
852  case RGBa12: return "Red-Green-Blue-alpha 12-bit unpacked";
853  case RGBa12p: return "Red-Green-Blue-alpha 12-bit packed";
854  case RGBa14: return "Red-Green-Blue-alpha 14-bit unpacked";
855  case RGBa16: return "Red-Green-Blue-alpha 16-bit";
856  case RGB8: return "Red-Green-Blue 8-bit";
857  case RGB8_Planar: return "Red-Green-Blue 8-bit planar";
858  case RGB10: return "Red-Green-Blue 10-bit unpacked";
859  case RGB10_Planar: return "Red-Green-Blue 10-bit unpacked planar";
860  case RGB10p: return "Red-Green-Blue 10-bit packed";
861  case RGB10p32: return "Red-Green-Blue 10-bit packed into 32-bit";
862  case RGB12: return "Red-Green-Blue 12-bit unpacked";
863  case RGB12_Planar: return "Red-Green-Blue 12-bit unpacked planar";
864  case RGB12p: return "Red-Green-Blue 12-bit packed ";
865  case RGB14: return "Red-Green-Blue 14-bit unpacked";
866  case RGB16: return "Red-Green-Blue 16-bit ";
867  case RGB16_Planar: return "Red-Green-Blue 16-bit planar";
868  case RGB565p: return "Red-Green-Blue 5/6/5-bit packed";
869  case BGRa8: return "Blue-Green-Red-alpha 8-bit";
870  case BGRa10: return "Blue-Green-Red-alpha 10-bit unpacked";
871  case BGRa10p: return "Blue-Green-Red-alpha 10-bit packed";
872  case BGRa12: return "Blue-Green-Red-alpha 12-bit unpacked";
873  case BGRa12p: return "Blue-Green-Red-alpha 12-bit packed";
874  case BGRa14: return "Blue-Green-Red-alpha 14-bit unpacked";
875  case BGRa16: return "Blue-Green-Red-alpha 16-bit";
876  case BGR8: return "Blue-Green-Red 8-bit";
877  case BGR10: return "Blue-Green-Red 10-bit unpacked";
878  case BGR10p: return "Blue-Green-Red 10-bit packed";
879  case BGR12: return "Blue-Green-Red 12-bit unpacked";
880  case BGR12p: return "Blue-Green-Red 12-bit packed";
881  case BGR14: return "Blue-Green-Red 14-bit unpacked";
882  case BGR16: return "Blue-Green-Red 16-bit";
883  case BGR565p: return "Blue-Green-Red 5/6/5-bit packed";
884  case R8: return "Red 8-bit";
885  case R10: return "Red 10-bit";
886  case R12: return "Red 12-bit";
887  case R16: return "Red 16-bit";
888  case G8: return "Green 8-bit";
889  case G10: return "Green 10-bit";
890  case G12: return "Green 12-bit";
891  case G16: return "Green 16-bit";
892  case B8: return "Blue 8-bit";
893  case B10: return "Blue 10-bit";
894  case B12: return "Blue 12-bit";
895  case B16: return "Blue 16-bit";
896  case Coord3D_ABC8: return "3D coordinate A-B-C 8-bit";
897  case Coord3D_ABC8_Planar: return "3D coordinate A-B-C 8-bit planar";
898  case Coord3D_ABC10p: return "3D coordinate A-B-C 10-bit packed";
899  case Coord3D_ABC10p_Planar: return "3D coordinate A-B-C 10-bit packed planar";
900  case Coord3D_ABC12p: return "3D coordinate A-B-C 12-bit packed";
901  case Coord3D_ABC12p_Planar: return "3D coordinate A-B-C 12-bit packed planar";
902  case Coord3D_ABC16: return "3D coordinate A-B-C 16-bit";
903  case Coord3D_ABC16_Planar: return "3D coordinate A-B-C 16-bit planar";
904  case Coord3D_ABC32f: return "3D coordinate A-B-C 32-bit floating point";
905  case Coord3D_ABC32f_Planar: return "3D coordinate A-B-C 32-bit floating point planar";
906  case Coord3D_AC8: return "3D coordinate A-C 8-bit";
907  case Coord3D_AC8_Planar: return "3D coordinate A-C 8-bit planar";
908  case Coord3D_AC10p: return "3D coordinate A-C 10-bit packed";
909  case Coord3D_AC10p_Planar: return "3D coordinate A-C 10-bit packed planar";
910  case Coord3D_AC12p: return "3D coordinate A-C 12-bit packed";
911  case Coord3D_AC12p_Planar: return "3D coordinate A-C 12-bit packed planar";
912  case Coord3D_AC16: return "3D coordinate A-C 16-bit";
913  case Coord3D_AC16_Planar: return "3D coordinate A-C 16-bit planar";
914  case Coord3D_AC32f: return "3D coordinate A-C 32-bit floating point";
915  case Coord3D_AC32f_Planar: return "3D coordinate A-C 32-bit floating point planar";
916  case Coord3D_A8: return "3D coordinate A 8-bit";
917  case Coord3D_A10p: return "3D coordinate A 10-bit packed";
918  case Coord3D_A12p: return "3D coordinate A 12-bit packed";
919  case Coord3D_A16: return "3D coordinate A 16-bit";
920  case Coord3D_A32f: return "3D coordinate A 32-bit floating point";
921  case Coord3D_B8: return "3D coordinate B 8-bit";
922  case Coord3D_B10p: return "3D coordinate B 10-bit packed";
923  case Coord3D_B12p: return "3D coordinate B 12-bit packed";
924  case Coord3D_B16: return "3D coordinate B 16-bit";
925  case Coord3D_B32f: return "3D coordinate B 32-bit floating point";
926  case Coord3D_C8: return "3D coordinate C 8-bit";
927  case Coord3D_C10p: return "3D coordinate C 10-bit packed";
928  case Coord3D_C12p: return "3D coordinate C 12-bit packed";
929  case Coord3D_C16: return "3D coordinate C 16-bit";
930  case Coord3D_C32f: return "3D coordinate C 32-bit floating point";
931  case Confidence1: return "Confidence 1-bit unpacked";
932  case Confidence1p: return "Confidence 1-bit packed";
933  case Confidence8: return "Confidence 8-bit";
934  case Confidence16: return "Confidence 16-bit";
935  case Confidence32f: return "Confidence 32-bit floating point";
936  case BiColorBGRG8: return "Bi-color Blue/Green - Red/Green 8-bit";
937  case BiColorBGRG10: return "Bi-color Blue/Green - Red/Green 10-bit unpacked";
938  case BiColorBGRG10p: return "Bi-color Blue/Green - Red/Green 10-bit packed";
939  case BiColorBGRG12: return "Bi-color Blue/Green - Red/Green 12-bit unpacked";
940  case BiColorBGRG12p: return "Bi-color Blue/Green - Red/Green 12-bit packed";
941  case BiColorRGBG8: return "Bi-color Red/Green - Blue/Green 8-bit";
942  case BiColorRGBG10: return "Bi-color Red/Green - Blue/Green 10-bit unpacked";
943  case BiColorRGBG10p: return "Bi-color Red/Green - Blue/Green 10-bit packed";
944  case BiColorRGBG12: return "Bi-color Red/Green - Blue/Green 12-bit unpacked";
945  case BiColorRGBG12p: return "Bi-color Red/Green - Blue/Green 12-bit packed";
946  case SCF1WBWG8: return "Sparse Color Filter #1 White-Blue-White-Green 8-bit";
947  case SCF1WBWG10: return "Sparse Color Filter #1 White-Blue-White-Green 10-bit unpacked";
948  case SCF1WBWG10p: return "Sparse Color Filter #1 White-Blue-White-Green 10-bit packed";
949  case SCF1WBWG12: return "Sparse Color Filter #1 White-Blue-White-Green 12-bit unpacked";
950  case SCF1WBWG12p: return "Sparse Color Filter #1 White-Blue-White-Green 12-bit packed";
951  case SCF1WBWG14: return "Sparse Color Filter #1 White-Blue-White-Green 14-bit unpacked";
952  case SCF1WBWG16: return "Sparse Color Filter #1 White-Blue-White-Green 16-bit unpacked";
953  case SCF1WGWB8: return "Sparse Color Filter #1 White-Green-White-Blue 8-bit";
954  case SCF1WGWB10: return "Sparse Color Filter #1 White-Green-White-Blue 10-bit unpacked";
955  case SCF1WGWB10p: return "Sparse Color Filter #1 White-Green-White-Blue 10-bit packed";
956  case SCF1WGWB12: return "Sparse Color Filter #1 White-Green-White-Blue 12-bit unpacked";
957  case SCF1WGWB12p: return "Sparse Color Filter #1 White-Green-White-Blue 12-bit packed";
958  case SCF1WGWB14: return "Sparse Color Filter #1 White-Green-White-Blue 14-bit unpacked";
959  case SCF1WGWB16: return "Sparse Color Filter #1 White-Green-White-Blue 16-bit";
960  case SCF1WGWR8: return "Sparse Color Filter #1 White-Green-White-Red 8-bit";
961  case SCF1WGWR10: return "Sparse Color Filter #1 White-Green-White-Red 10-bit unpacked";
962  case SCF1WGWR10p: return "Sparse Color Filter #1 White-Green-White-Red 10-bit packed";
963  case SCF1WGWR12: return "Sparse Color Filter #1 White-Green-White-Red 12-bit unpacked";
964  case SCF1WGWR12p: return "Sparse Color Filter #1 White-Green-White-Red 12-bit packed";
965  case SCF1WGWR14: return "Sparse Color Filter #1 White-Green-White-Red 14-bit unpacked";
966  case SCF1WGWR16: return "Sparse Color Filter #1 White-Green-White-Red 16-bit";
967  case SCF1WRWG8: return "Sparse Color Filter #1 White-Red-White-Green 8-bit";
968  case SCF1WRWG10: return "Sparse Color Filter #1 White-Red-White-Green 10-bit unpacked";
969  case SCF1WRWG10p: return "Sparse Color Filter #1 White-Red-White-Green 10-bit packed";
970  case SCF1WRWG12: return "Sparse Color Filter #1 White-Red-White-Green 12-bit unpacked";
971  case SCF1WRWG12p: return "Sparse Color Filter #1 White-Red-White-Green 12-bit packed";
972  case SCF1WRWG14: return "Sparse Color Filter #1 White-Red-White-Green 14-bit unpacked";
973  case SCF1WRWG16: return "Sparse Color Filter #1 White-Red-White-Green 16-bit";
974  case YCbCr8: return "YCbCr 4:4:4 8-bit";
975  case YCbCr8_CbYCr: return "YCbCr 4:4:4 8-bit";
976  case YCbCr10_CbYCr: return "YCbCr 4:4:4 10-bit unpacked";
977  case YCbCr10p_CbYCr: return "YCbCr 4:4:4 10-bit packed";
978  case YCbCr12_CbYCr: return "YCbCr 4:4:4 12-bit unpacked";
979  case YCbCr12p_CbYCr: return "YCbCr 4:4:4 12-bit packed";
980  case YCbCr411_8: return "YCbCr 4:1:1 8-bit";
981  case YCbCr411_8_CbYYCrYY: return "YCbCr 4:1:1 8-bit";
982  case YCbCr422_8: return "YCbCr 4:2:2 8-bit";
983  case YCbCr422_8_CbYCrY: return "YCbCr 4:2:2 8-bit";
984  case YCbCr422_10: return "YCbCr 4:2:2 10-bit unpacked";
985  case YCbCr422_10_CbYCrY: return "YCbCr 4:2:2 10-bit unpacked";
986  case YCbCr422_10p: return "YCbCr 4:2:2 10-bit packed";
987  case YCbCr422_10p_CbYCrY: return "YCbCr 4:2:2 10-bit packed";
988  case YCbCr422_12: return "YCbCr 4:2:2 12-bit unpacked";
989  case YCbCr422_12_CbYCrY: return "YCbCr 4:2:2 12-bit unpacked";
990  case YCbCr422_12p: return "YCbCr 4:2:2 12-bit packed";
991  case YCbCr422_12p_CbYCrY: return "YCbCr 4:2:2 12-bit packed";
992  case YCbCr601_8_CbYCr: return "YCbCr 4:4:4 8-bit BT.601";
993  case YCbCr601_10_CbYCr: return "YCbCr 4:4:4 10-bit unpacked BT.601";
994  case YCbCr601_10p_CbYCr: return "YCbCr 4:4:4 10-bit packed BT.601";
995  case YCbCr601_12_CbYCr: return "YCbCr 4:4:4 12-bit unpacked BT.601";
996  case YCbCr601_12p_CbYCr: return "YCbCr 4:4:4 12-bit packed BT.601";
997  case YCbCr601_411_8_CbYYCrYY: return "YCbCr 4:1:1 8-bit BT.601";
998  case YCbCr601_422_8: return "YCbCr 4:2:2 8-bit BT.601";
999  case YCbCr601_422_8_CbYCrY: return "YCbCr 4:2:2 8-bit BT.601";
1000  case YCbCr601_422_10: return "YCbCr 4:2:2 10-bit unpacked BT.601";
1001  case YCbCr601_422_10_CbYCrY: return "YCbCr 4:2:2 10-bit unpacked BT.601";
1002  case YCbCr601_422_10p: return "YCbCr 4:2:2 10-bit packed BT.601";
1003  case YCbCr601_422_10p_CbYCrY: return "YCbCr 4:2:2 10-bit packed BT.601";
1004  case YCbCr601_422_12: return "YCbCr 4:2:2 12-bit unpacked BT.601";
1005  case YCbCr601_422_12_CbYCrY: return "YCbCr 4:2:2 12-bit unpacked BT.601";
1006  case YCbCr601_422_12p: return "YCbCr 4:2:2 12-bit packed BT.601";
1007  case YCbCr601_422_12p_CbYCrY: return "YCbCr 4:2:2 12-bit packed BT.601";
1008  case YCbCr709_8_CbYCr: return "YCbCr 4:4:4 8-bit BT.709";
1009  case YCbCr709_10_CbYCr: return "YCbCr 4:4:4 10-bit unpacked BT.709";
1010  case YCbCr709_10p_CbYCr: return "YCbCr 4:4:4 10-bit packed BT.709";
1011  case YCbCr709_12_CbYCr: return "YCbCr 4:4:4 12-bit unpacked BT.709";
1012  case YCbCr709_12p_CbYCr: return "YCbCr 4:4:4 12-bit packed BT.709";
1013  case YCbCr709_411_8_CbYYCrYY: return "YCbCr 4:1:1 8-bit BT.709";
1014  case YCbCr709_422_8: return "YCbCr 4:2:2 8-bit BT.709";
1015  case YCbCr709_422_8_CbYCrY: return "YCbCr 4:2:2 8-bit BT.709";
1016  case YCbCr709_422_10: return "YCbCr 4:2:2 10-bit unpacked BT.709";
1017  case YCbCr709_422_10_CbYCrY: return "YCbCr 4:2:2 10-bit unpacked BT.709";
1018  case YCbCr709_422_10p: return "YCbCr 4:2:2 10-bit packed BT.709";
1019  case YCbCr709_422_10p_CbYCrY: return "YCbCr 4:2:2 10-bit packed BT.709";
1020  case YCbCr709_422_12: return "YCbCr 4:2:2 12-bit unpacked BT.709";
1021  case YCbCr709_422_12_CbYCrY: return "YCbCr 4:2:2 12-bit unpacked BT.709";
1022  case YCbCr709_422_12p: return "YCbCr 4:2:2 12-bit packed BT.709";
1023  case YCbCr709_422_12p_CbYCrY: return "YCbCr 4:2:2 12-bit packed BT.709";
1024  case YCbCr2020_8_CbYCr: return "YCbCr 4:4:4 8-bit BT.2020";
1025  case YCbCr2020_10_CbYCr: return "YCbCr 4:4:4 10-bit unpacked BT.2020";
1026  case YCbCr2020_10p_CbYCr: return "YCbCr 4:4:4 10-bit packed BT.2020";
1027  case YCbCr2020_12_CbYCr: return "YCbCr 4:4:4 12-bit unpacked BT.2020 ";
1028  case YCbCr2020_12p_CbYCr: return "YCbCr 4:4:4 12-bit packed BT.2020";
1029  case YCbCr2020_411_8_CbYYCrYY: return "YCbCr 4:1:1 8-bit BT.2020";
1030  case YCbCr2020_422_8: return "YCbCr 4:2:2 8-bit BT.2020 ";
1031  case YCbCr2020_422_8_CbYCrY: return "YCbCr 4:2:2 8-bit BT.2020";
1032  case YCbCr2020_422_10: return "YCbCr 4:2:2 10-bit unpacked BT.2020";
1033  case YCbCr2020_422_10_CbYCrY: return "YCbCr 4:2:2 10-bit unpacked BT.2020";
1034  case YCbCr2020_422_10p: return "YCbCr 4:2:2 10-bit packed BT.2020";
1035  case YCbCr2020_422_10p_CbYCrY: return "YCbCr 4:2:2 10-bit packed BT.2020";
1036  case YCbCr2020_422_12: return "YCbCr 4:2:2 12-bit unpacked BT.2020";
1037  case YCbCr2020_422_12_CbYCrY: return "YCbCr 4:2:2 12-bit unpacked BT.2020";
1038  case YCbCr2020_422_12p: return "YCbCr 4:2:2 12-bit packed BT.2020";
1039  case YCbCr2020_422_12p_CbYCrY: return "YCbCr 4:2:2 12-bit packed BT.2020";
1040  case YUV8_UYV: return "YUV 4:4:4 8-bit";
1041  case YUV411_8_UYYVYY: return "YUV 4:1:1 8-bit";
1042  case YUV422_8: return "YUV 4:2:2 8-bit";
1043  case YUV422_8_UYVY: return "YUV 4:2:2 8-bit";
1044  case Mono10Packed: return "Monochrome 10-bit packed";
1045  case Mono12Packed: return "Monochrome 12-bit packed";
1046  case BayerBG10Packed: return "Bayer Blue-Green 10-bit packed";
1047  case BayerBG12Packed: return "Bayer Blue-Green 12-bit packed";
1048  case BayerGB10Packed: return "Bayer Green-Blue 10-bit packed";
1049  case BayerGB12Packed: return "Bayer Green-Blue 12-bit packed";
1050  case BayerGR10Packed: return "Bayer Green-Red 10-bit packed";
1051  case BayerGR12Packed: return "Bayer Green-Red 12-bit packed";
1052  case BayerRG10Packed: return "Bayer Red-Green 10-bit packed";
1053  case BayerRG12Packed: return "Bayer Red-Green 12-bit packed";
1054  case RGB10V1Packed: return "Red-Green-Blue 10-bit packed - variant 1";
1055  case RGB12V1Packed: return "Red-Green-Blue 12-bit packed - variant 1";
1056 
1057  case InvalidPixelFormat: return "Invalid pixel format value";
1058 
1059  default: return "Unknown pixel format value";
1060  }
1061 }
1062 #endif /* PFNC_INCLUDE_HELPERS */
1063 
1064 
1065 #endif /* PFNC_H */
Definition: PFNC.h:330
Definition: PFNC.h:334
Definition: PFNC.h:345
Definition: PFNC.h:324
Definition: PFNC.h:340
enum PfncFormat_ PfncFormat
PfncFormat_
Definition: PFNC.h:267
Definition: PFNC.h:286
Definition: PFNC.h:272
Definition: PFNC.h:344
Definition: PFNC.h:328
Definition: PFNC.h:309
Definition: PFNC.h:495
Definition: PFNC.h:280
Definition: PFNC.h:269
Definition: PFNC.h:349
Definition: PFNC.h:274
Definition: PFNC.h:275
Definition: PFNC.h:343
Definition: PFNC.h:348
Definition: PFNC.h:298
Definition: PFNC.h:321
Definition: PFNC.h:319
Definition: PFNC.h:346
Definition: PFNC.h:350
Definition: PFNC.h:325
Definition: PFNC.h:271
Definition: PFNC.h:336
Definition: PFNC.h:311
Definition: PFNC.h:331
Definition: PFNC.h:337
Definition: PFNC.h:326
Definition: PFNC.h:313
Definition: PFNC.h:338
Definition: PFNC.h:320
Definition: PFNC.h:276
Definition: PFNC.h:429
Definition: PFNC.h:308
Definition: PFNC.h:339
Definition: PFNC.h:310
Definition: PFNC.h:317
Definition: PFNC.h:335
Definition: PFNC.h:323
Definition: PFNC.h:279
Definition: PFNC.h:329
Definition: PFNC.h:278
Definition: PFNC.h:333
Definition: PFNC.h:497
Definition: PFNC.h:292
Definition: PFNC.h:273
Definition: PFNC.h:342
Definition: PFNC.h:327
Definition: PFNC.h:306
Definition: PFNC.h:315
Definition: PFNC.h:347
Definition: PFNC.h:277
Definition: PFNC.h:305
Definition: PFNC.h:341
Definition: PFNC.h:304
Definition: PFNC.h:332
Definition: PFNC.h:307
Definition: PFNC.h:270
Definition: PFNC.h:316


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Thu Jun 6 2019 19:10:54