[FFmpeg-devel] [PATCH v12 00/13] make QSV works with the Intel's oneVPL
Xiang, Haihao
haihao.xiang at intel.com
Mon Jul 25 07:11:38 EEST 2022
From: Haihao Xiang <haihao.xiang at intel.com>
The oneAPI Video Processing Library (oneVPL) is a single interface for
encode, decode and video processing[1][2]. 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[3].
It is recommended to use oneVPL for new work, even for currently available
hardwares[4]. 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, for example, we are implementing av1_qsv encoder
(https://github.com/intel-media-ci/ffmpeg/pull/515).
option --enble-libmfx still works with Intel(R) Media SDK.
Note user can't enable onevpl and libmfx together.
oneVPL dispatcher:
https://github.com/oneapi-src/oneVPL
oneVPL GPU runtime for new Intel Gen platforms:
https://github.com/oneapi-src/oneVPL-intel-gpu
v12:
- Update some commit logs
- Update qsv_va_update_config() for configuration filter on Linux
Haihao Xiang (13):
configure: ensure --enable-libmfx uses libmfx 1.x
configure: fix the check for MFX_CODEC_VP9
qsv: remove mfx/ prefix from mfx headers
qsv: restrict user plugin to MFX_VERSION < 2.0
qsv: restrict audio related code to MFX_VERSION < 2.0
qsvenc: restrict multi-frame encode to MFX_VERSION < 2.0
qsvenc: restrict MFX_RATECONTROL_LA_EXT to MFX_VERSION < 2.0
qsv: restrict OPAQUE memory to MFX_VERSION < 2.0
lavu/hwcontext_qsv: add loader field to AVQSVDeviceContext
lavu/hwcontext_qsv: make qsv hwdevice works with oneVPL
lavc/qsv: create mfx session using oneVPL for decoding/encoding
lavfi/qsv: create mfx session using oneVPL for qsv filters
configure: add --enable-libvpl option
configure | 32 +-
doc/APIchanges | 3 +
libavcodec/qsv.c | 249 +++++++++++--
libavcodec/qsv.h | 4 +-
libavcodec/qsv_internal.h | 6 +-
libavcodec/qsvdec.c | 22 +-
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 | 141 +++++++-
libavfilter/qsvvpp.h | 12 +-
libavfilter/vf_deinterlace_qsv.c | 72 ++--
libavfilter/vf_scale_qsv.c | 87 ++---
libavutil/hwcontext_opencl.c | 2 +-
libavutil/hwcontext_qsv.c | 590 ++++++++++++++++++++++++++++---
libavutil/hwcontext_qsv.h | 13 +-
libavutil/version.h | 2 +-
21 files changed, 1099 insertions(+), 185 deletions(-)
--
2.17.1
More information about the ffmpeg-devel
mailing list