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"]
|
||||
|
||||
[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"]
|
||||
ffmpeg4 = []
|
||||
|
||||
|
@ -510,6 +510,23 @@ pub enum Id {
|
||||
ATRAC9,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
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 {
|
||||
@ -1022,6 +1039,23 @@ impl From<AVCodecID> for Id {
|
||||
AV_CODEC_ID_ATRAC9 => Id::ATRAC9,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
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,
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
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,
|
||||
#[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,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,11 @@ pub enum Type {
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
S12M_TIMECODE,
|
||||
|
||||
#[cfg(feature = "ffmpeg42")]
|
||||
DYNAMIC_HDR_PLUS,
|
||||
#[cfg(feature = "ffmpeg42")]
|
||||
REGIONS_OF_INTEREST,
|
||||
}
|
||||
|
||||
impl Type {
|
||||
@ -75,6 +80,11 @@ impl From<AVFrameSideDataType> for Type {
|
||||
|
||||
#[cfg(feature = "ffmpeg41")]
|
||||
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")]
|
||||
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