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