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
qgstvideobuffer.cpp File Reference

(7fb6a8995f8e9dbb63d5cd3de5fb49a0ebbb916f)

#include "qgstvideobuffer_p.h"
#include "qgstreamervideosink_p.h"
#include <private/qvideotexturehelper_p.h>
#include <qpa/qplatformnativeinterface.h>
#include <qguiapplication.h>
#include <QtCore/qloggingcategory.h>
#include <gst/video/video.h>
#include <gst/video/video-frame.h>
#include <gst/video/gstvideometa.h>
#include <gst/pbutils/gstpluginsbaseversion.h>
#include <common/qgstutils_p.h>
Include dependency graph for qgstvideobuffer.cpp:

Go to the source code of this file.

Macros

#define fourcc_code(a, b, c, d)
#define DRM_FORMAT_RGBA8888   fourcc_code('R', 'A', '2', '4') /* [31:0] R:G:B:A 8:8:8:8 little endian */
#define DRM_FORMAT_BGRA8888   fourcc_code('B', 'A', '2', '4') /* [31:0] B:G:R:A 8:8:8:8 little endian */
#define DRM_FORMAT_RGB888   fourcc_code('R', 'G', '2', '4') /* [23:0] R:G:B little endian */
#define DRM_FORMAT_RG88   fourcc_code('R', 'G', '8', '8') /* [15:0] R:G 8:8 little endian */
#define DRM_FORMAT_ARGB8888   fourcc_code('A', 'R', '2', '4') /* [31:0] A:R:G:B 8:8:8:8 little endian */
#define DRM_FORMAT_ABGR8888   fourcc_code('A', 'B', '2', '4') /* [31:0] A:B:G:R 8:8:8:8 little endian */
#define DRM_FORMAT_BGR888   fourcc_code('B', 'G', '2', '4') /* [23:0] B:G:R little endian */
#define DRM_FORMAT_GR88   fourcc_code('G', 'R', '8', '8') /* [15:0] G:R 8:8 little endian */
#define DRM_FORMAT_R8   fourcc_code('R', '8', ' ', ' ') /* [7:0] R */
#define DRM_FORMAT_R16   fourcc_code('R', '1', '6', ' ') /* [15:0] R little endian */
#define DRM_FORMAT_RGB565   fourcc_code('R', 'G', '1', '6') /* [15:0] R:G:B 5:6:5 little endian */
#define DRM_FORMAT_RG1616   fourcc_code('R', 'G', '3', '2') /* [31:0] R:G 16:16 little endian */
#define DRM_FORMAT_GR1616   fourcc_code('G', 'R', '3', '2') /* [31:0] G:R 16:16 little endian */
#define DRM_FORMAT_BGRA1010102   fourcc_code('B', 'A', '3', '0') /* [31:0] B:G:R:A 10:10:10:2 little endian */
#define DRM_FORMAT_YUYV   fourcc_code('Y', 'U', 'Y', 'V') /* [31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian */
#define DRM_FORMAT_UYVY   fourcc_code('U', 'Y', 'V', 'Y') /* [31:0] Y1:Cr0:Y0:Cb0 8:8:8:8 little endian */
#define DRM_FORMAT_AYUV   fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
#define DRM_FORMAT_NV12   fourcc_code('N', 'V', '1', '2') /* 2x2 subsampled Cr:Cb plane */
#define DRM_FORMAT_NV21   fourcc_code('N', 'V', '2', '1') /* 2x2 subsampled Cb:Cr plane */
#define DRM_FORMAT_P010   fourcc_code('P', '0', '1', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel */
#define DRM_FORMAT_YUV411   fourcc_code('Y', 'U', '1', '1') /* 4x1 subsampled Cb (1) and Cr (2) planes */
#define DRM_FORMAT_YUV420   fourcc_code('Y', 'U', '1', '2') /* 2x2 subsampled Cb (1) and Cr (2) planes */
#define DRM_FORMAT_YVU420   fourcc_code('Y', 'V', '1', '2') /* 2x2 subsampled Cr (1) and Cb (2) planes */
#define DRM_FORMAT_YUV422   fourcc_code('Y', 'U', '1', '6') /* 2x1 subsampled Cb (1) and Cr (2) planes */
#define DRM_FORMAT_YUV444   fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */

Functions

QT_BEGIN_NAMESPACE Q_STATIC_LOGGING_CATEGORY (qLcGstVideoBuffer, "qt.multimedia.gstreamer.videobuffer")

Macro Definition Documentation

◆ DRM_FORMAT_ABGR8888

#define DRM_FORMAT_ABGR8888   fourcc_code('A', 'B', '2', '4') /* [31:0] A:B:G:R 8:8:8:8 little endian */

Definition at line 50 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_ARGB8888

#define DRM_FORMAT_ARGB8888   fourcc_code('A', 'R', '2', '4') /* [31:0] A:R:G:B 8:8:8:8 little endian */

