Sun Java Solaris Communities My SDN Account Join SDN
 

Java[tm] Advanced Imaging API 1.1.1 Known Bugs/Issues

 

These are the known bugs and enhancement requests for the current JavaTM Advanced Imaging 1.1.1 release. They are not in any priority order and we do not promise that all will get fixed before the next release. If a bug listed below is affecting your work with the JavaTM Advanced Imaging API, please let us know so we may assign it the proper priority.

To report a bug that is not on this list, please see the Bug Report instructions.

JavaTM Advanced Imaging API Reference Port Bugs

These bugs are due to code within JAI itself.

Core Bugs

  • InterpolationBilinear may cause overflow for integer data type.
Operator Bugs

  • "SubsampleBinaryToGray" gives incorrect results if xScale*yScale < 1.0/256.0. This is due to the required number of gray levels overflowing the range of the destination data type which is at present specified to be byte.
Remote Imaging Bugs
  • The "Composite" operation does not work in renderable mode in remote imaging.
Codec Bugs

  • The BMP, JPEG, and TIFF encoders cannot encode BufferedImages of type BufferedImage.TYPE_INT_RGB. This is due to the encoder interpreting the data as 32 bits per sample. A workaround would be to re-format the image to have 8 bits per sample (for example with a ComponentSampleModel) before encoding. The "format" operator may be used for this purpose.
  • The JAI JPEG decoder cannot process abbreviated streams. The JAI JPEG codec currently supports creating abbreviated streams, both tables-only and image-only, but there is no way to read these streams back in. The code always wants to create an image from the stream, even when its a tables-only stream. The workaround is to use the com.sun.image.codec.jpeg JPEG decoder directly.
  • The FlashPix decoder has been observed to throw an ArrayIndexOutOfBoundsException for certain input images.
  • The BMP decoder has been observed to throw an ArrayIndexOutOfBoundsException for certain input images which are compressed using RLE4 compression.

JavaTM 2D Bugs Affecting the JavaTM Advanced Imaging API

These are known JavaTM 2D bugs which may cause problems using JAI or be manifested via JAI.

  • The isCompatibleSampleModel() method in java.awt.image.ComponentColorModel manifests different bugs in different versions of Sun Microsystems' J2SE. In J2SE 1.2 it returns false if the SampleModel is a ComponentSampleModel which is the opposite of what it should do. This renders J2SE 1.2* unusable with JAI 1.1 or greater. In J2SE 1.3, it does not verify that the number of SampleModel bands matches the number of ColorModel components. This latter problem has been fixed in the beta versions of J2SE 1.4.

Additional Problems/Limitations of Note

These are items which are not bugs per se. Some of this information is duplicated from the README page.

Codecs

  • TIFF Codec

    Java Advanced Imaging 1.1.1 TIFF codec supports a large portion of the TIFF specification including baseline TIFF and several extensions. The implementation does however have the following limitations:

    • TIFF decoder cannot read images stored in Planar format (PlanarConfiguration tag has value 2).
    • The TIFF encoder does not support LZW compression for the usual reason.
  • BMP Codec

    • Only the default RGB color space is supported.
    • Alpha channels are not supported by the BMP encoder.
    • The BMP encoder supports only version 3, i.e., does not support versions 2 or 4. This is despite the fact that the desired version number may be set via BMPEncodeParam.setVersion() and that BMPEncodeParam defines the constants VERSION_2 and VERSION_4.

Applets

  • Solaris

    Automatic installation does not work with JavaTM Plug-In versions prior to 1.3.1.