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
QVideoTextureHelper Namespace Reference

Classes

class  QVideoFrameTexturesFromRhiTextureArray
class  QVideoFrameTexturesFromMemory
class  QVideoFrameTexturesFromHandlesSet
struct  TextureDescription
struct  UniformData
struct  SubtitleLayout

Typedefs

using RhiTextureArray = std::array<std::unique_ptr<QRhiTexture>, TextureDescription::maxPlanes>

Functions

bool forceGlTextureExternalOesIsSet ()
static bool isRhiTextureFormatSupported (const QRhi *rhi, QRhiTexture::Format format)
QRhiTexture::Format resolvedRhiTextureFormat (QRhiTexture::Format format, QRhi *rhi)
 Returns a QRhiTexture::Format taking into account rhi capabilities and explicitly excluded formats using a chain of pre-defined fallback texture formats. If no valid fallback is determined, will return the format argument.
void setExcludedRhiTextureFormats (QList< QRhiTexture::Format > formats)
const TextureDescription * textureDescription (QVideoFrameFormat::PixelFormat format)
QString vertexShaderFileName (const QVideoFrameFormat &format)
QString fragmentShaderFileName (const QVideoFrameFormat &format, QRhi *rhi, QRhiSwapChain::Format surfaceFormat)
static QMatrix4x4 colorMatrix (const QVideoFrameFormat &format)
static float convertPQFromLinear (float sig)
float convertHLGFromLinear (float sig)
static float convertSDRFromLinear (float sig)
void updateUniformData (QByteArray *dst, QRhi *rhi, const QVideoFrameFormat &format, const QVideoFrame &frame, const QMatrix4x4 &transform, float opacity, float maxNits)
QVideoFrameTexturesUPtr createTexturesFromHandles (QVideoFrameTexturesHandlesUPtr handles, QRhi &rhi, QVideoFrameFormat::PixelFormat pixelFormat, QSize size, QVideoFrame sourceFrame={})
 Creates plane textures from texture handles set by the specified rhi. The result owns the specified handles set; the QRhiTexture(s), exposed by the result refer to the owned handles set. If the specified size is empty or pixelFormat is invalid, null is returned.
static std::unique_ptr< QVideoFrameTexturesFromMemory > tryRecycleMemory (QVideoFrameTexturesUPtr oldTextures)
static QVideoFrameTexturesUPtr createTexturesFromMemory (QVideoFrame frame, QRhi &rhi, QRhiResourceUpdateBatch &rub, QVideoFrameTexturesUPtr oldTextures)
QVideoFrameTexturesUPtr createTextures (const QVideoFrame &frame, QRhi &rhi, QRhiResourceUpdateBatch &rub, QVideoFrameTexturesUPtr &oldTextures)
 Creates plane textures from a video frame by the specified rhi. If possible, the function modifies 'oldTextures', which is the texture from the pool, and returns the specified one or a new one with any taken data.

Variables

static const TextureDescription descriptions [QVideoFrameFormat::NPixelFormats]

Typedef Documentation

◆ RhiTextureArray

Function Documentation

◆ colorMatrix()

QMatrix4x4 QVideoTextureHelper::colorMatrix ( const QVideoFrameFormat & format)
static

Definition at line 498 of file qvideotexturehelper.cpp.

◆ convertHLGFromLinear()

float QVideoTextureHelper::convertHLGFromLinear ( float sig)

Definition at line 584 of file qvideotexturehelper.cpp.

Referenced by updateUniformData().

Here is the caller graph for this function:

◆ convertPQFromLinear()

float QVideoTextureHelper::convertPQFromLinear ( float sig)
static

Definition at line 568 of file qvideotexturehelper.cpp.

Referenced by updateUniformData().

Here is the caller graph for this function:

◆ convertSDRFromLinear()

float QVideoTextureHelper::convertSDRFromLinear ( float sig)
static

Definition at line 595 of file qvideotexturehelper.cpp.

Referenced by updateUniformData().

Here is the caller graph for this function:

◆ createTextures()

QVideoFrameTexturesUPtr QVideoTextureHelper::createTextures ( const QVideoFrame & frame,
QRhi & rhi,
QRhiResourceUpdateBatch & rub,
QVideoFrameTexturesUPtr & oldTextures )

