Enum gstreamer_video::VideoFormat [−][src]
#[non_exhaustive]
pub enum VideoFormat {
Show variants
Unknown,
Encoded,
I420,
Yv12,
Yuy2,
Uyvy,
Ayuv,
Rgbx,
Bgrx,
Xrgb,
Xbgr,
Rgba,
Bgra,
Argb,
Abgr,
Rgb,
Bgr,
Y41b,
Y42b,
Yvyu,
Y444,
V210,
V216,
Nv12,
Nv21,
Gray8,
Gray16Be,
Gray16Le,
V308,
Rgb16,
Bgr16,
Rgb15,
Bgr15,
Uyvp,
A420,
Rgb8p,
Yuv9,
Yvu9,
Iyu1,
Argb64,
Ayuv64,
R210,
I42010be,
I42010le,
I42210be,
I42210le,
Y44410be,
Y44410le,
Gbr,
Gbr10be,
Gbr10le,
Nv16,
Nv24,
Nv1264z32,
A42010be,
A42010le,
A42210be,
A42210le,
A44410be,
A44410le,
Nv61,
P01010be,
P01010le,
Iyu2,
Vyuy,
Gbra,
Gbra10be,
Gbra10le,
Gbr12be,
Gbr12le,
Gbra12be,
Gbra12le,
I42012be,
I42012le,
I42212be,
I42212le,
Y44412be,
Y44412le,
Gray10Le32,
Nv1210le32,
Nv1610le32,
Nv1210le40,
Y210,
Y410,
Vuya,
Bgr10a2Le,
Rgb10a2Le,
Y44416be,
Y44416le,
P016Be,
P016Le,
P012Be,
P012Le,
Y212Be,
Y212Le,
Y412Be,
Y412Le,
Nv124l4,
Nv1232l32,
Rgbp,
Bgrp,
Av12,
// some variants omitted
}Expand description
Enum value describing the most common video formats.
See the GStreamer raw video format design document for details about the layout and packing of these formats in memory.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Unknown or unset video format id
Encoded video format. Only ever use that in caps for special video formats in combination with non-system memory GstCapsFeatures where it does not make sense to specify a real video format.
planar 4:2:0 YUV
planar 4:2:0 YVU (like I420 but UV planes swapped)
packed 4:2:2 YUV (Y0-U0-Y1-V0 Y2-U2-Y3-V2 Y4 …)
packed 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 …)
packed 4:4:4 YUV with alpha channel (A0-Y0-U0-V0 …)
sparse rgb packed into 32 bit, space last
sparse reverse rgb packed into 32 bit, space last
sparse rgb packed into 32 bit, space first
sparse reverse rgb packed into 32 bit, space first
rgb with alpha channel last
reverse rgb with alpha channel last
rgb with alpha channel first
reverse rgb with alpha channel first
RGB packed into 24 bits without padding (R-G-B-R-G-B)
reverse RGB packed into 24 bits without padding (B-G-R-B-G-R)
planar 4:1:1 YUV
planar 4:2:2 YUV
packed 4:2:2 YUV (Y0-V0-Y1-U0 Y2-V2-Y3-U2 Y4 …)
planar 4:4:4 YUV
packed 4:2:2 10-bit YUV, complex format
packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order
planar 4:2:0 YUV with interleaved UV plane
planar 4:2:0 YUV with interleaved VU plane
8-bit grayscale
16-bit grayscale, most significant byte first
16-bit grayscale, least significant byte first
packed 4:4:4 YUV (Y-U-V …)
rgb 5-6-5 bits per component
reverse rgb 5-6-5 bits per component
rgb 5-5-5 bits per component
reverse rgb 5-5-5 bits per component
packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 …)
planar 4:4:2:0 AYUV
8-bit paletted RGB
planar 4:1:0 YUV
planar 4:1:0 YUV (like YUV9 but UV planes swapped)
packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 …)
rgb with alpha channel first, 16 bits per channel
packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 …)
packed 4:4:4 RGB, 10 bits per channel
planar 4:2:0 YUV, 10 bits per channel
planar 4:2:0 YUV, 10 bits per channel
planar 4:2:2 YUV, 10 bits per channel
planar 4:2:2 YUV, 10 bits per channel
planar 4:4:4 YUV, 10 bits per channel (Since: 1.2)
planar 4:4:4 YUV, 10 bits per channel (Since: 1.2)
planar 4:4:4 RGB, 8 bits per channel (Since: 1.2)
planar 4:4:4 RGB, 10 bits per channel (Since: 1.2)
planar 4:4:4 RGB, 10 bits per channel (Since: 1.2)
planar 4:2:2 YUV with interleaved UV plane (Since: 1.2)
planar 4:4:4 YUV with interleaved UV plane (Since: 1.2)
NV12 with 64x32 tiling in zigzag pattern (Since: 1.4)
planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6)
planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6)
planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6)
planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6)
planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6)
planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6)
planar 4:2:2 YUV with interleaved VU plane (Since: 1.6)
v1_10 only.planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10)
v1_10 only.planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10)
v1_10 only.packed 4:4:4 YUV (U-Y-V …) (Since: 1.10)
v1_12 only.packed 4:2:2 YUV (V0-Y0-U0-Y1 V2-Y2-U2-Y3 V4 …)
v1_12 only.planar 4:4:4:4 ARGB, 8 bits per channel (Since: 1.12)
v1_12 only.planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12)
v1_12 only.planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12)
v1_12 only.planar 4:4:4 RGB, 12 bits per channel (Since: 1.12)
v1_12 only.planar 4:4:4 RGB, 12 bits per channel (Since: 1.12)
v1_12 only.planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12)
v1_12 only.planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12)
v1_12 only.planar 4:2:0 YUV, 12 bits per channel (Since: 1.12)
v1_12 only.planar 4:2:0 YUV, 12 bits per channel (Since: 1.12)
v1_12 only.planar 4:2:2 YUV, 12 bits per channel (Since: 1.12)
v1_12 only.planar 4:2:2 YUV, 12 bits per channel (Since: 1.12)
v1_12 only.planar 4:4:4 YUV, 12 bits per channel (Since: 1.12)
v1_12 only.planar 4:4:4 YUV, 12 bits per channel (Since: 1.12)
v1_14 only.10-bit grayscale, packed into 32bit words (2 bits padding) (Since: 1.14)
v1_14 only.10-bit variant of Nv12, packed into 32bit words (MSB 2 bits padding) (Since: 1.14)
v1_14 only.10-bit variant of Nv16, packed into 32bit words (MSB 2 bits padding) (Since: 1.14)
v1_16 only.Fully packed variant of NV12_10LE32 (Since: 1.16)
v1_16 only.packed 4:2:2 YUV, 10 bits per channel (Since: 1.16)
v1_16 only.packed 4:4:4 YUV, 10 bits per channel(A-V-Y-U…) (Since: 1.16)
v1_16 only.packed 4:4:4 YUV with alpha channel (V0-U0-Y0-A0…) (Since: 1.16)
v1_16 only.packed 4:4:4 RGB with alpha channel(B-G-R-A), 10 bits for R/G/B channel and MSB 2 bits for alpha channel (Since: 1.16)
v1_18 only.packed 4:4:4 RGB with alpha channel(R-G-B-A), 10 bits for R/G/B channel and MSB 2 bits for alpha channel (Since: 1.18)
v1_18 only.planar 4:4:4 YUV, 16 bits per channel (Since: 1.18)
v1_18 only.planar 4:4:4 YUV, 16 bits per channel (Since: 1.18)
v1_18 only.planar 4:2:0 YUV with interleaved UV plane, 16 bits per channel (Since: 1.18)
v1_18 only.planar 4:2:0 YUV with interleaved UV plane, 16 bits per channel (Since: 1.18)
v1_18 only.planar 4:2:0 YUV with interleaved UV plane, 12 bits per channel (Since: 1.18)
v1_18 only.planar 4:2:0 YUV with interleaved UV plane, 12 bits per channel (Since: 1.18)
v1_18 only.packed 4:2:2 YUV, 12 bits per channel (Y-U-Y-V) (Since: 1.18)
v1_18 only.packed 4:2:2 YUV, 12 bits per channel (Y-U-Y-V) (Since: 1.18)
v1_18 only.packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A…) (Since: 1.18)
v1_18 only.packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A…) (Since: 1.18)
v1_18 only.NV12 with 4x4 tiles in linear order.
v1_18 only.NV12 with 32x32 tiles in linear order.
v1_20 only.Planar 4:4:4 RGB, R-G-B order
v1_20 only.Planar 4:4:4 RGB, B-G-R order
v1_20 only.Planar 4:2:0 YUV with interleaved UV plane with alpha as 3rd plane.
Implementations
pub fn from_masks(
depth: u32,
bpp: u32,
endianness: VideoEndianness,
red_mask: u32,
blue_mask: u32,
green_mask: u32,
alpha_mask: u32
) -> Self[src]pub fn iter_raw() -> VideoFormatIteratorⓘNotable traits for VideoFormatIterator
impl Iterator for VideoFormatIterator type Item = VideoFormat;[src]Trait Implementations
Performs the conversion.
type Checker = GenericValueTypeChecker<Self>
type Checker = GenericValueTypeChecker<Self>Value type checker.
Get the contained value from a Value. Read more
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
Returns the type identifier of Self.
Auto Trait Implementations
impl RefUnwindSafe for VideoFormatimpl Send for VideoFormatimpl Sync for VideoFormatimpl Unpin for VideoFormatimpl UnwindSafe for VideoFormatBlanket Implementations
Mutably borrows from an owned value. Read more
Returns a SendValue clone of self.