Add FFmpeg 4.2 specific code
This commit is contained in:
parent
a69a457e3a
commit
fcca68ae5e
@ -15,8 +15,9 @@ keywords = ["ffmpeg", "multimedia", "video", "audio"]
|
|||||||
categories = ["multimedia"]
|
categories = ["multimedia"]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["ffmpeg41", "codec", "device", "filter", "format", "resampling", "software-resampling", "software-scaling"]
|
default = ["ffmpeg42", "codec", "device", "filter", "format", "resampling", "software-resampling", "software-scaling"]
|
||||||
|
|
||||||
|
ffmpeg42 = ["ffmpeg41"]
|
||||||
ffmpeg41 = ["ffmpeg4"]
|
ffmpeg41 = ["ffmpeg4"]
|
||||||
ffmpeg4 = []
|
ffmpeg4 = []
|
||||||
|
|
||||||
|
@ -510,6 +510,23 @@ pub enum Id {
|
|||||||
ATRAC9,
|
ATRAC9,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg41")]
|
||||||
TTML,
|
TTML,
|
||||||
|
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
HYMT,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
ARBC,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AGM,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
LSCR,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
VP4,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
ADPCM_AGM,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
HCOM,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
ARIB_CAPTION,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Id {
|
impl Id {
|
||||||
@ -1022,6 +1039,23 @@ impl From<AVCodecID> for Id {
|
|||||||
AV_CODEC_ID_ATRAC9 => Id::ATRAC9,
|
AV_CODEC_ID_ATRAC9 => Id::ATRAC9,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg41")]
|
||||||
AV_CODEC_ID_TTML => Id::TTML,
|
AV_CODEC_ID_TTML => Id::TTML,
|
||||||
|
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_CODEC_ID_HYMT => Id::HYMT,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_CODEC_ID_ARBC => Id::ARBC,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_CODEC_ID_AGM => Id::AGM,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_CODEC_ID_LSCR => Id::LSCR,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_CODEC_ID_VP4 => Id::VP4,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_CODEC_ID_ADPCM_AGM => Id::ADPCM_AGM,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_CODEC_ID_HCOM => Id::HCOM,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_CODEC_ID_ARIB_CAPTION => Id::ARIB_CAPTION,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1531,6 +1565,23 @@ impl Into<AVCodecID> for Id {
|
|||||||
Id::ATRAC9 => AV_CODEC_ID_ATRAC9,
|
Id::ATRAC9 => AV_CODEC_ID_ATRAC9,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg41")]
|
||||||
Id::TTML => AV_CODEC_ID_TTML,
|
Id::TTML => AV_CODEC_ID_TTML,
|
||||||
|
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Id::HYMT => AV_CODEC_ID_HYMT,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Id::ARBC => AV_CODEC_ID_ARBC,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Id::AGM => AV_CODEC_ID_AGM,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Id::LSCR => AV_CODEC_ID_LSCR,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Id::VP4 => AV_CODEC_ID_VP4,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Id::ADPCM_AGM => AV_CODEC_ID_ADPCM_AGM,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Id::HCOM => AV_CODEC_ID_HCOM,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Id::ARIB_CAPTION => AV_CODEC_ID_ARIB_CAPTION,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -320,6 +320,19 @@ pub enum Pixel {
|
|||||||
GRAYF32BE,
|
GRAYF32BE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg41")]
|
||||||
GRAYF32LE,
|
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)]
|
#[derive(Clone, Copy, PartialEq, Eq)]
|
||||||
@ -618,6 +631,19 @@ impl From<AVPixelFormat> for Pixel {
|
|||||||
AV_PIX_FMT_GRAYF32BE => Pixel::GRAYF32BE,
|
AV_PIX_FMT_GRAYF32BE => Pixel::GRAYF32BE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg41")]
|
||||||
AV_PIX_FMT_GRAYF32LE => Pixel::GRAYF32LE,
|
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,
|
Pixel::GRAYF32BE => AV_PIX_FMT_GRAYF32BE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg41")]
|
||||||
Pixel::GRAYF32LE => AV_PIX_FMT_GRAYF32LE,
|
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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,11 @@ pub enum Type {
|
|||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg41")]
|
||||||
S12M_TIMECODE,
|
S12M_TIMECODE,
|
||||||
|
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
DYNAMIC_HDR_PLUS,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
REGIONS_OF_INTEREST,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Type {
|
impl Type {
|
||||||
@ -75,6 +80,11 @@ impl From<AVFrameSideDataType> for Type {
|
|||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg41")]
|
||||||
AV_FRAME_DATA_S12M_TIMECODE => Type::S12M_TIMECODE,
|
AV_FRAME_DATA_S12M_TIMECODE => Type::S12M_TIMECODE,
|
||||||
|
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_FRAME_DATA_DYNAMIC_HDR_PLUS => Type::DYNAMIC_HDR_PLUS,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
AV_FRAME_DATA_REGIONS_OF_INTEREST => Type::REGIONS_OF_INTEREST,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -108,6 +118,11 @@ impl Into<AVFrameSideDataType> for Type {
|
|||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg41")]
|
||||||
Type::S12M_TIMECODE => AV_FRAME_DATA_S12M_TIMECODE,
|
Type::S12M_TIMECODE => AV_FRAME_DATA_S12M_TIMECODE,
|
||||||
|
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Type::DYNAMIC_HDR_PLUS => AV_FRAME_DATA_DYNAMIC_HDR_PLUS,
|
||||||
|
#[cfg(feature = "ffmpeg42")]
|
||||||
|
Type::REGIONS_OF_INTEREST => AV_FRAME_DATA_REGIONS_OF_INTEREST,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user