[FFmpeg-devel] [PATCH v12 00/13] make QSV works with the Intel's oneVPL
Xiang, Haihao
haihao.xiang at intel.com
Wed Aug 3 07:55:55 EEST 2022
On Mon, 2022-07-25 at 12:11 +0800, Xiang, Haihao wrote:
> 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(-)
Are there any more comments or objections left for this patchset ?
BRs
Haihao
More information about the ffmpeg-devel
mailing list