6 #ifdef AVCPP_AVCODEC_VERSION_MAJOR
7 # include <libavcodec/avcodec.h>
10 # include <libavfilter/avfilter.h>
11 #if AVCPP_AVFILTER_VERSION_INT < AV_VERSION_INT(7,0,0)
12 # include <libavfilter/avfiltergraph.h>
14 #include <libavfilter/buffersink.h>
15 #include <libavfilter/buffersrc.h>
16 #if AVCPP_AVFILTER_VERSION_INT <= AV_VERSION_INT(2,77,100)
17 # include <libavfilter/vsrc_buffer.h>
19 #if AVCPP_AVFILTER_VERSION_INT < AV_VERSION_INT(6,31,100)
20 #include <libavfilter/avcodec.h>
27 #define AVCPP_USE_CODECPAR ((AVCPP_AVCODEC_VERSION_MAJOR) >= 59)
30 #define AVCPP_API_NEW_CHANNEL_LAYOUT ((AVCPP_AVUTIL_VERSION_MAJOR > 57) || (AVCPP_AVUTIL_VERSION_MAJOR == 57 && (AVCPP_AVUTIL_VERSION_MINOR >= 24)))
32 #define AVCPP_API_FRAME_NUM ((AVCPP_AVCODEC_VERSION_MAJOR > 60) || (AVCPP_AVCODEC_VERSION_MAJOR == 60 && AVCPP_AVCODEC_VERSION_MINOR >= 2))
34 #if AVCPP_HAS_AVFORMAT
35 # define AVCPP_API_AVFORMAT_URL ((AVCPP_AVFORMAT_VERSION_MAJOR > 58) || (AVCPP_AVFORMAT_VERSION_MAJOR == 58 && AVCPP_AVFORMAT_VERSION_MINOR >= 7))
38 #define AVCPP_API_FRAME_KEY ((AVCPP_AVUTIL_VERSION_MAJOR > 58) || (AVCPP_AVUTIL_VERSION_MAJOR == 58 && AVCPP_AVUTIL_VERSION_MINOR >= 29))
40 #define AVCPP_API_AVCODEC_CLOSE (AVCPP_AVCODEC_VERSION_MAJOR < 61)
43 #define AVCPP_API_AVCODEC_NEW_INIT_PACKET (AVCPP_AVCODEC_VERSION_MAJOR >= 58)
45 #define AVCPP_API_AVCODEC_GET_SUPPORTED_CONFIG (AVCPP_AVCODEC_VERSION_INT >= AV_VERSION_INT(61, 13, 100))
46 #if AVCPP_HAS_AVFORMAT
48 # define AVCPP_API_AVFORMAT_AV_STREAM_GET_CODEC_TIMEBASE (AVCPP_AVFORMAT_VERSION_INT < AV_VERSION_INT(61, 5, 101))
51 #define AVCPP_API_AVBUFFER_SIZE_T (AVCPP_AVUTIL_VERSION_MAJOR >= 57)
53 #if defined(__ICL) || defined (__INTEL_COMPILER)
54 # define FF_DISABLE_DEPRECATION_WARNINGS __pragma(warning(push)) __pragma(warning(disable:1478))
55 # define FF_ENABLE_DEPRECATION_WARNINGS __pragma(warning(pop))
56 #elif defined(_MSC_VER)
57 # define FF_DISABLE_DEPRECATION_WARNINGS __pragma(warning(push)) __pragma(warning(disable:4996))
58 # define FF_ENABLE_DEPRECATION_WARNINGS __pragma(warning(pop))
59 #elif defined(__GNUC__) || defined(__clang__)
60 # define FF_DISABLE_DEPRECATION_WARNINGS _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
61 # define FF_ENABLE_DEPRECATION_WARNINGS _Pragma("GCC diagnostic warning \"-Wdeprecated-declarations\"")
63 # define FF_DISABLE_DEPRECATION_WARNINGS
64 # define FF_ENABLE_DEPRECATION_WARNINGS
68 #define AVCPP_USE_SPACESHIP_OPERATOR 0
69 #if __has_include(<compare>)
71 # if defined(__cpp_lib_three_way_comparison) && __cpp_lib_three_way_comparison >= 201907
72 # undef AVCPP_USE_SPACESHIP_OPERATOR
73 # define AVCPP_USE_SPACESHIP_OPERATOR 1
79 #if AVCPP_AVCODEC_VERSION_INT < AV_VERSION_INT(54,59,100)
80 inline void avcodec_free_frame(AVFrame **frame)
87 #if AVCPP_HAS_AVFILTER
88 #if AVCPP_AVFILTER_VERSION_INT < AV_VERSION_INT(3,17,100)
89 inline const char *avfilter_pad_get_name(AVFilterPad *pads,
int pad_idx)
91 return pads[pad_idx].name;
94 inline AVMediaType avfilter_pad_get_type(AVFilterPad *pads,
int pad_idx)
96 return pads[pad_idx].type;
102 #if AVCPP_AVCODEC_VERSION_INT < AV_VERSION_INT(58,8,100)
103 #define avpacket_unref(p) av_free_packet(p)
105 #define avpacket_unref(p) av_packet_unref(p)