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

(1833c46205d6c764362416c1aed372ee4462c2ba)

#include "qffmpeghwaccel_vaapi_p.h"
#include <va/va.h>
#include <qvideoframeformat.h>
#include "qffmpegvideobuffer_p.h"
#include "private/qvideotexturehelper_p.h"
#include <rhi/qrhi.h>
#include <qguiapplication.h>
#include <qpa/qplatformnativeinterface.h>
#include <qopenglfunctions.h>
#include <libavutil/hwcontext_vaapi.h>
#include <va/va_drm.h>
#include <va/va_drmcommon.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <unistd.h>
#include <qloggingcategory.h>
+ Include dependency graph for qffmpeghwaccel_vaapi.cpp:

Go to the source code of this file.

Classes

class  QFFmpeg::VAAPITextureSet
 

Namespaces

namespace  QFFmpeg
 

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_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_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 LAYER   0
 
#define PLANE   i
 

Functions

static QT_BEGIN_NAMESPACE Q_LOGGING_CATEGORY (qLHWAccelVAAPI, "qt.multimedia.ffmpeg.hwaccelvaapi")
 
static const quint32QFFmpeg::fourccFromPixelFormat (const QVideoFrameFormat::PixelFormat format)
 

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 */

◆ DRM_FORMAT_BGR888

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

Definition at line 38 of file qffmpeghwaccel_vaapi.cpp.

Referenced by drmFormatToMediaBusFormat(), and formatFromDrmFormat().

◆ 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 45 of file qffmpeghwaccel_vaapi.cpp.

Referenced by formatFromDrmFormat().

◆ DRM_FORMAT_GR1616

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

Definition at line 44 of file qffmpeghwaccel_vaapi.cpp.

Referenced by QFFmpeg::fourccFromPixelFormat().

◆ DRM_FORMAT_GR88

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

◆ DRM_FORMAT_R16

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

Definition at line 41 of file qffmpeghwaccel_vaapi.cpp.

Referenced by QFFmpeg::fourccFromPixelFormat().

◆ DRM_FORMAT_R8

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

Definition at line 40 of file qffmpeghwaccel_vaapi.cpp.

Referenced by QFFmpeg::fourccFromPixelFormat().

◆ DRM_FORMAT_RG1616

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

Definition at line 43 of file qffmpeghwaccel_vaapi.cpp.

Referenced by QFFmpeg::fourccFromPixelFormat().

◆ DRM_FORMAT_RG88

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

Definition at line 36 of file qffmpeghwaccel_vaapi.cpp.

Referenced by QFFmpeg::fourccFromPixelFormat().

◆ DRM_FORMAT_RGB565

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

◆ DRM_FORMAT_RGB888

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

Definition at line 35 of file qffmpeghwaccel_vaapi.cpp.

Referenced by drmFormatToMediaBusFormat(), and formatFromDrmFormat().

◆ 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 */

◆ 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
[7]
const GLubyte * c

Definition at line 31 of file qffmpeghwaccel_vaapi.cpp.

◆ LAYER

#define LAYER   0

◆ PLANE

#define PLANE   i

Function Documentation

◆ Q_LOGGING_CATEGORY()

static QT_BEGIN_NAMESPACE Q_LOGGING_CATEGORY ( qLHWAccelVAAPI ,
"qt.multimedia.ffmpeg.hwaccelvaapi"  )
static