Intel Media SDK and Intel® oneAPI Video Processing Library (oneVPL)

发布时间 2023-05-31 15:10:13作者: stardsd
The Intel Media Software Development Kit (Intel Media SDK) is a cross-platform application programming interface (API) for developing media applications on Windows and Linux. It is mainly used for hardware-accelerated video encoding, decoding, and processing via Intel Quick Sync Video available on Intel CPUs.
The Intel Media SDK provides a plain C API to access hardware-accelerated video decode, encode and filtering on Intel Gen graphics hardware platforms. It supports video encoders such as HEVC, AVC, MPEG-2, JPEG, and VP9, and video decoders such as HEVC, AVC, VP8, and VP9.
The Intel Media SDK project is no longer active.

The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® oneAPI Video Processing Library (oneVPL), and to move to oneVPL as soon as possible.

The oneAPI Video Processing Library (oneVPL) is a programming interface for video decoding, encoding, and processing. It provides a single API for video processing that works across a wide range of accelerators. oneVPL is part of a multilayer media portfolio that provides advanced access to specialized media hardware. oneVPL is Intel's modern solution for video encode/decode and processing on both Windows and Linux and for both CPU and GPU-based execution. It's an open source specification that aims to simplify the life of developers looking to create accelerator-based applications and who want to support a variety of hardware architectures and hardware vendors.

oneVPL by Intel is a video processing library that supports AI visual inference, media delivery, cloud gaming, and virtual desktop infrastructure use cases by providing access to hardware accelerated video decode, encode, and frame processing capabilities on Intel GPUs³.
 
Some examples of how to use oneVPL by Intel are:
 
- The hello-decode sample shows a simple decode operation of HEVC input streams and demonstrates the basic steps in the oneVPL programming model². It uses functions like MFXLoad(), MFXCreateConfig(), MFXCreateSession(), MFXVideoDECODE_DecodeFrameAsync(), etc. to initialize oneVPL session, read input bitstream, decode frames, and write output frames.
- The hello-encode sample shows a simple encode operation of raw input frames and demonstrates the basic steps in the oneVPL programming model³. It uses functions like MFXLoad(), MFXCreateConfig(), MFXCreateSession(), MFXVideoENCODE_EncodeFrameAsync(), etc. to initialize oneVPL session, read input frames, encode frames, and write output bitstream.
- The hello-vpp sample shows a simple video processing operation of resizing input frames and demonstrates the basic steps in the oneVPL programming model³. It uses functions like MFXLoad(), MFXCreateConfig(), MFXCreateSession(), MFXVideoVPP_Init(), MFXVideoVPP_RunFrameVPPAsync(), etc. to initialize oneVPL session, read input frames, process frames with a specified filter, and write output frames.
 
You can find more examples and tools for oneVPL by Intel on the GitHub repository³ or the Intel website¹.
(1) GitHub - oneapi-src/oneVPL: oneAPI Video Processing Library (oneVPL .... https://github.com/oneapi-src/oneVPL.
(2) oneVPL Code Sample - Intel. https://www.intel.com/content/www/us/en/docs/oneapi/programming-guide/2023-0/onevpl-code-sample.html.
(3) Overview of oneVPL Examples and Tools - Intel. https://www.intel.com/content/www/us/en/developer/articles/technical/overview-of-onevpl-examples-and-tools.html.
(4) oneVPL samples and demos | Intel Insiders | Mark Liu, 02/17/2021. https://insiders.intel.com/projects/onevpl-samples-and-demos.