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