Multifilesrc-for-folder-of-images-in-ds6-3 [part2]

In continuation to this question mentioned above.

Pipeline marked as solution resulting in distorted greyscale image if input imagesize is 1920x1080. But for smaller sizes it works like a charm. Same happens even if I try without nvinfer and rest of pipeline. If I remove mjpeg=1, then only 1 image comes up, but shows good color image. So hope there is an issue with nvv4l2decoder. Any suggestion to fix?

gst-launch-1.0 multifilesrc location=/home/nvidia/images/%06d.jpg start-index=1 loop=1 ! jpegparse ! nvv4l2decoder ! videorate ! “video/x-raw(memory:NVMM), framerate=1/1” ! nvvideoconvert ! “video/x-raw(memory:NVMM), format=NV12” ! nv3dsink

• Hardware Platform (Jetson / GPU): Xavier AGX
• DeepStream Version: 6.3
• JetPack Version (valid for Jetson only): 5.1
• Issue Type( questions, new requirements, bugs): question

The above link cannot be opened, is it the correct one?

1 Like

@yingliu Sorry, here is the link

I am debugging. will get back to you.

1 Like

could you share the origin and output picture screenshots?
do you mean using 1920x1080 the output color is not same with origin picture while using a smaller picture the output color is the same?
could you share the 1920x1080 test pictures? we will have a try.

please refer to this link.


Origin of image is from the camera system dumping PNG images. Since I couldnt use PNG images in the pipeline using multifilesrc (+ jpegparse) plugins, I converted PNG images to JPG images using mogrify tool (command: mogrify -format jpg *.png). Do you think this conversion has caused some issues in image headers? But even if that is the case, how come good color image pops when I remove mjpeg=1 tag (and it shows just the first frame as we removed mjpeg=1 which is expected).

Sending couple of PNG & JPG images with irregularities noticed in direct message now.

Pipe used: gst-launch-1.0 multifilesrc location=/home/nvidia/code/images_jpg/%06d.jpg start-index=1 loop=1 ! jpegparse ! nvv4l2decoder ! videorate ! video/x-raw\(memory:NVMM\), framerate=1/1 ! nvvideoconvert ! video/x-raw\(memory:NVMM\), format=NV12 ! nv3dsink

I can reproduce this issue by the following simplified command-line.

 gst-launch-1.0  filesrc location=00001.jpg  ! jpegparse ! nvv4l2decoder  mjpeg=1  !  nvvideoconvert !  jpegenc ! filesink location=7.jpg
 gst-launch-1.0  filesrc location=00001.jpg  ! jpegparse ! nvv4l2decoder   !  nvvideoconvert !  jpegenc ! filesink location=8.jpg

currently please this workaround, it will use software decoder. we will continue to check nvv4l2decoder issue.

 gst-launch-1.0  filesrc location=00001.jpg  ! jpegparse ! jpegdec  !  nvvideoconvert !  jpegenc ! filesink location=8.jpg
1 Like

@fanzh Let me know in case if any progress made with nvv4l2decoder mjpeg=1 issue

sorry for the late reply! nvv4l2decoder does not support decoding of YUV444-based jpeg images as of now. if you still need to use hardware decoding. please refer to the following command-line on Jetson.
gst-launch-1.0 filesrc location=00001.jpg ! nvjpegdec ! ‘video/x-raw(memory:NVMM), format=Y444’ ! nvvidconv ! ‘video/x-raw’ ! filesink location=out_yuv444.yuv

1 Like

Thanks @fanzh . Hope it will be supported in future releases

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.