incubator-sanselan-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Endre StĂžlsvik <>
Subject Re: JPEG Support
Date Wed, 09 Apr 2008 06:46:22 GMT
Charles Matthew Chen wrote:
> Hi,
>    My personal feeling about implementing JPEG:
>  * not sure if there is a patent issue.

There aren't any (anymore). Trust me: It'd be heard about by now.

>  * a pure-java implementation will always be slower than a native
> (c/c++) implementation.

Of course. And much better than a JNI solution, with its inherit dangers 
and noncompatiblity.

>    There might be virtue in adding pure-Java jpeg decode/encode
> support to Sanselan, but the case is hard to make.  People use JPEG in
> a different way than other formats.  They use it for large collections
> of large images.  Performance matters.  Users are going to turn to a
> native implementation.  Why rewrite the excellent and mature libjpeg?
>    Its hard to imagine us even doing better (in terms of stability,
> maturity and performance) than ImageIO or JAI, which are readily
> available.

I don't get this logic at all.

What's the actual point of sanselan? You implement TIFF reading etc. Is 
it _only_ types of TIFFs that ImageIO don't read, then? (The JAI stuff 
is really just extra plugins to that now)

Having a new, different implementation would be great. Preferably one 
that emphasized the entire "file to BufferedImage" and "BufferedImage to 
file" processes, not as with the "magic" in ImageIO, where you have too 
little understanding of how one end up with the final pixels, or the 
final bytes. All steps should be (able to be) explicit. (Read that as 
"magic ColorProfile apply is bad").

JAI does have a real Java implementation of pretty much all of the JPEG 
standards. One more such implementation developed under a really free 
license (Apache) would be great - the same reason for having Harmony, I 

I understand the work-amount argument. I believe I will never understand 
any other argument in this regard.


View raw message