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

Haihao Xiang haihao.xiang at intel.com
Mon Aug 16 10:33:15 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'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

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(-)

-- 
2.17.1



More information about the ffmpeg-devel mailing list