7 #ifndef __PVPIXELTYPE_H__
8 #define __PVPIXELTYPE_H__
11 #define EBUS_ENUM(x) typedef enum
14 #include <PvBufferLib.h>
21 #define PVPIXELMONO ( 0x01000000 )
22 #define PVPIXELRGB ( 0x02000000 ) // Pre GEV 1.1, kept for bw compatibility
23 #define PVPIXELCOLOR ( 0x02000000 ) // GEV 1.1
24 #define PVPIXELCUSTOM ( 0x80000000 )
25 #define PVPIXELCOLORMASK ( 0xFF000000 )
31 #define PVPIXEL1BIT ( 0x00010000 )
32 #define PVPIXEL2BIT ( 0x00020000 )
33 #define PVPIXEL4BIT ( 0x00040000 )
34 #define PVPIXEL8BIT ( 0x00080000 )
35 #define PVPIXEL10BIT ( 0x000A0000 )
36 #define PVPIXEL12BIT ( 0x000C0000 )
37 #define PVPIXEL14BIT ( 0x000E0000 )
38 #define PVPIXEL16BIT ( 0x00100000 )
39 #define PVPIXEL20BIT ( 0x00140000 )
40 #define PVPIXEL24BIT ( 0x00180000 )
41 #define PVPIXEL30BIT ( 0x001E0000 )
42 #define PVPIXEL32BIT ( 0x00200000 )
43 #define PVPIXEL36BIT ( 0x00240000 )
44 #define PVPIXEL40BIT ( 0x00280000 )
45 #define PVPIXEL48BIT ( 0x00300000 )
46 #define PVPIXEL64BIT ( 0x00400000 )
47 #define PVPIXEL96BIT ( 0x00600000 )
48 #define PVBITSPERPIXELMASK ( 0x00FF0000 )
54 #define PVPIXELIDMASK ( 0x0000FFFF )
60 PvPixelUndefined = ( 0 ),
130 PvPixelMono10p = ( PVPIXELMONO | PVPIXEL10BIT | 0x0046 ),
131 PvPixelMono12p = ( PVPIXELMONO | PVPIXEL12BIT | 0x0047 ),
133 PvPixelBGR10p = ( PVPIXELCOLOR | PVPIXEL30BIT | 0x0048 ),
134 PvPixelBGR12p = ( PVPIXELCOLOR | PVPIXEL36BIT | 0x0049 ),
135 PvPixelBGR14 = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x004A ),
136 PvPixelBGR16 = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x004B ),
137 PvPixelBGRa10 = ( PVPIXELCOLOR | PVPIXEL64BIT | 0x004C ),
138 PvPixelBGRa10p = ( PVPIXELCOLOR | PVPIXEL40BIT | 0x004D ),
139 PvPixelBGRa12 = ( PVPIXELCOLOR | PVPIXEL64BIT | 0x004E ),
140 PvPixelBGRa12p = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x004F ),
141 PvPixelBGRa14 = ( PVPIXELCOLOR | PVPIXEL64BIT | 0x0050 ),
142 PvPixelBGRa16 = ( PVPIXELCOLOR | PVPIXEL64BIT | 0x0051 ),
143 PvPixelRGB10p = ( PVPIXELCOLOR | PVPIXEL30BIT | 0x0052 ),
145 PvPixelBayerBG10p = ( PVPIXELMONO | PVPIXEL10BIT | 0x0052 ),
146 PvPixelBayerBG12p = ( PVPIXELMONO | PVPIXEL12BIT | 0x0053 ),
147 PvPixelBayerGB10p = ( PVPIXELMONO | PVPIXEL10BIT | 0x0054 ),
148 PvPixelBayerGB12p = ( PVPIXELMONO | PVPIXEL12BIT | 0x0055 ),
149 PvPixelBayerGR10p = ( PVPIXELMONO | PVPIXEL10BIT | 0x0056 ),
150 PvPixelBayerGR12p = ( PVPIXELMONO | PVPIXEL12BIT | 0x0057 ),
151 PvPixelBayerRG10p = ( PVPIXELMONO | PVPIXEL10BIT | 0x0058 ),
152 PvPixelBayerRG12p = ( PVPIXELMONO | PVPIXEL12BIT | 0x0059 ),
154 PvPixelYCbCr411_8 = ( PVPIXELCOLOR | PVPIXEL12BIT | 0x005A ),
155 PvPixelYCbCr8 = ( PVPIXELCOLOR | PVPIXEL24BIT | 0x005B ),
157 PvPixelRGB12p = ( PVPIXELCOLOR | PVPIXEL36BIT | 0x005C ),
158 PvPixelRGB14 = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x005D ),
159 PvPixelRGBa10 = ( PVPIXELCOLOR | PVPIXEL64BIT | 0x005E ),
160 PvPixelRGBa10p = ( PVPIXELCOLOR | PVPIXEL40BIT | 0x005F ),
161 PvPixelRGBa12 = ( PVPIXELCOLOR | PVPIXEL64BIT | 0x0060 ),
162 PvPixelRGBa12p = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x0061 ),
163 PvPixelRGBa14 = ( PVPIXELCOLOR | PVPIXEL64BIT | 0x0062 ),
164 PvPixelRGBa16 = ( PVPIXELCOLOR | PVPIXEL64BIT | 0x0063 ),
166 PvPixelYCbCr422_10 = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x0065 ),
167 PvPixelYCbCr422_12 = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x0066 ),
169 PvPixelSCF1WBWG8 = ( PVPIXELMONO | PVPIXEL8BIT | 0x0067 ),
170 PvPixelSCF1WBWG10 = ( PVPIXELMONO | PVPIXEL16BIT | 0x0068 ),
171 PvPixelSCF1WBWG10p = ( PVPIXELMONO | PVPIXEL10BIT | 0x0069 ),
172 PvPixelSCF1WBWG12 = ( PVPIXELMONO | PVPIXEL16BIT | 0x006A ),
173 PvPixelSCF1WBWG12p = ( PVPIXELMONO | PVPIXEL12BIT | 0x006B ),
174 PvPixelSCF1WBWG14 = ( PVPIXELMONO | PVPIXEL16BIT | 0x006C ),
175 PvPixelSCF1WBWG16 = ( PVPIXELMONO | PVPIXEL16BIT | 0x006D ),
176 PvPixelSCF1WGWB8 = ( PVPIXELMONO | PVPIXEL8BIT | 0x006E ),
177 PvPixelSCF1WGWB10 = ( PVPIXELMONO | PVPIXEL16BIT | 0x006F ),
178 PvPixelSCF1WGWB10p = ( PVPIXELMONO | PVPIXEL10BIT | 0x0070 ),
179 PvPixelSCF1WGWB12 = ( PVPIXELMONO | PVPIXEL16BIT | 0x0071 ),
180 PvPixelSCF1WGWB12p = ( PVPIXELMONO | PVPIXEL12BIT | 0x0072 ),
181 PvPixelSCF1WGWB14 = ( PVPIXELMONO | PVPIXEL16BIT | 0x0073 ),
182 PvPixelSCF1WGWB16 = ( PVPIXELMONO | PVPIXEL16BIT | 0x0074 ),
183 PvPixelSCF1WGWR8 = ( PVPIXELMONO | PVPIXEL8BIT | 0x0075 ),
184 PvPixelSCF1WGWR10 = ( PVPIXELMONO | PVPIXEL16BIT | 0x0076 ),
185 PvPixelSCF1WGWR10p = ( PVPIXELMONO | PVPIXEL10BIT | 0x0077 ),
186 PvPixelSCF1WGWR12 = ( PVPIXELMONO | PVPIXEL16BIT | 0x0078 ),
187 PvPixelSCF1WGWR12p = ( PVPIXELMONO | PVPIXEL12BIT | 0x0079 ),
188 PvPixelSCF1WGWR14 = ( PVPIXELMONO | PVPIXEL16BIT | 0x007A ),
189 PvPixelSCF1WGWR16 = ( PVPIXELMONO | PVPIXEL16BIT | 0x007B ),
190 PvPixelSCF1WRWG8 = ( PVPIXELMONO | PVPIXEL8BIT | 0x007C ),
191 PvPixelSCF1WRWG10 = ( PVPIXELMONO | PVPIXEL16BIT | 0x007D ),
192 PvPixelSCF1WRWG10p = ( PVPIXELMONO | PVPIXEL10BIT | 0x007E ),
193 PvPixelSCF1WRWG12 = ( PVPIXELMONO | PVPIXEL16BIT | 0x007F ),
194 PvPixelSCF1WRWG12p = ( PVPIXELMONO | PVPIXEL12BIT | 0x0080 ),
195 PvPixelSCF1WRWG14 = ( PVPIXELMONO | PVPIXEL16BIT | 0x0081 ),
196 PvPixelSCF1WRWG16 = ( PVPIXELMONO | PVPIXEL16BIT | 0x0082 ),
198 PvPixelYCbCr10_CbYCr = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x0083 ) ,
199 PvPixelYCbCr10p_CbYCr = ( PVPIXELCOLOR | PVPIXEL30BIT | 0x0084 ),
200 PvPixelYCbCr12_CbYCr = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x0085 ),
201 PvPixelYCbCr12p_CbYCr = ( PVPIXELCOLOR | PVPIXEL36BIT | 0x0086 ),
202 PvPixelYCbCr422_10p = ( PVPIXELCOLOR | PVPIXEL20BIT | 0x0087 ),
203 PvPixelYCbCr422_12p = ( PVPIXELCOLOR | PVPIXEL24BIT | 0x0088 ),
204 PvPixelYCbCr601_10_CbYCr = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x0089 ),
205 PvPixelYCbCr601_10p_CbYCr = ( PVPIXELCOLOR | PVPIXEL30BIT | 0x008A ),
206 PvPixelYCbCr601_12_CbYCr = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x008B ),
207 PvPixelYCbCr601_12p_CbYCr = ( PVPIXELCOLOR | PVPIXEL36BIT | 0x008C ),
208 PvPixelYCbCr601_422_10 = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x008D ),
209 PvPixelYCbCr601_422_10p = ( PVPIXELCOLOR | PVPIXEL20BIT | 0x008E ),
210 PvPixelYCbCr601_422_12 = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x008F ),
211 PvPixelYCbCr601_422_12p = ( PVPIXELCOLOR | PVPIXEL24BIT | 0x0090 ),
212 PvPixelYCbCr709_10_CbYCr = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x0091 ),
213 PvPixelYCbCr709_10p_CbYCr = ( PVPIXELCOLOR | PVPIXEL30BIT | 0x0092 ),
214 PvPixelYCbCr709_12_CbYCr = ( PVPIXELCOLOR | PVPIXEL48BIT | 0x0093 ),
215 PvPixelYCbCr709_12p_CbYCr = ( PVPIXELCOLOR | PVPIXEL36BIT | 0x0094 ),
216 PvPixelYCbCr709_422_10 = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x0095 ),
217 PvPixelYCbCr709_422_10p = ( PVPIXELCOLOR | PVPIXEL20BIT | 0x0096 ),
218 PvPixelYCbCr709_422_12 = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x0097 ),
219 PvPixelYCbCr709_422_12p = ( PVPIXELCOLOR | PVPIXEL24BIT | 0x0098 ),
220 PvPixelYCbCr422_10_CbYCrY = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x0099 ),
221 PvPixelYCbCr422_10p_CbYCrY = ( PVPIXELCOLOR | PVPIXEL20BIT | 0x009A ),
222 PvPixelYCbCr422_12_CbYCrY = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x009B ),
223 PvPixelYCbCr422_12p_CbYCrY = ( PVPIXELCOLOR | PVPIXEL24BIT | 0x009C ),
224 PvPixelYCbCr601_422_10_CbYCrY = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x009D ),
225 PvPixelYCbCr601_422_10p_CbYCrY = ( PVPIXELCOLOR | PVPIXEL20BIT | 0x009E ),
226 PvPixelYCbCr601_422_12_CbYCrY = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x009F ),
227 PvPixelYCbCr601_422_12p_CbYCrY = ( PVPIXELCOLOR | PVPIXEL24BIT | 0x00A0 ),
228 PvPixelYCbCr709_422_10_CbYCrY = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x00A1 ),
229 PvPixelYCbCr709_422_10p_CbYCrY = ( PVPIXELCOLOR | PVPIXEL20BIT | 0x00A2 ),
230 PvPixelYCbCr709_422_12_CbYCrY = ( PVPIXELCOLOR | PVPIXEL32BIT | 0x00A3 ),
231 PvPixelYCbCr709_422_12p_CbYCrY = ( PVPIXELCOLOR | PVPIXEL24BIT | 0x00A4 ),
317 #define PV_PIXEL_WIN_RGB32 ( PvPixelBGRa8 )
318 #define PV_PIXEL_WIN_RGB24 ( PvPixelBGR8 )
319 #define PV_PIXEL_WIN_RGB16 ( PvPixelRGB565p )
322 #define PV_PIXEL_QT_RGB32 ( PvPixelBGRa8 )
323 #define PV_PIXEL_QT_RGB888 ( PvPixelBGR8 )
324 #define PV_PIXEL_QT_RGB565 ( PvPixelRGB565p )
327 #define PV_PIXEL_OPENGL_RGB32 ( PvPixelRGBa8 )
328 #define PV_PIXEL_OPENGL_RGB24 ( PvPixelRGB8 )
329 #define PV_PIXEL_OPENGL_BGR32 ( PvPixelBGRa8 )
330 #define PV_PIXEL_OPENGL_BGR24 ( PvPixelBGR8 )
333 #ifndef PV_NO_GEV1X_PIXEL_TYPES
334 #define PvPixelMono8Signed ( PvPixelMono8s )
335 #define PvPixelRGB8Packed ( PvPixelRGB8 )
336 #define PvPixelBGR8Packed ( PvPixelBGR8 )
337 #define PvPixelRGBA8Packed ( PvPixelRGBa8 )
338 #define PvPixelBGRA8Packed ( PvPixelBGRa8 )
339 #define PvPixelRGB10Packed ( PvPixelRGB10 )
340 #define PvPixelBGR10Packed ( PvPixelBGR10 )
341 #define PvPixelRGB12Packed ( PvPixelRGB12 )
342 #define PvPixelBGR12Packed ( PvPixelBGR12 )
343 #define PvPixelRGB16Packed ( PvPixelRGB16 )
344 #define PvPixelBGR10V1Packed ( PvPixelRGB10V1Packed )
345 #define PvPixelBGR10V2Packed ( PvPixelRGB10p32 )
346 #define PvPixelYUV411Packed ( PvPixelYUV411_8_UYYVYY )
347 #define PvPixelYUV422Packed ( PvPixelYUV422_8_UYVY )
348 #define PvPixelYUV422YUYVPacked ( PvPixelYUV422_8 )
349 #define PvPixelYUV444Packed ( PvPixelYUV8_UYV )
350 #define PvPixelRGB8Planar ( PvPixelRGB8_Planar )
351 #define PvPixelRGB10Planar ( PvPixelRGB10_Planar )
352 #define PvPixelRGB12Planar ( PvPixelRGB12_Planar )
353 #define PvPixelRGB16Planar ( PvPixelRGB16_Planar )
354 #endif // PV_NO_GEV1X_PIXEL_TYPES
357 #ifndef PV_NO_DEPRECATED_PIXEL_TYPES
358 #define PvPixelWinRGB16 ( PvPixelRGB565p )
359 #define PvPixelWinRGB32 ( PvPixelBGRa8 )
360 #define PvPixelWinRGB24 ( PvPixelBGR8 )
361 #define PvPixelWinBGR32 ( PvPixelRGBa8 )
362 #define PvPixelWinBGR24 ( PvPixelRGB8 )
363 #endif // PV_NO_DEPRECATED_PIXEL_TYPES