Support FFmpeg 7.0 (#48)
* sys: Run cargo fmt * sys: Add new channel layout consts * sys: Update build script for 7.0 - Add new FF_API flags - Update version_check_info range - Add ffmpeg_7_0 feature entry * sys: Update non-exhaustive match statement * Update enums * Mark old APIs as removed with 7.0 * Make Audio frame work with 7.0 The .unwrap() in clone() is a bit wonky * Add API for swr_alloc_set_opts2 * Use AVFrame::duration field in 7.0+ * Include 7.0 in CI runs * Add fn ChanneLayoutIter::best * Update examples for new API * Add/update Context setter for ch layout
This commit is contained in:
@ -225,7 +225,7 @@ pub enum Pixel {
|
||||
VIDEOTOOLBOX,
|
||||
|
||||
// --- defaults
|
||||
#[cfg(feature = "ffmpeg_4_0")]
|
||||
#[cfg(all(feature = "ffmpeg_4_0", not(feature = "ffmpeg_7_0")))]
|
||||
XVMC,
|
||||
|
||||
RGB32,
|
||||
@ -417,6 +417,9 @@ pub enum Pixel {
|
||||
#[cfg(feature = "ffmpeg_6_1")]
|
||||
GBRAP14LE,
|
||||
|
||||
#[cfg(feature = "ffmpeg_7_0")]
|
||||
D3D12,
|
||||
|
||||
#[cfg(feature = "rpi")]
|
||||
RPI,
|
||||
#[cfg(feature = "rpi")]
|
||||
@ -498,7 +501,7 @@ impl From<AVPixelFormat> for Pixel {
|
||||
AV_PIX_FMT_YUVJ420P => Pixel::YUVJ420P,
|
||||
AV_PIX_FMT_YUVJ422P => Pixel::YUVJ422P,
|
||||
AV_PIX_FMT_YUVJ444P => Pixel::YUVJ444P,
|
||||
#[cfg(feature = "ffmpeg_4_0")]
|
||||
#[cfg(all(feature = "ffmpeg_4_0", not(feature = "ffmpeg_7_0")))]
|
||||
AV_PIX_FMT_XVMC => Pixel::XVMC,
|
||||
#[cfg(all(feature = "ff_api_xvmc", not(feature = "ffmpeg_5_0")))]
|
||||
AV_PIX_FMT_XVMC_MPEG2_MC => Pixel::XVMC_MPEG2_MC,
|
||||
@ -825,6 +828,9 @@ impl From<AVPixelFormat> for Pixel {
|
||||
#[cfg(feature = "ffmpeg_6_1")]
|
||||
AV_PIX_FMT_GBRAP14LE => Pixel::GBRAP14LE,
|
||||
|
||||
#[cfg(feature = "ffmpeg_7_0")]
|
||||
AV_PIX_FMT_D3D12 => Pixel::D3D12,
|
||||
|
||||
#[cfg(feature = "rpi")]
|
||||
AV_PIX_FMT_RPI => Pixel::RPI,
|
||||
#[cfg(feature = "rpi")]
|
||||
@ -1062,7 +1068,7 @@ impl From<Pixel> for AVPixelFormat {
|
||||
Pixel::VIDEOTOOLBOX => AV_PIX_FMT_VIDEOTOOLBOX,
|
||||
|
||||
// --- defaults
|
||||
#[cfg(feature = "ffmpeg_4_0")]
|
||||
#[cfg(all(feature = "ffmpeg_4_0", not(feature = "ffmpeg_7_0")))]
|
||||
Pixel::XVMC => AV_PIX_FMT_XVMC,
|
||||
|
||||
Pixel::RGB32 => AV_PIX_FMT_RGB32,
|
||||
@ -1254,6 +1260,9 @@ impl From<Pixel> for AVPixelFormat {
|
||||
#[cfg(feature = "ffmpeg_6_1")]
|
||||
Pixel::GBRAP14LE => AV_PIX_FMT_GBRAP14LE,
|
||||
|
||||
#[cfg(feature = "ffmpeg_7_0")]
|
||||
Pixel::D3D12 => AV_PIX_FMT_D3D12,
|
||||
|
||||
#[cfg(feature = "rpi")]
|
||||
Pixel::RPI => AV_PIX_FMT_RPI,
|
||||
#[cfg(feature = "rpi")]
|
||||
|
Reference in New Issue
Block a user