[FFmpeg-devel] [PATCH v12 00/13] make QSV works with the Intel's oneVPL

Xiang, Haihao haihao.xiang at intel.com
Tue Aug 9 04:23:12 EEST 2022


On Wed, 2022-08-03 at 04:55 +0000, Xiang, Haihao wrote:
> 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 ? 
> 

I'll push this patchset in the next few days if no more comment or objection.

Thanks
Haihao


More information about the ffmpeg-devel mailing list