4#include <QtCore/qlibrary.h>
8#include <QtCore/qglobal.h>
12#ifdef DYNAMIC_RESOLVE_VA_DRM_SYMBOLS
15#ifdef DYNAMIC_RESOLVE_VA_X11_SYMBOLS
24 constexpr int version = VA_MAJOR_VERSION + 1;
26 libs.push_back(std::make_unique<QLibrary>(
"va", version));
27#ifdef DYNAMIC_RESOLVE_VA_DRM_SYMBOLS
28 libs.push_back(std::make_unique<QLibrary>(
"va-drm", version));
31#ifdef DYNAMIC_RESOLVE_VA_X11_SYMBOLS
32 libs.push_back(std::make_unique<QLibrary>(
"va-x11", version));
42#if VA_CHECK_VERSION(1, 9, 0)
45#ifdef DYNAMIC_RESOLVE_VA_DRM_SYMBOLS
48#ifdef DYNAMIC_RESOLVE_VA_X11_SYMBOLS
57 resolver()->resolve();
64DEFINE_FUNC(vaInitialize, 3, VA_STATUS_ERROR_OPERATION_FAILED);
67constexpr auto errorStr =
"VAAPI is not available";
72DEFINE_FUNC(vaCreateImage, 5, VA_STATUS_ERROR_OPERATION_FAILED);
75DEFINE_FUNC(vaDeriveImage, 3, VA_STATUS_ERROR_OPERATION_FAILED);
76DEFINE_FUNC(vaDestroyImage, 2, VA_STATUS_ERROR_OPERATION_FAILED);
77DEFINE_FUNC(vaQueryImageFormats, 3, VA_STATUS_ERROR_OPERATION_FAILED);
79DEFINE_FUNC(vaBeginPicture, 3, VA_STATUS_ERROR_OPERATION_FAILED);
80DEFINE_FUNC(vaRenderPicture, 4, VA_STATUS_ERROR_OPERATION_FAILED);
81DEFINE_FUNC(vaEndPicture, 2, VA_STATUS_ERROR_OPERATION_FAILED);
83DEFINE_FUNC(vaCreateBuffer, 7, VA_STATUS_ERROR_OPERATION_FAILED);
85DEFINE_FUNC(vaUnmapBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
86#if VA_CHECK_VERSION(1, 9, 0)
87DEFINE_FUNC(vaSyncBuffer, 3, VA_STATUS_ERROR_OPERATION_FAILED);
89DEFINE_FUNC(vaDestroyBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
91DEFINE_FUNC(vaCreateSurfaces, 8, VA_STATUS_ERROR_OPERATION_FAILED);
92DEFINE_FUNC(vaSyncSurface, 2, VA_STATUS_ERROR_OPERATION_FAILED);
93DEFINE_FUNC(vaExportSurfaceHandle, 5, VA_STATUS_ERROR_OPERATION_FAILED);
94DEFINE_FUNC(vaDestroySurfaces, 3, VA_STATUS_ERROR_OPERATION_FAILED);
96DEFINE_FUNC(vaCreateConfig, 6, VA_STATUS_ERROR_OPERATION_FAILED);
97DEFINE_FUNC(vaGetConfigAttributes, 5, VA_STATUS_ERROR_OPERATION_FAILED);
101DEFINE_FUNC(vaQueryConfigProfiles, 3, VA_STATUS_ERROR_OPERATION_FAILED);
102DEFINE_FUNC(vaQueryConfigEntrypoints, 4, VA_STATUS_ERROR_OPERATION_FAILED);
103DEFINE_FUNC(vaQuerySurfaceAttributes, 4, VA_STATUS_ERROR_OPERATION_FAILED);
114DEFINE_FUNC(vaGetDisplayAttributes, 3, VA_STATUS_ERROR_OPERATION_FAILED);
118DEFINE_FUNC(vaAcquireBufferHandle, 3, VA_STATUS_ERROR_OPERATION_FAILED);
119DEFINE_FUNC(vaReleaseBufferHandle, 2, VA_STATUS_ERROR_OPERATION_FAILED);
121#ifdef DYNAMIC_RESOLVE_VA_DRM_SYMBOLS
125#ifdef DYNAMIC_RESOLVE_VA_X11_SYMBOLS
static bool tryLoad(const Libs &libs)
Combined button and popup list for selecting options.
#define DEFINE_FUNC(F, ArgsCount,...)
std::vector< std::unique_ptr< QLibrary > > Libs
constexpr auto emptyString
static QT_BEGIN_NAMESPACE Libs loadLibs()
constexpr size_t symbolsCount
#define Q_GLOBAL_STATIC(TYPE, NAME,...)