Vixen
02b45cc4
csharp
public enum VideoPixelLayout

How 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)

  • Unknown

    Not a layout. What a default-constructed format has.

  • Grey8

    One 8-bit luma plane, no chroma. What a depth or alpha video is.

  • Yuv420Planar

    8-bit luma plus two 8-bit chroma planes at half width and half height — I420, the layout of essentially all delivered video.

  • Yuv422Planar

    8-bit luma plus two chroma planes at half width and full height.

  • Yuv444Planar

    8-bit luma plus two chroma planes at full resolution. No subsampling.

  • Bgra8

    One 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