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    #[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}