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_30")]
12#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
13#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
14#[non_exhaustive]
15#[doc(alias = "GstAnalyticsKeypointDimensions")]
16pub enum KeypointDimensions {
17    #[doc(alias = "GST_ANALYTICS_KEYPOINT_DIMENSIONS_2D")]
18    _2d,
19    #[doc(alias = "GST_ANALYTICS_KEYPOINT_DIMENSIONS_3D")]
20    _3d,
21    #[doc(hidden)]
22    __Unknown(i32),
23}
24
25#[cfg(feature = "v1_30")]
26#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
27#[doc(hidden)]
28impl IntoGlib for KeypointDimensions {
29    type GlibType = ffi::GstAnalyticsKeypointDimensions;
30
31    #[inline]
32    fn into_glib(self) -> ffi::GstAnalyticsKeypointDimensions {
33        match self {
34            Self::_2d => ffi::GST_ANALYTICS_KEYPOINT_DIMENSIONS_2D,
35            Self::_3d => ffi::GST_ANALYTICS_KEYPOINT_DIMENSIONS_3D,
36            Self::__Unknown(value) => value,
37        }
38    }
39}
40
41#[cfg(feature = "v1_30")]
42#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
43#[doc(hidden)]
44impl FromGlib<ffi::GstAnalyticsKeypointDimensions> for KeypointDimensions {
45    #[inline]
46    unsafe fn from_glib(value: ffi::GstAnalyticsKeypointDimensions) -> Self {
47        skip_assert_initialized!();
48
49        match value {
50            ffi::GST_ANALYTICS_KEYPOINT_DIMENSIONS_2D => Self::_2d,
51            ffi::GST_ANALYTICS_KEYPOINT_DIMENSIONS_3D => Self::_3d,
52            value => Self::__Unknown(value),
53        }
54    }
55}
56
57#[cfg(feature = "v1_28")]
58#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
59#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
60#[non_exhaustive]
61#[doc(alias = "GstAnalyticsModelInfoTensorDirection")]
62pub enum ModelInfoTensorDirection {
63    #[doc(alias = "MODELINFO_DIRECTION_UNKNOWN")]
64    Unknown,
65    #[doc(alias = "MODELINFO_DIRECTION_INPUT")]
66    Input,
67    #[doc(alias = "MODELINFO_DIRECTION_OUTPUT")]
68    Output,
69    #[doc(hidden)]
70    __Unknown(i32),
71}
72
73#[cfg(feature = "v1_28")]
74#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
75#[doc(hidden)]
76impl IntoGlib for ModelInfoTensorDirection {
77    type GlibType = ffi::GstAnalyticsModelInfoTensorDirection;
78
79    #[inline]
80    fn into_glib(self) -> ffi::GstAnalyticsModelInfoTensorDirection {
81        match self {
82            Self::Unknown => ffi::MODELINFO_DIRECTION_UNKNOWN,
83            Self::Input => ffi::MODELINFO_DIRECTION_INPUT,
84            Self::Output => ffi::MODELINFO_DIRECTION_OUTPUT,
85            Self::__Unknown(value) => value,
86        }
87    }
88}
89
90#[cfg(feature = "v1_28")]
91#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
92#[doc(hidden)]
93impl FromGlib<ffi::GstAnalyticsModelInfoTensorDirection> for ModelInfoTensorDirection {
94    #[inline]
95    unsafe fn from_glib(value: ffi::GstAnalyticsModelInfoTensorDirection) -> Self {
96        skip_assert_initialized!();
97
98        match value {
99            ffi::MODELINFO_DIRECTION_UNKNOWN => Self::Unknown,
100            ffi::MODELINFO_DIRECTION_INPUT => Self::Input,
101            ffi::MODELINFO_DIRECTION_OUTPUT => Self::Output,
102            value => Self::__Unknown(value),
103        }
104    }
105}
106
107#[cfg(feature = "v1_26")]
108#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
109#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
110#[non_exhaustive]
111#[doc(alias = "GstTensorDataType")]
112pub enum TensorDataType {
113    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT4")]
114    Int4,
115    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT8")]
116    Int8,
117    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT16")]
118    Int16,
119    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT32")]
120    Int32,
121    #[doc(alias = "GST_TENSOR_DATA_TYPE_INT64")]
122    Int64,
123    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT4")]
124    Uint4,
125    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT8")]
126    Uint8,
127    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT16")]
128    Uint16,
129    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT32")]
130    Uint32,
131    #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT64")]
132    Uint64,
133    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT16")]
134    Float16,
135    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT32")]
136    Float32,
137    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT64")]
138    Float64,
139    #[doc(alias = "GST_TENSOR_DATA_TYPE_BFLOAT16")]
140    Bfloat16,
141    #[cfg(feature = "v1_28")]
142    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
143    #[doc(alias = "GST_TENSOR_DATA_TYPE_STRING")]
144    String,
145    #[cfg(feature = "v1_28")]
146    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
147    #[doc(alias = "GST_TENSOR_DATA_TYPE_BOOL")]
148    Bool,
149    #[cfg(feature = "v1_28")]
150    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
151    #[doc(alias = "GST_TENSOR_DATA_TYPE_COMPLEX64")]
152    Complex64,
153    #[cfg(feature = "v1_28")]
154    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
155    #[doc(alias = "GST_TENSOR_DATA_TYPE_COMPLEX128")]
156    Complex128,
157    #[cfg(feature = "v1_28")]
158    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
159    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN")]
160    Float8e4m3fn,
161    #[cfg(feature = "v1_28")]
162    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
163    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ")]
164    Float8e4m3fnuz,
165    #[cfg(feature = "v1_28")]
166    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
167    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E5M2")]
168    Float8e5m2,
169    #[cfg(feature = "v1_28")]
170    #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
171    #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ")]
172    Float8e5m2fnuz,
173    #[doc(hidden)]
174    __Unknown(i32),
175}
176
177#[cfg(feature = "v1_26")]
178#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
179#[doc(hidden)]
180impl IntoGlib for TensorDataType {
181    type GlibType = ffi::GstTensorDataType;
182
183    fn into_glib(self) -> ffi::GstTensorDataType {
184        match self {
185            Self::Int4 => ffi::GST_TENSOR_DATA_TYPE_INT4,
186            Self::Int8 => ffi::GST_TENSOR_DATA_TYPE_INT8,
187            Self::Int16 => ffi::GST_TENSOR_DATA_TYPE_INT16,
188            Self::Int32 => ffi::GST_TENSOR_DATA_TYPE_INT32,
189            Self::Int64 => ffi::GST_TENSOR_DATA_TYPE_INT64,
190            Self::Uint4 => ffi::GST_TENSOR_DATA_TYPE_UINT4,
191            Self::Uint8 => ffi::GST_TENSOR_DATA_TYPE_UINT8,
192            Self::Uint16 => ffi::GST_TENSOR_DATA_TYPE_UINT16,
193            Self::Uint32 => ffi::GST_TENSOR_DATA_TYPE_UINT32,
194            Self::Uint64 => ffi::GST_TENSOR_DATA_TYPE_UINT64,
195            Self::Float16 => ffi::GST_TENSOR_DATA_TYPE_FLOAT16,
196            Self::Float32 => ffi::GST_TENSOR_DATA_TYPE_FLOAT32,
197            Self::Float64 => ffi::GST_TENSOR_DATA_TYPE_FLOAT64,
198            Self::Bfloat16 => ffi::GST_TENSOR_DATA_TYPE_BFLOAT16,
199            #[cfg(feature = "v1_28")]
200            Self::String => ffi::GST_TENSOR_DATA_TYPE_STRING,
201            #[cfg(feature = "v1_28")]
202            Self::Bool => ffi::GST_TENSOR_DATA_TYPE_BOOL,
203            #[cfg(feature = "v1_28")]
204            Self::Complex64 => ffi::GST_TENSOR_DATA_TYPE_COMPLEX64,
205            #[cfg(feature = "v1_28")]
206            Self::Complex128 => ffi::GST_TENSOR_DATA_TYPE_COMPLEX128,
207            #[cfg(feature = "v1_28")]
208            Self::Float8e4m3fn => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN,
209            #[cfg(feature = "v1_28")]
210            Self::Float8e4m3fnuz => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ,
211            #[cfg(feature = "v1_28")]
212            Self::Float8e5m2 => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2,
213            #[cfg(feature = "v1_28")]
214            Self::Float8e5m2fnuz => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ,
215            Self::__Unknown(value) => value,
216        }
217    }
218}
219
220#[cfg(feature = "v1_26")]
221#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
222#[doc(hidden)]
223impl FromGlib<ffi::GstTensorDataType> for TensorDataType {
224    unsafe fn from_glib(value: ffi::GstTensorDataType) -> Self {
225        skip_assert_initialized!();
226
227        match value {
228            ffi::GST_TENSOR_DATA_TYPE_INT4 => Self::Int4,
229            ffi::GST_TENSOR_DATA_TYPE_INT8 => Self::Int8,
230            ffi::GST_TENSOR_DATA_TYPE_INT16 => Self::Int16,
231            ffi::GST_TENSOR_DATA_TYPE_INT32 => Self::Int32,
232            ffi::GST_TENSOR_DATA_TYPE_INT64 => Self::Int64,
233            ffi::GST_TENSOR_DATA_TYPE_UINT4 => Self::Uint4,
234            ffi::GST_TENSOR_DATA_TYPE_UINT8 => Self::Uint8,
235            ffi::GST_TENSOR_DATA_TYPE_UINT16 => Self::Uint16,
236            ffi::GST_TENSOR_DATA_TYPE_UINT32 => Self::Uint32,
237            ffi::GST_TENSOR_DATA_TYPE_UINT64 => Self::Uint64,
238            ffi::GST_TENSOR_DATA_TYPE_FLOAT16 => Self::Float16,
239            ffi::GST_TENSOR_DATA_TYPE_FLOAT32 => Self::Float32,
240            ffi::GST_TENSOR_DATA_TYPE_FLOAT64 => Self::Float64,
241            ffi::GST_TENSOR_DATA_TYPE_BFLOAT16 => Self::Bfloat16,
242            #[cfg(feature = "v1_28")]
243            ffi::GST_TENSOR_DATA_TYPE_STRING => Self::String,
244            #[cfg(feature = "v1_28")]
245            ffi::GST_TENSOR_DATA_TYPE_BOOL => Self::Bool,
246            #[cfg(feature = "v1_28")]
247            ffi::GST_TENSOR_DATA_TYPE_COMPLEX64 => Self::Complex64,
248            #[cfg(feature = "v1_28")]
249            ffi::GST_TENSOR_DATA_TYPE_COMPLEX128 => Self::Complex128,
250            #[cfg(feature = "v1_28")]
251            ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN => Self::Float8e4m3fn,
252            #[cfg(feature = "v1_28")]
253            ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ => Self::Float8e4m3fnuz,
254            #[cfg(feature = "v1_28")]
255            ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2 => Self::Float8e5m2,
256            #[cfg(feature = "v1_28")]
257            ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ => Self::Float8e5m2fnuz,
258            value => Self::__Unknown(value),
259        }
260    }
261}
262
263#[cfg(feature = "v1_26")]
264#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
265#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
266#[non_exhaustive]
267#[doc(alias = "GstTensorDimOrder")]
268pub enum TensorDimOrder {
269    #[doc(alias = "GST_TENSOR_DIM_ORDER_ROW_MAJOR")]
270    RowMajor,
271    #[doc(alias = "GST_TENSOR_DIM_ORDER_COL_MAJOR")]
272    ColMajor,
273    #[doc(hidden)]
274    __Unknown(i32),
275}
276
277#[cfg(feature = "v1_26")]
278#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
279#[doc(hidden)]
280impl IntoGlib for TensorDimOrder {
281    type GlibType = ffi::GstTensorDimOrder;
282
283    #[inline]
284    fn into_glib(self) -> ffi::GstTensorDimOrder {
285        match self {
286            Self::RowMajor => ffi::GST_TENSOR_DIM_ORDER_ROW_MAJOR,
287            Self::ColMajor => ffi::GST_TENSOR_DIM_ORDER_COL_MAJOR,
288            Self::__Unknown(value) => value,
289        }
290    }
291}
292
293#[cfg(feature = "v1_26")]
294#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
295#[doc(hidden)]
296impl FromGlib<ffi::GstTensorDimOrder> for TensorDimOrder {
297    #[inline]
298    unsafe fn from_glib(value: ffi::GstTensorDimOrder) -> Self {
299        skip_assert_initialized!();
300
301        match value {
302            ffi::GST_TENSOR_DIM_ORDER_ROW_MAJOR => Self::RowMajor,
303            ffi::GST_TENSOR_DIM_ORDER_COL_MAJOR => Self::ColMajor,
304            value => Self::__Unknown(value),
305        }
306    }
307}