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/qsize.h>
22#include <QtCore/qurl.h>
23#include <QtGui/rhi/qrhi.h>
33class QVideoFrameFormat;
40Q_MULTIMEDIA_EXPORT Fraction qRealToFraction(qreal value);
50 return qRotatedFrameSize(size, qToUnderlying(rotation));
59Q_MULTIMEDIA_EXPORT QRhiSwapChain::Format
60qGetRequiredSwapChainFormat(
const QVideoFrameFormat &format);
64 QRhiSwapChain::Format requiredSwapChainFormat);
66Q_MULTIMEDIA_EXPORT VideoTransformation
67qNormalizedSurfaceTransformation(
const QVideoFrameFormat &format);
69Q_MULTIMEDIA_EXPORT VideoTransformation qNormalizedFrameTransformation(
70 const QVideoFrame &frame, VideoTransformation videoOutputTransformation = {});
72Q_MULTIMEDIA_EXPORT QtVideo::Rotation
73qVideoRotationFromDegrees(
int clockwiseDegrees);
76 int videoOutputRotation)
78 return qNormalizedFrameTransformation(
79 frame, VideoTransformation{ qVideoRotationFromDegrees(videoOutputRotation) });
83
84
85
86
87
88
89
90
91
92
93
94
95
100template <
class... Ts>
103 using Ts::operator()...;
106template <
class... Ts>
118template <
typename T,
typename... Args>
QT_BEGIN_NAMESPACE Q_STATIC_LOGGING_CATEGORY(lcSynthesizedIterableAccess, "qt.iterable.synthesized", QtWarningMsg)