gstreamer-rs/gstreamer-video/src/auto/enums.rs

2094 lines
74 KiB
Rust

// This file was generated by gir (https://github.com/gtk-rs/gir)
// from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT
use glib::translate::*;
use glib::value::FromValue;
use glib::value::FromValueOptional;
use glib::value::SetValue;
use glib::StaticType;
use glib::Type;
use std::ffi::CStr;
use std::fmt;
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoAFDSpec {
DvbEtsi,
AtscA53,
SmpteSt20161,
#[doc(hidden)]
__Unknown(i32),
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
#[doc(hidden)]
impl ToGlib for VideoAFDSpec {
type GlibType = ffi::GstVideoAFDSpec;
fn to_glib(&self) -> ffi::GstVideoAFDSpec {
match *self {
VideoAFDSpec::DvbEtsi => ffi::GST_VIDEO_AFD_SPEC_DVB_ETSI,
VideoAFDSpec::AtscA53 => ffi::GST_VIDEO_AFD_SPEC_ATSC_A53,
VideoAFDSpec::SmpteSt20161 => ffi::GST_VIDEO_AFD_SPEC_SMPTE_ST2016_1,
VideoAFDSpec::__Unknown(value) => value,
}
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
#[doc(hidden)]
impl FromGlib<ffi::GstVideoAFDSpec> for VideoAFDSpec {
fn from_glib(value: ffi::GstVideoAFDSpec) -> Self {
skip_assert_initialized!();
match value {
0 => VideoAFDSpec::DvbEtsi,
1 => VideoAFDSpec::AtscA53,
2 => VideoAFDSpec::SmpteSt20161,
value => VideoAFDSpec::__Unknown(value),
}
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
impl StaticType for VideoAFDSpec {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_afd_spec_get_type()) }
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
impl<'a> FromValueOptional<'a> for VideoAFDSpec {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
impl<'a> FromValue<'a> for VideoAFDSpec {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
impl SetValue for VideoAFDSpec {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoAFDValue {
Unavailable,
_169TopAligned,
_149TopAligned,
GreaterThan169,
_43Full169Full,
_43Full43Pillar,
_169Letter169Full,
_149Letter149Pillar,
_43Full149Center,
_169Letter149Center,
_169Letter43Center,
#[doc(hidden)]
__Unknown(i32),
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
#[doc(hidden)]
impl ToGlib for VideoAFDValue {
type GlibType = ffi::GstVideoAFDValue;
fn to_glib(&self) -> ffi::GstVideoAFDValue {
match *self {
VideoAFDValue::Unavailable => ffi::GST_VIDEO_AFD_UNAVAILABLE,
VideoAFDValue::_169TopAligned => ffi::GST_VIDEO_AFD_16_9_TOP_ALIGNED,
VideoAFDValue::_149TopAligned => ffi::GST_VIDEO_AFD_14_9_TOP_ALIGNED,
VideoAFDValue::GreaterThan169 => ffi::GST_VIDEO_AFD_GREATER_THAN_16_9,
VideoAFDValue::_43Full169Full => ffi::GST_VIDEO_AFD_4_3_FULL_16_9_FULL,
VideoAFDValue::_43Full43Pillar => ffi::GST_VIDEO_AFD_4_3_FULL_4_3_PILLAR,
VideoAFDValue::_169Letter169Full => ffi::GST_VIDEO_AFD_16_9_LETTER_16_9_FULL,
VideoAFDValue::_149Letter149Pillar => ffi::GST_VIDEO_AFD_14_9_LETTER_14_9_PILLAR,
VideoAFDValue::_43Full149Center => ffi::GST_VIDEO_AFD_4_3_FULL_14_9_CENTER,
VideoAFDValue::_169Letter149Center => ffi::GST_VIDEO_AFD_16_9_LETTER_14_9_CENTER,
VideoAFDValue::_169Letter43Center => ffi::GST_VIDEO_AFD_16_9_LETTER_4_3_CENTER,
VideoAFDValue::__Unknown(value) => value,
}
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
#[doc(hidden)]
impl FromGlib<ffi::GstVideoAFDValue> for VideoAFDValue {
fn from_glib(value: ffi::GstVideoAFDValue) -> Self {
skip_assert_initialized!();
match value {
0 => VideoAFDValue::Unavailable,
2 => VideoAFDValue::_169TopAligned,
3 => VideoAFDValue::_149TopAligned,
4 => VideoAFDValue::GreaterThan169,
8 => VideoAFDValue::_43Full169Full,
9 => VideoAFDValue::_43Full43Pillar,
10 => VideoAFDValue::_169Letter169Full,
11 => VideoAFDValue::_149Letter149Pillar,
13 => VideoAFDValue::_43Full149Center,
14 => VideoAFDValue::_169Letter149Center,
15 => VideoAFDValue::_169Letter43Center,
value => VideoAFDValue::__Unknown(value),
}
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
impl StaticType for VideoAFDValue {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_afd_value_get_type()) }
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
impl<'a> FromValueOptional<'a> for VideoAFDValue {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
impl<'a> FromValue<'a> for VideoAFDValue {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
impl SetValue for VideoAFDValue {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoAlphaMode {
Copy,
Set,
Mult,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl ToGlib for VideoAlphaMode {
type GlibType = ffi::GstVideoAlphaMode;
fn to_glib(&self) -> ffi::GstVideoAlphaMode {
match *self {
VideoAlphaMode::Copy => ffi::GST_VIDEO_ALPHA_MODE_COPY,
VideoAlphaMode::Set => ffi::GST_VIDEO_ALPHA_MODE_SET,
VideoAlphaMode::Mult => ffi::GST_VIDEO_ALPHA_MODE_MULT,
VideoAlphaMode::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoAlphaMode> for VideoAlphaMode {
fn from_glib(value: ffi::GstVideoAlphaMode) -> Self {
skip_assert_initialized!();
match value {
0 => VideoAlphaMode::Copy,
1 => VideoAlphaMode::Set,
2 => VideoAlphaMode::Mult,
value => VideoAlphaMode::__Unknown(value),
}
}
}
impl StaticType for VideoAlphaMode {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_alpha_mode_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoAlphaMode {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoAlphaMode {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoAlphaMode {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoCaptionType {
Unknown,
Cea608Raw,
Cea608S3341a,
Cea708Raw,
Cea708Cdp,
#[doc(hidden)]
__Unknown(i32),
}
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
impl VideoCaptionType {
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
pub fn from_caps(caps: &gst::Caps) -> VideoCaptionType {
assert_initialized_main_thread!();
unsafe { from_glib(ffi::gst_video_caption_type_from_caps(caps.to_glib_none().0)) }
}
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
pub fn to_caps(self) -> Option<gst::Caps> {
assert_initialized_main_thread!();
unsafe { from_glib_full(ffi::gst_video_caption_type_to_caps(self.to_glib())) }
}
}
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
#[doc(hidden)]
impl ToGlib for VideoCaptionType {
type GlibType = ffi::GstVideoCaptionType;
fn to_glib(&self) -> ffi::GstVideoCaptionType {
match *self {
VideoCaptionType::Unknown => ffi::GST_VIDEO_CAPTION_TYPE_UNKNOWN,
VideoCaptionType::Cea608Raw => ffi::GST_VIDEO_CAPTION_TYPE_CEA608_RAW,
VideoCaptionType::Cea608S3341a => ffi::GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A,
VideoCaptionType::Cea708Raw => ffi::GST_VIDEO_CAPTION_TYPE_CEA708_RAW,
VideoCaptionType::Cea708Cdp => ffi::GST_VIDEO_CAPTION_TYPE_CEA708_CDP,
VideoCaptionType::__Unknown(value) => value,
}
}
}
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
#[doc(hidden)]
impl FromGlib<ffi::GstVideoCaptionType> for VideoCaptionType {
fn from_glib(value: ffi::GstVideoCaptionType) -> Self {
skip_assert_initialized!();
match value {
0 => VideoCaptionType::Unknown,
1 => VideoCaptionType::Cea608Raw,
2 => VideoCaptionType::Cea608S3341a,
3 => VideoCaptionType::Cea708Raw,
4 => VideoCaptionType::Cea708Cdp,
value => VideoCaptionType::__Unknown(value),
}
}
}
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
impl StaticType for VideoCaptionType {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_caption_type_get_type()) }
}
}
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
impl<'a> FromValueOptional<'a> for VideoCaptionType {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
impl<'a> FromValue<'a> for VideoCaptionType {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
impl SetValue for VideoCaptionType {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoChromaMode {
Full,
UpsampleOnly,
DownsampleOnly,
None,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl ToGlib for VideoChromaMode {
type GlibType = ffi::GstVideoChromaMode;
fn to_glib(&self) -> ffi::GstVideoChromaMode {
match *self {
VideoChromaMode::Full => ffi::GST_VIDEO_CHROMA_MODE_FULL,
VideoChromaMode::UpsampleOnly => ffi::GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY,
VideoChromaMode::DownsampleOnly => ffi::GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY,
VideoChromaMode::None => ffi::GST_VIDEO_CHROMA_MODE_NONE,
VideoChromaMode::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoChromaMode> for VideoChromaMode {
fn from_glib(value: ffi::GstVideoChromaMode) -> Self {
skip_assert_initialized!();
match value {
0 => VideoChromaMode::Full,
1 => VideoChromaMode::UpsampleOnly,
2 => VideoChromaMode::DownsampleOnly,
3 => VideoChromaMode::None,
value => VideoChromaMode::__Unknown(value),
}
}
}
impl StaticType for VideoChromaMode {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_chroma_mode_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoChromaMode {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoChromaMode {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoChromaMode {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoColorMatrix {
Unknown,
Rgb,
Fcc,
Bt709,
Bt601,
Smpte240m,
Bt2020,
#[doc(hidden)]
__Unknown(i32),
}
impl VideoColorMatrix {
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn from_iso(value: u32) -> VideoColorMatrix {
assert_initialized_main_thread!();
unsafe { from_glib(ffi::gst_video_color_matrix_from_iso(value)) }
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn to_iso(self) -> u32 {
assert_initialized_main_thread!();
unsafe { ffi::gst_video_color_matrix_to_iso(self.to_glib()) }
}
}
#[doc(hidden)]
impl ToGlib for VideoColorMatrix {
type GlibType = ffi::GstVideoColorMatrix;
fn to_glib(&self) -> ffi::GstVideoColorMatrix {
match *self {
VideoColorMatrix::Unknown => ffi::GST_VIDEO_COLOR_MATRIX_UNKNOWN,
VideoColorMatrix::Rgb => ffi::GST_VIDEO_COLOR_MATRIX_RGB,
VideoColorMatrix::Fcc => ffi::GST_VIDEO_COLOR_MATRIX_FCC,
VideoColorMatrix::Bt709 => ffi::GST_VIDEO_COLOR_MATRIX_BT709,
VideoColorMatrix::Bt601 => ffi::GST_VIDEO_COLOR_MATRIX_BT601,
VideoColorMatrix::Smpte240m => ffi::GST_VIDEO_COLOR_MATRIX_SMPTE240M,
VideoColorMatrix::Bt2020 => ffi::GST_VIDEO_COLOR_MATRIX_BT2020,
VideoColorMatrix::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoColorMatrix> for VideoColorMatrix {
fn from_glib(value: ffi::GstVideoColorMatrix) -> Self {
skip_assert_initialized!();
match value {
0 => VideoColorMatrix::Unknown,
1 => VideoColorMatrix::Rgb,
2 => VideoColorMatrix::Fcc,
3 => VideoColorMatrix::Bt709,
4 => VideoColorMatrix::Bt601,
5 => VideoColorMatrix::Smpte240m,
6 => VideoColorMatrix::Bt2020,
value => VideoColorMatrix::__Unknown(value),
}
}
}
impl StaticType for VideoColorMatrix {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_color_matrix_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoColorMatrix {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoColorMatrix {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoColorMatrix {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoColorPrimaries {
Unknown,
Bt709,
Bt470m,
Bt470bg,
Smpte170m,
Smpte240m,
Film,
Bt2020,
Adobergb,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Smptest428,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Smpterp431,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Smpteeg432,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Ebu3213,
#[doc(hidden)]
__Unknown(i32),
}
impl VideoColorPrimaries {
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn from_iso(value: u32) -> VideoColorPrimaries {
assert_initialized_main_thread!();
unsafe { from_glib(ffi::gst_video_color_primaries_from_iso(value)) }
}
//pub fn get_info(self) -> /*Ignored*/Option<VideoColorPrimariesInfo> {
// unsafe { TODO: call ffi:gst_video_color_primaries_get_info() }
//}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn to_iso(self) -> u32 {
assert_initialized_main_thread!();
unsafe { ffi::gst_video_color_primaries_to_iso(self.to_glib()) }
}
}
#[doc(hidden)]
impl ToGlib for VideoColorPrimaries {
type GlibType = ffi::GstVideoColorPrimaries;
fn to_glib(&self) -> ffi::GstVideoColorPrimaries {
match *self {
VideoColorPrimaries::Unknown => ffi::GST_VIDEO_COLOR_PRIMARIES_UNKNOWN,
VideoColorPrimaries::Bt709 => ffi::GST_VIDEO_COLOR_PRIMARIES_BT709,
VideoColorPrimaries::Bt470m => ffi::GST_VIDEO_COLOR_PRIMARIES_BT470M,
VideoColorPrimaries::Bt470bg => ffi::GST_VIDEO_COLOR_PRIMARIES_BT470BG,
VideoColorPrimaries::Smpte170m => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTE170M,
VideoColorPrimaries::Smpte240m => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTE240M,
VideoColorPrimaries::Film => ffi::GST_VIDEO_COLOR_PRIMARIES_FILM,
VideoColorPrimaries::Bt2020 => ffi::GST_VIDEO_COLOR_PRIMARIES_BT2020,
VideoColorPrimaries::Adobergb => ffi::GST_VIDEO_COLOR_PRIMARIES_ADOBERGB,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoColorPrimaries::Smptest428 => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTEST428,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoColorPrimaries::Smpterp431 => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTERP431,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoColorPrimaries::Smpteeg432 => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTEEG432,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoColorPrimaries::Ebu3213 => ffi::GST_VIDEO_COLOR_PRIMARIES_EBU3213,
VideoColorPrimaries::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoColorPrimaries> for VideoColorPrimaries {
fn from_glib(value: ffi::GstVideoColorPrimaries) -> Self {
skip_assert_initialized!();
match value {
0 => VideoColorPrimaries::Unknown,
1 => VideoColorPrimaries::Bt709,
2 => VideoColorPrimaries::Bt470m,
3 => VideoColorPrimaries::Bt470bg,
4 => VideoColorPrimaries::Smpte170m,
5 => VideoColorPrimaries::Smpte240m,
6 => VideoColorPrimaries::Film,
7 => VideoColorPrimaries::Bt2020,
8 => VideoColorPrimaries::Adobergb,
#[cfg(any(feature = "v1_16", feature = "dox"))]
9 => VideoColorPrimaries::Smptest428,
#[cfg(any(feature = "v1_16", feature = "dox"))]
10 => VideoColorPrimaries::Smpterp431,
#[cfg(any(feature = "v1_16", feature = "dox"))]
11 => VideoColorPrimaries::Smpteeg432,
#[cfg(any(feature = "v1_16", feature = "dox"))]
12 => VideoColorPrimaries::Ebu3213,
value => VideoColorPrimaries::__Unknown(value),
}
}
}
impl StaticType for VideoColorPrimaries {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_color_primaries_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoColorPrimaries {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoColorPrimaries {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoColorPrimaries {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoDitherMethod {
None,
Verterr,
FloydSteinberg,
SierraLite,
Bayer,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl ToGlib for VideoDitherMethod {
type GlibType = ffi::GstVideoDitherMethod;
fn to_glib(&self) -> ffi::GstVideoDitherMethod {
match *self {
VideoDitherMethod::None => ffi::GST_VIDEO_DITHER_NONE,
VideoDitherMethod::Verterr => ffi::GST_VIDEO_DITHER_VERTERR,
VideoDitherMethod::FloydSteinberg => ffi::GST_VIDEO_DITHER_FLOYD_STEINBERG,
VideoDitherMethod::SierraLite => ffi::GST_VIDEO_DITHER_SIERRA_LITE,
VideoDitherMethod::Bayer => ffi::GST_VIDEO_DITHER_BAYER,
VideoDitherMethod::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoDitherMethod> for VideoDitherMethod {
fn from_glib(value: ffi::GstVideoDitherMethod) -> Self {
skip_assert_initialized!();
match value {
0 => VideoDitherMethod::None,
1 => VideoDitherMethod::Verterr,
2 => VideoDitherMethod::FloydSteinberg,
3 => VideoDitherMethod::SierraLite,
4 => VideoDitherMethod::Bayer,
value => VideoDitherMethod::__Unknown(value),
}
}
}
impl StaticType for VideoDitherMethod {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_dither_method_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoDitherMethod {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoDitherMethod {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoDitherMethod {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoFieldOrder {
Unknown,
TopFieldFirst,
BottomFieldFirst,
#[doc(hidden)]
__Unknown(i32),
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
impl VideoFieldOrder {
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn from_string(order: &str) -> VideoFieldOrder {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::gst_video_field_order_from_string(
order.to_glib_none().0,
))
}
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
impl fmt::Display for VideoFieldOrder {
#[inline]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str(&self.to_str())
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(hidden)]
impl ToGlib for VideoFieldOrder {
type GlibType = ffi::GstVideoFieldOrder;
fn to_glib(&self) -> ffi::GstVideoFieldOrder {
match *self {
VideoFieldOrder::Unknown => ffi::GST_VIDEO_FIELD_ORDER_UNKNOWN,
VideoFieldOrder::TopFieldFirst => ffi::GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST,
VideoFieldOrder::BottomFieldFirst => ffi::GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST,
VideoFieldOrder::__Unknown(value) => value,
}
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(hidden)]
impl FromGlib<ffi::GstVideoFieldOrder> for VideoFieldOrder {
fn from_glib(value: ffi::GstVideoFieldOrder) -> Self {
skip_assert_initialized!();
match value {
0 => VideoFieldOrder::Unknown,
1 => VideoFieldOrder::TopFieldFirst,
2 => VideoFieldOrder::BottomFieldFirst,
value => VideoFieldOrder::__Unknown(value),
}
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
impl StaticType for VideoFieldOrder {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_field_order_get_type()) }
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
impl<'a> FromValueOptional<'a> for VideoFieldOrder {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
impl<'a> FromValue<'a> for VideoFieldOrder {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
impl SetValue for VideoFieldOrder {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoFormat {
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,
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
P01010be,
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
P01010le,
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
Iyu2,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Vyuy,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Gbra,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Gbra10be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Gbra10le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Gbr12be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Gbr12le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Gbra12be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Gbra12le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
I42012be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
I42012le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
I42212be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
I42212le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Y44412be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
Y44412le,
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
Gray10Le32,
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
Nv1210le32,
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
Nv1610le32,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Nv1210le40,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Y210,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Y410,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Vuya,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Bgr10a2Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Rgb10a2Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Y44416be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Y44416le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
P016Be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
P016Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
P012Be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
P012Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Y212Be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Y212Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Y412Be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Y412Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Nv124l4,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Nv1232l32,
#[doc(hidden)]
__Unknown(i32),
}
impl VideoFormat {
pub fn from_fourcc(fourcc: u32) -> VideoFormat {
assert_initialized_main_thread!();
unsafe { from_glib(ffi::gst_video_format_from_fourcc(fourcc)) }
}
pub fn from_string(format: &str) -> VideoFormat {
assert_initialized_main_thread!();
unsafe { from_glib(ffi::gst_video_format_from_string(format.to_glib_none().0)) }
}
//pub fn get_palette(self) -> (/*Unimplemented*/Option<Fundamental: Pointer>, usize) {
// unsafe { TODO: call ffi:gst_video_format_get_palette() }
//}
pub fn to_fourcc(self) -> u32 {
assert_initialized_main_thread!();
unsafe { ffi::gst_video_format_to_fourcc(self.to_glib()) }
}
}
impl fmt::Display for VideoFormat {
#[inline]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str(&self.to_str())
}
}
#[doc(hidden)]
impl ToGlib for VideoFormat {
type GlibType = ffi::GstVideoFormat;
fn to_glib(&self) -> ffi::GstVideoFormat {
match *self {
VideoFormat::Unknown => ffi::GST_VIDEO_FORMAT_UNKNOWN,
VideoFormat::Encoded => ffi::GST_VIDEO_FORMAT_ENCODED,
VideoFormat::I420 => ffi::GST_VIDEO_FORMAT_I420,
VideoFormat::Yv12 => ffi::GST_VIDEO_FORMAT_YV12,
VideoFormat::Yuy2 => ffi::GST_VIDEO_FORMAT_YUY2,
VideoFormat::Uyvy => ffi::GST_VIDEO_FORMAT_UYVY,
VideoFormat::Ayuv => ffi::GST_VIDEO_FORMAT_AYUV,
VideoFormat::Rgbx => ffi::GST_VIDEO_FORMAT_RGBx,
VideoFormat::Bgrx => ffi::GST_VIDEO_FORMAT_BGRx,
VideoFormat::Xrgb => ffi::GST_VIDEO_FORMAT_xRGB,
VideoFormat::Xbgr => ffi::GST_VIDEO_FORMAT_xBGR,
VideoFormat::Rgba => ffi::GST_VIDEO_FORMAT_RGBA,
VideoFormat::Bgra => ffi::GST_VIDEO_FORMAT_BGRA,
VideoFormat::Argb => ffi::GST_VIDEO_FORMAT_ARGB,
VideoFormat::Abgr => ffi::GST_VIDEO_FORMAT_ABGR,
VideoFormat::Rgb => ffi::GST_VIDEO_FORMAT_RGB,
VideoFormat::Bgr => ffi::GST_VIDEO_FORMAT_BGR,
VideoFormat::Y41b => ffi::GST_VIDEO_FORMAT_Y41B,
VideoFormat::Y42b => ffi::GST_VIDEO_FORMAT_Y42B,
VideoFormat::Yvyu => ffi::GST_VIDEO_FORMAT_YVYU,
VideoFormat::Y444 => ffi::GST_VIDEO_FORMAT_Y444,
VideoFormat::V210 => ffi::GST_VIDEO_FORMAT_v210,
VideoFormat::V216 => ffi::GST_VIDEO_FORMAT_v216,
VideoFormat::Nv12 => ffi::GST_VIDEO_FORMAT_NV12,
VideoFormat::Nv21 => ffi::GST_VIDEO_FORMAT_NV21,
VideoFormat::Gray8 => ffi::GST_VIDEO_FORMAT_GRAY8,
VideoFormat::Gray16Be => ffi::GST_VIDEO_FORMAT_GRAY16_BE,
VideoFormat::Gray16Le => ffi::GST_VIDEO_FORMAT_GRAY16_LE,
VideoFormat::V308 => ffi::GST_VIDEO_FORMAT_v308,
VideoFormat::Rgb16 => ffi::GST_VIDEO_FORMAT_RGB16,
VideoFormat::Bgr16 => ffi::GST_VIDEO_FORMAT_BGR16,
VideoFormat::Rgb15 => ffi::GST_VIDEO_FORMAT_RGB15,
VideoFormat::Bgr15 => ffi::GST_VIDEO_FORMAT_BGR15,
VideoFormat::Uyvp => ffi::GST_VIDEO_FORMAT_UYVP,
VideoFormat::A420 => ffi::GST_VIDEO_FORMAT_A420,
VideoFormat::Rgb8p => ffi::GST_VIDEO_FORMAT_RGB8P,
VideoFormat::Yuv9 => ffi::GST_VIDEO_FORMAT_YUV9,
VideoFormat::Yvu9 => ffi::GST_VIDEO_FORMAT_YVU9,
VideoFormat::Iyu1 => ffi::GST_VIDEO_FORMAT_IYU1,
VideoFormat::Argb64 => ffi::GST_VIDEO_FORMAT_ARGB64,
VideoFormat::Ayuv64 => ffi::GST_VIDEO_FORMAT_AYUV64,
VideoFormat::R210 => ffi::GST_VIDEO_FORMAT_r210,
VideoFormat::I42010be => ffi::GST_VIDEO_FORMAT_I420_10BE,
VideoFormat::I42010le => ffi::GST_VIDEO_FORMAT_I420_10LE,
VideoFormat::I42210be => ffi::GST_VIDEO_FORMAT_I422_10BE,
VideoFormat::I42210le => ffi::GST_VIDEO_FORMAT_I422_10LE,
VideoFormat::Y44410be => ffi::GST_VIDEO_FORMAT_Y444_10BE,
VideoFormat::Y44410le => ffi::GST_VIDEO_FORMAT_Y444_10LE,
VideoFormat::Gbr => ffi::GST_VIDEO_FORMAT_GBR,
VideoFormat::Gbr10be => ffi::GST_VIDEO_FORMAT_GBR_10BE,
VideoFormat::Gbr10le => ffi::GST_VIDEO_FORMAT_GBR_10LE,
VideoFormat::Nv16 => ffi::GST_VIDEO_FORMAT_NV16,
VideoFormat::Nv24 => ffi::GST_VIDEO_FORMAT_NV24,
VideoFormat::Nv1264z32 => ffi::GST_VIDEO_FORMAT_NV12_64Z32,
VideoFormat::A42010be => ffi::GST_VIDEO_FORMAT_A420_10BE,
VideoFormat::A42010le => ffi::GST_VIDEO_FORMAT_A420_10LE,
VideoFormat::A42210be => ffi::GST_VIDEO_FORMAT_A422_10BE,
VideoFormat::A42210le => ffi::GST_VIDEO_FORMAT_A422_10LE,
VideoFormat::A44410be => ffi::GST_VIDEO_FORMAT_A444_10BE,
VideoFormat::A44410le => ffi::GST_VIDEO_FORMAT_A444_10LE,
VideoFormat::Nv61 => ffi::GST_VIDEO_FORMAT_NV61,
#[cfg(any(feature = "v1_10", feature = "dox"))]
VideoFormat::P01010be => ffi::GST_VIDEO_FORMAT_P010_10BE,
#[cfg(any(feature = "v1_10", feature = "dox"))]
VideoFormat::P01010le => ffi::GST_VIDEO_FORMAT_P010_10LE,
#[cfg(any(feature = "v1_10", feature = "dox"))]
VideoFormat::Iyu2 => ffi::GST_VIDEO_FORMAT_IYU2,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Vyuy => ffi::GST_VIDEO_FORMAT_VYUY,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Gbra => ffi::GST_VIDEO_FORMAT_GBRA,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Gbra10be => ffi::GST_VIDEO_FORMAT_GBRA_10BE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Gbra10le => ffi::GST_VIDEO_FORMAT_GBRA_10LE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Gbr12be => ffi::GST_VIDEO_FORMAT_GBR_12BE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Gbr12le => ffi::GST_VIDEO_FORMAT_GBR_12LE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Gbra12be => ffi::GST_VIDEO_FORMAT_GBRA_12BE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Gbra12le => ffi::GST_VIDEO_FORMAT_GBRA_12LE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::I42012be => ffi::GST_VIDEO_FORMAT_I420_12BE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::I42012le => ffi::GST_VIDEO_FORMAT_I420_12LE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::I42212be => ffi::GST_VIDEO_FORMAT_I422_12BE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::I42212le => ffi::GST_VIDEO_FORMAT_I422_12LE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Y44412be => ffi::GST_VIDEO_FORMAT_Y444_12BE,
#[cfg(any(feature = "v1_12", feature = "dox"))]
VideoFormat::Y44412le => ffi::GST_VIDEO_FORMAT_Y444_12LE,
#[cfg(any(feature = "v1_14", feature = "dox"))]
VideoFormat::Gray10Le32 => ffi::GST_VIDEO_FORMAT_GRAY10_LE32,
#[cfg(any(feature = "v1_14", feature = "dox"))]
VideoFormat::Nv1210le32 => ffi::GST_VIDEO_FORMAT_NV12_10LE32,
#[cfg(any(feature = "v1_14", feature = "dox"))]
VideoFormat::Nv1610le32 => ffi::GST_VIDEO_FORMAT_NV16_10LE32,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoFormat::Nv1210le40 => ffi::GST_VIDEO_FORMAT_NV12_10LE40,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoFormat::Y210 => ffi::GST_VIDEO_FORMAT_Y210,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoFormat::Y410 => ffi::GST_VIDEO_FORMAT_Y410,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoFormat::Vuya => ffi::GST_VIDEO_FORMAT_VUYA,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoFormat::Bgr10a2Le => ffi::GST_VIDEO_FORMAT_BGR10A2_LE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::Rgb10a2Le => ffi::GST_VIDEO_FORMAT_RGB10A2_LE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::Y44416be => ffi::GST_VIDEO_FORMAT_Y444_16BE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::Y44416le => ffi::GST_VIDEO_FORMAT_Y444_16LE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::P016Be => ffi::GST_VIDEO_FORMAT_P016_BE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::P016Le => ffi::GST_VIDEO_FORMAT_P016_LE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::P012Be => ffi::GST_VIDEO_FORMAT_P012_BE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::P012Le => ffi::GST_VIDEO_FORMAT_P012_LE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::Y212Be => ffi::GST_VIDEO_FORMAT_Y212_BE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::Y212Le => ffi::GST_VIDEO_FORMAT_Y212_LE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::Y412Be => ffi::GST_VIDEO_FORMAT_Y412_BE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::Y412Le => ffi::GST_VIDEO_FORMAT_Y412_LE,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::Nv124l4 => ffi::GST_VIDEO_FORMAT_NV12_4L4,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoFormat::Nv1232l32 => ffi::GST_VIDEO_FORMAT_NV12_32L32,
VideoFormat::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoFormat> for VideoFormat {
fn from_glib(value: ffi::GstVideoFormat) -> Self {
skip_assert_initialized!();
match value {
0 => VideoFormat::Unknown,
1 => VideoFormat::Encoded,
2 => VideoFormat::I420,
3 => VideoFormat::Yv12,
4 => VideoFormat::Yuy2,
5 => VideoFormat::Uyvy,
6 => VideoFormat::Ayuv,
7 => VideoFormat::Rgbx,
8 => VideoFormat::Bgrx,
9 => VideoFormat::Xrgb,
10 => VideoFormat::Xbgr,
11 => VideoFormat::Rgba,
12 => VideoFormat::Bgra,
13 => VideoFormat::Argb,
14 => VideoFormat::Abgr,
15 => VideoFormat::Rgb,
16 => VideoFormat::Bgr,
17 => VideoFormat::Y41b,
18 => VideoFormat::Y42b,
19 => VideoFormat::Yvyu,
20 => VideoFormat::Y444,
21 => VideoFormat::V210,
22 => VideoFormat::V216,
23 => VideoFormat::Nv12,
24 => VideoFormat::Nv21,
25 => VideoFormat::Gray8,
26 => VideoFormat::Gray16Be,
27 => VideoFormat::Gray16Le,
28 => VideoFormat::V308,
29 => VideoFormat::Rgb16,
30 => VideoFormat::Bgr16,
31 => VideoFormat::Rgb15,
32 => VideoFormat::Bgr15,
33 => VideoFormat::Uyvp,
34 => VideoFormat::A420,
35 => VideoFormat::Rgb8p,
36 => VideoFormat::Yuv9,
37 => VideoFormat::Yvu9,
38 => VideoFormat::Iyu1,
39 => VideoFormat::Argb64,
40 => VideoFormat::Ayuv64,
41 => VideoFormat::R210,
42 => VideoFormat::I42010be,
43 => VideoFormat::I42010le,
44 => VideoFormat::I42210be,
45 => VideoFormat::I42210le,
46 => VideoFormat::Y44410be,
47 => VideoFormat::Y44410le,
48 => VideoFormat::Gbr,
49 => VideoFormat::Gbr10be,
50 => VideoFormat::Gbr10le,
51 => VideoFormat::Nv16,
52 => VideoFormat::Nv24,
53 => VideoFormat::Nv1264z32,
54 => VideoFormat::A42010be,
55 => VideoFormat::A42010le,
56 => VideoFormat::A42210be,
57 => VideoFormat::A42210le,
58 => VideoFormat::A44410be,
59 => VideoFormat::A44410le,
60 => VideoFormat::Nv61,
#[cfg(any(feature = "v1_10", feature = "dox"))]
61 => VideoFormat::P01010be,
#[cfg(any(feature = "v1_10", feature = "dox"))]
62 => VideoFormat::P01010le,
#[cfg(any(feature = "v1_10", feature = "dox"))]
63 => VideoFormat::Iyu2,
#[cfg(any(feature = "v1_12", feature = "dox"))]
64 => VideoFormat::Vyuy,
#[cfg(any(feature = "v1_12", feature = "dox"))]
65 => VideoFormat::Gbra,
#[cfg(any(feature = "v1_12", feature = "dox"))]
66 => VideoFormat::Gbra10be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
67 => VideoFormat::Gbra10le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
68 => VideoFormat::Gbr12be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
69 => VideoFormat::Gbr12le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
70 => VideoFormat::Gbra12be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
71 => VideoFormat::Gbra12le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
72 => VideoFormat::I42012be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
73 => VideoFormat::I42012le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
74 => VideoFormat::I42212be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
75 => VideoFormat::I42212le,
#[cfg(any(feature = "v1_12", feature = "dox"))]
76 => VideoFormat::Y44412be,
#[cfg(any(feature = "v1_12", feature = "dox"))]
77 => VideoFormat::Y44412le,
#[cfg(any(feature = "v1_14", feature = "dox"))]
78 => VideoFormat::Gray10Le32,
#[cfg(any(feature = "v1_14", feature = "dox"))]
79 => VideoFormat::Nv1210le32,
#[cfg(any(feature = "v1_14", feature = "dox"))]
80 => VideoFormat::Nv1610le32,
#[cfg(any(feature = "v1_16", feature = "dox"))]
81 => VideoFormat::Nv1210le40,
#[cfg(any(feature = "v1_16", feature = "dox"))]
82 => VideoFormat::Y210,
#[cfg(any(feature = "v1_16", feature = "dox"))]
83 => VideoFormat::Y410,
#[cfg(any(feature = "v1_16", feature = "dox"))]
84 => VideoFormat::Vuya,
#[cfg(any(feature = "v1_16", feature = "dox"))]
85 => VideoFormat::Bgr10a2Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
86 => VideoFormat::Rgb10a2Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
87 => VideoFormat::Y44416be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
88 => VideoFormat::Y44416le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
89 => VideoFormat::P016Be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
90 => VideoFormat::P016Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
91 => VideoFormat::P012Be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
92 => VideoFormat::P012Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
93 => VideoFormat::Y212Be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
94 => VideoFormat::Y212Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
95 => VideoFormat::Y412Be,
#[cfg(any(feature = "v1_18", feature = "dox"))]
96 => VideoFormat::Y412Le,
#[cfg(any(feature = "v1_18", feature = "dox"))]
97 => VideoFormat::Nv124l4,
#[cfg(any(feature = "v1_18", feature = "dox"))]
98 => VideoFormat::Nv1232l32,
value => VideoFormat::__Unknown(value),
}
}
}
impl StaticType for VideoFormat {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_format_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoFormat {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoFormat {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoFormat {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoGammaMode {
None,
Remap,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl ToGlib for VideoGammaMode {
type GlibType = ffi::GstVideoGammaMode;
fn to_glib(&self) -> ffi::GstVideoGammaMode {
match *self {
VideoGammaMode::None => ffi::GST_VIDEO_GAMMA_MODE_NONE,
VideoGammaMode::Remap => ffi::GST_VIDEO_GAMMA_MODE_REMAP,
VideoGammaMode::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoGammaMode> for VideoGammaMode {
fn from_glib(value: ffi::GstVideoGammaMode) -> Self {
skip_assert_initialized!();
match value {
0 => VideoGammaMode::None,
1 => VideoGammaMode::Remap,
value => VideoGammaMode::__Unknown(value),
}
}
}
impl StaticType for VideoGammaMode {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_gamma_mode_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoGammaMode {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoGammaMode {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoGammaMode {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoInterlaceMode {
Progressive,
Interleaved,
Mixed,
Fields,
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
Alternate,
#[doc(hidden)]
__Unknown(i32),
}
impl VideoInterlaceMode {
pub fn from_string(mode: &str) -> VideoInterlaceMode {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::gst_video_interlace_mode_from_string(
mode.to_glib_none().0,
))
}
}
pub fn to_str<'a>(self) -> &'a str {
unsafe {
CStr::from_ptr(
ffi::gst_video_interlace_mode_to_string(self.to_glib())
.as_ref()
.expect("gst_video_interlace_mode_to_string returned NULL"),
)
.to_str()
.expect("gst_video_interlace_mode_to_string returned an invalid string")
}
}
}
impl fmt::Display for VideoInterlaceMode {
#[inline]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str(&self.to_str())
}
}
#[doc(hidden)]
impl ToGlib for VideoInterlaceMode {
type GlibType = ffi::GstVideoInterlaceMode;
fn to_glib(&self) -> ffi::GstVideoInterlaceMode {
match *self {
VideoInterlaceMode::Progressive => ffi::GST_VIDEO_INTERLACE_MODE_PROGRESSIVE,
VideoInterlaceMode::Interleaved => ffi::GST_VIDEO_INTERLACE_MODE_INTERLEAVED,
VideoInterlaceMode::Mixed => ffi::GST_VIDEO_INTERLACE_MODE_MIXED,
VideoInterlaceMode::Fields => ffi::GST_VIDEO_INTERLACE_MODE_FIELDS,
#[cfg(any(feature = "v1_16", feature = "dox"))]
VideoInterlaceMode::Alternate => ffi::GST_VIDEO_INTERLACE_MODE_ALTERNATE,
VideoInterlaceMode::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoInterlaceMode> for VideoInterlaceMode {
fn from_glib(value: ffi::GstVideoInterlaceMode) -> Self {
skip_assert_initialized!();
match value {
0 => VideoInterlaceMode::Progressive,
1 => VideoInterlaceMode::Interleaved,
2 => VideoInterlaceMode::Mixed,
3 => VideoInterlaceMode::Fields,
#[cfg(any(feature = "v1_16", feature = "dox"))]
4 => VideoInterlaceMode::Alternate,
value => VideoInterlaceMode::__Unknown(value),
}
}
}
impl StaticType for VideoInterlaceMode {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_interlace_mode_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoInterlaceMode {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoInterlaceMode {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoInterlaceMode {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoMatrixMode {
Full,
InputOnly,
OutputOnly,
None,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl ToGlib for VideoMatrixMode {
type GlibType = ffi::GstVideoMatrixMode;
fn to_glib(&self) -> ffi::GstVideoMatrixMode {
match *self {
VideoMatrixMode::Full => ffi::GST_VIDEO_MATRIX_MODE_FULL,
VideoMatrixMode::InputOnly => ffi::GST_VIDEO_MATRIX_MODE_INPUT_ONLY,
VideoMatrixMode::OutputOnly => ffi::GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY,
VideoMatrixMode::None => ffi::GST_VIDEO_MATRIX_MODE_NONE,
VideoMatrixMode::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoMatrixMode> for VideoMatrixMode {
fn from_glib(value: ffi::GstVideoMatrixMode) -> Self {
skip_assert_initialized!();
match value {
0 => VideoMatrixMode::Full,
1 => VideoMatrixMode::InputOnly,
2 => VideoMatrixMode::OutputOnly,
3 => VideoMatrixMode::None,
value => VideoMatrixMode::__Unknown(value),
}
}
}
impl StaticType for VideoMatrixMode {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_matrix_mode_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoMatrixMode {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoMatrixMode {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoMatrixMode {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoMultiviewFramePacking {
None,
Mono,
Left,
Right,
SideBySide,
SideBySideQuincunx,
ColumnInterleaved,
RowInterleaved,
TopBottom,
Checkerboard,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl ToGlib for VideoMultiviewFramePacking {
type GlibType = ffi::GstVideoMultiviewFramePacking;
fn to_glib(&self) -> ffi::GstVideoMultiviewFramePacking {
match *self {
VideoMultiviewFramePacking::None => ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE,
VideoMultiviewFramePacking::Mono => ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO,
VideoMultiviewFramePacking::Left => ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT,
VideoMultiviewFramePacking::Right => ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT,
VideoMultiviewFramePacking::SideBySide => {
ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE
}
VideoMultiviewFramePacking::SideBySideQuincunx => {
ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX
}
VideoMultiviewFramePacking::ColumnInterleaved => {
ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED
}
VideoMultiviewFramePacking::RowInterleaved => {
ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED
}
VideoMultiviewFramePacking::TopBottom => {
ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM
}
VideoMultiviewFramePacking::Checkerboard => {
ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD
}
VideoMultiviewFramePacking::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoMultiviewFramePacking> for VideoMultiviewFramePacking {
fn from_glib(value: ffi::GstVideoMultiviewFramePacking) -> Self {
skip_assert_initialized!();
match value {
-1 => VideoMultiviewFramePacking::None,
0 => VideoMultiviewFramePacking::Mono,
1 => VideoMultiviewFramePacking::Left,
2 => VideoMultiviewFramePacking::Right,
3 => VideoMultiviewFramePacking::SideBySide,
4 => VideoMultiviewFramePacking::SideBySideQuincunx,
5 => VideoMultiviewFramePacking::ColumnInterleaved,
6 => VideoMultiviewFramePacking::RowInterleaved,
7 => VideoMultiviewFramePacking::TopBottom,
8 => VideoMultiviewFramePacking::Checkerboard,
value => VideoMultiviewFramePacking::__Unknown(value),
}
}
}
impl StaticType for VideoMultiviewFramePacking {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_multiview_frame_packing_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoMultiviewFramePacking {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoMultiviewFramePacking {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoMultiviewFramePacking {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoMultiviewMode {
None,
Mono,
Left,
Right,
SideBySide,
SideBySideQuincunx,
ColumnInterleaved,
RowInterleaved,
TopBottom,
Checkerboard,
FrameByFrame,
MultiviewFrameByFrame,
Separated,
#[doc(hidden)]
__Unknown(i32),
}
impl VideoMultiviewMode {
pub fn from_caps_string(caps_mview_mode: &str) -> VideoMultiviewMode {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::gst_video_multiview_mode_from_caps_string(
caps_mview_mode.to_glib_none().0,
))
}
}
pub fn to_caps_string(self) -> Option<glib::GString> {
assert_initialized_main_thread!();
unsafe { from_glib_none(ffi::gst_video_multiview_mode_to_caps_string(self.to_glib())) }
}
}
#[doc(hidden)]
impl ToGlib for VideoMultiviewMode {
type GlibType = ffi::GstVideoMultiviewMode;
fn to_glib(&self) -> ffi::GstVideoMultiviewMode {
match *self {
VideoMultiviewMode::None => ffi::GST_VIDEO_MULTIVIEW_MODE_NONE,
VideoMultiviewMode::Mono => ffi::GST_VIDEO_MULTIVIEW_MODE_MONO,
VideoMultiviewMode::Left => ffi::GST_VIDEO_MULTIVIEW_MODE_LEFT,
VideoMultiviewMode::Right => ffi::GST_VIDEO_MULTIVIEW_MODE_RIGHT,
VideoMultiviewMode::SideBySide => ffi::GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE,
VideoMultiviewMode::SideBySideQuincunx => {
ffi::GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX
}
VideoMultiviewMode::ColumnInterleaved => {
ffi::GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED
}
VideoMultiviewMode::RowInterleaved => ffi::GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED,
VideoMultiviewMode::TopBottom => ffi::GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM,
VideoMultiviewMode::Checkerboard => ffi::GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD,
VideoMultiviewMode::FrameByFrame => ffi::GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME,
VideoMultiviewMode::MultiviewFrameByFrame => {
ffi::GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME
}
VideoMultiviewMode::Separated => ffi::GST_VIDEO_MULTIVIEW_MODE_SEPARATED,
VideoMultiviewMode::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoMultiviewMode> for VideoMultiviewMode {
fn from_glib(value: ffi::GstVideoMultiviewMode) -> Self {
skip_assert_initialized!();
match value {
-1 => VideoMultiviewMode::None,
0 => VideoMultiviewMode::Mono,
1 => VideoMultiviewMode::Left,
2 => VideoMultiviewMode::Right,
3 => VideoMultiviewMode::SideBySide,
4 => VideoMultiviewMode::SideBySideQuincunx,
5 => VideoMultiviewMode::ColumnInterleaved,
6 => VideoMultiviewMode::RowInterleaved,
7 => VideoMultiviewMode::TopBottom,
8 => VideoMultiviewMode::Checkerboard,
32 => VideoMultiviewMode::FrameByFrame,
33 => VideoMultiviewMode::MultiviewFrameByFrame,
34 => VideoMultiviewMode::Separated,
value => VideoMultiviewMode::__Unknown(value),
}
}
}
impl StaticType for VideoMultiviewMode {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_multiview_mode_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoMultiviewMode {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoMultiviewMode {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoMultiviewMode {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoPrimariesMode {
None,
MergeOnly,
Fast,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl ToGlib for VideoPrimariesMode {
type GlibType = ffi::GstVideoPrimariesMode;
fn to_glib(&self) -> ffi::GstVideoPrimariesMode {
match *self {
VideoPrimariesMode::None => ffi::GST_VIDEO_PRIMARIES_MODE_NONE,
VideoPrimariesMode::MergeOnly => ffi::GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY,
VideoPrimariesMode::Fast => ffi::GST_VIDEO_PRIMARIES_MODE_FAST,
VideoPrimariesMode::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoPrimariesMode> for VideoPrimariesMode {
fn from_glib(value: ffi::GstVideoPrimariesMode) -> Self {
skip_assert_initialized!();
match value {
0 => VideoPrimariesMode::None,
1 => VideoPrimariesMode::MergeOnly,
2 => VideoPrimariesMode::Fast,
value => VideoPrimariesMode::__Unknown(value),
}
}
}
impl StaticType for VideoPrimariesMode {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_primaries_mode_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoPrimariesMode {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoPrimariesMode {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoPrimariesMode {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoResamplerMethod {
Nearest,
Linear,
Cubic,
Sinc,
Lanczos,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl ToGlib for VideoResamplerMethod {
type GlibType = ffi::GstVideoResamplerMethod;
fn to_glib(&self) -> ffi::GstVideoResamplerMethod {
match *self {
VideoResamplerMethod::Nearest => ffi::GST_VIDEO_RESAMPLER_METHOD_NEAREST,
VideoResamplerMethod::Linear => ffi::GST_VIDEO_RESAMPLER_METHOD_LINEAR,
VideoResamplerMethod::Cubic => ffi::GST_VIDEO_RESAMPLER_METHOD_CUBIC,
VideoResamplerMethod::Sinc => ffi::GST_VIDEO_RESAMPLER_METHOD_SINC,
VideoResamplerMethod::Lanczos => ffi::GST_VIDEO_RESAMPLER_METHOD_LANCZOS,
VideoResamplerMethod::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoResamplerMethod> for VideoResamplerMethod {
fn from_glib(value: ffi::GstVideoResamplerMethod) -> Self {
skip_assert_initialized!();
match value {
0 => VideoResamplerMethod::Nearest,
1 => VideoResamplerMethod::Linear,
2 => VideoResamplerMethod::Cubic,
3 => VideoResamplerMethod::Sinc,
4 => VideoResamplerMethod::Lanczos,
value => VideoResamplerMethod::__Unknown(value),
}
}
}
impl StaticType for VideoResamplerMethod {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_resampler_method_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoResamplerMethod {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoResamplerMethod {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoResamplerMethod {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoTileMode {
Unknown,
Zflipz2x2,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Linear,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl ToGlib for VideoTileMode {
type GlibType = ffi::GstVideoTileMode;
fn to_glib(&self) -> ffi::GstVideoTileMode {
match *self {
VideoTileMode::Unknown => ffi::GST_VIDEO_TILE_MODE_UNKNOWN,
VideoTileMode::Zflipz2x2 => ffi::GST_VIDEO_TILE_MODE_ZFLIPZ_2X2,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoTileMode::Linear => ffi::GST_VIDEO_TILE_MODE_LINEAR,
VideoTileMode::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoTileMode> for VideoTileMode {
fn from_glib(value: ffi::GstVideoTileMode) -> Self {
skip_assert_initialized!();
match value {
0 => VideoTileMode::Unknown,
65536 => VideoTileMode::Zflipz2x2,
#[cfg(any(feature = "v1_18", feature = "dox"))]
131072 => VideoTileMode::Linear,
value => VideoTileMode::__Unknown(value),
}
}
}
impl StaticType for VideoTileMode {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_tile_mode_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoTileMode {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoTileMode {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoTileMode {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoTransferFunction {
Unknown,
Gamma10,
Gamma18,
Gamma20,
Gamma22,
Bt709,
Smpte240m,
Srgb,
Gamma28,
Log100,
Log316,
Bt202012,
Adobergb,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Bt202010,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Smpte2084,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
AribStdB67,
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
Bt601,
#[doc(hidden)]
__Unknown(i32),
}
impl VideoTransferFunction {
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn from_iso(value: u32) -> VideoTransferFunction {
assert_initialized_main_thread!();
unsafe { from_glib(ffi::gst_video_transfer_function_from_iso(value)) }
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn is_equivalent(self, from_bpp: u32, to_func: VideoTransferFunction, to_bpp: u32) -> bool {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::gst_video_transfer_function_is_equivalent(
self.to_glib(),
from_bpp,
to_func.to_glib(),
to_bpp,
))
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn to_iso(self) -> u32 {
assert_initialized_main_thread!();
unsafe { ffi::gst_video_transfer_function_to_iso(self.to_glib()) }
}
}
#[doc(hidden)]
impl ToGlib for VideoTransferFunction {
type GlibType = ffi::GstVideoTransferFunction;
fn to_glib(&self) -> ffi::GstVideoTransferFunction {
match *self {
VideoTransferFunction::Unknown => ffi::GST_VIDEO_TRANSFER_UNKNOWN,
VideoTransferFunction::Gamma10 => ffi::GST_VIDEO_TRANSFER_GAMMA10,
VideoTransferFunction::Gamma18 => ffi::GST_VIDEO_TRANSFER_GAMMA18,
VideoTransferFunction::Gamma20 => ffi::GST_VIDEO_TRANSFER_GAMMA20,
VideoTransferFunction::Gamma22 => ffi::GST_VIDEO_TRANSFER_GAMMA22,
VideoTransferFunction::Bt709 => ffi::GST_VIDEO_TRANSFER_BT709,
VideoTransferFunction::Smpte240m => ffi::GST_VIDEO_TRANSFER_SMPTE240M,
VideoTransferFunction::Srgb => ffi::GST_VIDEO_TRANSFER_SRGB,
VideoTransferFunction::Gamma28 => ffi::GST_VIDEO_TRANSFER_GAMMA28,
VideoTransferFunction::Log100 => ffi::GST_VIDEO_TRANSFER_LOG100,
VideoTransferFunction::Log316 => ffi::GST_VIDEO_TRANSFER_LOG316,
VideoTransferFunction::Bt202012 => ffi::GST_VIDEO_TRANSFER_BT2020_12,
VideoTransferFunction::Adobergb => ffi::GST_VIDEO_TRANSFER_ADOBERGB,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoTransferFunction::Bt202010 => ffi::GST_VIDEO_TRANSFER_BT2020_10,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoTransferFunction::Smpte2084 => ffi::GST_VIDEO_TRANSFER_SMPTE2084,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoTransferFunction::AribStdB67 => ffi::GST_VIDEO_TRANSFER_ARIB_STD_B67,
#[cfg(any(feature = "v1_18", feature = "dox"))]
VideoTransferFunction::Bt601 => ffi::GST_VIDEO_TRANSFER_BT601,
VideoTransferFunction::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstVideoTransferFunction> for VideoTransferFunction {
fn from_glib(value: ffi::GstVideoTransferFunction) -> Self {
skip_assert_initialized!();
match value {
0 => VideoTransferFunction::Unknown,
1 => VideoTransferFunction::Gamma10,
2 => VideoTransferFunction::Gamma18,
3 => VideoTransferFunction::Gamma20,
4 => VideoTransferFunction::Gamma22,
5 => VideoTransferFunction::Bt709,
6 => VideoTransferFunction::Smpte240m,
7 => VideoTransferFunction::Srgb,
8 => VideoTransferFunction::Gamma28,
9 => VideoTransferFunction::Log100,
10 => VideoTransferFunction::Log316,
11 => VideoTransferFunction::Bt202012,
12 => VideoTransferFunction::Adobergb,
#[cfg(any(feature = "v1_18", feature = "dox"))]
13 => VideoTransferFunction::Bt202010,
#[cfg(any(feature = "v1_18", feature = "dox"))]
14 => VideoTransferFunction::Smpte2084,
#[cfg(any(feature = "v1_18", feature = "dox"))]
15 => VideoTransferFunction::AribStdB67,
#[cfg(any(feature = "v1_18", feature = "dox"))]
16 => VideoTransferFunction::Bt601,
value => VideoTransferFunction::__Unknown(value),
}
}
}
impl StaticType for VideoTransferFunction {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_video_transfer_function_get_type()) }
}
}
impl<'a> FromValueOptional<'a> for VideoTransferFunction {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
impl<'a> FromValue<'a> for VideoTransferFunction {
unsafe fn from_value(value: &glib::Value) -> Self {
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl SetValue for VideoTransferFunction {
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
}
}