util: move SampleFormat and PixelFormat to util::format

This commit is contained in:
meh 2015-05-13 23:36:08 +02:00
parent e48ee1e3eb
commit 5c402a1256
7 changed files with 767 additions and 764 deletions

View File

@ -1,5 +1,5 @@
pub use ::util::sample_format::SampleFormat as Sample; pub use ::util::format::Sample;
pub use ::util::pixel_format::PixelFormat as Pixel; pub use ::util::format::Pixel;
pub mod stream; pub mod stream;

5
src/util/format/mod.rs Normal file
View File

@ -0,0 +1,5 @@
pub mod sample;
pub use self::sample::Sample;
pub mod pixel;
pub use self::pixel::Pixel;

718
src/util/format/pixel.rs Normal file
View File

@ -0,0 +1,718 @@
use ffi::*;
#[derive(Eq, PartialEq, Copy, Clone, Debug)]
pub enum Pixel {
None,
YUV420P,
YUYV422,
RGB24,
BGR24,
YUV422P,
YUV444P,
YUV410P,
YUV411P,
GRAY8,
MonoWhite,
MonoBlack,
PAL8,
YUVJ420P,
YUVJ422P,
YUVJ444P,
XVMC_MPEG2_MC,
XVMC_MPEG2_IDCT,
UYVY422,
UYYVYY411,
BGR8,
BGR4,
BGR4_BYTE,
RGB8,
RGB4,
RGB4_BYTE,
NV12,
NV21,
ARGB,
RGBA,
ABGR,
BGRA,
GRAY16BE,
GRAY16LE,
YUV440P,
YUVJ440P,
YUVA420P,
VDPAU_H264,
VDPAU_MPEG1,
VDPAU_MPEG2,
VDPAU_WMV3,
VDPAU_VC1,
RGB48BE,
RGB48LE,
RGB565BE,
RGB565LE,
RGB555BE,
RGB555LE,
BGR565BE,
BGR565LE,
BGR555BE,
BGR555LE,
VAAPI_MOCO,
VAAPI_IDCT,
VAAPI_VLD,
YUV420P16LE,
YUV420P16BE,
YUV422P16LE,
YUV422P16BE,
YUV444P16LE,
YUV444P16BE,
VDPAU_MPEG4,
DXVA2_VLD,
RGB444LE,
RGB444BE,
BGR444LE,
BGR444BE,
YA8,
BGR48BE,
BGR48LE,
YUV420P9BE,
YUV420P9LE,
YUV420P10BE,
YUV420P10LE,
YUV422P10BE,
YUV422P10LE,
YUV444P9BE,
YUV444P9LE,
YUV444P10BE,
YUV444P10LE,
YUV422P9BE,
YUV422P9LE,
VDA_VLD,
GBRP,
GBRP9BE,
GBRP9LE,
GBRP10BE,
GBRP10LE,
GBRP16BE,
GBRP16LE,
YUVA422P_LIBAV,
YUVA444P_LIBAV,
YUVA420P9BE,
YUVA420P9LE,
YUVA422P9BE,
YUVA422P9LE,
YUVA444P9BE,
YUVA444P9LE,
YUVA420P10BE,
YUVA420P10LE,
YUVA422P10BE,
YUVA422P10LE,
YUVA444P10BE,
YUVA444P10LE,
YUVA420P16BE,
YUVA420P16LE,
YUVA422P16BE,
YUVA422P16LE,
YUVA444P16BE,
YUVA444P16LE,
VDPAU,
XYZ12LE,
XYZ12BE,
NV16,
NV20LE,
NV20BE,
RGBA64BE_LIBAV,
RGBA64LE_LIBAV,
BGRA64BE_LIBAV,
BGRA64LE_LIBAV,
YVYU422,
VDA,
YA16BE,
YA16LE,
GBRAP_LIBAV,
GBRAP16BE_LIBAV,
GBRAP16LE_LIBAV,
QSV,
ZRGB,
RGBZ,
ZBGR,
BGRZ,
YUVA444P,
YUVA422P,
YUV420P12BE,
YUV420P12LE,
YUV420P14BE,
YUV420P14LE,
YUV422P12BE,
YUV422P12LE,
YUV422P14BE,
YUV422P14LE,
YUV444P12BE,
YUV444P12LE,
YUV444P14BE,
YUV444P14LE,
GBRP12BE,
GBRP12LE,
GBRP14BE,
GBRP14LE,
GBRAP,
GBRAP16BE,
GBRAP16LE,
YUVJ411P,
BAYER_BGGR8,
BAYER_RGGB8,
BAYER_GBRG8,
BAYER_GRBG8,
BAYER_BGGR16LE,
BAYER_BGGR16BE,
BAYER_RGGB16LE,
BAYER_RGGB16BE,
BAYER_GBRG16LE,
BAYER_GBRG16BE,
BAYER_GRBG16LE,
BAYER_GRBG16BE,
// --- defaults
XVMC,
Y400A,
GRAY8A,
GBR24P,
RGB32,
RGB32_1,
BGR32,
BGR32_1,
ZRGB32,
ZBGR32,
GRAY16,
YA16,
RGB48,
RGB565,
RGB555,
RGB444,
BGR48,
BGR565,
BGR555,
BGR444,
YUV420P9,
YUV422P9,
YUV444P9,
YUV420P10,
YUV422P10,
YUV444P10,
YUV420P12,
YUV422P12,
YUV444P12,
YUV420P14,
YUV422P14,
YUV444P14,
YUV420P16,
YUV422P16,
YUV444P16,
GBRP9,
GBRP10,
GBRP12,
GBRP14,
GBRP16,
GBRAP16,
BAYER_BGGR16,
BAYER_RGGB16,
BAYER_GBRG16,
BAYER_GRBG16,
YUVA420P9,
YUVA422P9,
YUVA444P9,
YUVA420P10,
YUVA422P10,
YUVA444P10,
YUVA420P16,
YUVA422P16,
YUVA444P16,
XYZ12,
NV20,
}
impl From<AVPixelFormat> for Pixel {
fn from(value: AVPixelFormat) -> Self {
match value {
AV_PIX_FMT_NONE => Pixel::None,
AV_PIX_FMT_YUV420P => Pixel::YUV420P,
AV_PIX_FMT_YUYV422 => Pixel::YUYV422,
AV_PIX_FMT_RGB24 => Pixel::RGB24,
AV_PIX_FMT_BGR24 => Pixel::BGR24,
AV_PIX_FMT_YUV422P => Pixel::YUV422P,
AV_PIX_FMT_YUV444P => Pixel::YUV444P,
AV_PIX_FMT_YUV410P => Pixel::YUV410P,
AV_PIX_FMT_YUV411P => Pixel::YUV411P,
AV_PIX_FMT_GRAY8 => Pixel::GRAY8,
AV_PIX_FMT_MONOWHITE => Pixel::MonoWhite,
AV_PIX_FMT_MONOBLACK => Pixel::MonoBlack,
AV_PIX_FMT_PAL8 => Pixel::PAL8,
AV_PIX_FMT_YUVJ420P => Pixel::YUVJ420P,
AV_PIX_FMT_YUVJ422P => Pixel::YUVJ422P,
AV_PIX_FMT_YUVJ444P => Pixel::YUVJ444P,
AV_PIX_FMT_XVMC_MPEG2_MC => Pixel::XVMC_MPEG2_MC,
AV_PIX_FMT_XVMC_MPEG2_IDCT => Pixel::XVMC_MPEG2_IDCT,
AV_PIX_FMT_UYVY422 => Pixel::UYVY422,
AV_PIX_FMT_UYYVYY411 => Pixel::UYYVYY411,
AV_PIX_FMT_BGR8 => Pixel::BGR8,
AV_PIX_FMT_BGR4 => Pixel::BGR4,
AV_PIX_FMT_BGR4_BYTE => Pixel::BGR4_BYTE,
AV_PIX_FMT_RGB8 => Pixel::RGB8,
AV_PIX_FMT_RGB4 => Pixel::RGB4,
AV_PIX_FMT_RGB4_BYTE => Pixel::RGB4_BYTE,
AV_PIX_FMT_NV12 => Pixel::NV12,
AV_PIX_FMT_NV21 => Pixel::NV21,
AV_PIX_FMT_ARGB => Pixel::ARGB,
AV_PIX_FMT_RGBA => Pixel::RGBA,
AV_PIX_FMT_ABGR => Pixel::ABGR,
AV_PIX_FMT_BGRA => Pixel::BGRA,
AV_PIX_FMT_GRAY16BE => Pixel::GRAY16BE,
AV_PIX_FMT_GRAY16LE => Pixel::GRAY16LE,
AV_PIX_FMT_YUV440P => Pixel::YUV440P,
AV_PIX_FMT_YUVJ440P => Pixel::YUVJ440P,
AV_PIX_FMT_YUVA420P => Pixel::YUVA420P,
AV_PIX_FMT_VDPAU_H264 => Pixel::VDPAU_H264,
AV_PIX_FMT_VDPAU_MPEG1 => Pixel::VDPAU_MPEG1,
AV_PIX_FMT_VDPAU_MPEG2 => Pixel::VDPAU_MPEG2,
AV_PIX_FMT_VDPAU_WMV3 => Pixel::VDPAU_WMV3,
AV_PIX_FMT_VDPAU_VC1 => Pixel::VDPAU_VC1,
AV_PIX_FMT_RGB48BE => Pixel::RGB48BE,
AV_PIX_FMT_RGB48LE => Pixel::RGB48LE,
AV_PIX_FMT_RGB565BE => Pixel::RGB565BE,
AV_PIX_FMT_RGB565LE => Pixel::RGB565LE,
AV_PIX_FMT_RGB555BE => Pixel::RGB555BE,
AV_PIX_FMT_RGB555LE => Pixel::RGB555LE,
AV_PIX_FMT_BGR565BE => Pixel::BGR565BE,
AV_PIX_FMT_BGR565LE => Pixel::BGR565LE,
AV_PIX_FMT_BGR555BE => Pixel::BGR555BE,
AV_PIX_FMT_BGR555LE => Pixel::BGR555LE,
AV_PIX_FMT_VAAPI_MOCO => Pixel::VAAPI_MOCO,
AV_PIX_FMT_VAAPI_IDCT => Pixel::VAAPI_IDCT,
AV_PIX_FMT_VAAPI_VLD => Pixel::VAAPI_VLD,
AV_PIX_FMT_YUV420P16LE => Pixel::YUV420P16LE,
AV_PIX_FMT_YUV420P16BE => Pixel::YUV420P16BE,
AV_PIX_FMT_YUV422P16LE => Pixel::YUV422P16LE,
AV_PIX_FMT_YUV422P16BE => Pixel::YUV422P16BE,
AV_PIX_FMT_YUV444P16LE => Pixel::YUV444P16LE,
AV_PIX_FMT_YUV444P16BE => Pixel::YUV444P16BE,
AV_PIX_FMT_VDPAU_MPEG4 => Pixel::VDPAU_MPEG4,
AV_PIX_FMT_DXVA2_VLD => Pixel::DXVA2_VLD,
AV_PIX_FMT_RGB444LE => Pixel::RGB444LE,
AV_PIX_FMT_RGB444BE => Pixel::RGB444BE,
AV_PIX_FMT_BGR444LE => Pixel::BGR444LE,
AV_PIX_FMT_BGR444BE => Pixel::BGR444BE,
AV_PIX_FMT_YA8 => Pixel::YA8,
AV_PIX_FMT_BGR48BE => Pixel::BGR48BE,
AV_PIX_FMT_BGR48LE => Pixel::BGR48LE,
AV_PIX_FMT_YUV420P9BE => Pixel::YUV420P9BE,
AV_PIX_FMT_YUV420P9LE => Pixel::YUV420P9LE,
AV_PIX_FMT_YUV420P10BE => Pixel::YUV420P10BE,
AV_PIX_FMT_YUV420P10LE => Pixel::YUV420P10LE,
AV_PIX_FMT_YUV422P10BE => Pixel::YUV422P10BE,
AV_PIX_FMT_YUV422P10LE => Pixel::YUV422P10LE,
AV_PIX_FMT_YUV444P9BE => Pixel::YUV444P9BE,
AV_PIX_FMT_YUV444P9LE => Pixel::YUV444P9LE,
AV_PIX_FMT_YUV444P10BE => Pixel::YUV444P10BE,
AV_PIX_FMT_YUV444P10LE => Pixel::YUV444P10LE,
AV_PIX_FMT_YUV422P9BE => Pixel::YUV422P9BE,
AV_PIX_FMT_YUV422P9LE => Pixel::YUV422P9LE,
AV_PIX_FMT_VDA_VLD => Pixel::VDA_VLD,
AV_PIX_FMT_GBRP => Pixel::GBRP,
AV_PIX_FMT_GBRP9BE => Pixel::GBRP9BE,
AV_PIX_FMT_GBRP9LE => Pixel::GBRP9LE,
AV_PIX_FMT_GBRP10BE => Pixel::GBRP10BE,
AV_PIX_FMT_GBRP10LE => Pixel::GBRP10LE,
AV_PIX_FMT_GBRP16BE => Pixel::GBRP16BE,
AV_PIX_FMT_GBRP16LE => Pixel::GBRP16LE,
AV_PIX_FMT_YUVA422P_LIBAV => Pixel::YUVA422P_LIBAV,
AV_PIX_FMT_YUVA444P_LIBAV => Pixel::YUVA444P_LIBAV,
AV_PIX_FMT_YUVA420P9BE => Pixel::YUVA420P9BE,
AV_PIX_FMT_YUVA420P9LE => Pixel::YUVA420P9LE,
AV_PIX_FMT_YUVA422P9BE => Pixel::YUVA422P9BE,
AV_PIX_FMT_YUVA422P9LE => Pixel::YUVA422P9LE,
AV_PIX_FMT_YUVA444P9BE => Pixel::YUVA444P9BE,
AV_PIX_FMT_YUVA444P9LE => Pixel::YUVA444P9LE,
AV_PIX_FMT_YUVA420P10BE => Pixel::YUVA420P10BE,
AV_PIX_FMT_YUVA420P10LE => Pixel::YUVA420P10LE,
AV_PIX_FMT_YUVA422P10BE => Pixel::YUVA422P10BE,
AV_PIX_FMT_YUVA422P10LE => Pixel::YUVA422P10LE,
AV_PIX_FMT_YUVA444P10BE => Pixel::YUVA444P10BE,
AV_PIX_FMT_YUVA444P10LE => Pixel::YUVA444P10LE,
AV_PIX_FMT_YUVA420P16BE => Pixel::YUVA420P16BE,
AV_PIX_FMT_YUVA420P16LE => Pixel::YUVA420P16LE,
AV_PIX_FMT_YUVA422P16BE => Pixel::YUVA422P16BE,
AV_PIX_FMT_YUVA422P16LE => Pixel::YUVA422P16LE,
AV_PIX_FMT_YUVA444P16BE => Pixel::YUVA444P16BE,
AV_PIX_FMT_YUVA444P16LE => Pixel::YUVA444P16LE,
AV_PIX_FMT_VDPAU => Pixel::VDPAU,
AV_PIX_FMT_XYZ12LE => Pixel::XYZ12LE,
AV_PIX_FMT_XYZ12BE => Pixel::XYZ12BE,
AV_PIX_FMT_NV16 => Pixel::NV16,
AV_PIX_FMT_NV20LE => Pixel::NV20LE,
AV_PIX_FMT_NV20BE => Pixel::NV20BE,
AV_PIX_FMT_RGBA64BE_LIBAV => Pixel::RGBA64BE_LIBAV,
AV_PIX_FMT_RGBA64LE_LIBAV => Pixel::RGBA64LE_LIBAV,
AV_PIX_FMT_BGRA64BE_LIBAV => Pixel::BGRA64BE_LIBAV,
AV_PIX_FMT_BGRA64LE_LIBAV => Pixel::BGRA64LE_LIBAV,
AV_PIX_FMT_YVYU422 => Pixel::YVYU422,
AV_PIX_FMT_VDA => Pixel::VDA,
AV_PIX_FMT_YA16BE => Pixel::YA16BE,
AV_PIX_FMT_YA16LE => Pixel::YA16LE,
AV_PIX_FMT_GBRAP_LIBAV => Pixel::GBRAP_LIBAV,
AV_PIX_FMT_GBRAP16BE_LIBAV => Pixel::GBRAP16BE_LIBAV,
AV_PIX_FMT_GBRAP16LE_LIBAV => Pixel::GBRAP16LE_LIBAV,
AV_PIX_FMT_QSV => Pixel::QSV,
AV_PIX_FMT_0RGB => Pixel::ZRGB,
AV_PIX_FMT_RGB0 => Pixel::RGBZ,
AV_PIX_FMT_0BGR => Pixel::ZBGR,
AV_PIX_FMT_BGR0 => Pixel::BGRZ,
AV_PIX_FMT_YUVA444P => Pixel::YUVA444P,
AV_PIX_FMT_YUVA422P => Pixel::YUVA422P,
AV_PIX_FMT_YUV420P12BE => Pixel::YUV420P12BE,
AV_PIX_FMT_YUV420P12LE => Pixel::YUV420P12LE,
AV_PIX_FMT_YUV420P14BE => Pixel::YUV420P14BE,
AV_PIX_FMT_YUV420P14LE => Pixel::YUV420P14LE,
AV_PIX_FMT_YUV422P12BE => Pixel::YUV422P12BE,
AV_PIX_FMT_YUV422P12LE => Pixel::YUV422P12LE,
AV_PIX_FMT_YUV422P14BE => Pixel::YUV422P14BE,
AV_PIX_FMT_YUV422P14LE => Pixel::YUV422P14LE,
AV_PIX_FMT_YUV444P12BE => Pixel::YUV444P12BE,
AV_PIX_FMT_YUV444P12LE => Pixel::YUV444P12LE,
AV_PIX_FMT_YUV444P14BE => Pixel::YUV444P14BE,
AV_PIX_FMT_YUV444P14LE => Pixel::YUV444P14LE,
AV_PIX_FMT_GBRP12BE => Pixel::GBRP12BE,
AV_PIX_FMT_GBRP12LE => Pixel::GBRP12LE,
AV_PIX_FMT_GBRP14BE => Pixel::GBRP14BE,
AV_PIX_FMT_GBRP14LE => Pixel::GBRP14LE,
AV_PIX_FMT_GBRAP => Pixel::GBRAP,
AV_PIX_FMT_GBRAP16BE => Pixel::GBRAP16BE,
AV_PIX_FMT_GBRAP16LE => Pixel::GBRAP16LE,
AV_PIX_FMT_YUVJ411P => Pixel::YUVJ411P,
AV_PIX_FMT_BAYER_BGGR8 => Pixel::BAYER_BGGR8,
AV_PIX_FMT_BAYER_RGGB8 => Pixel::BAYER_RGGB8,
AV_PIX_FMT_BAYER_GBRG8 => Pixel::BAYER_GBRG8,
AV_PIX_FMT_BAYER_GRBG8 => Pixel::BAYER_GRBG8,
AV_PIX_FMT_BAYER_BGGR16LE => Pixel::BAYER_BGGR16LE,
AV_PIX_FMT_BAYER_BGGR16BE => Pixel::BAYER_BGGR16BE,
AV_PIX_FMT_BAYER_RGGB16LE => Pixel::BAYER_RGGB16LE,
AV_PIX_FMT_BAYER_RGGB16BE => Pixel::BAYER_RGGB16BE,
AV_PIX_FMT_BAYER_GBRG16LE => Pixel::BAYER_GBRG16LE,
AV_PIX_FMT_BAYER_GBRG16BE => Pixel::BAYER_GBRG16BE,
AV_PIX_FMT_BAYER_GRBG16LE => Pixel::BAYER_GRBG16LE,
AV_PIX_FMT_BAYER_GRBG16BE => Pixel::BAYER_GRBG16BE,
AV_PIX_FMT_NB => Pixel::None
}
}
}
impl Into<AVPixelFormat> for Pixel {
fn into(self) -> AVPixelFormat {
match self {
Pixel::None => AV_PIX_FMT_NONE,
Pixel::YUV420P => AV_PIX_FMT_YUV420P,
Pixel::YUYV422 => AV_PIX_FMT_YUYV422,
Pixel::RGB24 => AV_PIX_FMT_RGB24,
Pixel::BGR24 => AV_PIX_FMT_BGR24,
Pixel::YUV422P => AV_PIX_FMT_YUV422P,
Pixel::YUV444P => AV_PIX_FMT_YUV444P,
Pixel::YUV410P => AV_PIX_FMT_YUV410P,
Pixel::YUV411P => AV_PIX_FMT_YUV411P,
Pixel::GRAY8 => AV_PIX_FMT_GRAY8,
Pixel::MonoWhite => AV_PIX_FMT_MONOWHITE,
Pixel::MonoBlack => AV_PIX_FMT_MONOBLACK,
Pixel::PAL8 => AV_PIX_FMT_PAL8,
Pixel::YUVJ420P => AV_PIX_FMT_YUVJ420P,
Pixel::YUVJ422P => AV_PIX_FMT_YUVJ422P,
Pixel::YUVJ444P => AV_PIX_FMT_YUVJ444P,
Pixel::XVMC_MPEG2_MC => AV_PIX_FMT_XVMC_MPEG2_MC,
Pixel::XVMC_MPEG2_IDCT => AV_PIX_FMT_XVMC_MPEG2_IDCT,
Pixel::UYVY422 => AV_PIX_FMT_UYVY422,
Pixel::UYYVYY411 => AV_PIX_FMT_UYYVYY411,
Pixel::BGR8 => AV_PIX_FMT_BGR8,
Pixel::BGR4 => AV_PIX_FMT_BGR4,
Pixel::BGR4_BYTE => AV_PIX_FMT_BGR4_BYTE,
Pixel::RGB8 => AV_PIX_FMT_RGB8,
Pixel::RGB4 => AV_PIX_FMT_RGB4,
Pixel::RGB4_BYTE => AV_PIX_FMT_RGB4_BYTE,
Pixel::NV12 => AV_PIX_FMT_NV12,
Pixel::NV21 => AV_PIX_FMT_NV21,
Pixel::ARGB => AV_PIX_FMT_ARGB,
Pixel::RGBA => AV_PIX_FMT_RGBA,
Pixel::ABGR => AV_PIX_FMT_ABGR,
Pixel::BGRA => AV_PIX_FMT_BGRA,
Pixel::GRAY16BE => AV_PIX_FMT_GRAY16BE,
Pixel::GRAY16LE => AV_PIX_FMT_GRAY16LE,
Pixel::YUV440P => AV_PIX_FMT_YUV440P,
Pixel::YUVJ440P => AV_PIX_FMT_YUVJ440P,
Pixel::YUVA420P => AV_PIX_FMT_YUVA420P,
Pixel::VDPAU_H264 => AV_PIX_FMT_VDPAU_H264,
Pixel::VDPAU_MPEG1 => AV_PIX_FMT_VDPAU_MPEG1,
Pixel::VDPAU_MPEG2 => AV_PIX_FMT_VDPAU_MPEG2,
Pixel::VDPAU_WMV3 => AV_PIX_FMT_VDPAU_WMV3,
Pixel::VDPAU_VC1 => AV_PIX_FMT_VDPAU_VC1,
Pixel::RGB48BE => AV_PIX_FMT_RGB48BE,
Pixel::RGB48LE => AV_PIX_FMT_RGB48LE,
Pixel::RGB565BE => AV_PIX_FMT_RGB565BE,
Pixel::RGB565LE => AV_PIX_FMT_RGB565LE,
Pixel::RGB555BE => AV_PIX_FMT_RGB555BE,
Pixel::RGB555LE => AV_PIX_FMT_RGB555LE,
Pixel::BGR565BE => AV_PIX_FMT_BGR565BE,
Pixel::BGR565LE => AV_PIX_FMT_BGR565LE,
Pixel::BGR555BE => AV_PIX_FMT_BGR555BE,
Pixel::BGR555LE => AV_PIX_FMT_BGR555LE,
Pixel::VAAPI_MOCO => AV_PIX_FMT_VAAPI_MOCO,
Pixel::VAAPI_IDCT => AV_PIX_FMT_VAAPI_IDCT,
Pixel::VAAPI_VLD => AV_PIX_FMT_VAAPI_VLD,
Pixel::YUV420P16LE => AV_PIX_FMT_YUV420P16LE,
Pixel::YUV420P16BE => AV_PIX_FMT_YUV420P16BE,
Pixel::YUV422P16LE => AV_PIX_FMT_YUV422P16LE,
Pixel::YUV422P16BE => AV_PIX_FMT_YUV422P16BE,
Pixel::YUV444P16LE => AV_PIX_FMT_YUV444P16LE,
Pixel::YUV444P16BE => AV_PIX_FMT_YUV444P16BE,
Pixel::VDPAU_MPEG4 => AV_PIX_FMT_VDPAU_MPEG4,
Pixel::DXVA2_VLD => AV_PIX_FMT_DXVA2_VLD,
Pixel::RGB444LE => AV_PIX_FMT_RGB444LE,
Pixel::RGB444BE => AV_PIX_FMT_RGB444BE,
Pixel::BGR444LE => AV_PIX_FMT_BGR444LE,
Pixel::BGR444BE => AV_PIX_FMT_BGR444BE,
Pixel::YA8 => AV_PIX_FMT_YA8,
Pixel::BGR48BE => AV_PIX_FMT_BGR48BE,
Pixel::BGR48LE => AV_PIX_FMT_BGR48LE,
Pixel::YUV420P9BE => AV_PIX_FMT_YUV420P9BE,
Pixel::YUV420P9LE => AV_PIX_FMT_YUV420P9LE,
Pixel::YUV420P10BE => AV_PIX_FMT_YUV420P10BE,
Pixel::YUV420P10LE => AV_PIX_FMT_YUV420P10LE,
Pixel::YUV422P10BE => AV_PIX_FMT_YUV422P10BE,
Pixel::YUV422P10LE => AV_PIX_FMT_YUV422P10LE,
Pixel::YUV444P9BE => AV_PIX_FMT_YUV444P9BE,
Pixel::YUV444P9LE => AV_PIX_FMT_YUV444P9LE,
Pixel::YUV444P10BE => AV_PIX_FMT_YUV444P10BE,
Pixel::YUV444P10LE => AV_PIX_FMT_YUV444P10LE,
Pixel::YUV422P9BE => AV_PIX_FMT_YUV422P9BE,
Pixel::YUV422P9LE => AV_PIX_FMT_YUV422P9LE,
Pixel::VDA_VLD => AV_PIX_FMT_VDA_VLD,
Pixel::GBRP => AV_PIX_FMT_GBRP,
Pixel::GBRP9BE => AV_PIX_FMT_GBRP9BE,
Pixel::GBRP9LE => AV_PIX_FMT_GBRP9LE,
Pixel::GBRP10BE => AV_PIX_FMT_GBRP10BE,
Pixel::GBRP10LE => AV_PIX_FMT_GBRP10LE,
Pixel::GBRP16BE => AV_PIX_FMT_GBRP16BE,
Pixel::GBRP16LE => AV_PIX_FMT_GBRP16LE,
Pixel::YUVA422P_LIBAV => AV_PIX_FMT_YUVA422P_LIBAV,
Pixel::YUVA444P_LIBAV => AV_PIX_FMT_YUVA444P_LIBAV,
Pixel::YUVA420P9BE => AV_PIX_FMT_YUVA420P9BE,
Pixel::YUVA420P9LE => AV_PIX_FMT_YUVA420P9LE,
Pixel::YUVA422P9BE => AV_PIX_FMT_YUVA422P9BE,
Pixel::YUVA422P9LE => AV_PIX_FMT_YUVA422P9LE,
Pixel::YUVA444P9BE => AV_PIX_FMT_YUVA444P9BE,
Pixel::YUVA444P9LE => AV_PIX_FMT_YUVA444P9LE,
Pixel::YUVA420P10BE => AV_PIX_FMT_YUVA420P10BE,
Pixel::YUVA420P10LE => AV_PIX_FMT_YUVA420P10LE,
Pixel::YUVA422P10BE => AV_PIX_FMT_YUVA422P10BE,
Pixel::YUVA422P10LE => AV_PIX_FMT_YUVA422P10LE,
Pixel::YUVA444P10BE => AV_PIX_FMT_YUVA444P10BE,
Pixel::YUVA444P10LE => AV_PIX_FMT_YUVA444P10LE,
Pixel::YUVA420P16BE => AV_PIX_FMT_YUVA420P16BE,
Pixel::YUVA420P16LE => AV_PIX_FMT_YUVA420P16LE,
Pixel::YUVA422P16BE => AV_PIX_FMT_YUVA422P16BE,
Pixel::YUVA422P16LE => AV_PIX_FMT_YUVA422P16LE,
Pixel::YUVA444P16BE => AV_PIX_FMT_YUVA444P16BE,
Pixel::YUVA444P16LE => AV_PIX_FMT_YUVA444P16LE,
Pixel::VDPAU => AV_PIX_FMT_VDPAU,
Pixel::XYZ12LE => AV_PIX_FMT_XYZ12LE,
Pixel::XYZ12BE => AV_PIX_FMT_XYZ12BE,
Pixel::NV16 => AV_PIX_FMT_NV16,
Pixel::NV20LE => AV_PIX_FMT_NV20LE,
Pixel::NV20BE => AV_PIX_FMT_NV20BE,
Pixel::RGBA64BE_LIBAV => AV_PIX_FMT_RGBA64BE_LIBAV,
Pixel::RGBA64LE_LIBAV => AV_PIX_FMT_RGBA64LE_LIBAV,
Pixel::BGRA64BE_LIBAV => AV_PIX_FMT_BGRA64BE_LIBAV,
Pixel::BGRA64LE_LIBAV => AV_PIX_FMT_BGRA64LE_LIBAV,
Pixel::YVYU422 => AV_PIX_FMT_YVYU422,
Pixel::VDA => AV_PIX_FMT_VDA,
Pixel::YA16BE => AV_PIX_FMT_YA16BE,
Pixel::YA16LE => AV_PIX_FMT_YA16LE,
Pixel::GBRAP_LIBAV => AV_PIX_FMT_GBRAP_LIBAV,
Pixel::GBRAP16BE_LIBAV => AV_PIX_FMT_GBRAP16BE_LIBAV,
Pixel::GBRAP16LE_LIBAV => AV_PIX_FMT_GBRAP16LE_LIBAV,
Pixel::QSV => AV_PIX_FMT_QSV,
Pixel::ZRGB => AV_PIX_FMT_0RGB,
Pixel::RGBZ => AV_PIX_FMT_RGB0,
Pixel::ZBGR => AV_PIX_FMT_0BGR,
Pixel::BGRZ => AV_PIX_FMT_BGR0,
Pixel::YUVA444P => AV_PIX_FMT_YUVA444P,
Pixel::YUVA422P => AV_PIX_FMT_YUVA422P,
Pixel::YUV420P12BE => AV_PIX_FMT_YUV420P12BE,
Pixel::YUV420P12LE => AV_PIX_FMT_YUV420P12LE,
Pixel::YUV420P14BE => AV_PIX_FMT_YUV420P14BE,
Pixel::YUV420P14LE => AV_PIX_FMT_YUV420P14LE,
Pixel::YUV422P12BE => AV_PIX_FMT_YUV422P12BE,
Pixel::YUV422P12LE => AV_PIX_FMT_YUV422P12LE,
Pixel::YUV422P14BE => AV_PIX_FMT_YUV422P14BE,
Pixel::YUV422P14LE => AV_PIX_FMT_YUV422P14LE,
Pixel::YUV444P12BE => AV_PIX_FMT_YUV444P12BE,
Pixel::YUV444P12LE => AV_PIX_FMT_YUV444P12LE,
Pixel::YUV444P14BE => AV_PIX_FMT_YUV444P14BE,
Pixel::YUV444P14LE => AV_PIX_FMT_YUV444P14LE,
Pixel::GBRP12BE => AV_PIX_FMT_GBRP12BE,
Pixel::GBRP12LE => AV_PIX_FMT_GBRP12LE,
Pixel::GBRP14BE => AV_PIX_FMT_GBRP14BE,
Pixel::GBRP14LE => AV_PIX_FMT_GBRP14LE,
Pixel::GBRAP => AV_PIX_FMT_GBRAP,
Pixel::GBRAP16BE => AV_PIX_FMT_GBRAP16BE,
Pixel::GBRAP16LE => AV_PIX_FMT_GBRAP16LE,
Pixel::YUVJ411P => AV_PIX_FMT_YUVJ411P,
Pixel::BAYER_BGGR8 => AV_PIX_FMT_BAYER_BGGR8,
Pixel::BAYER_RGGB8 => AV_PIX_FMT_BAYER_RGGB8,
Pixel::BAYER_GBRG8 => AV_PIX_FMT_BAYER_GBRG8,
Pixel::BAYER_GRBG8 => AV_PIX_FMT_BAYER_GRBG8,
Pixel::BAYER_BGGR16LE => AV_PIX_FMT_BAYER_BGGR16LE,
Pixel::BAYER_BGGR16BE => AV_PIX_FMT_BAYER_BGGR16BE,
Pixel::BAYER_RGGB16LE => AV_PIX_FMT_BAYER_RGGB16LE,
Pixel::BAYER_RGGB16BE => AV_PIX_FMT_BAYER_RGGB16BE,
Pixel::BAYER_GBRG16LE => AV_PIX_FMT_BAYER_GBRG16LE,
Pixel::BAYER_GBRG16BE => AV_PIX_FMT_BAYER_GBRG16BE,
Pixel::BAYER_GRBG16LE => AV_PIX_FMT_BAYER_GRBG16LE,
Pixel::BAYER_GRBG16BE => AV_PIX_FMT_BAYER_GRBG16BE,
// --- defaults
Pixel::XVMC => AV_PIX_FMT_XVMC,
Pixel::Y400A => AV_PIX_FMT_Y400A,
Pixel::GRAY8A => AV_PIX_FMT_GRAY8A,
Pixel::GBR24P => AV_PIX_FMT_GBR24P,
Pixel::RGB32 => AV_PIX_FMT_RGB32,
Pixel::RGB32_1 => AV_PIX_FMT_RGB32_1,
Pixel::BGR32 => AV_PIX_FMT_BGR32,
Pixel::BGR32_1 => AV_PIX_FMT_BGR32_1,
Pixel::ZRGB32 => AV_PIX_FMT_0RGB32,
Pixel::ZBGR32 => AV_PIX_FMT_0BGR32,
Pixel::GRAY16 => AV_PIX_FMT_GRAY16,
Pixel::YA16 => AV_PIX_FMT_YA16,
Pixel::RGB48 => AV_PIX_FMT_RGB48,
Pixel::RGB565 => AV_PIX_FMT_RGB565,
Pixel::RGB555 => AV_PIX_FMT_RGB555,
Pixel::RGB444 => AV_PIX_FMT_RGB444,
Pixel::BGR48 => AV_PIX_FMT_BGR48,
Pixel::BGR565 => AV_PIX_FMT_BGR565,
Pixel::BGR555 => AV_PIX_FMT_BGR555,
Pixel::BGR444 => AV_PIX_FMT_BGR444,
Pixel::YUV420P9 => AV_PIX_FMT_YUV420P9,
Pixel::YUV422P9 => AV_PIX_FMT_YUV422P9,
Pixel::YUV444P9 => AV_PIX_FMT_YUV444P9,
Pixel::YUV420P10 => AV_PIX_FMT_YUV420P10,
Pixel::YUV422P10 => AV_PIX_FMT_YUV422P10,
Pixel::YUV444P10 => AV_PIX_FMT_YUV444P10,
Pixel::YUV420P12 => AV_PIX_FMT_YUV420P12,
Pixel::YUV422P12 => AV_PIX_FMT_YUV422P12,
Pixel::YUV444P12 => AV_PIX_FMT_YUV444P12,
Pixel::YUV420P14 => AV_PIX_FMT_YUV420P14,
Pixel::YUV422P14 => AV_PIX_FMT_YUV422P14,
Pixel::YUV444P14 => AV_PIX_FMT_YUV444P14,
Pixel::YUV420P16 => AV_PIX_FMT_YUV420P16,
Pixel::YUV422P16 => AV_PIX_FMT_YUV422P16,
Pixel::YUV444P16 => AV_PIX_FMT_YUV444P16,
Pixel::GBRP9 => AV_PIX_FMT_GBRP9,
Pixel::GBRP10 => AV_PIX_FMT_GBRP10,
Pixel::GBRP12 => AV_PIX_FMT_GBRP12,
Pixel::GBRP14 => AV_PIX_FMT_GBRP14,
Pixel::GBRP16 => AV_PIX_FMT_GBRP16,
Pixel::GBRAP16 => AV_PIX_FMT_GBRAP16,
Pixel::BAYER_BGGR16 => AV_PIX_FMT_BAYER_BGGR16,
Pixel::BAYER_RGGB16 => AV_PIX_FMT_BAYER_RGGB16,
Pixel::BAYER_GBRG16 => AV_PIX_FMT_BAYER_GBRG16,
Pixel::BAYER_GRBG16 => AV_PIX_FMT_BAYER_GRBG16,
Pixel::YUVA420P9 => AV_PIX_FMT_YUVA420P9,
Pixel::YUVA422P9 => AV_PIX_FMT_YUVA422P9,
Pixel::YUVA444P9 => AV_PIX_FMT_YUVA444P9,
Pixel::YUVA420P10 => AV_PIX_FMT_YUVA420P10,
Pixel::YUVA422P10 => AV_PIX_FMT_YUVA422P10,
Pixel::YUVA444P10 => AV_PIX_FMT_YUVA444P10,
Pixel::YUVA420P16 => AV_PIX_FMT_YUVA420P16,
Pixel::YUVA422P16 => AV_PIX_FMT_YUVA422P16,
Pixel::YUVA444P16 => AV_PIX_FMT_YUVA444P16,
Pixel::XYZ12 => AV_PIX_FMT_XYZ12,
Pixel::NV20 => AV_PIX_FMT_NV20,
}
}
}

