[FFmpeg-devel] [PATCH v5 00/10] make QSV works with the Intel's oneVPL
Haihao Xiang
haihao.xiang at intel.com
Fri Oct 8 10:50:46 EEST 2021
The oneAPI Video Processing Library (oneVPL) is a single interface for
encode, decode and video processing[1]. oneVPL is a successor to Intel(R) Media
SDK, but removed obsolete features. Intel(R) Media SDK lifetime comes to an
end now, new features for new Intel Gen platforms will be supported in oneVPL
only[2].
It is recommended to use oneVPL for new work, even for currently available
hardwares[3]. Hence, this patchset added a new option --enable-onevpl to bring
the support for oneVPL in QSV. New features for oneVPL will be implemented in
other patchset. --enble-libmfx option still works with Intel(R) Media SDK.
Note user can't enable onevpl and libmfx together.
oneVPL dispatcher source code:
https://github.com/oneapi-src/oneVPL
oneVPL GPU runtime for new Intel Gen platforms:
https://github.com/oneapi-src/oneVPL-intel-gpu
v5:
- Rebased this patchset against the latest master
- Do not define mfx related API in an export header
[1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/index.html
[2] https://github.com/Intel-Media-SDK/MediaSDK/#media-sdk-support-matrix
[3] https://software.intel.com/content/www/us/en/develop/articles/upgrading-from-msdk-to-onevpl.html
Haihao Xiang (10):
configure: ensure --enable-libmfx uses libmfx 1.x
configure: fix the check for MFX_CODEC_VP9
qsv: remove mfx/ prefix from mfx headers
qsv: load user plugin for MFX_VERSION < 2.0
qsv: build audio related code when MFX_VERSION < 2.0
qsvenc: support multi-frame encode when MFX_VERSION < 2.0
qsvenc: support MFX_RATECONTROL_LA_EXT when MFX_VERSION < 2.0
qsv: support OPAQUE memory when MFX_VERSION < 2.0
qsv: use a new method to create mfx session when using oneVPL
configure: add --enable-libvpl option
configure | 28 ++-
libavcodec/qsv.c | 220 ++++++++++++++++--
libavcodec/qsv.h | 4 +-
libavcodec/qsv_internal.h | 6 +-
libavcodec/qsvdec.c | 21 +-
libavcodec/qsvenc.c | 25 +-
libavcodec/qsvenc.h | 9 +-
libavcodec/qsvenc_h264.c | 3 +-
libavcodec/qsvenc_hevc.c | 3 +-
libavcodec/qsvenc_jpeg.c | 3 +-
libavcodec/qsvenc_mpeg2.c | 3 +-
libavcodec/qsvenc_vp9.c | 3 +-
libavfilter/qsvvpp.c | 145 +++++++++++-
libavfilter/qsvvpp.h | 12 +-
libavfilter/vf_deinterlace_qsv.c | 73 +++---
libavfilter/vf_scale_qsv.c | 88 +++----
libavutil/hwcontext_opencl.c | 2 +-
libavutil/hwcontext_qsv.c | 383 ++++++++++++++++++++++++++-----
libavutil/hwcontext_qsv.h | 3 +-
19 files changed, 846 insertions(+), 188 deletions(-)
--
2.17.1
More information about the ffmpeg-devel
mailing list