Hardware-assisted JPEG decoding?


I was looking for a JPEG decoding library with CUDA assisted IDCT step. Is there any such thing available, preferrably free?

I don’t know of anything available, but perhaps you could modify the CUFFT source to do DCT/iDCT transforms in batches (like CUFFT can do batches of 1-D FFT’s). It might not speed up individual images too much, but it might help accelerate decoding of a large batch of images…

There is even a DCT/IDCT SDK sample, however it has not been integrated into any image or video codec.

But I didn’t want to get my hands dirty with programming this time. I just want to use it ;)

Just curious, are you looking to decode a huge JPEG file, or a batch of smaller ones? If it was just a single small file, there really wouldn’t be much of a speedup (or more likely, a slowdown) due to transfer overhead, right?

I don’t know too much about the JPEG codec beyond the basics (uses DCT/iDCT, how some of the encoding is done, etc.), so I’m honestly curious…

It’s a larger batch of 256x256 color JPEGs making up a huge tiled photo image

You wouldn’t want to use CUFFT. You’d write your own kernel that takes advantage of the foreknowledge that each DCT will be a little 8x8 block. You’d use a register cache, etc.

EDIT: but the OP just want want a library for this. Nope, don’t know of any.