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