Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QMemoryVideoBuffer Class Reference

The QMemoryVideoBuffer class provides a system memory allocated video data buffer. More...

#include <qmemoryvideobuffer_p.h>

+ Inheritance diagram for QMemoryVideoBuffer:
+ Collaboration diagram for QMemoryVideoBuffer:

Public Member Functions

 QMemoryVideoBuffer (const QByteArray &data, int bytesPerLine)
 Constructs a video buffer with an image stride of bytesPerLine from a byte array.
 
 ~QMemoryVideoBuffer ()
 Destroys a system memory allocated video buffer.
 
QVideoFrame::MapMode mapMode () const override
 \reimp
 
MapData map (QVideoFrame::MapMode mode) override
 \reimp
 
void unmap () override
 \reimp
 
- Public Member Functions inherited from QAbstractVideoBuffer
 QAbstractVideoBuffer (QVideoFrame::HandleType type, QRhi *rhi=nullptr)
 Constructs an abstract video buffer of the given type.
 
virtual ~QAbstractVideoBuffer ()
 Destroys an abstract video buffer.
 
QVideoFrame::HandleType handleType () const
 Returns the type of a video buffer's handle.
 
QRhirhi () const
 Returns the QRhi instance.
 
virtual QVideoFrame::MapMode mapMode () const =0
 
virtual MapData map (QVideoFrame::MapMode mode)=0
 Independently maps the planes of a video buffer to memory.
 
virtual void unmap ()=0
 Releases the memory mapped by the map() function.
 
virtual std::unique_ptr< QVideoFrameTexturesmapTextures (QRhi *)
 
virtual quint64 textureHandle (int) const
 Returns a texture handle to the data buffer.
 
virtual QMatrix4x4 externalTextureMatrix () const
 

Public Attributes

int bytesPerLine = 0
 
QVideoFrame::MapMode m_mapMode = QVideoFrame::NotMapped
 
QByteArray data
 

Additional Inherited Members

- Protected Attributes inherited from QAbstractVideoBuffer
QVideoFrame::HandleType m_type
 
QRhim_rhi = nullptr
 

Detailed Description

The QMemoryVideoBuffer class provides a system memory allocated video data buffer.

QMemoryVideoBuffer is the default video buffer for allocating system memory. It may be used to allocate memory for a QVideoFrame without implementing your own QAbstractVideoBuffer.

Definition at line 23 of file qmemoryvideobuffer_p.h.

Constructor & Destructor Documentation

◆ QMemoryVideoBuffer()

QMemoryVideoBuffer::QMemoryVideoBuffer ( const QByteArray data,
int  bytesPerLine 
)

Constructs a video buffer with an image stride of bytesPerLine from a byte array.

Definition at line 20 of file qmemoryvideobuffer.cpp.

References bytesPerLine.

◆ ~QMemoryVideoBuffer()

QMemoryVideoBuffer::~QMemoryVideoBuffer ( )
default

Destroys a system memory allocated video buffer.

Member Function Documentation

◆ map()

QAbstractVideoBuffer::MapData QMemoryVideoBuffer::map ( QVideoFrame::MapMode  mode)
overridevirtual

\reimp

Implements QAbstractVideoBuffer.

Definition at line 43 of file qmemoryvideobuffer.cpp.

References QAbstractVideoBuffer::MapData::bytesPerLine, bytesPerLine, QAbstractVideoBuffer::MapData::data, m_mapMode, mapData(), QVideoFrame::NotMapped, QAbstractVideoBuffer::MapData::nPlanes, and QAbstractVideoBuffer::MapData::size.

+ Here is the call graph for this function:

◆ mapMode()

QVideoFrame::MapMode QMemoryVideoBuffer::mapMode ( ) const
overridevirtual

\reimp

Implements QAbstractVideoBuffer.

Definition at line 35 of file qmemoryvideobuffer.cpp.

References m_mapMode.

◆ unmap()

void QMemoryVideoBuffer::unmap ( )
overridevirtual

\reimp

Implements QAbstractVideoBuffer.

Definition at line 61 of file qmemoryvideobuffer.cpp.

References m_mapMode, and QVideoFrame::NotMapped.

Member Data Documentation

◆ bytesPerLine

int QMemoryVideoBuffer::bytesPerLine = 0

Definition at line 34 of file qmemoryvideobuffer_p.h.

Referenced by QMemoryVideoBuffer(), and map().

◆ data

QByteArray QMemoryVideoBuffer::data

Definition at line 36 of file qmemoryvideobuffer_p.h.

◆ m_mapMode

QVideoFrame::MapMode QMemoryVideoBuffer::m_mapMode = QVideoFrame::NotMapped

Definition at line 35 of file qmemoryvideobuffer_p.h.

Referenced by map(), mapMode(), and unmap().


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