v2022.0.0
New in This Release
- Updated mfxvideo++.h to remove deprecation warnings
- Sample* tools select oneVPL 2.x APIs by default
- Sample* tool update to support new GPU features
- Updates to C++ & Python previews:
- AV1 extension buffer support
- new property interface
- Targets Python 3.7
- Updated documentation and build for Intel® Distribution of OpenVINO™ interop sample
- The libmfx.dll and libmfx.so.2021.1.11 libraries, that had been renamed to libvpl.* have been removed
For more information on the preview C++/Python APIs and Samples, see
https://software.intel.com/content/www/us/en/develop/articles/onevpl-preview-examples.html
oneVPL 2022.0.0 has been updated to include functional and security updates. Users should update to the latest version.
Issues and Limitations
- On Ubuntu 20.04, during basekit install you may see a warning about missing OpenCL support. You can verify the graphics stack components are correctly installed by running one of the interop samples with -hw. See https://github.com/oneapi-src/oneVPL for more information.
C++/Python previews
- This is a preview release made available to gather feedback for API improvements. Compatibility with future releases is not guaranteed.
Dispatcher
- MFXCloneSession() is supported only for sessions created using MFXInit() or MFXInitEx(). To clone a session created using MFXCreateSession(), the application may call MFXCreateSession() a second time, followed by MFXJoinSession().
- In multi-adapter configurations with a mix of legacy and Xe GPUs, only the oneVPL implementation will be loaded. This means legacy MSDK device(s) cannot be used in this scenario. In this case oneVPL applications should target only the Xe device(s). If an application must target both, use Media SDK dispatcher and choose the default runtime to load with the INTEL_MEDIA_RUNTIME environment variable. See the Media SDK Readme for more information.
- MFXInit() and MFXInitEx() functions have been deprecated in the 2.0 oneVPL Specification. Use MFXLoad() instead. See the transition guide for more details.
- If initialized with MFXInit() or MFXInitEx(), support is limited to the 1.x API and will load Intel(R) Media SDK hardware library rather than oneVPL hardware library.
- If both Intel(R) Media SDK and oneVPL hardware libraries are installed, only oneVPL libraries will be loaded via MFXLoad(). See the oneVPL specification for more details.
- The Media SDK runtimes enabling legacy GPU hardware only provide API features up to 1.35, even when initialized with MFXLoad. For more details, see Upgrading from Intel® Media SDK to Intel® oneAPI Video Processing Library.
- Dispatcher support has been extended to include hardware implementations, including those that implement API versions lower then 2.0. Applications patterned after the 2021.1.1 release samples, rather than the 2.0 specification may fail after re-build as the previous sample code made the assumption that 2.0 APIs would be available. To remedy this please follow the coding patterns in the oneVPL spec
Tools and samples
- Releases installed prior to the 2.4 API update may cause CMAKE build failures on Linux due to compatibility issues. Prior package versions were aligned with release version, rather than API. As a result find_package will look for a current version i.e. 2.4 but find a larger legacy usage i.e. 2021.2.2 and assume forward compatibility.
- decvpp_tool currently only supports Linux operating systems
- decvpp_tool requires the graphics stack installed even when in CPU only mode.
- sample_decode may not finish with multi-resolution input in external memory mode with CPU runtime.
- legacy-vpp sample in hardware mode is not supported on Sky Lake.
- Encode B-frame distance setting is inconsistent between CPU and GPU implementations. For the CPU implementation 0 means no B-frames, while for the GPU implementation 1 means no B-frames.
- Colorspace flags are required when using sample_* tools, if colorspace is not set tools will fail.
- The sample_multi_transcode tool included in this release is only intended for GPU operation to remain more closely aligned with the version of this tool released with Intel(R) Media SDK.
- The sample_multi_transcode tool has a synchronization issue in 1->N pipelines. When decode is faster than encoders, the issue can cause the free frames consumed faster than the framework released, eventually resulting in tool crash when there is no more memory available.
- hello-transcode sample only supports the oneVPL CPU implementation in this release.
- sample_decode may stop responding if the input is switched between multiple resolutions.
- sample_encode software mode does not support NV12 as the input color format. Use i420 with the "i420" argument since NV12 is the default format.
- sample_encode occasionally hangs for (CPU) SVT-HEVC encodes when using VBR in Ubuntu 18.04.
- sample_encode does not support preprocess commands for scaling or color conversion.
- sample_encode, sample_decode, and sample_vpp are not in sync with Media SDK's version of these tools. This will be corrected in future releases.
- Windows samples are installed to C:\Program Files (x86)\Intel\oneAPI\vpl\latest\examples by default. This should not be a writable location, so you will not be able to build samples here. To build examples, copy this folder to another location first.