Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QtMultimediaPrivate::QWindowsD3D11PlaneSplitter Class Reference

#include <qwindowsd3d11planesplitter_p.h>

Collaboration diagram for QtMultimediaPrivate::QWindowsD3D11PlaneSplitter:

Classes

struct  Plane

Public Member Functions

 ~QWindowsD3D11PlaneSplitter ()
std::optional< std::vector< Plane > > split (ID3D11Device *, ID3D11DeviceContext *, const ComPtr< ID3D11Texture2D > &texture, UINT subresourceIndex, const QSize &frameSize, QVideoFrameFormat::PixelFormat pixelFormat)

Static Public Member Functions

static std::unique_ptr< QWindowsD3D11PlaneSplitter > create (ID3D11Device *device)
static bool isPixelFormatSupported (QVideoFrameFormat::PixelFormat)

Detailed Description

Splits one array slice of a multi-planar D3D11 texture (NV12, P010) into one single-plane texture per plane, cropped to a given frame size, for import into single-plane-only QRhi backends. Planes are copied with a texel-fetch shader because D3D11 rejects direct copies between planar and single-channel formats. Instances are bound to one device: create them with create(), which returns null if the shaders cannot be created.

Definition at line 41 of file qwindowsd3d11planesplitter_p.h.

Constructor & Destructor Documentation

◆ ~QWindowsD3D11PlaneSplitter()

QtMultimediaPrivate::QWindowsD3D11PlaneSplitter::~QWindowsD3D11PlaneSplitter ( )
default

Member Function Documentation

◆ create()

std::unique_ptr< QWindowsD3D11PlaneSplitter > QtMultimediaPrivate::QWindowsD3D11PlaneSplitter::create ( ID3D11Device * device)
static

Definition at line 53 of file qwindowsd3d11planesplitter.cpp.

◆ isPixelFormatSupported()

bool QtMultimediaPrivate::QWindowsD3D11PlaneSplitter::isPixelFormatSupported ( QVideoFrameFormat::PixelFormat pixelFormat)
static

Definition at line 41 of file qwindowsd3d11planesplitter.cpp.

◆ split()

std::optional< std::vector< QWindowsD3D11PlaneSplitter::Plane > > QtMultimediaPrivate::QWindowsD3D11PlaneSplitter::split ( ID3D11Device * device,
ID3D11DeviceContext * context,
const ComPtr< ID3D11Texture2D > & texture,
UINT subresourceIndex,
const QSize & frameSize,
QVideoFrameFormat::PixelFormat pixelFormat )

Definition at line 132 of file qwindowsd3d11planesplitter.cpp.


The documentation for this class was generated from the following files: