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
qvideoframeconversionhelper_p.h File Reference

(540c6fab72b6c56fafa5b4263bc6e913580c99cd)

#include <qvideoframe.h>
#include <private/qsimd_p.h>
+ Include dependency graph for qvideoframeconversionhelper_p.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ArgbPixel< a, r, g, b >
 
struct  RgbPixel< r, g, b >
 
struct  YPixel< Y >
 

Macros

#define FETCH_INFO_PACKED(frame)
 
#define FETCH_INFO_BIPLANAR(frame)
 
#define FETCH_INFO_TRIPLANAR(frame)
 
#define MERGE_LOOPS(width, height, stride, bpp)
 
#define QT_MEDIA_ALIGN(boundary, ptr, x, length)
 

Typedefs

typedef void(QT_FASTCALLPixelsCopyFunc) (uint32_t *dst, const uint32_t *src, size_t size, uint32_t mask)
 
using ARGB8888 = ArgbPixel<0, 1, 2, 3>
 
using ABGR8888 = ArgbPixel<0, 3, 2, 1>
 
using RGBA8888 = ArgbPixel<3, 0, 1, 2>
 
using BGRA8888 = ArgbPixel<3, 2, 1, 0>
 
using XRGB8888 = RgbPixel<1, 2, 3>
 
using XBGR8888 = RgbPixel<3, 2, 1>
 
using RGBX8888 = RgbPixel<0, 1, 2>
 
using BGRX8888 = RgbPixel<2, 1, 0>
 

Functions

QT_BEGIN_NAMESPACE typedef void (QT_FASTCALL *VideoFrameConvertFunc)(const QVideoFrame &frame
 
VideoFrameConvertFunc qConverterForFormat (QVideoFrameFormat::PixelFormat format)
 
void Q_MULTIMEDIA_EXPORT qCopyPixelsWithAlphaMask (uint32_t *dst, const uint32_t *src, size_t size, QVideoFrameFormat::PixelFormat format, bool srcAlphaVaries)
 
void Q_MULTIMEDIA_EXPORT qCopyPixelsWithMask (uint32_t *dst, const uint32_t *src, size_t size, uint32_t mask)
 
uint32_t Q_MULTIMEDIA_EXPORT qAlphaMask (QVideoFrameFormat::PixelFormat format)
 

Variables

QT_BEGIN_NAMESPACE typedef ucharoutput
 

Macro Definition Documentation

◆ FETCH_INFO_BIPLANAR

#define FETCH_INFO_BIPLANAR ( frame)
Value:
const uchar *plane1 = frame.bits(0); \
const uchar *plane2 = frame.bits(1); \
int plane1Stride = frame.bytesPerLine(0); \
int plane2Stride = frame.bytesPerLine(1); \
int width = frame.width(); \
int height = frame.height();
GLint GLsizei width
unsigned char uchar
Definition qtypes.h:37
QFrame frame
[0]

Definition at line 111 of file qvideoframeconversionhelper_p.h.

◆ FETCH_INFO_PACKED

#define FETCH_INFO_PACKED ( frame)
Value:
const uchar *src = frame.bits(0); \
int stride = frame.bytesPerLine(0); \
int width = frame.width(); \
int height = frame.height();
EGLint EGLint EGLint EGLint stride
GLenum src

Definition at line 105 of file qvideoframeconversionhelper_p.h.

◆ FETCH_INFO_TRIPLANAR

#define FETCH_INFO_TRIPLANAR ( frame)
Value:
const uchar *plane1 = frame.bits(0); \
const uchar *plane2 = frame.bits(1); \
const uchar *plane3 = frame.bits(2); \
int plane1Stride = frame.bytesPerLine(0); \
int plane2Stride = frame.bytesPerLine(1); \
int plane3Stride = frame.bytesPerLine(2); \
int width = frame.width(); \
int height = frame.height(); \

Definition at line 119 of file qvideoframeconversionhelper_p.h.

◆ MERGE_LOOPS

#define MERGE_LOOPS ( width,
height,
stride,
bpp )
Value:
if (stride == width * bpp) { \
width *= height; \
height = 1; \
stride = 0; \
}

