JPEG encoding with CUDA

hi…

I am new to CUDA. I want to optimize JPEG encoding using the power of CUDA. Can anyone let me know a link where I can get all the required information about how it can be done. Also can anyone let me know new ideas which can be done using JCUDA.

Thanks
Harsh

If you’re new the first step is to learn the programming guide and CUDA manual. Don’t just skim it, really learn it. Then, look through the example code provided in the SDK for various projects, and read the documentation that comes with them. Some of the examples provide very highly-tuned algorithms for certain problems, and you will get a good working knowledge of the optimizations needed to harness the full potential of the GPU.

After that, you’ll want to read up on the JPEG algorithm, how it’s implemented, and so on. By that point, you should be able to figure out how to complete your JPEG project on your own.

Note: If I were you, I’d also stick around on the forums, even just to read the posts by people who are really good with CUDA. I’ve learned a great deal about CUDA just by reading through the forums every day.

That’s the right way of learning CUDA.

Is JPEG compression speed a bottleneck in many applications? I could imagine a demand perhaps from a photographer who needs to convert a whole album of pictures.

mjpeg video is an example

Web server or User Interface (GNome, KDE, Finder, Windows) thumbnail generator or example :-)

A short google brought up this
[url=“http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=12800&lngWId=3”]http://www.planet-source-code.com/vb/scrip...00&lngWId=3[/url]
Jpeg has two parts, huffman/arithmetic encoding which doesn’t map well to the gpu and is usually done on the cpu and idct/quantization handling which is easily done on the gpu.

Hi there, to everyone.

I’m in a project that needs video decoding in mjpeg format. I was really wondering about the best way to do this… I know that cuvid lib supports mpeg-1/2 and H264 decoding… but only that. Would it be wise to acquire each and every frame and treat it like jpeg decoding (decode jpeg files in GPU using cuda and map it as openGL texture, for instance)? or can I use the existent NVIDIA support for video decoding, somehow?

I dont know if this helps… but some guide lines of the project that I already know:

  • it uses ffmpeg libs to work the frames.
  • as it requires some middle treatment (processing between decoding frame and actually showing it), mpeg7 is used (somehow, dont ask) to process color properties of each frame.