diff --git a/src/codec/id.rs b/src/codec/id.rs index 240ec44..99abf3d 100644 --- a/src/codec/id.rs +++ b/src/codec/id.rs @@ -397,6 +397,7 @@ pub enum Id { ON2AVC, DSS_SP, + #[cfg(feature = "ffmpeg4")] CODEC2, FFWAVESYNTH, SONIC, @@ -481,8 +482,11 @@ pub enum Id { FITS, GREMLIN_DPCM, DOLBY_E, + #[cfg(feature = "ffmpeg4")] APTX, + #[cfg(feature = "ffmpeg4")] APTX_HD, + #[cfg(feature = "ffmpeg4")] SBC, } @@ -886,6 +890,7 @@ impl From for Id { AV_CODEC_ID_ON2AVC => Id::ON2AVC, AV_CODEC_ID_DSS_SP => Id::DSS_SP, + #[cfg(feature = "ffmpeg4")] AV_CODEC_ID_CODEC2 => Id::CODEC2, AV_CODEC_ID_FFWAVESYNTH => Id::FFWAVESYNTH, AV_CODEC_ID_SONIC => Id::SONIC, @@ -969,8 +974,11 @@ impl From 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, } } @@ -1368,6 +1376,7 @@ impl Into for Id { Id::ON2AVC => AV_CODEC_ID_ON2AVC, Id::DSS_SP => AV_CODEC_ID_DSS_SP, + #[cfg(feature = "ffmpeg4")] Id::CODEC2 => AV_CODEC_ID_CODEC2, Id::FFWAVESYNTH => AV_CODEC_ID_FFWAVESYNTH, Id::SONIC => AV_CODEC_ID_SONIC, @@ -1452,8 +1461,11 @@ impl Into 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, } } diff --git a/src/codec/packet/side_data.rs b/src/codec/packet/side_data.rs index 2a6c3cb..052b43d 100644 --- a/src/codec/packet/side_data.rs +++ b/src/codec/packet/side_data.rs @@ -33,7 +33,9 @@ pub enum Type { ContentLightLevel, A53CC, + #[cfg(feature = "ffmpeg4")] EncryptionInitInfo, + #[cfg(feature = "ffmpeg4")] EncryptionInfo, } @@ -66,7 +68,9 @@ impl From 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, } } @@ -101,7 +105,9 @@ impl Into 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, } } diff --git a/src/util/format/pixel.rs b/src/util/format/pixel.rs index ed51d46..593d37a 100644 --- a/src/util/format/pixel.rs +++ b/src/util/format/pixel.rs @@ -306,6 +306,7 @@ pub enum Pixel { GBRAPF32BE, GBRAPF32LE, DRM_PRIME, + #[cfg(feature = "ffmpeg4")] OPENCL, } @@ -584,6 +585,7 @@ impl From 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, } } @@ -891,6 +893,7 @@ impl Into 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, } } diff --git a/src/util/frame/side_data.rs b/src/util/frame/side_data.rs index 770bce9..7c4289f 100644 --- a/src/util/frame/side_data.rs +++ b/src/util/frame/side_data.rs @@ -28,7 +28,9 @@ pub enum Type { ContentLightLevel, IccProfile, + #[cfg(feature = "ffmpeg4")] QPTableProperties, + #[cfg(feature = "ffmpeg4")] QPTableData, } @@ -63,7 +65,9 @@ impl From for Type { AV_FRAME_DATA_CONTENT_LIGHT_LEVEL => Type::ContentLightLevel, AV_FRAME_DATA_ICC_PROFILE => Type::IccProfile, + #[cfg(feature = "ffmpeg4")] AV_FRAME_DATA_QP_TABLE_PROPERTIES => Type::QPTableProperties, + #[cfg(feature = "ffmpeg4")] AV_FRAME_DATA_QP_TABLE_DATA => Type::QPTableData, } } @@ -91,7 +95,9 @@ impl Into for Type { Type::ContentLightLevel => AV_FRAME_DATA_CONTENT_LIGHT_LEVEL, Type::IccProfile => AV_FRAME_DATA_ICC_PROFILE, + #[cfg(feature = "ffmpeg4")] Type::QPTableProperties => AV_FRAME_DATA_QP_TABLE_PROPERTIES, + #[cfg(feature = "ffmpeg4")] Type::QPTableData => AV_FRAME_DATA_QP_TABLE_DATA, } }