Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qv4l2camera.cpp File Reference
#include "qv4l2camera_p.h"
#include <qdir.h>
#include <qmutex.h>
#include <qendian.h>
#include <private/qcameradevice_p.h>
#include <private/qabstractvideobuffer_p.h>
#include <private/qvideotexturehelper_p.h>
#include <private/qmultimediautils_p.h>
#include <private/qplatformmediadevices_p.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#include <private/qcore_unix_p.h>
#include <sys/mman.h>
#include <linux/videodev2.h>
#include <qloggingcategory.h>
+ Include dependency graph for qv4l2camera.cpp:

Go to the source code of this file.

Classes

class  QV4L2VideoBuffer
 

Functions

static QT_BEGIN_NAMESPACE Q_LOGGING_CATEGORY (qLV4L2Camera, "qt.multimedia.ffmpeg.v4l2camera")
 
static bool areCamerasEqual (QList< QCameraDevice > a, QList< QCameraDevice > b)
 
static QVideoFrameFormat::PixelFormat formatForV4L2Format (uint32_t v4l2Format)
 
static uint32_t v4l2FormatForPixelFormat (QVideoFrameFormat::PixelFormat format)
 

Variables

struct { 
 
   QVideoFrameFormat::PixelFormat   fmt 
 
   uint32_t   v4l2Format 
 
formatMap [] 
 

Function Documentation

◆ areCamerasEqual()

static bool areCamerasEqual ( QList< QCameraDevice a,
QList< QCameraDevice b 
)
static

Definition at line 31 of file qv4l2camera.cpp.

References QCameraDevicePrivate::handle(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ formatForV4L2Format()

static QVideoFrameFormat::PixelFormat formatForV4L2Format ( uint32_t  v4l2Format)
static

Definition at line 86 of file qv4l2camera.cpp.

References QVideoFrameFormat::Format_Invalid, formatMap, and v4l2Format.

◆ Q_LOGGING_CATEGORY()

static QT_BEGIN_NAMESPACE Q_LOGGING_CATEGORY ( qLV4L2Camera  ,
"qt.multimedia.ffmpeg.v4l2camera"   
)
static

◆ v4l2FormatForPixelFormat()

static uint32_t v4l2FormatForPixelFormat ( QVideoFrameFormat::PixelFormat  format)
static

Definition at line 97 of file qv4l2camera.cpp.

References formatMap.

Variable Documentation

◆ fmt

Definition at line 61 of file qv4l2camera.cpp.

Referenced by QOpenGLEngineSharedShaders::QOpenGLEngineSharedShaders(), QTextCopyHelper::QTextCopyHelper(), QWindowsAudioDeviceInfo::QWindowsAudioDeviceInfo(), QTextEditPrivate::_q_currentCharFormatChanged(), QTextList::add(), QPlainTextEdit::anchorAt(), QAbstractTextDocumentLayout::anchorAt(), QWidgetTextControlPrivate::anchorForCursor(), QGstUtils::audioFormatForCaps(), QOpenGL2PaintEngineEx::beginNativePainting(), QFFmpeg::calculateTargetFormatScore(), QFFmpeg::calculateTargetSwFormatScore(), QTextCursorPrivate::canDelete(), QTextMarkdownImporter::cbEnterBlock(), QSGCompressedTexture::commitTextureOperations(), QSGRhiAtlasTexture::Manager::create(), QTextCursor::createList(), QEglFSIntegration::createPlatformOffscreenSurface(), QtWaylandClient::QWaylandEglClientBufferIntegration::createPlatformOpenGLContext(), QTextTablePrivate::createTable(), QVideoTextureHelper::createTextureFromHandle(), QtPrivate::QCalendarModel::data(), drawCellBorder(), QSplashScreen::drawContents(), QQuickLayout::dumpLayoutTreeRecursive(), QLabelPrivate::ensureTextLayouted(), extensionForFormat(), QMediaFormat::fileFormat(), QFFmpeg::findAVFormat(), QPlatformCamera::findBestCameraFormat(), QWidgetTextControl::findNextPrevAnchor(), QFFmpeg::findTargetSWFormat(), QTextTableCell::format(), QIBusAttribute::format(), QtWaylandClient::QWaylandShm::formatSupported(), QX11PlatformPixmap::fromImage(), QSGCompressedAtlasTexture::Atlas::generateTexture(), QWaylandMimeHelper::getByteArray(), QGstreamerFormatInfo::getMuxerList(), QGValue::getSampleFormats(), QSSGQmlUtilities::getTextureSourceName(), glFormatName(), QT_BEGIN_NAMESPACE::gstSampleFormatToSampleFormat(), QQuick3D::idealSurfaceFormat(), QAbstractTextDocumentLayout::imageAt(), QImageReaderWriterHelpers::imageFormatsForMimeType(), QFFmpeg::TextureConverter::init(), QFontEngineFT::init(), QTextTable::insertColumns(), QTextCursor::insertImage(), QTextTable::insertRows(), QTextCursor::insertText(), QWidgetTextControlPrivate::keyPressEvent(), QQuickTextControlPrivate::keyPressEvent(), QTextDocumentLayoutPrivate::layoutTable(), load_glyph_image_to_texture(), QQuick3DShaderUtilsBuffer::mapRenderTextureFormat(), QQuick3DShaderUtilsBuffer::mapTextureFormat(), QTextTable::mergeCells(), QWidgetTextControlPrivate::mouseReleaseEvent(), QQuickTextControlPrivate::mouseReleaseEvent(), QFFmpegImageCapture::newVideoFrame(), QTextDocumentPrivate::objectForIndex(), QLabel::paintEvent(), panic(), QuickTestUtil::populateClipboardText(), QTextDocument::print(), QGstreamerImageCapture::probeBuffer(), qffmpegLogCallback(), QByteArray::qsnprintf(), qt_asciiToDouble(), qt_xcb_createCursorXRender(), QByteArray::qvsnprintf(), readCubeMap(), QTextList::remove(), QTextTable::removeColumns(), QTextTable::removeRows(), QVideoWindowPrivate::render(), replacePercentN(), QV4L2Camera::resolveCameraFormat(), QXcbClipboardMime::retrieveData_sys(), QTextEdit::setAlignment(), QTextEdit::setCurrentFont(), QMediaFormat::setFileFormat(), QImageCapture::setFileFormat(), QTextEdit::setFontFamily(), QTextEdit::setFontItalic(), QTextEdit::setFontPointSize(), QTextEdit::setFontUnderline(), QTextEdit::setFontWeight(), QAlsaAudioSink::setFormat(), QAlsaAudioSource::setFormat(), QWasmAudioSink::setFormat(), QWasmAudioSource::setFormat(), QWindowsAudioSink::setFormat(), QWindowsAudioSource::setFormat(), QTextTableCell::setFormat(), QTextTable::setFormat(), QRhiTexture::setFormat(), AndroidCameraPrivate::setPreviewFormat(), AndroidCamera::setPreviewFormat(), QImageCapture::setQuality(), QImageCapture::setResolution(), QTextEdit::setTextBackgroundColor(), QTextEdit::setTextColor(), QMetalGraphicsPipeline::setupAttachmentsInMetalRenderPassDescriptor(), QVideoWindowPrivate::setupGraphicsPipeline(), QtWaylandClient::ShmServerBufferIntegration::shm_emulation_server_buffer_server_buffer_created(), QTextTable::splitCell(), QCommonStyle::styleHint(), QQC2::QCommonStyle::styleHint(), QImageReaderWriterHelpers::supportedMimeTypes(), QMediaFormat::swap(), QFFmpeg::targetFormatScoreCalculator(), QTextBlock::textList(), QTextHtmlExporter::toHtml(), QOpenGLFramebufferObject::toImage(), QTextTablePrivate::update(), QWidgetTextControlPrivate::updateCurrentCharFormat(), QQuickTextControlPrivate::updateCurrentCharFormat(), QtWaylandClient::QWaylandEglWindow::updateSurface(), QVideoWindowPrivate::updateTextures(), QVideoTextureHelper::updateTextureWithMap(), QVideoTextureHelper::vertexShaderFileName(), QTextMarkdownWriter::writeBlock(), and QPNGImageWriter::writeImage().

◆ [struct]

const struct { ... } formatMap[]
Initial value:
= {
{ QVideoFrameFormat::Format_YUV420P, V4L2_PIX_FMT_YUV420 },
{ QVideoFrameFormat::Format_YUV422P, V4L2_PIX_FMT_YUV422P },
{ QVideoFrameFormat::Format_YUYV, V4L2_PIX_FMT_YUYV },
{ QVideoFrameFormat::Format_UYVY, V4L2_PIX_FMT_UYVY },
{ QVideoFrameFormat::Format_XBGR8888, V4L2_PIX_FMT_XBGR32 },
{ QVideoFrameFormat::Format_XRGB8888, V4L2_PIX_FMT_XRGB32 },
{ QVideoFrameFormat::Format_ABGR8888, V4L2_PIX_FMT_ABGR32 },
{ QVideoFrameFormat::Format_ARGB8888, V4L2_PIX_FMT_ARGB32 },
{ QVideoFrameFormat::Format_BGRX8888, V4L2_PIX_FMT_BGR32 },
{ QVideoFrameFormat::Format_RGBX8888, V4L2_PIX_FMT_RGB32 },
{ QVideoFrameFormat::Format_BGRA8888, V4L2_PIX_FMT_BGRA32 },
{ QVideoFrameFormat::Format_RGBA8888, V4L2_PIX_FMT_RGBA32 },
{ QVideoFrameFormat::Format_Y8, V4L2_PIX_FMT_GREY },
{ QVideoFrameFormat::Format_Y16, V4L2_PIX_FMT_Y16 },
{ QVideoFrameFormat::Format_NV12, V4L2_PIX_FMT_NV12 },
{ QVideoFrameFormat::Format_NV21, V4L2_PIX_FMT_NV21 },
{ QVideoFrameFormat::Format_Jpeg, V4L2_PIX_FMT_MJPEG },
{ QVideoFrameFormat::Format_Jpeg, V4L2_PIX_FMT_JPEG },
}

Referenced by QPulseAudioDeviceInfo::QPulseAudioDeviceInfo(), formatForV4L2Format(), and v4l2FormatForPixelFormat().

◆ v4l2Format

uint32_t v4l2Format

Definition at line 62 of file qv4l2camera.cpp.

Referenced by formatForV4L2Format().