deepstream-image-decode-app with nvjpegdec

How can I run the deepstream-image-decode-app with nvjperdec instead of jpegparse+nv4l2decoder on the Jetson?? I have linking problems!

I did the following steps:

Comment out jpegparser declaration (line 209) and remove the its references in line 213, 229 and 231.
Swap line 211 for decoder = gst_element_factory_make(“nvjpegdec”. “nvjpeg-decoder”);

Hi,
nvjpegdec is not compatible with DeepStream SDK. Please use nvv4l2decoder or set DeepStream=1 in nvjpegdec.

And why is it then listed in the plugin manual of the Deepstream SDK?

Hi,
Did not notice it is listed. My apology.
https://docs.nvidia.com/metropolis/deepstream/plugin-manual/index.html#page/DeepStream_Plugin_Manual%2Fdeepstream_plugin_details.02.13.html%23wwpID0E0UK0HA
So do you set ‘DeepStream=1’?

yes I tried that. Didn’t solve the linking problem…

Hi, Do you run single jpeg decoding or continuous jpeg decoding? nvjpegdec would work in single jpeg decoding only.

I ran it on a sequence of jpg-images, so defining it with %d.jpg. Is it what you mean with continuous jpeg decoding?

Hi,
nvjpegdec works with nvoverlaysink and ‘nvegltransform ! nveglglessink’.

$ gst-launch-1.0 filesrc location= sample_720p.mjpeg ! jpegparse ! nvjpegdec DeepStream=1 ! nvegltransform ! nveglglessink sync=false
$ gst-launch-1.0 filesrc location= sample_720p.mjpeg ! jpegparse ! nvjpegdec DeepStream=1 ! nvoverlaysink sync=false

In replacing it to deepstream-image-decode-app, it cannot link with nvstreammux since nvjpegdec supports ‘video/x-raw(memory:NVMM),format=I420’ in sink pad but nvstreammux accepts ‘video/x-raw(memory:NVMM),format=NV12 or RGBA’. This is why you hit link error. Since mjpeg is supported in nvv4l2decoder, we would suggest use it.