FFmpeg 7.1 support (#74)

* Add new build-lib features

* Update CI to use 7.1

jrottenberg/ffmpeg does not have 7.1 yet

* Add libavcodec version for 7.1

* Add FF_API flags for 7.1

* Update crate versions, bump MSRV to 1.65

* Add new audio channel masks

* Add new AVColorSpace variants

* Add new AVFrameSideDataType variants

* Add new AVCodecID variants

* Add new AVPacketSideDataType variants
This commit is contained in:
FreezyLemon
2024-10-18 06:06:01 +02:00
committed by GitHub
parent fd44dd339b
commit 814f8b9464
12 changed files with 337 additions and 157 deletions

View File

@ -64,6 +64,11 @@ pub enum Type {
#[cfg(feature = "ffmpeg_6_1")]
VIDEO_HINT,
#[cfg(feature = "ffmpeg_7_1")]
LCEVC,
#[cfg(feature = "ffmpeg_7_1")]
ViewId,
}
impl Type {
@ -130,6 +135,11 @@ impl From<AVFrameSideDataType> for Type {
#[cfg(feature = "ffmpeg_6_1")]
AV_FRAME_DATA_VIDEO_HINT => Type::VIDEO_HINT,
#[cfg(feature = "ffmpeg_7_1")]
AV_FRAME_DATA_LCEVC => Type::LCEVC,
#[cfg(feature = "ffmpeg_7_1")]
AV_FRAME_DATA_VIEW_ID => Type::ViewId,
#[cfg(feature = "non-exhaustive-enums")]
_ => unimplemented!(),
}
@ -190,6 +200,11 @@ impl From<Type> for AVFrameSideDataType {
#[cfg(feature = "ffmpeg_6_1")]
Type::VIDEO_HINT => AV_FRAME_DATA_VIDEO_HINT,
#[cfg(feature = "ffmpeg_7_1")]
Type::LCEVC => AV_FRAME_DATA_LCEVC,
#[cfg(feature = "ffmpeg_7_1")]
Type::ViewId => AV_FRAME_DATA_VIEW_ID,
}
}
}