Skip to main content

gstreamer_analytics/auto/
enums.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::ffi;
7#[cfg(feature = "v1_26")]
8#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9use glib::translate::*;
10
11#[cfg(feature = "v1_28")]
12#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
13#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
14#[non_exhaustive]
15#[doc(alias = "GstAnalyticsModelInfoTensorDirection")]
16pub enum ModelInfoTensorDirection {
17    #[doc(alias = "MODELINFO_DIRECTION_UNKNOWN")]
18    Unknown,
19    #[doc(alias = "MODELINFO_DIRECTION_INPUT")]
20    Input,
21    #[doc(alias = "MODELINFO_DIRECTION_OUTPUT")]
22    Output,
23    #[doc(hidden)]
24    __Unknown(i32),
25}
26
27#[cfg(feature = "v1_28")]
28#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
29#[doc(hidden)]
30impl IntoGlib for ModelInfoTensorDirection {
31    type GlibType = ffi::GstAnalyticsModelInfoTensorDirection;
32
33    #[inline]
34    fn into_glib(self) -> ffi::GstAnalyticsModelInfoTensorDirection {
35        match self {
36            Self::Unknown => ffi::MODELINFO_DIRECTION_UNKNOWN,
37            Self::Input => ffi::MODELINFO_DIRECTION_INPUT,
38            Self::Output => ffi::MODELINFO_DIRECTION_OUTPUT,
39            Self::__Unknown(value) => value,
40        }
41    }
42}
43
44#[cfg(feature = "v1_28")]
45#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
46#[doc(hidden)]
47impl FromGlib<ffi::GstAnalyticsModelInfoTensorDirection> for ModelInfoTensorDirection {
48    #[inline]
49    unsafe fn from_glib(value: ffi::GstAnalyticsModelInfoTensorDirection) -> Self {
50        skip_assert_initialized!();
51
52        match value {
53            ffi::MODELINFO_DIRECTION_UNKNOWN => Self::Unknown,
54            ffi::MODELINFO_DIRECTION_INPUT => Self::Input,
55            ffi::MODELINFO_DIRECTION_OUTPUT => Self::Output,
56            value => Self::__Unknown(value),
57        }
58    }
59}
60
61#[cfg(feature = "v1_26")]
62#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
63#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
64#[non_exhaustive]
65#[doc(alias = "GstTensorDataType")]
66pub enum TensorDataType {
67    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT4")]
68    Int4,
69    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT8")]
70    Int8,
71    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT16")]
72    Int16,
73    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT32")]
74    Int32,
75    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT64")]
76    Int64,
77    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT4")]
78    Uint4,
79    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT8")]
80    Uint8,
81    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT16")]
82    Uint16,
83    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT32")]
84    Uint32,
85    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT64")]
86    Uint64,
87    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT16")]
88    Float16,
89    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT32")]
90    Float32,
91    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT64")]
92    Float64,
93    #[doc(alias = "GST_TENSOR_DATA_TYPE_BFLOAT16")]
94    Bfloat16,
95    #[cfg(feature = "v1_28")]
96    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
97    #[doc(alias = "GST_TENSOR_DATA_TYPE_STRING")]
98    String,
99    #[cfg(feature = "v1_28")]
100    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
101    #[doc(alias = "GST_TENSOR_DATA_TYPE_BOOL")]
102    Bool,
103    #[cfg(feature = "v1_28")]
104    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
105    #[doc(alias = "GST_TENSOR_DATA_TYPE_COMPLEX64")]
106    Complex64,
107    #[cfg(feature = "v1_28")]
108    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
109    #[doc(alias = "GST_TENSOR_DATA_TYPE_COMPLEX128")]
110    Complex128,
111    #[cfg(feature = "v1_28")]
112    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
113    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN")]
114    Float8e4m3fn,
115    #[cfg(feature = "v1_28")]
116    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
117    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ")]
118    Float8e4m3fnuz,
119    #[cfg(feature = "v1_28")]
120    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
121    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E5M2")]
122    Float8e5m2,
123    #[cfg(feature = "v1_28")]
124    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
125    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ")]
126    Float8e5m2fnuz,
127    #[doc(hidden)]
128    __Unknown(i32),
129}
130
131#[cfg(feature = "v1_26")]
132#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
133#[doc(hidden)]
134impl IntoGlib for TensorDataType {
135    type GlibType = ffi::GstTensorDataType;
136
137    fn into_glib(self) -> ffi::GstTensorDataType {
138        match self {
139            Self::Int4 => ffi::GST_TENSOR_DATA_TYPE_INT4,
140            Self::Int8 => ffi::GST_TENSOR_DATA_TYPE_INT8,
141            Self::Int16 => ffi::GST_TENSOR_DATA_TYPE_INT16,
142            Self::Int32 => ffi::GST_TENSOR_DATA_TYPE_INT32,
143            Self::Int64 => ffi::GST_TENSOR_DATA_TYPE_INT64,
144            Self::Uint4 => ffi::GST_TENSOR_DATA_TYPE_UINT4,
145            Self::Uint8 => ffi::GST_TENSOR_DATA_TYPE_UINT8,
146            Self::Uint16 => ffi::GST_TENSOR_DATA_TYPE_UINT16,
147            Self::Uint32 => ffi::GST_TENSOR_DATA_TYPE_UINT32,
148            Self::Uint64 => ffi::GST_TENSOR_DATA_TYPE_UINT64,
149            Self::Float16 => ffi::GST_TENSOR_DATA_TYPE_FLOAT16,
150            Self::Float32 => ffi::GST_TENSOR_DATA_TYPE_FLOAT32,
151            Self::Float64 => ffi::GST_TENSOR_DATA_TYPE_FLOAT64,
152            Self::Bfloat16 => ffi::GST_TENSOR_DATA_TYPE_BFLOAT16,
153            #[cfg(feature = "v1_28")]
154            Self::String => ffi::GST_TENSOR_DATA_TYPE_STRING,
155            #[cfg(feature = "v1_28")]
156            Self::Bool => ffi::GST_TENSOR_DATA_TYPE_BOOL,
157            #[cfg(feature = "v1_28")]
158            Self::Complex64 => ffi::GST_TENSOR_DATA_TYPE_COMPLEX64,
159            #[cfg(feature = "v1_28")]
160            Self::Complex128 => ffi::GST_TENSOR_DATA_TYPE_COMPLEX128,
161            #[cfg(feature = "v1_28")]
162            Self::Float8e4m3fn => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN,
163            #[cfg(feature = "v1_28")]
164            Self::Float8e4m3fnuz => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ,
165            #[cfg(feature = "v1_28")]
166            Self::Float8e5m2 => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2,
167            #[cfg(feature = "v1_28")]
168            Self::Float8e5m2fnuz => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ,
169            Self::__Unknown(value) => value,
170        }
171    }
172}
173
174#[cfg(feature = "v1_26")]
175#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
176#[doc(hidden)]
177impl FromGlib<ffi::GstTensorDataType> for TensorDataType {
178    unsafe fn from_glib(value: ffi::GstTensorDataType) -> Self {
179        skip_assert_initialized!();
180
181        match value {
182            ffi::GST_TENSOR_DATA_TYPE_INT4 => Self::Int4,
183            ffi::GST_TENSOR_DATA_TYPE_INT8 => Self::Int8,
184            ffi::GST_TENSOR_DATA_TYPE_INT16 => Self::Int16,
185            ffi::GST_TENSOR_DATA_TYPE_INT32 => Self::Int32,
186            ffi::GST_TENSOR_DATA_TYPE_INT64 => Self::Int64,
187            ffi::GST_TENSOR_DATA_TYPE_UINT4 => Self::Uint4,
188            ffi::GST_TENSOR_DATA_TYPE_UINT8 => Self::Uint8,
189            ffi::GST_TENSOR_DATA_TYPE_UINT16 => Self::Uint16,
190            ffi::GST_TENSOR_DATA_TYPE_UINT32 => Self::Uint32,
191            ffi::GST_TENSOR_DATA_TYPE_UINT64 => Self::Uint64,
192            ffi::GST_TENSOR_DATA_TYPE_FLOAT16 => Self::Float16,
193            ffi::GST_TENSOR_DATA_TYPE_FLOAT32 => Self::Float32,
194            ffi::GST_TENSOR_DATA_TYPE_FLOAT64 => Self::Float64,
195            ffi::GST_TENSOR_DATA_TYPE_BFLOAT16 => Self::Bfloat16,
196            #[cfg(feature = "v1_28")]
197            ffi::GST_TENSOR_DATA_TYPE_STRING => Self::String,
198            #[cfg(feature = "v1_28")]
199            ffi::GST_TENSOR_DATA_TYPE_BOOL => Self::Bool,
200            #[cfg(feature = "v1_28")]
201            ffi::GST_TENSOR_DATA_TYPE_COMPLEX64 => Self::Complex64,
202            #[cfg(feature = "v1_28")]
203            ffi::GST_TENSOR_DATA_TYPE_COMPLEX128 => Self::Complex128,
204            #[cfg(feature = "v1_28")]
205            ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN => Self::Float8e4m3fn,
206            #[cfg(feature = "v1_28")]
207            ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ => Self::Float8e4m3fnuz,
208            #[cfg(feature = "v1_28")]
209            ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2 => Self::Float8e5m2,
210            #[cfg(feature = "v1_28")]
211            ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ => Self::Float8e5m2fnuz,
212            value => Self::__Unknown(value),
213        }
214    }
215}
216
217#[cfg(feature = "v1_26")]
218#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
219#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
220#[non_exhaustive]
221#[doc(alias = "GstTensorDimOrder")]
222pub enum TensorDimOrder {
223    #[doc(alias = "GST_TENSOR_DIM_ORDER_ROW_MAJOR")]
224    RowMajor,
225    #[doc(alias = "GST_TENSOR_DIM_ORDER_COL_MAJOR")]
226    ColMajor,
227    #[doc(hidden)]
228    __Unknown(i32),
229}
230
231#[cfg(feature = "v1_26")]
232#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
233#[doc(hidden)]
234impl IntoGlib for TensorDimOrder {
235    type GlibType = ffi::GstTensorDimOrder;
236
237    #[inline]
238    fn into_glib(self) -> ffi::GstTensorDimOrder {
239        match self {
240            Self::RowMajor => ffi::GST_TENSOR_DIM_ORDER_ROW_MAJOR,
241            Self::ColMajor => ffi::GST_TENSOR_DIM_ORDER_COL_MAJOR,
242            Self::__Unknown(value) => value,
243        }
244    }
245}
246
247#[cfg(feature = "v1_26")]
248#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
249#[doc(hidden)]
250impl FromGlib<ffi::GstTensorDimOrder> for TensorDimOrder {
251    #[inline]
252    unsafe fn from_glib(value: ffi::GstTensorDimOrder) -> Self {
253        skip_assert_initialized!();
254
255        match value {
256            ffi::GST_TENSOR_DIM_ORDER_ROW_MAJOR => Self::RowMajor,
257            ffi::GST_TENSOR_DIM_ORDER_COL_MAJOR => Self::ColMajor,
258            value => Self::__Unknown(value),
259        }
260    }
261}