SDK functions fall into the following categories:


Decode compressed video streams into raw video frames


Encode raw video frames into compressed bitstreams


Perform video processing on raw video frames


Auxiliary functions for synchronization


Global auxiliary functions

With the exception of the global auxiliary functions, SDK functions are named after their functioning domain and category, as illustrated in Figure 1. Here, SDK only exposes video domain functions.

Figure 1: SDK Function Naming Convention

Applications use SDK functions by linking with the SDK dispatcher library, as illustrated in Figure 2. The dispatcher library identifies the hardware acceleration device on the running platform, determines the most suitable platform library, and then redirects function calls. If the dispatcher is unable to detect any suitable platform-specific hardware, the dispatcher redirects SDK function calls to the default software library.

Figure 2: SDK Library Dispatching Mechanism