summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2020-08-18 15:20:38 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2022-08-12 10:43:39 +0800
commit6aea2243824e1c0bb7c259912a6d6f7e537545ee (patch)
treeba36493edcd122b819e07a3cb941b7c99e8f02eb
parent3e61b7dd7f1e9ead383f291585adc2a6b94b03c6 (diff)
qsv: restrict user plugin to MFX_VERSION < 2.0
User plugin isn't supported for MFX_VERSION >= 2.0[1][2]. This is in preparation for oneVPL Support [1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/VPL_intel_media_sdk.html#msdk-full-name-feature-removals [2] https://github.com/oneapi-src/oneVPL
-rw-r--r--libavcodec/qsv.c8
-rw-r--r--libavcodec/qsv_internal.h2
2 files changed, 9 insertions, 1 deletions
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index c56e32ed1f..d62c19de8d 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -19,7 +19,6 @@
*/
#include <mfxvideo.h>
-#include <mfxplugin.h>
#include <mfxjpeg.h>
#include <stdio.h>
@@ -37,9 +36,14 @@
#include "qsv_internal.h"
#define MFX_IMPL_VIA_MASK(impl) (0x0f00 & (impl))
+#define QSV_HAVE_USER_PLUGIN !QSV_ONEVPL
#include "mfxvp8.h"
+#if QSV_HAVE_USER_PLUGIN
+#include <mfxplugin.h>
+#endif
+
int ff_qsv_codec_id_to_mfx(enum AVCodecID codec_id)
{
switch (codec_id) {
@@ -329,6 +333,7 @@ enum AVPictureType ff_qsv_map_pictype(int mfx_pic_type)
static int qsv_load_plugins(mfxSession session, const char *load_plugins,
void *logctx)
{
+#if QSV_HAVE_USER_PLUGIN
if (!load_plugins || !*load_plugins)
return 0;
@@ -372,6 +377,7 @@ load_plugin_fail:
if (err < 0)
return err;
}
+#endif
return 0;
diff --git a/libavcodec/qsv_internal.h b/libavcodec/qsv_internal.h
index cb1e55ae30..949955bda0 100644
--- a/libavcodec/qsv_internal.h
+++ b/libavcodec/qsv_internal.h
@@ -65,6 +65,8 @@
((MFX_VERSION.Major > (MAJOR)) || \
(MFX_VERSION.Major == (MAJOR) && MFX_VERSION.Minor >= (MINOR)))
+#define QSV_ONEVPL QSV_VERSION_ATLEAST(2, 0)
+
typedef struct QSVMid {
AVBufferRef *hw_frames_ref;
mfxHDLPair *handle_pair;