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