/************************************************************************************************************** * This file was automatically generated by tools designed and maintained by Leutron Vision, Matrox, Groget, MVTec Software. * Copyright (C) 2007-2018 Leutron Vision, Matrox, Groget, MVTec Software. * You can freely use and modify the file without restrictions. * The file is provided as is, without any warranty. Bug reports and other feedback is appreciated. ************************************************************************************************************** * ************************************************************************************************************** * Version and date information: * PFNC value list release date: 2019-02-19 * Header generator version: 3.4 * Header generation date: 2019-02-19 **************************************************************************************************************/ #ifndef PFNC_H #define PFNC_H #define PFNC_Mono1p 0x01010037 /* Monochrome 1-bit packed */ #define PFNC_Mono2p 0x01020038 /* Monochrome 2-bit packed */ #define PFNC_Mono4p 0x01040039 /* Monochrome 4-bit packed */ #define PFNC_Mono8 0x01080001 /* Monochrome 8-bit */ #define PFNC_Mono8s 0x01080002 /* Monochrome 8-bit signed */ #define PFNC_Mono10 0x01100003 /* Monochrome 10-bit unpacked */ #define PFNC_Mono10p 0x010A0046 /* Monochrome 10-bit packed */ #define PFNC_Mono12 0x01100005 /* Monochrome 12-bit unpacked */ #define PFNC_Mono12p 0x010C0047 /* Monochrome 12-bit packed */ #define PFNC_Mono14 0x01100025 /* Monochrome 14-bit unpacked */ #define PFNC_Mono14p 0x010E0104 /* Monochrome 14-bit packed */ #define PFNC_Mono16 0x01100007 /* Monochrome 16-bit */ #define PFNC_Mono32 0x01200111 /* Monochrome 32-bit */ #define PFNC_BayerBG4p 0x01040110 /* Bayer Blue-Green 4-bit packed */ #define PFNC_BayerBG8 0x0108000B /* Bayer Blue-Green 8-bit */ #define PFNC_BayerBG10 0x0110000F /* Bayer Blue-Green 10-bit unpacked */ #define PFNC_BayerBG10p 0x010A0052 /* Bayer Blue-Green 10-bit packed */ #define PFNC_BayerBG12 0x01100013 /* Bayer Blue-Green 12-bit unpacked */ #define PFNC_BayerBG12p 0x010C0053 /* Bayer Blue-Green 12-bit packed */ #define PFNC_BayerBG14 0x0110010C /* Bayer Blue-Green 14-bit */ #define PFNC_BayerBG14p 0x010E0108 /* Bayer Blue-Green 14-bit packed */ #define PFNC_BayerBG16 0x01100031 /* Bayer Blue-Green 16-bit */ #define PFNC_BayerGB4p 0x0104010F /* Bayer Green-Blue 4-bit packed */ #define PFNC_BayerGB8 0x0108000A /* Bayer Green-Blue 8-bit */ #define PFNC_BayerGB10 0x0110000E /* Bayer Green-Blue 10-bit unpacked */ #define PFNC_BayerGB10p 0x010A0054 /* Bayer Green-Blue 10-bit packed */ #define PFNC_BayerGB12 0x01100012 /* Bayer Green-Blue 12-bit unpacked */ #define PFNC_BayerGB12p 0x010C0055 /* Bayer Green-Blue 12-bit packed */ #define PFNC_BayerGB14 0x0110010B /* Bayer Green-Blue 14-bit */ #define PFNC_BayerGB14p 0x010E0107 /* Bayer Green-Blue 14-bit packed */ #define PFNC_BayerGB16 0x01100030 /* Bayer Green-Blue 16-bit */ #define PFNC_BayerGR4p 0x0104010D /* Bayer Green-Red 4-bit packed */ #define PFNC_BayerGR8 0x01080008 /* Bayer Green-Red 8-bit */ #define PFNC_BayerGR10 0x0110000C /* Bayer Green-Red 10-bit unpacked */ #define PFNC_BayerGR10p 0x010A0056 /* Bayer Green-Red 10-bit packed */ #define PFNC_BayerGR12 0x01100010 /* Bayer Green-Red 12-bit unpacked */ #define PFNC_BayerGR12p 0x010C0057 /* Bayer Green-Red 12-bit packed */ #define PFNC_BayerGR14 0x01100109 /* Bayer Green-Red 14-bit */ #define PFNC_BayerGR14p 0x010E0105 /* Bayer Green-Red 14-bit packed */ #define PFNC_BayerGR16 0x0110002E /* Bayer Green-Red 16-bit */ #define PFNC_BayerRG4p 0x0104010E /* Bayer Red-Green 4-bit packed */ #define PFNC_BayerRG8 0x01080009 /* Bayer Red-Green 8-bit */ #define PFNC_BayerRG10 0x0110000D /* Bayer Red-Green 10-bit unpacked */ #define PFNC_BayerRG10p 0x010A0058 /* Bayer Red-Green 10-bit packed */ #define PFNC_BayerRG12 0x01100011 /* Bayer Red-Green 12-bit unpacked */ #define PFNC_BayerRG12p 0x010C0059 /* Bayer Red-Green 12-bit packed */ #define PFNC_BayerRG14 0x0110010A /* Bayer Red-Green 14-bit */ #define PFNC_BayerRG14p 0x010E0106 /* Bayer Red-Green 14-bit packed */ #define PFNC_BayerRG16 0x0110002F /* Bayer Red-Green 16-bit */ #define PFNC_RGBa8 0x02200016 /* Red-Green-Blue-alpha 8-bit */ #define PFNC_RGBa10 0x0240005F /* Red-Green-Blue-alpha 10-bit unpacked */ #define PFNC_RGBa10p 0x02280060 /* Red-Green-Blue-alpha 10-bit packed */ #define PFNC_RGBa12 0x02400061 /* Red-Green-Blue-alpha 12-bit unpacked */ #define PFNC_RGBa12p 0x02300062 /* Red-Green-Blue-alpha 12-bit packed */ #define PFNC_RGBa14 0x02400063 /* Red-Green-Blue-alpha 14-bit unpacked */ #define PFNC_RGBa16 0x02400064 /* Red-Green-Blue-alpha 16-bit */ #define PFNC_RGB8 0x02180014 /* Red-Green-Blue 8-bit */ #define PFNC_RGB8_Planar 0x02180021 /* Red-Green-Blue 8-bit planar */ #define PFNC_RGB10 0x02300018 /* Red-Green-Blue 10-bit unpacked */ #define PFNC_RGB10_Planar 0x02300022 /* Red-Green-Blue 10-bit unpacked planar */ #define PFNC_RGB10p 0x021E005C /* Red-Green-Blue 10-bit packed */ #define PFNC_RGB10p32 0x0220001D /* Red-Green-Blue 10-bit packed into 32-bit */ #define PFNC_RGB12 0x0230001A /* Red-Green-Blue 12-bit unpacked */ #define PFNC_RGB12_Planar 0x02300023 /* Red-Green-Blue 12-bit unpacked planar */ #define PFNC_RGB12p 0x0224005D /* Red-Green-Blue 12-bit packed */ #define PFNC_RGB14 0x0230005E /* Red-Green-Blue 14-bit unpacked */ #define PFNC_RGB16 0x02300033 /* Red-Green-Blue 16-bit */ #define PFNC_RGB16_Planar 0x02300024 /* Red-Green-Blue 16-bit planar */ #define PFNC_RGB565p 0x02100035 /* Red-Green-Blue 5/6/5-bit packed */ #define PFNC_BGRa8 0x02200017 /* Blue-Green-Red-alpha 8-bit */ #define PFNC_BGRa10 0x0240004C /* Blue-Green-Red-alpha 10-bit unpacked */ #define PFNC_BGRa10p 0x0228004D /* Blue-Green-Red-alpha 10-bit packed */ #define PFNC_BGRa12 0x0240004E /* Blue-Green-Red-alpha 12-bit unpacked */ #define PFNC_BGRa12p 0x0230004F /* Blue-Green-Red-alpha 12-bit packed */ #define PFNC_BGRa14 0x02400050 /* Blue-Green-Red-alpha 14-bit unpacked */ #define PFNC_BGRa16 0x02400051 /* Blue-Green-Red-alpha 16-bit */ #define PFNC_BGR8 0x02180015 /* Blue-Green-Red 8-bit */ #define PFNC_BGR10 0x02300019 /* Blue-Green-Red 10-bit unpacked */ #define PFNC_BGR10p 0x021E0048 /* Blue-Green-Red 10-bit packed */ #define PFNC_BGR12 0x0230001B /* Blue-Green-Red 12-bit unpacked */ #define PFNC_BGR12p 0x02240049 /* Blue-Green-Red 12-bit packed */ #define PFNC_BGR14 0x0230004A /* Blue-Green-Red 14-bit unpacked */ #define PFNC_BGR16 0x0230004B /* Blue-Green-Red 16-bit */ #define PFNC_BGR565p 0x02100036 /* Blue-Green-Red 5/6/5-bit packed */ #define PFNC_R8 0x010800C9 /* Red 8-bit */ #define PFNC_R10 0x010A00CA /* Red 10-bit */ #define PFNC_R12 0x010C00CB /* Red 12-bit */ #define PFNC_R16 0x011000CC /* Red 16-bit */ #define PFNC_G8 0x010800CD /* Green 8-bit */ #define PFNC_G10 0x010A00CE /* Green 10-bit */ #define PFNC_G12 0x010C00CF /* Green 12-bit */ #define PFNC_G16 0x011000D0 /* Green 16-bit */ #define PFNC_B8 0x010800D1 /* Blue 8-bit */ #define PFNC_B10 0x010A00D2 /* Blue 10-bit */ #define PFNC_B12 0x010C00D3 /* Blue 12-bit */ #define PFNC_B16 0x011000D4 /* Blue 16-bit */ #define PFNC_Coord3D_ABC8 0x021800B2 /* 3D coordinate A-B-C 8-bit */ #define PFNC_Coord3D_ABC8_Planar 0x021800B3 /* 3D coordinate A-B-C 8-bit planar */ #define PFNC_Coord3D_ABC10p 0x021E00DB /* 3D coordinate A-B-C 10-bit packed */ #define PFNC_Coord3D_ABC10p_Planar 0x021E00DC /* 3D coordinate A-B-C 10-bit packed planar */ #define PFNC_Coord3D_ABC12p 0x022400DE /* 3D coordinate A-B-C 12-bit packed */ #define PFNC_Coord3D_ABC12p_Planar 0x022400DF /* 3D coordinate A-B-C 12-bit packed planar */ #define PFNC_Coord3D_ABC16 0x023000B9 /* 3D coordinate A-B-C 16-bit */ #define PFNC_Coord3D_ABC16_Planar 0x023000BA /* 3D coordinate A-B-C 16-bit planar */ #define PFNC_Coord3D_ABC32f 0x026000C0 /* 3D coordinate A-B-C 32-bit floating point */ #define PFNC_Coord3D_ABC32f_Planar 0x026000C1 /* 3D coordinate A-B-C 32-bit floating point planar */ #define PFNC_Coord3D_AC8 0x021000B4 /* 3D coordinate A-C 8-bit */ #define PFNC_Coord3D_AC8_Planar 0x021000B5 /* 3D coordinate A-C 8-bit planar */ #define PFNC_Coord3D_AC10p 0x021400F0 /* 3D coordinate A-C 10-bit packed */ #define PFNC_Coord3D_AC10p_Planar 0x021400F1 /* 3D coordinate A-C 10-bit packed planar */ #define PFNC_Coord3D_AC12p 0x021800F2 /* 3D coordinate A-C 12-bit packed */ #define PFNC_Coord3D_AC12p_Planar 0x021800F3 /* 3D coordinate A-C 12-bit packed planar */ #define PFNC_Coord3D_AC16 0x022000BB /* 3D coordinate A-C 16-bit */ #define PFNC_Coord3D_AC16_Planar 0x022000BC /* 3D coordinate A-C 16-bit planar */ #define PFNC_Coord3D_AC32f 0x024000C2 /* 3D coordinate A-C 32-bit floating point */ #define PFNC_Coord3D_AC32f_Planar 0x024000C3 /* 3D coordinate A-C 32-bit floating point planar */ #define PFNC_Coord3D_A8 0x010800AF /* 3D coordinate A 8-bit */ #define PFNC_Coord3D_A10p 0x010A00D5 /* 3D coordinate A 10-bit packed */ #define PFNC_Coord3D_A12p 0x010C00D8 /* 3D coordinate A 12-bit packed */ #define PFNC_Coord3D_A16 0x011000B6 /* 3D coordinate A 16-bit */ #define PFNC_Coord3D_A32f 0x012000BD /* 3D coordinate A 32-bit floating point */ #define PFNC_Coord3D_B8 0x010800B0 /* 3D coordinate B 8-bit */ #define PFNC_Coord3D_B10p 0x010A00D6 /* 3D coordinate B 10-bit packed */ #define PFNC_Coord3D_B12p 0x010C00D9 /* 3D coordinate B 12-bit packed */ #define PFNC_Coord3D_B16 0x011000B7 /* 3D coordinate B 16-bit */ #define PFNC_Coord3D_B32f 0x012000BE /* 3D coordinate B 32-bit floating point */ #define PFNC_Coord3D_C8 0x010800B1 /* 3D coordinate C 8-bit */ #define PFNC_Coord3D_C10p 0x010A00D7 /* 3D coordinate C 10-bit packed */ #define PFNC_Coord3D_C12p 0x010C00DA /* 3D coordinate C 12-bit packed */ #define PFNC_Coord3D_C16 0x011000B8 /* 3D coordinate C 16-bit */ #define PFNC_Coord3D_C32f 0x012000BF /* 3D coordinate C 32-bit floating point */ #define PFNC_Confidence1 0x010800C4 /* Confidence 1-bit unpacked */ #define PFNC_Confidence1p 0x010100C5 /* Confidence 1-bit packed */ #define PFNC_Confidence8 0x010800C6 /* Confidence 8-bit */ #define PFNC_Confidence16 0x011000C7 /* Confidence 16-bit */ #define PFNC_Confidence32f 0x012000C8 /* Confidence 32-bit floating point */ #define PFNC_BiColorBGRG8 0x021000A6 /* Bi-color Blue/Green - Red/Green 8-bit */ #define PFNC_BiColorBGRG10 0x022000A9 /* Bi-color Blue/Green - Red/Green 10-bit unpacked */ #define PFNC_BiColorBGRG10p 0x021400AA /* Bi-color Blue/Green - Red/Green 10-bit packed */ #define PFNC_BiColorBGRG12 0x022000AD /* Bi-color Blue/Green - Red/Green 12-bit unpacked */ #define PFNC_BiColorBGRG12p 0x021800AE /* Bi-color Blue/Green - Red/Green 12-bit packed */ #define PFNC_BiColorRGBG8 0x021000A5 /* Bi-color Red/Green - Blue/Green 8-bit */ #define PFNC_BiColorRGBG10 0x022000A7 /* Bi-color Red/Green - Blue/Green 10-bit unpacked */ #define PFNC_BiColorRGBG10p 0x021400A8 /* Bi-color Red/Green - Blue/Green 10-bit packed */ #define PFNC_BiColorRGBG12 0x022000AB /* Bi-color Red/Green - Blue/Green 12-bit unpacked */ #define PFNC_BiColorRGBG12p 0x021800AC /* Bi-color Red/Green - Blue/Green 12-bit packed */ #define PFNC_Data8 0x01080116 /* Data 8-bit */ #define PFNC_Data8s 0x01080117 /* Data 8-bit signed */ #define PFNC_Data16 0x01100118 /* Data 16-bit */ #define PFNC_Data16s 0x01100119 /* Data 16-bit signed */ #define PFNC_Data32 0x0120011A /* Data 32-bit */ #define PFNC_Data32f 0x0120011C /* Data 32-bit floating point */ #define PFNC_Data32s 0x0120011B /* Data 32-bit signed */ #define PFNC_Data64 0x0140011D /* Data 64-bit */ #define PFNC_Data64f 0x0140011F /* Data 64-bit floating point */ #define PFNC_Data64s 0x0140011E /* Data 64-bit signed */ #define PFNC_SCF1WBWG8 0x01080067 /* Sparse Color Filter #1 White-Blue-White-Green 8-bit */ #define PFNC_SCF1WBWG10 0x01100068 /* Sparse Color Filter #1 White-Blue-White-Green 10-bit unpacked */ #define PFNC_SCF1WBWG10p 0x010A0069 /* Sparse Color Filter #1 White-Blue-White-Green 10-bit packed */ #define PFNC_SCF1WBWG12 0x0110006A /* Sparse Color Filter #1 White-Blue-White-Green 12-bit unpacked */ #define PFNC_SCF1WBWG12p 0x010C006B /* Sparse Color Filter #1 White-Blue-White-Green 12-bit packed */ #define PFNC_SCF1WBWG14 0x0110006C /* Sparse Color Filter #1 White-Blue-White-Green 14-bit unpacked */ #define PFNC_SCF1WBWG16 0x0110006D /* Sparse Color Filter #1 White-Blue-White-Green 16-bit unpacked */ #define PFNC_SCF1WGWB8 0x0108006E /* Sparse Color Filter #1 White-Green-White-Blue 8-bit */ #define PFNC_SCF1WGWB10 0x0110006F /* Sparse Color Filter #1 White-Green-White-Blue 10-bit unpacked */ #define PFNC_SCF1WGWB10p 0x010A0070 /* Sparse Color Filter #1 White-Green-White-Blue 10-bit packed */ #define PFNC_SCF1WGWB12 0x01100071 /* Sparse Color Filter #1 White-Green-White-Blue 12-bit unpacked */ #define PFNC_SCF1WGWB12p 0x010C0072 /* Sparse Color Filter #1 White-Green-White-Blue 12-bit packed */ #define PFNC_SCF1WGWB14 0x01100073 /* Sparse Color Filter #1 White-Green-White-Blue 14-bit unpacked */ #define PFNC_SCF1WGWB16 0x01100074 /* Sparse Color Filter #1 White-Green-White-Blue 16-bit */ #define PFNC_SCF1WGWR8 0x01080075 /* Sparse Color Filter #1 White-Green-White-Red 8-bit */ #define PFNC_SCF1WGWR10 0x01100076 /* Sparse Color Filter #1 White-Green-White-Red 10-bit unpacked */ #define PFNC_SCF1WGWR10p 0x010A0077 /* Sparse Color Filter #1 White-Green-White-Red 10-bit packed */ #define PFNC_SCF1WGWR12 0x01100078 /* Sparse Color Filter #1 White-Green-White-Red 12-bit unpacked */ #define PFNC_SCF1WGWR12p 0x010C0079 /* Sparse Color Filter #1 White-Green-White-Red 12-bit packed */ #define PFNC_SCF1WGWR14 0x0110007A /* Sparse Color Filter #1 White-Green-White-Red 14-bit unpacked */ #define PFNC_SCF1WGWR16 0x0110007B /* Sparse Color Filter #1 White-Green-White-Red 16-bit */ #define PFNC_SCF1WRWG8 0x0108007C /* Sparse Color Filter #1 White-Red-White-Green 8-bit */ #define PFNC_SCF1WRWG10 0x0110007D /* Sparse Color Filter #1 White-Red-White-Green 10-bit unpacked */ #define PFNC_SCF1WRWG10p 0x010A007E /* Sparse Color Filter #1 White-Red-White-Green 10-bit packed */ #define PFNC_SCF1WRWG12 0x0110007F /* Sparse Color Filter #1 White-Red-White-Green 12-bit unpacked */ #define PFNC_SCF1WRWG12p 0x010C0080 /* Sparse Color Filter #1 White-Red-White-Green 12-bit packed */ #define PFNC_SCF1WRWG14 0x01100081 /* Sparse Color Filter #1 White-Red-White-Green 14-bit unpacked */ #define PFNC_SCF1WRWG16 0x01100082 /* Sparse Color Filter #1 White-Red-White-Green 16-bit */ #define PFNC_YCbCr8 0x0218005B /* YCbCr 4:4:4 8-bit */ #define PFNC_YCbCr8_CbYCr 0x0218003A /* YCbCr 4:4:4 8-bit */ #define PFNC_YCbCr10_CbYCr 0x02300083 /* YCbCr 4:4:4 10-bit unpacked */ #define PFNC_YCbCr10p_CbYCr 0x021E0084 /* YCbCr 4:4:4 10-bit packed */ #define PFNC_YCbCr12_CbYCr 0x02300085 /* YCbCr 4:4:4 12-bit unpacked */ #define PFNC_YCbCr12p_CbYCr 0x02240086 /* YCbCr 4:4:4 12-bit packed */ #define PFNC_YCbCr411_8 0x020C005A /* YCbCr 4:1:1 8-bit */ #define PFNC_YCbCr411_8_CbYYCrYY 0x020C003C /* YCbCr 4:1:1 8-bit */ #define PFNC_YCbCr420_8_YY_CbCr_Semiplanar 0x020C0112 /* YCbCr 4:2:0 8-bit YY/CbCr Semiplanar */ #define PFNC_YCbCr420_8_YY_CrCb_Semiplanar 0x020C0114 /* YCbCr 4:2:0 8-bit YY/CrCb Semiplanar */ #define PFNC_YCbCr422_8 0x0210003B /* YCbCr 4:2:2 8-bit */ #define PFNC_YCbCr422_8_CbYCrY 0x02100043 /* YCbCr 4:2:2 8-bit */ #define PFNC_YCbCr422_8_YY_CbCr_Semiplanar 0x02100113 /* YCbCr 4:2:2 8-bit YY/CbCr Semiplanar */ #define PFNC_YCbCr422_8_YY_CrCb_Semiplanar 0x02100115 /* YCbCr 4:2:2 8-bit YY/CrCb Semiplanar */ #define PFNC_YCbCr422_10 0x02200065 /* YCbCr 4:2:2 10-bit unpacked */ #define PFNC_YCbCr422_10_CbYCrY 0x02200099 /* YCbCr 4:2:2 10-bit unpacked */ #define PFNC_YCbCr422_10p 0x02140087 /* YCbCr 4:2:2 10-bit packed */ #define PFNC_YCbCr422_10p_CbYCrY 0x0214009A /* YCbCr 4:2:2 10-bit packed */ #define PFNC_YCbCr422_12 0x02200066 /* YCbCr 4:2:2 12-bit unpacked */ #define PFNC_YCbCr422_12_CbYCrY 0x0220009B /* YCbCr 4:2:2 12-bit unpacked */ #define PFNC_YCbCr422_12p 0x02180088 /* YCbCr 4:2:2 12-bit packed */ #define PFNC_YCbCr422_12p_CbYCrY 0x0218009C /* YCbCr 4:2:2 12-bit packed */ #define PFNC_YCbCr601_8_CbYCr 0x0218003D /* YCbCr 4:4:4 8-bit BT.601 */ #define PFNC_YCbCr601_10_CbYCr 0x02300089 /* YCbCr 4:4:4 10-bit unpacked BT.601 */ #define PFNC_YCbCr601_10p_CbYCr 0x021E008A /* YCbCr 4:4:4 10-bit packed BT.601 */ #define PFNC_YCbCr601_12_CbYCr 0x0230008B /* YCbCr 4:4:4 12-bit unpacked BT.601 */ #define PFNC_YCbCr601_12p_CbYCr 0x0224008C /* YCbCr 4:4:4 12-bit packed BT.601 */ #define PFNC_YCbCr601_411_8_CbYYCrYY 0x020C003F /* YCbCr 4:1:1 8-bit BT.601 */ #define PFNC_YCbCr601_422_8 0x0210003E /* YCbCr 4:2:2 8-bit BT.601 */ #define PFNC_YCbCr601_422_8_CbYCrY 0x02100044 /* YCbCr 4:2:2 8-bit BT.601 */ #define PFNC_YCbCr601_422_10 0x0220008D /* YCbCr 4:2:2 10-bit unpacked BT.601 */ #define PFNC_YCbCr601_422_10_CbYCrY 0x0220009D /* YCbCr 4:2:2 10-bit unpacked BT.601 */ #define PFNC_YCbCr601_422_10p 0x0214008E /* YCbCr 4:2:2 10-bit packed BT.601 */ #define PFNC_YCbCr601_422_10p_CbYCrY 0x0214009E /* YCbCr 4:2:2 10-bit packed BT.601 */ #define PFNC_YCbCr601_422_12 0x0220008F /* YCbCr 4:2:2 12-bit unpacked BT.601 */ #define PFNC_YCbCr601_422_12_CbYCrY 0x0220009F /* YCbCr 4:2:2 12-bit unpacked BT.601 */ #define PFNC_YCbCr601_422_12p 0x02180090 /* YCbCr 4:2:2 12-bit packed BT.601 */ #define PFNC_YCbCr601_422_12p_CbYCrY 0x021800A0 /* YCbCr 4:2:2 12-bit packed BT.601 */ #define PFNC_YCbCr709_8_CbYCr 0x02180040 /* YCbCr 4:4:4 8-bit BT.709 */ #define PFNC_YCbCr709_10_CbYCr 0x02300091 /* YCbCr 4:4:4 10-bit unpacked BT.709 */ #define PFNC_YCbCr709_10p_CbYCr 0x021E0092 /* YCbCr 4:4:4 10-bit packed BT.709 */ #define PFNC_YCbCr709_12_CbYCr 0x02300093 /* YCbCr 4:4:4 12-bit unpacked BT.709 */ #define PFNC_YCbCr709_12p_CbYCr 0x02240094 /* YCbCr 4:4:4 12-bit packed BT.709 */ #define PFNC_YCbCr709_411_8_CbYYCrYY 0x020C0042 /* YCbCr 4:1:1 8-bit BT.709 */ #define PFNC_YCbCr709_422_8 0x02100041 /* YCbCr 4:2:2 8-bit BT.709 */ #define PFNC_YCbCr709_422_8_CbYCrY 0x02100045 /* YCbCr 4:2:2 8-bit BT.709 */ #define PFNC_YCbCr709_422_10 0x02200095 /* YCbCr 4:2:2 10-bit unpacked BT.709 */ #define PFNC_YCbCr709_422_10_CbYCrY 0x022000A1 /* YCbCr 4:2:2 10-bit unpacked BT.709 */ #define PFNC_YCbCr709_422_10p 0x02140096 /* YCbCr 4:2:2 10-bit packed BT.709 */ #define PFNC_YCbCr709_422_10p_CbYCrY 0x021400A2 /* YCbCr 4:2:2 10-bit packed BT.709 */ #define PFNC_YCbCr709_422_12 0x02200097 /* YCbCr 4:2:2 12-bit unpacked BT.709 */ #define PFNC_YCbCr709_422_12_CbYCrY 0x022000A3 /* YCbCr 4:2:2 12-bit unpacked BT.709 */ #define PFNC_YCbCr709_422_12p 0x02180098 /* YCbCr 4:2:2 12-bit packed BT.709 */ #define PFNC_YCbCr709_422_12p_CbYCrY 0x021800A4 /* YCbCr 4:2:2 12-bit packed BT.709 */ #define PFNC_YCbCr2020_8_CbYCr 0x021800F4 /* YCbCr 4:4:4 8-bit BT.2020 */ #define PFNC_YCbCr2020_10_CbYCr 0x023000F5 /* YCbCr 4:4:4 10-bit unpacked BT.2020 */ #define PFNC_YCbCr2020_10p_CbYCr 0x021E00F6 /* YCbCr 4:4:4 10-bit packed BT.2020 */ #define PFNC_YCbCr2020_12_CbYCr 0x023000F7 /* YCbCr 4:4:4 12-bit unpacked BT.2020 */ #define PFNC_YCbCr2020_12p_CbYCr 0x022400F8 /* YCbCr 4:4:4 12-bit packed BT.2020 */ #define PFNC_YCbCr2020_411_8_CbYYCrYY 0x020C00F9 /* YCbCr 4:1:1 8-bit BT.2020 */ #define PFNC_YCbCr2020_422_8 0x021000FA /* YCbCr 4:2:2 8-bit BT.2020 */ #define PFNC_YCbCr2020_422_8_CbYCrY 0x021000FB /* YCbCr 4:2:2 8-bit BT.2020 */ #define PFNC_YCbCr2020_422_10 0x022000FC /* YCbCr 4:2:2 10-bit unpacked BT.2020 */ #define PFNC_YCbCr2020_422_10_CbYCrY 0x022000FD /* YCbCr 4:2:2 10-bit unpacked BT.2020 */ #define PFNC_YCbCr2020_422_10p 0x021400FE /* YCbCr 4:2:2 10-bit packed BT.2020 */ #define PFNC_YCbCr2020_422_10p_CbYCrY 0x021400FF /* YCbCr 4:2:2 10-bit packed BT.2020 */ #define PFNC_YCbCr2020_422_12 0x02200100 /* YCbCr 4:2:2 12-bit unpacked BT.2020 */ #define PFNC_YCbCr2020_422_12_CbYCrY 0x02200101 /* YCbCr 4:2:2 12-bit unpacked BT.2020 */ #define PFNC_YCbCr2020_422_12p 0x02180102 /* YCbCr 4:2:2 12-bit packed BT.2020 */ #define PFNC_YCbCr2020_422_12p_CbYCrY 0x02180103 /* YCbCr 4:2:2 12-bit packed BT.2020 */ #define PFNC_YUV8_UYV 0x02180020 /* YUV 4:4:4 8-bit */ #define PFNC_YUV411_8_UYYVYY 0x020C001E /* YUV 4:1:1 8-bit */ #define PFNC_YUV422_8 0x02100032 /* YUV 4:2:2 8-bit */ #define PFNC_YUV422_8_UYVY 0x0210001F /* YUV 4:2:2 8-bit */ /* Following formats are not PFNC compliant, but are still kept in the list for legacy purposes. */ #define GVSP_Mono10Packed 0x010C0004 /* GigE Vision specific format, Monochrome 10-bit packed */ #define GVSP_Mono12Packed 0x010C0006 /* GigE Vision specific format, Monochrome 12-bit packed */ #define GVSP_BayerBG10Packed 0x010C0029 /* GigE Vision specific format, Bayer Blue-Green 10-bit packed */ #define GVSP_BayerBG12Packed 0x010C002D /* GigE Vision specific format, Bayer Blue-Green 12-bit packed */ #define GVSP_BayerGB10Packed 0x010C0028 /* GigE Vision specific format, Bayer Green-Blue 10-bit packed */ #define GVSP_BayerGB12Packed 0x010C002C /* GigE Vision specific format, Bayer Green-Blue 12-bit packed */ #define GVSP_BayerGR10Packed 0x010C0026 /* GigE Vision specific format, Bayer Green-Red 10-bit packed */ #define GVSP_BayerGR12Packed 0x010C002A /* GigE Vision specific format, Bayer Green-Red 12-bit packed */ #define GVSP_BayerRG10Packed 0x010C0027 /* GigE Vision specific format, Bayer Red-Green 10-bit packed */ #define GVSP_BayerRG12Packed 0x010C002B /* GigE Vision specific format, Bayer Red-Green 12-bit packed */ #define GVSP_RGB10V1Packed 0x0220001C /* GigE Vision specific format, Red-Green-Blue 10-bit packed - variant 1 */ #define GVSP_RGB12V1Packed 0x02240034 /* GigE Vision specific format, Red-Green-Blue 12-bit packed - variant 1 */ /* Identical set of formats in the form of an enum */ typedef enum PfncFormat_ { Mono1p = 0x01010037, /* Monochrome 1-bit packed */ Mono2p = 0x01020038, /* Monochrome 2-bit packed */ Mono4p = 0x01040039, /* Monochrome 4-bit packed */ Mono8 = 0x01080001, /* Monochrome 8-bit */ Mono8s = 0x01080002, /* Monochrome 8-bit signed */ Mono10 = 0x01100003, /* Monochrome 10-bit unpacked */ Mono10p = 0x010A0046, /* Monochrome 10-bit packed */ Mono12 = 0x01100005, /* Monochrome 12-bit unpacked */ Mono12p = 0x010C0047, /* Monochrome 12-bit packed */ Mono14 = 0x01100025, /* Monochrome 14-bit unpacked */ Mono14p = 0x010E0104, /* Monochrome 14-bit packed */ Mono16 = 0x01100007, /* Monochrome 16-bit */ Mono32 = 0x01200111, /* Monochrome 32-bit */ BayerBG4p = 0x01040110, /* Bayer Blue-Green 4-bit packed */ BayerBG8 = 0x0108000B, /* Bayer Blue-Green 8-bit */ BayerBG10 = 0x0110000F, /* Bayer Blue-Green 10-bit unpacked */ BayerBG10p = 0x010A0052, /* Bayer Blue-Green 10-bit packed */ BayerBG12 = 0x01100013, /* Bayer Blue-Green 12-bit unpacked */ BayerBG12p = 0x010C0053, /* Bayer Blue-Green 12-bit packed */ BayerBG14 = 0x0110010C, /* Bayer Blue-Green 14-bit */ BayerBG14p = 0x010E0108, /* Bayer Blue-Green 14-bit packed */ BayerBG16 = 0x01100031, /* Bayer Blue-Green 16-bit */ BayerGB4p = 0x0104010F, /* Bayer Green-Blue 4-bit packed */ BayerGB8 = 0x0108000A, /* Bayer Green-Blue 8-bit */ BayerGB10 = 0x0110000E, /* Bayer Green-Blue 10-bit unpacked */ BayerGB10p = 0x010A0054, /* Bayer Green-Blue 10-bit packed */ BayerGB12 = 0x01100012, /* Bayer Green-Blue 12-bit unpacked */ BayerGB12p = 0x010C0055, /* Bayer Green-Blue 12-bit packed */ BayerGB14 = 0x0110010B, /* Bayer Green-Blue 14-bit */ BayerGB14p = 0x010E0107, /* Bayer Green-Blue 14-bit packed */ BayerGB16 = 0x01100030, /* Bayer Green-Blue 16-bit */ BayerGR4p = 0x0104010D, /* Bayer Green-Red 4-bit packed */ BayerGR8 = 0x01080008, /* Bayer Green-Red 8-bit */ BayerGR10 = 0x0110000C, /* Bayer Green-Red 10-bit unpacked */ BayerGR10p = 0x010A0056, /* Bayer Green-Red 10-bit packed */ BayerGR12 = 0x01100010, /* Bayer Green-Red 12-bit unpacked */ BayerGR12p = 0x010C0057, /* Bayer Green-Red 12-bit packed */ BayerGR14 = 0x01100109, /* Bayer Green-Red 14-bit */ BayerGR14p = 0x010E0105, /* Bayer Green-Red 14-bit packed */ BayerGR16 = 0x0110002E, /* Bayer Green-Red 16-bit */ BayerRG4p = 0x0104010E, /* Bayer Red-Green 4-bit packed */ BayerRG8 = 0x01080009, /* Bayer Red-Green 8-bit */ BayerRG10 = 0x0110000D, /* Bayer Red-Green 10-bit unpacked */ BayerRG10p = 0x010A0058, /* Bayer Red-Green 10-bit packed */ BayerRG12 = 0x01100011, /* Bayer Red-Green 12-bit unpacked */ BayerRG12p = 0x010C0059, /* Bayer Red-Green 12-bit packed */ BayerRG14 = 0x0110010A, /* Bayer Red-Green 14-bit */ BayerRG14p = 0x010E0106, /* Bayer Red-Green 14-bit packed */ BayerRG16 = 0x0110002F, /* Bayer Red-Green 16-bit */ RGBa8 = 0x02200016, /* Red-Green-Blue-alpha 8-bit */ RGBa10 = 0x0240005F, /* Red-Green-Blue-alpha 10-bit unpacked */ RGBa10p = 0x02280060, /* Red-Green-Blue-alpha 10-bit packed */ RGBa12 = 0x02400061, /* Red-Green-Blue-alpha 12-bit unpacked */ RGBa12p = 0x02300062, /* Red-Green-Blue-alpha 12-bit packed */ RGBa14 = 0x02400063, /* Red-Green-Blue-alpha 14-bit unpacked */ RGBa16 = 0x02400064, /* Red-Green-Blue-alpha 16-bit */ RGB8 = 0x02180014, /* Red-Green-Blue 8-bit */ RGB8_Planar = 0x02180021, /* Red-Green-Blue 8-bit planar */ RGB10 = 0x02300018, /* Red-Green-Blue 10-bit unpacked */ RGB10_Planar = 0x02300022, /* Red-Green-Blue 10-bit unpacked planar */ RGB10p = 0x021E005C, /* Red-Green-Blue 10-bit packed */ RGB10p32 = 0x0220001D, /* Red-Green-Blue 10-bit packed into 32-bit */ RGB12 = 0x0230001A, /* Red-Green-Blue 12-bit unpacked */ RGB12_Planar = 0x02300023, /* Red-Green-Blue 12-bit unpacked planar */ RGB12p = 0x0224005D, /* Red-Green-Blue 12-bit packed */ RGB14 = 0x0230005E, /* Red-Green-Blue 14-bit unpacked */ RGB16 = 0x02300033, /* Red-Green-Blue 16-bit */ RGB16_Planar = 0x02300024, /* Red-Green-Blue 16-bit planar */ RGB565p = 0x02100035, /* Red-Green-Blue 5/6/5-bit packed */ BGRa8 = 0x02200017, /* Blue-Green-Red-alpha 8-bit */ BGRa10 = 0x0240004C, /* Blue-Green-Red-alpha 10-bit unpacked */ BGRa10p = 0x0228004D, /* Blue-Green-Red-alpha 10-bit packed */ BGRa12 = 0x0240004E, /* Blue-Green-Red-alpha 12-bit unpacked */ BGRa12p = 0x0230004F, /* Blue-Green-Red-alpha 12-bit packed */ BGRa14 = 0x02400050, /* Blue-Green-Red-alpha 14-bit unpacked */ BGRa16 = 0x02400051, /* Blue-Green-Red-alpha 16-bit */ BGR8 = 0x02180015, /* Blue-Green-Red 8-bit */ BGR10 = 0x02300019, /* Blue-Green-Red 10-bit unpacked */ BGR10p = 0x021E0048, /* Blue-Green-Red 10-bit packed */ BGR12 = 0x0230001B, /* Blue-Green-Red 12-bit unpacked */ BGR12p = 0x02240049, /* Blue-Green-Red 12-bit packed */ BGR14 = 0x0230004A, /* Blue-Green-Red 14-bit unpacked */ BGR16 = 0x0230004B, /* Blue-Green-Red 16-bit */ BGR565p = 0x02100036, /* Blue-Green-Red 5/6/5-bit packed */ R8 = 0x010800C9, /* Red 8-bit */ R10 = 0x010A00CA, /* Red 10-bit */ R12 = 0x010C00CB, /* Red 12-bit */ R16 = 0x011000CC, /* Red 16-bit */ G8 = 0x010800CD, /* Green 8-bit */ G10 = 0x010A00CE, /* Green 10-bit */ G12 = 0x010C00CF, /* Green 12-bit */ G16 = 0x011000D0, /* Green 16-bit */ B8 = 0x010800D1, /* Blue 8-bit */ B10 = 0x010A00D2, /* Blue 10-bit */ B12 = 0x010C00D3, /* Blue 12-bit */ B16 = 0x011000D4, /* Blue 16-bit */ Coord3D_ABC8 = 0x021800B2, /* 3D coordinate A-B-C 8-bit */ Coord3D_ABC8_Planar = 0x021800B3, /* 3D coordinate A-B-C 8-bit planar */ Coord3D_ABC10p = 0x021E00DB, /* 3D coordinate A-B-C 10-bit packed */ Coord3D_ABC10p_Planar = 0x021E00DC, /* 3D coordinate A-B-C 10-bit packed planar */ Coord3D_ABC12p = 0x022400DE, /* 3D coordinate A-B-C 12-bit packed */ Coord3D_ABC12p_Planar = 0x022400DF, /* 3D coordinate A-B-C 12-bit packed planar */ Coord3D_ABC16 = 0x023000B9, /* 3D coordinate A-B-C 16-bit */ Coord3D_ABC16_Planar = 0x023000BA, /* 3D coordinate A-B-C 16-bit planar */ Coord3D_ABC32f = 0x026000C0, /* 3D coordinate A-B-C 32-bit floating point */ Coord3D_ABC32f_Planar = 0x026000C1, /* 3D coordinate A-B-C 32-bit floating point planar */ Coord3D_AC8 = 0x021000B4, /* 3D coordinate A-C 8-bit */ Coord3D_AC8_Planar = 0x021000B5, /* 3D coordinate A-C 8-bit planar */ Coord3D_AC10p = 0x021400F0, /* 3D coordinate A-C 10-bit packed */ Coord3D_AC10p_Planar = 0x021400F1, /* 3D coordinate A-C 10-bit packed planar */ Coord3D_AC12p = 0x021800F2, /* 3D coordinate A-C 12-bit packed */ Coord3D_AC12p_Planar = 0x021800F3, /* 3D coordinate A-C 12-bit packed planar */ Coord3D_AC16 = 0x022000BB, /* 3D coordinate A-C 16-bit */ Coord3D_AC16_Planar = 0x022000BC, /* 3D coordinate A-C 16-bit planar */ Coord3D_AC32f = 0x024000C2, /* 3D coordinate A-C 32-bit floating point */ Coord3D_AC32f_Planar = 0x024000C3, /* 3D coordinate A-C 32-bit floating point planar */ Coord3D_A8 = 0x010800AF, /* 3D coordinate A 8-bit */ Coord3D_A10p = 0x010A00D5, /* 3D coordinate A 10-bit packed */ Coord3D_A12p = 0x010C00D8, /* 3D coordinate A 12-bit packed */ Coord3D_A16 = 0x011000B6, /* 3D coordinate A 16-bit */ Coord3D_A32f = 0x012000BD, /* 3D coordinate A 32-bit floating point */ Coord3D_B8 = 0x010800B0, /* 3D coordinate B 8-bit */ Coord3D_B10p = 0x010A00D6, /* 3D coordinate B 10-bit packed */ Coord3D_B12p = 0x010C00D9, /* 3D coordinate B 12-bit packed */ Coord3D_B16 = 0x011000B7, /* 3D coordinate B 16-bit */ Coord3D_B32f = 0x012000BE, /* 3D coordinate B 32-bit floating point */ Coord3D_C8 = 0x010800B1, /* 3D coordinate C 8-bit */ Coord3D_C10p = 0x010A00D7, /* 3D coordinate C 10-bit packed */ Coord3D_C12p = 0x010C00DA, /* 3D coordinate C 12-bit packed */ Coord3D_C16 = 0x011000B8, /* 3D coordinate C 16-bit */ Coord3D_C32f = 0x012000BF, /* 3D coordinate C 32-bit floating point */ Confidence1 = 0x010800C4, /* Confidence 1-bit unpacked */ Confidence1p = 0x010100C5, /* Confidence 1-bit packed */ Confidence8 = 0x010800C6, /* Confidence 8-bit */ Confidence16 = 0x011000C7, /* Confidence 16-bit */ Confidence32f = 0x012000C8, /* Confidence 32-bit floating point */ BiColorBGRG8 = 0x021000A6, /* Bi-color Blue/Green - Red/Green 8-bit */ BiColorBGRG10 = 0x022000A9, /* Bi-color Blue/Green - Red/Green 10-bit unpacked */ BiColorBGRG10p = 0x021400AA, /* Bi-color Blue/Green - Red/Green 10-bit packed */ BiColorBGRG12 = 0x022000AD, /* Bi-color Blue/Green - Red/Green 12-bit unpacked */ BiColorBGRG12p = 0x021800AE, /* Bi-color Blue/Green - Red/Green 12-bit packed */ BiColorRGBG8 = 0x021000A5, /* Bi-color Red/Green - Blue/Green 8-bit */ BiColorRGBG10 = 0x022000A7, /* Bi-color Red/Green - Blue/Green 10-bit unpacked */ BiColorRGBG10p = 0x021400A8, /* Bi-color Red/Green - Blue/Green 10-bit packed */ BiColorRGBG12 = 0x022000AB, /* Bi-color Red/Green - Blue/Green 12-bit unpacked */ BiColorRGBG12p = 0x021800AC, /* Bi-color Red/Green - Blue/Green 12-bit packed */ Data8 = 0x01080116, /* Data 8-bit */ Data8s = 0x01080117, /* Data 8-bit signed */ Data16 = 0x01100118, /* Data 16-bit */ Data16s = 0x01100119, /* Data 16-bit signed */ Data32 = 0x0120011A, /* Data 32-bit */ Data32f = 0x0120011C, /* Data 32-bit floating point */ Data32s = 0x0120011B, /* Data 32-bit signed */ Data64 = 0x0140011D, /* Data 64-bit */ Data64f = 0x0140011F, /* Data 64-bit floating point */ Data64s = 0x0140011E, /* Data 64-bit signed */ SCF1WBWG8 = 0x01080067, /* Sparse Color Filter #1 White-Blue-White-Green 8-bit */ SCF1WBWG10 = 0x01100068, /* Sparse Color Filter #1 White-Blue-White-Green 10-bit unpacked */ SCF1WBWG10p = 0x010A0069, /* Sparse Color Filter #1 White-Blue-White-Green 10-bit packed */ SCF1WBWG12 = 0x0110006A, /* Sparse Color Filter #1 White-Blue-White-Green 12-bit unpacked */ SCF1WBWG12p = 0x010C006B, /* Sparse Color Filter #1 White-Blue-White-Green 12-bit packed */ SCF1WBWG14 = 0x0110006C, /* Sparse Color Filter #1 White-Blue-White-Green 14-bit unpacked */ SCF1WBWG16 = 0x0110006D, /* Sparse Color Filter #1 White-Blue-White-Green 16-bit unpacked */ SCF1WGWB8 = 0x0108006E, /* Sparse Color Filter #1 White-Green-White-Blue 8-bit */ SCF1WGWB10 = 0x0110006F, /* Sparse Color Filter #1 White-Green-White-Blue 10-bit unpacked */ SCF1WGWB10p = 0x010A0070, /* Sparse Color Filter #1 White-Green-White-Blue 10-bit packed */ SCF1WGWB12 = 0x01100071, /* Sparse Color Filter #1 White-Green-White-Blue 12-bit unpacked */ SCF1WGWB12p = 0x010C0072, /* Sparse Color Filter #1 White-Green-White-Blue 12-bit packed */ SCF1WGWB14 = 0x01100073, /* Sparse Color Filter #1 White-Green-White-Blue 14-bit unpacked */ SCF1WGWB16 = 0x01100074, /* Sparse Color Filter #1 White-Green-White-Blue 16-bit */ SCF1WGWR8 = 0x01080075, /* Sparse Color Filter #1 White-Green-White-Red 8-bit */ SCF1WGWR10 = 0x01100076, /* Sparse Color Filter #1 White-Green-White-Red 10-bit unpacked */ SCF1WGWR10p = 0x010A0077, /* Sparse Color Filter #1 White-Green-White-Red 10-bit packed */ SCF1WGWR12 = 0x01100078, /* Sparse Color Filter #1 White-Green-White-Red 12-bit unpacked */ SCF1WGWR12p = 0x010C0079, /* Sparse Color Filter #1 White-Green-White-Red 12-bit packed */ SCF1WGWR14 = 0x0110007A, /* Sparse Color Filter #1 White-Green-White-Red 14-bit unpacked */ SCF1WGWR16 = 0x0110007B, /* Sparse Color Filter #1 White-Green-White-Red 16-bit */ SCF1WRWG8 = 0x0108007C, /* Sparse Color Filter #1 White-Red-White-Green 8-bit */ SCF1WRWG10 = 0x0110007D, /* Sparse Color Filter #1 White-Red-White-Green 10-bit unpacked */ SCF1WRWG10p = 0x010A007E, /* Sparse Color Filter #1 White-Red-White-Green 10-bit packed */ SCF1WRWG12 = 0x0110007F, /* Sparse Color Filter #1 White-Red-White-Green 12-bit unpacked */ SCF1WRWG12p = 0x010C0080, /* Sparse Color Filter #1 White-Red-White-Green 12-bit packed */ SCF1WRWG14 = 0x01100081, /* Sparse Color Filter #1 White-Red-White-Green 14-bit unpacked */ SCF1WRWG16 = 0x01100082, /* Sparse Color Filter #1 White-Red-White-Green 16-bit */ YCbCr8 = 0x0218005B, /* YCbCr 4:4:4 8-bit */ YCbCr8_CbYCr = 0x0218003A, /* YCbCr 4:4:4 8-bit */ YCbCr10_CbYCr = 0x02300083, /* YCbCr 4:4:4 10-bit unpacked */ YCbCr10p_CbYCr = 0x021E0084, /* YCbCr 4:4:4 10-bit packed */ YCbCr12_CbYCr = 0x02300085, /* YCbCr 4:4:4 12-bit unpacked */ YCbCr12p_CbYCr = 0x02240086, /* YCbCr 4:4:4 12-bit packed */ YCbCr411_8 = 0x020C005A, /* YCbCr 4:1:1 8-bit */ YCbCr411_8_CbYYCrYY = 0x020C003C, /* YCbCr 4:1:1 8-bit */ YCbCr420_8_YY_CbCr_Semiplanar = 0x020C0112, /* YCbCr 4:2:0 8-bit YY/CbCr Semiplanar */ YCbCr420_8_YY_CrCb_Semiplanar = 0x020C0114, /* YCbCr 4:2:0 8-bit YY/CrCb Semiplanar */ YCbCr422_8 = 0x0210003B, /* YCbCr 4:2:2 8-bit */ YCbCr422_8_CbYCrY = 0x02100043, /* YCbCr 4:2:2 8-bit */ YCbCr422_8_YY_CbCr_Semiplanar = 0x02100113, /* YCbCr 4:2:2 8-bit YY/CbCr Semiplanar */ YCbCr422_8_YY_CrCb_Semiplanar = 0x02100115, /* YCbCr 4:2:2 8-bit YY/CrCb Semiplanar */ YCbCr422_10 = 0x02200065, /* YCbCr 4:2:2 10-bit unpacked */ YCbCr422_10_CbYCrY = 0x02200099, /* YCbCr 4:2:2 10-bit unpacked */ YCbCr422_10p = 0x02140087, /* YCbCr 4:2:2 10-bit packed */ YCbCr422_10p_CbYCrY = 0x0214009A, /* YCbCr 4:2:2 10-bit packed */ YCbCr422_12 = 0x02200066, /* YCbCr 4:2:2 12-bit unpacked */ YCbCr422_12_CbYCrY = 0x0220009B, /* YCbCr 4:2:2 12-bit unpacked */ YCbCr422_12p = 0x02180088, /* YCbCr 4:2:2 12-bit packed */ YCbCr422_12p_CbYCrY = 0x0218009C, /* YCbCr 4:2:2 12-bit packed */ YCbCr601_8_CbYCr = 0x0218003D, /* YCbCr 4:4:4 8-bit BT.601 */ YCbCr601_10_CbYCr = 0x02300089, /* YCbCr 4:4:4 10-bit unpacked BT.601 */ YCbCr601_10p_CbYCr = 0x021E008A, /* YCbCr 4:4:4 10-bit packed BT.601 */ YCbCr601_12_CbYCr = 0x0230008B, /* YCbCr 4:4:4 12-bit unpacked BT.601 */ YCbCr601_12p_CbYCr = 0x0224008C, /* YCbCr 4:4:4 12-bit packed BT.601 */ YCbCr601_411_8_CbYYCrYY = 0x020C003F, /* YCbCr 4:1:1 8-bit BT.601 */ YCbCr601_422_8 = 0x0210003E, /* YCbCr 4:2:2 8-bit BT.601 */ YCbCr601_422_8_CbYCrY = 0x02100044, /* YCbCr 4:2:2 8-bit BT.601 */ YCbCr601_422_10 = 0x0220008D, /* YCbCr 4:2:2 10-bit unpacked BT.601 */ YCbCr601_422_10_CbYCrY = 0x0220009D, /* YCbCr 4:2:2 10-bit unpacked BT.601 */ YCbCr601_422_10p = 0x0214008E, /* YCbCr 4:2:2 10-bit packed BT.601 */ YCbCr601_422_10p_CbYCrY = 0x0214009E, /* YCbCr 4:2:2 10-bit packed BT.601 */ YCbCr601_422_12 = 0x0220008F, /* YCbCr 4:2:2 12-bit unpacked BT.601 */ YCbCr601_422_12_CbYCrY = 0x0220009F, /* YCbCr 4:2:2 12-bit unpacked BT.601 */ YCbCr601_422_12p = 0x02180090, /* YCbCr 4:2:2 12-bit packed BT.601 */ YCbCr601_422_12p_CbYCrY = 0x021800A0, /* YCbCr 4:2:2 12-bit packed BT.601 */ YCbCr709_8_CbYCr = 0x02180040, /* YCbCr 4:4:4 8-bit BT.709 */ YCbCr709_10_CbYCr = 0x02300091, /* YCbCr 4:4:4 10-bit unpacked BT.709 */ YCbCr709_10p_CbYCr = 0x021E0092, /* YCbCr 4:4:4 10-bit packed BT.709 */ YCbCr709_12_CbYCr = 0x02300093, /* YCbCr 4:4:4 12-bit unpacked BT.709 */ YCbCr709_12p_CbYCr = 0x02240094, /* YCbCr 4:4:4 12-bit packed BT.709 */ YCbCr709_411_8_CbYYCrYY = 0x020C0042, /* YCbCr 4:1:1 8-bit BT.709 */ YCbCr709_422_8 = 0x02100041, /* YCbCr 4:2:2 8-bit BT.709 */ YCbCr709_422_8_CbYCrY = 0x02100045, /* YCbCr 4:2:2 8-bit BT.709 */ YCbCr709_422_10 = 0x02200095, /* YCbCr 4:2:2 10-bit unpacked BT.709 */ YCbCr709_422_10_CbYCrY = 0x022000A1, /* YCbCr 4:2:2 10-bit unpacked BT.709 */ YCbCr709_422_10p = 0x02140096, /* YCbCr 4:2:2 10-bit packed BT.709 */ YCbCr709_422_10p_CbYCrY = 0x021400A2, /* YCbCr 4:2:2 10-bit packed BT.709 */ YCbCr709_422_12 = 0x02200097, /* YCbCr 4:2:2 12-bit unpacked BT.709 */ YCbCr709_422_12_CbYCrY = 0x022000A3, /* YCbCr 4:2:2 12-bit unpacked BT.709 */ YCbCr709_422_12p = 0x02180098, /* YCbCr 4:2:2 12-bit packed BT.709 */ YCbCr709_422_12p_CbYCrY = 0x021800A4, /* YCbCr 4:2:2 12-bit packed BT.709 */ YCbCr2020_8_CbYCr = 0x021800F4, /* YCbCr 4:4:4 8-bit BT.2020 */ YCbCr2020_10_CbYCr = 0x023000F5, /* YCbCr 4:4:4 10-bit unpacked BT.2020 */ YCbCr2020_10p_CbYCr = 0x021E00F6, /* YCbCr 4:4:4 10-bit packed BT.2020 */ YCbCr2020_12_CbYCr = 0x023000F7, /* YCbCr 4:4:4 12-bit unpacked BT.2020 */ YCbCr2020_12p_CbYCr = 0x022400F8, /* YCbCr 4:4:4 12-bit packed BT.2020 */ YCbCr2020_411_8_CbYYCrYY = 0x020C00F9, /* YCbCr 4:1:1 8-bit BT.2020 */ YCbCr2020_422_8 = 0x021000FA, /* YCbCr 4:2:2 8-bit BT.2020 */ YCbCr2020_422_8_CbYCrY = 0x021000FB, /* YCbCr 4:2:2 8-bit BT.2020 */ YCbCr2020_422_10 = 0x022000FC, /* YCbCr 4:2:2 10-bit unpacked BT.2020 */ YCbCr2020_422_10_CbYCrY = 0x022000FD, /* YCbCr 4:2:2 10-bit unpacked BT.2020 */ YCbCr2020_422_10p = 0x021400FE, /* YCbCr 4:2:2 10-bit packed BT.2020 */ YCbCr2020_422_10p_CbYCrY = 0x021400FF, /* YCbCr 4:2:2 10-bit packed BT.2020 */ YCbCr2020_422_12 = 0x02200100, /* YCbCr 4:2:2 12-bit unpacked BT.2020 */ YCbCr2020_422_12_CbYCrY = 0x02200101, /* YCbCr 4:2:2 12-bit unpacked BT.2020 */ YCbCr2020_422_12p = 0x02180102, /* YCbCr 4:2:2 12-bit packed BT.2020 */ YCbCr2020_422_12p_CbYCrY = 0x02180103, /* YCbCr 4:2:2 12-bit packed BT.2020 */ YUV8_UYV = 0x02180020, /* YUV 4:4:4 8-bit */ YUV411_8_UYYVYY = 0x020C001E, /* YUV 4:1:1 8-bit */ YUV422_8 = 0x02100032, /* YUV 4:2:2 8-bit */ YUV422_8_UYVY = 0x0210001F, /* YUV 4:2:2 8-bit */ Mono10Packed = 0x010C0004, /* GigE Vision specific format, Monochrome 10-bit packed */ Mono12Packed = 0x010C0006, /* GigE Vision specific format, Monochrome 12-bit packed */ BayerBG10Packed = 0x010C0029, /* GigE Vision specific format, Bayer Blue-Green 10-bit packed */ BayerBG12Packed = 0x010C002D, /* GigE Vision specific format, Bayer Blue-Green 12-bit packed */ BayerGB10Packed = 0x010C0028, /* GigE Vision specific format, Bayer Green-Blue 10-bit packed */ BayerGB12Packed = 0x010C002C, /* GigE Vision specific format, Bayer Green-Blue 12-bit packed */ BayerGR10Packed = 0x010C0026, /* GigE Vision specific format, Bayer Green-Red 10-bit packed */ BayerGR12Packed = 0x010C002A, /* GigE Vision specific format, Bayer Green-Red 12-bit packed */ BayerRG10Packed = 0x010C0027, /* GigE Vision specific format, Bayer Red-Green 10-bit packed */ BayerRG12Packed = 0x010C002B, /* GigE Vision specific format, Bayer Red-Green 12-bit packed */ RGB10V1Packed = 0x0220001C, /* GigE Vision specific format, Red-Green-Blue 10-bit packed - variant 1 */ RGB12V1Packed = 0x02240034, /* GigE Vision specific format, Red-Green-Blue 12-bit packed - variant 1 */ InvalidPixelFormat = 0 } PfncFormat; /* 32-bit value layout */ /* |31 24|23 16|15 08|07 00| */ /* | C| Comp. Layout| Effective Size | Pixel ID | */ /* Custom flag */ #define PFNC_CUSTOM 0x80000000 /* Component layout */ #define PFNC_SINGLE_COMPONENT 0x01000000 #define PFNC_MULTIPLE_COMPONENT 0x02000000 #define PFNC_COMPONENT_MASK 0x7F000000 /* Effective size */ #define PFNC_OCCUPY1BIT 0x00010000 #define PFNC_OCCUPY2BIT 0x00020000 #define PFNC_OCCUPY4BIT 0x00040000 #define PFNC_OCCUPY8BIT 0x00080000 #define PFNC_OCCUPY10BIT 0x000A0000 #define PFNC_OCCUPY12BIT 0x000C0000 #define PFNC_OCCUPY16BIT 0x00100000 #define PFNC_OCCUPY24BIT 0x00180000 #define PFNC_OCCUPY30BIT 0x001E0000 #define PFNC_OCCUPY32BIT 0x00200000 #define PFNC_OCCUPY36BIT 0x00240000 #define PFNC_OCCUPY40BIT 0x00280000 #define PFNC_OCCUPY48BIT 0x00300000 #define PFNC_OCCUPY64BIT 0x00400000 #define PFNC_PIXEL_SIZE_MASK 0x00FF0000 #define PFNC_PIXEL_SIZE_SHIFT 16 /* Pixel ID */ #define PFNC_PIXEL_ID_MASK 0x0000FFFF /* Pixel format value dissection helpers */ #define PFNC_PIXEL_SIZE(X) ((X & PFNC_PIXEL_SIZE_MASK) >> PFNC_PIXEL_SIZE_SHIFT) #define PFNC_IS_PIXEL_SINGLE_COMPONENT(X) ((X & PFNC_COMPONENT_MASK) == PFNC_SINGLE_COMPONENT) #define PFNC_IS_PIXEL_MULTIPLE_COMPONENT(X) ((X & PFNC_COMPONENT_MASK) == PFNC_MULTIPLE_COMPONENT) #define PFNC_IS_PIXEL_CUSTOM(X) ((X & PFNC_CUSTOM) == PFNC_CUSTOM) #define PFNC_PIXEL_ID(X) (X & PFNC_PIXEL_ID_MASK) /* Additional helpers */ #ifdef PFNC_INCLUDE_HELPERS #ifdef _MSC_VER # define PFNC_INLINE __inline #else # define PFNC_INLINE inline #endif static PFNC_INLINE const char* GetPixelFormatName (PfncFormat format) { switch (format) { case Mono1p: return "Mono1p"; case Mono2p: return "Mono2p"; case Mono4p: return "Mono4p"; case Mono8: return "Mono8"; case Mono8s: return "Mono8s"; case Mono10: return "Mono10"; case Mono10p: return "Mono10p"; case Mono12: return "Mono12"; case Mono12p: return "Mono12p"; case Mono14: return "Mono14"; case Mono14p: return "Mono14p"; case Mono16: return "Mono16"; case Mono32: return "Mono32"; case BayerBG4p: return "BayerBG4p"; case BayerBG8: return "BayerBG8"; case BayerBG10: return "BayerBG10"; case BayerBG10p: return "BayerBG10p"; case BayerBG12: return "BayerBG12"; case BayerBG12p: return "BayerBG12p"; case BayerBG14: return "BayerBG14"; case BayerBG14p: return "BayerBG14p"; case BayerBG16: return "BayerBG16"; case BayerGB4p: return "BayerGB4p"; case BayerGB8: return "BayerGB8"; case BayerGB10: return "BayerGB10"; case BayerGB10p: return "BayerGB10p"; case BayerGB12: return "BayerGB12"; case BayerGB12p: return "BayerGB12p"; case BayerGB14: return "BayerGB14"; case BayerGB14p: return "BayerGB14p"; case BayerGB16: return "BayerGB16"; case BayerGR4p: return "BayerGR4p"; case BayerGR8: return "BayerGR8"; case BayerGR10: return "BayerGR10"; case BayerGR10p: return "BayerGR10p"; case BayerGR12: return "BayerGR12"; case BayerGR12p: return "BayerGR12p"; case BayerGR14: return "BayerGR14"; case BayerGR14p: return "BayerGR14p"; case BayerGR16: return "BayerGR16"; case BayerRG4p: return "BayerRG4p"; case BayerRG8: return "BayerRG8"; case BayerRG10: return "BayerRG10"; case BayerRG10p: return "BayerRG10p"; case BayerRG12: return "BayerRG12"; case BayerRG12p: return "BayerRG12p"; case BayerRG14: return "BayerRG14"; case BayerRG14p: return "BayerRG14p"; case BayerRG16: return "BayerRG16"; case RGBa8: return "RGBa8"; case RGBa10: return "RGBa10"; case RGBa10p: return "RGBa10p"; case RGBa12: return "RGBa12"; case RGBa12p: return "RGBa12p"; case RGBa14: return "RGBa14"; case RGBa16: return "RGBa16"; case RGB8: return "RGB8"; case RGB8_Planar: return "RGB8_Planar"; case RGB10: return "RGB10"; case RGB10_Planar: return "RGB10_Planar"; case RGB10p: return "RGB10p"; case RGB10p32: return "RGB10p32"; case RGB12: return "RGB12"; case RGB12_Planar: return "RGB12_Planar"; case RGB12p: return "RGB12p"; case RGB14: return "RGB14"; case RGB16: return "RGB16"; case RGB16_Planar: return "RGB16_Planar"; case RGB565p: return "RGB565p"; case BGRa8: return "BGRa8"; case BGRa10: return "BGRa10"; case BGRa10p: return "BGRa10p"; case BGRa12: return "BGRa12"; case BGRa12p: return "BGRa12p"; case BGRa14: return "BGRa14"; case BGRa16: return "BGRa16"; case BGR8: return "BGR8"; case BGR10: return "BGR10"; case BGR10p: return "BGR10p"; case BGR12: return "BGR12"; case BGR12p: return "BGR12p"; case BGR14: return "BGR14"; case BGR16: return "BGR16"; case BGR565p: return "BGR565p"; case R8: return "R8"; case R10: return "R10"; case R12: return "R12"; case R16: return "R16"; case G8: return "G8"; case G10: return "G10"; case G12: return "G12"; case G16: return "G16"; case B8: return "B8"; case B10: return "B10"; case B12: return "B12"; case B16: return "B16"; case Coord3D_ABC8: return "Coord3D_ABC8"; case Coord3D_ABC8_Planar: return "Coord3D_ABC8_Planar"; case Coord3D_ABC10p: return "Coord3D_ABC10p"; case Coord3D_ABC10p_Planar: return "Coord3D_ABC10p_Planar"; case Coord3D_ABC12p: return "Coord3D_ABC12p"; case Coord3D_ABC12p_Planar: return "Coord3D_ABC12p_Planar"; case Coord3D_ABC16: return "Coord3D_ABC16"; case Coord3D_ABC16_Planar: return "Coord3D_ABC16_Planar"; case Coord3D_ABC32f: return "Coord3D_ABC32f"; case Coord3D_ABC32f_Planar: return "Coord3D_ABC32f_Planar"; case Coord3D_AC8: return "Coord3D_AC8"; case Coord3D_AC8_Planar: return "Coord3D_AC8_Planar"; case Coord3D_AC10p: return "Coord3D_AC10p"; case Coord3D_AC10p_Planar: return "Coord3D_AC10p_Planar"; case Coord3D_AC12p: return "Coord3D_AC12p"; case Coord3D_AC12p_Planar: return "Coord3D_AC12p_Planar"; case Coord3D_AC16: return "Coord3D_AC16"; case Coord3D_AC16_Planar: return "Coord3D_AC16_Planar"; case Coord3D_AC32f: return "Coord3D_AC32f"; case Coord3D_AC32f_Planar: return "Coord3D_AC32f_Planar"; case Coord3D_A8: return "Coord3D_A8"; case Coord3D_A10p: return "Coord3D_A10p"; case Coord3D_A12p: return "Coord3D_A12p"; case Coord3D_A16: return "Coord3D_A16"; case Coord3D_A32f: return "Coord3D_A32f"; case Coord3D_B8: return "Coord3D_B8"; case Coord3D_B10p: return "Coord3D_B10p"; case Coord3D_B12p: return "Coord3D_B12p"; case Coord3D_B16: return "Coord3D_B16"; case Coord3D_B32f: return "Coord3D_B32f"; case Coord3D_C8: return "Coord3D_C8"; case Coord3D_C10p: return "Coord3D_C10p"; case Coord3D_C12p: return "Coord3D_C12p"; case Coord3D_C16: return "Coord3D_C16"; case Coord3D_C32f: return "Coord3D_C32f"; case Confidence1: return "Confidence1"; case Confidence1p: return "Confidence1p"; case Confidence8: return "Confidence8"; case Confidence16: return "Confidence16"; case Confidence32f: return "Confidence32f"; case BiColorBGRG8: return "BiColorBGRG8"; case BiColorBGRG10: return "BiColorBGRG10"; case BiColorBGRG10p: return "BiColorBGRG10p"; case BiColorBGRG12: return "BiColorBGRG12"; case BiColorBGRG12p: return "BiColorBGRG12p"; case BiColorRGBG8: return "BiColorRGBG8"; case BiColorRGBG10: return "BiColorRGBG10"; case BiColorRGBG10p: return "BiColorRGBG10p"; case BiColorRGBG12: return "BiColorRGBG12"; case BiColorRGBG12p: return "BiColorRGBG12p"; case Data8: return "Data8"; case Data8s: return "Data8s"; case Data16: return "Data16"; case Data16s: return "Data16s"; case Data32: return "Data32"; case Data32f: return "Data32f"; case Data32s: return "Data32s"; case Data64: return "Data64"; case Data64f: return "Data64f"; case Data64s: return "Data64s"; case SCF1WBWG8: return "SCF1WBWG8"; case SCF1WBWG10: return "SCF1WBWG10"; case SCF1WBWG10p: return "SCF1WBWG10p"; case SCF1WBWG12: return "SCF1WBWG12"; case SCF1WBWG12p: return "SCF1WBWG12p"; case SCF1WBWG14: return "SCF1WBWG14"; case SCF1WBWG16: return "SCF1WBWG16"; case SCF1WGWB8: return "SCF1WGWB8"; case SCF1WGWB10: return "SCF1WGWB10"; case SCF1WGWB10p: return "SCF1WGWB10p"; case SCF1WGWB12: return "SCF1WGWB12"; case SCF1WGWB12p: return "SCF1WGWB12p"; case SCF1WGWB14: return "SCF1WGWB14"; case SCF1WGWB16: return "SCF1WGWB16"; case SCF1WGWR8: return "SCF1WGWR8"; case SCF1WGWR10: return "SCF1WGWR10"; case SCF1WGWR10p: return "SCF1WGWR10p"; case SCF1WGWR12: return "SCF1WGWR12"; case SCF1WGWR12p: return "SCF1WGWR12p"; case SCF1WGWR14: return "SCF1WGWR14"; case SCF1WGWR16: return "SCF1WGWR16"; case SCF1WRWG8: return "SCF1WRWG8"; case SCF1WRWG10: return "SCF1WRWG10"; case SCF1WRWG10p: return "SCF1WRWG10p"; case SCF1WRWG12: return "SCF1WRWG12"; case SCF1WRWG12p: return "SCF1WRWG12p"; case SCF1WRWG14: return "SCF1WRWG14"; case SCF1WRWG16: return "SCF1WRWG16"; case YCbCr8: return "YCbCr8"; case YCbCr8_CbYCr: return "YCbCr8_CbYCr"; case YCbCr10_CbYCr: return "YCbCr10_CbYCr"; case YCbCr10p_CbYCr: return "YCbCr10p_CbYCr"; case YCbCr12_CbYCr: return "YCbCr12_CbYCr"; case YCbCr12p_CbYCr: return "YCbCr12p_CbYCr"; case YCbCr411_8: return "YCbCr411_8"; case YCbCr411_8_CbYYCrYY: return "YCbCr411_8_CbYYCrYY"; case YCbCr420_8_YY_CbCr_Semiplanar: return "YCbCr420_8_YY_CbCr_Semiplanar"; case YCbCr420_8_YY_CrCb_Semiplanar: return "YCbCr420_8_YY_CrCb_Semiplanar"; case YCbCr422_8: return "YCbCr422_8"; case YCbCr422_8_CbYCrY: return "YCbCr422_8_CbYCrY"; case YCbCr422_8_YY_CbCr_Semiplanar: return "YCbCr422_8_YY_CbCr_Semiplanar"; case YCbCr422_8_YY_CrCb_Semiplanar: return "YCbCr422_8_YY_CrCb_Semiplanar"; case YCbCr422_10: return "YCbCr422_10"; case YCbCr422_10_CbYCrY: return "YCbCr422_10_CbYCrY"; case YCbCr422_10p: return "YCbCr422_10p"; case YCbCr422_10p_CbYCrY: return "YCbCr422_10p_CbYCrY"; case YCbCr422_12: return "YCbCr422_12"; case YCbCr422_12_CbYCrY: return "YCbCr422_12_CbYCrY"; case YCbCr422_12p: return "YCbCr422_12p"; case YCbCr422_12p_CbYCrY: return "YCbCr422_12p_CbYCrY"; case YCbCr601_8_CbYCr: return "YCbCr601_8_CbYCr"; case YCbCr601_10_CbYCr: return "YCbCr601_10_CbYCr"; case YCbCr601_10p_CbYCr: return "YCbCr601_10p_CbYCr"; case YCbCr601_12_CbYCr: return "YCbCr601_12_CbYCr"; case YCbCr601_12p_CbYCr: return "YCbCr601_12p_CbYCr"; case YCbCr601_411_8_CbYYCrYY: return "YCbCr601_411_8_CbYYCrYY"; case YCbCr601_422_8: return "YCbCr601_422_8"; case YCbCr601_422_8_CbYCrY: return "YCbCr601_422_8_CbYCrY"; case YCbCr601_422_10: return "YCbCr601_422_10"; case YCbCr601_422_10_CbYCrY: return "YCbCr601_422_10_CbYCrY"; case YCbCr601_422_10p: return "YCbCr601_422_10p"; case YCbCr601_422_10p_CbYCrY: return "YCbCr601_422_10p_CbYCrY"; case YCbCr601_422_12: return "YCbCr601_422_12"; case YCbCr601_422_12_CbYCrY: return "YCbCr601_422_12_CbYCrY"; case YCbCr601_422_12p: return "YCbCr601_422_12p"; case YCbCr601_422_12p_CbYCrY: return "YCbCr601_422_12p_CbYCrY"; case YCbCr709_8_CbYCr: return "YCbCr709_8_CbYCr"; case YCbCr709_10_CbYCr: return "YCbCr709_10_CbYCr"; case YCbCr709_10p_CbYCr: return "YCbCr709_10p_CbYCr"; case YCbCr709_12_CbYCr: return "YCbCr709_12_CbYCr"; case YCbCr709_12p_CbYCr: return "YCbCr709_12p_CbYCr"; case YCbCr709_411_8_CbYYCrYY: return "YCbCr709_411_8_CbYYCrYY"; case YCbCr709_422_8: return "YCbCr709_422_8"; case YCbCr709_422_8_CbYCrY: return "YCbCr709_422_8_CbYCrY"; case YCbCr709_422_10: return "YCbCr709_422_10"; case YCbCr709_422_10_CbYCrY: return "YCbCr709_422_10_CbYCrY"; case YCbCr709_422_10p: return "YCbCr709_422_10p"; case YCbCr709_422_10p_CbYCrY: return "YCbCr709_422_10p_CbYCrY"; case YCbCr709_422_12: return "YCbCr709_422_12"; case YCbCr709_422_12_CbYCrY: return "YCbCr709_422_12_CbYCrY"; case YCbCr709_422_12p: return "YCbCr709_422_12p"; case YCbCr709_422_12p_CbYCrY: return "YCbCr709_422_12p_CbYCrY"; case YCbCr2020_8_CbYCr: return "YCbCr2020_8_CbYCr"; case YCbCr2020_10_CbYCr: return "YCbCr2020_10_CbYCr"; case YCbCr2020_10p_CbYCr: return "YCbCr2020_10p_CbYCr"; case YCbCr2020_12_CbYCr: return "YCbCr2020_12_CbYCr"; case YCbCr2020_12p_CbYCr: return "YCbCr2020_12p_CbYCr"; case YCbCr2020_411_8_CbYYCrYY: return "YCbCr2020_411_8_CbYYCrYY"; case YCbCr2020_422_8: return "YCbCr2020_422_8"; case YCbCr2020_422_8_CbYCrY: return "YCbCr2020_422_8_CbYCrY"; case YCbCr2020_422_10: return "YCbCr2020_422_10"; case YCbCr2020_422_10_CbYCrY: return "YCbCr2020_422_10_CbYCrY"; case YCbCr2020_422_10p: return "YCbCr2020_422_10p"; case YCbCr2020_422_10p_CbYCrY: return "YCbCr2020_422_10p_CbYCrY"; case YCbCr2020_422_12: return "YCbCr2020_422_12"; case YCbCr2020_422_12_CbYCrY: return "YCbCr2020_422_12_CbYCrY"; case YCbCr2020_422_12p: return "YCbCr2020_422_12p"; case YCbCr2020_422_12p_CbYCrY: return "YCbCr2020_422_12p_CbYCrY"; case YUV8_UYV: return "YUV8_UYV"; case YUV411_8_UYYVYY: return "YUV411_8_UYYVYY"; case YUV422_8: return "YUV422_8"; case YUV422_8_UYVY: return "YUV422_8_UYVY"; case Mono10Packed: return "Mono10Packed"; case Mono12Packed: return "Mono12Packed"; case BayerBG10Packed: return "BayerBG10Packed"; case BayerBG12Packed: return "BayerBG12Packed"; case BayerGB10Packed: return "BayerGB10Packed"; case BayerGB12Packed: return "BayerGB12Packed"; case BayerGR10Packed: return "BayerGR10Packed"; case BayerGR12Packed: return "BayerGR12Packed"; case BayerRG10Packed: return "BayerRG10Packed"; case BayerRG12Packed: return "BayerRG12Packed"; case RGB10V1Packed: return "RGB10V1Packed"; case RGB12V1Packed: return "RGB12V1Packed"; case InvalidPixelFormat: return "InvalidPixelFormat"; default: return "UnknownPixelFormat"; } } static PFNC_INLINE const char* GetPixelFormatDescription (PfncFormat format) { switch (format) { case Mono1p: return "Monochrome 1-bit packed"; case Mono2p: return "Monochrome 2-bit packed"; case Mono4p: return "Monochrome 4-bit packed"; case Mono8: return "Monochrome 8-bit"; case Mono8s: return "Monochrome 8-bit signed"; case Mono10: return "Monochrome 10-bit unpacked"; case Mono10p: return "Monochrome 10-bit packed"; case Mono12: return "Monochrome 12-bit unpacked"; case Mono12p: return "Monochrome 12-bit packed"; case Mono14: return "Monochrome 14-bit unpacked"; case Mono14p: return "Monochrome 14-bit packed"; case Mono16: return "Monochrome 16-bit"; case Mono32: return "Monochrome 32-bit"; case BayerBG4p: return "Bayer Blue-Green 4-bit packed"; case BayerBG8: return "Bayer Blue-Green 8-bit"; case BayerBG10: return "Bayer Blue-Green 10-bit unpacked"; case BayerBG10p: return "Bayer Blue-Green 10-bit packed"; case BayerBG12: return "Bayer Blue-Green 12-bit unpacked"; case BayerBG12p: return "Bayer Blue-Green 12-bit packed"; case BayerBG14: return "Bayer Blue-Green 14-bit"; case BayerBG14p: return "Bayer Blue-Green 14-bit packed"; case BayerBG16: return "Bayer Blue-Green 16-bit"; case BayerGB4p: return "Bayer Green-Blue 4-bit packed"; case BayerGB8: return "Bayer Green-Blue 8-bit"; case BayerGB10: return "Bayer Green-Blue 10-bit unpacked"; case BayerGB10p: return "Bayer Green-Blue 10-bit packed"; case BayerGB12: return "Bayer Green-Blue 12-bit unpacked"; case BayerGB12p: return "Bayer Green-Blue 12-bit packed"; case BayerGB14: return "Bayer Green-Blue 14-bit"; case BayerGB14p: return "Bayer Green-Blue 14-bit packed"; case BayerGB16: return "Bayer Green-Blue 16-bit"; case BayerGR4p: return "Bayer Green-Red 4-bit packed"; case BayerGR8: return "Bayer Green-Red 8-bit"; case BayerGR10: return "Bayer Green-Red 10-bit unpacked"; case BayerGR10p: return "Bayer Green-Red 10-bit packed"; case BayerGR12: return "Bayer Green-Red 12-bit unpacked"; case BayerGR12p: return "Bayer Green-Red 12-bit packed"; case BayerGR14: return "Bayer Green-Red 14-bit"; case BayerGR14p: return "Bayer Green-Red 14-bit packed"; case BayerGR16: return "Bayer Green-Red 16-bit"; case BayerRG4p: return "Bayer Red-Green 4-bit packed"; case BayerRG8: return "Bayer Red-Green 8-bit"; case BayerRG10: return "Bayer Red-Green 10-bit unpacked"; case BayerRG10p: return "Bayer Red-Green 10-bit packed"; case BayerRG12: return "Bayer Red-Green 12-bit unpacked"; case BayerRG12p: return "Bayer Red-Green 12-bit packed"; case BayerRG14: return "Bayer Red-Green 14-bit"; case BayerRG14p: return "Bayer Red-Green 14-bit packed"; case BayerRG16: return "Bayer Red-Green 16-bit"; case RGBa8: return "Red-Green-Blue-alpha 8-bit"; case RGBa10: return "Red-Green-Blue-alpha 10-bit unpacked"; case RGBa10p: return "Red-Green-Blue-alpha 10-bit packed"; case RGBa12: return "Red-Green-Blue-alpha 12-bit unpacked"; case RGBa12p: return "Red-Green-Blue-alpha 12-bit packed"; case RGBa14: return "Red-Green-Blue-alpha 14-bit unpacked"; case RGBa16: return "Red-Green-Blue-alpha 16-bit"; case RGB8: return "Red-Green-Blue 8-bit"; case RGB8_Planar: return "Red-Green-Blue 8-bit planar"; case RGB10: return "Red-Green-Blue 10-bit unpacked"; case RGB10_Planar: return "Red-Green-Blue 10-bit unpacked planar"; case RGB10p: return "Red-Green-Blue 10-bit packed"; case RGB10p32: return "Red-Green-Blue 10-bit packed into 32-bit"; case RGB12: return "Red-Green-Blue 12-bit unpacked"; case RGB12_Planar: return "Red-Green-Blue 12-bit unpacked planar"; case RGB12p: return "Red-Green-Blue 12-bit packed"; case RGB14: return "Red-Green-Blue 14-bit unpacked"; case RGB16: return "Red-Green-Blue 16-bit"; case RGB16_Planar: return "Red-Green-Blue 16-bit planar"; case RGB565p: return "Red-Green-Blue 5/6/5-bit packed"; case BGRa8: return "Blue-Green-Red-alpha 8-bit"; case BGRa10: return "Blue-Green-Red-alpha 10-bit unpacked"; case BGRa10p: return "Blue-Green-Red-alpha 10-bit packed"; case BGRa12: return "Blue-Green-Red-alpha 12-bit unpacked"; case BGRa12p: return "Blue-Green-Red-alpha 12-bit packed"; case BGRa14: return "Blue-Green-Red-alpha 14-bit unpacked"; case BGRa16: return "Blue-Green-Red-alpha 16-bit"; case BGR8: return "Blue-Green-Red 8-bit"; case BGR10: return "Blue-Green-Red 10-bit unpacked"; case BGR10p: return "Blue-Green-Red 10-bit packed"; case BGR12: return "Blue-Green-Red 12-bit unpacked"; case BGR12p: return "Blue-Green-Red 12-bit packed"; case BGR14: return "Blue-Green-Red 14-bit unpacked"; case BGR16: return "Blue-Green-Red 16-bit"; case BGR565p: return "Blue-Green-Red 5/6/5-bit packed"; case R8: return "Red 8-bit"; case R10: return "Red 10-bit"; case R12: return "Red 12-bit"; case R16: return "Red 16-bit"; case G8: return "Green 8-bit"; case G10: return "Green 10-bit"; case G12: return "Green 12-bit"; case G16: return "Green 16-bit"; case B8: return "Blue 8-bit"; case B10: return "Blue 10-bit"; case B12: return "Blue 12-bit"; case B16: return "Blue 16-bit"; case Coord3D_ABC8: return "3D coordinate A-B-C 8-bit"; case Coord3D_ABC8_Planar: return "3D coordinate A-B-C 8-bit planar"; case Coord3D_ABC10p: return "3D coordinate A-B-C 10-bit packed"; case Coord3D_ABC10p_Planar: return "3D coordinate A-B-C 10-bit packed planar"; case Coord3D_ABC12p: return "3D coordinate A-B-C 12-bit packed"; case Coord3D_ABC12p_Planar: return "3D coordinate A-B-C 12-bit packed planar"; case Coord3D_ABC16: return "3D coordinate A-B-C 16-bit"; case Coord3D_ABC16_Planar: return "3D coordinate A-B-C 16-bit planar"; case Coord3D_ABC32f: return "3D coordinate A-B-C 32-bit floating point"; case Coord3D_ABC32f_Planar: return "3D coordinate A-B-C 32-bit floating point planar"; case Coord3D_AC8: return "3D coordinate A-C 8-bit"; case Coord3D_AC8_Planar: return "3D coordinate A-C 8-bit planar"; case Coord3D_AC10p: return "3D coordinate A-C 10-bit packed"; case Coord3D_AC10p_Planar: return "3D coordinate A-C 10-bit packed planar"; case Coord3D_AC12p: return "3D coordinate A-C 12-bit packed"; case Coord3D_AC12p_Planar: return "3D coordinate A-C 12-bit packed planar"; case Coord3D_AC16: return "3D coordinate A-C 16-bit"; case Coord3D_AC16_Planar: return "3D coordinate A-C 16-bit planar"; case Coord3D_AC32f: return "3D coordinate A-C 32-bit floating point"; case Coord3D_AC32f_Planar: return "3D coordinate A-C 32-bit floating point planar"; case Coord3D_A8: return "3D coordinate A 8-bit"; case Coord3D_A10p: return "3D coordinate A 10-bit packed"; case Coord3D_A12p: return "3D coordinate A 12-bit packed"; case Coord3D_A16: return "3D coordinate A 16-bit"; case Coord3D_A32f: return "3D coordinate A 32-bit floating point"; case Coord3D_B8: return "3D coordinate B 8-bit"; case Coord3D_B10p: return "3D coordinate B 10-bit packed"; case Coord3D_B12p: return "3D coordinate B 12-bit packed"; case Coord3D_B16: return "3D coordinate B 16-bit"; case Coord3D_B32f: return "3D coordinate B 32-bit floating point"; case Coord3D_C8: return "3D coordinate C 8-bit"; case Coord3D_C10p: return "3D coordinate C 10-bit packed"; case Coord3D_C12p: return "3D coordinate C 12-bit packed"; case Coord3D_C16: return "3D coordinate C 16-bit"; case Coord3D_C32f: return "3D coordinate C 32-bit floating point"; case Confidence1: return "Confidence 1-bit unpacked"; case Confidence1p: return "Confidence 1-bit packed"; case Confidence8: return "Confidence 8-bit"; case Confidence16: return "Confidence 16-bit"; case Confidence32f: return "Confidence 32-bit floating point"; case BiColorBGRG8: return "Bi-color Blue/Green - Red/Green 8-bit"; case BiColorBGRG10: return "Bi-color Blue/Green - Red/Green 10-bit unpacked"; case BiColorBGRG10p: return "Bi-color Blue/Green - Red/Green 10-bit packed"; case BiColorBGRG12: return "Bi-color Blue/Green - Red/Green 12-bit unpacked"; case BiColorBGRG12p: return "Bi-color Blue/Green - Red/Green 12-bit packed"; case BiColorRGBG8: return "Bi-color Red/Green - Blue/Green 8-bit"; case BiColorRGBG10: return "Bi-color Red/Green - Blue/Green 10-bit unpacked"; case BiColorRGBG10p: return "Bi-color Red/Green - Blue/Green 10-bit packed"; case BiColorRGBG12: return "Bi-color Red/Green - Blue/Green 12-bit unpacked"; case BiColorRGBG12p: return "Bi-color Red/Green - Blue/Green 12-bit packed"; case Data8: return "Data 8-bit"; case Data8s: return "Data 8-bit signed"; case Data16: return "Data 16-bit"; case Data16s: return "Data 16-bit signed"; case Data32: return "Data 32-bit"; case Data32f: return "Data 32-bit floating point"; case Data32s: return "Data 32-bit signed"; case Data64: return "Data 64-bit"; case Data64f: return "Data 64-bit floating point"; case Data64s: return "Data 64-bit signed"; case SCF1WBWG8: return "Sparse Color Filter #1 White-Blue-White-Green 8-bit"; case SCF1WBWG10: return "Sparse Color Filter #1 White-Blue-White-Green 10-bit unpacked"; case SCF1WBWG10p: return "Sparse Color Filter #1 White-Blue-White-Green 10-bit packed"; case SCF1WBWG12: return "Sparse Color Filter #1 White-Blue-White-Green 12-bit unpacked"; case SCF1WBWG12p: return "Sparse Color Filter #1 White-Blue-White-Green 12-bit packed"; case SCF1WBWG14: return "Sparse Color Filter #1 White-Blue-White-Green 14-bit unpacked"; case SCF1WBWG16: return "Sparse Color Filter #1 White-Blue-White-Green 16-bit unpacked"; case SCF1WGWB8: return "Sparse Color Filter #1 White-Green-White-Blue 8-bit"; case SCF1WGWB10: return "Sparse Color Filter #1 White-Green-White-Blue 10-bit unpacked"; case SCF1WGWB10p: return "Sparse Color Filter #1 White-Green-White-Blue 10-bit packed"; case SCF1WGWB12: return "Sparse Color Filter #1 White-Green-White-Blue 12-bit unpacked"; case SCF1WGWB12p: return "Sparse Color Filter #1 White-Green-White-Blue 12-bit packed"; case SCF1WGWB14: return "Sparse Color Filter #1 White-Green-White-Blue 14-bit unpacked"; case SCF1WGWB16: return "Sparse Color Filter #1 White-Green-White-Blue 16-bit"; case SCF1WGWR8: return "Sparse Color Filter #1 White-Green-White-Red 8-bit"; case SCF1WGWR10: return "Sparse Color Filter #1 White-Green-White-Red 10-bit unpacked"; case SCF1WGWR10p: return "Sparse Color Filter #1 White-Green-White-Red 10-bit packed"; case SCF1WGWR12: return "Sparse Color Filter #1 White-Green-White-Red 12-bit unpacked"; case SCF1WGWR12p: return "Sparse Color Filter #1 White-Green-White-Red 12-bit packed"; case SCF1WGWR14: return "Sparse Color Filter #1 White-Green-White-Red 14-bit unpacked"; case SCF1WGWR16: return "Sparse Color Filter #1 White-Green-White-Red 16-bit"; case SCF1WRWG8: return "Sparse Color Filter #1 White-Red-White-Green 8-bit"; case SCF1WRWG10: return "Sparse Color Filter #1 White-Red-White-Green 10-bit unpacked"; case SCF1WRWG10p: return "Sparse Color Filter #1 White-Red-White-Green 10-bit packed"; case SCF1WRWG12: return "Sparse Color Filter #1 White-Red-White-Green 12-bit unpacked"; case SCF1WRWG12p: return "Sparse Color Filter #1 White-Red-White-Green 12-bit packed"; case SCF1WRWG14: return "Sparse Color Filter #1 White-Red-White-Green 14-bit unpacked"; case SCF1WRWG16: return "Sparse Color Filter #1 White-Red-White-Green 16-bit"; case YCbCr8: return "YCbCr 4:4:4 8-bit"; case YCbCr8_CbYCr: return "YCbCr 4:4:4 8-bit"; case YCbCr10_CbYCr: return "YCbCr 4:4:4 10-bit unpacked"; case YCbCr10p_CbYCr: return "YCbCr 4:4:4 10-bit packed"; case YCbCr12_CbYCr: return "YCbCr 4:4:4 12-bit unpacked"; case YCbCr12p_CbYCr: return "YCbCr 4:4:4 12-bit packed"; case YCbCr411_8: return "YCbCr 4:1:1 8-bit"; case YCbCr411_8_CbYYCrYY: return "YCbCr 4:1:1 8-bit"; case YCbCr420_8_YY_CbCr_Semiplanar: return "YCbCr 4:2:0 8-bit YY/CbCr Semiplanar"; case YCbCr420_8_YY_CrCb_Semiplanar: return "YCbCr 4:2:0 8-bit YY/CrCb Semiplanar"; case YCbCr422_8: return "YCbCr 4:2:2 8-bit"; case YCbCr422_8_CbYCrY: return "YCbCr 4:2:2 8-bit"; case YCbCr422_8_YY_CbCr_Semiplanar: return "YCbCr 4:2:2 8-bit YY/CbCr Semiplanar"; case YCbCr422_8_YY_CrCb_Semiplanar: return "YCbCr 4:2:2 8-bit YY/CrCb Semiplanar"; case YCbCr422_10: return "YCbCr 4:2:2 10-bit unpacked"; case YCbCr422_10_CbYCrY: return "YCbCr 4:2:2 10-bit unpacked"; case YCbCr422_10p: return "YCbCr 4:2:2 10-bit packed"; case YCbCr422_10p_CbYCrY: return "YCbCr 4:2:2 10-bit packed"; case YCbCr422_12: return "YCbCr 4:2:2 12-bit unpacked"; case YCbCr422_12_CbYCrY: return "YCbCr 4:2:2 12-bit unpacked"; case YCbCr422_12p: return "YCbCr 4:2:2 12-bit packed"; case YCbCr422_12p_CbYCrY: return "YCbCr 4:2:2 12-bit packed"; case YCbCr601_8_CbYCr: return "YCbCr 4:4:4 8-bit BT.601"; case YCbCr601_10_CbYCr: return "YCbCr 4:4:4 10-bit unpacked BT.601"; case YCbCr601_10p_CbYCr: return "YCbCr 4:4:4 10-bit packed BT.601"; case YCbCr601_12_CbYCr: return "YCbCr 4:4:4 12-bit unpacked BT.601"; case YCbCr601_12p_CbYCr: return "YCbCr 4:4:4 12-bit packed BT.601"; case YCbCr601_411_8_CbYYCrYY: return "YCbCr 4:1:1 8-bit BT.601"; case YCbCr601_422_8: return "YCbCr 4:2:2 8-bit BT.601"; case YCbCr601_422_8_CbYCrY: return "YCbCr 4:2:2 8-bit BT.601"; case YCbCr601_422_10: return "YCbCr 4:2:2 10-bit unpacked BT.601"; case YCbCr601_422_10_CbYCrY: return "YCbCr 4:2:2 10-bit unpacked BT.601"; case YCbCr601_422_10p: return "YCbCr 4:2:2 10-bit packed BT.601"; case YCbCr601_422_10p_CbYCrY: return "YCbCr 4:2:2 10-bit packed BT.601"; case YCbCr601_422_12: return "YCbCr 4:2:2 12-bit unpacked BT.601"; case YCbCr601_422_12_CbYCrY: return "YCbCr 4:2:2 12-bit unpacked BT.601"; case YCbCr601_422_12p: return "YCbCr 4:2:2 12-bit packed BT.601"; case YCbCr601_422_12p_CbYCrY: return "YCbCr 4:2:2 12-bit packed BT.601"; case YCbCr709_8_CbYCr: return "YCbCr 4:4:4 8-bit BT.709"; case YCbCr709_10_CbYCr: return "YCbCr 4:4:4 10-bit unpacked BT.709"; case YCbCr709_10p_CbYCr: return "YCbCr 4:4:4 10-bit packed BT.709"; case YCbCr709_12_CbYCr: return "YCbCr 4:4:4 12-bit unpacked BT.709"; case YCbCr709_12p_CbYCr: return "YCbCr 4:4:4 12-bit packed BT.709"; case YCbCr709_411_8_CbYYCrYY: return "YCbCr 4:1:1 8-bit BT.709"; case YCbCr709_422_8: return "YCbCr 4:2:2 8-bit BT.709"; case YCbCr709_422_8_CbYCrY: return "YCbCr 4:2:2 8-bit BT.709"; case YCbCr709_422_10: return "YCbCr 4:2:2 10-bit unpacked BT.709"; case YCbCr709_422_10_CbYCrY: return "YCbCr 4:2:2 10-bit unpacked BT.709"; case YCbCr709_422_10p: return "YCbCr 4:2:2 10-bit packed BT.709"; case YCbCr709_422_10p_CbYCrY: return "YCbCr 4:2:2 10-bit packed BT.709"; case YCbCr709_422_12: return "YCbCr 4:2:2 12-bit unpacked BT.709"; case YCbCr709_422_12_CbYCrY: return "YCbCr 4:2:2 12-bit unpacked BT.709"; case YCbCr709_422_12p: return "YCbCr 4:2:2 12-bit packed BT.709"; case YCbCr709_422_12p_CbYCrY: return "YCbCr 4:2:2 12-bit packed BT.709"; case YCbCr2020_8_CbYCr: return "YCbCr 4:4:4 8-bit BT.2020"; case YCbCr2020_10_CbYCr: return "YCbCr 4:4:4 10-bit unpacked BT.2020"; case YCbCr2020_10p_CbYCr: return "YCbCr 4:4:4 10-bit packed BT.2020"; case YCbCr2020_12_CbYCr: return "YCbCr 4:4:4 12-bit unpacked BT.2020"; case YCbCr2020_12p_CbYCr: return "YCbCr 4:4:4 12-bit packed BT.2020"; case YCbCr2020_411_8_CbYYCrYY: return "YCbCr 4:1:1 8-bit BT.2020"; case YCbCr2020_422_8: return "YCbCr 4:2:2 8-bit BT.2020"; case YCbCr2020_422_8_CbYCrY: return "YCbCr 4:2:2 8-bit BT.2020"; case YCbCr2020_422_10: return "YCbCr 4:2:2 10-bit unpacked BT.2020"; case YCbCr2020_422_10_CbYCrY: return "YCbCr 4:2:2 10-bit unpacked BT.2020"; case YCbCr2020_422_10p: return "YCbCr 4:2:2 10-bit packed BT.2020"; case YCbCr2020_422_10p_CbYCrY: return "YCbCr 4:2:2 10-bit packed BT.2020"; case YCbCr2020_422_12: return "YCbCr 4:2:2 12-bit unpacked BT.2020"; case YCbCr2020_422_12_CbYCrY: return "YCbCr 4:2:2 12-bit unpacked BT.2020"; case YCbCr2020_422_12p: return "YCbCr 4:2:2 12-bit packed BT.2020"; case YCbCr2020_422_12p_CbYCrY: return "YCbCr 4:2:2 12-bit packed BT.2020"; case YUV8_UYV: return "YUV 4:4:4 8-bit"; case YUV411_8_UYYVYY: return "YUV 4:1:1 8-bit"; case YUV422_8: return "YUV 4:2:2 8-bit"; case YUV422_8_UYVY: return "YUV 4:2:2 8-bit"; case Mono10Packed: return "Monochrome 10-bit packed"; case Mono12Packed: return "Monochrome 12-bit packed"; case BayerBG10Packed: return "Bayer Blue-Green 10-bit packed"; case BayerBG12Packed: return "Bayer Blue-Green 12-bit packed"; case BayerGB10Packed: return "Bayer Green-Blue 10-bit packed"; case BayerGB12Packed: return "Bayer Green-Blue 12-bit packed"; case BayerGR10Packed: return "Bayer Green-Red 10-bit packed"; case BayerGR12Packed: return "Bayer Green-Red 12-bit packed"; case BayerRG10Packed: return "Bayer Red-Green 10-bit packed"; case BayerRG12Packed: return "Bayer Red-Green 12-bit packed"; case RGB10V1Packed: return "Red-Green-Blue 10-bit packed - variant 1"; case RGB12V1Packed: return "Red-Green-Blue 12-bit packed - variant 1"; case InvalidPixelFormat: return "Invalid pixel format value"; default: return "Unknown pixel format value"; } } #endif /* PFNC_INCLUDE_HELPERS */ #endif /* PFNC_H */