One thing I’ve noticed: complex images aren’t very well supported by the open-source JPEG2000 decoders out
For example, JPEG 2000 supports full transparency in images (like PNG, unlike GIF). However, I haven’t seen any published test files with transparency. I created one myself with the (Kakadu-based?) JPEG 2000 plugin to Adobe Photoshop. If you try getting JasPer to view an image with transparency (with four components), it throws a run-time assertion. Not good. OpenJPEG fairs slightly better, but still doesn’t render it correctly.
In the JPEG 2000 Conformance Files package, there are nine JPEG 2000 images, along with nine corresponding TIFF-format reference renderings. JasPer, being one of the reference decoders, does pretty well; OpenJPEG does not quite so well.
|Image Number||Description||JasPer (jiv)||JasPer (render-jp2)||OpenJPEG|
|1||3 component, 8 bits per component, sRGB colorspace||Y||Y||P|
|2||3 component, 8 bits per component, YCC colorspace||Y||N||P|
|3||3 component, 8 bits per component, YCC colorspace||Y||N||P|
|4||1 component, 8 bits per component, grayscale||Y||Y||Y|
|5||3 component, 8 bits per component, restricted ICC profile, with unknown rreq box||Y||P||N|
|6||1 component, 12 bits per component, grayscale||Y||Y||Y|
|7||3 component, 16 bits per component, restricted ICC profile||Y||crash!||N|
|8||1 component, 8 bits per component, restricted ICC profile||Y||Y||Y|
|9||1 component, 8 bits per component, palette||Y||Y||P|
Y – renders correctly
P – renders partially correctly
N – does not render at all
Tests were done with JasPer 1.900.1 and OpenJPEG 1.2.