Hi,
I am porting some code from 4.6 to 5.1.2,
The code does MJpeg to H265 Transcoding, Mjpeg frames are captured from a Black & White USB camera.
In 5.1.2 NvJpegDecoder only output a single/identical yuv frame (of the first jpeg that was fed to it), subseqent calls to the decoder with new jpegs will return ok, but the resulting YUV buffer is identical to the very first yuv output that the decoder generated.
In order to eliminate our hardware/software involvment in the issue I attempted and was succesful in recreating the issue
on a pure jetson xavier nx EVM.
Steps taken in order to recreate issue:
- using sdkmanager installed JP 5.1.2 on xavier NX EVM
- used sdkmanager to install all nvidia packages including jetson-multimedia-api
- Compile the samples
- use 06_jpeg_decode to recreate the issue:
i have 3 jpeg files that were grabbed from the usb camera,
I have removed any zero padding that may cause premature jepg end error and called the jpeg decode app like so:
./jpeg_decode num_files 3 0.jpeg 0.yuv 1.jpeg 1.yuv 2.jpeg 2.yuv
Ouput will allway contain 3 idential YUV images that are the decoding result of 0.jpeg.
I also tried both decode modes with the sample, decode to buffer or decode to fd, both yields duplicate frames
A workaround i have attmpetd was to delete the NvJepgDecoder and create it again before each decoding, this solution works but each time an NvJpegDecoder is created a few lines are printed to output log, I guess these prints are from NV jpeg libraries.
Since i have to process 4 cameras running at 60fps each it is impossible to do since the log gets flooded with NvJpegDecoder generation messages.
These are jpegs 0,1,2 that i have used in the test:
Please note the camera is Black and White.
Can out suggest a workaround for this issue ?
Thanks
Amir








