use crate::consts;
#[derive(Copy, Clone, Eq, PartialEq)]
#[repr(u32)]
pub enum DrmFormat {
Abgr1555 = consts::DRM_FOURCC_ABGR1555,
Abgr16161616f = consts::DRM_FOURCC_ABGR16161616F,
Abgr2101010 = consts::DRM_FOURCC_ABGR2101010,
Abgr4444 = consts::DRM_FOURCC_ABGR4444,
Abgr8888 = consts::DRM_FOURCC_ABGR8888,
Argb1555 = consts::DRM_FOURCC_ARGB1555,
Argb16161616f = consts::DRM_FOURCC_ARGB16161616F,
Argb2101010 = consts::DRM_FOURCC_ARGB2101010,
Argb4444 = consts::DRM_FOURCC_ARGB4444,
Argb8888 = consts::DRM_FOURCC_ARGB8888,
Ayuv = consts::DRM_FOURCC_AYUV,
Bgr233 = consts::DRM_FOURCC_BGR233,
Bgr565 = consts::DRM_FOURCC_BGR565,
Bgr888 = consts::DRM_FOURCC_BGR888,
Bgra1010102 = consts::DRM_FOURCC_BGRA1010102,
Bgra4444 = consts::DRM_FOURCC_BGRA4444,
Bgra5551 = consts::DRM_FOURCC_BGRA5551,
Bgra8888 = consts::DRM_FOURCC_BGRA8888,
Bgrx1010102 = consts::DRM_FOURCC_BGRX1010102,
Bgrx4444 = consts::DRM_FOURCC_BGRX4444,
Bgrx5551 = consts::DRM_FOURCC_BGRX5551,
Bgrx8888 = consts::DRM_FOURCC_BGRX8888,
C8 = consts::DRM_FOURCC_C8,
Gr1616 = consts::DRM_FOURCC_GR1616,
Gr88 = consts::DRM_FOURCC_GR88,
Nv12 = consts::DRM_FOURCC_NV12,
Nv16 = consts::DRM_FOURCC_NV16,
Nv21 = consts::DRM_FOURCC_NV21,
Nv24 = consts::DRM_FOURCC_NV24,
Nv42 = consts::DRM_FOURCC_NV42,
Nv61 = consts::DRM_FOURCC_NV61,
P010 = consts::DRM_FOURCC_P010,
P012 = consts::DRM_FOURCC_P012,
P016 = consts::DRM_FOURCC_P016,
P210 = consts::DRM_FOURCC_P210,
R16 = consts::DRM_FOURCC_R16,
R8 = consts::DRM_FOURCC_R8,
Rg1616 = consts::DRM_FOURCC_RG1616,
Rg88 = consts::DRM_FOURCC_RG88,
Rgb332 = consts::DRM_FOURCC_RGB332,
Rgb565 = consts::DRM_FOURCC_RGB565,
Rgb888 = consts::DRM_FOURCC_RGB888,
Rgba1010102 = consts::DRM_FOURCC_RGBA1010102,
Rgba4444 = consts::DRM_FOURCC_RGBA4444,
Rgba5551 = consts::DRM_FOURCC_RGBA5551,
Rgba8888 = consts::DRM_FOURCC_RGBA8888,
Rgbx1010102 = consts::DRM_FOURCC_RGBX1010102,
Rgbx4444 = consts::DRM_FOURCC_RGBX4444,
Rgbx5551 = consts::DRM_FOURCC_RGBX5551,
Rgbx8888 = consts::DRM_FOURCC_RGBX8888,
Uyvy = consts::DRM_FOURCC_UYVY,
Vuy101010 = consts::DRM_FOURCC_VUY101010,
Vuy888 = consts::DRM_FOURCC_VUY888,
Vyuy = consts::DRM_FOURCC_VYUY,
X0l0 = consts::DRM_FOURCC_X0L0,
X0l2 = consts::DRM_FOURCC_X0L2,
Xbgr1555 = consts::DRM_FOURCC_XBGR1555,
Xbgr16161616f = consts::DRM_FOURCC_XBGR16161616F,
Xbgr2101010 = consts::DRM_FOURCC_XBGR2101010,
Xbgr4444 = consts::DRM_FOURCC_XBGR4444,
Xbgr8888 = consts::DRM_FOURCC_XBGR8888,
Xrgb1555 = consts::DRM_FOURCC_XRGB1555,
Xrgb16161616f = consts::DRM_FOURCC_XRGB16161616F,
Xrgb2101010 = consts::DRM_FOURCC_XRGB2101010,
Xrgb4444 = consts::DRM_FOURCC_XRGB4444,
Xrgb8888 = consts::DRM_FOURCC_XRGB8888,
Xvyu16161616 = consts::DRM_FOURCC_XVYU16161616,
Xvyu2101010 = consts::DRM_FOURCC_XVYU2101010,
Xyuv8888 = consts::DRM_FOURCC_XYUV8888,
Y0l0 = consts::DRM_FOURCC_Y0L0,
Y0l2 = consts::DRM_FOURCC_Y0L2,
Y210 = consts::DRM_FOURCC_Y210,
Y212 = consts::DRM_FOURCC_Y212,
Y216 = consts::DRM_FOURCC_Y216,
Y410 = consts::DRM_FOURCC_Y410,
Y412 = consts::DRM_FOURCC_Y412,
Y416 = consts::DRM_FOURCC_Y416,
Yuv410 = consts::DRM_FOURCC_YUV410,
Yuv411 = consts::DRM_FOURCC_YUV411,
Yuv420 = consts::DRM_FOURCC_YUV420,
Yuv422 = consts::DRM_FOURCC_YUV422,
Yuv444 = consts::DRM_FOURCC_YUV444,
Yuyv = consts::DRM_FOURCC_YUYV,
Yvu410 = consts::DRM_FOURCC_YVU410,
Yvu411 = consts::DRM_FOURCC_YVU411,
Yvu420 = consts::DRM_FOURCC_YVU420,
Yvu422 = consts::DRM_FOURCC_YVU422,
Yvu444 = consts::DRM_FOURCC_YVU444,
Yvyu = consts::DRM_FOURCC_YVYU,
}
impl DrmFormat {
pub(crate) fn from_u32(n: u32) -> Option<Self> {
match n {
consts::DRM_FOURCC_ABGR1555 => Some(Self::Abgr1555),
consts::DRM_FOURCC_ABGR16161616F => Some(Self::Abgr16161616f),
consts::DRM_FOURCC_ABGR2101010 => Some(Self::Abgr2101010),
consts::DRM_FOURCC_ABGR4444 => Some(Self::Abgr4444),
consts::DRM_FOURCC_ABGR8888 => Some(Self::Abgr8888),
consts::DRM_FOURCC_ARGB1555 => Some(Self::Argb1555),
consts::DRM_FOURCC_ARGB16161616F => Some(Self::Argb16161616f),
consts::DRM_FOURCC_ARGB2101010 => Some(Self::Argb2101010),
consts::DRM_FOURCC_ARGB4444 => Some(Self::Argb4444),
consts::DRM_FOURCC_ARGB8888 => Some(Self::Argb8888),
consts::DRM_FOURCC_AYUV => Some(Self::Ayuv),
consts::DRM_FOURCC_BGR233 => Some(Self::Bgr233),
consts::DRM_FOURCC_BGR565 => Some(Self::Bgr565),
consts::DRM_FOURCC_BGR888 => Some(Self::Bgr888),
consts::DRM_FOURCC_BGRA1010102 => Some(Self::Bgra1010102),
consts::DRM_FOURCC_BGRA4444 => Some(Self::Bgra4444),
consts::DRM_FOURCC_BGRA5551 => Some(Self::Bgra5551),
consts::DRM_FOURCC_BGRA8888 => Some(Self::Bgra8888),
consts::DRM_FOURCC_BGRX1010102 => Some(Self::Bgrx1010102),
consts::DRM_FOURCC_BGRX4444 => Some(Self::Bgrx4444),
consts::DRM_FOURCC_BGRX5551 => Some(Self::Bgrx5551),
consts::DRM_FOURCC_BGRX8888 => Some(Self::Bgrx8888),
consts::DRM_FOURCC_C8 => Some(Self::C8),
consts::DRM_FOURCC_GR1616 => Some(Self::Gr1616),
consts::DRM_FOURCC_GR88 => Some(Self::Gr88),
consts::DRM_FOURCC_NV12 => Some(Self::Nv12),
consts::DRM_FOURCC_NV16 => Some(Self::Nv16),
consts::DRM_FOURCC_NV21 => Some(Self::Nv21),
consts::DRM_FOURCC_NV24 => Some(Self::Nv24),
consts::DRM_FOURCC_NV42 => Some(Self::Nv42),
consts::DRM_FOURCC_NV61 => Some(Self::Nv61),
consts::DRM_FOURCC_P010 => Some(Self::P010),
consts::DRM_FOURCC_P012 => Some(Self::P012),
consts::DRM_FOURCC_P016 => Some(Self::P016),
consts::DRM_FOURCC_P210 => Some(Self::P210),
consts::DRM_FOURCC_R16 => Some(Self::R16),
consts::DRM_FOURCC_R8 => Some(Self::R8),
consts::DRM_FOURCC_RG1616 => Some(Self::Rg1616),
consts::DRM_FOURCC_RG88 => Some(Self::Rg88),
consts::DRM_FOURCC_RGB332 => Some(Self::Rgb332),
consts::DRM_FOURCC_RGB565 => Some(Self::Rgb565),
consts::DRM_FOURCC_RGB888 => Some(Self::Rgb888),
consts::DRM_FOURCC_RGBA1010102 => Some(Self::Rgba1010102),
consts::DRM_FOURCC_RGBA4444 => Some(Self::Rgba4444),
consts::DRM_FOURCC_RGBA5551 => Some(Self::Rgba5551),
consts::DRM_FOURCC_RGBA8888 => Some(Self::Rgba8888),
consts::DRM_FOURCC_RGBX1010102 => Some(Self::Rgbx1010102),
consts::DRM_FOURCC_RGBX4444 => Some(Self::Rgbx4444),
consts::DRM_FOURCC_RGBX5551 => Some(Self::Rgbx5551),
consts::DRM_FOURCC_RGBX8888 => Some(Self::Rgbx8888),
consts::DRM_FOURCC_UYVY => Some(Self::Uyvy),
consts::DRM_FOURCC_VUY101010 => Some(Self::Vuy101010),
consts::DRM_FOURCC_VUY888 => Some(Self::Vuy888),
consts::DRM_FOURCC_VYUY => Some(Self::Vyuy),
consts::DRM_FOURCC_X0L0 => Some(Self::X0l0),
consts::DRM_FOURCC_X0L2 => Some(Self::X0l2),
consts::DRM_FOURCC_XBGR1555 => Some(Self::Xbgr1555),
consts::DRM_FOURCC_XBGR16161616F => Some(Self::Xbgr16161616f),
consts::DRM_FOURCC_XBGR2101010 => Some(Self::Xbgr2101010),
consts::DRM_FOURCC_XBGR4444 => Some(Self::Xbgr4444),
consts::DRM_FOURCC_XBGR8888 => Some(Self::Xbgr8888),
consts::DRM_FOURCC_XRGB1555 => Some(Self::Xrgb1555),
consts::DRM_FOURCC_XRGB16161616F => Some(Self::Xrgb16161616f),
consts::DRM_FOURCC_XRGB2101010 => Some(Self::Xrgb2101010),
consts::DRM_FOURCC_XRGB4444 => Some(Self::Xrgb4444),
consts::DRM_FOURCC_XRGB8888 => Some(Self::Xrgb8888),
consts::DRM_FOURCC_XVYU16161616 => Some(Self::Xvyu16161616),
consts::DRM_FOURCC_XVYU2101010 => Some(Self::Xvyu2101010),
consts::DRM_FOURCC_XYUV8888 => Some(Self::Xyuv8888),
consts::DRM_FOURCC_Y0L0 => Some(Self::Y0l0),
consts::DRM_FOURCC_Y0L2 => Some(Self::Y0l2),
consts::DRM_FOURCC_Y210 => Some(Self::Y210),
consts::DRM_FOURCC_Y212 => Some(Self::Y212),
consts::DRM_FOURCC_Y216 => Some(Self::Y216),
consts::DRM_FOURCC_Y410 => Some(Self::Y410),
consts::DRM_FOURCC_Y412 => Some(Self::Y412),
consts::DRM_FOURCC_Y416 => Some(Self::Y416),
consts::DRM_FOURCC_YUV410 => Some(Self::Yuv410),
consts::DRM_FOURCC_YUV411 => Some(Self::Yuv411),
consts::DRM_FOURCC_YUV420 => Some(Self::Yuv420),
consts::DRM_FOURCC_YUV422 => Some(Self::Yuv422),
consts::DRM_FOURCC_YUV444 => Some(Self::Yuv444),
consts::DRM_FOURCC_YUYV => Some(Self::Yuyv),
consts::DRM_FOURCC_YVU410 => Some(Self::Yvu410),
consts::DRM_FOURCC_YVU411 => Some(Self::Yvu411),
consts::DRM_FOURCC_YVU420 => Some(Self::Yvu420),
consts::DRM_FOURCC_YVU422 => Some(Self::Yvu422),
consts::DRM_FOURCC_YVU444 => Some(Self::Yvu444),
consts::DRM_FOURCC_YVYU => Some(Self::Yvyu),
_ => None,
}
}
}