const c = @import("c.zig").c; pub const PixelFormat = enum(c_int) { /// 1 bit indexed @"1Monochrome" = c.kCVPixelFormatType_1Monochrome, /// 2 bit indexed @"2Indexed" = c.kCVPixelFormatType_2Indexed, /// 4 bit indexed @"4Indexed" = c.kCVPixelFormatType_4Indexed, /// 8 bit indexed @"8Indexed" = c.kCVPixelFormatType_8Indexed, /// 1 bit indexed gray, white is zero @"1IndexedGray_WhiteIsZero" = c.kCVPixelFormatType_1IndexedGray_WhiteIsZero, /// 2 bit indexed gray, white is zero @"2IndexedGray_WhiteIsZero" = c.kCVPixelFormatType_2IndexedGray_WhiteIsZero, /// 4 bit indexed gray, white is zero @"4IndexedGray_WhiteIsZero" = c.kCVPixelFormatType_4IndexedGray_WhiteIsZero, /// 8 bit indexed gray, white is zero @"8IndexedGray_WhiteIsZero" = c.kCVPixelFormatType_8IndexedGray_WhiteIsZero, /// 16 bit BE RGB 555 @"16BE555" = c.kCVPixelFormatType_16BE555, /// 16 bit LE RGB 555 @"16LE555" = c.kCVPixelFormatType_16LE555, /// 16 bit LE RGB 5551 @"16LE5551" = c.kCVPixelFormatType_16LE5551, /// 16 bit BE RGB 565 @"16BE565" = c.kCVPixelFormatType_16BE565, /// 16 bit LE RGB 565 @"16LE565" = c.kCVPixelFormatType_16LE565, /// 24 bit RGB @"24RGB" = c.kCVPixelFormatType_24RGB, /// 24 bit BGR @"24BGR" = c.kCVPixelFormatType_24BGR, /// 32 bit ARGB @"32ARGB" = c.kCVPixelFormatType_32ARGB, /// 32 bit BGRA @"32BGRA" = c.kCVPixelFormatType_32BGRA, /// 32 bit ABGR @"32ABGR" = c.kCVPixelFormatType_32ABGR, /// 32 bit RGBA @"32RGBA" = c.kCVPixelFormatType_32RGBA, /// 64 bit ARGB, 16-bit big-endian samples @"64ARGB" = c.kCVPixelFormatType_64ARGB, /// 64 bit RGBA, 16-bit little-endian full-range (0-65535) samples @"64RGBALE" = c.kCVPixelFormatType_64RGBALE, /// 48 bit RGB, 16-bit big-endian samples @"48RGB" = c.kCVPixelFormatType_48RGB, /// 32 bit AlphaGray, 16-bit big-endian samples, black is zero @"32AlphaGray" = c.kCVPixelFormatType_32AlphaGray, /// 16 bit Grayscale, 16-bit big-endian samples, black is zero @"16Gray" = c.kCVPixelFormatType_16Gray, /// 30 bit RGB, 10-bit big-endian samples, 2 unused padding bits (at least significant end). @"30RGB" = c.kCVPixelFormatType_30RGB, /// 30 bit RGB, 10-bit big-endian samples, 2 unused padding bits (at most significant end), video-range (64-940). @"30RGB_r210" = c.kCVPixelFormatType_30RGB_r210, /// Component Y'CbCr 8-bit 4:2:2, ordered Cb Y'0 Cr Y'1 @"422YpCbCr8" = c.kCVPixelFormatType_422YpCbCr8, /// Component Y'CbCrA 8-bit 4:4:4:4, ordered Cb Y' Cr A @"4444YpCbCrA8" = c.kCVPixelFormatType_4444YpCbCrA8, /// Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased YUV, ordered A Y' Cb Cr @"4444YpCbCrA8R" = c.kCVPixelFormatType_4444YpCbCrA8R, /// Component Y'CbCrA 8-bit 4:4:4:4, ordered A Y' Cb Cr, full range alpha, video range Y'CbCr. @"4444AYpCbCr8" = c.kCVPixelFormatType_4444AYpCbCr8, /// Component Y'CbCrA 16-bit 4:4:4:4, ordered A Y' Cb Cr, full range alpha, video range Y'CbCr, 16-bit little-endian samples. @"4444AYpCbCr16" = c.kCVPixelFormatType_4444AYpCbCr16, /// Component AY'CbCr single precision floating-point 4:4:4:4 @"4444AYpCbCrFloat" = c.kCVPixelFormatType_4444AYpCbCrFloat, /// Component Y'CbCr 8-bit 4:4:4, ordered Cr Y' Cb, video range Y'CbCr @"444YpCbCr8" = c.kCVPixelFormatType_444YpCbCr8, /// Component Y'CbCr 10,12,14,16-bit 4:2:2 @"422YpCbCr16" = c.kCVPixelFormatType_422YpCbCr16, /// Component Y'CbCr 10-bit 4:2:2 @"422YpCbCr10" = c.kCVPixelFormatType_422YpCbCr10, /// Component Y'CbCr 10-bit 4:4:4 @"444YpCbCr10" = c.kCVPixelFormatType_444YpCbCr10, /// Planar Component Y'CbCr 8-bit 4:2:0. baseAddr points to a big-endian CVPlanarPixelBufferInfo_YCbCrPlanar struct @"420YpCbCr8Planar" = c.kCVPixelFormatType_420YpCbCr8Planar, /// Planar Component Y'CbCr 8-bit 4:2:0, full range. baseAddr points to a big-endian CVPlanarPixelBufferInfo_YCbCrPlanar struct @"420YpCbCr8PlanarFullRange" = c.kCVPixelFormatType_420YpCbCr8PlanarFullRange, /// First plane: Video-range Component Y'CbCr 8-bit 4:2:2, ordered Cb Y'0 Cr Y'1; second plane: alpha 8-bit 0-255 @"422YpCbCr_4A_8BiPlanar" = c.kCVPixelFormatType_422YpCbCr_4A_8BiPlanar, /// Bi-Planar Component Y'CbCr 8-bit 4:2:0, video-range (luma=[16,235] chroma=[16,240]). baseAddr points to a big-endian CVPlanarPixelBufferInfo_YCbCrBiPlanar struct @"420YpCbCr8BiPlanarVideoRange" = c.kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange, /// Bi-Planar Component Y'CbCr 8-bit 4:2:0, full-range (luma=[0,255] chroma=[1,255]). baseAddr points to a big-endian CVPlanarPixelBufferInfo_YCbCrBiPlanar struct @"420YpCbCr8BiPlanarFullRange" = c.kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, /// Bi-Planar Component Y'CbCr 8-bit 4:2:2, video-range (luma=[16,235] chroma=[16,240]). baseAddr points to a big-endian CVPlanarPixelBufferInfo_YCbCrBiPlanar struct @"422YpCbCr8BiPlanarVideoRange" = c.kCVPixelFormatType_422YpCbCr8BiPlanarVideoRange, /// Bi-Planar Component Y'CbCr 8-bit 4:2:2, full-range (luma=[0,255] chroma=[1,255]). baseAddr points to a big-endian CVPlanarPixelBufferInfo_YCbCrBiPlanar struct @"422YpCbCr8BiPlanarFullRange" = c.kCVPixelFormatType_422YpCbCr8BiPlanarFullRange, /// Bi-Planar Component Y'CbCr 8-bit 4:4:4, video-range (luma=[16,235] chroma=[16,240]). baseAddr points to a big-endian CVPlanarPixelBufferInfo_YCbCrBiPlanar struct @"444YpCbCr8BiPlanarVideoRange" = c.kCVPixelFormatType_444YpCbCr8BiPlanarVideoRange, /// Bi-Planar Component Y'CbCr 8-bit 4:4:4, full-range (luma=[0,255] chroma=[1,255]). baseAddr points to a big-endian CVPlanarPixelBufferInfo_YCbCrBiPlanar struct @"444YpCbCr8BiPlanarFullRange" = c.kCVPixelFormatType_444YpCbCr8BiPlanarFullRange, /// Component Y'CbCr 8-bit 4:2:2, ordered Y'0 Cb Y'1 Cr @"422YpCbCr8_yuvs" = c.kCVPixelFormatType_422YpCbCr8_yuvs, /// Component Y'CbCr 8-bit 4:2:2, full range, ordered Y'0 Cb Y'1 Cr @"422YpCbCr8FullRange" = c.kCVPixelFormatType_422YpCbCr8FullRange, /// 8 bit one component, black is zero OneComponent8 = c.kCVPixelFormatType_OneComponent8, /// 8 bit two component, black is zero TwoComponent8 = c.kCVPixelFormatType_TwoComponent8, /// little-endian RGB101010, 2 MSB are ignored, wide-gamut (384-895) @"30RGBLEPackedWideGamut" = c.kCVPixelFormatType_30RGBLEPackedWideGamut, /// little-endian ARGB2101010 full-range ARGB ARGB2101010LEPacked = c.kCVPixelFormatType_ARGB2101010LEPacked, /// little-endian ARGB10101010, each 10 bits in the MSBs of 16bits, wide-gamut (384-895, including alpha) @"40ARGBLEWideGamut" = c.kCVPixelFormatType_40ARGBLEWideGamut, /// little-endian ARGB10101010, each 10 bits in the MSBs of 16bits, wide-gamut (384-895, including alpha). Alpha premultiplied @"40ARGBLEWideGamutPremultiplied" = c.kCVPixelFormatType_40ARGBLEWideGamutPremultiplied, /// 10 bit little-endian one component, stored as 10 MSBs of 16 bits, black is zero OneComponent10 = c.kCVPixelFormatType_OneComponent10, /// 12 bit little-endian one component, stored as 12 MSBs of 16 bits, black is zero OneComponent12 = c.kCVPixelFormatType_OneComponent12, /// 16 bit little-endian one component, black is zero OneComponent16 = c.kCVPixelFormatType_OneComponent16, /// 16 bit little-endian two component, black is zero TwoComponent16 = c.kCVPixelFormatType_TwoComponent16, /// 16 bit one component IEEE half-precision float, 16-bit little-endian samples OneComponent16Half = c.kCVPixelFormatType_OneComponent16Half, /// 32 bit one component IEEE float, 32-bit little-endian samples OneComponent32Float = c.kCVPixelFormatType_OneComponent32Float, /// 16 bit two component IEEE half-precision float, 16-bit little-endian samples TwoComponent16Half = c.kCVPixelFormatType_TwoComponent16Half, /// 32 bit two component IEEE float, 32-bit little-endian samples TwoComponent32Float = c.kCVPixelFormatType_TwoComponent32Float, /// 64 bit RGBA IEEE half-precision float, 16-bit little-endian samples @"64RGBAHalf" = c.kCVPixelFormatType_64RGBAHalf, /// 128 bit RGBA IEEE float, 32-bit little-endian samples @"128RGBAFloat" = c.kCVPixelFormatType_128RGBAFloat, /// Bayer 14-bit Little-Endian, packed in 16-bits, ordered G R G R... alternating with B G B G... @"14Bayer_GRBG" = c.kCVPixelFormatType_14Bayer_GRBG, /// Bayer 14-bit Little-Endian, packed in 16-bits, ordered R G R G... alternating with G B G B... @"14Bayer_RGGB" = c.kCVPixelFormatType_14Bayer_RGGB, /// Bayer 14-bit Little-Endian, packed in 16-bits, ordered B G B G... alternating with G R G R... @"14Bayer_BGGR" = c.kCVPixelFormatType_14Bayer_BGGR, /// Bayer 14-bit Little-Endian, packed in 16-bits, ordered G B G B... alternating with R G R G... @"14Bayer_GBRG" = c.kCVPixelFormatType_14Bayer_GBRG, /// IEEE754-2008 binary16 (half float), describing the normalized shift when comparing two images. Units are 1/meters: ( pixelShift / (pixelFocalLength * baselineInMeters) ) DisparityFloat16 = c.kCVPixelFormatType_DisparityFloat16, /// IEEE754-2008 binary32 float, describing the normalized shift when comparing two images. Units are 1/meters: ( pixelShift / (pixelFocalLength * baselineInMeters) ) DisparityFloat32 = c.kCVPixelFormatType_DisparityFloat32, /// IEEE754-2008 binary16 (half float), describing the depth (distance to an object) in meters DepthFloat16 = c.kCVPixelFormatType_DepthFloat16, /// IEEE754-2008 binary32 float, describing the depth (distance to an object) in meters DepthFloat32 = c.kCVPixelFormatType_DepthFloat32, /// 2 plane YCbCr10 4:2:0, each 10 bits in the MSBs of 16bits, video-range (luma=[64,940] chroma=[64,960]) @"420YpCbCr10BiPlanarVideoRange" = c.kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange, /// 2 plane YCbCr10 4:2:2, each 10 bits in the MSBs of 16bits, video-range (luma=[64,940] chroma=[64,960]) @"422YpCbCr10BiPlanarVideoRange" = c.kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange, /// 2 plane YCbCr10 4:4:4, each 10 bits in the MSBs of 16bits, video-range (luma=[64,940] chroma=[64,960]) @"444YpCbCr10BiPlanarVideoRange" = c.kCVPixelFormatType_444YpCbCr10BiPlanarVideoRange, /// 2 plane YCbCr10 4:2:0, each 10 bits in the MSBs of 16bits, full-range (Y range 0-1023) @"420YpCbCr10BiPlanarFullRange" = c.kCVPixelFormatType_420YpCbCr10BiPlanarFullRange, /// 2 plane YCbCr10 4:2:2, each 10 bits in the MSBs of 16bits, full-range (Y range 0-1023) @"422YpCbCr10BiPlanarFullRange" = c.kCVPixelFormatType_422YpCbCr10BiPlanarFullRange, /// 2 plane YCbCr10 4:4:4, each 10 bits in the MSBs of 16bits, full-range (Y range 0-1023) @"444YpCbCr10BiPlanarFullRange" = c.kCVPixelFormatType_444YpCbCr10BiPlanarFullRange, /// first and second planes as per 420YpCbCr8BiPlanarVideoRange (420v), alpha 8 bits in third plane full-range. No CVPlanarPixelBufferInfo struct. @"420YpCbCr8VideoRange_8A_TriPlanar" = c.kCVPixelFormatType_420YpCbCr8VideoRange_8A_TriPlanar, /// Single plane Bayer 16-bit little-endian sensor element ("sensel".*) samples from full-size decoding of ProRes RAW images; Bayer pattern (sensel ordering) and other raw conversion information is described via buffer attachments @"16VersatileBayer" = c.kCVPixelFormatType_16VersatileBayer, /// Single plane 64-bit RGBA (16-bit little-endian samples) from downscaled decoding of ProRes RAW images; components--which may not be co-sited with one another--are sensel values and require raw conversion, information for which is described via buffer attachments @"64RGBA_DownscaledProResRAW" = c.kCVPixelFormatType_64RGBA_DownscaledProResRAW, /// 2 plane YCbCr16 4:2:2, video-range (luma=[4096,60160] chroma=[4096,61440]) @"422YpCbCr16BiPlanarVideoRange" = c.kCVPixelFormatType_422YpCbCr16BiPlanarVideoRange, /// 2 plane YCbCr16 4:4:4, video-range (luma=[4096,60160] chroma=[4096,61440]) @"444YpCbCr16BiPlanarVideoRange" = c.kCVPixelFormatType_444YpCbCr16BiPlanarVideoRange, /// 3 plane video-range YCbCr16 4:4:4 with 16-bit full-range alpha (luma=[4096,60160] chroma=[4096,61440] alpha=[0,65535]). No CVPlanarPixelBufferInfo struct. @"444YpCbCr16VideoRange_16A_TriPlanar" = c.kCVPixelFormatType_444YpCbCr16VideoRange_16A_TriPlanar, _, };