Architecture

SDK functions fall into the following categories:

DECODE

Decode compressed video streams into raw video frames

ENCODE

Encode raw video frames into compressed bitstreams

VPP

Perform video processing on raw video frames

CORE

Auxiliary functions for synchronization

Misc

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

For more complete information about compiler optimizations, see our Optimization Notice.