It decodes JPEG frames from a webcam and displays them on screen which is great, however the sample code calls “jpeg_start_decompress” which is undocumented and exists as a symbol in /usr/lib/aarch64-linux-gnu/tegra/libnvjpeg.so:
And it says that you should use nvjpegDecode to decode an image but I don’t see this used ANYWHERE in the sample code. Are the MMAPI samples using some deprecated interface? If so, where are the samples that show how to use nvjpegDecode?
I would like to get the CUDA JPEG decoder to output luminance channel only which is why I need to understand jpeg_start_decompress. (The nvjpeg documentation is clear on how to use nvjpegDecode to decode only to the Y channel).
You find that jpeg_start_decompress is not defined anywhere in here, HOWEVER, nvjpegDecode IS defined!
So to summarise we have the undocumented jpeg_start_decompress function in the Jetson release of nvjpeg, and the documented nvjpegDecode in the AMD64 release.
Hi,
The hardware engines of jpeg codec are different on Jetson platforms and desktop GPUs. Hence the APIs are implemented separately. For using Jetson platforms, please check NvJpegDecoder class in