Enum VideoFormatX
- Namespace
- VisioForge.Core.Types.X
- Assembly
- VisioForge.Core.dll
Specifies various video pixel formats used within the VisioForge X engine. This enumeration defines how color data is stored and arranged for each pixel in a video frame.
public enum VideoFormatXFields
Unknown = 0-
The video format is unknown or not specified.
Encoded = 1-
The video data is in a compressed or encoded format, not raw pixel data.
I420 = 2-
I420 YUV 4:2:0 planar format. Y plane first, followed by U and V planes.
YV12 = 3-
YV12 YUV 4:2:0 planar format. Y plane first, followed by V and U planes.
YUY2 = 4-
YUY2 YUV 4:2:2 packed format. Y, U, Y, V samples are interleaved.
UYVY = 5-
UYVY YUV 4:2:2 packed format. U, Y, V, Y samples are interleaved.
AYUV = 6-
AYUV YUV 4:4:4 packed format with alpha channel.
RGBX = 7-
RGBX 32-bit packed RGB format with an unused X (alpha) byte.
BGRX = 8-
BGRX 32-bit packed BGR format with an unused X (alpha) byte.
XRGB = 9-
XRGB 32-bit packed XRGB format.
XBGR = 10-
XBGR 32-bit packed XBGR format.
RGBA = 11-
RGBA 32-bit packed RGB format with alpha channel.
BGRA = 12-
BGRA 32-bit packed BGR format with alpha channel.
ARGB = 13-
ARGB 32-bit packed ARGB format.
ABGR = 14-
ABGR 32-bit packed ABGR format.
RGB = 15-
RGB 24-bit packed RGB format.
BGR = 16-
BGR 24-bit packed BGR format.
Y41B = 17-
Y41B YUV 4:1:1 packed format.
Y42B = 18-
Y42B YUV 4:2:2 packed format.
YVYU = 19-
YVYU YUV 4:2:2 packed format.
Y444 = 20-
Y444 YUV 4:4:4 packed format.
V210 = 21-
V210 10-bit YUV 4:2:2 packed format.
V216 = 22-
V216 16-bit YUV 4:2:2 packed format.
NV12 = 23-
NV12 YUV 4:2:0 planar format. Y plane first, followed by interleaved U/V plane.
NV21 = 24-
NV21 YUV 4:2:0 planar format. Y plane first, followed by interleaved V/U plane.
Gray8 = 25-
8-bit grayscale format.
Gray16BE = 26-
16-bit grayscale format, Big-Endian.
Gray16LE = 27-
16-bit grayscale format, Little-Endian.
V308 = 28-
V308 YUV 4:4:4 packed format.
RGB16 = 29-
RGB 16-bit packed RGB format (5-6-5).
BGR16 = 30-
BGR 16-bit packed BGR format (5-6-5).
RGB15 = 31-
RGB 15-bit packed RGB format (5-5-5).
BGR15 = 32-
BGR 15-bit packed BGR format (5-5-5).
UYVP = 33-
UYVP YUV 4:2:2 packed format with alpha.
A420 = 34-
A420 YUV 4:2:0 planar format with alpha.
RGB8P = 35-
RGB 8-bit paletted format.
YUV9 = 36-
YUV9 YUV 4:1:0 planar format.
YVU9 = 37-
YVU9 YUV 4:1:0 planar format (V and U planes swapped).
IYU1 = 38-
IYU1 YUV 4:1:1 packed format.
ARGB64 = 39-
ARGB 64-bit packed ARGB format (16 bits per channel).
AYUV64 = 40-
AYUV 64-bit packed AYUV format (16 bits per channel).
R210 = 41-
R210 10-bit RGB packed format.
I42010BE = 42-
I420 10-bit planar YUV 4:2:0, Big-Endian.
I42010LE = 43-
I420 10-bit planar YUV 4:2:0, Little-Endian.
I42210BE = 44-
I422 10-bit planar YUV 4:2:2, Big-Endian.
I42210LE = 45-
I422 10-bit planar YUV 4:2:2, Little-Endian.
Y44410BE = 46-
Y444 10-bit planar YUV 4:4:4, Big-Endian.
Y44410LE = 47-
Y444 10-bit planar YUV 4:4:4, Little-Endian.
GBR = 48-
GBR (Green, Blue, Red) planar format.
GBR10BE = 49-
GBR 10-bit planar, Big-Endian.
GBR10LE = 50-
GBR 10-bit planar, Little-Endian.
NV16 = 51-
NV16 YUV 4:2:2 planar format. Y plane first, followed by interleaved U/V plane.
NV24 = 52-
NV24 YUV 4:4:4 planar format. Y plane first, followed by interleaved U/V plane.
NV1264Z32 = 53-
NV12 64-bit Z32 format.
A42010BE = 54-
A420 10-bit planar YUV 4:2:0 with alpha, Big-Endian.
A42010LE = 55-
A420 10-bit planar YUV 4:2:0 with alpha, Little-Endian.
A42210BE = 56-
A422 10-bit planar YUV 4:2:2 with alpha, Big-Endian.
A42210LE = 57-
A422 10-bit planar YUV 4:2:2 with alpha, Little-Endian.
A44410BE = 58-
A444 10-bit planar YUV 4:4:4 with alpha, Big-Endian.
A44410LE = 59-
A444 10-bit planar YUV 4:4:4 with alpha, Little-Endian.
NV61 = 60-
NV61 YUV 4:2:2 planar format (V and U planes swapped).
P01010BE = 61-
P010 10-bit YUV 4:2:0 packed format, Big-Endian.
P01010LE = 62-
P010 10-bit YUV 4:2:0 packed format, Little-Endian.
IYU2 = 63-
IYU2 YUV 4:2:2 packed format.
VYUY = 64-
VYUY YUV 4:2:2 packed format (V, Y, U, Y).
GBRA = 65-
GBRA (Green, Blue, Red, Alpha) planar format.
GBRA10BE = 66-
GBRA 10-bit planar with alpha, Big-Endian.
GBRA10LE = 67-
GBRA 10-bit planar with alpha, Little-Endian.
GBR12BE = 68-
GBR 12-bit planar, Big-Endian.
GBR12LE = 69-
GBR 12-bit planar, Little-Endian.
GBRA12BE = 70-
GBRA 12-bit planar with alpha, Big-Endian.
GBRa12LE = 71-
GBRA 12-bit planar with alpha, Little-Endian.
I42012BE = 72-
I420 12-bit planar YUV 4:2:0, Big-Endian.
I42012LE = 73-
I420 12-bit planar YUV 4:2:0, Little-Endian.
I42212BE = 74-
I422 12-bit planar YUV 4:2:2, Big-Endian.
I42212LE = 75-
I422 12-bit planar YUV 4:2:2, Little-Endian.
Y44412BE = 76-
Y444 12-bit planar YUV 4:4:4, Big-Endian.
Y44412LE = 77-
Y444 12-bit planar YUV 4:4:4, Little-Endian.
Gray10LE32 = 78-
Gray 10-bit Little-Endian packed into 32-bit.
NV1210LE32 = 79-
NV12 10-bit Little-Endian packed into 32-bit.
NV1610LE32 = 80-
NV16 10-bit Little-Endian packed into 32-bit.
NV1210LE40 = 81-
NV12 10-bit Little-Endian packed into 40-bit.
Y210 = 82-
Y210 10-bit YUV 4:2:2 packed format.
Y410 = 83-
Y410 10-bit YUV 4:4:4 packed format.
VUYA = 84-
VUYA 32-bit packed VUYA format.
BGR10A2LE = 85-
BGR 10-bit A2 Little-Endian packed format.
RGB10A2LE = 86-
RGB 10-bit A2 Little-Endian packed format.
Y44416BE = 87-
Y444 16-bit planar YUV 4:4:4, Big-Endian.
Y44416LE = 88-
Y444 16-bit planar YUV 4:4:4, Little-Endian.
P016BE = 89-
P016 16-bit YUV 4:2:0 packed format, Big-Endian.
P016LE = 90-
P016 16-bit YUV 4:2:0 packed format, Little-Endian.
P012BE = 91-
P012 12-bit YUV 4:2:0 packed format, Big-Endian.
P012LE = 92-
P012 12-bit YUV 4:2:0 packed format, Little-Endian.
Y212BE = 93-
Y212 12-bit YUV 4:2:2 packed format, Big-Endian.
Y212LE = 94-
Y212 12-bit YUV 4:2:2 packed format, Little-Endian.
Y412BE = 95-
Y412 12-bit YUV 4:4:4 packed format, Big-Endian.
Y412LE = 96-
Y412 12-bit YUV 4:4:4 packed format, Little-Endian.
NV124L4 = 97-
NV12 4-plane 4-bit format.
NV1232L32 = 98-
NV12 32-bit L32 format.
Examples
// Example of specifying a video format for a MediaBlocks element.
// videoSource.OutputFormat = VideoFormatX.NV12;
// When processing raw video data, you would use this information to correctly interpret the pixel buffer.
// if (videoFrame.Format == VideoFormatX.RGB)
// {
// // Process 3 bytes per pixel (Red, Green, Blue)
// }
Remarks
These formats are crucial for ensuring compatibility and correct rendering across different video sources, processors, and displays. They include various YUV (planar and packed) and RGB formats, with different bit depths and channel arrangements.