3#include <QtCore/qglobal.h>
5#if defined(Q_OS_WIN) && defined(QGC_HAS_GST_D3D12_GPU_PATH)
20 GstD3D12VideoBuffer(GstSample* sample,
const GstVideoInfo& videoInfo,
const QVideoFrameFormat& format);
21 ~GstD3D12VideoBuffer()
override;
23 QVideoFrameTexturesUPtr mapTextures(QRhi& rhi, QVideoFrameTexturesUPtr& oldTextures)
override;
26 const char*
storageTag()
const override {
return "D3D12"; }
29 static void resetCachedState() noexcept;
34 void resolvePlaneResources();
36 std::array<ID3D12Resource*,
GstHw::kMaxPlanes> _resources{};
37 int _resolvedCount = 0;
38 bool _resolved =
false;
Common base for GStreamer-backed QHwVideoBuffer subclasses.
virtual const char * storageTag() const
Human-readable GPU path identifier (e.g. "DMABuf"); string literal, safe from any thread.
virtual bool validatePlaneHandles() const
Streaming-thread sanity check on per-plane handles; failure routes to CPU memcpy.