Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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)    for (; ((reinterpret_cast<qintptr>(ptr) & (boundary - 1)) != 0) && x < length; ++x)
 

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();
int width
the width of the widget excluding any window frame
Definition qwidget.h:114
int height
the height of the widget excluding any window frame
Definition qwidget.h:115
GLint GLsizei GLsizei height
GLint GLsizei width
unsigned char uchar
Definition qtypes.h:32
QFrame frame
[0]

Definition at line 111 of file qvideoframeconversionhelper_p.h.

Referenced by qt_convert_IMC2_to_ARGB32(), qt_convert_IMC4_to_ARGB32(), qt_convert_NV12_to_ARGB32(), qt_convert_NV21_to_ARGB32(), and qt_convert_P016_to_ARGB32().

◆ FETCH_INFO_PACKED

#define FETCH_INFO_PACKED ( frame)

◆ 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.

Referenced by qt_convert_IMC1_to_ARGB32(), qt_convert_IMC3_to_ARGB32(), qt_convert_YUV420P_to_ARGB32(), qt_convert_YUV422P_to_ARGB32(), and qt_convert_YV12_to_ARGB32().

◆ MERGE_LOOPS

◆ QT_MEDIA_ALIGN

#define QT_MEDIA_ALIGN ( boundary,
ptr,
x,
length )    for (; ((reinterpret_cast<qintptr>(ptr) & (boundary - 1)) != 0) && x < length; ++x)

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()

◆ qConverterForFormat()

VideoFrameConvertFunc qConverterForFormat ( QVideoFrameFormat::PixelFormat format)

Definition at line 574 of file qvideoframeconversionhelper.cpp.

References convert(), InitFuncsAsmFlag, qConvertFuncs, and qInitFuncsAsm().

Referenced by convertCPU().

+ Here is the call graph for this function:
+ Here is the caller 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 582 of file qvideoframeconversionhelper.cpp.

References qAlphaMask(), and qCopyPixelsWithMask().

Referenced by QX11SurfaceCapture::Grabber::grabFrame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qCopyPixelsWithMask()

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

Definition at line 599 of file qvideoframeconversionhelper.cpp.

References InitFuncsAsmFlag, qInitFuncsAsm(), and qPixelsCopyFunc.

Referenced by qCopyPixelsWithAlphaMask().

+ Here is the call graph for this function:
+ Here is the caller 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.

