/**************************************************************************************************************
 * This file was automatically generated by tools designed and maintained by Leutron Vision, Matrox, Groget, MVTec Software.
 * Copyright (C) 2007-2020 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.
 **************************************************************************************************************
 *
 * Revision     :  10.60.0776
 *
 **************************************************************************************************************
 * Version and date information:
 * PFNC value list release date: 2020-10-14
 * Header generator version: 4.0
 * Header generation date: 2020-10-14
 **************************************************************************************************************/

#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                                 0x01100120 /* Red 10-bit */
#define PFNC_R10_Deprecated                      0x010A00CA /* Deprecated because size field is wrong */
#define PFNC_R12                                 0x01100121 /* Red 12-bit */
#define PFNC_R12_Deprecated                      0x010C00CB /* Deprecated because size field is wrong */
#define PFNC_R16                                 0x011000CC /* Red 16-bit */
#define PFNC_G8                                  0x010800CD /* Green 8-bit */
#define PFNC_G10                                 0x01100122 /* Green 10-bit */
#define PFNC_G10_Deprecated                      0x010A00CE /* Deprecated because size field is wrong */
#define PFNC_G12                                 0x01100123 /* Green 12-bit */
#define PFNC_G12_Deprecated                      0x010C00CF /* Deprecated because size field is wrong */
#define PFNC_G16                                 0x011000D0 /* Green 16-bit */
#define PFNC_B8                                  0x010800D1 /* Blue 8-bit */
#define PFNC_B10                                 0x01100124 /* Blue 10-bit */
#define PFNC_B10_Deprecated                      0x010A00D2 /* Deprecated because size field is wrong */
#define PFNC_B12                                 0x01100125 /* Blue 12-bit */
#define PFNC_B12_Deprecated                      0x010C00D3 /* Deprecated because size field is wrong */
#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                                      = 0x01100120, /* Red 10-bit */
  R10_Deprecated                           = 0x010A00CA, /* Deprecated because size field is wrong */
  R12                                      = 0x01100121, /* Red 12-bit */
  R12_Deprecated                           = 0x010C00CB, /* Deprecated because size field is wrong */
  R16                                      = 0x011000CC, /* Red 16-bit */
  G8                                       = 0x010800CD, /* Green 8-bit */
  G10                                      = 0x01100122, /* Green 10-bit */
  G10_Deprecated                           = 0x010A00CE, /* Deprecated because size field is wrong */
  G12                                      = 0x01100123, /* Green 12-bit */
  G12_Deprecated                           = 0x010C00CF, /* Deprecated because size field is wrong */
  G16                                      = 0x011000D0, /* Green 16-bit */
  B8                                       = 0x010800D1, /* Blue 8-bit */
  B10                                      = 0x01100124, /* Blue 10-bit */
  B10_Deprecated                           = 0x010A00D2, /* Deprecated because size field is wrong */
  B12                                      = 0x01100125, /* Blue 12-bit */
  B12_Deprecated                           = 0x010C00D3, /* Deprecated because size field is wrong */
  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 */
#ifndef PFNC_INCLUDE_HELPERS
#define PFNC_INCLUDE_HELPERS 1
#endif 
#if (PFNC_INCLUDE_HELPERS != 0)
#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 R10_Deprecated:                          return "R10_Deprecated";
    case R12:                                     return "R12";
    case R12_Deprecated:                          return "R12_Deprecated";
    case R16:                                     return "R16";
    case G8:                                      return "G8";
    case G10:                                     return "G10";
    case G10_Deprecated:                          return "G10_Deprecated";
    case G12:                                     return "G12";
    case G12_Deprecated:                          return "G12_Deprecated";
    case G16:                                     return "G16";
    case B8:                                      return "B8";
    case B10:                                     return "B10";
    case B10_Deprecated:                          return "B10_Deprecated";
    case B12:                                     return "B12";
    case B12_Deprecated:                          return "B12_Deprecated";
    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 R10_Deprecated:                          return "Deprecated because size field is wrong";
    case R12:                                     return "Red 12-bit";
    case R12_Deprecated:                          return "Deprecated because size field is wrong";
    case R16:                                     return "Red 16-bit";
    case G8:                                      return "Green 8-bit";
    case G10:                                     return "Green 10-bit";
    case G10_Deprecated:                          return "Deprecated because size field is wrong";
    case G12:                                     return "Green 12-bit";
    case G12_Deprecated:                          return "Deprecated because size field is wrong";
    case G16:                                     return "Green 16-bit";
    case B8:                                      return "Blue 8-bit";
    case B10:                                     return "Blue 10-bit";
    case B10_Deprecated:                          return "Deprecated because size field is wrong";
    case B12:                                     return "Blue 12-bit";
    case B12_Deprecated:                          return "Deprecated because size field is wrong";
    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 */
