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
qffmpegsymbols-va.cpp
Go to the documentation of this file.
1// Copyright (C) 2024 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#include <QtMultimedia/private/qsymbolsresolveutils_p.h>
5
6#include <va/va.h>
7#include <va/va_str.h>
8
9// VAAPI generated the actual *.so name due to the rule:
10// https://github.com/intel/libva/blob/master/configure.ac
11//
12// The library name is generated libva.<x>.<y>.0 where
13// <x> = VA-API major version + 1
14// <y> = 100 * VA-API minor version + VA-API micro version
15CHECK_VERSIONS("va", VA_NEEDED_SOVERSION, VA_MAJOR_VERSION + 1);
16
17#ifdef Q_FFMPEG_PLUGIN_STUBS_ONLY
18constexpr const char *loggingName = "va(in plugin)";
19#else
20constexpr const char *loggingName = nullptr;
21#endif
22
23BEGIN_INIT_FUNCS("va", VA_NEEDED_SOVERSION, loggingName)
24
25
26INIT_FUNC(vaExportSurfaceHandle);
27INIT_FUNC(vaSyncSurface);
28INIT_FUNC(vaQueryVendorString);
29
30#ifndef Q_FFMPEG_PLUGIN_STUBS_ONLY
31
32INIT_FUNC(vaInitialize);
33INIT_FUNC(vaTerminate);
34INIT_FUNC(vaErrorStr);
35INIT_FUNC(vaSetErrorCallback);
36INIT_FUNC(vaSetInfoCallback);
37
38INIT_FUNC(vaCreateImage);
39INIT_FUNC(vaGetImage);
40INIT_FUNC(vaPutImage);
41INIT_FUNC(vaDeriveImage);
42INIT_FUNC(vaDestroyImage);
43INIT_FUNC(vaQueryImageFormats);
44
45INIT_FUNC(vaBeginPicture);
46INIT_FUNC(vaRenderPicture);
47INIT_FUNC(vaEndPicture);
48
49INIT_FUNC(vaCreateBuffer);
50INIT_FUNC(vaMapBuffer);
51INIT_FUNC(vaUnmapBuffer);
52#if VA_CHECK_VERSION(1, 9, 0)
53INIT_FUNC(vaSyncBuffer);
54#endif
55INIT_FUNC(vaDestroyBuffer);
56
57INIT_FUNC(vaCreateSurfaces);
58INIT_FUNC(vaDestroySurfaces);
59
60INIT_FUNC(vaCreateConfig);
61INIT_FUNC(vaGetConfigAttributes);
62INIT_FUNC(vaMaxNumProfiles);
63INIT_FUNC(vaMaxNumImageFormats);
64INIT_FUNC(vaMaxNumEntrypoints);
65INIT_FUNC(vaQueryConfigProfiles);
66INIT_FUNC(vaQueryConfigEntrypoints);
67INIT_FUNC(vaQuerySurfaceAttributes);
68INIT_FUNC(vaDestroyConfig);
69
70INIT_FUNC(vaCreateContext);
71INIT_FUNC(vaDestroyContext);
72
73INIT_FUNC(vaProfileStr);
74INIT_FUNC(vaEntrypointStr);
75
76INIT_FUNC(vaGetDisplayAttributes);
77
78INIT_FUNC(vaSetDriverName);
79
80INIT_FUNC(vaAcquireBufferHandle);
81INIT_FUNC(vaReleaseBufferHandle);
82
83#endif
84
86
87constexpr auto emptyString = "";
88
89DEFINE_FUNC(vaExportSurfaceHandle, 5, VA_STATUS_ERROR_OPERATION_FAILED);
90DEFINE_FUNC(vaSyncSurface, 2, VA_STATUS_ERROR_OPERATION_FAILED);
91DEFINE_FUNC(vaQueryVendorString, 1, emptyString);
92
93#ifndef Q_FFMPEG_PLUGIN_STUBS_ONLY
94
95DEFINE_FUNC(vaInitialize, 3, VA_STATUS_ERROR_OPERATION_FAILED);
96DEFINE_FUNC(vaTerminate, 1, VA_STATUS_ERROR_OPERATION_FAILED);
97
98constexpr auto errorStr = "VAAPI is not available";
99DEFINE_FUNC(vaErrorStr, 1, errorStr);
100DEFINE_FUNC(vaSetErrorCallback, 3);
101DEFINE_FUNC(vaSetInfoCallback, 3);
102
103DEFINE_FUNC(vaCreateImage, 5, VA_STATUS_ERROR_OPERATION_FAILED);
104DEFINE_FUNC(vaGetImage, 7, VA_STATUS_ERROR_OPERATION_FAILED);
105DEFINE_FUNC(vaPutImage, 11, VA_STATUS_ERROR_OPERATION_FAILED);
106DEFINE_FUNC(vaDeriveImage, 3, VA_STATUS_ERROR_OPERATION_FAILED);
107DEFINE_FUNC(vaDestroyImage, 2, VA_STATUS_ERROR_OPERATION_FAILED);
108DEFINE_FUNC(vaQueryImageFormats, 3, VA_STATUS_ERROR_OPERATION_FAILED);
109
110DEFINE_FUNC(vaBeginPicture, 3, VA_STATUS_ERROR_OPERATION_FAILED);
111DEFINE_FUNC(vaRenderPicture, 4, VA_STATUS_ERROR_OPERATION_FAILED);
112DEFINE_FUNC(vaEndPicture, 2, VA_STATUS_ERROR_OPERATION_FAILED);
113
114DEFINE_FUNC(vaCreateBuffer, 7, VA_STATUS_ERROR_OPERATION_FAILED);
115DEFINE_FUNC(vaMapBuffer, 3, VA_STATUS_ERROR_OPERATION_FAILED);
116DEFINE_FUNC(vaUnmapBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
117#if VA_CHECK_VERSION(1, 9, 0)
118DEFINE_FUNC(vaSyncBuffer, 3, VA_STATUS_ERROR_OPERATION_FAILED);
119#endif
120DEFINE_FUNC(vaDestroyBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
121
122DEFINE_FUNC(vaCreateSurfaces, 8, VA_STATUS_ERROR_OPERATION_FAILED);
123DEFINE_FUNC(vaDestroySurfaces, 3, VA_STATUS_ERROR_OPERATION_FAILED);
124
125DEFINE_FUNC(vaCreateConfig, 6, VA_STATUS_ERROR_OPERATION_FAILED);
126DEFINE_FUNC(vaGetConfigAttributes, 5, VA_STATUS_ERROR_OPERATION_FAILED);
127DEFINE_FUNC(vaMaxNumProfiles, 1);
128DEFINE_FUNC(vaMaxNumImageFormats, 1);
129DEFINE_FUNC(vaMaxNumEntrypoints, 1);
130DEFINE_FUNC(vaQueryConfigProfiles, 3, VA_STATUS_ERROR_OPERATION_FAILED);
131DEFINE_FUNC(vaQueryConfigEntrypoints, 4, VA_STATUS_ERROR_OPERATION_FAILED);
132DEFINE_FUNC(vaQuerySurfaceAttributes, 4, VA_STATUS_ERROR_OPERATION_FAILED);
133DEFINE_FUNC(vaDestroyConfig, 2, VA_STATUS_ERROR_OPERATION_FAILED);
134
135DEFINE_FUNC(vaCreateContext, 8);
136DEFINE_FUNC(vaDestroyContext, 2);
137
138
139DEFINE_FUNC(vaProfileStr, 1, emptyString);
140DEFINE_FUNC(vaEntrypointStr, 1, emptyString);
141
142DEFINE_FUNC(vaGetDisplayAttributes, 3, VA_STATUS_ERROR_OPERATION_FAILED);
143
144DEFINE_FUNC(vaSetDriverName, 2, VA_STATUS_ERROR_OPERATION_FAILED);
145
146DEFINE_FUNC(vaAcquireBufferHandle, 3, VA_STATUS_ERROR_OPERATION_FAILED);
147DEFINE_FUNC(vaReleaseBufferHandle, 2, VA_STATUS_ERROR_OPERATION_FAILED);
148
149#endif
150
constexpr auto errorStr
constexpr auto emptyString
constexpr const char * loggingName
#define BEGIN_INIT_FUNCS(...)
#define DEFINE_FUNC(F, ArgsCount,...)
#define END_INIT_FUNCS()
#define INIT_FUNC(F)
#define CHECK_VERSIONS(Name, NeededSoversion, DetectedVersion)