21#include <unordered_set>
23#include <QtCore/qglobal.h>
24#include <QtCore/qdebug.h>
27#include <libavformat/avformat.h>
28#include <libavcodec/avcodec.h>
29#include <libswresample/swresample.h>
30#include <libavutil/avutil.h>
31#include <libswscale/swscale.h>
34static_assert(LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(56, 70, 100),
35 "FFmpeg 4.4 or newer is required (libavutil >= 56.70)");
37#define QT_FFMPEG_HAS_AV_CHANNEL_LAYOUT
38 (LIBAVCODEC_VERSION_INT
>= AV_VERSION_INT
(59
, 24
, 100
))
39#define QT_FFMPEG_HAS_FRAME_TIME_BASE
40 (LIBAVCODEC_VERSION_INT
>= AV_VERSION_INT
(59
, 18
, 100
))
41#define QT_FFMPEG_HAS_FRAME_DURATION
42 (LIBAVCODEC_VERSION_INT
>= AV_VERSION_INT
(60
, 3
, 100
))
43#define QT_FFMPEG_STREAM_SIDE_DATA_DEPRECATED
44 (LIBAVCODEC_VERSION_INT
>= AV_VERSION_INT
(60
, 15
, 100
))
45#define QT_FFMPEG_HAS_D3D12VA
46 (LIBAVUTIL_VERSION_INT
>= AV_VERSION_INT
(59
, 8
, 100
))
47#define QT_FFMPEG_SWR_CONST_CH_LAYOUT
48 (LIBSWRESAMPLE_VERSION_INT
>= AV_VERSION_INT
(4
, 9
, 100
))
49#define QT_FFMPEG_AVIO_WRITE_CONST
50 (LIBAVFORMAT_VERSION_MAJOR
>= 61
)
51#define QT_CODEC_PARAMETERS_HAVE_FRAMERATE
52 (LIBAVCODEC_VERSION_INT
>= AV_VERSION_INT
(60
, 11
, 100
))
53#define QT_FFMPEG_HAS_AVCODEC_GET_SUPPORTED_CONFIG
54 (LIBAVUTIL_VERSION_INT
>= AV_VERSION_INT
(59
, 39
, 100
))
55#define QT_FFMPEG_HAS_SWS_FLAGS_ENUM
56 (LIBSWSCALE_VERSION_INT
>= AV_VERSION_INT
(9
, 1
, 100
))
86 return AVScore(qToUnderlying(a) + b);
90 return AVScore(qToUnderlying(a) - b);
94 return AVScore(a + qToUnderlying(b));
98 return AVScore(a - qToUnderlying(b));
102 return AVScore(qToUnderlying(a) - qToUnderlying(b));
114 dbg << qToUnderlying(score);
138# define AV_PROFILE_H264_HIGH FF_PROFILE_H264_HIGH
141# define AV_PROFILE_HEVC_MAIN FF_PROFILE_HEVC_MAIN
int writeQIODevice(void *opaque, AvioWriteBufferType buf, int buf_size)
constexpr AVScore BestAVScore
constexpr AVScore operator+(AVScore a, int b)
constexpr AVScore & operator-=(AVScore &a, int b)
std::variant< AVPixelFormat, AVSampleFormat > PixelOrSampleFormat
constexpr AVScore operator+(int a, AVScore b)
QT_MANGLE_NAMESPACE(QMacScreenCaptureStreamDelegate) QMacScreenCaptureStreamDelegate
constexpr AVScore DefaultAVScore
constexpr AVScore & operator+=(AVScore &a, int b)
constexpr AVScore operator-(int a, AVScore b)
constexpr AVScore operator-(AVScore a, AVScore b)
constexpr AVScore NotSuitableAVScore
AVChannelLayout ChannelLayoutT
QDebug operator<<(QDebug dbg, AVScore score)
constexpr AVScore MinAVScore
constexpr AVScore operator-(AVScore a, int b)
#define AV_PROFILE_HEVC_MAIN
#define AV_PROFILE_H264_HIGH
#define QT_FFMPEG_HAS_SWS_FLAGS_ENUM
#define QT_FFMPEG_HAS_AV_CHANNEL_LAYOUT
#define QT_BEGIN_NAMESPACE
QT_PREPEND_NAMESPACE(QFFmpeg)::AVScore Type
static constexpr Type max() noexcept
static constexpr Type min() noexcept