Message ID | 20210816073325.27020-1-haihao.xiang@intel.com |
---|---|
Headers | show |
Series | make QSV works with Intel's oneVPL | expand |
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(-) >
> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Xiang, > Haihao > Sent: Monday, 23 August 2021 06:29 > To: ffmpeg-devel@ffmpeg.org > Subject: Re: [FFmpeg-devel] [PATCH v2 00/10] make QSV works with Intel's > oneVPL > > 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. Hi Haihao, I'm still struggling to understand this. You are doing a major version bump to 2.x even there's not a single benefit but features are being removed instead. At this time, I don't see any plausible reason to move away from libmfx. Kind regards, softworkz
On Mon, 2021-08-23 at 05:06 +0000, Soft Works wrote: > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Xiang, > > Haihao > > Sent: Monday, 23 August 2021 06:29 > > To: ffmpeg-devel@ffmpeg.org > > Subject: Re: [FFmpeg-devel] [PATCH v2 00/10] make QSV works with Intel's > > oneVPL > > > > 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. > > > Hi Haihao, > > I'm still struggling to understand this. You are doing a major version bump > to 2.x even there's not a single benefit but features are being removed > instead. > > At this time, I don't see any plausible reason to move away from libmfx. According to the links[1][2] below, MediaSDK is going to be supported in maintenance mode, new features will be added only to oneVPL, including the new features for future hardwares. The deleted features are less used in practice. oneVPL dispatcher may load multiple runtimes, user may use dispatcher APIs to find an available implementation[3], so it is possible to run FFmpeg with libvpl on different implementations. This patchset is not to replace libmfx with libvpl, libmfx is still used if running configure with --enable-libmfx option. [1]https://github.com/Intel-Media-SDK/MediaSDK/#media-sdk-support-matrix [2] https://software.intel.com/content/www/us/en/develop/articles/upgrading-from-msdk-to-onevpl.html [3] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/API_ref/VPL_disp_api_func.html#dispatcher-api-function-reference Thanks Haiaho > > Kind regards, > softworkz > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".