Architecture#
Intel® VPL functions fall into the following categories:
- DECODE#
Functions that decode compressed video streams into raw video frames
- ENCODE#
Functions that encode raw video frames into compressed bitstreams
- VPP#
Functions that perform video processing on raw video frames
- DECODE_VPP#
Functions that perform combined operations of decoding and video processing
- CORE#
Auxiliary functions for synchronization
- Misc#
Global auxiliary functions
With the exception of the global auxiliary functions, Intel® VPL functions are named after their functioning domain and category. Intel® VPL exposes video domain functions.

Intel® VPL function name notation#
Applications use Intel® VPL functions by linking with the Intel® VPL dispatcher library.
![digraph {
rankdir=TB;
Application [shape=record label="Application" ];
Sdk [shape=record label="Intel® VPL dispatcher library"];
Lib1 [shape=record label="Intel® VPL library 1 (CPU)"];
Lib2 [shape=record label="Intel® VPL library 2 (platform 1)"];
Lib3 [shape=record label="Intel® VPL library 3 (platform 2)"];
Application->Sdk;
Sdk->Lib1;
Sdk->Lib2;
Sdk->Lib3;
}](../_images/graphviz-f183e18f8711ad16cc9e6137956edd2bdfda8c91.png)
Intel® VPL dispatching mechanism#
The dispatcher library identifies the hardware acceleration device on the running platform, determines the most suitable platform library for the identified hardware acceleration, and then redirects function calls accordingly.