Message ID | 20220725041151.7710-1-haihao.xiang@intel.com |
---|---|
Headers | show |
Series | make QSV works with the Intel's oneVPL | expand |
On Mon, 2022-07-25 at 12:11 +0800, Xiang, Haihao wrote: > From: Haihao Xiang <haihao.xiang@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 ? BRs Haihao
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@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
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@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
From: Haihao Xiang <haihao.xiang@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(-)