View File

@ -9,7 +9,7 @@ use libc::{c_int, uint8_t};
use ffi::*; use ffi::*;
#[derive(Eq, PartialEq, Copy, Clone, Debug)] #[derive(Eq, PartialEq, Copy, Clone, Debug)]
pub enum SampleFormat { pub enum Sample {
None, None,
U8, U8,
S16, S16,
@ -24,7 +24,7 @@ pub enum SampleFormat {
DBLP, DBLP,
} }
impl SampleFormat { impl Sample {
pub fn name(&self) -> &'static str { pub fn name(&self) -> &'static str {
unsafe { unsafe {
from_utf8_unchecked(CStr::from_ptr(av_get_sample_fmt_name((*self).into())).to_bytes()) from_utf8_unchecked(CStr::from_ptr(av_get_sample_fmt_name((*self).into())).to_bytes())
@ -33,13 +33,13 @@ impl SampleFormat {
pub fn packed(&self) -> Self { pub fn packed(&self) -> Self {
unsafe { unsafe {
SampleFormat::from(av_get_packed_sample_fmt((*self).into())) Sample::from(av_get_packed_sample_fmt((*self).into()))
} }
} }
pub fn planar(&self) -> Self { pub fn planar(&self) -> Self {
unsafe { unsafe {
SampleFormat::from(av_get_planar_sample_fmt((*self).into())) Sample::from(av_get_planar_sample_fmt((*self).into()))
} }
} }
@ -60,56 +60,56 @@ impl SampleFormat {
} }
} }
impl From<AVSampleFormat> for SampleFormat { impl From<AVSampleFormat> for Sample {
fn from(value: AVSampleFormat) -> Self { fn from(value: AVSampleFormat) -> Self {
match value { match value {
AV_SAMPLE_FMT_NONE => SampleFormat::None, AV_SAMPLE_FMT_NONE => Sample::None,
AV_SAMPLE_FMT_U8 => SampleFormat::U8, AV_SAMPLE_FMT_U8 => Sample::U8,
AV_SAMPLE_FMT_S16 => SampleFormat::S16, AV_SAMPLE_FMT_S16 => Sample::S16,
AV_SAMPLE_FMT_S32 => SampleFormat::S32, AV_SAMPLE_FMT_S32 => Sample::S32,
AV_SAMPLE_FMT_FLT => SampleFormat::FLT, AV_SAMPLE_FMT_FLT => Sample::FLT,
AV_SAMPLE_FMT_DBL => SampleFormat::DBL, AV_SAMPLE_FMT_DBL => Sample::DBL,
AV_SAMPLE_FMT_U8P => SampleFormat::U8P, AV_SAMPLE_FMT_U8P => Sample::U8P,
AV_SAMPLE_FMT_S16P => SampleFormat::S16P, AV_SAMPLE_FMT_S16P => Sample::S16P,
AV_SAMPLE_FMT_S32P => SampleFormat::S32P, AV_SAMPLE_FMT_S32P => Sample::S32P,
AV_SAMPLE_FMT_FLTP => SampleFormat::FLTP, AV_SAMPLE_FMT_FLTP => Sample::FLTP,
AV_SAMPLE_FMT_DBLP => SampleFormat::DBLP, AV_SAMPLE_FMT_DBLP => Sample::DBLP,
AV_SAMPLE_FMT_NB => SampleFormat::None AV_SAMPLE_FMT_NB => Sample::None
} }
} }
} }
impl From<&'static str> for SampleFormat { impl From<&'static str> for Sample {
fn from(value: &'static str) -> Self { fn from(value: &'static str) -> Self {
unsafe { unsafe {
SampleFormat::from(av_get_sample_fmt(CString::new(value).unwrap().as_ptr())) Sample::from(av_get_sample_fmt(CString::new(value).unwrap().as_ptr()))
} }
} }
} }
impl Into<AVSampleFormat> for SampleFormat { impl Into<AVSampleFormat> for Sample {
fn into(self) -> AVSampleFormat { fn into(self) -> AVSampleFormat {
match self { match self {
SampleFormat::None => AV_SAMPLE_FMT_NONE, Sample::None => AV_SAMPLE_FMT_NONE,
SampleFormat::U8 => AV_SAMPLE_FMT_U8, Sample::U8 => AV_SAMPLE_FMT_U8,
SampleFormat::S16 => AV_SAMPLE_FMT_S16, Sample::S16 => AV_SAMPLE_FMT_S16,
SampleFormat::S32 => AV_SAMPLE_FMT_S32, Sample::S32 => AV_SAMPLE_FMT_S32,
SampleFormat::FLT => AV_SAMPLE_FMT_FLT, Sample::FLT => AV_SAMPLE_FMT_FLT,
SampleFormat::DBL => AV_SAMPLE_FMT_DBL, Sample::DBL => AV_SAMPLE_FMT_DBL,
SampleFormat::U8P => AV_SAMPLE_FMT_U8P, Sample::U8P => AV_SAMPLE_FMT_U8P,
SampleFormat::S16P => AV_SAMPLE_FMT_S16P, Sample::S16P => AV_SAMPLE_FMT_S16P,
SampleFormat::S32P => AV_SAMPLE_FMT_S32P, Sample::S32P => AV_SAMPLE_FMT_S32P,
SampleFormat::FLTP => AV_SAMPLE_FMT_FLTP, Sample::FLTP => AV_SAMPLE_FMT_FLTP,
SampleFormat::DBLP => AV_SAMPLE_FMT_DBLP, Sample::DBLP => AV_SAMPLE_FMT_DBLP,
} }
} }
} }
pub struct Buffer { pub struct Buffer {
pub format: SampleFormat, pub format: Sample,
pub channels: usize, pub channels: usize,
pub samples: usize, pub samples: usize,
pub align: bool, pub align: bool,
@ -119,13 +119,13 @@ pub struct Buffer {
} }
impl Buffer { impl Buffer {
pub fn size(format: SampleFormat, channels: usize, samples: usize, align: bool) -> usize { pub fn size(format: Sample, channels: usize, samples: usize, align: bool) -> usize {
unsafe { unsafe {
av_samples_get_buffer_size(ptr::null_mut(), channels as c_int, samples as c_int, format.into(), !align as c_int) as usize av_samples_get_buffer_size(ptr::null_mut(), channels as c_int, samples as c_int, format.into(), !align as c_int) as usize
} }
} }
pub fn new(format: SampleFormat, channels: usize, samples: usize, align: bool) -> Self { pub fn new(format: Sample, channels: usize, samples: usize, align: bool) -> Self {
unsafe { unsafe {
let mut buf = Buffer { let mut buf = Buffer {
format: format, format: format,

View File

@ -8,8 +8,7 @@ use std::ops::Deref;
use ffi::*; use ffi::*;
use ::{Dictionary, Rational}; use ::{Dictionary, Rational};
use ::util::pixel_format::PixelFormat; use ::util::format;
use ::util::sample_format::SampleFormat;
use ::picture; use ::picture;
use ::color; use ::color;
@ -163,13 +162,13 @@ impl Audio {
Audio(Frame::new()) Audio(Frame::new())
} }
pub fn format(&self) -> SampleFormat { pub fn format(&self) -> format::Sample {
unsafe { unsafe {
if (*self.ptr).format == -1 { if (*self.ptr).format == -1 {
SampleFormat::None format::Sample::None
} }
else { else {
SampleFormat::from(mem::transmute::<_, AVSampleFormat>(((*self.ptr).format))) format::Sample::from(mem::transmute::<_, AVSampleFormat>(((*self.ptr).format)))
} }
} }
} }
@ -258,13 +257,13 @@ impl Video {
Video(Frame::new()) Video(Frame::new())
} }
pub fn format(&self) -> PixelFormat { pub fn format(&self) -> format::Pixel {
unsafe { unsafe {
if (*self.ptr).format == -1 { if (*self.ptr).format == -1 {
PixelFormat::None format::Pixel::None
} }
else { else {
PixelFormat::from(mem::transmute::<_, AVPixelFormat>(((*self.ptr).format))) format::Pixel::from(mem::transmute::<_, AVPixelFormat>(((*self.ptr).format)))
} }
} }
} }

View File

@ -4,8 +4,7 @@ pub mod rational;
pub mod media; pub mod media;
pub mod picture; pub mod picture;
pub mod color; pub mod color;
pub mod sample_format; pub mod format;
pub mod pixel_format;
pub mod frame; pub mod frame;
use std::ffi::CStr; use std::ffi::CStr;

View File

@ -1,718 +0,0 @@
use ffi::*;
#[derive(Eq, PartialEq, Copy, Clone, Debug)]
pub enum PixelFormat {
None,
YUV420P,
YUYV422,
RGB24,
BGR24,
YUV422P,
YUV444P,
YUV410P,
YUV411P,
GRAY8,
MonoWhite,
MonoBlack,
PAL8,
YUVJ420P,
YUVJ422P,
YUVJ444P,
XVMC_MPEG2_MC,
XVMC_MPEG2_IDCT,
UYVY422,
UYYVYY411,
BGR8,
BGR4,
BGR4_BYTE,
RGB8,
RGB4,
RGB4_BYTE,
NV12,
NV21,
ARGB,
RGBA,
ABGR,
BGRA,
GRAY16BE,
GRAY16LE,
YUV440P,
YUVJ440P,
YUVA420P,
VDPAU_H264,
VDPAU_MPEG1,
VDPAU_MPEG2,
VDPAU_WMV3,
VDPAU_VC1,
RGB48BE,
RGB48LE,
RGB565BE,
RGB565LE,
RGB555BE,
RGB555LE,
BGR565BE,
BGR565LE,
BGR555BE,
BGR555LE,
VAAPI_MOCO,
VAAPI_IDCT,
VAAPI_VLD,
YUV420P16LE,
YUV420P16BE,
YUV422P16LE,
YUV422P16BE,
YUV444P16LE,
YUV444P16BE,
VDPAU_MPEG4,
DXVA2_VLD,
RGB444LE,
RGB444BE,
BGR444LE,
BGR444BE,
YA8,
BGR48BE,
BGR48LE,
YUV420P9BE,
YUV420P9LE,
YUV420P10BE,
YUV420P10LE,
YUV422P10BE,
YUV422P10LE,
YUV444P9BE,
YUV444P9LE,
YUV444P10BE,
YUV444P10LE,
YUV422P9BE,
YUV422P9LE,
VDA_VLD,
GBRP,
GBRP9BE,
GBRP9LE,
GBRP10BE,
GBRP10LE,
GBRP16BE,
GBRP16LE,
YUVA422P_LIBAV,
YUVA444P_LIBAV,
YUVA420P9BE,
YUVA420P9LE,
YUVA422P9BE,
YUVA422P9LE,
YUVA444P9BE,
YUVA444P9LE,
YUVA420P10BE,
YUVA420P10LE,
YUVA422P10BE,
YUVA422P10LE,
YUVA444P10BE,
YUVA444P10LE,
YUVA420P16BE,
YUVA420P16LE,
YUVA422P16BE,
YUVA422P16LE,
YUVA444P16BE,
YUVA444P16LE,
VDPAU,
XYZ12LE,
XYZ12BE,
NV16,
NV20LE,
NV20BE,
RGBA64BE_LIBAV,
RGBA64LE_LIBAV,
BGRA64BE_LIBAV,
BGRA64LE_LIBAV,
YVYU422,
VDA,
YA16BE,
YA16LE,
GBRAP_LIBAV,
GBRAP16BE_LIBAV,
GBRAP16LE_LIBAV,
QSV,
ZRGB,
RGBZ,
ZBGR,
BGRZ,
YUVA444P,
YUVA422P,
YUV420P12BE,
YUV420P12LE,
YUV420P14BE,
YUV420P14LE,
YUV422P12BE,
YUV422P12LE,
YUV422P14BE,
YUV422P14LE,
YUV444P12BE,
YUV444P12LE,
YUV444P14BE,
YUV444P14LE,
GBRP12BE,
GBRP12LE,
GBRP14BE,
GBRP14LE,
GBRAP,
GBRAP16BE,
GBRAP16LE,
YUVJ411P,
BAYER_BGGR8,
BAYER_RGGB8,
BAYER_GBRG8,
BAYER_GRBG8,
BAYER_BGGR16LE,
BAYER_BGGR16BE,
BAYER_RGGB16LE,
BAYER_RGGB16BE,
BAYER_GBRG16LE,
BAYER_GBRG16BE,
BAYER_GRBG16LE,
BAYER_GRBG16BE,
// --- defaults
XVMC,
Y400A,
GRAY8A,
GBR24P,
RGB32,
RGB32_1,
BGR32,
BGR32_1,
ZRGB32,
ZBGR32,
GRAY16,
YA16,
RGB48,
RGB565,
RGB555,
RGB444,
BGR48,
BGR565,
BGR555,
BGR444,
YUV420P9,
YUV422P9,
YUV444P9,
YUV420P10,
YUV422P10,
YUV444P10,
YUV420P12,
YUV422P12,
YUV444P12,
YUV420P14,
YUV422P14,
YUV444P14,
YUV420P16,
YUV422P16,
YUV444P16,
GBRP9,
GBRP10,
GBRP12,
GBRP14,
GBRP16,
GBRAP16,
BAYER_BGGR16,
BAYER_RGGB16,
BAYER_GBRG16,
BAYER_GRBG16,
YUVA420P9,
YUVA422P9,
YUVA444P9,
YUVA420P10,
YUVA422P10,
YUVA444P10,
YUVA420P16,
YUVA422P16,
YUVA444P16,
XYZ12,
NV20,
}
impl From<AVPixelFormat> for PixelFormat {
fn from(value: AVPixelFormat) -> Self {
match value {
AV_PIX_FMT_NONE => PixelFormat::None,
AV_PIX_FMT_YUV420P => PixelFormat::YUV420P,
AV_PIX_FMT_YUYV422 => PixelFormat::YUYV422,
AV_PIX_FMT_RGB24 => PixelFormat::RGB24,
AV_PIX_FMT_BGR24 => PixelFormat::BGR24,
AV_PIX_FMT_YUV422P => PixelFormat::YUV422P,
AV_PIX_FMT_YUV444P => PixelFormat::YUV444P,
AV_PIX_FMT_YUV410P => PixelFormat::YUV410P,
AV_PIX_FMT_YUV411P => PixelFormat::YUV411P,
AV_PIX_FMT_GRAY8 => PixelFormat::GRAY8,
AV_PIX_FMT_MONOWHITE => PixelFormat::MonoWhite,
AV_PIX_FMT_MONOBLACK => PixelFormat::MonoBlack,
AV_PIX_FMT_PAL8 => PixelFormat::PAL8,
AV_PIX_FMT_YUVJ420P => PixelFormat::YUVJ420P,
AV_PIX_FMT_YUVJ422P => PixelFormat::YUVJ422P,
AV_PIX_FMT_YUVJ444P => PixelFormat::YUVJ444P,
AV_PIX_FMT_XVMC_MPEG2_MC => PixelFormat::XVMC_MPEG2_MC,
AV_PIX_FMT_XVMC_MPEG2_IDCT => PixelFormat::XVMC_MPEG2_IDCT,
AV_PIX_FMT_UYVY422 => PixelFormat::UYVY422,
AV_PIX_FMT_UYYVYY411 => PixelFormat::UYYVYY411,
AV_PIX_FMT_BGR8 => PixelFormat::BGR8,
AV_PIX_FMT_BGR4 => PixelFormat::BGR4,
AV_PIX_FMT_BGR4_BYTE => PixelFormat::BGR4_BYTE,
AV_PIX_FMT_RGB8 => PixelFormat::RGB8,
AV_PIX_FMT_RGB4 => PixelFormat::RGB4,
AV_PIX_FMT_RGB4_BYTE => PixelFormat::RGB4_BYTE,
AV_PIX_FMT_NV12 => PixelFormat::NV12,
AV_PIX_FMT_NV21 => PixelFormat::NV21,
AV_PIX_FMT_ARGB => PixelFormat::ARGB,
AV_PIX_FMT_RGBA => PixelFormat::RGBA,
AV_PIX_FMT_ABGR => PixelFormat::ABGR,
AV_PIX_FMT_BGRA => PixelFormat::BGRA,
AV_PIX_FMT_GRAY16BE => PixelFormat::GRAY16BE,
AV_PIX_FMT_GRAY16LE => PixelFormat::GRAY16LE,
AV_PIX_FMT_YUV440P => PixelFormat::YUV440P,
AV_PIX_FMT_YUVJ440P => PixelFormat::YUVJ440P,
AV_PIX_FMT_YUVA420P => PixelFormat::YUVA420P,
AV_PIX_FMT_VDPAU_H264 => PixelFormat::VDPAU_H264,
AV_PIX_FMT_VDPAU_MPEG1 => PixelFormat::VDPAU_MPEG1,
AV_PIX_FMT_VDPAU_MPEG2 => PixelFormat::VDPAU_MPEG2,
AV_PIX_FMT_VDPAU_WMV3 => PixelFormat::VDPAU_WMV3,
AV_PIX_FMT_VDPAU_VC1 => PixelFormat::VDPAU_VC1,
AV_PIX_FMT_RGB48BE => PixelFormat::RGB48BE,
AV_PIX_FMT_RGB48LE => PixelFormat::RGB48LE,
AV_PIX_FMT_RGB565BE => PixelFormat::RGB565BE,
AV_PIX_FMT_RGB565LE => PixelFormat::RGB565LE,
AV_PIX_FMT_RGB555BE => PixelFormat::RGB555BE,
AV_PIX_FMT_RGB555LE => PixelFormat::RGB555LE,
AV_PIX_FMT_BGR565BE => PixelFormat::BGR565BE,
AV_PIX_FMT_BGR565LE => PixelFormat::BGR565LE,
AV_PIX_FMT_BGR555BE => PixelFormat::BGR555BE,
AV_PIX_FMT_BGR555LE => PixelFormat::BGR555LE,
AV_PIX_FMT_VAAPI_MOCO => PixelFormat::VAAPI_MOCO,
AV_PIX_FMT_VAAPI_IDCT => PixelFormat::VAAPI_IDCT,
AV_PIX_FMT_VAAPI_VLD => PixelFormat::VAAPI_VLD,
AV_PIX_FMT_YUV420P16LE => PixelFormat::YUV420P16LE,
AV_PIX_FMT_YUV420P16BE => PixelFormat::YUV420P16BE,
AV_PIX_FMT_YUV422P16LE => PixelFormat::YUV422P16LE,
AV_PIX_FMT_YUV422P16BE => PixelFormat::YUV422P16BE,
AV_PIX_FMT_YUV444P16LE => PixelFormat::YUV444P16LE,
AV_PIX_FMT_YUV444P16BE => PixelFormat::YUV444P16BE,
AV_PIX_FMT_VDPAU_MPEG4 => PixelFormat::VDPAU_MPEG4,
AV_PIX_FMT_DXVA2_VLD => PixelFormat::DXVA2_VLD,
AV_PIX_FMT_RGB444LE => PixelFormat::RGB444LE,
AV_PIX_FMT_RGB444BE => PixelFormat::RGB444BE,
AV_PIX_FMT_BGR444LE => PixelFormat::BGR444LE,
AV_PIX_FMT_BGR444BE => PixelFormat::BGR444BE,
AV_PIX_FMT_YA8 => PixelFormat::YA8,
AV_PIX_FMT_BGR48BE => PixelFormat::BGR48BE,
AV_PIX_FMT_BGR48LE => PixelFormat::BGR48LE,
AV_PIX_FMT_YUV420P9BE => PixelFormat::YUV420P9BE,
AV_PIX_FMT_YUV420P9LE => PixelFormat::YUV420P9LE,
AV_PIX_FMT_YUV420P10BE => PixelFormat::YUV420P10BE,
AV_PIX_FMT_YUV420P10LE => PixelFormat::YUV420P10LE,
AV_PIX_FMT_YUV422P10BE => PixelFormat::YUV422P10BE,
AV_PIX_FMT_YUV422P10LE => PixelFormat::YUV422P10LE,
AV_PIX_FMT_YUV444P9BE => PixelFormat::YUV444P9BE,
AV_PIX_FMT_YUV444P9LE => PixelFormat::YUV444P9LE,
AV_PIX_FMT_YUV444P10BE => PixelFormat::YUV444P10BE,
AV_PIX_FMT_YUV444P10LE => PixelFormat::YUV444P10LE,
AV_PIX_FMT_YUV422P9BE => PixelFormat::YUV422P9BE,
AV_PIX_FMT_YUV422P9LE => PixelFormat::YUV422P9LE,
AV_PIX_FMT_VDA_VLD => PixelFormat::VDA_VLD,
AV_PIX_FMT_GBRP => PixelFormat::GBRP,
AV_PIX_FMT_GBRP9BE => PixelFormat::GBRP9BE,
AV_PIX_FMT_GBRP9LE => PixelFormat::GBRP9LE,
AV_PIX_FMT_GBRP10BE => PixelFormat::GBRP10BE,
AV_PIX_FMT_GBRP10LE => PixelFormat::GBRP10LE,
AV_PIX_FMT_GBRP16BE => PixelFormat::GBRP16BE,
AV_PIX_FMT_GBRP16LE => PixelFormat::GBRP16LE,
AV_PIX_FMT_YUVA422P_LIBAV => PixelFormat::YUVA422P_LIBAV,
AV_PIX_FMT_YUVA444P_LIBAV => PixelFormat::YUVA444P_LIBAV,
AV_PIX_FMT_YUVA420P9BE => PixelFormat::YUVA420P9BE,
AV_PIX_FMT_YUVA420P9LE => PixelFormat::YUVA420P9LE,
AV_PIX_FMT_YUVA422P9BE => PixelFormat::YUVA422P9BE,
AV_PIX_FMT_YUVA422P9LE => PixelFormat::YUVA422P9LE,
AV_PIX_FMT_YUVA444P9BE => PixelFormat::YUVA444P9BE,
AV_PIX_FMT_YUVA444P9LE => PixelFormat::YUVA444P9LE,
AV_PIX_FMT_YUVA420P10BE => PixelFormat::YUVA420P10BE,
AV_PIX_FMT_YUVA420P10LE => PixelFormat::YUVA420P10LE,
AV_PIX_FMT_YUVA422P10BE => PixelFormat::YUVA422P10BE,
AV_PIX_FMT_YUVA422P10LE => PixelFormat::YUVA422P10LE,
AV_PIX_FMT_YUVA444P10BE => PixelFormat::YUVA444P10BE,
AV_PIX_FMT_YUVA444P10LE => PixelFormat::YUVA444P10LE,
AV_PIX_FMT_YUVA420P16BE => PixelFormat::YUVA420P16BE,
AV_PIX_FMT_YUVA420P16LE => PixelFormat::YUVA420P16LE,
AV_PIX_FMT_YUVA422P16BE => PixelFormat::YUVA422P16BE,
AV_PIX_FMT_YUVA422P16LE => PixelFormat::YUVA422P16LE,
AV_PIX_FMT_YUVA444P16BE => PixelFormat::YUVA444P16BE,
AV_PIX_FMT_YUVA444P16LE => PixelFormat::YUVA444P16LE,
AV_PIX_FMT_VDPAU => PixelFormat::VDPAU,
AV_PIX_FMT_XYZ12LE => PixelFormat::XYZ12LE,
AV_PIX_FMT_XYZ12BE => PixelFormat::XYZ12BE,
AV_PIX_FMT_NV16 => PixelFormat::NV16,
AV_PIX_FMT_NV20LE => PixelFormat::NV20LE,
AV_PIX_FMT_NV20BE => PixelFormat::NV20BE,
AV_PIX_FMT_RGBA64BE_LIBAV => PixelFormat::RGBA64BE_LIBAV,
AV_PIX_FMT_RGBA64LE_LIBAV => PixelFormat::RGBA64LE_LIBAV,
AV_PIX_FMT_BGRA64BE_LIBAV => PixelFormat::BGRA64BE_LIBAV,
AV_PIX_FMT_BGRA64LE_LIBAV => PixelFormat::BGRA64LE_LIBAV,
AV_PIX_FMT_YVYU422 => PixelFormat::YVYU422,
AV_PIX_FMT_VDA => PixelFormat::VDA,
AV_PIX_FMT_YA16BE => PixelFormat::YA16BE,
AV_PIX_FMT_YA16LE => PixelFormat::YA16LE,
AV_PIX_FMT_GBRAP_LIBAV => PixelFormat::GBRAP_LIBAV,
AV_PIX_FMT_GBRAP16BE_LIBAV => PixelFormat::GBRAP16BE_LIBAV,
AV_PIX_FMT_GBRAP16LE_LIBAV => PixelFormat::GBRAP16LE_LIBAV,
AV_PIX_FMT_QSV => PixelFormat::QSV,
AV_PIX_FMT_0RGB => PixelFormat::ZRGB,
AV_PIX_FMT_RGB0 => PixelFormat::RGBZ,
AV_PIX_FMT_0BGR => PixelFormat::ZBGR,
AV_PIX_FMT_BGR0 => PixelFormat::BGRZ,
AV_PIX_FMT_YUVA444P => PixelFormat::YUVA444P,
AV_PIX_FMT_YUVA422P => PixelFormat::YUVA422P,
AV_PIX_FMT_YUV420P12BE => PixelFormat::YUV420P12BE,
AV_PIX_FMT_YUV420P12LE => PixelFormat::YUV420P12LE,
AV_PIX_FMT_YUV420P14BE => PixelFormat::YUV420P14BE,
AV_PIX_FMT_YUV420P14LE => PixelFormat::YUV420P14LE,
AV_PIX_FMT_YUV422P12BE => PixelFormat::YUV422P12BE,
AV_PIX_FMT_YUV422P12LE => PixelFormat::YUV422P12LE,
AV_PIX_FMT_YUV422P14BE => PixelFormat::YUV422P14BE,
AV_PIX_FMT_YUV422P14LE => PixelFormat::YUV422P14LE,
AV_PIX_FMT_YUV444P12BE => PixelFormat::YUV444P12BE,
AV_PIX_FMT_YUV444P12LE => PixelFormat::YUV444P12LE,
AV_PIX_FMT_YUV444P14BE => PixelFormat::YUV444P14BE,
AV_PIX_FMT_YUV444P14LE => PixelFormat::YUV444P14LE,
AV_PIX_FMT_GBRP12BE => PixelFormat::GBRP12BE,
AV_PIX_FMT_GBRP12LE => PixelFormat::GBRP12LE,
AV_PIX_FMT_GBRP14BE => PixelFormat::GBRP14BE,
AV_PIX_FMT_GBRP14LE => PixelFormat::GBRP14LE,
AV_PIX_FMT_GBRAP => PixelFormat::GBRAP,
AV_PIX_FMT_GBRAP16BE => PixelFormat::GBRAP16BE,
AV_PIX_FMT_GBRAP16LE => PixelFormat::GBRAP16LE,
AV_PIX_FMT_YUVJ411P => PixelFormat::YUVJ411P,
AV_PIX_FMT_BAYER_BGGR8 => PixelFormat::BAYER_BGGR8,
AV_PIX_FMT_BAYER_RGGB8 => PixelFormat::BAYER_RGGB8,
AV_PIX_FMT_BAYER_GBRG8 => PixelFormat::BAYER_GBRG8,
AV_PIX_FMT_BAYER_GRBG8 => PixelFormat::BAYER_GRBG8,
AV_PIX_FMT_BAYER_BGGR16LE => PixelFormat::BAYER_BGGR16LE,
AV_PIX_FMT_BAYER_BGGR16BE => PixelFormat::BAYER_BGGR16BE,
AV_PIX_FMT_BAYER_RGGB16LE => PixelFormat::BAYER_RGGB16LE,
AV_PIX_FMT_BAYER_RGGB16BE => PixelFormat::BAYER_RGGB16BE,
AV_PIX_FMT_BAYER_GBRG16LE => PixelFormat::BAYER_GBRG16LE,
AV_PIX_FMT_BAYER_GBRG16BE => PixelFormat::BAYER_GBRG16BE,
AV_PIX_FMT_BAYER_GRBG16LE => PixelFormat::BAYER_GRBG16LE,
AV_PIX_FMT_BAYER_GRBG16BE => PixelFormat::BAYER_GRBG16BE,
AV_PIX_FMT_NB => PixelFormat::None
}
}
}
impl Into<AVPixelFormat> for PixelFormat {
fn into(self) -> AVPixelFormat {
match self {
PixelFormat::None => AV_PIX_FMT_NONE,
PixelFormat::YUV420P => AV_PIX_FMT_YUV420P,
PixelFormat::YUYV422 => AV_PIX_FMT_YUYV422,
PixelFormat::RGB24 => AV_PIX_FMT_RGB24,
PixelFormat::BGR24 => AV_PIX_FMT_BGR24,
PixelFormat::YUV422P => AV_PIX_FMT_YUV422P,
PixelFormat::YUV444P => AV_PIX_FMT_YUV444P,
PixelFormat::YUV410P => AV_PIX_FMT_YUV410P,
PixelFormat::YUV411P => AV_PIX_FMT_YUV411P,
PixelFormat::GRAY8 => AV_PIX_FMT_GRAY8,
PixelFormat::MonoWhite => AV_PIX_FMT_MONOWHITE,
PixelFormat::MonoBlack => AV_PIX_FMT_MONOBLACK,
PixelFormat::PAL8 => AV_PIX_FMT_PAL8,
PixelFormat::YUVJ420P => AV_PIX_FMT_YUVJ420P,
PixelFormat::YUVJ422P => AV_PIX_FMT_YUVJ422P,
PixelFormat::YUVJ444P => AV_PIX_FMT_YUVJ444P,
PixelFormat::XVMC_MPEG2_MC => AV_PIX_FMT_XVMC_MPEG2_MC,
PixelFormat::XVMC_MPEG2_IDCT => AV_PIX_FMT_XVMC_MPEG2_IDCT,
PixelFormat::UYVY422 => AV_PIX_FMT_UYVY422,
PixelFormat::UYYVYY411 => AV_PIX_FMT_UYYVYY411,
PixelFormat::BGR8 => AV_PIX_FMT_BGR8,
PixelFormat::BGR4 => AV_PIX_FMT_BGR4,
PixelFormat::BGR4_BYTE => AV_PIX_FMT_BGR4_BYTE,
PixelFormat::RGB8 => AV_PIX_FMT_RGB8,
PixelFormat::RGB4 => AV_PIX_FMT_RGB4,
PixelFormat::RGB4_BYTE => AV_PIX_FMT_RGB4_BYTE,
PixelFormat::NV12 => AV_PIX_FMT_NV12,
PixelFormat::NV21 => AV_PIX_FMT_NV21,
PixelFormat::ARGB => AV_PIX_FMT_ARGB,
PixelFormat::RGBA => AV_PIX_FMT_RGBA,
PixelFormat::ABGR => AV_PIX_FMT_ABGR,
PixelFormat::BGRA => AV_PIX_FMT_BGRA,
PixelFormat::GRAY16BE => AV_PIX_FMT_GRAY16BE,
PixelFormat::GRAY16LE => AV_PIX_FMT_GRAY16LE,
PixelFormat::YUV440P => AV_PIX_FMT_YUV440P,
PixelFormat::YUVJ440P => AV_PIX_FMT_YUVJ440P,
PixelFormat::YUVA420P => AV_PIX_FMT_YUVA420P,
PixelFormat::VDPAU_H264 => AV_PIX_FMT_VDPAU_H264,
PixelFormat::VDPAU_MPEG1 => AV_PIX_FMT_VDPAU_MPEG1,
PixelFormat::VDPAU_MPEG2 => AV_PIX_FMT_VDPAU_MPEG2,
PixelFormat::VDPAU_WMV3 => AV_PIX_FMT_VDPAU_WMV3,
PixelFormat::VDPAU_VC1 => AV_PIX_FMT_VDPAU_VC1,
PixelFormat::RGB48BE => AV_PIX_FMT_RGB48BE,
PixelFormat::RGB48LE => AV_PIX_FMT_RGB48LE,
PixelFormat::RGB565BE => AV_PIX_FMT_RGB565BE,
PixelFormat::RGB565LE => AV_PIX_FMT_RGB565LE,
PixelFormat::RGB555BE => AV_PIX_FMT_RGB555BE,
PixelFormat::RGB555LE => AV_PIX_FMT_RGB555LE,
PixelFormat::BGR565BE => AV_PIX_FMT_BGR565BE,
PixelFormat::BGR565LE => AV_PIX_FMT_BGR565LE,
PixelFormat::BGR555BE => AV_PIX_FMT_BGR555BE,
PixelFormat::BGR555LE => AV_PIX_FMT_BGR555LE,
PixelFormat::VAAPI_MOCO => AV_PIX_FMT_VAAPI_MOCO,
PixelFormat::VAAPI_IDCT => AV_PIX_FMT_VAAPI_IDCT,
PixelFormat::VAAPI_VLD => AV_PIX_FMT_VAAPI_VLD,
PixelFormat::YUV420P16LE => AV_PIX_FMT_YUV420P16LE,
PixelFormat::YUV420P16BE => AV_PIX_FMT_YUV420P16BE,
PixelFormat::YUV422P16LE => AV_PIX_FMT_YUV422P16LE,
PixelFormat::YUV422P16BE => AV_PIX_FMT_YUV422P16BE,
PixelFormat::YUV444P16LE => AV_PIX_FMT_YUV444P16LE,
PixelFormat::YUV444P16BE => AV_PIX_FMT_YUV444P16BE,
PixelFormat::VDPAU_MPEG4 => AV_PIX_FMT_VDPAU_MPEG4,
PixelFormat::DXVA2_VLD => AV_PIX_FMT_DXVA2_VLD,
PixelFormat::RGB444LE => AV_PIX_FMT_RGB444LE,
PixelFormat::RGB444BE => AV_PIX_FMT_RGB444BE,
PixelFormat::BGR444LE => AV_PIX_FMT_BGR444LE,
PixelFormat::BGR444BE => AV_PIX_FMT_BGR444BE,
PixelFormat::YA8 => AV_PIX_FMT_YA8,
PixelFormat::BGR48BE => AV_PIX_FMT_BGR48BE,
PixelFormat::BGR48LE => AV_PIX_FMT_BGR48LE,
PixelFormat::YUV420P9BE => AV_PIX_FMT_YUV420P9BE,
PixelFormat::YUV420P9LE => AV_PIX_FMT_YUV420P9LE,
PixelFormat::YUV420P10BE => AV_PIX_FMT_YUV420P10BE,
PixelFormat::YUV420P10LE => AV_PIX_FMT_YUV420P10LE,
PixelFormat::YUV422P10BE => AV_PIX_FMT_YUV422P10BE,
PixelFormat::YUV422P10LE => AV_PIX_FMT_YUV422P10LE,
PixelFormat::YUV444P9BE => AV_PIX_FMT_YUV444P9BE,
PixelFormat::YUV444P9LE => AV_PIX_FMT_YUV444P9LE,
PixelFormat::YUV444P10BE => AV_PIX_FMT_YUV444P10BE,
PixelFormat::YUV444P10LE => AV_PIX_FMT_YUV444P10LE,
PixelFormat::YUV422P9BE => AV_PIX_FMT_YUV422P9BE,
PixelFormat::YUV422P9LE => AV_PIX_FMT_YUV422P9LE,
PixelFormat::VDA_VLD => AV_PIX_FMT_VDA_VLD,
PixelFormat::GBRP => AV_PIX_FMT_GBRP,
PixelFormat::GBRP9BE => AV_PIX_FMT_GBRP9BE,
PixelFormat::GBRP9LE => AV_PIX_FMT_GBRP9LE,
PixelFormat::GBRP10BE => AV_PIX_FMT_GBRP10BE,
PixelFormat::GBRP10LE => AV_PIX_FMT_GBRP10LE,
PixelFormat::GBRP16BE => AV_PIX_FMT_GBRP16BE,
PixelFormat::GBRP16LE => AV_PIX_FMT_GBRP16LE,
PixelFormat::YUVA422P_LIBAV => AV_PIX_FMT_YUVA422P_LIBAV,
PixelFormat::YUVA444P_LIBAV => AV_PIX_FMT_YUVA444P_LIBAV,
PixelFormat::YUVA420P9BE => AV_PIX_FMT_YUVA420P9BE,
PixelFormat::YUVA420P9LE => AV_PIX_FMT_YUVA420P9LE,
PixelFormat::YUVA422P9BE => AV_PIX_FMT_YUVA422P9BE,
PixelFormat::YUVA422P9LE => AV_PIX_FMT_YUVA422P9LE,
PixelFormat::YUVA444P9BE => AV_PIX_FMT_YUVA444P9BE,
PixelFormat::YUVA444P9LE => AV_PIX_FMT_YUVA444P9LE,
PixelFormat::YUVA420P10BE => AV_PIX_FMT_YUVA420P10BE,
PixelFormat::YUVA420P10LE => AV_PIX_FMT_YUVA420P10LE,
PixelFormat::YUVA422P10BE => AV_PIX_FMT_YUVA422P10BE,
PixelFormat::YUVA422P10LE => AV_PIX_FMT_YUVA422P10LE,
PixelFormat::YUVA444P10BE => AV_PIX_FMT_YUVA444P10BE,
PixelFormat::YUVA444P10LE => AV_PIX_FMT_YUVA444P10LE,
PixelFormat::YUVA420P16BE => AV_PIX_FMT_YUVA420P16BE,
PixelFormat::YUVA420P16LE => AV_PIX_FMT_YUVA420P16LE,
PixelFormat::YUVA422P16BE => AV_PIX_FMT_YUVA422P16BE,
PixelFormat::YUVA422P16LE => AV_PIX_FMT_YUVA422P16LE,
PixelFormat::YUVA444P16BE => AV_PIX_FMT_YUVA444P16BE,
PixelFormat::YUVA444P16LE => AV_PIX_FMT_YUVA444P16LE,
PixelFormat::VDPAU => AV_PIX_FMT_VDPAU,
PixelFormat::XYZ12LE => AV_PIX_FMT_XYZ12LE,
PixelFormat::XYZ12BE => AV_PIX_FMT_XYZ12BE,
PixelFormat::NV16 => AV_PIX_FMT_NV16,
PixelFormat::NV20LE => AV_PIX_FMT_NV20LE,
PixelFormat::NV20BE => AV_PIX_FMT_NV20BE,
PixelFormat::RGBA64BE_LIBAV => AV_PIX_FMT_RGBA64BE_LIBAV,
PixelFormat::RGBA64LE_LIBAV => AV_PIX_FMT_RGBA64LE_LIBAV,
PixelFormat::BGRA64BE_LIBAV => AV_PIX_FMT_BGRA64BE_LIBAV,
PixelFormat::BGRA64LE_LIBAV => AV_PIX_FMT_BGRA64LE_LIBAV,
PixelFormat::YVYU422 => AV_PIX_FMT_YVYU422,
PixelFormat::VDA => AV_PIX_FMT_VDA,
PixelFormat::YA16BE => AV_PIX_FMT_YA16BE,
PixelFormat::YA16LE => AV_PIX_FMT_YA16LE,
PixelFormat::GBRAP_LIBAV => AV_PIX_FMT_GBRAP_LIBAV,
PixelFormat::GBRAP16BE_LIBAV => AV_PIX_FMT_GBRAP16BE_LIBAV,
PixelFormat::GBRAP16LE_LIBAV => AV_PIX_FMT_GBRAP16LE_LIBAV,
PixelFormat::QSV => AV_PIX_FMT_QSV,
PixelFormat::ZRGB => AV_PIX_FMT_0RGB,
PixelFormat::RGBZ => AV_PIX_FMT_RGB0,
PixelFormat::ZBGR => AV_PIX_FMT_0BGR,
PixelFormat::BGRZ => AV_PIX_FMT_BGR0,
PixelFormat::YUVA444P => AV_PIX_FMT_YUVA444P,
PixelFormat::YUVA422P => AV_PIX_FMT_YUVA422P,
PixelFormat::YUV420P12BE => AV_PIX_FMT_YUV420P12BE,
PixelFormat::YUV420P12LE => AV_PIX_FMT_YUV420P12LE,
PixelFormat::YUV420P14BE => AV_PIX_FMT_YUV420P14BE,
PixelFormat::YUV420P14LE => AV_PIX_FMT_YUV420P14LE,
PixelFormat::YUV422P12BE => AV_PIX_FMT_YUV422P12BE,
PixelFormat::YUV422P12LE => AV_PIX_FMT_YUV422P12LE,
PixelFormat::YUV422P14BE => AV_PIX_FMT_YUV422P14BE,
PixelFormat::YUV422P14LE => AV_PIX_FMT_YUV422P14LE,
PixelFormat::YUV444P12BE => AV_PIX_FMT_YUV444P12BE,
PixelFormat::YUV444P12LE => AV_PIX_FMT_YUV444P12LE,
PixelFormat::YUV444P14BE => AV_PIX_FMT_YUV444P14BE,
PixelFormat::YUV444P14LE => AV_PIX_FMT_YUV444P14LE,
PixelFormat::GBRP12BE => AV_PIX_FMT_GBRP12BE,
PixelFormat::GBRP12LE => AV_PIX_FMT_GBRP12LE,
PixelFormat::GBRP14BE => AV_PIX_FMT_GBRP14BE,
PixelFormat::GBRP14LE => AV_PIX_FMT_GBRP14LE,
PixelFormat::GBRAP => AV_PIX_FMT_GBRAP,
PixelFormat::GBRAP16BE => AV_PIX_FMT_GBRAP16BE,
PixelFormat::GBRAP16LE => AV_PIX_FMT_GBRAP16LE,
PixelFormat::YUVJ411P => AV_PIX_FMT_YUVJ411P,
PixelFormat::BAYER_BGGR8 => AV_PIX_FMT_BAYER_BGGR8,
PixelFormat::BAYER_RGGB8 => AV_PIX_FMT_BAYER_RGGB8,
PixelFormat::BAYER_GBRG8 => AV_PIX_FMT_BAYER_GBRG8,
PixelFormat::BAYER_GRBG8 => AV_PIX_FMT_BAYER_GRBG8,
PixelFormat::BAYER_BGGR16LE => AV_PIX_FMT_BAYER_BGGR16LE,
PixelFormat::BAYER_BGGR16BE => AV_PIX_FMT_BAYER_BGGR16BE,
PixelFormat::BAYER_RGGB16LE => AV_PIX_FMT_BAYER_RGGB16LE,
PixelFormat::BAYER_RGGB16BE => AV_PIX_FMT_BAYER_RGGB16BE,
PixelFormat::BAYER_GBRG16LE => AV_PIX_FMT_BAYER_GBRG16LE,
PixelFormat::BAYER_GBRG16BE => AV_PIX_FMT_BAYER_GBRG16BE,
PixelFormat::BAYER_GRBG16LE => AV_PIX_FMT_BAYER_GRBG16LE,
PixelFormat::BAYER_GRBG16BE => AV_PIX_FMT_BAYER_GRBG16BE,
// --- defaults
PixelFormat::XVMC => AV_PIX_FMT_XVMC,
PixelFormat::Y400A => AV_PIX_FMT_Y400A,
PixelFormat::GRAY8A => AV_PIX_FMT_GRAY8A,
PixelFormat::GBR24P => AV_PIX_FMT_GBR24P,
PixelFormat::RGB32 => AV_PIX_FMT_RGB32,
PixelFormat::RGB32_1 => AV_PIX_FMT_RGB32_1,
PixelFormat::BGR32 => AV_PIX_FMT_BGR32,
PixelFormat::BGR32_1 => AV_PIX_FMT_BGR32_1,
PixelFormat::ZRGB32 => AV_PIX_FMT_0RGB32,
PixelFormat::ZBGR32 => AV_PIX_FMT_0BGR32,
PixelFormat::GRAY16 => AV_PIX_FMT_GRAY16,
PixelFormat::YA16 => AV_PIX_FMT_YA16,
PixelFormat::RGB48 => AV_PIX_FMT_RGB48,
PixelFormat::RGB565 => AV_PIX_FMT_RGB565,
PixelFormat::RGB555 => AV_PIX_FMT_RGB555,
PixelFormat::RGB444 => AV_PIX_FMT_RGB444,
PixelFormat::BGR48 => AV_PIX_FMT_BGR48,
PixelFormat::BGR565 => AV_PIX_FMT_BGR565,
PixelFormat::BGR555 => AV_PIX_FMT_BGR555,
PixelFormat::BGR444 => AV_PIX_FMT_BGR444,
PixelFormat::YUV420P9 => AV_PIX_FMT_YUV420P9,
PixelFormat::YUV422P9 => AV_PIX_FMT_YUV422P9,
PixelFormat::YUV444P9 => AV_PIX_FMT_YUV444P9,
PixelFormat::YUV420P10 => AV_PIX_FMT_YUV420P10,
PixelFormat::YUV422P10 => AV_PIX_FMT_YUV422P10,
PixelFormat::YUV444P10 => AV_PIX_FMT_YUV444P10,
PixelFormat::YUV420P12 => AV_PIX_FMT_YUV420P12,
PixelFormat::YUV422P12 => AV_PIX_FMT_YUV422P12,
PixelFormat::YUV444P12 => AV_PIX_FMT_YUV444P12,
PixelFormat::YUV420P14 => AV_PIX_FMT_YUV420P14,
PixelFormat::YUV422P14 => AV_PIX_FMT_YUV422P14,
PixelFormat::YUV444P14 => AV_PIX_FMT_YUV444P14,
PixelFormat::YUV420P16 => AV_PIX_FMT_YUV420P16,
PixelFormat::YUV422P16 => AV_PIX_FMT_YUV422P16,
PixelFormat::YUV444P16 => AV_PIX_FMT_YUV444P16,
PixelFormat::GBRP9 => AV_PIX_FMT_GBRP9,
PixelFormat::GBRP10 => AV_PIX_FMT_GBRP10,
PixelFormat::GBRP12 => AV_PIX_FMT_GBRP12,
PixelFormat::GBRP14 => AV_PIX_FMT_GBRP14,
PixelFormat::GBRP16 => AV_PIX_FMT_GBRP16,
PixelFormat::GBRAP16 => AV_PIX_FMT_GBRAP16,
PixelFormat::BAYER_BGGR16 => AV_PIX_FMT_BAYER_BGGR16,
PixelFormat::BAYER_RGGB16 => AV_PIX_FMT_BAYER_RGGB16,
PixelFormat::BAYER_GBRG16 => AV_PIX_FMT_BAYER_GBRG16,
PixelFormat::BAYER_GRBG16 => AV_PIX_FMT_BAYER_GRBG16,
PixelFormat::YUVA420P9 => AV_PIX_FMT_YUVA420P9,
PixelFormat::YUVA422P9 => AV_PIX_FMT_YUVA422P9,
PixelFormat::YUVA444P9 => AV_PIX_FMT_YUVA444P9,
PixelFormat::YUVA420P10 => AV_PIX_FMT_YUVA420P10,
PixelFormat::YUVA422P10 => AV_PIX_FMT_YUVA422P10,
PixelFormat::YUVA444P10 => AV_PIX_FMT_YUVA444P10,
PixelFormat::YUVA420P16 => AV_PIX_FMT_YUVA420P16,
PixelFormat::YUVA422P16 => AV_PIX_FMT_YUVA422P16,
PixelFormat::YUVA444P16 => AV_PIX_FMT_YUVA444P16,
PixelFormat::XYZ12 => AV_PIX_FMT_XYZ12,
PixelFormat::NV20 => AV_PIX_FMT_NV20,
}
}
}