// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) // 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] #[doc(alias = "GstVideoAFDSpec")] pub enum VideoAFDSpec { #[doc(alias = "GST_VIDEO_AFD_SPEC_DVB_ETSI")] DvbEtsi, #[doc(alias = "GST_VIDEO_AFD_SPEC_ATSC_A53")] AtscA53, #[doc(alias = "GST_VIDEO_AFD_SPEC_SMPTE_ST2016_1")] 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 for VideoAFDSpec { unsafe 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 { 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] #[doc(alias = "GstVideoAFDValue")] pub enum VideoAFDValue { #[doc(alias = "GST_VIDEO_AFD_UNAVAILABLE")] Unavailable, #[doc(alias = "GST_VIDEO_AFD_16_9_TOP_ALIGNED")] _169TopAligned, #[doc(alias = "GST_VIDEO_AFD_14_9_TOP_ALIGNED")] _149TopAligned, #[doc(alias = "GST_VIDEO_AFD_GREATER_THAN_16_9")] GreaterThan169, #[doc(alias = "GST_VIDEO_AFD_4_3_FULL_16_9_FULL")] _43Full169Full, #[doc(alias = "GST_VIDEO_AFD_4_3_FULL_4_3_PILLAR")] _43Full43Pillar, #[doc(alias = "GST_VIDEO_AFD_16_9_LETTER_16_9_FULL")] _169Letter169Full, #[doc(alias = "GST_VIDEO_AFD_14_9_LETTER_14_9_PILLAR")] _149Letter149Pillar, #[doc(alias = "GST_VIDEO_AFD_4_3_FULL_14_9_CENTER")] _43Full149Center, #[doc(alias = "GST_VIDEO_AFD_16_9_LETTER_14_9_CENTER")] _169Letter149Center, #[doc(alias = "GST_VIDEO_AFD_16_9_LETTER_4_3_CENTER")] _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 for VideoAFDValue { unsafe 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 { 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] #[doc(alias = "GstVideoAlphaMode")] pub enum VideoAlphaMode { #[doc(alias = "GST_VIDEO_ALPHA_MODE_COPY")] Copy, #[doc(alias = "GST_VIDEO_ALPHA_MODE_SET")] Set, #[doc(alias = "GST_VIDEO_ALPHA_MODE_MULT")] 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 for VideoAlphaMode { unsafe 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 { 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] #[doc(alias = "GstVideoCaptionType")] pub enum VideoCaptionType { #[doc(alias = "GST_VIDEO_CAPTION_TYPE_UNKNOWN")] Unknown, #[doc(alias = "GST_VIDEO_CAPTION_TYPE_CEA608_RAW")] Cea608Raw, #[doc(alias = "GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A")] Cea608S3341a, #[doc(alias = "GST_VIDEO_CAPTION_TYPE_CEA708_RAW")] Cea708Raw, #[doc(alias = "GST_VIDEO_CAPTION_TYPE_CEA708_CDP")] Cea708Cdp, #[doc(hidden)] __Unknown(i32), } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] impl VideoCaptionType { #[doc(alias = "gst_video_caption_type_from_caps")] 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)) } } #[doc(alias = "gst_video_caption_type_to_caps")] pub fn to_caps(self) -> Option { 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 for VideoCaptionType { unsafe 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 { 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] #[doc(alias = "GstVideoChromaMode")] pub enum VideoChromaMode { #[doc(alias = "GST_VIDEO_CHROMA_MODE_FULL")] Full, #[doc(alias = "GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY")] UpsampleOnly, #[doc(alias = "GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY")] DownsampleOnly, #[doc(alias = "GST_VIDEO_CHROMA_MODE_NONE")] 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 for VideoChromaMode { unsafe 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 { 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] #[doc(alias = "GstVideoColorMatrix")] pub enum VideoColorMatrix { #[doc(alias = "GST_VIDEO_COLOR_MATRIX_UNKNOWN")] Unknown, #[doc(alias = "GST_VIDEO_COLOR_MATRIX_RGB")] Rgb, #[doc(alias = "GST_VIDEO_COLOR_MATRIX_FCC")] Fcc, #[doc(alias = "GST_VIDEO_COLOR_MATRIX_BT709")] Bt709, #[doc(alias = "GST_VIDEO_COLOR_MATRIX_BT601")] Bt601, #[doc(alias = "GST_VIDEO_COLOR_MATRIX_SMPTE240M")] Smpte240m, #[doc(alias = "GST_VIDEO_COLOR_MATRIX_BT2020")] Bt2020, #[doc(hidden)] __Unknown(i32), } impl VideoColorMatrix { #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "gst_video_color_matrix_from_iso")] 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")))] #[doc(alias = "gst_video_color_matrix_to_iso")] 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 for VideoColorMatrix { unsafe 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 { 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] #[doc(alias = "GstVideoColorPrimaries")] pub enum VideoColorPrimaries { #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_UNKNOWN")] Unknown, #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_BT709")] Bt709, #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_BT470M")] Bt470m, #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_BT470BG")] Bt470bg, #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_SMPTE170M")] Smpte170m, #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_SMPTE240M")] Smpte240m, #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_FILM")] Film, #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_BT2020")] Bt2020, #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_ADOBERGB")] Adobergb, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_SMPTEST428")] Smptest428, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_SMPTERP431")] Smpterp431, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_SMPTEEG432")] Smpteeg432, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_COLOR_PRIMARIES_EBU3213")] Ebu3213, #[doc(hidden)] __Unknown(i32), } impl VideoColorPrimaries { #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "gst_video_color_primaries_from_iso")] pub fn from_iso(value: u32) -> VideoColorPrimaries { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_color_primaries_from_iso(value)) } } //#[doc(alias = "gst_video_color_primaries_get_info")] //pub fn get_info(self) -> /*Ignored*/Option { // 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")))] #[doc(alias = "gst_video_color_primaries_to_iso")] 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 for VideoColorPrimaries { unsafe 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 { 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] #[doc(alias = "GstVideoDitherMethod")] pub enum VideoDitherMethod { #[doc(alias = "GST_VIDEO_DITHER_NONE")] None, #[doc(alias = "GST_VIDEO_DITHER_VERTERR")] Verterr, #[doc(alias = "GST_VIDEO_DITHER_FLOYD_STEINBERG")] FloydSteinberg, #[doc(alias = "GST_VIDEO_DITHER_SIERRA_LITE")] SierraLite, #[doc(alias = "GST_VIDEO_DITHER_BAYER")] 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 for VideoDitherMethod { unsafe 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 { 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] #[doc(alias = "GstVideoFieldOrder")] pub enum VideoFieldOrder { #[doc(alias = "GST_VIDEO_FIELD_ORDER_UNKNOWN")] Unknown, #[doc(alias = "GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST")] TopFieldFirst, #[doc(alias = "GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST")] BottomFieldFirst, #[doc(hidden)] __Unknown(i32), } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] impl VideoFieldOrder { #[doc(alias = "gst_video_field_order_from_string")] 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 for VideoFieldOrder { unsafe 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 { 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] #[doc(alias = "GstVideoFormat")] pub enum VideoFormat { #[doc(alias = "GST_VIDEO_FORMAT_UNKNOWN")] Unknown, #[doc(alias = "GST_VIDEO_FORMAT_ENCODED")] Encoded, #[doc(alias = "GST_VIDEO_FORMAT_I420")] I420, #[doc(alias = "GST_VIDEO_FORMAT_YV12")] Yv12, #[doc(alias = "GST_VIDEO_FORMAT_YUY2")] Yuy2, #[doc(alias = "GST_VIDEO_FORMAT_UYVY")] Uyvy, #[doc(alias = "GST_VIDEO_FORMAT_AYUV")] Ayuv, #[doc(alias = "GST_VIDEO_FORMAT_RGBx")] Rgbx, #[doc(alias = "GST_VIDEO_FORMAT_BGRx")] Bgrx, #[doc(alias = "GST_VIDEO_FORMAT_xRGB")] Xrgb, #[doc(alias = "GST_VIDEO_FORMAT_xBGR")] Xbgr, #[doc(alias = "GST_VIDEO_FORMAT_RGBA")] Rgba, #[doc(alias = "GST_VIDEO_FORMAT_BGRA")] Bgra, #[doc(alias = "GST_VIDEO_FORMAT_ARGB")] Argb, #[doc(alias = "GST_VIDEO_FORMAT_ABGR")] Abgr, #[doc(alias = "GST_VIDEO_FORMAT_RGB")] Rgb, #[doc(alias = "GST_VIDEO_FORMAT_BGR")] Bgr, #[doc(alias = "GST_VIDEO_FORMAT_Y41B")] Y41b, #[doc(alias = "GST_VIDEO_FORMAT_Y42B")] Y42b, #[doc(alias = "GST_VIDEO_FORMAT_YVYU")] Yvyu, #[doc(alias = "GST_VIDEO_FORMAT_Y444")] Y444, #[doc(alias = "GST_VIDEO_FORMAT_v210")] V210, #[doc(alias = "GST_VIDEO_FORMAT_v216")] V216, #[doc(alias = "GST_VIDEO_FORMAT_NV12")] Nv12, #[doc(alias = "GST_VIDEO_FORMAT_NV21")] Nv21, #[doc(alias = "GST_VIDEO_FORMAT_GRAY8")] Gray8, #[doc(alias = "GST_VIDEO_FORMAT_GRAY16_BE")] Gray16Be, #[doc(alias = "GST_VIDEO_FORMAT_GRAY16_LE")] Gray16Le, #[doc(alias = "GST_VIDEO_FORMAT_v308")] V308, #[doc(alias = "GST_VIDEO_FORMAT_RGB16")] Rgb16, #[doc(alias = "GST_VIDEO_FORMAT_BGR16")] Bgr16, #[doc(alias = "GST_VIDEO_FORMAT_RGB15")] Rgb15, #[doc(alias = "GST_VIDEO_FORMAT_BGR15")] Bgr15, #[doc(alias = "GST_VIDEO_FORMAT_UYVP")] Uyvp, #[doc(alias = "GST_VIDEO_FORMAT_A420")] A420, #[doc(alias = "GST_VIDEO_FORMAT_RGB8P")] Rgb8p, #[doc(alias = "GST_VIDEO_FORMAT_YUV9")] Yuv9, #[doc(alias = "GST_VIDEO_FORMAT_YVU9")] Yvu9, #[doc(alias = "GST_VIDEO_FORMAT_IYU1")] Iyu1, #[doc(alias = "GST_VIDEO_FORMAT_ARGB64")] Argb64, #[doc(alias = "GST_VIDEO_FORMAT_AYUV64")] Ayuv64, #[doc(alias = "GST_VIDEO_FORMAT_r210")] R210, #[doc(alias = "GST_VIDEO_FORMAT_I420_10BE")] I42010be, #[doc(alias = "GST_VIDEO_FORMAT_I420_10LE")] I42010le, #[doc(alias = "GST_VIDEO_FORMAT_I422_10BE")] I42210be, #[doc(alias = "GST_VIDEO_FORMAT_I422_10LE")] I42210le, #[doc(alias = "GST_VIDEO_FORMAT_Y444_10BE")] Y44410be, #[doc(alias = "GST_VIDEO_FORMAT_Y444_10LE")] Y44410le, #[doc(alias = "GST_VIDEO_FORMAT_GBR")] Gbr, #[doc(alias = "GST_VIDEO_FORMAT_GBR_10BE")] Gbr10be, #[doc(alias = "GST_VIDEO_FORMAT_GBR_10LE")] Gbr10le, #[doc(alias = "GST_VIDEO_FORMAT_NV16")] Nv16, #[doc(alias = "GST_VIDEO_FORMAT_NV24")] Nv24, #[doc(alias = "GST_VIDEO_FORMAT_NV12_64Z32")] Nv1264z32, #[doc(alias = "GST_VIDEO_FORMAT_A420_10BE")] A42010be, #[doc(alias = "GST_VIDEO_FORMAT_A420_10LE")] A42010le, #[doc(alias = "GST_VIDEO_FORMAT_A422_10BE")] A42210be, #[doc(alias = "GST_VIDEO_FORMAT_A422_10LE")] A42210le, #[doc(alias = "GST_VIDEO_FORMAT_A444_10BE")] A44410be, #[doc(alias = "GST_VIDEO_FORMAT_A444_10LE")] A44410le, #[doc(alias = "GST_VIDEO_FORMAT_NV61")] Nv61, #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[doc(alias = "GST_VIDEO_FORMAT_P010_10BE")] P01010be, #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[doc(alias = "GST_VIDEO_FORMAT_P010_10LE")] P01010le, #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[doc(alias = "GST_VIDEO_FORMAT_IYU2")] Iyu2, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_VYUY")] Vyuy, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_GBRA")] Gbra, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_GBRA_10BE")] Gbra10be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_GBRA_10LE")] Gbra10le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_GBR_12BE")] Gbr12be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_GBR_12LE")] Gbr12le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_GBRA_12BE")] Gbra12be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_GBRA_12LE")] Gbra12le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_I420_12BE")] I42012be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_I420_12LE")] I42012le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_I422_12BE")] I42212be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_I422_12LE")] I42212le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_Y444_12BE")] Y44412be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(alias = "GST_VIDEO_FORMAT_Y444_12LE")] Y44412le, #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] #[doc(alias = "GST_VIDEO_FORMAT_GRAY10_LE32")] Gray10Le32, #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] #[doc(alias = "GST_VIDEO_FORMAT_NV12_10LE32")] Nv1210le32, #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] #[doc(alias = "GST_VIDEO_FORMAT_NV16_10LE32")] Nv1610le32, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_FORMAT_NV12_10LE40")] Nv1210le40, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_FORMAT_Y210")] Y210, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_FORMAT_Y410")] Y410, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_FORMAT_VUYA")] Vuya, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_FORMAT_BGR10A2_LE")] Bgr10a2Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_RGB10A2_LE")] Rgb10a2Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_Y444_16BE")] Y44416be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_Y444_16LE")] Y44416le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_P016_BE")] P016Be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_P016_LE")] P016Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_P012_BE")] P012Be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_P012_LE")] P012Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_Y212_BE")] Y212Be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_Y212_LE")] Y212Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_Y412_BE")] Y412Be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_Y412_LE")] Y412Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_NV12_4L4")] Nv124l4, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_FORMAT_NV12_32L32")] Nv1232l32, #[doc(hidden)] __Unknown(i32), } impl VideoFormat { #[doc(alias = "gst_video_format_from_fourcc")] pub fn from_fourcc(fourcc: u32) -> VideoFormat { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_format_from_fourcc(fourcc)) } } #[doc(alias = "gst_video_format_from_string")] 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)) } } //#[doc(alias = "gst_video_format_get_palette")] //pub fn get_palette(self) -> (/*Unimplemented*/Option, usize) { // unsafe { TODO: call ffi:gst_video_format_get_palette() } //} #[doc(alias = "gst_video_format_to_fourcc")] 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 for VideoFormat { unsafe 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 { 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] #[doc(alias = "GstVideoGammaMode")] pub enum VideoGammaMode { #[doc(alias = "GST_VIDEO_GAMMA_MODE_NONE")] None, #[doc(alias = "GST_VIDEO_GAMMA_MODE_REMAP")] 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 for VideoGammaMode { unsafe 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 { 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] #[doc(alias = "GstVideoInterlaceMode")] pub enum VideoInterlaceMode { #[doc(alias = "GST_VIDEO_INTERLACE_MODE_PROGRESSIVE")] Progressive, #[doc(alias = "GST_VIDEO_INTERLACE_MODE_INTERLEAVED")] Interleaved, #[doc(alias = "GST_VIDEO_INTERLACE_MODE_MIXED")] Mixed, #[doc(alias = "GST_VIDEO_INTERLACE_MODE_FIELDS")] Fields, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(alias = "GST_VIDEO_INTERLACE_MODE_ALTERNATE")] Alternate, #[doc(hidden)] __Unknown(i32), } impl VideoInterlaceMode { #[doc(alias = "gst_video_interlace_mode_from_string")] 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 for VideoInterlaceMode { unsafe 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 { 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] #[doc(alias = "GstVideoMatrixMode")] pub enum VideoMatrixMode { #[doc(alias = "GST_VIDEO_MATRIX_MODE_FULL")] Full, #[doc(alias = "GST_VIDEO_MATRIX_MODE_INPUT_ONLY")] InputOnly, #[doc(alias = "GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY")] OutputOnly, #[doc(alias = "GST_VIDEO_MATRIX_MODE_NONE")] 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 for VideoMatrixMode { unsafe 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 { 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] #[doc(alias = "GstVideoMultiviewFramePacking")] pub enum VideoMultiviewFramePacking { #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE")] None, #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO")] Mono, #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT")] Left, #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT")] Right, #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE")] SideBySide, #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX")] SideBySideQuincunx, #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED")] ColumnInterleaved, #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED")] RowInterleaved, #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM")] TopBottom, #[doc(alias = "GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD")] 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 for VideoMultiviewFramePacking { unsafe 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 { 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] #[doc(alias = "GstVideoMultiviewMode")] pub enum VideoMultiviewMode { #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_NONE")] None, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_MONO")] Mono, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_LEFT")] Left, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_RIGHT")] Right, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE")] SideBySide, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX")] SideBySideQuincunx, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED")] ColumnInterleaved, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED")] RowInterleaved, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM")] TopBottom, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD")] Checkerboard, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME")] FrameByFrame, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME")] MultiviewFrameByFrame, #[doc(alias = "GST_VIDEO_MULTIVIEW_MODE_SEPARATED")] Separated, #[doc(hidden)] __Unknown(i32), } impl VideoMultiviewMode { #[doc(alias = "gst_video_multiview_mode_from_caps_string")] 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, )) } } #[doc(alias = "gst_video_multiview_mode_to_caps_string")] pub fn to_caps_string(self) -> Option { 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 for VideoMultiviewMode { unsafe 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 { 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()) } } #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] #[doc(alias = "GstVideoOrientationMethod")] pub enum VideoOrientationMethod { #[doc(alias = "GST_VIDEO_ORIENTATION_IDENTITY")] Identity, #[doc(alias = "GST_VIDEO_ORIENTATION_90R")] _90r, #[doc(alias = "GST_VIDEO_ORIENTATION_180")] _180, #[doc(alias = "GST_VIDEO_ORIENTATION_90L")] _90l, #[doc(alias = "GST_VIDEO_ORIENTATION_HORIZ")] Horiz, #[doc(alias = "GST_VIDEO_ORIENTATION_VERT")] Vert, #[doc(alias = "GST_VIDEO_ORIENTATION_UL_LR")] UlLr, #[doc(alias = "GST_VIDEO_ORIENTATION_UR_LL")] UrLl, #[doc(alias = "GST_VIDEO_ORIENTATION_AUTO")] Auto, #[doc(alias = "GST_VIDEO_ORIENTATION_CUSTOM")] Custom, #[doc(hidden)] __Unknown(i32), } #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[doc(hidden)] impl ToGlib for VideoOrientationMethod { type GlibType = ffi::GstVideoOrientationMethod; fn to_glib(&self) -> ffi::GstVideoOrientationMethod { match *self { VideoOrientationMethod::Identity => ffi::GST_VIDEO_ORIENTATION_IDENTITY, VideoOrientationMethod::_90r => ffi::GST_VIDEO_ORIENTATION_90R, VideoOrientationMethod::_180 => ffi::GST_VIDEO_ORIENTATION_180, VideoOrientationMethod::_90l => ffi::GST_VIDEO_ORIENTATION_90L, VideoOrientationMethod::Horiz => ffi::GST_VIDEO_ORIENTATION_HORIZ, VideoOrientationMethod::Vert => ffi::GST_VIDEO_ORIENTATION_VERT, VideoOrientationMethod::UlLr => ffi::GST_VIDEO_ORIENTATION_UL_LR, VideoOrientationMethod::UrLl => ffi::GST_VIDEO_ORIENTATION_UR_LL, VideoOrientationMethod::Auto => ffi::GST_VIDEO_ORIENTATION_AUTO, VideoOrientationMethod::Custom => ffi::GST_VIDEO_ORIENTATION_CUSTOM, VideoOrientationMethod::__Unknown(value) => value, } } } #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[doc(hidden)] impl FromGlib for VideoOrientationMethod { unsafe fn from_glib(value: ffi::GstVideoOrientationMethod) -> Self { skip_assert_initialized!(); match value { 0 => VideoOrientationMethod::Identity, 1 => VideoOrientationMethod::_90r, 2 => VideoOrientationMethod::_180, 3 => VideoOrientationMethod::_90l, 4 => VideoOrientationMethod::Horiz, 5 => VideoOrientationMethod::Vert, 6 => VideoOrientationMethod::UlLr, 7 => VideoOrientationMethod::UrLl, 8 => VideoOrientationMethod::Auto, 9 => VideoOrientationMethod::Custom, value => VideoOrientationMethod::__Unknown(value), } } } #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] impl StaticType for VideoOrientationMethod { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_orientation_method_get_type()) } } } #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] impl<'a> FromValueOptional<'a> for VideoOrientationMethod { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] impl<'a> FromValue<'a> for VideoOrientationMethod { 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_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] impl SetValue for VideoOrientationMethod { 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] #[doc(alias = "GstVideoPrimariesMode")] pub enum VideoPrimariesMode { #[doc(alias = "GST_VIDEO_PRIMARIES_MODE_NONE")] None, #[doc(alias = "GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY")] MergeOnly, #[doc(alias = "GST_VIDEO_PRIMARIES_MODE_FAST")] 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 for VideoPrimariesMode { unsafe 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 { 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] #[doc(alias = "GstVideoResamplerMethod")] pub enum VideoResamplerMethod { #[doc(alias = "GST_VIDEO_RESAMPLER_METHOD_NEAREST")] Nearest, #[doc(alias = "GST_VIDEO_RESAMPLER_METHOD_LINEAR")] Linear, #[doc(alias = "GST_VIDEO_RESAMPLER_METHOD_CUBIC")] Cubic, #[doc(alias = "GST_VIDEO_RESAMPLER_METHOD_SINC")] Sinc, #[doc(alias = "GST_VIDEO_RESAMPLER_METHOD_LANCZOS")] 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 for VideoResamplerMethod { unsafe 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 { 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] #[doc(alias = "GstVideoTileMode")] pub enum VideoTileMode { #[doc(alias = "GST_VIDEO_TILE_MODE_UNKNOWN")] Unknown, #[doc(alias = "GST_VIDEO_TILE_MODE_ZFLIPZ_2X2")] Zflipz2x2, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_TILE_MODE_LINEAR")] 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 for VideoTileMode { unsafe 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 { 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] #[doc(alias = "GstVideoTransferFunction")] pub enum VideoTransferFunction { #[doc(alias = "GST_VIDEO_TRANSFER_UNKNOWN")] Unknown, #[doc(alias = "GST_VIDEO_TRANSFER_GAMMA10")] Gamma10, #[doc(alias = "GST_VIDEO_TRANSFER_GAMMA18")] Gamma18, #[doc(alias = "GST_VIDEO_TRANSFER_GAMMA20")] Gamma20, #[doc(alias = "GST_VIDEO_TRANSFER_GAMMA22")] Gamma22, #[doc(alias = "GST_VIDEO_TRANSFER_BT709")] Bt709, #[doc(alias = "GST_VIDEO_TRANSFER_SMPTE240M")] Smpte240m, #[doc(alias = "GST_VIDEO_TRANSFER_SRGB")] Srgb, #[doc(alias = "GST_VIDEO_TRANSFER_GAMMA28")] Gamma28, #[doc(alias = "GST_VIDEO_TRANSFER_LOG100")] Log100, #[doc(alias = "GST_VIDEO_TRANSFER_LOG316")] Log316, #[doc(alias = "GST_VIDEO_TRANSFER_BT2020_12")] Bt202012, #[doc(alias = "GST_VIDEO_TRANSFER_ADOBERGB")] Adobergb, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_TRANSFER_BT2020_10")] Bt202010, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_TRANSFER_SMPTE2084")] Smpte2084, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_TRANSFER_ARIB_STD_B67")] AribStdB67, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "GST_VIDEO_TRANSFER_BT601")] Bt601, #[doc(hidden)] __Unknown(i32), } impl VideoTransferFunction { #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(alias = "gst_video_transfer_function_from_iso")] 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")))] #[doc(alias = "gst_video_transfer_function_is_equivalent")] 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")))] #[doc(alias = "gst_video_transfer_function_to_iso")] 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 for VideoTransferFunction { unsafe 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 { 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()) } }