I am using c++, libjpeg for decoding jpeg file. I find it is not fast enough, is there any method to make it faster by setting some compile parameter? or are there any other lib can open jpeg files more faster?
now it takes about 750ms to open a 4368 * 2912 4m jpeg image. I wish this can be reduced to 150ms. Many thanks!
Added: IJL seems faster than li开发者_如何学Cbjpeg:)
The fastest way is not to decode it at all. Usually you can use a low-res preview first; that requires only the low frequencies. For a 546 x 289 pixel preview, you in fact only need the (0,0) (DC) component.
There's the Intel Performance Primitives which contains JPEG coding/decoding implementations
Also see http://sourceforge.net/projects/libjpeg-turbo/ for a drop-in replacement of libjpeg that uses SIMD instructions for a significant performance boost.
I use libjpeg from ijg. It's documented how to modify for your purposes, like coding/decoding in memory.
I think DirectX and libSDL can decode jpegs - although libSDL might use libjpeg for decoding.
精彩评论