Video Decode

NvMedia video decode is a frame-level API. NvMedia implementations:

  • Accept frame data from the bitstream.
  • Perform all required processing of those frames.

    For example, VLD decoding, IDCT, motion compensation, and in-loop deblocking.

The client application is responsible for:

  • Extracting the slices from the bitstream.

    For example, parsing/demultiplexing container formats, and scanning the data to determine frame start positions and frame sizes.

  • Parsing various bitstream headers and structures.

    For example, the sequence header, sequence parameter set, picture parameter set, and entry point structures. Various fields from the parsed header structures must be provided to NvMedia alongside the slice bitstream in a "picture information" structure.

  • Feeding in the buffer containing bitstream per frame to decoder.
  • Managing the surface.

    For example, H.264 DPB processing, and display re-ordering.