Programming Guide


oneVPL Usage

Applications can use oneVPL to program video decoding, encoding, and image processing components. oneVPL provides a default CPU implementation that can be used as a reference design before using other accelerators.
oneVPL applications follow a basic sequence in the programming model:
  1. The oneVPL dispatcher automatically finds all available accelerators during runtime.
  2. Dispatcher uses the selected accelerator context to initialize a session.
  3. oneVPL configures the video component at the start of the session.
  4. oneVPL processing loop is launched. The processing loop handles work asynchronously.
  5. If the application chooses to let oneVPL manage working memory, then memory allocation will be implicitly managed by the video calls in the processing loop.
  6. After work is done, oneVPL uses a clear call to clean up all resources.
The oneVPL API is defined using a classic C style interface and is compatible with C++ and SYCL*.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at