3#ifndef QFFMPEGHWACCEL_D3D11_P_H
4#define QFFMPEGHWACCEL_D3D11_P_H
17#include <QtFFmpegMediaPluginImpl/private/qffmpeghwaccel_p.h>
18#include <QtMultimedia/private/qwindowsd3d11rhitextureimporter_p.h>
19#include <QtMultimedia/private/qwindowsd3d11videoprocessor_p.h>
20#include <QtCore/private/qcomptr_p.h>
33class D3D11TextureConverter :
public TextureConverterBackend
36 static std::shared_ptr<D3D11TextureConverter> create(QRhi *rhi);
38 QVideoFrameTexturesHandlesUPtr
39 createTextureHandles(AVFrame *frame, QVideoFrameTexturesHandlesUPtr oldHandles) override;
41 static void SetupDecoderTextures(AVCodecContext *s);
43 static bool isSupported(AVFrame &, QRhi &);
46 explicit D3D11TextureConverter(QRhi *rhi);
49 using QWindowsD3D11RhiTextureImporter = QtMultimediaPrivate::QWindowsD3D11RhiTextureImporter;
50 using QWindowsD3D11VideoProcessor = QtMultimediaPrivate::QWindowsD3D11VideoProcessor;
51 QWindowsD3D11RhiTextureImporter m_importer;
52 QWindowsD3D11VideoProcessor m_videoProcessor;
55AVFrameUPtr copyFromHwPoolD3D11(AVFrameUPtr src);
lock_guard & operator=(const lock_guard &)=delete
lock_guard(const lock_guard &)=delete
lock_guard(const AVD3D11VADeviceContext &ctx)
AVFrameUPtr copyFromHwPoolD3D11(AVFrameUPtr src)