Intel® oneAPI Video Processing Library Release Notes

Version: 2022.1   Published: 11/30/2021  

Last Updated: 04/18/2022

By Pamela Harrison

Version History

 

Date Version Major Change Summary
April 2022 2022.1.0 Q1 2022 Release
November 2021 2022.0.0 Q4 2021 Release
September 2021 2021.6.0 Dispatcher updated to 2.5 spec.
August 2021 2021.5.0 Dispatcher build support expanded
June 2021 2021.4.0 Q2 2021 Release
April 2021 2021.3.0 Dispatcher updated to 2.3 spec
March 2021 2021.2.2 Q1 2021 Release
November 2020 2021.1.1 Initial Release

Where to Find the Release

For more information on how to acquire the package see the product page.

To explore and download the source code, see the open source oneVPL project on GitHub*.

Sample code can be found in release package or downloaded directly from the oneAPI-samples repo.

For information about the Intel® oneAPI Video Processing Library (oneVPL) specification, see the product specification.

For information about transitioning from Intel® Media SDK to oneVPL, see the transition guide.

New in This Release

Added

  • For oneVPL GPU implementation:
    • SurfacePool interface
    • AV1 encode for Intel® Arc™ A Series Graphics
    • Documentation for Deep Link (Hyper Encode) on Intel® Arc™ A Series Graphics
  • For oneVPL CPU implementation:
    • H264 encoder with a permissive license
    • MPEG2 decode
    • Optional generation of IVF headers for AV1 encode
  • Updated oneVPL dispatcher to support API 2.6
  • Added ONEVPL_PRIORITY_PATH for RT loading
  • Extended multi-adapter to support most combinations of GPU hardware that works with Intel(R) Media SDK and oneVPL
  • Updated documentation on working with multiple adapters using 2.x API
  • Added support for extended device ID on legacy GPUs
  • Added support for Intel® Arc™ A Series Graphics
  • Added support for:
    • Rocky Linux* and Windows* 11
    • Windows* Server 2022
    • Microsoft Visual Studio* 2022

Changed

  • Intel® Media SDK runtime is loaded when DirectX* 9 is requested

Deprecated

  • Deprecated support for Microsoft Visual Studio* 2017

Fixed

  • Fixed: MFXCloneSession is not functional on legacy GPU systems
  • Fixed: hello-encode not working on Alchemist due to default input resolution
  • Fixed: HEVC encode is crashing if GOP size = 1 with CPU runtime

For more information on the preview C++/Python APIs and Samples, see https://www.intel.com/content/www/us/en/developer/articles/news/onevpl-preview-examples.html

oneVPL 2022.1.0 has been updated to include functional and security updates. Users should update to the latest version.

 

Features

  • C API dispatcher implementing oneVPL specification
  • CPU implementation. For more details see https://github.com/oneapi-src/oneVPL-cpu
  • The source code in the examples directory of the oneVPL project shows usage of oneVPL API.
  • The source code in the "tools" directory of oneVPL project can be used to check the platform capability and performance from the command line. These programs are also pre-built in the "bin" directory.
  • The source code in the preview directory of the oneVPL project provides previews of new functionality. As a preview, APIs may change. Backward compatibility is not guaranteed.

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

  • 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® Media SDK hardware library rather than oneVPL hardware library.
  • For legacy GPU hardware enabled by Intel(R) Media SDK, only API features up to 1.35 are available, 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.
  • Sessions initialized with MFXVideoSession::InitEx() defined in file mfxvideo++.h are limited to using the following fields in structure mfxInitParam: Implementation, Version. Applications which require setting non-default values for the following fields must use the C function MFXInitEx() instead: ExternalThreads, GPUCopy, ExtParam, NumExtParam.

Tools and samples

  • Releases installed before the 2.4 API update may cause cmake build failures on Linux* OS due to compatibility issues. Prior package versions were aligned with release versions rather than API. As a result, "find_package" looks for a current version (2.4) but finds a larger legacy version (2021.2.2) and assumes forward compatibility.
  • sample_decode may not finish with multi-resolution input in external memory mode with CPU implementation.
  • legacy-vpp sample in hardware mode is not supported on Skylake systems.
  • 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® 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.
  • sample_decode may stop responding if input changes resolution.
  • 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 does not support preprocess commands for scaling or color conversion for CPU.
  • 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.

CPU Implementation

  • CPU compilation on WSL2 is not currently supported, but precompiled CPU implementation will work on WSL2 systems.
  • 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.
  • CPU implementation decode error recovery is limited. Decode of corrupted bitstreams may fail.
  • 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.
  • MFX_BITSTREAM_EOS from the input bitstream dataFlag is ignored by MFXVideoDECODE_DecodeFrameAsync().
  • Windows* OS app verifier detects memory leak from CPU implementation when openH264 is enabled.

For more information about installation, please see: 

Previous oneAPI Releases

2021 Release Notes

Legal Information

FFmpeg is an open source project licensed under LGPL and GPL. See https://www.ffmpeg.org/legal.html. You are solely responsible for determining if your use of FFmpeg requires any additional licenses. Intel is not responsible for obtaining any such licenses, nor liable for any licensing fees due, in connection with your use of FFmpeg.

This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.

Notices and Disclaimers

Intel technologies may require enabled hardware, software or service activation.

No product or component can be absolutely secure.

Your costs and results may vary.

© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.