You are not logged in.
The Fast JPEG decoder using SSE/SSE2 library file has been updated, and is now in version 1.2, released under a MPL/GPL/LGPL tri-license. It's mainly a bug issue fix.
Here are the modifications made to the unit:
- resource leak in TJpegDecode.ToBitmap fixed (thanks Esmond for the report)
- potential GPF issue fixed in TJpegDecode.Free
Source code is available from http://synopse.info/files/jpegdec.zip
Offline
Offline
It's a progressive JPEG, and this decoder doesn't handle progressive JPEG.
You'll have to go back to the jpeg unit or even better our SynGdiPlus unit.
Some users reported than SynGdiPlus unit was as fast as this SSE2 fast decoder.
This decoder was a try, but not a catch!
Offline
I am the author of NativeJpg (see http://www.simdesign.nl/forum/viewforum.php?f=16). Maybe I can integrate your fast JPEG decoder into NativeJpg? NativeJpg already supports progressive Jpeg and color spaces like CMYK / YCCK, and your fast SSE/SSE2 code integrated would be a big plus.
Kind regards, Nils
Offline
Hi Arnaud,
I can confirm that jpegdec works well for 90% of the jpeg images. It would be very nice to add the SSE/SSE2 IDCT assembler code in NativeJpg, since some ppl stated that it is about 30% faster than the 8x8 IDCT version of the Independent Jpeg Group (IJG), which NativeJpg uses.
However, the Delphi debugger I use is very barebones, so the debugging of asm is really a pain (eg the Delphi7 debugger tells me that 02CH is 2, while I thought 2C hex is 2x16+12=44, for example). Therefore I cannot reliably extract *just* the IDCT part(s) of jpegdec. I have for now put this idea in the fridge.
If you have ideas on how to separate the IDCT code so the jpegdec IDCT can be just a drop-in replacement, please tell me.
Kind regards, Nils
Last edited by nhaeck (2011-07-11 02:21:41)
Offline