Add FFmpeg 4.1 specific code
This commit is contained in:
parent
6220b88ef2
commit
a69a457e3a
@ -15,8 +15,9 @@ keywords = ["ffmpeg", "multimedia", "video", "audio"]
|
||||
categories = ["multimedia"]
|
||||
|
||||
[features]
|
||||
default = ["ffmpeg4", "codec", "device", "filter", "format", "resampling", "software-resampling", "software-scaling"]
|
||||
default = ["ffmpeg41", "codec", "device", "filter", "format", "resampling", "software-resampling", "software-scaling"]
|
||||
|
||||
ffmpeg41 = ["ffmpeg4"]
|
||||
ffmpeg4 = []
|
||||
|
||||
static = ["ffmpeg-sys-next/static"]
|
||||
|
@ -484,12 +484,32 @@ pub enum Id {
|
||||
FITS,
|
||||
GREMLIN_DPCM,
|
||||
DOLBY_E,
|
||||
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
APTX,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
APTX_HD,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
SBC,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AVS2,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
IMM4,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
PROSUMER,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
MWSC,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
WCMV,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
RASC,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
PCM_VIDC,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
ATRAC9,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
TTML,
|
||||
}
|
||||
|
||||
impl Id {
|
||||
@ -976,12 +996,32 @@ impl From<AVCodecID> for Id {
|
||||
AV_CODEC_ID_FITS => Id::FITS,
|
||||
AV_CODEC_ID_GREMLIN_DPCM => Id::GREMLIN_DPCM,
|
||||
AV_CODEC_ID_DOLBY_E => Id::DOLBY_E,
|
||||
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
AV_CODEC_ID_APTX => Id::APTX,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
AV_CODEC_ID_APTX_HD => Id::APTX_HD,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
AV_CODEC_ID_SBC => Id::SBC,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_CODEC_ID_AVS2 => Id::AVS2,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_CODEC_ID_IMM4 => Id::IMM4,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_CODEC_ID_PROSUMER => Id::PROSUMER,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_CODEC_ID_MWSC => Id::MWSC,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_CODEC_ID_WCMV => Id::WCMV,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_CODEC_ID_RASC => Id::RASC,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_CODEC_ID_PCM_VIDC => Id::PCM_VIDC,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_CODEC_ID_ATRAC9 => Id::ATRAC9,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_CODEC_ID_TTML => Id::TTML,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1465,12 +1505,32 @@ impl Into<AVCodecID> for Id {
|
||||
Id::FITS => AV_CODEC_ID_FITS,
|
||||
Id::GREMLIN_DPCM => AV_CODEC_ID_GREMLIN_DPCM,
|
||||
Id::DOLBY_E => AV_CODEC_ID_DOLBY_E,
|
||||
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
Id::APTX => AV_CODEC_ID_APTX,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
Id::APTX_HD => AV_CODEC_ID_APTX_HD,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
Id::SBC => AV_CODEC_ID_SBC,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Id::AVS2 => AV_CODEC_ID_AVS2,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Id::IMM4 => AV_CODEC_ID_IMM4,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Id::PROSUMER => AV_CODEC_ID_PROSUMER,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Id::MWSC => AV_CODEC_ID_MWSC,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Id::WCMV => AV_CODEC_ID_WCMV,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Id::RASC => AV_CODEC_ID_RASC,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Id::PCM_VIDC => AV_CODEC_ID_PCM_VIDC,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Id::ATRAC9 => AV_CODEC_ID_ATRAC9,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Id::TTML => AV_CODEC_ID_TTML,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -33,10 +33,14 @@ pub enum Type {
|
||||
|
||||
ContentLightLevel,
|
||||
A53CC,
|
||||
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
EncryptionInitInfo,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
EncryptionInfo,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AFD,
|
||||
}
|
||||
|
||||
impl From<AVPacketSideDataType> for Type {
|
||||
@ -68,10 +72,14 @@ impl From<AVPacketSideDataType> for Type {
|
||||
|
||||
AV_PKT_DATA_CONTENT_LIGHT_LEVEL => Type::ContentLightLevel,
|
||||
AV_PKT_DATA_A53_CC => Type::A53CC,
|
||||
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
AV_PKT_DATA_ENCRYPTION_INIT_INFO => Type::EncryptionInitInfo,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
AV_PKT_DATA_ENCRYPTION_INFO => Type::EncryptionInfo,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_PKT_DATA_AFD => Type::AFD,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -105,10 +113,14 @@ impl Into<AVPacketSideDataType> for Type {
|
||||
|
||||
Type::ContentLightLevel => AV_PKT_DATA_CONTENT_LIGHT_LEVEL,
|
||||
Type::A53CC => AV_PKT_DATA_A53_CC,
|
||||
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
Type::EncryptionInitInfo => AV_PKT_DATA_ENCRYPTION_INIT_INFO,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
Type::EncryptionInfo => AV_PKT_DATA_ENCRYPTION_INFO,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Type::AFD => AV_PKT_DATA_AFD,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -308,8 +308,18 @@ pub enum Pixel {
|
||||
GBRAPF32BE,
|
||||
GBRAPF32LE,
|
||||
DRM_PRIME,
|
||||
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
OPENCL,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
GRAY14BE,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
GRAY14LE,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
GRAYF32BE,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
GRAYF32LE,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Eq)]
|
||||
@ -596,8 +606,18 @@ impl From<AVPixelFormat> for Pixel {
|
||||
AV_PIX_FMT_GBRAPF32BE => Pixel::GBRAPF32BE,
|
||||
AV_PIX_FMT_GBRAPF32LE => Pixel::GBRAPF32LE,
|
||||
AV_PIX_FMT_DRM_PRIME => Pixel::DRM_PRIME,
|
||||
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
AV_PIX_FMT_OPENCL => Pixel::OPENCL,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_PIX_FMT_GRAY14BE => Pixel::GRAY14BE,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_PIX_FMT_GRAY14LE => Pixel::GRAY14LE,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_PIX_FMT_GRAYF32BE => Pixel::GRAYF32BE,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_PIX_FMT_GRAYF32LE => Pixel::GRAYF32LE,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -906,8 +926,18 @@ impl Into<AVPixelFormat> for Pixel {
|
||||
Pixel::GBRAPF32BE => AV_PIX_FMT_GBRAPF32BE,
|
||||
Pixel::GBRAPF32LE => AV_PIX_FMT_GBRAPF32LE,
|
||||
Pixel::DRM_PRIME => AV_PIX_FMT_DRM_PRIME,
|
||||
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
Pixel::OPENCL => AV_PIX_FMT_OPENCL,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Pixel::GRAY14BE => AV_PIX_FMT_GRAY14BE,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Pixel::GRAY14LE => AV_PIX_FMT_GRAY14LE,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Pixel::GRAYF32BE => AV_PIX_FMT_GRAYF32BE,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Pixel::GRAYF32LE => AV_PIX_FMT_GRAYF32LE,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,9 @@ pub enum Type {
|
||||
QPTableProperties,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
QPTableData,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
S12M_TIMECODE,
|
||||
}
|
||||
|
||||
impl Type {
|
||||
@ -69,6 +72,9 @@ impl From<AVFrameSideDataType> for Type {
|
||||
AV_FRAME_DATA_QP_TABLE_PROPERTIES => Type::QPTableProperties,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
AV_FRAME_DATA_QP_TABLE_DATA => Type::QPTableData,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
AV_FRAME_DATA_S12M_TIMECODE => Type::S12M_TIMECODE,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -99,6 +105,9 @@ impl Into<AVFrameSideDataType> for Type {
|
||||
Type::QPTableProperties => AV_FRAME_DATA_QP_TABLE_PROPERTIES,
|
||||
#[cfg(feature = "ffmpeg4")]
|
||||
Type::QPTableData => AV_FRAME_DATA_QP_TABLE_DATA,
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
Type::S12M_TIMECODE => AV_FRAME_DATA_S12M_TIMECODE,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user