From 1d32aff2f316e7a169529acfb79259ac81ee6dde Mon Sep 17 00:00:00 2001 From: tilpner Date: Thu, 20 Apr 2023 23:26:21 +0200 Subject: [PATCH] chore(util): feature-gate XVMC pixel formats, removed in 5.1 --- src/codec/id.rs | 6 +++--- src/util/format/pixel.rs | 13 +++++++------ src/util/frame/mod.rs | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/codec/id.rs b/src/codec/id.rs index 43c473e..c2fa1dd 100644 --- a/src/codec/id.rs +++ b/src/codec/id.rs @@ -16,7 +16,7 @@ pub enum Id { // video codecs MPEG1VIDEO, MPEG2VIDEO, - #[cfg(feature = "ff_api_xvmc")] + #[cfg(all(not(feature = "ffmpeg_5_1"), feature = "ff_api_xvmc"))] MPEG2VIDEO_XVMC, H261, H263, @@ -529,7 +529,7 @@ impl From for Id { // video codecs AV_CODEC_ID_MPEG1VIDEO => Id::MPEG1VIDEO, AV_CODEC_ID_MPEG2VIDEO => Id::MPEG2VIDEO, - #[cfg(feature = "ff_api_xvmc")] + #[cfg(all(not(feature = "ffmpeg_5_1"), feature = "ff_api_xvmc"))] AV_CODEC_ID_MPEG2VIDEO_XVMC => Id::MPEG2VIDEO_XVMC, AV_CODEC_ID_H261 => Id::H261, AV_CODEC_ID_H263 => Id::H263, @@ -1034,7 +1034,7 @@ impl Into for Id { // video codecs Id::MPEG1VIDEO => AV_CODEC_ID_MPEG1VIDEO, Id::MPEG2VIDEO => AV_CODEC_ID_MPEG2VIDEO, - #[cfg(feature = "ff_api_xvmc")] + #[cfg(all(not(feature = "ffmpeg_5_1"), feature = "ff_api_xvmc"))] Id::MPEG2VIDEO_XVMC => AV_CODEC_ID_MPEG2VIDEO_XVMC, Id::H261 => AV_CODEC_ID_H261, Id::H263 => AV_CODEC_ID_H263, diff --git a/src/util/format/pixel.rs b/src/util/format/pixel.rs index 56417bb..08dadfc 100644 --- a/src/util/format/pixel.rs +++ b/src/util/format/pixel.rs @@ -28,9 +28,10 @@ pub enum Pixel { YUVJ420P, YUVJ422P, YUVJ444P, - #[cfg(feature = "ff_api_xvmc")] + + #[cfg(all(not(feature = "ffmpeg_5_1"), feature = "ff_api_xvmc"))] XVMC_MPEG2_MC, - #[cfg(feature = "ff_api_xvmc")] + #[cfg(all(not(feature = "ffmpeg_5_1"), feature = "ff_api_xvmc"))] XVMC_MPEG2_IDCT, UYVY422, UYYVYY411, @@ -386,9 +387,9 @@ impl From for Pixel { AV_PIX_FMT_YUVJ420P => Pixel::YUVJ420P, AV_PIX_FMT_YUVJ422P => Pixel::YUVJ422P, AV_PIX_FMT_YUVJ444P => Pixel::YUVJ444P, - #[cfg(feature = "ff_api_xvmc")] + #[cfg(all(not(feature = "ffmpeg_5_1"), feature = "ff_api_xvmc"))] AV_PIX_FMT_XVMC_MPEG2_MC => Pixel::XVMC_MPEG2_MC, - #[cfg(feature = "ff_api_xvmc")] + #[cfg(all(not(feature = "ffmpeg_5_1"), feature = "ff_api_xvmc"))] AV_PIX_FMT_XVMC_MPEG2_IDCT => Pixel::XVMC_MPEG2_IDCT, AV_PIX_FMT_UYVY422 => Pixel::UYVY422, AV_PIX_FMT_UYYVYY411 => Pixel::UYYVYY411, @@ -644,9 +645,9 @@ impl Into for Pixel { Pixel::YUVJ420P => AV_PIX_FMT_YUVJ420P, Pixel::YUVJ422P => AV_PIX_FMT_YUVJ422P, Pixel::YUVJ444P => AV_PIX_FMT_YUVJ444P, - #[cfg(feature = "ff_api_xvmc")] + #[cfg(all(not(feature = "ffmpeg_5_1"), feature = "ff_api_xvmc"))] Pixel::XVMC_MPEG2_MC => AV_PIX_FMT_XVMC_MPEG2_MC, - #[cfg(feature = "ff_api_xvmc")] + #[cfg(all(not(feature = "ffmpeg_5_1"), feature = "ff_api_xvmc"))] Pixel::XVMC_MPEG2_IDCT => AV_PIX_FMT_XVMC_MPEG2_IDCT, Pixel::UYVY422 => AV_PIX_FMT_UYVY422, Pixel::UYYVYY411 => AV_PIX_FMT_UYYVYY411, diff --git a/src/util/frame/mod.rs b/src/util/frame/mod.rs index 4773d6b..95038bf 100644 --- a/src/util/frame/mod.rs +++ b/src/util/frame/mod.rs @@ -123,7 +123,7 @@ impl Frame { #[inline] pub fn timestamp(&self) -> Option { unsafe { - match av_frame_get_best_effort_timestamp(self.as_ptr()) { + match (*self.as_ptr()).best_effort_timestamp { AV_NOPTS_VALUE => None, t => Some(t as i64), }