Creates plane textures from a video frame by the specified rhi. If possible, the function modifies 'oldTextures', which is the texture from the pool, and returns the specified one or a new one with any taken data.

Definition at line 942 of file qvideotexturehelper.cpp.

◆ createTexturesFromHandles()

QVideoFrameTexturesUPtr QVideoTextureHelper::createTexturesFromHandles ( QVideoFrameTexturesHandlesUPtr texturesSet,
QRhi & rhi,
QVideoFrameFormat::PixelFormat pixelFormat,
QSize size,
QVideoFrame sourceFrame = {} )

Creates plane textures from texture handles set by the specified rhi. The result owns the specified handles set; the QRhiTexture(s), exposed by the result refer to the owned handles set. If the specified size is empty or pixelFormat is invalid, null is returned.

Definition at line 877 of file qvideotexturehelper.cpp.

◆ createTexturesFromMemory()

QVideoFrameTexturesUPtr QVideoTextureHelper::createTexturesFromMemory ( QVideoFrame frame,
QRhi & rhi,
QRhiResourceUpdateBatch & rub,
QVideoFrameTexturesUPtr oldTextures )
static

Definition at line 906 of file qvideotexturehelper.cpp.

References QVideoTextureHelper::QVideoFrameTexturesFromMemory::~QVideoFrameTexturesFromMemory().

Here is the call graph for this function:

◆ forceGlTextureExternalOesIsSet()

bool QVideoTextureHelper::forceGlTextureExternalOesIsSet ( )

Definition at line 26 of file qvideotexturehelper.cpp.

◆ fragmentShaderFileName()

QString QVideoTextureHelper::fragmentShaderFileName ( const QVideoFrameFormat & format,
QRhi * rhi,
QRhiSwapChain::Format surfaceFormat = QRhiSwapChain::SDR )

Definition at line 349 of file qvideotexturehelper.cpp.

◆ isRhiTextureFormatSupported()

bool QVideoTextureHelper::isRhiTextureFormatSupported ( const QRhi * rhi,
QRhiTexture::Format format )
static

Definition at line 241 of file qvideotexturehelper.cpp.

◆ resolvedRhiTextureFormat()

QRhiTexture::Format QVideoTextureHelper::resolvedRhiTextureFormat ( QRhiTexture::Format format,
QRhi * rhi )

Returns a QRhiTexture::Format taking into account rhi capabilities and explicitly excluded formats using a chain of pre-defined fallback texture formats. If no valid fallback is determined, will return the format argument.

Definition at line 284 of file qvideotexturehelper.cpp.

◆ setExcludedRhiTextureFormats()

void QVideoTextureHelper::setExcludedRhiTextureFormats ( QList< QRhiTexture::Format > formats)

Definition at line 322 of file qvideotexturehelper.cpp.

◆ textureDescription()

const TextureDescription * QVideoTextureHelper::textureDescription ( QVideoFrameFormat::PixelFormat format)

Definition at line 327 of file qvideotexturehelper.cpp.

◆ tryRecycleMemory()

std::unique_ptr< QVideoFrameTexturesFromMemory > QVideoTextureHelper::tryRecycleMemory ( QVideoFrameTexturesUPtr oldTextures)
static

Definition at line 897 of file qvideotexturehelper.cpp.

References QVideoTextureHelper::QVideoFrameTexturesFromMemory::~QVideoFrameTexturesFromMemory().

Here is the call graph for this function:

◆ updateUniformData()

void QVideoTextureHelper::updateUniformData ( QByteArray * dst,
QRhi * rhi,
const QVideoFrameFormat & format,
const QVideoFrame & frame,
const QMatrix4x4 & transform,
float opacity,
float maxNits = 100 )

Definition at line 600 of file qvideotexturehelper.cpp.

References convertHLGFromLinear(), convertPQFromLinear(), convertSDRFromLinear(), and QVideoFramePrivate::hasDmaBuf().

Here is the call graph for this function:

◆ vertexShaderFileName()

QString QVideoTextureHelper::vertexShaderFileName ( const QVideoFrameFormat & format)

Definition at line 332 of file qvideotexturehelper.cpp.

Variable Documentation

◆ descriptions

const TextureDescription QVideoTextureHelper::descriptions
static

Definition at line 32 of file qvideotexturehelper.cpp.