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_26")]
13#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
14#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
15#[non_exhaustive]
16#[doc(alias = "GstTensorDataType")]
17pub enum TensorDataType {
18 #[doc(alias = "GST_TENSOR_DATA_TYPE_INT4")]
20 Int4,
21 #[doc(alias = "GST_TENSOR_DATA_TYPE_INT8")]
23 Int8,
24 #[doc(alias = "GST_TENSOR_DATA_TYPE_INT16")]
26 Int16,
27 #[doc(alias = "GST_TENSOR_DATA_TYPE_INT32")]
29 Int32,
30 #[doc(alias = "GST_TENSOR_DATA_TYPE_INT64")]
32 Int64,
33 #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT4")]
35 Uint4,
36 #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT8")]
38 Uint8,
39 #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT16")]
41 Uint16,
42 #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT32")]
44 Uint32,
45 #[doc(alias = "GST_TENSOR_DATA_TYPE_UINT64")]
47 Uint64,
48 #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT16")]
50 Float16,
51 #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT32")]
53 Float32,
54 #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT64")]
56 Float64,
57 #[doc(alias = "GST_TENSOR_DATA_TYPE_BFLOAT16")]
59 Bfloat16,
60 #[cfg(feature = "v1_28")]
62 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
63 #[doc(alias = "GST_TENSOR_DATA_TYPE_STRING")]
64 String,
65 #[cfg(feature = "v1_28")]
67 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
68 #[doc(alias = "GST_TENSOR_DATA_TYPE_BOOL")]
69 Bool,
70 #[cfg(feature = "v1_28")]
72 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
73 #[doc(alias = "GST_TENSOR_DATA_TYPE_COMPLEX64")]
74 Complex64,
75 #[cfg(feature = "v1_28")]
77 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
78 #[doc(alias = "GST_TENSOR_DATA_TYPE_COMPLEX128")]
79 Complex128,
80 #[cfg(feature = "v1_28")]
83 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
84 #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN")]
85 Float8e4m3fn,
86 #[cfg(feature = "v1_28")]
89 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
90 #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ")]
91 Float8e4m3fnuz,
92 #[cfg(feature = "v1_28")]
95 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
96 #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E5M2")]
97 Float8e5m2,
98 #[cfg(feature = "v1_28")]
101 #[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
102 #[doc(alias = "GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ")]
103 Float8e5m2fnuz,
104 #[doc(hidden)]
105 __Unknown(i32),
106}
107
108#[cfg(feature = "v1_26")]
109#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
110#[doc(hidden)]
111impl IntoGlib for TensorDataType {
112 type GlibType = ffi::GstTensorDataType;
113
114 fn into_glib(self) -> ffi::GstTensorDataType {
115 match self {
116 Self::Int4 => ffi::GST_TENSOR_DATA_TYPE_INT4,
117 Self::Int8 => ffi::GST_TENSOR_DATA_TYPE_INT8,
118 Self::Int16 => ffi::GST_TENSOR_DATA_TYPE_INT16,
119 Self::Int32 => ffi::GST_TENSOR_DATA_TYPE_INT32,
120 Self::Int64 => ffi::GST_TENSOR_DATA_TYPE_INT64,
121 Self::Uint4 => ffi::GST_TENSOR_DATA_TYPE_UINT4,
122 Self::Uint8 => ffi::GST_TENSOR_DATA_TYPE_UINT8,
123 Self::Uint16 => ffi::GST_TENSOR_DATA_TYPE_UINT16,
124 Self::Uint32 => ffi::GST_TENSOR_DATA_TYPE_UINT32,
125 Self::Uint64 => ffi::GST_TENSOR_DATA_TYPE_UINT64,
126 Self::Float16 => ffi::GST_TENSOR_DATA_TYPE_FLOAT16,
127 Self::Float32 => ffi::GST_TENSOR_DATA_TYPE_FLOAT32,
128 Self::Float64 => ffi::GST_TENSOR_DATA_TYPE_FLOAT64,
129 Self::Bfloat16 => ffi::GST_TENSOR_DATA_TYPE_BFLOAT16,
130 #[cfg(feature = "v1_28")]
131 Self::String => ffi::GST_TENSOR_DATA_TYPE_STRING,
132 #[cfg(feature = "v1_28")]
133 Self::Bool => ffi::GST_TENSOR_DATA_TYPE_BOOL,
134 #[cfg(feature = "v1_28")]
135 Self::Complex64 => ffi::GST_TENSOR_DATA_TYPE_COMPLEX64,
136 #[cfg(feature = "v1_28")]
137 Self::Complex128 => ffi::GST_TENSOR_DATA_TYPE_COMPLEX128,
138 #[cfg(feature = "v1_28")]
139 Self::Float8e4m3fn => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN,
140 #[cfg(feature = "v1_28")]
141 Self::Float8e4m3fnuz => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ,
142 #[cfg(feature = "v1_28")]
143 Self::Float8e5m2 => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2,
144 #[cfg(feature = "v1_28")]
145 Self::Float8e5m2fnuz => ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ,
146 Self::__Unknown(value) => value,
147 }
148 }
149}
150
151#[cfg(feature = "v1_26")]
152#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
153#[doc(hidden)]
154impl FromGlib<ffi::GstTensorDataType> for TensorDataType {
155 unsafe fn from_glib(value: ffi::GstTensorDataType) -> Self {
156 skip_assert_initialized!();
157
158 match value {
159 ffi::GST_TENSOR_DATA_TYPE_INT4 => Self::Int4,
160 ffi::GST_TENSOR_DATA_TYPE_INT8 => Self::Int8,
161 ffi::GST_TENSOR_DATA_TYPE_INT16 => Self::Int16,
162 ffi::GST_TENSOR_DATA_TYPE_INT32 => Self::Int32,
163 ffi::GST_TENSOR_DATA_TYPE_INT64 => Self::Int64,
164 ffi::GST_TENSOR_DATA_TYPE_UINT4 => Self::Uint4,
165 ffi::GST_TENSOR_DATA_TYPE_UINT8 => Self::Uint8,
166 ffi::GST_TENSOR_DATA_TYPE_UINT16 => Self::Uint16,
167 ffi::GST_TENSOR_DATA_TYPE_UINT32 => Self::Uint32,
168 ffi::GST_TENSOR_DATA_TYPE_UINT64 => Self::Uint64,
169 ffi::GST_TENSOR_DATA_TYPE_FLOAT16 => Self::Float16,
170 ffi::GST_TENSOR_DATA_TYPE_FLOAT32 => Self::Float32,
171 ffi::GST_TENSOR_DATA_TYPE_FLOAT64 => Self::Float64,
172 ffi::GST_TENSOR_DATA_TYPE_BFLOAT16 => Self::Bfloat16,
173 #[cfg(feature = "v1_28")]
174 ffi::GST_TENSOR_DATA_TYPE_STRING => Self::String,
175 #[cfg(feature = "v1_28")]
176 ffi::GST_TENSOR_DATA_TYPE_BOOL => Self::Bool,
177 #[cfg(feature = "v1_28")]
178 ffi::GST_TENSOR_DATA_TYPE_COMPLEX64 => Self::Complex64,
179 #[cfg(feature = "v1_28")]
180 ffi::GST_TENSOR_DATA_TYPE_COMPLEX128 => Self::Complex128,
181 #[cfg(feature = "v1_28")]
182 ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN => Self::Float8e4m3fn,
183 #[cfg(feature = "v1_28")]
184 ffi::GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ => Self::Float8e4m3fnuz,
185 #[cfg(feature = "v1_28")]
186 ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2 => Self::Float8e5m2,
187 #[cfg(feature = "v1_28")]
188 ffi::GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ => Self::Float8e5m2fnuz,
189 value => Self::__Unknown(value),
190 }
191 }
192}
193
194#[cfg(feature = "v1_26")]
196#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
197#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
198#[non_exhaustive]
199#[doc(alias = "GstTensorDimOrder")]
200pub enum TensorDimOrder {
201 #[doc(alias = "GST_TENSOR_DIM_ORDER_ROW_MAJOR")]
203 RowMajor,
204 #[doc(alias = "GST_TENSOR_DIM_ORDER_COL_MAJOR")]
206 ColMajor,
207 #[doc(hidden)]
208 __Unknown(i32),
209}
210
211#[cfg(feature = "v1_26")]
212#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
213#[doc(hidden)]
214impl IntoGlib for TensorDimOrder {
215 type GlibType = ffi::GstTensorDimOrder;
216
217 #[inline]
218 fn into_glib(self) -> ffi::GstTensorDimOrder {
219 match self {
220 Self::RowMajor => ffi::GST_TENSOR_DIM_ORDER_ROW_MAJOR,
221 Self::ColMajor => ffi::GST_TENSOR_DIM_ORDER_COL_MAJOR,
222 Self::__Unknown(value) => value,
223 }
224 }
225}
226
227#[cfg(feature = "v1_26")]
228#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
229#[doc(hidden)]
230impl FromGlib<ffi::GstTensorDimOrder> for TensorDimOrder {
231 #[inline]
232 unsafe fn from_glib(value: ffi::GstTensorDimOrder) -> Self {
233 skip_assert_initialized!();
234
235 match value {
236 ffi::GST_TENSOR_DIM_ORDER_ROW_MAJOR => Self::RowMajor,
237 ffi::GST_TENSOR_DIM_ORDER_COL_MAJOR => Self::ColMajor,
238 value => Self::__Unknown(value),
239 }
240 }
241}