VideoDecoderExtension

NVIDIA GXF component for H.264 video decode. The video Decoder GXF extension is based on V4L2 APIs. It uses the hardware video Decode engine on the platform by interfacing with V4L2 APIs. It gives out decoded yuv frame. This extension is supported on Tegra and dGPU platforms.

For x86+dGPU, the extension has a dependency on DeepStream. Please install nvidia DeepStream SDK (version 6.4) before running pipelines for x86+dGPU.

  • UUID: edc99001-73bd-435c-af0c-e013dcda3439

  • Version: 1.1.0

  • Author: NVIDIA

  • License: Proprietary

Components

This extension is implemented using three components: VideoDecoderRequest, VideoDecoderResponse and VideoDecoderContext

nvidia::gxf::VideoDecoderRequest

This codelet starts H.264 video decoding process by queueing the input buffer.

  • Component ID: 39c030763a42-4927-9960-0072b4e1bc69

  • Base Type: nvidia::gxf::Codelet

Parameters

input_frame

Receiver to get the input data(receive compressed data)

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_HANDLE

  • Handle Type: nvidia::gxf::Receiver


inbuf_storage_type

Input buffer storage type

Valid values:

0: Host memory

1: Device memory

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_UINT32

  • Default: 1


videodecoder_context

Handle to video decoder context component

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_HANDLE

  • Handle Type: gxf::Handle<VideoDecoderContext>


scheduling_term

Handle to async scheduling term to get/set event state for VideoDecoderResponse codelet.

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_HANDLE

  • Handle Type: gxf::Handle<gxf::AsynchronousSchedulingTerm>


codec

Video codec to be used, only H.264 supported.

Valid values:

0: H.264 codec

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_UINT32

  • Default: 0


disableDPB

Enable low latency decode, works only for IPPP case

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_UINT32

  • Default: 0


output_format

Output frame video format

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_STRING

Valid values:

nv12: NV12(YUV420, 2 planes: Y, UV interleaved) pitch linear format

yuv420planar: YUV420 planar(3 planes:Y,U,V) pitch linear format

nvidia::gxf::VideoDecoderResponse

This codelet completes the video decoding process by publishing decoded YUV buffer.

  • Component ID: 6cc164db5db4-431e-8b63a45ea1e7-b8a6

  • Base Type: nvidia::gxf::Codelet

Parameters

output_transmitter

Transmitter to publish the output yuv data(video buffer)

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_HANDLE

  • Handle Type: nvidia::gxf::Transmitter


pool

Memory pool for allocating output data.

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_HANDLE

  • Handle Type: nvidia::gxf::Allocator


outbuf_storage_type

Output buffer storage type

Valid values:

0: Host memory

1: Device memory

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_INT32

  • Default: 1


videodecoder_context

Handle to video decoder context component

  • Flags: GXF_PARAMETER_FLAGS_NONE

  • Type: GXF_PARAMETER_TYPE_HANDLE

  • Handle Type: gxf::Handle<VideoDecoderContext>

nvidia::gxf::VideoDecoderContext

Component that implements the Video Decoder context

  • Component ID: c69e604d9f1d-425e-ad5f121a7e9d-3456

  • Base Type: nvidia::gxf::Component

Parameters

None