Add FFmpeg 4.2 specific code

This commit is contained in:
Zhiming Wang
2020-06-01 14:42:39 +08:00
parent a69a457e3a
commit fcca68ae5e
4 changed files with 107 additions and 1 deletions

View File

@ -320,6 +320,19 @@ pub enum Pixel {
GRAYF32BE,
#[cfg(feature = "ffmpeg41")]
GRAYF32LE,
#[cfg(feature = "ffmpeg42")]
YUVA422P12BE,
#[cfg(feature = "ffmpeg42")]
YUVA422P12LE,
#[cfg(feature = "ffmpeg42")]
YUVA444P12BE,
#[cfg(feature = "ffmpeg42")]
YUVA444P12LE,
#[cfg(feature = "ffmpeg42")]
NV24,
#[cfg(feature = "ffmpeg42")]
NV42,
}
#[derive(Clone, Copy, PartialEq, Eq)]
@ -618,6 +631,19 @@ impl From<AVPixelFormat> for Pixel {
AV_PIX_FMT_GRAYF32BE => Pixel::GRAYF32BE,
#[cfg(feature = "ffmpeg41")]
AV_PIX_FMT_GRAYF32LE => Pixel::GRAYF32LE,
#[cfg(feature = "ffmpeg42")]
AV_PIX_FMT_YUVA422P12BE => Pixel::YUVA422P12BE,
#[cfg(feature = "ffmpeg42")]
AV_PIX_FMT_YUVA422P12LE => Pixel::YUVA422P12LE,
#[cfg(feature = "ffmpeg42")]
AV_PIX_FMT_YUVA444P12BE => Pixel::YUVA444P12BE,
#[cfg(feature = "ffmpeg42")]
AV_PIX_FMT_YUVA444P12LE => Pixel::YUVA444P12LE,
#[cfg(feature = "ffmpeg42")]
AV_PIX_FMT_NV24 => Pixel::NV24,
#[cfg(feature = "ffmpeg42")]
AV_PIX_FMT_NV42 => Pixel::NV42,
}
}
}
@ -938,6 +964,19 @@ impl Into<AVPixelFormat> for Pixel {
Pixel::GRAYF32BE => AV_PIX_FMT_GRAYF32BE,
#[cfg(feature = "ffmpeg41")]
Pixel::GRAYF32LE => AV_PIX_FMT_GRAYF32LE,
#[cfg(feature = "ffmpeg42")]
Pixel::YUVA422P12BE => AV_PIX_FMT_YUVA422P12BE,
#[cfg(feature = "ffmpeg42")]
Pixel::YUVA422P12LE => AV_PIX_FMT_YUVA422P12LE,
#[cfg(feature = "ffmpeg42")]
Pixel::YUVA444P12BE => AV_PIX_FMT_YUVA444P12BE,
#[cfg(feature = "ffmpeg42")]
Pixel::YUVA444P12LE => AV_PIX_FMT_YUVA444P12LE,
#[cfg(feature = "ffmpeg42")]
Pixel::NV24 => AV_PIX_FMT_NV24,
#[cfg(feature = "ffmpeg42")]
Pixel::NV42 => AV_PIX_FMT_NV42,
}
}
}