#1 2010-06-21 16:00:59

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,659
Website

Fast JPEG decoder using SSE/SSE2 version 1.2

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

#2 2010-08-20 08:59:05

Amir
Member
From: UAE
Registered: 2010-08-17
Posts: 36

Re: Fast JPEG decoder using SSE/SSE2 version 1.2

Hi Dear Arnaud.

I have a JPEG image, which is not drawn by Fast JPEG decoder, but with TJPEGImage !!!
would u let me know the reason.

Here's the Pic: test.jpg

best.

Last edited by Amir (2010-08-20 08:59:59)


Amir

Offline

#3 2010-08-20 12:16:58

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,659
Website

Re: Fast JPEG decoder using SSE/SSE2 version 1.2

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

#4 2011-07-09 21:45:41

nhaeck
Member
From: Hellevoetsluis, Netherlands
Registered: 2011-07-09
Posts: 2
Website

Re: Fast JPEG decoder using SSE/SSE2 version 1.2

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

#5 2011-07-10 06:12:01

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,659
Website

Re: Fast JPEG decoder using SSE/SSE2 version 1.2

Hi,

You can do whatever you want with this code!
Feel free to integrate it in your Open Source project.

Offline

#6 2011-07-11 02:01:01

nhaeck
Member
From: Hellevoetsluis, Netherlands
Registered: 2011-07-09
Posts: 2
Website

Re: Fast JPEG decoder using SSE/SSE2 version 1.2

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

Board footer

Powered by FluxBB