public enum VideoPixelLayoutHow a decoded frame's samples are arranged in memory.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Planar and subsampled, because that is what every video codec in existence produces. A decoder that handed back packed BGRA would be doing a colour conversion the GPU does for free in the sampler, on the CPU, per frame — and at 1080p60 that conversion alone is a core.
The layouts here are the ones a container can actually name. Anything more exotic — 10-bit, 4:2:2 interleaved, tiled — is a codec's internal business and is converted to one of these before it becomes a VideoFrame.
Fields and properties (6)
UnknownNot a layout. What a default-constructed format has.
Grey8One 8-bit luma plane, no chroma. What a depth or alpha video is.
Yuv420Planar8-bit luma plus two 8-bit chroma planes at half width and half height — I420, the layout of essentially all delivered video.
Yuv422Planar8-bit luma plus two chroma planes at half width and full height.
Yuv444Planar8-bit luma plus two chroma planes at full resolution. No subsampling.
Bgra8One plane of packed BGRA bytes. Not what a codec produces; what an uncompressed capture or a CPU conversion does.
Used by (17)
- ColourRoundTripTestsVixen.Video.Tests
- CountingFactoryVixen.Video.Tests
- StarvedDecoderVixen.Video.Tests
- StepDecoderVixen.Video.Tests
- UncompressedVideoCodecVixen.Video
- UncompressedVideoCodecFactoryVixen.Video
- VideoColourConversionVixen.Video
- VideoColourConversionTestsVixen.Video.Tests
- VideoConstantsVixen.Video.Rendering
- VideoConstantsTestsVixen.Video.Rendering.Tests
- VideoFormatVixen.Video
- VideoFrameVixen.Video
- VideoFrameTestsVixen.Video.Tests
- VideoRendererTestsVixen.Video.Rendering.Tests
- VideoTextureVixen.Video
- VideoTextureTestsVixen.Video.Tests
- WebMVideoStreamDecoderTestsVixen.Video.Tests