[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