Definition at line 129 of file qvideoframeconversionhelper_p.h.

◆ QT_MEDIA_ALIGN

#define QT_MEDIA_ALIGN ( boundary,
ptr,
x,
length )
Value:
for (; ((reinterpret_cast<qintptr>(ptr) & (boundary - 1)) != 0) && x < length; ++x)
static ControlElement< T > * ptr(QWidget *widget)
GLint GLint GLint GLint GLint x
[0]
GLenum GLuint GLenum GLsizei length
ptrdiff_t qintptr
Definition qtypes.h:184

Definition at line 136 of file qvideoframeconversionhelper_p.h.

Typedef Documentation

◆ ABGR8888

using ABGR8888 = ArgbPixel<0, 3, 2, 1>

Definition at line 97 of file qvideoframeconversionhelper_p.h.

◆ ARGB8888

using ARGB8888 = ArgbPixel<0, 1, 2, 3>

Definition at line 96 of file qvideoframeconversionhelper_p.h.

◆ BGRA8888

using BGRA8888 = ArgbPixel<3, 2, 1, 0>

Definition at line 99 of file qvideoframeconversionhelper_p.h.

◆ BGRX8888

using BGRX8888 = RgbPixel<2, 1, 0>

Definition at line 103 of file qvideoframeconversionhelper_p.h.

◆ PixelsCopyFunc

typedef void(QT_FASTCALL * PixelsCopyFunc) (uint32_t *dst, const uint32_t *src, size_t size, uint32_t mask)

Definition at line 25 of file qvideoframeconversionhelper_p.h.

◆ RGBA8888

using RGBA8888 = ArgbPixel<3, 0, 1, 2>

Definition at line 98 of file qvideoframeconversionhelper_p.h.

◆ RGBX8888

using RGBX8888 = RgbPixel<0, 1, 2>

Definition at line 102 of file qvideoframeconversionhelper_p.h.

◆ XBGR8888

using XBGR8888 = RgbPixel<3, 2, 1>

Definition at line 101 of file qvideoframeconversionhelper_p.h.

◆ XRGB8888

using XRGB8888 = RgbPixel<1, 2, 3>

Definition at line 100 of file qvideoframeconversionhelper_p.h.

Function Documentation

◆ qAlphaMask()

uint32_t Q_MULTIMEDIA_EXPORT qAlphaMask ( QVideoFrameFormat::PixelFormat format)

Definition at line 602 of file qvideoframeconversionhelper.cpp.

◆ qConverterForFormat()

VideoFrameConvertFunc qConverterForFormat ( QVideoFrameFormat::PixelFormat format)

Definition at line 570 of file qvideoframeconversionhelper.cpp.

References InitFuncsAsmFlag, and qInitFuncsAsm().

+ Here is the call graph for this function:

◆ qCopyPixelsWithAlphaMask()

void Q_MULTIMEDIA_EXPORT qCopyPixelsWithAlphaMask ( uint32_t * dst,
const uint32_t * src,
size_t size,
QVideoFrameFormat::PixelFormat format,
bool srcAlphaVaries )

Definition at line 578 of file qvideoframeconversionhelper.cpp.

◆ qCopyPixelsWithMask()

void Q_MULTIMEDIA_EXPORT qCopyPixelsWithMask ( uint32_t * dst,
const uint32_t * src,
size_t size,
uint32_t mask )

Definition at line 595 of file qvideoframeconversionhelper.cpp.

References InitFuncsAsmFlag, qInitFuncsAsm(), and qPixelsCopyFunc.

+ Here is the call graph for this function:

◆ void()

QT_BEGIN_NAMESPACE typedef void ( QT_FASTCALL * VideoFrameConvertFunc) const &

Variable Documentation

◆ output

QT_BEGIN_NAMESPACE typedef uchar* output

Definition at line 24 of file qvideoframeconversionhelper_p.h.