JavaTM Advanced Imaging Image I/O Tools 1.0 Notes

Introduction

JAI Image I/O Tools provides reader, writer, and stream plug-ins for the JavaTM Image I/O Framework and Image I/O-based read and write operations for JavaTM Advanced Imaging. Reader-writer plug-ins are supplied for the BMP, JPEG, JPEG 2000, PNG, PNM, Raw, TIFF, and WBMP image formats. The supplied streams and associated service providers use the New I/O APIs. Please refer to the JAI Image I/O Tools API documentation for more information.

Limitations

Some reader/writer plug-ins have known limitations which are described in this section.

BMP

Can decode bmp images with version 3-5. Can encode only version 3 images.

JPEG

JPEG 2000

Supports bilevel images, multi-band images with a type of byte/ushort/short (including gray-scale, RGB, RGBA, and GA images), and color-indexed image with 256 colors.

PNG

Neither the reader not writer plug-in supports metadata: the J2SE core PNG plug-ins should be used for this purpose.

PNM

Supports bilevel, color-indexed (writer only), grayscale, and RGB images.

Raw

Supports any data defined by ComponentSampleModel, SinglePixelPackedSampleModel and bilevel MultiPixelPackedSampleModel.

TIFF

Changes from 1.0-beta to 1.0-rc

This section describes changes which have been to JAI Image I/O Tools since the release of version 1.0-beta.

Enhancements

Generic

Added upper case format name strings to all reader and writer plug-in service provider interfaces (SPIs).

Streams

Added SegmentedImageInputStream class and supporting class StreamSegment and interface StreamSegmentMapper.

JPEG

JPEG 2000

TIFF

Fixes

BMP

Fixed bug which cause the red and blue channels to be interchanged in the image written by the writer plug-in.

JPEG

Fixed problem with native library crashing on Linux for 12-bit lossy JPEG.

JPEG 2000

Fixed bug which caused a NullPointerException in the reader plug-in when the ImageReadParam was null.

PNG

Raw

TIFF

Changes from 1.0-rc to 1.0

This section describes changes which have been to JAI Image I/O Tools since the release of version 1.0-rc.

Enhancements

Generic

BMP

JPEG

JPEG 2000

PNM

Raw

TIFF

WBMP

Installation

JavaTM Advanced Imaging Image I/O Tools is provided as a bundle containing jar files and native libraries. No installation script is provided so the user must manually place the jar files and native libraries in the appropriate locations and set executable and library search paths as needed.

System Requirements

Platform Requirements

The platform requirements for JAI Image I/O Tools are as follows:

JAI Image I/O Tools Bundles
Platform Requirement
All JavaTM 2 platform, v1.4.0 or later
Solaris Solaris operating environment 2.6 or later
Linux Red Hat 6.2 or subsequent compatible version
Windows Windows 95, 98, ME, NT 4.0, 2000 or XP

JavaTM Advanced Imaging

JavaTM Advanced Imaging is not required for the image streams and reader-writer plug-ins to be used. It is of course required if the "ImageRead" and "ImageWrite" operations are to be used. In this case the minimum version is JAI 1.1.1_01.

Native Libraries

If use of native code is disallowed then the JPEG and PNG reader-writer plug-ins will not be available nor will the native implementation of the JPEG 2000 reader-writer plug-in; the JavaTM implementation of the JPEG 2000 plug-in will however be available. The respective plug-ins will detect that native libraries cannot be used and respond accordingly.

Download Bundles

The bundles supplied for the various platforms are as follows:

JAI Image I/O Tools Bundles
Platform Bundle Name
Solaris-SPARC jai_imageio-1_0-lib-solaris-sparc.tar.gz
Solaris-x86 jai_imageio-1_0-lib-solaris-i586.tar.gz
Linux jai_imageio-1_0-lib-linux-i586.tar.gz
Windows jai_imageio-1_0-lib-windows-i586.zip

A separate bundle containing the JavaTM Advanced Imaging Image I/O Tools API Documentation is also available.

Common Bundle Contents

The following files are contained in the bundles for all platforms:

JAI Image I/O Tools Common Files
File Contents
COPYRIGHT-jai_imageio.txt Copyright notice
LICENSE-jai_imageio.txt License agreement
README-jai_imageio.html Release information and installation instructions (this file)
jai_imageio.jar JAI Image I/O Tools classes
clibwrapper_jiio.jar codecLib wrapper classes
mlibwrapper_jai.jar mediaLib wrapper classes

The remaining contents of each bundle aside from the foregoing jar files and this installation notes file consists of native code.

Native Bundle Contents

Solaris-SPARC

The bundle contains the following native libraries in the directory structure shown:
    libclib_jiio.so
    cpu/sparcv9+vis/sparcv9/libclib_jiio.so
    cpu/sparcv9+vis/libclib_jiio.so
    cpu/sparcv9+vis2/libclib_jiio.so
    cpu/sparcv9+vis2/sparcv9/libclib_jiio.so
    sparcv9/libclib_jiio.so
    

Solaris-x86 and Linux

The bundle contains the single native library libclib_jiio.so.

Windows

The bundle contains the single native library clib_jiio.dll.

Installation

The installation procedure depends on whether the location is within a JRE or at an arbitrary location.

Installation at an Arbitrary Location

All Platforms

All
jar files must be added to the CLASSPATH environment variable. If JavaTM Advanced Imaging 1.1.1_01 or higher is installed then mlibwrapper_jai.jar must not be added to the CLASSPATH as it is a sealed jar file and will be obtained from the JAI CLASSPATH installation.

Unix Platforms

The directory containing the native library or library hierarchy should be added to the LD_LIBRARY_PATH environment variable. For the Solaris-SPARC platform it is imperative that the correct native library directory structure be maintained.

Windows

The directory containing the native library should be added to the PATH environment variable.

Installation in a JRE

The package may be installed in a JRE or in a JRE within a JDK.

All Platforms

If JavaTM Advanced Imaging 1.1.1_01 or higher is installed then mlibwrapper_jai.jar must not be placed in the JRE as described below because it is a sealed jar file and will be obtained from the JAI JDK/JRE installation.

Unix Platforms

All jar files must be placed in jre/lib/ext. The native library or library hierarchy must be placed in jre/lib/sparc on Solaris-SPARC or jre/lib/i386 on Solaris-x86 or Linux. Again, for the Solaris-SPARC platform it is imperative that the correct native library directory structure be maintained.

Windows

The jar file must be placed in jre\lib\ext and the native library in jre\bin.
Please send comments to jai-comments@sun.com

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Portions may be derived from Berkeley BSD systems, licensed from U. of CA. Sun, Sun Microsystems, the Sun logo, Java, and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Federal Acquisitions: Commercial Software - Government Users Subject to Standard License Terms and Conditions.

Copyright 2002 Sun Microsystems, Inc. Tous droits réservés. Distribué par des licences qui en restreignent l'utilisation. Le logiciel détenu par des tiers, et qui comprend la technologie relative aux polices de caractères, est protégé par un copyright et licencié par des fournisseurs de Sun. Des parties de ce produit pourront être dérivées des systèmes Berkeley BSD licenciés par l'Université de Californie. Sun, Sun Microsystems, le logo Sun, Java, et Solaris sont des marques de fabrique ou des marques déposées de Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays.

Last modified: Tue Jul 8 14:47:33 PDT 2003