Skip to content

Releases: intel/libvpl

v2021.6.0

13 Sep 23:05

Choose a tag to compare

New in This Release

  • Updated dispatcher to API 2.5
  • Internal memory support added to dpcpp-blur sample

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 2021.6.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

  • 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.
  • Builds of oneVPL from source assume single configuration generators on Linux and multi configuration generators on Windows.
  • 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

  • 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 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.
  • sample_encode does not work in case of enabled VPP and internal memory allocator.
  • legacy-vpp sample in hardware mode is not supported on Sky Lake.
  • decvpp_tool does not support gen12 platforms on Windows in Hardware mode.
  • 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.

v2021.5.0

04 Aug 00:41

Choose a tag to compare

New in This Release

  • Added option to build dispatcher as a static library
  • Added ability to build dispatcher under MinGW
  • Fixes for tools and samples

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

  • 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.
  • dpccp-blur sample incorrectly states its usage. The sample example commandline should read:
dpcpp-blur -i in.i420 -w 128 -h 96
To view: ffplay -f rawvideo -pixel_format bgra -video_size 256x192 -pixel_format yuv420p out.raw
  • legacy-vpp sample in hardware mode is not supported on Sky Lake.
  • hello-transcode readme incorrectly implies sample runs on hardware.
  • decvpp_tool does not support gen12 platforms on Windows in Hardware mode.
  • 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.

v2021.4.0

25 Jun 23:50

Choose a tag to compare

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

01 Apr 22:28

Choose a tag to compare

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

24 Feb 17:26

Choose a tag to compare

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)