3#ifndef QFFMPEG_RANGES_P_H
4#define QFFMPEG_RANGES_P_H
17#include <QtCore/qassert.h>
18#include <QtCore/qtconfigmacros.h>
19#include <QtMultimedia/private/qiteratorfacade_p.h>
21#ifdef __cpp_lib_ranges
30template <
typename T, T (*IterateFn)(
void **)>
40 void *m_state =
nullptr;
41 T m_current =
nullptr;
47 void increment() { m_current = IterateFn(&m_state); }
56template <
typename T, T (*IterateFn)(T)>
72 void increment() { m_current = IterateFn(m_current); }
85#ifdef __cpp_lib_ranges
86namespace std::ranges {
87template <
typename T, T (*IterateFn)(
void **)>
88inline constexpr bool enable_view<QT_PREPEND_NAMESPACE(QFFmpeg::FFmpegOpaqueIteratorRange)
89 <T, IterateFn>> =
true;
91template <
typename T, T (*IterateFn)(T)>
92inline constexpr bool enable_view<QT_PREPEND_NAMESPACE(QFFmpeg::FFmpegValueIteratorRange)
93 <T, IterateFn>> =
true;
bool equals(const iterator &o) const
const T & dereference() const
constexpr iterator end() const
constexpr iterator begin() const
bool equals(const iterator &o) const
const T & dereference() const
constexpr iterator begin() const
constexpr iterator end() const
AVHWFramesContext * hwFramesContext() const
bool matchesSizeContraints(QSize size) const
void createFramesContext(AVPixelFormat swFormat, const QSize &size)
const AVHWFramesConstraints * constraints() const
void updateFramesContext(AVPixelFormat swFormat, const QSize &size)
AVHWDeviceContext * hwDeviceContext() const
AVPixelFormat hwFormat() const
AVHWDeviceType deviceType() const
static bool isNoConversionFormat(AVPixelFormat f)
AVFrameUPtr copyFromHwPool(AVFrameUPtr frame)
QT_MANGLE_NAMESPACE(QMacScreenCaptureStreamDelegate) QMacScreenCaptureStreamDelegate
static const std::vector< AVHWDeviceType > & deviceTypes()
AVPixelFormat getFormat(AVCodecContext *codecContext, const AVPixelFormat *fmt)
static AVBufferUPtr loadHWContext(AVHWDeviceType type)
static bool checkHwType(AVHWDeviceType type)
static void deleteHwFrameContextData(AVHWFramesContext *context)
static bool precheckDriver(AVHWDeviceType type)
static std::vector< AVHWDeviceType > deviceTypes(const char *envVarName)
static const std::initializer_list< AVHWDeviceType > preferredHardwareAccelerators
Combined button and popup list for selecting options.
#define qCDebug(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)
The HwFrameContextData class contains custom belongings of hw frames context.