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

Xiang, Haihao haihao.xiang at intel.com
Fri Aug 12 06:02:10 EEST 2022


On Tue, 2022-08-09 at 01:23 +0000, Xiang, Haihao wrote:
> 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.
> 

Pushed

-Haihao







More information about the ffmpeg-devel mailing list