Implement automatic FFmpeg version detection
Based on ffmpeg-sys-next 4.3.2.
This commit is contained in:
parent
a5a897f42f
commit
b28e852eb0
13
Cargo.toml
13
Cargo.toml
@ -17,9 +17,14 @@ categories = ["multimedia"]
|
|||||||
[features]
|
[features]
|
||||||
default = ["ffmpeg43", "codec", "device", "filter", "format", "software-resampling", "software-scaling"]
|
default = ["ffmpeg43", "codec", "device", "filter", "format", "software-resampling", "software-scaling"]
|
||||||
|
|
||||||
ffmpeg43 = ["ffmpeg42"]
|
# ffmpeg<xy> are obsolete features kept for backward compatibility purposes and
|
||||||
ffmpeg42 = ["ffmpeg41"]
|
# don't do anything anymore (equivalents are automatically specified through
|
||||||
ffmpeg41 = ["ffmpeg4"]
|
# compile-time detection in ffmpeg-sys-next). Deprecation plan: ffmpeg43 will be
|
||||||
|
# dropped from default features come 4.4, and all these features will be removed
|
||||||
|
# come 5.0.
|
||||||
|
ffmpeg43 = []
|
||||||
|
ffmpeg42 = []
|
||||||
|
ffmpeg41 = []
|
||||||
ffmpeg4 = []
|
ffmpeg4 = []
|
||||||
|
|
||||||
static = ["ffmpeg-sys-next/static"]
|
static = ["ffmpeg-sys-next/static"]
|
||||||
@ -107,5 +112,5 @@ version = "0.12"
|
|||||||
optional = true
|
optional = true
|
||||||
|
|
||||||
[dependencies.ffmpeg-sys-next]
|
[dependencies.ffmpeg-sys-next]
|
||||||
version = "4.3"
|
version = "4.3.2"
|
||||||
default-features = false
|
default-features = false
|
||||||
|
14
README.md
14
README.md
@ -3,22 +3,14 @@
|
|||||||
|
|
||||||
This is a fork of the abandoned [ffmpeg](https://crates.io/crates/ffmpeg) crate by [meh.](https://github.com/meh/rust-ffmpeg).
|
This is a fork of the abandoned [ffmpeg](https://crates.io/crates/ffmpeg) crate by [meh.](https://github.com/meh/rust-ffmpeg).
|
||||||
|
|
||||||
Support for different FFmpeg versions are guarded by feature flags:
|
Currently supported FFmpeg versions: 3.4.x through 4.3.x.
|
||||||
|
|
||||||
| FFmpeg version | lavc version | corresponding feature |
|
Build instructions can be found on the [wiki](https://github.com/zmwangx/rust-ffmpeg/wiki/Notes-on-building).
|
||||||
| -------------- | ------------ | ---------------------------- |
|
|
||||||
| 4.3.x | 58.91.100 | `ffmpeg43` (current default) |
|
|
||||||
| 4.2.x | 58.54.100 | `ffmpeg42` |
|
|
||||||
| 4.1.x | 58.35.100 | `ffmpeg41` |
|
|
||||||
| 4.0.x | 58.18.100 | `ffmpeg4` |
|
|
||||||
| 3.4.x | 57.107.100 | none |
|
|
||||||
|
|
||||||
See my [`metadata` project](https://github.com/zmwangx/metadata) for an example of targeting multiple versions of FFmpeg.
|
*Note on upgrading to v4.3.4 or later: v4.3.4 introduced automatic FFmpeg version detection, obseleting feature flags `ffmpeg4`, `ffmpeg41`, `ffmpeg42` and `ffmpeg43`. If you manually specify any of these features, now is the time to remove them; if you use `ffmpeg43` through the `default` feature, it's still on for backward-compatibility but it has turned into a no-op, and you don't need to do anything. Deprecation plan: `ffmpeg43` will be dropped from default features come 4.4, and all these features will be removed come 5.0.*
|
||||||
|
|
||||||
A word on versioning: major and minor versions of this crate track major and minor versions of FFmpeg, e.g. 4.2.x of this crate has been updated to support the 4.2.x series of FFmpeg. Patch level is reserved for bug fixes of this crate and does not track FFmpeg patch versions.
|
A word on versioning: major and minor versions of this crate track major and minor versions of FFmpeg, e.g. 4.2.x of this crate has been updated to support the 4.2.x series of FFmpeg. Patch level is reserved for bug fixes of this crate and does not track FFmpeg patch versions.
|
||||||
|
|
||||||
If you have problem building this crate, please have a look at the [wiki](https://github.com/zmwangx/rust-ffmpeg/wiki/Notes-on-building).
|
|
||||||
|
|
||||||
**Please realize that this crate is in maintenance-only mode for the most part.** Which means I'll try my best to ensure the crate compiles against all release branches of FFmpeg 3.4 and later (only the latest patch release of each release branch is officially supported) and fix reported bugs, but if a new FFmpeg version brings new APIs that require significant effort to port to Rust, you might have to send me a PR (and just to be clear, I can't really guarantee I'll have the time to review). Any PR to improve existing API is unlikely to be merged, unfortunately.
|
**Please realize that this crate is in maintenance-only mode for the most part.** Which means I'll try my best to ensure the crate compiles against all release branches of FFmpeg 3.4 and later (only the latest patch release of each release branch is officially supported) and fix reported bugs, but if a new FFmpeg version brings new APIs that require significant effort to port to Rust, you might have to send me a PR (and just to be clear, I can't really guarantee I'll have the time to review). Any PR to improve existing API is unlikely to be merged, unfortunately.
|
||||||
|
|
||||||
🤝 **If you have significant, demonstrable experience in Rust and multimedia-related programming, please let me know, I'll be more than happy to invite you as a collaborator.** 🤝
|
🤝 **If you have significant, demonstrable experience in Rust and multimedia-related programming, please let me know, I'll be more than happy to invite you as a collaborator.** 🤝
|
||||||
|
@ -8,7 +8,7 @@ bitflags! {
|
|||||||
const TRUNCATED = AV_CODEC_CAP_TRUNCATED;
|
const TRUNCATED = AV_CODEC_CAP_TRUNCATED;
|
||||||
const DELAY = AV_CODEC_CAP_DELAY;
|
const DELAY = AV_CODEC_CAP_DELAY;
|
||||||
const SMALL_LAST_FRAME = AV_CODEC_CAP_SMALL_LAST_FRAME;
|
const SMALL_LAST_FRAME = AV_CODEC_CAP_SMALL_LAST_FRAME;
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
const HWACCEL_VDPAU = AV_CODEC_CAP_HWACCEL_VDPAU;
|
const HWACCEL_VDPAU = AV_CODEC_CAP_HWACCEL_VDPAU;
|
||||||
const SUBFRAMES = AV_CODEC_CAP_SUBFRAMES;
|
const SUBFRAMES = AV_CODEC_CAP_SUBFRAMES;
|
||||||
const EXPERIMENTAL = AV_CODEC_CAP_EXPERIMENTAL;
|
const EXPERIMENTAL = AV_CODEC_CAP_EXPERIMENTAL;
|
||||||
|
@ -8,19 +8,19 @@ bitflags! {
|
|||||||
const BITSTREAM = FF_DEBUG_BITSTREAM;
|
const BITSTREAM = FF_DEBUG_BITSTREAM;
|
||||||
const MB_TYPE = FF_DEBUG_MB_TYPE;
|
const MB_TYPE = FF_DEBUG_MB_TYPE;
|
||||||
const QP = FF_DEBUG_QP;
|
const QP = FF_DEBUG_QP;
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
const MV = FF_DEBUG_MV;
|
const MV = FF_DEBUG_MV;
|
||||||
const DCT_COEFF = FF_DEBUG_DCT_COEFF;
|
const DCT_COEFF = FF_DEBUG_DCT_COEFF;
|
||||||
const SKIP = FF_DEBUG_SKIP;
|
const SKIP = FF_DEBUG_SKIP;
|
||||||
const STARTCODE = FF_DEBUG_STARTCODE;
|
const STARTCODE = FF_DEBUG_STARTCODE;
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
const PTS = FF_DEBUG_PTS;
|
const PTS = FF_DEBUG_PTS;
|
||||||
const ER = FF_DEBUG_ER;
|
const ER = FF_DEBUG_ER;
|
||||||
const MMCO = FF_DEBUG_MMCO;
|
const MMCO = FF_DEBUG_MMCO;
|
||||||
const BUGS = FF_DEBUG_BUGS;
|
const BUGS = FF_DEBUG_BUGS;
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
const VIS_QP = FF_DEBUG_VIS_QP;
|
const VIS_QP = FF_DEBUG_VIS_QP;
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
const VIS_MB_TYPE = FF_DEBUG_VIS_MB_TYPE;
|
const VIS_MB_TYPE = FF_DEBUG_VIS_MB_TYPE;
|
||||||
const BUFFERS = FF_DEBUG_BUFFERS;
|
const BUFFERS = FF_DEBUG_BUFFERS;
|
||||||
const THREADS = FF_DEBUG_THREADS;
|
const THREADS = FF_DEBUG_THREADS;
|
||||||
|
246
src/codec/id.rs
246
src/codec/id.rs
@ -397,7 +397,7 @@ pub enum Id {
|
|||||||
ON2AVC,
|
ON2AVC,
|
||||||
DSS_SP,
|
DSS_SP,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
CODEC2,
|
CODEC2,
|
||||||
FFWAVESYNTH,
|
FFWAVESYNTH,
|
||||||
SONIC,
|
SONIC,
|
||||||
@ -483,88 +483,88 @@ pub enum Id {
|
|||||||
GREMLIN_DPCM,
|
GREMLIN_DPCM,
|
||||||
DOLBY_E,
|
DOLBY_E,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
APTX,
|
APTX,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
APTX_HD,
|
APTX_HD,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
SBC,
|
SBC,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AVS2,
|
AVS2,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
IMM4,
|
IMM4,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
PROSUMER,
|
PROSUMER,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
MWSC,
|
MWSC,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
WCMV,
|
WCMV,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
RASC,
|
RASC,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
PCM_VIDC,
|
PCM_VIDC,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
ATRAC9,
|
ATRAC9,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
TTML,
|
TTML,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
HYMT,
|
HYMT,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
ARBC,
|
ARBC,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AGM,
|
AGM,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
LSCR,
|
LSCR,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
VP4,
|
VP4,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
ADPCM_AGM,
|
ADPCM_AGM,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
HCOM,
|
HCOM,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
ARIB_CAPTION,
|
ARIB_CAPTION,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
IMM5,
|
IMM5,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
MVDV,
|
MVDV,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
MVHA,
|
MVHA,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
CDTOONS,
|
CDTOONS,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
MV30,
|
MV30,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
NOTCHLC,
|
NOTCHLC,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
PFM,
|
PFM,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
ADPCM_ARGO,
|
ADPCM_ARGO,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
ADPCM_IMA_SSI,
|
ADPCM_IMA_SSI,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
ADPCM_ZORK,
|
ADPCM_ZORK,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
ADPCM_IMA_APM,
|
ADPCM_IMA_APM,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
ADPCM_IMA_ALP,
|
ADPCM_IMA_ALP,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
ADPCM_IMA_MTF,
|
ADPCM_IMA_MTF,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
ADPCM_IMA_CUNNING,
|
ADPCM_IMA_CUNNING,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
DERF_DPCM,
|
DERF_DPCM,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
ACELP_KELVIN,
|
ACELP_KELVIN,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
MPEGH_3D_AUDIO,
|
MPEGH_3D_AUDIO,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
SIREN,
|
SIREN,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
HCA,
|
HCA,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
EPG,
|
EPG,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -971,7 +971,7 @@ impl From<AVCodecID> for Id {
|
|||||||
AV_CODEC_ID_ON2AVC => Id::ON2AVC,
|
AV_CODEC_ID_ON2AVC => Id::ON2AVC,
|
||||||
AV_CODEC_ID_DSS_SP => Id::DSS_SP,
|
AV_CODEC_ID_DSS_SP => Id::DSS_SP,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
AV_CODEC_ID_CODEC2 => Id::CODEC2,
|
AV_CODEC_ID_CODEC2 => Id::CODEC2,
|
||||||
AV_CODEC_ID_FFWAVESYNTH => Id::FFWAVESYNTH,
|
AV_CODEC_ID_FFWAVESYNTH => Id::FFWAVESYNTH,
|
||||||
AV_CODEC_ID_SONIC => Id::SONIC,
|
AV_CODEC_ID_SONIC => Id::SONIC,
|
||||||
@ -1056,88 +1056,88 @@ impl From<AVCodecID> for Id {
|
|||||||
AV_CODEC_ID_GREMLIN_DPCM => Id::GREMLIN_DPCM,
|
AV_CODEC_ID_GREMLIN_DPCM => Id::GREMLIN_DPCM,
|
||||||
AV_CODEC_ID_DOLBY_E => Id::DOLBY_E,
|
AV_CODEC_ID_DOLBY_E => Id::DOLBY_E,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
AV_CODEC_ID_APTX => Id::APTX,
|
AV_CODEC_ID_APTX => Id::APTX,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
AV_CODEC_ID_APTX_HD => Id::APTX_HD,
|
AV_CODEC_ID_APTX_HD => Id::APTX_HD,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
AV_CODEC_ID_SBC => Id::SBC,
|
AV_CODEC_ID_SBC => Id::SBC,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_CODEC_ID_AVS2 => Id::AVS2,
|
AV_CODEC_ID_AVS2 => Id::AVS2,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_CODEC_ID_IMM4 => Id::IMM4,
|
AV_CODEC_ID_IMM4 => Id::IMM4,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_CODEC_ID_PROSUMER => Id::PROSUMER,
|
AV_CODEC_ID_PROSUMER => Id::PROSUMER,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_CODEC_ID_MWSC => Id::MWSC,
|
AV_CODEC_ID_MWSC => Id::MWSC,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_CODEC_ID_WCMV => Id::WCMV,
|
AV_CODEC_ID_WCMV => Id::WCMV,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_CODEC_ID_RASC => Id::RASC,
|
AV_CODEC_ID_RASC => Id::RASC,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_CODEC_ID_PCM_VIDC => Id::PCM_VIDC,
|
AV_CODEC_ID_PCM_VIDC => Id::PCM_VIDC,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_CODEC_ID_ATRAC9 => Id::ATRAC9,
|
AV_CODEC_ID_ATRAC9 => Id::ATRAC9,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_CODEC_ID_TTML => Id::TTML,
|
AV_CODEC_ID_TTML => Id::TTML,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_CODEC_ID_HYMT => Id::HYMT,
|
AV_CODEC_ID_HYMT => Id::HYMT,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_CODEC_ID_ARBC => Id::ARBC,
|
AV_CODEC_ID_ARBC => Id::ARBC,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_CODEC_ID_AGM => Id::AGM,
|
AV_CODEC_ID_AGM => Id::AGM,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_CODEC_ID_LSCR => Id::LSCR,
|
AV_CODEC_ID_LSCR => Id::LSCR,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_CODEC_ID_VP4 => Id::VP4,
|
AV_CODEC_ID_VP4 => Id::VP4,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_CODEC_ID_ADPCM_AGM => Id::ADPCM_AGM,
|
AV_CODEC_ID_ADPCM_AGM => Id::ADPCM_AGM,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_CODEC_ID_HCOM => Id::HCOM,
|
AV_CODEC_ID_HCOM => Id::HCOM,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_CODEC_ID_ARIB_CAPTION => Id::ARIB_CAPTION,
|
AV_CODEC_ID_ARIB_CAPTION => Id::ARIB_CAPTION,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_IMM5 => Id::IMM5,
|
AV_CODEC_ID_IMM5 => Id::IMM5,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_MVDV => Id::MVDV,
|
AV_CODEC_ID_MVDV => Id::MVDV,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_MVHA => Id::MVHA,
|
AV_CODEC_ID_MVHA => Id::MVHA,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_CDTOONS => Id::CDTOONS,
|
AV_CODEC_ID_CDTOONS => Id::CDTOONS,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_MV30 => Id::MV30,
|
AV_CODEC_ID_MV30 => Id::MV30,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_NOTCHLC => Id::NOTCHLC,
|
AV_CODEC_ID_NOTCHLC => Id::NOTCHLC,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_PFM => Id::PFM,
|
AV_CODEC_ID_PFM => Id::PFM,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_ADPCM_ARGO => Id::ADPCM_ARGO,
|
AV_CODEC_ID_ADPCM_ARGO => Id::ADPCM_ARGO,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_ADPCM_IMA_SSI => Id::ADPCM_IMA_SSI,
|
AV_CODEC_ID_ADPCM_IMA_SSI => Id::ADPCM_IMA_SSI,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_ADPCM_ZORK => Id::ADPCM_ZORK,
|
AV_CODEC_ID_ADPCM_ZORK => Id::ADPCM_ZORK,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_ADPCM_IMA_APM => Id::ADPCM_IMA_APM,
|
AV_CODEC_ID_ADPCM_IMA_APM => Id::ADPCM_IMA_APM,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_ADPCM_IMA_ALP => Id::ADPCM_IMA_ALP,
|
AV_CODEC_ID_ADPCM_IMA_ALP => Id::ADPCM_IMA_ALP,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_ADPCM_IMA_MTF => Id::ADPCM_IMA_MTF,
|
AV_CODEC_ID_ADPCM_IMA_MTF => Id::ADPCM_IMA_MTF,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_ADPCM_IMA_CUNNING => Id::ADPCM_IMA_CUNNING,
|
AV_CODEC_ID_ADPCM_IMA_CUNNING => Id::ADPCM_IMA_CUNNING,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_DERF_DPCM => Id::DERF_DPCM,
|
AV_CODEC_ID_DERF_DPCM => Id::DERF_DPCM,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_ACELP_KELVIN => Id::ACELP_KELVIN,
|
AV_CODEC_ID_ACELP_KELVIN => Id::ACELP_KELVIN,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_MPEGH_3D_AUDIO => Id::MPEGH_3D_AUDIO,
|
AV_CODEC_ID_MPEGH_3D_AUDIO => Id::MPEGH_3D_AUDIO,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_SIREN => Id::SIREN,
|
AV_CODEC_ID_SIREN => Id::SIREN,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_HCA => Id::HCA,
|
AV_CODEC_ID_HCA => Id::HCA,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_CODEC_ID_EPG => Id::EPG,
|
AV_CODEC_ID_EPG => Id::EPG,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1535,7 +1535,7 @@ impl Into<AVCodecID> for Id {
|
|||||||
Id::ON2AVC => AV_CODEC_ID_ON2AVC,
|
Id::ON2AVC => AV_CODEC_ID_ON2AVC,
|
||||||
Id::DSS_SP => AV_CODEC_ID_DSS_SP,
|
Id::DSS_SP => AV_CODEC_ID_DSS_SP,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
Id::CODEC2 => AV_CODEC_ID_CODEC2,
|
Id::CODEC2 => AV_CODEC_ID_CODEC2,
|
||||||
Id::FFWAVESYNTH => AV_CODEC_ID_FFWAVESYNTH,
|
Id::FFWAVESYNTH => AV_CODEC_ID_FFWAVESYNTH,
|
||||||
Id::SONIC => AV_CODEC_ID_SONIC,
|
Id::SONIC => AV_CODEC_ID_SONIC,
|
||||||
@ -1621,88 +1621,88 @@ impl Into<AVCodecID> for Id {
|
|||||||
Id::GREMLIN_DPCM => AV_CODEC_ID_GREMLIN_DPCM,
|
Id::GREMLIN_DPCM => AV_CODEC_ID_GREMLIN_DPCM,
|
||||||
Id::DOLBY_E => AV_CODEC_ID_DOLBY_E,
|
Id::DOLBY_E => AV_CODEC_ID_DOLBY_E,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
Id::APTX => AV_CODEC_ID_APTX,
|
Id::APTX => AV_CODEC_ID_APTX,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
Id::APTX_HD => AV_CODEC_ID_APTX_HD,
|
Id::APTX_HD => AV_CODEC_ID_APTX_HD,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
Id::SBC => AV_CODEC_ID_SBC,
|
Id::SBC => AV_CODEC_ID_SBC,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Id::AVS2 => AV_CODEC_ID_AVS2,
|
Id::AVS2 => AV_CODEC_ID_AVS2,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Id::IMM4 => AV_CODEC_ID_IMM4,
|
Id::IMM4 => AV_CODEC_ID_IMM4,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Id::PROSUMER => AV_CODEC_ID_PROSUMER,
|
Id::PROSUMER => AV_CODEC_ID_PROSUMER,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Id::MWSC => AV_CODEC_ID_MWSC,
|
Id::MWSC => AV_CODEC_ID_MWSC,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Id::WCMV => AV_CODEC_ID_WCMV,
|
Id::WCMV => AV_CODEC_ID_WCMV,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Id::RASC => AV_CODEC_ID_RASC,
|
Id::RASC => AV_CODEC_ID_RASC,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Id::PCM_VIDC => AV_CODEC_ID_PCM_VIDC,
|
Id::PCM_VIDC => AV_CODEC_ID_PCM_VIDC,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Id::ATRAC9 => AV_CODEC_ID_ATRAC9,
|
Id::ATRAC9 => AV_CODEC_ID_ATRAC9,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Id::TTML => AV_CODEC_ID_TTML,
|
Id::TTML => AV_CODEC_ID_TTML,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Id::HYMT => AV_CODEC_ID_HYMT,
|
Id::HYMT => AV_CODEC_ID_HYMT,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Id::ARBC => AV_CODEC_ID_ARBC,
|
Id::ARBC => AV_CODEC_ID_ARBC,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Id::AGM => AV_CODEC_ID_AGM,
|
Id::AGM => AV_CODEC_ID_AGM,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Id::LSCR => AV_CODEC_ID_LSCR,
|
Id::LSCR => AV_CODEC_ID_LSCR,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Id::VP4 => AV_CODEC_ID_VP4,
|
Id::VP4 => AV_CODEC_ID_VP4,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Id::ADPCM_AGM => AV_CODEC_ID_ADPCM_AGM,
|
Id::ADPCM_AGM => AV_CODEC_ID_ADPCM_AGM,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Id::HCOM => AV_CODEC_ID_HCOM,
|
Id::HCOM => AV_CODEC_ID_HCOM,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Id::ARIB_CAPTION => AV_CODEC_ID_ARIB_CAPTION,
|
Id::ARIB_CAPTION => AV_CODEC_ID_ARIB_CAPTION,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::IMM5 => AV_CODEC_ID_IMM5,
|
Id::IMM5 => AV_CODEC_ID_IMM5,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::MVDV => AV_CODEC_ID_MVDV,
|
Id::MVDV => AV_CODEC_ID_MVDV,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::MVHA => AV_CODEC_ID_MVHA,
|
Id::MVHA => AV_CODEC_ID_MVHA,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::CDTOONS => AV_CODEC_ID_CDTOONS,
|
Id::CDTOONS => AV_CODEC_ID_CDTOONS,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::MV30 => AV_CODEC_ID_MV30,
|
Id::MV30 => AV_CODEC_ID_MV30,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::NOTCHLC => AV_CODEC_ID_NOTCHLC,
|
Id::NOTCHLC => AV_CODEC_ID_NOTCHLC,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::PFM => AV_CODEC_ID_PFM,
|
Id::PFM => AV_CODEC_ID_PFM,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::ADPCM_ARGO => AV_CODEC_ID_ADPCM_ARGO,
|
Id::ADPCM_ARGO => AV_CODEC_ID_ADPCM_ARGO,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::ADPCM_IMA_SSI => AV_CODEC_ID_ADPCM_IMA_SSI,
|
Id::ADPCM_IMA_SSI => AV_CODEC_ID_ADPCM_IMA_SSI,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::ADPCM_ZORK => AV_CODEC_ID_ADPCM_ZORK,
|
Id::ADPCM_ZORK => AV_CODEC_ID_ADPCM_ZORK,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::ADPCM_IMA_APM => AV_CODEC_ID_ADPCM_IMA_APM,
|
Id::ADPCM_IMA_APM => AV_CODEC_ID_ADPCM_IMA_APM,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::ADPCM_IMA_ALP => AV_CODEC_ID_ADPCM_IMA_ALP,
|
Id::ADPCM_IMA_ALP => AV_CODEC_ID_ADPCM_IMA_ALP,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::ADPCM_IMA_MTF => AV_CODEC_ID_ADPCM_IMA_MTF,
|
Id::ADPCM_IMA_MTF => AV_CODEC_ID_ADPCM_IMA_MTF,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::ADPCM_IMA_CUNNING => AV_CODEC_ID_ADPCM_IMA_CUNNING,
|
Id::ADPCM_IMA_CUNNING => AV_CODEC_ID_ADPCM_IMA_CUNNING,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::DERF_DPCM => AV_CODEC_ID_DERF_DPCM,
|
Id::DERF_DPCM => AV_CODEC_ID_DERF_DPCM,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::ACELP_KELVIN => AV_CODEC_ID_ACELP_KELVIN,
|
Id::ACELP_KELVIN => AV_CODEC_ID_ACELP_KELVIN,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::MPEGH_3D_AUDIO => AV_CODEC_ID_MPEGH_3D_AUDIO,
|
Id::MPEGH_3D_AUDIO => AV_CODEC_ID_MPEGH_3D_AUDIO,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::SIREN => AV_CODEC_ID_SIREN,
|
Id::SIREN => AV_CODEC_ID_SIREN,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::HCA => AV_CODEC_ID_HCA,
|
Id::HCA => AV_CODEC_ID_HCA,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Id::EPG => AV_CODEC_ID_EPG,
|
Id::EPG => AV_CODEC_ID_EPG,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,19 +34,19 @@ pub enum Type {
|
|||||||
ContentLightLevel,
|
ContentLightLevel,
|
||||||
A53CC,
|
A53CC,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
EncryptionInitInfo,
|
EncryptionInitInfo,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
EncryptionInfo,
|
EncryptionInfo,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AFD,
|
AFD,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
PRFT,
|
PRFT,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
ICC_PROFILE,
|
ICC_PROFILE,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
DOVI_CONF,
|
DOVI_CONF,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,19 +80,19 @@ impl From<AVPacketSideDataType> for Type {
|
|||||||
AV_PKT_DATA_CONTENT_LIGHT_LEVEL => Type::ContentLightLevel,
|
AV_PKT_DATA_CONTENT_LIGHT_LEVEL => Type::ContentLightLevel,
|
||||||
AV_PKT_DATA_A53_CC => Type::A53CC,
|
AV_PKT_DATA_A53_CC => Type::A53CC,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
AV_PKT_DATA_ENCRYPTION_INIT_INFO => Type::EncryptionInitInfo,
|
AV_PKT_DATA_ENCRYPTION_INIT_INFO => Type::EncryptionInitInfo,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
AV_PKT_DATA_ENCRYPTION_INFO => Type::EncryptionInfo,
|
AV_PKT_DATA_ENCRYPTION_INFO => Type::EncryptionInfo,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_PKT_DATA_AFD => Type::AFD,
|
AV_PKT_DATA_AFD => Type::AFD,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_PKT_DATA_PRFT => Type::PRFT,
|
AV_PKT_DATA_PRFT => Type::PRFT,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_PKT_DATA_ICC_PROFILE => Type::ICC_PROFILE,
|
AV_PKT_DATA_ICC_PROFILE => Type::ICC_PROFILE,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_PKT_DATA_DOVI_CONF => Type::DOVI_CONF,
|
AV_PKT_DATA_DOVI_CONF => Type::DOVI_CONF,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,19 +128,19 @@ impl Into<AVPacketSideDataType> for Type {
|
|||||||
Type::ContentLightLevel => AV_PKT_DATA_CONTENT_LIGHT_LEVEL,
|
Type::ContentLightLevel => AV_PKT_DATA_CONTENT_LIGHT_LEVEL,
|
||||||
Type::A53CC => AV_PKT_DATA_A53_CC,
|
Type::A53CC => AV_PKT_DATA_A53_CC,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
Type::EncryptionInitInfo => AV_PKT_DATA_ENCRYPTION_INIT_INFO,
|
Type::EncryptionInitInfo => AV_PKT_DATA_ENCRYPTION_INIT_INFO,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
Type::EncryptionInfo => AV_PKT_DATA_ENCRYPTION_INFO,
|
Type::EncryptionInfo => AV_PKT_DATA_ENCRYPTION_INFO,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Type::AFD => AV_PKT_DATA_AFD,
|
Type::AFD => AV_PKT_DATA_AFD,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Type::PRFT => AV_PKT_DATA_PRFT,
|
Type::PRFT => AV_PKT_DATA_PRFT,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Type::ICC_PROFILE => AV_PKT_DATA_ICC_PROFILE,
|
Type::ICC_PROFILE => AV_PKT_DATA_ICC_PROFILE,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Type::DOVI_CONF => AV_PKT_DATA_DOVI_CONF,
|
Type::DOVI_CONF => AV_PKT_DATA_DOVI_CONF,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ bitflags! {
|
|||||||
const NO_FILE = AVFMT_NOFILE;
|
const NO_FILE = AVFMT_NOFILE;
|
||||||
const NEED_NUMBER = AVFMT_NEEDNUMBER;
|
const NEED_NUMBER = AVFMT_NEEDNUMBER;
|
||||||
const SHOW_IDS = AVFMT_SHOW_IDS;
|
const SHOW_IDS = AVFMT_SHOW_IDS;
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
const RAW_PICTURE = AVFMT_RAWPICTURE;
|
const RAW_PICTURE = AVFMT_RAWPICTURE;
|
||||||
const GLOBAL_HEADER = AVFMT_GLOBALHEADER;
|
const GLOBAL_HEADER = AVFMT_GLOBALHEADER;
|
||||||
const NO_TIMESTAMPS = AVFMT_NOTIMESTAMPS;
|
const NO_TIMESTAMPS = AVFMT_NOTIMESTAMPS;
|
||||||
|
@ -98,6 +98,13 @@ fn init_filter() {
|
|||||||
#[cfg(not(feature = "filter"))]
|
#[cfg(not(feature = "filter"))]
|
||||||
fn init_filter() {}
|
fn init_filter() {}
|
||||||
|
|
||||||
|
#[cfg_attr(
|
||||||
|
any(feature = "ffmpeg4", feature = "ffmpeg41", feature = "ffmpeg42"),
|
||||||
|
deprecated(
|
||||||
|
note = "features ffmpeg4/ffmpeg41/ffmpeg42/ffmpeg43 are now auto-detected \
|
||||||
|
and will be removed in a future version"
|
||||||
|
)
|
||||||
|
)]
|
||||||
pub fn init() -> Result<(), Error> {
|
pub fn init() -> Result<(), Error> {
|
||||||
init_error();
|
init_error();
|
||||||
init_format();
|
init_format();
|
||||||
|
@ -21,14 +21,14 @@ pub enum Primaries {
|
|||||||
SMPTE428,
|
SMPTE428,
|
||||||
SMPTE431,
|
SMPTE431,
|
||||||
SMPTE432,
|
SMPTE432,
|
||||||
#[cfg(not(feature = "ffmpeg43"))]
|
#[cfg(not(feature = "ffmpeg_4_3"))]
|
||||||
JEDEC_P22,
|
JEDEC_P22,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
EBU3213,
|
EBU3213,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Primaries {
|
impl Primaries {
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
pub const JEDEC_P22: Primaries = Primaries::EBU3213;
|
pub const JEDEC_P22: Primaries = Primaries::EBU3213;
|
||||||
|
|
||||||
pub fn name(&self) -> Option<&'static str> {
|
pub fn name(&self) -> Option<&'static str> {
|
||||||
@ -62,9 +62,9 @@ impl From<AVColorPrimaries> for Primaries {
|
|||||||
AVCOL_PRI_SMPTE428 => Primaries::SMPTE428,
|
AVCOL_PRI_SMPTE428 => Primaries::SMPTE428,
|
||||||
AVCOL_PRI_SMPTE431 => Primaries::SMPTE431,
|
AVCOL_PRI_SMPTE431 => Primaries::SMPTE431,
|
||||||
AVCOL_PRI_SMPTE432 => Primaries::SMPTE432,
|
AVCOL_PRI_SMPTE432 => Primaries::SMPTE432,
|
||||||
#[cfg(not(feature = "ffmpeg43"))]
|
#[cfg(not(feature = "ffmpeg_4_3"))]
|
||||||
AVCOL_PRI_JEDEC_P22 => Primaries::JEDEC_P22,
|
AVCOL_PRI_JEDEC_P22 => Primaries::JEDEC_P22,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AVCOL_PRI_EBU3213 => Primaries::EBU3213,
|
AVCOL_PRI_EBU3213 => Primaries::EBU3213,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -88,9 +88,9 @@ impl Into<AVColorPrimaries> for Primaries {
|
|||||||
Primaries::SMPTE428 => AVCOL_PRI_SMPTE428,
|
Primaries::SMPTE428 => AVCOL_PRI_SMPTE428,
|
||||||
Primaries::SMPTE431 => AVCOL_PRI_SMPTE431,
|
Primaries::SMPTE431 => AVCOL_PRI_SMPTE431,
|
||||||
Primaries::SMPTE432 => AVCOL_PRI_SMPTE432,
|
Primaries::SMPTE432 => AVCOL_PRI_SMPTE432,
|
||||||
#[cfg(not(feature = "ffmpeg43"))]
|
#[cfg(not(feature = "ffmpeg_4_3"))]
|
||||||
Primaries::JEDEC_P22 => AVCOL_PRI_JEDEC_P22,
|
Primaries::JEDEC_P22 => AVCOL_PRI_JEDEC_P22,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Primaries::EBU3213 => AVCOL_PRI_EBU3213,
|
Primaries::EBU3213 => AVCOL_PRI_EBU3213,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,7 +113,7 @@ pub enum Pixel {
|
|||||||
YUV444P10LE,
|
YUV444P10LE,
|
||||||
YUV422P9BE,
|
YUV422P9BE,
|
||||||
YUV422P9LE,
|
YUV422P9LE,
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
VDA_VLD,
|
VDA_VLD,
|
||||||
|
|
||||||
GBRP,
|
GBRP,
|
||||||
@ -158,7 +158,7 @@ pub enum Pixel {
|
|||||||
|
|
||||||
YVYU422,
|
YVYU422,
|
||||||
|
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
VDA,
|
VDA,
|
||||||
|
|
||||||
YA16BE,
|
YA16BE,
|
||||||
@ -310,36 +310,36 @@ pub enum Pixel {
|
|||||||
GBRAPF32LE,
|
GBRAPF32LE,
|
||||||
DRM_PRIME,
|
DRM_PRIME,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
OPENCL,
|
OPENCL,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
GRAY14BE,
|
GRAY14BE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
GRAY14LE,
|
GRAY14LE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
GRAYF32BE,
|
GRAYF32BE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
GRAYF32LE,
|
GRAYF32LE,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
YUVA422P12BE,
|
YUVA422P12BE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
YUVA422P12LE,
|
YUVA422P12LE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
YUVA444P12BE,
|
YUVA444P12BE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
YUVA444P12LE,
|
YUVA444P12LE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
NV24,
|
NV24,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
NV42,
|
NV42,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
VULKAN,
|
VULKAN,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Y210BE,
|
Y210BE,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Y210LE,
|
Y210LE,
|
||||||
#[cfg(feature = "rpi")]
|
#[cfg(feature = "rpi")]
|
||||||
RPI,
|
RPI,
|
||||||
@ -510,7 +510,7 @@ impl From<AVPixelFormat> for Pixel {
|
|||||||
AV_PIX_FMT_YUV444P10LE => Pixel::YUV444P10LE,
|
AV_PIX_FMT_YUV444P10LE => Pixel::YUV444P10LE,
|
||||||
AV_PIX_FMT_YUV422P9BE => Pixel::YUV422P9BE,
|
AV_PIX_FMT_YUV422P9BE => Pixel::YUV422P9BE,
|
||||||
AV_PIX_FMT_YUV422P9LE => Pixel::YUV422P9LE,
|
AV_PIX_FMT_YUV422P9LE => Pixel::YUV422P9LE,
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
AV_PIX_FMT_VDA_VLD => Pixel::VDA_VLD,
|
AV_PIX_FMT_VDA_VLD => Pixel::VDA_VLD,
|
||||||
|
|
||||||
AV_PIX_FMT_GBRP => Pixel::GBRP,
|
AV_PIX_FMT_GBRP => Pixel::GBRP,
|
||||||
@ -555,7 +555,7 @@ impl From<AVPixelFormat> for Pixel {
|
|||||||
|
|
||||||
AV_PIX_FMT_YVYU422 => Pixel::YVYU422,
|
AV_PIX_FMT_YVYU422 => Pixel::YVYU422,
|
||||||
|
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
AV_PIX_FMT_VDA => Pixel::VDA,
|
AV_PIX_FMT_VDA => Pixel::VDA,
|
||||||
|
|
||||||
AV_PIX_FMT_YA16BE => Pixel::YA16BE,
|
AV_PIX_FMT_YA16BE => Pixel::YA16BE,
|
||||||
@ -643,36 +643,36 @@ impl From<AVPixelFormat> for Pixel {
|
|||||||
AV_PIX_FMT_GBRAPF32LE => Pixel::GBRAPF32LE,
|
AV_PIX_FMT_GBRAPF32LE => Pixel::GBRAPF32LE,
|
||||||
AV_PIX_FMT_DRM_PRIME => Pixel::DRM_PRIME,
|
AV_PIX_FMT_DRM_PRIME => Pixel::DRM_PRIME,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
AV_PIX_FMT_OPENCL => Pixel::OPENCL,
|
AV_PIX_FMT_OPENCL => Pixel::OPENCL,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_PIX_FMT_GRAY14BE => Pixel::GRAY14BE,
|
AV_PIX_FMT_GRAY14BE => Pixel::GRAY14BE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_PIX_FMT_GRAY14LE => Pixel::GRAY14LE,
|
AV_PIX_FMT_GRAY14LE => Pixel::GRAY14LE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_PIX_FMT_GRAYF32BE => Pixel::GRAYF32BE,
|
AV_PIX_FMT_GRAYF32BE => Pixel::GRAYF32BE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_PIX_FMT_GRAYF32LE => Pixel::GRAYF32LE,
|
AV_PIX_FMT_GRAYF32LE => Pixel::GRAYF32LE,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_PIX_FMT_YUVA422P12BE => Pixel::YUVA422P12BE,
|
AV_PIX_FMT_YUVA422P12BE => Pixel::YUVA422P12BE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_PIX_FMT_YUVA422P12LE => Pixel::YUVA422P12LE,
|
AV_PIX_FMT_YUVA422P12LE => Pixel::YUVA422P12LE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_PIX_FMT_YUVA444P12BE => Pixel::YUVA444P12BE,
|
AV_PIX_FMT_YUVA444P12BE => Pixel::YUVA444P12BE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_PIX_FMT_YUVA444P12LE => Pixel::YUVA444P12LE,
|
AV_PIX_FMT_YUVA444P12LE => Pixel::YUVA444P12LE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_PIX_FMT_NV24 => Pixel::NV24,
|
AV_PIX_FMT_NV24 => Pixel::NV24,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_PIX_FMT_NV42 => Pixel::NV42,
|
AV_PIX_FMT_NV42 => Pixel::NV42,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_PIX_FMT_VULKAN => Pixel::VULKAN,
|
AV_PIX_FMT_VULKAN => Pixel::VULKAN,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_PIX_FMT_Y210BE => Pixel::Y210BE,
|
AV_PIX_FMT_Y210BE => Pixel::Y210BE,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_PIX_FMT_Y210LE => Pixel::Y210LE,
|
AV_PIX_FMT_Y210LE => Pixel::Y210LE,
|
||||||
|
|
||||||
#[cfg(feature = "rpi")]
|
#[cfg(feature = "rpi")]
|
||||||
@ -800,7 +800,7 @@ impl Into<AVPixelFormat> for Pixel {
|
|||||||
Pixel::YUV444P10LE => AV_PIX_FMT_YUV444P10LE,
|
Pixel::YUV444P10LE => AV_PIX_FMT_YUV444P10LE,
|
||||||
Pixel::YUV422P9BE => AV_PIX_FMT_YUV422P9BE,
|
Pixel::YUV422P9BE => AV_PIX_FMT_YUV422P9BE,
|
||||||
Pixel::YUV422P9LE => AV_PIX_FMT_YUV422P9LE,
|
Pixel::YUV422P9LE => AV_PIX_FMT_YUV422P9LE,
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
Pixel::VDA_VLD => AV_PIX_FMT_VDA_VLD,
|
Pixel::VDA_VLD => AV_PIX_FMT_VDA_VLD,
|
||||||
|
|
||||||
Pixel::GBRP => AV_PIX_FMT_GBRP,
|
Pixel::GBRP => AV_PIX_FMT_GBRP,
|
||||||
@ -845,7 +845,7 @@ impl Into<AVPixelFormat> for Pixel {
|
|||||||
|
|
||||||
Pixel::YVYU422 => AV_PIX_FMT_YVYU422,
|
Pixel::YVYU422 => AV_PIX_FMT_YVYU422,
|
||||||
|
|
||||||
#[cfg(not(feature = "ffmpeg4"))]
|
#[cfg(not(feature = "ffmpeg_4_0"))]
|
||||||
Pixel::VDA => AV_PIX_FMT_VDA,
|
Pixel::VDA => AV_PIX_FMT_VDA,
|
||||||
|
|
||||||
Pixel::YA16BE => AV_PIX_FMT_YA16BE,
|
Pixel::YA16BE => AV_PIX_FMT_YA16BE,
|
||||||
@ -997,36 +997,36 @@ impl Into<AVPixelFormat> for Pixel {
|
|||||||
Pixel::GBRAPF32LE => AV_PIX_FMT_GBRAPF32LE,
|
Pixel::GBRAPF32LE => AV_PIX_FMT_GBRAPF32LE,
|
||||||
Pixel::DRM_PRIME => AV_PIX_FMT_DRM_PRIME,
|
Pixel::DRM_PRIME => AV_PIX_FMT_DRM_PRIME,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
Pixel::OPENCL => AV_PIX_FMT_OPENCL,
|
Pixel::OPENCL => AV_PIX_FMT_OPENCL,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Pixel::GRAY14BE => AV_PIX_FMT_GRAY14BE,
|
Pixel::GRAY14BE => AV_PIX_FMT_GRAY14BE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Pixel::GRAY14LE => AV_PIX_FMT_GRAY14LE,
|
Pixel::GRAY14LE => AV_PIX_FMT_GRAY14LE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Pixel::GRAYF32BE => AV_PIX_FMT_GRAYF32BE,
|
Pixel::GRAYF32BE => AV_PIX_FMT_GRAYF32BE,
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Pixel::GRAYF32LE => AV_PIX_FMT_GRAYF32LE,
|
Pixel::GRAYF32LE => AV_PIX_FMT_GRAYF32LE,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Pixel::YUVA422P12BE => AV_PIX_FMT_YUVA422P12BE,
|
Pixel::YUVA422P12BE => AV_PIX_FMT_YUVA422P12BE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Pixel::YUVA422P12LE => AV_PIX_FMT_YUVA422P12LE,
|
Pixel::YUVA422P12LE => AV_PIX_FMT_YUVA422P12LE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Pixel::YUVA444P12BE => AV_PIX_FMT_YUVA444P12BE,
|
Pixel::YUVA444P12BE => AV_PIX_FMT_YUVA444P12BE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Pixel::YUVA444P12LE => AV_PIX_FMT_YUVA444P12LE,
|
Pixel::YUVA444P12LE => AV_PIX_FMT_YUVA444P12LE,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Pixel::NV24 => AV_PIX_FMT_NV24,
|
Pixel::NV24 => AV_PIX_FMT_NV24,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Pixel::NV42 => AV_PIX_FMT_NV42,
|
Pixel::NV42 => AV_PIX_FMT_NV42,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Pixel::VULKAN => AV_PIX_FMT_VULKAN,
|
Pixel::VULKAN => AV_PIX_FMT_VULKAN,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Pixel::Y210BE => AV_PIX_FMT_Y210BE,
|
Pixel::Y210BE => AV_PIX_FMT_Y210BE,
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Pixel::Y210LE => AV_PIX_FMT_Y210LE,
|
Pixel::Y210LE => AV_PIX_FMT_Y210LE,
|
||||||
|
|
||||||
#[cfg(feature = "rpi")]
|
#[cfg(feature = "rpi")]
|
||||||
|
@ -28,20 +28,20 @@ pub enum Type {
|
|||||||
ContentLightLevel,
|
ContentLightLevel,
|
||||||
IccProfile,
|
IccProfile,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
QPTableProperties,
|
QPTableProperties,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
QPTableData,
|
QPTableData,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
S12M_TIMECODE,
|
S12M_TIMECODE,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
DYNAMIC_HDR_PLUS,
|
DYNAMIC_HDR_PLUS,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
REGIONS_OF_INTEREST,
|
REGIONS_OF_INTEREST,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
VIDEO_ENC_PARAMS,
|
VIDEO_ENC_PARAMS,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,20 +76,20 @@ impl From<AVFrameSideDataType> for Type {
|
|||||||
AV_FRAME_DATA_CONTENT_LIGHT_LEVEL => Type::ContentLightLevel,
|
AV_FRAME_DATA_CONTENT_LIGHT_LEVEL => Type::ContentLightLevel,
|
||||||
AV_FRAME_DATA_ICC_PROFILE => Type::IccProfile,
|
AV_FRAME_DATA_ICC_PROFILE => Type::IccProfile,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
AV_FRAME_DATA_QP_TABLE_PROPERTIES => Type::QPTableProperties,
|
AV_FRAME_DATA_QP_TABLE_PROPERTIES => Type::QPTableProperties,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
AV_FRAME_DATA_QP_TABLE_DATA => Type::QPTableData,
|
AV_FRAME_DATA_QP_TABLE_DATA => Type::QPTableData,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
AV_FRAME_DATA_S12M_TIMECODE => Type::S12M_TIMECODE,
|
AV_FRAME_DATA_S12M_TIMECODE => Type::S12M_TIMECODE,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_FRAME_DATA_DYNAMIC_HDR_PLUS => Type::DYNAMIC_HDR_PLUS,
|
AV_FRAME_DATA_DYNAMIC_HDR_PLUS => Type::DYNAMIC_HDR_PLUS,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
AV_FRAME_DATA_REGIONS_OF_INTEREST => Type::REGIONS_OF_INTEREST,
|
AV_FRAME_DATA_REGIONS_OF_INTEREST => Type::REGIONS_OF_INTEREST,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
AV_FRAME_DATA_VIDEO_ENC_PARAMS => Type::VIDEO_ENC_PARAMS,
|
AV_FRAME_DATA_VIDEO_ENC_PARAMS => Type::VIDEO_ENC_PARAMS,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -117,20 +117,20 @@ impl Into<AVFrameSideDataType> for Type {
|
|||||||
Type::ContentLightLevel => AV_FRAME_DATA_CONTENT_LIGHT_LEVEL,
|
Type::ContentLightLevel => AV_FRAME_DATA_CONTENT_LIGHT_LEVEL,
|
||||||
Type::IccProfile => AV_FRAME_DATA_ICC_PROFILE,
|
Type::IccProfile => AV_FRAME_DATA_ICC_PROFILE,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
Type::QPTableProperties => AV_FRAME_DATA_QP_TABLE_PROPERTIES,
|
Type::QPTableProperties => AV_FRAME_DATA_QP_TABLE_PROPERTIES,
|
||||||
#[cfg(feature = "ffmpeg4")]
|
#[cfg(feature = "ffmpeg_4_0")]
|
||||||
Type::QPTableData => AV_FRAME_DATA_QP_TABLE_DATA,
|
Type::QPTableData => AV_FRAME_DATA_QP_TABLE_DATA,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg41")]
|
#[cfg(feature = "ffmpeg_4_1")]
|
||||||
Type::S12M_TIMECODE => AV_FRAME_DATA_S12M_TIMECODE,
|
Type::S12M_TIMECODE => AV_FRAME_DATA_S12M_TIMECODE,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Type::DYNAMIC_HDR_PLUS => AV_FRAME_DATA_DYNAMIC_HDR_PLUS,
|
Type::DYNAMIC_HDR_PLUS => AV_FRAME_DATA_DYNAMIC_HDR_PLUS,
|
||||||
#[cfg(feature = "ffmpeg42")]
|
#[cfg(feature = "ffmpeg_4_2")]
|
||||||
Type::REGIONS_OF_INTEREST => AV_FRAME_DATA_REGIONS_OF_INTEREST,
|
Type::REGIONS_OF_INTEREST => AV_FRAME_DATA_REGIONS_OF_INTEREST,
|
||||||
|
|
||||||
#[cfg(feature = "ffmpeg43")]
|
#[cfg(feature = "ffmpeg_4_3")]
|
||||||
Type::VIDEO_ENC_PARAMS => AV_FRAME_DATA_VIDEO_ENC_PARAMS,
|
Type::VIDEO_ENC_PARAMS => AV_FRAME_DATA_VIDEO_ENC_PARAMS,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user