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, // some variants omitted
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)
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 Self::Nv12
, packed into 32bit words (MSB 2 bits padding) (Since: 1.14)
v1_14
only.10-bit variant of Self::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.
Implementations
impl VideoFormat
[src]
impl VideoFormat
[src]pub fn from_fourcc(fourcc: u32) -> VideoFormat
[src]
pub fn from_string(format: &str) -> VideoFormat
[src]
pub fn to_fourcc(self) -> u32
[src]
impl VideoFormat
[src]
impl VideoFormat
[src]pub fn from_masks(
depth: u32,
bpp: u32,
endianness: VideoEndianness,
red_mask: u32,
blue_mask: u32,
green_mask: u32,
alpha_mask: u32
) -> Self
[src]
depth: u32,
bpp: u32,
endianness: VideoEndianness,
red_mask: u32,
blue_mask: u32,
green_mask: u32,
alpha_mask: u32
) -> Self
pub fn to_str<'a>(self) -> &'a str
[src]
pub fn iter_raw() -> VideoFormatIteratorⓘNotable traits for VideoFormatIterator
impl Iterator for VideoFormatIterator type Item = VideoFormat;
[src]
Notable traits for VideoFormatIterator
impl Iterator for VideoFormatIterator type Item = VideoFormat;
Trait Implementations
impl Clone for VideoFormat
[src]
impl Clone for VideoFormat
[src]fn clone(&self) -> VideoFormat
[src]
fn clone(&self) -> VideoFormat
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for VideoFormat
[src]
impl Debug for VideoFormat
[src]impl Display for VideoFormat
[src]
impl Display for VideoFormat
[src]impl From<VideoFormat> for VideoFormatInfo
[src]
impl From<VideoFormat> for VideoFormatInfo
[src]fn from(f: VideoFormat) -> Self
[src]
fn from(f: VideoFormat) -> Self
[src]Performs the conversion.
impl FromStr for VideoFormat
[src]
impl FromStr for VideoFormat
[src]impl<'a> FromValue<'a> for VideoFormat
[src]
impl<'a> FromValue<'a> for VideoFormat
[src]type Checker = GenericValueTypeChecker<Self>
type Checker = GenericValueTypeChecker<Self>
Value type checker.
unsafe fn from_value(value: &'a Value) -> Self
[src]
unsafe fn from_value(value: &'a Value) -> Self
[src]Get the contained value from a Value
. Read more
impl Hash for VideoFormat
[src]
impl Hash for VideoFormat
[src]impl Ord for VideoFormat
[src]
impl Ord for VideoFormat
[src]impl PartialEq<VideoFormat> for VideoFormat
[src]
impl PartialEq<VideoFormat> for VideoFormat
[src]fn eq(&self, other: &VideoFormat) -> bool
[src]
fn eq(&self, other: &VideoFormat) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &VideoFormat) -> bool
[src]
fn ne(&self, other: &VideoFormat) -> bool
[src]This method tests for !=
.
impl PartialOrd<VideoFormat> for VideoFormat
[src]
impl PartialOrd<VideoFormat> for VideoFormat
[src]fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl StaticType for VideoFormat
[src]
impl StaticType for VideoFormat
[src]fn static_type() -> Type
[src]
fn static_type() -> Type
[src]Returns the type identifier of Self
.
impl ToValue for VideoFormat
[src]
impl ToValue for VideoFormat
[src]impl ValueType for VideoFormat
[src]
impl ValueType for VideoFormat
[src]impl Copy for VideoFormat
[src]
impl Eq for VideoFormat
[src]
impl StructuralEq for VideoFormat
[src]
impl StructuralPartialEq for VideoFormat
[src]
Auto Trait Implementations
impl RefUnwindSafe for VideoFormat
impl Send for VideoFormat
impl Sync for VideoFormat
impl Unpin for VideoFormat
impl UnwindSafe for VideoFormat
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> ToSendValue for T where
T: Send + ToValue + ?Sized,
[src]
impl<T> ToSendValue for T where
T: Send + ToValue + ?Sized,
[src]pub fn to_send_value(&self) -> SendValue
[src]
pub fn to_send_value(&self) -> SendValue
[src]Returns a SendValue
clone of self
.