From 65be233a12689bd6dc51f7b577fbddac966bd0d9 Mon Sep 17 00:00:00 2001 From: Tim Hellhake Date: Thu, 23 Jul 2020 21:54:00 +0200 Subject: [PATCH] Add Raspberry Pi compatibility Signed-off-by: Zhiming Wang --- Cargo.toml | 3 +++ src/util/format/pixel.rs | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index c96873b..f3ce74b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -95,6 +95,9 @@ postprocessing = ["ffmpeg-sys-next/postproc"] software-resampling = ["ffmpeg-sys-next/swresample"] software-scaling = ["ffmpeg-sys-next/swscale", "codec"] +# platforms +rpi = [] + [dependencies] libc = "0.2" bitflags = "1.2" diff --git a/src/util/format/pixel.rs b/src/util/format/pixel.rs index dca1779..a5d34cb 100644 --- a/src/util/format/pixel.rs +++ b/src/util/format/pixel.rs @@ -341,6 +341,18 @@ pub enum Pixel { Y210BE, #[cfg(feature = "ffmpeg43")] Y210LE, + #[cfg(feature = "rpi")] + RPI, + #[cfg(feature = "rpi")] + SAND128, + #[cfg(feature = "rpi")] + SAND64_10, + #[cfg(feature = "rpi")] + SAND64_16, + #[cfg(feature = "rpi")] + RPI4_8, + #[cfg(feature = "rpi")] + RPI4_10, } #[derive(Clone, Copy, PartialEq, Eq)] @@ -662,6 +674,19 @@ impl From for Pixel { AV_PIX_FMT_Y210BE => Pixel::Y210BE, #[cfg(feature = "ffmpeg43")] AV_PIX_FMT_Y210LE => Pixel::Y210LE, + + #[cfg(feature = "rpi")] + AV_PIX_FMT_RPI => Pixel::RPI, + #[cfg(feature = "rpi")] + AV_PIX_FMT_SAND128 => Pixel::SAND128, + #[cfg(feature = "rpi")] + AV_PIX_FMT_SAND64_10 => Pixel::SAND64_10, + #[cfg(feature = "rpi")] + AV_PIX_FMT_SAND64_16 => Pixel::SAND64_16, + #[cfg(feature = "rpi")] + AV_PIX_FMT_RPI4_8 => Pixel::RPI4_8, + #[cfg(feature = "rpi")] + AV_PIX_FMT_RPI4_10 => Pixel::RPI4_10, } } } @@ -1003,6 +1028,19 @@ impl Into for Pixel { Pixel::Y210BE => AV_PIX_FMT_Y210BE, #[cfg(feature = "ffmpeg43")] Pixel::Y210LE => AV_PIX_FMT_Y210LE, + + #[cfg(feature = "rpi")] + Pixel::RPI => AV_PIX_FMT_RPI, + #[cfg(feature = "rpi")] + Pixel::SAND128 => AV_PIX_FMT_SAND128, + #[cfg(feature = "rpi")] + Pixel::SAND64_10 => AV_PIX_FMT_SAND64_10, + #[cfg(feature = "rpi")] + Pixel::SAND64_16 => AV_PIX_FMT_SAND64_16, + #[cfg(feature = "rpi")] + Pixel::RPI4_8 => AV_PIX_FMT_RPI4_8, + #[cfg(feature = "rpi")] + Pixel::RPI4_10 => AV_PIX_FMT_RPI4_10, } } }