[FFmpeg-devel] [PATCH v2 00/10] make QSV works with Intel's oneVPL

Xiang, Haihao haihao.xiang at intel.com
Mon Aug 23 07:28:36 EEST 2021


On Mon, 2021-08-16 at 15:33 +0800, Haihao Xiang wrote:
> The oneAPI Video Processing Library (oneVPL) is a single interface for
> encode, decode and video processing[1]. oneVPL is a successor to Intel's Media
> SDK (MediaSDK), but removed obsolete features. MediaSDK lifetime comes to an
> end now[2].
> 
> This patchset fixes compiler errors when building FFmpeg against oneVPL and
> uses
> a new way to create MFX session for oneVPL. New features for oneVPL will be
> implemented in other patchset.
> 
> The oneVPL source code:
> https://github.com/oneapi-src/oneVPL
> The oneVPL runtime for new Intel Gen platforms:
> https://github.com/oneapi-src/oneVPL-intel-gpu
> 
> [1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/index.html
> [2] https://github.com/Intel-Media-SDK/MediaSDK/#media-sdk-support-matrix
> 

Hi Zhong / Mark / Softworkz,

Is there any comment to this new patchset version? This version should not have
any impact to current user if --enable-libmfx option is used. We added --enable-
onevpl option for oneVPL usage but the suffix 'qsv' is still used in codec and
filter, so user needn't change their app or command if they don't use the
obsolete features.

Thanks
Haihao

> 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 the oneVPL SDK
>   configure: add --enable-libvpl option
> 
>  configure                        |  28 ++-
>  libavcodec/qsv.c                 | 215 +++++++++++++++---
>  libavcodec/qsv.h                 |   4 +-
>  libavcodec/qsv_internal.h        |   6 +-
>  libavcodec/qsvdec.c              |  15 +-
>  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             | 139 +++++++++++-
>  libavfilter/qsvvpp.h             |  12 +-
>  libavfilter/vf_deinterlace_qsv.c |  72 ++++---
>  libavfilter/vf_scale_qsv.c       |  88 ++++----
>  libavutil/hwcontext_opencl.c     |   2 +-
>  libavutil/hwcontext_qsv.c        | 359 ++++++++++++++++++++++++++-----
>  libavutil/hwcontext_qsv.h        |  18 +-
>  19 files changed, 819 insertions(+), 188 deletions(-)
> 


More information about the ffmpeg-devel mailing list