NVIDIA Jetson Xavier NX GStreamer Accelerated Elements

From RidgeRun Developer Wiki



Previous: Development/Building_the_Kernel_from_Source Index Next: GStreamer/Example_Pipelines






Hardware Accelerators Overview

Jetson Xavier NX has different hardware accelerator units that help take out the most performance of the system without generating an extra CPU load on the processing. This platform contains the following hardware accelerated units:

  • 384-core NVIDIA Volta™ GPU with 48 Tensor Cores
  • 2x NVDLA Engines (DL Accelerator)
  • 7-Way VLIW Vision Processor (Vision Accelerator)
  • ISP
  • Compositor (VIC)
  • Multimedia Complex: NV encoder, NV decoder, NV JPEG


GStreamer takes advantage of those hardware accelerated units and offers a series of elements that use those HW-accelerated units to perform the respective processing.

Jetson Xavier NX HW-accelerated encoding supported formats:

  • H.265 (HEVC)
  • H.264
  • VP9
  • NOTE: VP8 encoding is not supported with hardware acceleration


Jetson Xavier NX HW-accelerated decoding supported formats:

  • H.265 (HEVC)
  • H.264
  • VP8
  • VP9
  • MPEG-4
  • MPEG-2
  • VC-1

NVIDIA Proprietary Elements

Following the list of NVIDIA proprietary elements for GStreamer 1.0:

Element Description
nvarguscamerasrc Source element to capture from a camera using the ARGUS API
nvv4l2camerasrc Source element to capture from a camera using the V4l2 API
nvidconv Filter element to perfom format conversion and scaling
nvcompositor Video compositor plugin
nveglstreamsrc Acts as GStreamer Source Component, accepts EGLStream from EGLStream producer
nvvideosink Video Sink Component. Accepts YUV-I420 format and produces EGLStream (RGBA)
nvegltransform Video transform element for NVMM to EGLimage (supported with nveglglessink only)
nveglglessink EGL/GLES videosink element, both the X11 and Wayland backends
nv3dsink EGL/GLES videosink element
nvdrmvideosink DRM videosink element
nvjpegenc JPEG encoder element
nvjpegdec JPEG decoder element
nvv4l2h264enc H.264 video encoder, uses V4L2 API
nvv4l2h265enc H.265 video encoder, uses V4L2 API
nvv4l2vp9enc VP9 video encoder, uses V4L2 API
nvv4l2decoder Video decoder for H.264, H.265, VP8, VP9, MPEG4 and MPEG2 formats, uses V4L2 API

OpenMax Elements

Element Description
omxh264enc H.264 video encoder, uses OpenMax
omxh265enc H.265 video encoder, uses OpenMax
omxvp9enc VP9 video encoder, uses OpenMax
omxmpeg4videodec MPEG4 video decoder, uses OpenMax
omxmpeg2videodec OpenMAX MPEG2 video decoder, uses OpenMax
omxwmvdec OpenMAX OpenMAX WMV video decoder, uses OpenMax
omxh264dec H.264 video decoder, uses OpenMax
omxh265dec H.265 video decoder, uses OpenMax
omxvp8dec VP8 video decoder, uses OpenMax
omxvp9dec VP9 video decoder, uses OpenMax
nvoverlaysink OpenMax video sink



Previous: Development/Building_the_Kernel_from_Source Index Next: GStreamer/Example_Pipelines