4#ifndef QMULTIMEDIAUTILS_P_H
5#define QMULTIMEDIAUTILS_P_H
18#include <QtMultimedia/qtmultimediaglobal.h>
19#include <QtMultimedia/private/qvideotransformation_p.h>
20#include <QtCore/private/qexpected_p.h>
21#include <QtCore/qlist.h>
22#include <QtCore/qsize.h>
23#include <QtCore/qurl.h>
24#include <QtGui/rhi/qrhi.h>
35class QVideoFrameFormat;
42Q_MULTIMEDIA_EXPORT Fraction qRealToFraction(qreal value);
52 return qRotatedFrameSize(size, qToUnderlying(rotation));
58
59
60
61
62
63
64
65
67 QSpan<
const QSize> supportedResolutions);
73Q_MULTIMEDIA_EXPORT QRhiSwapChain::Format
74qGetRequiredSwapChainFormat(
const QVideoFrameFormat &format);
78 QRhiSwapChain::Format requiredSwapChainFormat);
80Q_MULTIMEDIA_EXPORT VideoTransformation
81qNormalizedSurfaceTransformation(
const QVideoFrameFormat &format);
83Q_MULTIMEDIA_EXPORT VideoTransformation qNormalizedFrameTransformation(
84 const QVideoFrame &frame, VideoTransformation videoOutputTransformation = {});
86Q_MULTIMEDIA_EXPORT QtVideo::Rotation
87qVideoRotationFromDegrees(
int clockwiseDegrees);
90 int videoOutputRotation)
92 return qNormalizedFrameTransformation(
93 frame, VideoTransformation{ qVideoRotationFromDegrees(videoOutputRotation) });
97
98
99
100
101
102
103
104
105
106
107
108
109
114template <
class... Ts>
117 using Ts::operator()...;
120template <
class... Ts>
132template <
typename T,
typename... Args>
151template <
typename Key,
typename Value, size_t N>
158 using Base =
std::array<Value, N>;
161 using Base::operator[];
163 constexpr Value &
operator[](Key key) {
return Base::operator[](qToUnderlying(key)); }
166 return Base::operator[](qToUnderlying(key));
QT_BEGIN_NAMESPACE Q_STATIC_LOGGING_CATEGORY(lcSynthesizedIterableAccess, "qt.iterable.synthesized", QtWarningMsg)