Java Advanced Imaging ImageIO Tools

From MircWiki
Jump to navigation Jump to search

This article captures current information about the Java Advanced Imaging ImageIO Tools to document exactly what files are involved.

The ImageIO Tools consist of two jar files plus one or more files which are in native code for the platform.

1 JAR Files

File nameDescription
jai_imageio.jarJAR file containing core JAI Image I/O class files.
clibwrapper_jiio.jar.codecLib JNI interfaces.

2 Native Libraries

File nameDescriptionPlatformTypical Location
libclib_jiio.somediaLib JNI shared librariesLinuxjre/i386
clib_jiio.dllcodecLib JNI shared librariesWindowsjre/lib/ext
clib_jiio_sse2.dllmediaLib JNI DLL librariesWindowsjre/lib/ext
clib_jiio_util.dllUtilitiesWindowsjre/lib/ext

3 Notes

  1. The jar files are typically located in the Java jre/lib/ext directory.
  2. The dll files are typically located in the Java jre/bin directory on a Windows system.
  3. The so file is typically located in the Java jre/i386 directory on an Intel Linux system.
  4. All the binary builds are available on https://jai-imageio.dev.java.net/binary-builds.html
  5. The jar files are required.
  6. The dll/so files provide acceleration for certain image types.
  7. The dll/so files may also provide support for additional image types.
  8. You can force the ImageIO Tools not to use the native libraries by starting a program with this switch:
-Dcom.sun.media.imageio.disableCodecLib=true

At one time, the following was true (according to jgarnet):

If use of native code is disallowed then the JPEG and PNG reader-writer plug-ins and some accelerations used for bilevel TIFF compression will not be available nor will the native implementation of the JPEG 2000 reader-writer plug-in; the Java 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.