gstreamer_analytics/auto/
enums.rs
1use 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 #[doc(hidden)]
61 __Unknown(i32),
62}
63
64#[cfg(feature = "v1_26")]
65#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
66#[doc(hidden)]
67impl IntoGlib for TensorDataType {
68 type GlibType = ffi::GstTensorDataType;
69
70 fn into_glib(self) -> ffi::GstTensorDataType {
71 match self {
72 Self::Int4 => ffi::GST_TENSOR_DATA_TYPE_INT4,
73 Self::Int8 => ffi::GST_TENSOR_DATA_TYPE_INT8,
74 Self::Int16 => ffi::GST_TENSOR_DATA_TYPE_INT16,
75 Self::Int32 => ffi::GST_TENSOR_DATA_TYPE_INT32,
76 Self::Int64 => ffi::GST_TENSOR_DATA_TYPE_INT64,
77 Self::Uint4 => ffi::GST_TENSOR_DATA_TYPE_UINT4,
78 Self::Uint8 => ffi::GST_TENSOR_DATA_TYPE_UINT8,
79 Self::Uint16 => ffi::GST_TENSOR_DATA_TYPE_UINT16,
80 Self::Uint32 => ffi::GST_TENSOR_DATA_TYPE_UINT32,
81 Self::Uint64 => ffi::GST_TENSOR_DATA_TYPE_UINT64,
82 Self::Float16 => ffi::GST_TENSOR_DATA_TYPE_FLOAT16,
83 Self::Float32 => ffi::GST_TENSOR_DATA_TYPE_FLOAT32,
84 Self::Float64 => ffi::GST_TENSOR_DATA_TYPE_FLOAT64,
85 Self::Bfloat16 => ffi::GST_TENSOR_DATA_TYPE_BFLOAT16,
86 Self::__Unknown(value) => value,
87 }
88 }
89}
90
91#[cfg(feature = "v1_26")]
92#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
93#[doc(hidden)]
94impl FromGlib<ffi::GstTensorDataType> for TensorDataType {
95 unsafe fn from_glib(value: ffi::GstTensorDataType) -> Self {
96 skip_assert_initialized!();
97
98 match value {
99 ffi::GST_TENSOR_DATA_TYPE_INT4 => Self::Int4,
100 ffi::GST_TENSOR_DATA_TYPE_INT8 => Self::Int8,
101 ffi::GST_TENSOR_DATA_TYPE_INT16 => Self::Int16,
102 ffi::GST_TENSOR_DATA_TYPE_INT32 => Self::Int32,
103 ffi::GST_TENSOR_DATA_TYPE_INT64 => Self::Int64,
104 ffi::GST_TENSOR_DATA_TYPE_UINT4 => Self::Uint4,
105 ffi::GST_TENSOR_DATA_TYPE_UINT8 => Self::Uint8,
106 ffi::GST_TENSOR_DATA_TYPE_UINT16 => Self::Uint16,
107 ffi::GST_TENSOR_DATA_TYPE_UINT32 => Self::Uint32,
108 ffi::GST_TENSOR_DATA_TYPE_UINT64 => Self::Uint64,
109 ffi::GST_TENSOR_DATA_TYPE_FLOAT16 => Self::Float16,
110 ffi::GST_TENSOR_DATA_TYPE_FLOAT32 => Self::Float32,
111 ffi::GST_TENSOR_DATA_TYPE_FLOAT64 => Self::Float64,
112 ffi::GST_TENSOR_DATA_TYPE_BFLOAT16 => Self::Bfloat16,
113 value => Self::__Unknown(value),
114 }
115 }
116}
117
118#[cfg(feature = "v1_26")]
120#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
121#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
122#[non_exhaustive]
123#[doc(alias = "GstTensorDimOrder")]
124pub enum TensorDimOrder {
125 #[doc(alias = "GST_TENSOR_DIM_ORDER_ROW_MAJOR")]
127 RowMajor,
128 #[doc(alias = "GST_TENSOR_DIM_ORDER_COL_MAJOR")]
130 ColMajor,
131 #[doc(hidden)]
132 __Unknown(i32),
133}
134
135#[cfg(feature = "v1_26")]
136#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
137#[doc(hidden)]
138impl IntoGlib for TensorDimOrder {
139 type GlibType = ffi::GstTensorDimOrder;
140
141 #[inline]
142 fn into_glib(self) -> ffi::GstTensorDimOrder {
143 match self {
144 Self::RowMajor => ffi::GST_TENSOR_DIM_ORDER_ROW_MAJOR,
145 Self::ColMajor => ffi::GST_TENSOR_DIM_ORDER_COL_MAJOR,
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::GstTensorDimOrder> for TensorDimOrder {
155 #[inline]
156 unsafe fn from_glib(value: ffi::GstTensorDimOrder) -> Self {
157 skip_assert_initialized!();
158
159 match value {
160 ffi::GST_TENSOR_DIM_ORDER_ROW_MAJOR => Self::RowMajor,
161 ffi::GST_TENSOR_DIM_ORDER_COL_MAJOR => Self::ColMajor,
162 value => Self::__Unknown(value),
163 }
164 }
165}