When I use jpeg encoding function in DeepStream SDK,I I found the following two problems：
（1）When I use nvjpegenc plugin to do jpeg encoding in pipeline, the simple pipeline process is shown below:
filesrc location=video_decode_0.yuv → videdoparse → nvvideoconvert → nvstreammux → nvvideoconvert → nvjpegenc → filesrc location=www.jpg
If the nvstreammux plugin(batch_size=1) input one yuv image, the nvjpegenc plugin can work successfully and print the encoding time consuming.But If the nvstreammux plugin(batch_size=2) input two yuv image,the nvjpegenc plugin can’t work properly and don‘t have time consuming printing.I want to know if the nvjpegenc plugin supports multiple batch encoding.
(2)When I use nvds_obj_enc_process interface to do batch jpeg encode,I found that there might be a problem with this interface.
My hardware platform is Jetson Xavier NX,my pipeline is similar to the sample_apps(path:/opt/nvidia/deepstream/deepstream-5.0/sources/apps/sample_apps/deepstream-image-meta-test).If the nvstreammux plugin(batch_size=1) input one yuv image, the nvds_obj_enc_process interface can work successfully and save multiple object jpg image.But If the nvstreammux plugin(batch_size=2) input two yuv image,the nvinfer plugin can give correct obj area coordinates,the nvds_obj_enc_process interface can’t save correct object jpg image in second yuv image.The following are the two input images(two_image.jpg) and the corresponding detection area.The object in left image can do jpeg encoding normally(left_obj.zip).But the object in right image can’t get correct jpg image(right_obj.zip).The obj area coordinates are correct ,but the image used for encoding is the one on the left.
This problem appears in many tests. Please see if the nvds_obj_enc_process interface is defective.
left_obj.zip (60.1 KB)
right_obj.zip (44.2 KB)