Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qvideoframeconversionhelper_p.h File Reference
#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 ALIGN(boundary, ptr, x, length)    for (; ((reinterpret_cast<qintptr>(ptr) & (boundary - 1)) != 0) && x < length; ++x)
 

Typedefs

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)
 

Variables

QT_BEGIN_NAMESPACE typedef ucharoutput
 

Macro Definition Documentation

◆ ALIGN

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

Definition at line 125 of file qvideoframeconversionhelper_p.h.

◆ 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:27
QFrame frame
[0]

Definition at line 100 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();
GLenum src
const void GLsizei GLsizei stride

Definition at line 94 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 108 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 118 of file qvideoframeconversionhelper_p.h.

Typedef Documentation

◆ ABGR8888

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

Definition at line 86 of file qvideoframeconversionhelper_p.h.

◆ ARGB8888

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

Definition at line 85 of file qvideoframeconversionhelper_p.h.

◆ BGRA8888

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

Definition at line 88 of file qvideoframeconversionhelper_p.h.

◆ BGRX8888

using BGRX8888 = RgbPixel<2, 1, 0>

Definition at line 92 of file qvideoframeconversionhelper_p.h.

◆ RGBA8888

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

Definition at line 87 of file qvideoframeconversionhelper_p.h.

◆ RGBX8888

using RGBX8888 = RgbPixel<0, 1, 2>

Definition at line 91 of file qvideoframeconversionhelper_p.h.

◆ XBGR8888

using XBGR8888 = RgbPixel<3, 2, 1>

Definition at line 90 of file qvideoframeconversionhelper_p.h.

◆ XRGB8888

using XRGB8888 = RgbPixel<1, 2, 3>

Definition at line 89 of file qvideoframeconversionhelper_p.h.

Function Documentation

◆ qConverterForFormat()

VideoFrameConvertFunc qConverterForFormat ( QVideoFrameFormat::PixelFormat  format)

Definition at line 555 of file qvideoframeconversionhelper.cpp.

References convert(), qConvertFuncs, and qInitConvertFuncsAsm().

Referenced by convertCPU().

+ 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(), QQmlIRLoader::QQmlIRLoader(), QtWaylandClient::QWaylandFullScreenShellV1Surface::QWaylandFullScreenShellV1Surface(), Python::WriteImports::acceptUI(), CoreAudioRingBuffer::acquireWriteRegion(), addEscapeSequence(), QWaylandCompositorPrivate::addOutput(), 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(), execCommand(), QQmlPreviewFileEngine::extension(), QAbstractFileEngine::extension(), QFSFileEngine::extension(), QResourceFileEngine::extension(), findDependencyInfo(), findScreen(), findScreenForWindow(), QSystemLocalePrivate::firstDayOfWeek(), QmlIR::QmlUnitGenerator::generate(), QQmlJSTypePropagator::generate_As(), QmlIR::IRBuilder::generateFromQml(), QCollisionDebugMeshBuilder::generateVertexArray(), QWaylandOutputPrivate::get(), getBinaryRPaths(), 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(), obtainSDKVersion(), operator<<(), operator<<(), output6ForWindow(), QTestJUnitStreamer::outputElements(), QKmsDevice::parseConnectorProperties(), QKmsDevice::parseCrtcProperties(), permutations(), QSystemLocalePrivate::pmText(), QCss::Scanner::preprocess(), QAmbisonicDecoder::processBuffer(), QAmbisonicDecoder::processBuffer(), QAmbisonicDecoder::processBufferWithReverb(), pullFiles(), qInitConvertFuncsAsm(), 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(), waitToFinish(), 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().