nvidia.dali.fn.plugin.video.decoder#

nvidia.dali.fn.plugin.video.decoder(__buffer, /, *, affine=True, bytes_per_sample_hint=[0], end_frame=0, preserve=False, seed=-1, device=None, name=None)#

Decodes a video file from a memory buffer (e.g. provided by external source).

The video streams can be in most of the container file formats. FFmpeg is used to parse video

containers and returns a batch of sequences of frames with shape (F, H, W, C) where F is the number of frames in a sequence and can differ for each sample.

Supported backends
  • ‘mixed’

Parameters:

__buffer (TensorList) – Data buffer with a loaded video file.

Keyword Arguments:
  • affine (bool, optional, default = True) –

    Applies only to the mixed backend type.

    If set to True, each thread in the internal thread pool will be tied to a specific CPU core.

    Otherwise, the threads can be reassigned to any CPU core by the operating system.

  • bytes_per_sample_hint (int or list of int, optional, default = [0]) –

    Output size hint, in bytes per sample.

    If specified, the operator’s outputs residing in GPU or page-locked host memory will be preallocated to accommodate a batch of samples of this size.

  • end_frame (int, optional, default = 0) – Index of the end frame to be decoded.

  • preserve (bool, optional, default = False) – Prevents the operator from being removed from the graph even if its outputs are not used.

  • seed (int, optional, default = -1) –

    Random seed.

    If not provided, it will be populated based on the global seed of the pipeline.