Definition at line 49 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_AYUV

#define DRM_FORMAT_AYUV   fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */

Definition at line 61 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_BGR888

#define DRM_FORMAT_BGR888   fourcc_code('B', 'G', '2', '4') /* [23:0] B:G:R little endian */

Definition at line 51 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_BGRA1010102

#define DRM_FORMAT_BGRA1010102   fourcc_code('B', 'A', '3', '0') /* [31:0] B:G:R:A 10:10:10:2 little endian */

Definition at line 58 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_BGRA8888

#define DRM_FORMAT_BGRA8888   fourcc_code('B', 'A', '2', '4') /* [31:0] B:G:R:A 8:8:8:8 little endian */

Definition at line 46 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_GR1616

#define DRM_FORMAT_GR1616   fourcc_code('G', 'R', '3', '2') /* [31:0] G:R 16:16 little endian */

Definition at line 57 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_GR88

#define DRM_FORMAT_GR88   fourcc_code('G', 'R', '8', '8') /* [15:0] G:R 8:8 little endian */

Definition at line 52 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_NV12

#define DRM_FORMAT_NV12   fourcc_code('N', 'V', '1', '2') /* 2x2 subsampled Cr:Cb plane */

Definition at line 62 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_NV21

#define DRM_FORMAT_NV21   fourcc_code('N', 'V', '2', '1') /* 2x2 subsampled Cb:Cr plane */

Definition at line 63 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_P010

#define DRM_FORMAT_P010   fourcc_code('P', '0', '1', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel */

Definition at line 64 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_R16

#define DRM_FORMAT_R16   fourcc_code('R', '1', '6', ' ') /* [15:0] R little endian */

Definition at line 54 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_R8

#define DRM_FORMAT_R8   fourcc_code('R', '8', ' ', ' ') /* [7:0] R */

Definition at line 53 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_RG1616

#define DRM_FORMAT_RG1616   fourcc_code('R', 'G', '3', '2') /* [31:0] R:G 16:16 little endian */

Definition at line 56 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_RG88

#define DRM_FORMAT_RG88   fourcc_code('R', 'G', '8', '8') /* [15:0] R:G 8:8 little endian */

Definition at line 48 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_RGB565

#define DRM_FORMAT_RGB565   fourcc_code('R', 'G', '1', '6') /* [15:0] R:G:B 5:6:5 little endian */

Definition at line 55 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_RGB888

#define DRM_FORMAT_RGB888   fourcc_code('R', 'G', '2', '4') /* [23:0] R:G:B little endian */

Definition at line 47 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_RGBA8888

#define DRM_FORMAT_RGBA8888   fourcc_code('R', 'A', '2', '4') /* [31:0] R:G:B:A 8:8:8:8 little endian */

Definition at line 45 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_UYVY

#define DRM_FORMAT_UYVY   fourcc_code('U', 'Y', 'V', 'Y') /* [31:0] Y1:Cr0:Y0:Cb0 8:8:8:8 little endian */

Definition at line 60 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_YUV411

#define DRM_FORMAT_YUV411   fourcc_code('Y', 'U', '1', '1') /* 4x1 subsampled Cb (1) and Cr (2) planes */

Definition at line 65 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_YUV420

#define DRM_FORMAT_YUV420   fourcc_code('Y', 'U', '1', '2') /* 2x2 subsampled Cb (1) and Cr (2) planes */

Definition at line 66 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_YUV422

#define DRM_FORMAT_YUV422   fourcc_code('Y', 'U', '1', '6') /* 2x1 subsampled Cb (1) and Cr (2) planes */

Definition at line 68 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_YUV444

#define DRM_FORMAT_YUV444   fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */

Definition at line 69 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_YUYV

#define DRM_FORMAT_YUYV   fourcc_code('Y', 'U', 'Y', 'V') /* [31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian */

Definition at line 59 of file qgstvideobuffer.cpp.

◆ DRM_FORMAT_YVU420

#define DRM_FORMAT_YVU420   fourcc_code('Y', 'V', '1', '2') /* 2x2 subsampled Cr (1) and Cb (2) planes */

Definition at line 67 of file qgstvideobuffer.cpp.

◆ fourcc_code

#define fourcc_code ( a,
b,
c,
d )
Value:
((uint32_t)(a) | ((uint32_t)(b) << 8) | \
((uint32_t)(c) << 16) | ((uint32_t)(d) << 24))
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
const GLubyte * c

Definition at line 43 of file qgstvideobuffer.cpp.

Function Documentation

◆ Q_STATIC_LOGGING_CATEGORY()

QT_BEGIN_NAMESPACE Q_STATIC_LOGGING_CATEGORY ( qLcGstVideoBuffer ,
"qt.multimedia.gstreamer.videobuffer"  )