Intel(R) Media SDK API Features Removed from oneVPL
oneVPL focuses on not removing features and no required mitigations |
Video Decode |
Video Frame Processing |
Video Encode |
---|---|---|---|
Intel® Media SDK |
Yes |
Yes |
Yes |
oneVPL |
Yes |
Yes |
Yes |
Intel(R) Media SDK audio features are removed. There should be no significant impact since Intel(R) ships no audio library you call by these APIs. FFmpeg* and GStreamer* are good starting points for the open source. Many other options are available too.
Audio Decode |
Audio Encode |
|
---|---|---|
Intel® Media SDK |
Yes |
Yes |
oneVPL |
No |
No |
Mitigation |
Use FFmpeg* or GStreamer* |
Other Intel(R) Media SDK API features removed from oneVPL:
GPU driver-specific controls |
Opaque memory |
Plugin API |
CPU support |
|
---|---|---|---|---|
Intel® Media SDK |
FEI ENC/PAK for AVC/HEVC |
Yes |
Yes |
Yes |
oneVPL |
No |
No |
No |
|
Mitigation |
Specific to implementation. |
Use external allocations or internal memory. |
Write stage in application code or extend implementation. |
Use a standard CPU implementation such as FFmpegy*. |
FEI ENC/PAK is a driver-level interface used in only a few scenarios for legacy hardware. FEI users have Intel(R) contacts and should work directly with them to transition FEI code to VPL and recent hardware.
Opaque memory provided Intel(R) Media SDK applications access to surfaces managed by Intel(R) Media SDK. However, they were opaque, hidden from the application, and only helpful in a few limited transcode scenarios. Applications using opaque memory have two options:
Switch to external allocations such as core API compatible with Intel(R) Media SDK and VPL hardware.
Rewrite to use internal memory that is 2.x enhanced API only compatible with VPL hardware.
Plugin API was intended to let additional codecs and frame processing be added outside of Intel(R) Media SDK implementation libraries. However, this became cumbersome, and features were consolidated into implementations, making this API unnecessary. Since implementations and specifications are fully open-source, users can add new features directly to runtime code or write their runtime libraries. oneVPL applications can add frame processing to applications without the plugin API.
CPU support was part of the original Intel(R) Media SDK because the GPU implementation needed a reference implementation. Intel(R) Media SDK CPU and VPL-CPU are not competitive in features or performance with commonly available open-source CPU codec projects. oneVPL is a GPU-only project. For cross-accelerator portability, use FFmpeg* or GStreamer*.