Skip to navigation

Gst-nvjpegdec

View as Markdown

The Gst-nvjpegdec plugin decodes images on both dGPU and Jetson platforms. It is the preferred method for decoding JPEG images. On the dGPU platform this plugin is based on the libnvjpeg library, part of the CUDA toolkit. On Jetson it uses a platform-specific hardware accelerator. The plugin uses an internal software parser to parse JPEG streams. Thus, there is no need to use a jpegparse open source plugin separately to parse the encoded frame. The plugin accepts a JPEG encoded bitstream. It produces RGB(NVMM) output on the dGPU platform. For Jetson platform, it can produce I420 as (RAW and NVMM) and GRAY8/NV12/YUY2/Y42B/Y444/RGBA as NVMM. This plugin is not applicable on (ARM + dGPU) platforms like arm-sbsa. Use nvimagedec plugin instead. OSS nvjpegdec plugin may be listed in these platforms, but don’t use that.

As a pre-requisite for Jetson, the library libnvjpeg.so.13 should be present in the BSP. If the CUDA Toolkit 13.0 is installed, it will be part of it.

Inputs and Outputs

  • Inputs

    • Elementary JPEG
  • Output

    • Gst Buffer with decoded output in RGB format for dGPU, and I420/GRAY8/NV12/YUY2/Y42B/Y444/RGBA format for Jetson

Features

The following table summarizes the features of the Gst-nvjpegdec plugin.

Gst-nvjpegdec plugin features

FeatureDescriptionRelease
Supports JPEG Decode—DS 4.0
Supports MJPEG Decode—DS 4.0

Gst Properties

The following table summarizes the Gst properties of the Gst-nvjpegdec plugin.

Gst-nvjpegdec plugin gst properties

PropertyMeaningType and RangeExample and NotesPlatforms
EnableperfEnable decode time measurementBooleanDefault: falsedGPU + Jetson
gpu-idSet GPU Device ID for operationUnsigned Integer
0 to 4294967295
Default: 0dGPU + Jetson
idct-methodThe IDCT algorithm to useEnum “GstNvIDCTMethod
0: islow (Slow but accurate integer algorithm)
1: ifast (Faster, less accurate integer method)
2: float (Floating-point: accurate, fast on fast HW)
Default: 1 (ifast)dGPU + Jetson
mjpegdecodeEnable mjpeg decoder path for decode operationsBooleanDefault: trueJetson
needs-buffer-poolNeeds buffer poolBooleanDefault: trueJetson
nv12outputEnable nv12 output for i420 inputBooleanDefault: falseJetson
out-mem-typeSet decoder output memory typeEnum “DecMemType
0: memtype_default (Memory type Default)
1: memtype_pinned (Memory type Host Pinned)
2: memtype_device (Memory type Device)
4: memtype_surface_array (Memory type Surface Array)
Default: 0 (memtype_default)Jetson
rgbaoutputEnable rgba outputBooleanDefault: falseJetson
yuy2outputEnable yuy2 output for yuv422 inputBooleanDefault: falseJetson