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")]
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}