| qabstractvideobuffer.cpp |
!
\class QAbstractVideoBuffer
\since 6.8
\brief The QAbstractVideoBuffer class is an abstraction for video data.
\inmodule QtMultimedia
\ingroup multimedia
\ingroup multimedia_video
The \l QVideoFrame class makes use of a QAbstractVideoBuffer internally to reference a buffer of
video data. Creating a subclass of QAbstractVideoBuffer allows you to construct video
frames from preallocated or static buffers. The subclass can contain a hardware buffer,
and implement access to the data by mapping the buffer to CPU memory.
The contents of a buffer can be accessed by mapping the buffer to memory using the map()
function, which returns a structure containing information about plane layout of the current
video data.
\sa QVideoFrame, QVideoFrameFormat, QVideoFrame::MapMode
|
5158 |
- |
| qabstractvideobuffer.h |
|
800 |
- |
| qdmabuftextureimporter.cpp |
|
11327 |
- |
| qdmabuftextureimporter_p.h |
|
2966 |
- |
| qdmabufvideobuffer.cpp |
|
6409 |
- |
| qdmabufvideobuffer_p.h |
|
2090 |
- |
| qeglimagefunctions.cpp |
|
6630 |
- |
| qeglimagefunctions_p.h |
|
2839 |
- |
| qhwvideobuffer.cpp |
|
650 |
- |
| qhwvideobuffer_p.h |
@brief QVideoFrameTexturesHandles is the base class, providing texture handles for frame planes.
Instances of the class may own textures, share ownership, or refer to inner hw textures
of QVideoFrame. Referencing to inner frame's textures without shared ownership is
not recommended, we strive to get around it; if texture are referencing,
the source frame is kept in the QVideoFrameTextures instance via its
constructor-provided source frame.
|
3815 |
- |
| qimagevideobuffer.cpp |
|
2347 |
- |
| qimagevideobuffer_p.h |
|
885 |
- |
| qmemoryvideobuffer.cpp |
!
\class QMemoryVideoBuffer
\brief The QMemoryVideoBuffer class provides a system memory allocated video data buffer.
\internal
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.
|
1572 |
- |
| qmemoryvideobuffer_p.h |
|
896 |
- |
| qmultimedia_drm_support.cpp |
|
10769 |
- |
| qmultimedia_drm_support_p.h |
[31:0] R:G:B:A 8:8:8:8 little endian |
10422 |
- |
| qmultimedia_gl_support.cpp |
|
3857 |
- |
| qmultimedia_gl_support_p.h |
|
3946 |
- |
| qmultimedia_va_support.cpp |
|
598 |
- |
| qmultimedia_va_support_p.h |
|
862 |
- |
| qmultimedia_vulkan_support.cpp |
|
5854 |
- |
| qmultimedia_vulkan_support_p.h |
|
2012 |
- |
| qtvideo.cpp |
!
\namespace QtVideo
\since 6.7
\inmodule QtMultimedia
\brief Enumerations for camera and video functionality.
|
1002 |
- |
| qtvideo.h |
|
596 |
- |
| qvideoframe.cpp |
!
\class QVideoFrame
\brief The QVideoFrame class represents a frame of video data.
\inmodule QtMultimedia
\ingroup multimedia
\ingroup multimedia_video
A QVideoFrame encapsulates the pixel data of a video frame, and information about the frame.
Video frames can come from several places - decoded \l {QMediaPlayer}{media}, a
\l {QCamera}{camera}, or generated programmatically. The way pixels are described in these
frames can vary greatly, and some pixel formats offer greater compression opportunities at
the expense of ease of use.
A video frame can also have timestamp information associated with it. These timestamps can be
used to determine when to start and stop displaying the frame.
QVideoFrame objects can consume a significant amount of memory or system resources and
should not be held for longer than required by the application.
\note Since video frames can be expensive to copy, QVideoFrame is explicitly shared, so any
change made to a video frame will also apply to any copies.
\section1 Mapping Video Frames to Memory
The pixel contents of a video frame can be mapped to memory using the map() function. After
a successful call to map(), the video data can be accessed through various functions. Some of
the YUV pixel formats provide the data in several planes. The planeCount() method will return
the amount of planes that being used.
While mapped, the video data of each plane can accessed using the bits() function, which
returns a pointer to a buffer. The size of this buffer is given by the mappedBytes() function,
and the size of each line is given by bytesPerLine(). The return value of the handle()
function may also be used to access frame data using the internal buffer's native APIs
(for example - an OpenGL texture handle).
\note A mapping should only be held for a short time and be released as
early as possible with unmap().
\sa QAbstractVideoBuffer, QVideoFrameFormat, QVideoFrame::MapMode
|
35547 |
- |
| qvideoframe.h |
|
5272 |
- |
| qvideoframe_p.h |
|
3208 |
- |
| qvideoframeconversionhelper.cpp |
|
23544 |
- |
| qvideoframeconversionhelper_avx2.cpp |
|
4917 |
- |
| qvideoframeconversionhelper_p.h |
|
4317 |
- |
| qvideoframeconversionhelper_sse2.cpp |
|
3919 |
- |
| qvideoframeconversionhelper_ssse3.cpp |
|
2797 |
- |
| qvideoframeconverter.cpp |
|
17894 |
- |
| qvideoframeconverter_p.h |
@brief Maps the video frame and returns an image having a shared ownership for the video frame
and referencing to its mapped data.
|
1347 |
- |
| qvideoframeformat.cpp |
!
\class QVideoFrameFormat
\brief The QVideoFrameFormat class specifies the stream format of a video presentation
surface.
\inmodule QtMultimedia
\ingroup multimedia
\ingroup multimedia_video
A video sink presents a stream of video frames. QVideoFrameFormat describes the type of
the frames and determines how they should be presented.
The core properties of a video stream required to set up a video sink are the pixel format
given by pixelFormat(), and the frame dimensions given by frameSize().
The region of a frame that is actually displayed on a video surface is given by the viewport().
A stream may have a viewport less than the entire region of a frame to allow for videos smaller
than the nearest optimal size of a video frame. For example the width of a frame may be
extended so that the start of each scan line is eight byte aligned.
Other common properties are the scanLineDirection(), frameRate() and the yCrCbColorSpace().
|
31345 |
- |
| qvideoframeformat.h |
|
6027 |
- |
| qvideoframetexturefromsource.cpp |
|
2458 |
- |
| qvideoframetexturefromsource_p.h |
|
2445 |
- |
| qvideoframetexturepool.cpp |
|
1412 |
- |
| qvideoframetexturepool_p.h |
@brief The class QVideoFrameTexturePool stores textures in slots to ensure
they are alive during rhi's rendering rounds.
Depending on the rhi backend, 1, 2, or 3 rounds are needed
to complete the texture presentaton.
The strategy of slots filling is based on QRhi::currentFrameSlot results.
|
2761 |
- |
| qvideooutputorientationhandler.cpp |
|
1381 |
- |
| qvideooutputorientationhandler_p.h |
|
1167 |
- |
| qvideosink.cpp |
!
\class QVideoSink
\brief The QVideoSink class represents a generic sink for video data.
\inmodule QtMultimedia
\ingroup multimedia
\ingroup multimedia_video
The QVideoSink class can be used to retrieve video data on a frame by frame
basis from Qt Multimedia.
QVideoSink will provide individual video frames to the application developer
through the videoFrameChanged() signal.
The video frame can then be used to read out the data of those frames and handle them
further. When using QPainter, the QVideoFrame can be drawing using the \l {QVideoFrame::}
{paint()} method.
QVideoFrame objects can consume a significant amount of memory or system resources and
should thus not be held for longer than required by the application.
\sa QMediaPlayer, QMediaCaptureSession
|
4507 |
- |
| qvideosink.h |
|
1464 |
- |
| qvideotexturehelper.cpp |
|
39413 |
- |
| qvideotexturehelper_p.h |
\returns Plane scaling factors taking into account possible workarounds due to QRhi backend
capabilities.
|
6430 |
- |
| qvideowindow.cpp |
|
17415 |
- |
| qvideowindow_p.h |
|
3418 |
- |
| qvivantetextureimporter.cpp |
|
5291 |
- |
| qvivantetextureimporter_p.h |
plane |
4631 |
- |
| qvivantevideobuffer.cpp |
|
3414 |
- |
| qvivantevideobuffer_p.h |
|
2681 |
- |