Releases: intel/libvpl
v2021.4.0
New in This Release
- Updated dispatcher API to 2.4
- Advanced OpenVINO™ interop sample w/ remoteBlob support (Linux only)
- C++ API and Samples (Preview)
- Python API and Samples (Preview)
- Added logging capability to Dispatcher
- Added new tools: sample_multi_transcode and decvpp_tool
- Added debug libraries to Windows package
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
Issues and Limitations
C++/Python previews
- This is a preview release made available to gather feedback for API
improvements. Compatibility with future releases is not guaranteed.
Dispatcher
- 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. - The libmfx.dll and libmfx.so.2021.1.11 dispatchers are
deprecated. They are provided for backwards compatibility only and
will be removed from a future release. They do not include any
changes since the 2021.1.1 release. - 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
- 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. - Input size should be aligned to 16 bytes for sample_encode.
- 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 occasionally hangs for (CPU) SVT-HEVC encodes when using
VBR in Ubuntu 18.04. - sample_encode does not work if the input is scaled or color converted.
- 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. - When configuring systems to run the OpenVINO™ interop samples in Linux
gmmlib version conflicts can occur. Debug shows undefined GmmLib
symbols as the cause of a runtime error. This can be mitigated by
using the media stack integrated with OpenVINO™ installation.
Uninstall other versions of libva, iHD, and libgmm then select Media
SDK when installing OpenVINO™ as described in the OpenVINO™ install
documentation.
CPU implementation
- Decode input bitstream buffer size must be large enough to hold
several frames. Buffer sizes that are too small may cause issues. The
necessary minimum size is stream dependent but enough for 10 frames is
a conservative estimate. - AVC/H.264 encode is disabled due to licensing restrictions. To enable
it, refer to the instructions to Optionally enable H.264
encode. - A subset of parameters and functions from the specification are
implemented. For more information on mandatory and optional APIs and
features, see the oneVPL
specification. - For the Windows* release, Visual C++* Redistributable for Visual
Studio* 2015 or higher is required. Without this, an error reporting
a missing MSVCP140.dll will be generated. - MFX_BITSTREAM_EOS from the input bitstream dataFlag is ignored by
MFXVideoDECODE_DecodeFrameAsync().
v2021.2.2
This release is focused on alignment with the 2.2 oneVPL specification, enabling GPU support, and delivering feature support for partners and customers.
The Intel® oneAPI Video Processing Library (oneVPL) lets developers add high- speed, real-time decoding, encoding, and video processes to their applications. Its single video API provides direct access to advanced Intel® CPU instructions and gives you total control of video processing needs.
This release delivers the following new features:
• Dispatcher and CPU implementation updated to align with oneVPL Specification 2.2
• Legacy Intel(R) Media SDK test tools (with CPU and GPU support)
• Intel(R) Media SDK to oneVPL migration guide
• pkg-config support
• Windows* 32-bit support
• Legacy mfxvideo++ header
• New Preview Sample:
-- oneVPL-OpenVINO™ Interop Sample (Preview) (source code only)
• New OS support:
-- Ubuntu 20.10
v2021.1
Intel® oneAPI Video Processing Library (oneVPL) initial release
The Intel® oneAPI Video Processing Library (oneVPL) lets developers add high-speed, real-time decoding, encoding, and video processes to their applications. Its single video API provides direct access to advanced Intel® CPU instructions and gives you total control of video processing needs.
oneVPL delivers the following features:
• C API implementation of the oneVPL API 2.0
• oneVPL Dispatcher
• New frame memory interface with access to internally allocated buffers
• CPU implementation including
- Software encode and decode support for :
-- H.264/AVC
-- H.265/HEVC
- MJPEG
-- AV1
- DPC++ kernel integration
- Sample support with:
-- hello-decode
-- hello-encode
-- hello-vpp
-- dpcpp-blur
-- hello-transcode (open source only)
- The base toolkit package includes pre-built tools (vpl-decode, vpl-encode, vpl-vpp)