Fast jpeg decompression

I need help with jpeg decompression or faster function PxLoadImage. In my application I need to display online cam (mjpg stream) and PxLoadImage take 200ms of process time. So it is possible to display max. 5fr/s… Is in QNX any other solution to display jpeg???

img=PxLoadImage("/ramdisk/tmp00.jpg",NULL);
PtSetResource(ABW_image,Pt_ARG_IMAGEAREA_IMAGE,img,NULL);

I tried to use shmem, but with the same result.

Thanks
Jan.

Do you need these files to be in jpeg format? Can you pre-decompress them? If neither of these are alternatives you may have boxed yourself in. Your only hope would be to find significantly faster decompression code, which I think is unlikely.

PxLoadImage is mean to load files and definitely not a mjpg stream. It’s a convenient function. You could try any of the jpeg library found at ftp://ftp.netbsd.org/pub/pkgsrc/package … 5/graphics.

I also think the Intel C++ compiler ( currently in beta ) has some optimised jpeg library.

PtSetResource ( … ) is also not the fastest mean of drawing an image, alhtough the bulk of the time is probably spent in PxLoadImage().

I wonder if the problem is I/O bound. In other words, how big are these jpeg images you are trying to display and where are you reading them from (disk, CF card etc).

If they are large but there aren’t too many (a few hundred MB worth), you might try copying them into a RAM drive and then loading them from the RAM drive which will significantly speed up the loading aspect.

Tim

Tim, I think that’s what the OP meant by “I tried to use shmem, but with the same result.”

Buy Intel Performance Primitives for Linux( IPP ) and use their static libs under QNX.
You will find very usefull functions excellent optimized for your Intel Processor.