#[non_exhaustive]pub enum FormatCategory {
Packed,
Planar420,
SemiPlanar420,
PackedAlpha,
SemiPlanar422,
SemiPlanar422Alpha,
}Expand description
Category of pixel format for buffer calculation and union field access.
This enum distinguishes between different memory layouts:
- Packed: All pixel components are interleaved in a single buffer
- Planar420: Y, U, V planes stored separately with 4:2:0 chroma subsampling
- SemiPlanar420: Y plane followed by interleaved UV plane (NV12)
- PackedAlpha: Packed 4:2:2 plane followed by an 8-bit alpha plane (UYVA)
- SemiPlanar422: 16-bit Y plane followed by interleaved CbCr plane (P216)
- SemiPlanar422Alpha:
FormatCategory::SemiPlanar422followed by a 16-bit alpha plane (PA16)
This enum is marked #[non_exhaustive] because the NDI SDK’s video FourCC
namespace is open and grows across releases; future formats may introduce
additional memory-layout categories.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Packed
Packed formats: simple stride * height buffer.
Planar420
Planar 4:2:0 with separate U and V planes (YV12, I420).
SemiPlanar420
Semi-planar 4:2:0 with interleaved UV plane (NV12).
PackedAlpha
Packed UYVY plane followed by an 8-bit alpha plane whose stride is half the line stride (UYVA).
SemiPlanar422
Semi-planar 4:2:2 with a 16-bit Y plane followed by an interleaved 16-bit CbCr plane, both full height at the line stride (P216).
SemiPlanar422Alpha
FormatCategory::SemiPlanar422 followed by a 16-bit alpha plane at
the line stride (PA16).
Trait Implementations§
Source§impl Clone for FormatCategory
impl Clone for FormatCategory
Source§fn clone(&self) -> FormatCategory
fn clone(&self) -> FormatCategory
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more