Referenced by QFFmpeg::AudioRenderer::AudioRenderer(), QEglFSKmsEglDeviceScreen::QEglFSKmsEglDeviceScreen(), QQmlIRLoader::QQmlIRLoader(), QtWaylandClient::QWaylandFullScreenShellV1Surface::QWaylandFullScreenShellV1Surface(), Python::WriteImports::acceptUI(), CoreAudioRingBuffer::acquireWriteRegion(), addEscapeSequence(), QWaylandCompositorPrivate::addOutput(), QT_BEGIN_NAMESPACE::adjustSize(), QSystemLocalePrivate::amText(), appendEncode(), QPdf::ascii85Encode(), assignPlane(), QSSGQmlUtilities::blockBegin(), QSSGQmlUtilities::blockEnd(), cleaned(), QLinuxFbDevice::close(), collectJson(), QUtf8::compareUtf8(), QUtf8::compareUtf8(), QUtf8::compareUtf8(), composePreprocessorOutput(), convolute(), QSSGQmlUtilities::copyTextureAsset(), QLinuxFbDevice::createFramebuffers(), QEglFSKmsGbmDevice::createScreen(), QEglFSKmsEglDevice::createScreen(), QEglFSKmsVsp2Device::createScreen(), QLinuxFbDevice::createScreen(), QKmsDevice::createScreenForConnector(), decode(), decode(), QPlatformPrintDevice::defaultOutputBin(), QLinuxFbDevice::destroyFramebuffers(), QTlsPrivate::doCrypt(), QT_BEGIN_NAMESPACE::doCrypt(), QLinuxFbDrmScreen::doRedraw(), QV4::Moth::dumpBytecode(), encode(), encodedUtf8ToUtf16(), ensureDetached(), escape(), execAdbCommand(), execCommand(), execCommand(), QQmlPreviewFileEngine::extension(), QAbstractFileEngine::extension(), QFSFileEngine::extension(), QResourceFileEngine::extension(), findDependencyInfo(), QSystemLocalePrivate::firstDayOfWeek(), QmlIR::QmlUnitGenerator::generate(), QQmlJSTypePropagator::generate_As(), QmlIR::IRBuilder::generateFromQml(), QCollisionDebugMeshBuilder::generateVertexArray(), QWaylandOutputPrivate::get(), getBinaryRPaths(), getCurrentTimeString(), QSSGAssetImportManager::getImporterPluginInfos(), QWaylandQuickCompositor::grabSurface(), AssimpImporter::import(), QSSGQmlUtilities::indent(), QSSGQmlUtilities::indentString(), QLinuxFbDrmScreen::initialize(), isRunning(), QUtf8::isValidUtf8(), javaParcelUuidfromQtUuid(), javaUuidfromQtUuid(), QDefaultOutputMapping::load(), main(), main(), QSystemLocalePrivate::measurementSystem(), FinalWidget::mouseMoveEvent(), obtainPid(), obtainSdkVersion(), operator<<(), operator<<(), QRhiD3D::output6ForWindow(), QTestJUnitStreamer::outputElements(), QKmsDevice::parseConnectorProperties(), QKmsDevice::parseCrtcProperties(), QIcc::parseLutData(), permutations(), QSystemLocalePrivate::pmText(), QCss::Scanner::preprocess(), QAmbisonicDecoder::processBuffer(), QAmbisonicDecoder::processBuffer(), QAmbisonicDecoder::processBufferWithReverb(), pullFiles(), qInitFuncsAsm(), QtPrivate::qNormalizeType(), qRelocateResourceFile(), qSafeFromBigEndian(), qt_convert_AYUV_Premultiplied_to_ARGB32(), qt_convert_AYUV_to_ARGB32(), qt_convert_IMC1_to_ARGB32(), qt_convert_IMC2_to_ARGB32(), qt_convert_IMC3_to_ARGB32(), qt_convert_IMC4_to_ARGB32(), qt_convert_NV12_to_ARGB32(), qt_convert_NV21_to_ARGB32(), qt_convert_P016_to_ARGB32(), qt_convert_premultiplied_to_ARGB32(), qt_convert_to_ARGB32(), qt_convert_UYVY_to_ARGB32(), qt_convert_Y_to_ARGB32(), qt_convert_YUV420P_to_ARGB32(), qt_convert_YUV422P_to_ARGB32(), qt_convert_YUYV_to_ARGB32(), qt_convert_YV12_to_ARGB32(), qt_int_to_string(), qt_punycodeDecoder(), qt_punycodeEncoder(), qt_real_to_string(), qt_region_to_xrectangles(), queryQtPaths(), QWebpHandler::read(), recode(), QUrlQueryPrivate::recodeFromUser(), recodeFromUser(), QUrlQueryPrivate::recodeToUser(), QWaylandXdgOutputManagerV1Private::registerXdgOutput(), QWaylandCompositorPrivate::removeOutput(), QDarwinAudioSourceBuffer::renderFromDevice(), QEglFSKmsEglDeviceWindow::resetSurface(), QSSGLightmapUVGenerator::run(), runMoc(), scanImports(), QtWaylandClient::QWaylandDisplay::screenForOutput(), PresentationFeedback::sendSyncOutput(), QMediaPlayer::setAudioOutput(), QMediaCaptureSession::setAudioOutput(), QWindowsMediaDeviceSession::setAudioOutput(), AVFCameraService::setAudioOutput(), QFFmpegMediaPlayer::setAudioOutput(), QQnxMediaPlayer::setAudioOutput(), QAndroidCaptureSession::setAudioOutput(), QAndroidMediaCaptureSession::setAudioOutput(), QAndroidMediaPlayer::setAudioOutput(), AVFMediaPlayer::setAudioOutput(), QFFmpegMediaCaptureSession::setAudioOutput(), QGstreamerMediaPlayer::setAudioOutput(), QGstreamerMediaCapture::setAudioOutput(), QQnxMediaCaptureSession::setAudioOutput(), QWasmMediaCaptureSession::setAudioOutput(), QWasmMediaPlayer::setAudioOutput(), QWindowsMediaCaptureService::setAudioOutput(), MFPlayerControl::setAudioOutput(), QFFmpeg::PlaybackEngine::setAudioSink(), QFFmpeg::PlaybackEngine::setAudioSink(), QLinuxFbDevice::setMode(), QFFmpeg::AudioRenderer::setOutput(), AVFMediaPlayer::setVideoOutput(), QAndroidCameraSession::setVideoOutput(), QMediaPlayer::setVideoOutput(), QMediaCaptureSession::setVideoOutput(), QWaylandWlShellSurfacePrivate::shell_surface_set_fullscreen(), QWaylandWlShellSurfacePrivate::shell_surface_set_maximized(), QtMocHelpers::stringData(), QtWaylandClient::QWaylandSurface::surface_enter(), QtWaylandClient::QWaylandSurface::surface_leave(), QLinuxFbDevice::swapBuffers(), QByteArray::toPercentEncoding(), ucstricmp8(), unicodeToEncodedUtf8(), QWaylandXdgOutputManagerV1Private::unregisterXdgOutput(), QFFmpeg::PlaybackEngine::updateActiveAudioOutput(), QSSGQmlUtilities::valueToQml(), QmlTypeRegistrar::write(), QV4::Compiler::JSUnitGenerator::writeClass(), CPP::writeIconAddFile(), CPP::writeIconAddPixmap(), QSSGQmlUtilities::writeImportHeader(), QSSGQmlUtilities::writeNodeProperties(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQml(), QSSGQmlUtilities::writeQmlComponent(), QSSGQmlUtilities::writeQmlForAnimation(), QSSGQmlUtilities::writeQmlForNode(), QSSGQmlUtilities::writeQmlForResourceNode(), QSSGQmlUtilities::writeQmlForResources(), CPP::writeResourceIcon(), QHashedCStringRef::writeUtf16(), QHashedCStringRef::writeUtf16(), QWaylandXdgToplevelPrivate::xdg_toplevel_set_fullscreen(), and QWaylandXdgOutputManagerV1Private::zxdg_output_manager_v1_get_xdg_output().