7#include <mftransform.h>
8#include <private/qcomptr_p.h>
9#include <private/qwindowsmultimediautils_p.h>
10#include <private/qcomtaskresource_p.h>
12#include <QtCore/qlist.h>
13#include <QtCore/qset.h>
14#include <QtCore/qhash.h>
15#include <QtGui/qimagewriter.h>
22using CheckedCodecs = QHash<QPair<T, QMediaFormat::ConversionMode>,
bool>;
27 IMFActivate **activateArrayRaw =
nullptr;
40 QComTaskResource<IMFActivate *[], QComDeleter> activateArray(activateArrayRaw,
count);
43 hr = activateArray[
i]->ActivateObject(IID_PPV_ARGS(
transform.GetAddressOf()));
81 QList<QImageCapture::FileFormat>
list;
101 const QList<CodecMap> containerTable = {
134 const QSet<QMediaFormat::FileFormat> decoderFormats = {
147 const QSet<QMediaFormat::FileFormat> encoderFormats = {
157 CheckedCodecs<QMediaFormat::AudioCodec> checkedAudioCodecs;
158 CheckedCodecs<QMediaFormat::VideoCodec> checkedVideoCodecs;
162 codecs.video.removeIf([&] (
auto codec) {
return !isSupportedCodec(
codec,
mode, checkedVideoCodecs); });
163 return !codecs.video.empty() || !codecs.audio.empty();
166 for (
const auto &codecMap : containerTable) {
167 if (decoderFormats.contains(codecMap.format)) {
173 if (encoderFormats.contains(codecMap.format)) {
static QList< QByteArray > supportedImageFormats()
Returns the list of image formats supported by QImageWriter.
qsizetype removeIf(Predicate pred)
void append(parameter_type t)
const_iterator constEnd() const noexcept
const_iterator constFind(const T &value) const
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
const QLoggingCategory & category()
[1]
QSet< QString >::iterator it
Combined button and popup list for selecting options.
bool isSupportedMFT(const GUID &category, const MFT_REGISTER_TYPE_INFO &type, QMediaFormat::ConversionMode mode)
bool isSupportedCodec(QMediaFormat::AudioCodec codec, QMediaFormat::ConversionMode mode)
QHash< QPair< T, QMediaFormat::ConversionMode >, bool > CheckedCodecs
GLenum GLenum GLsizei count
GLint GLsizei GLsizei GLenum format
GLuint GLenum GLenum transform
QT_BEGIN_NAMESPACE constexpr decltype(auto) qMakePair(T1 &&value1, T2 &&value2) noexcept(noexcept(std::make_pair(std::forward< T1 >(value1), std::forward< T2 >(value2))))