From f7e524cbe65b2e1aed9cd22905fcb4d372760f04 Mon Sep 17 00:00:00 2001 From: Vadim Levin Date: Mon, 24 Aug 2020 23:12:49 +0300 Subject: [PATCH] fix: libavcodec version check for AVDISCARD_NONINTRA - AVDISCARD_NONINTRA flag is supported only for FFMPEG libraries pack --- modules/videoio/src/cap_ffmpeg_impl.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp index 59120d90e6..ac6f9448e0 100644 --- a/modules/videoio/src/cap_ffmpeg_impl.hpp +++ b/modules/videoio/src/cap_ffmpeg_impl.hpp @@ -993,7 +993,10 @@ bool CvCapture_FFMPEG::open( const char* _filename ) enc->skip_frame = AVDISCARD_DEFAULT; else if (strcmp(avdiscard_entry->value, "none") == 0) enc->skip_frame = AVDISCARD_NONE; -#if LIBAVCODEC_BUILD >= CALC_FFMPEG_VERSION(54, 59, 100) + // NONINTRA flag was introduced with version bump at revision: + // https://github.com/FFmpeg/FFmpeg/commit/b152152df3b778d0a86dcda5d4f5d065b4175a7b + // This key is supported only for FFMPEG version +#if LIBAVCODEC_VERSION_MICRO >= 100 && LIBAVCODEC_BUILD >= CALC_FFMPEG_VERSION(55, 67, 100) else if (strcmp(avdiscard_entry->value, "nonintra") == 0) enc->skip_frame = AVDISCARD_NONINTRA; #endif