Dear interest list subscribers,

At long last the FCS versions of Java Advanced Imaging 1.1.2 and
JAI-Image I/O Tools 1.0 have been released. They are available via
the "Current Releases" link on the JAI home page

    http://java.sun.com/products/java-media/jai/index.html

The improvements made to these products since the release of their
respective Release Candidate (RC) versions are listed in the README
file included within the library download bundles of each product. For
your convenience the salient excerpts from these files are also
included in this message.

I would also like to point out the new "JAI Utilities" page and the
link thereto which appears on the JAI home page. The JAI Utilities page
collects pointers to various third party pages via which access may be
gained to products, software, and information of potential interest to
JAI users.

Thank you for your continued interest in Sun Microsystems, Inc., Java,
and in particular Java Advanced Imaging and the JAI-Image I/O Tools
package set.

Regards,

Brian

--- Improvements in Java Advanced Imaging 1.1.2-FCS ---

Changes From JAI 1.1.2-RC to JAI 1.1.2

The changes made to JAI between the release of version 1.1.2-RC and 1.1.2
are all bug fixes or minor enhancements. Most of these changes were made in
response to customer feedback primarily on the jai-interest mailing list.

Bugs Fixed in JAI 1.1.2

   * JPEG encoder throws ClassCastException.

     This was observed to occur when attempting to write a RenderedOp to a
     file.

   * TIFF decoder sets wrong transparency type for RGBA image.

     When the ExtraSamples field indicated unassociated alpha (not
     premultiplied) the decoder incorrectly set the Transparency to BITMASK
     instead of to TRANSLUCENT.

   * TIFF decoder throws ArrayIndexOutOfBoundsException for some CCITT T.6
     images.

   * WBMP decoder does not properly handle images above 512 bytes.

   * BMP encoder does not correctly handle the BI_BITFIELDS compression
     type.

     Corrected code to handle 555 configuration for 16-bit data and 888
     configuration for 32-bit data.

   * Repeated evaluation of JAI operation chain provokes exception.

     The problem was due to lack of appropriate thread synchronization in
     PlanarImage.getSinks().

   * The server thread in SerializableRenderedImage is non-daemon.

     The thread in question was changed to a daemon thread.
   * Performance degradation compared to JAI versions 1.1.1 and 1.1.1_01
     when processing floating point data and using J2SE 1.3*.

     This problem was found to be due to a lack of optimization in the
     implementation added to solve the problem described in the above
     section Real-valued DataBuffer Portability.

   * "Mosaic" operation should always use bounds provided in ImageLayout
     hint.

     If bounds (minX, minY, width, height) are provided via an ImageLayout
     in a RenderingHints object passed to the operation, then these should
     be used even if they do not intersect the union of the bounds of all
     sources of the operation.

   * "Mosaic" operation native implementation crashes VM when using
     MosaicDescriptor.MOSAIC_TYPE_BLEND on Solaris.

   * RuntimeException: "Connection reset by peer: JVM_recv in socket input"
     observed when using remote imaging.

     This problem was determined to be a socket communication timing issue
     in SerializableRenderedImage when socket connections are used to
     transfer image data: the client was closing its socket connection
     before the server finished reading the close message.

   * The values of KernelJAI.GRADIENT_MASK_SOBEL_HORIZONTAL and
     KernelJAI.GRADIENT_MASK_SOBEL_VERTICAL were interchanged.

   * "Subsampleaverage" operation pure java implementation crops image
     leaving a black area at the right.

Enhancements Added in JAI 1.1.2

   * PNG codec should support ICC profiles and better handle color metadata.

     Several modifications were made to classes in the package
     com.sun.media.jai.codec:
        o ImageCodec

          Added version of createComponentColorModel() which accepts a
          ColorSpace parameter for the ColorModel to be created.

        o PNGDecodeParam

          Changed default behavior not to perform gamma correction, i.e.,
          the default of the value returned by getPerformGammaCorrection()
          is false.

        o PNGEncodeParam

          Added methods getICCProfileName() and setICCProfileName().

--- Improvements in JAI-Image I/O Tools 1.0-FCS ---

  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

    * Changed the BMP, JPEG 2000, and PNM plug-ins to use the node value
      in the metadata tree as well as the user object. Formerly only the
      user object had been used.
    * Modified README (this file) to mention correct handling of
      mediaLib jar file in the JRE installation section.
    * Enhanced writer plug-in verification that the image passed to
      |write()| can actually be written so as to avoid subsequent
      unexpected exceptions.


      BMP

    * Added a constructor which accepts a |Locale| parameter.
    * Fixed bug in writer plug-in which caused an
      |IndexOutOfBoundException| when writing |BufferedImage|s of type
      |TYPE_3BYTE_BGR|.
    * Fixed bug in reader plug-in which caused an |ArithmeticException|
      when reading a BMP image with a zero-length palette.
    * Fixed bug in reader plug-in which caused an
      |ArrayIndexOutOfBoundsException| when reading the image g04rle.bmp
      in the BMP test suite.
    * Fixed problem in reader plug-in which caused a
      |NullPointerException| when retrieving standard image metadata
      "javax_imageio_1.0".
    * Fixed bug in writer plug-in which caused an incorrect output to be
      produced when source subsampling was requested via an
      |ImageWriteParam|.
    * Added support for writing images using the BI_PNG and BI_JPEG
      compression types.
    * Fixed problems encountered writing images using the BI_BITFIELDS
      compression type. Supported image data for this compression type
      now includes 555 for 16-bit data and 888 for 32-bit data.


      JPEG

    * Modified the JPEG reader plug-in service provider interface to
      return |false| from its |canDecodeInput()| method for progressive
      JPEG images. /If the JPEG reader is not obtained on the basis of
      the supplied input source it will throw an exception if supplied
      with a progressive JPEG image./
    * Fixed customer-reported problems with the lossless JPEG
      implementation for 8-bit images.
    * Fixed bugs encountered reading lossless JPEG images with bit
      depths 12 or greater.
    * Fixed bugs encountered reading JPEG-LS images with bit depths 12
      or greater.
    * Further clarified bit depths supported in package overview javadoc.
    * Enhanced reader and writer plug-ins to retrieve and set the bit
      depth and in particular to set the |ColorModel| component sizes on
      reading to the correct value(s).


      JPEG 2000

    * Separated the native and Java implementations of both the reader
      and writer plug-ins into separate plug-ins for both reading and
      writing, i.e., there are now four plug-ins with a native reader
      and writer and a Java reader and writer.
    * Fixed reader plug-in problem which caused |StackException|s when
      reading constant-valued images.
    * Fixed reader plug-in so as not to throw a |NullPointerException|
      when ChannelDefinitionBox is not defined in the code stream.
    * To the native implementation added code stream-only writing
      capability.
    * Fixed problem in the native implementation which caused different
      progression type settings to produce identical files.


      PNM

    * Fixed problem in reader plug-in which caused an
      |IllegalStateException| when retrieving standard image metadata
      "javax_imageio_1.0".


      Raw

    * Enhanced reader plug-in to better handle data sources which do not
      have an intrinsic or "natural" color space representation. The
      constructor which accepts a |SampleModel| in lieu of an
      |ImageTypeSpecifier| was added for this purpose.


      TIFF

    * Fixed some problems with the pluggable compression architecture
      which were reported with respect to a pluggable LZW compressor.

      These changes were made to |TIFFCompressor|:

          o Added fields |compressionTagValue|, |compressionType|, and
            |isCompressionLossless|.
          o Added accessor methods for the new fields.
          o Added a constructor which allows setting the values of the
            new fields.

      |TIFFImageWriteParam| was modified such that its
      |setTIFFCompressor()| method affects which compression types are
      available. Please refer to the documentation of that method for
      details on using a pluggable compressor.

      The foregoing changes allow a compressor to be plugged in either
      to support unknown compression types or to override the compressor
      supplied for known compression types.

    * Added |GeoTIFFTagSet| for GeoTIFF tags and included this in the
      sets used to initialize |TIFFImageReadParam|.
    * Added erroneously omitted support in reader plug-in for |DEFLATE|
      compression type.
    * Fixed reader plug-in problems encountered in reading signed short
      integer (16-bit) images.
    * Fixed reader plug-in bugs encountered reading 32-bit integer and
      floating point images.
    * Fixed native CCITT decoder problems with CCITT T.4 2D-mode and
      EOL-padding options.
    * Fixed error which prevented emission of standard image metadata
      "javax_imageio_1.0".
    * Modified reader plug-in to throw an |IIOException| instead of
      other exceptions such as |RuntimeException| and
      |NullPointerException| which were observed for some TIFF test images.
    * Fixed bugs which prevented LSB-to-MSB fill order (FillOrder tag
      value 2) from being written correctly.
    * Significantly improved performance of both reading and writing.
    * Added support for reading old-style JPEG compressed data for the
      baseline sequential process.
    * Corrected JPEG compressed output to set tile sizes to 8*MCU as
      specified in TIFF Technical Note #2.
    * Corrected missing and erroneous tags and associated values in
      |BaselineTIFFTagSet| and |FaxTIFFTagSet|.
    * Added |getTagNumbers()| and |getTagNames()| to |TIFFTagSet|.
    * Added ability to set |DEFLATE| and JPEG compression levels using
      |setCompressionQuality()|. The |DEFLATE| level is
      |8*getCompressionQuality()+1|. The JPEG quality is
      |100*getCompressionQuality()|.
    * Fixed bug which caused an |ArrayIndexOutOfBoundsException| to be
      thrown by the Java implementation of the T.6 decompressor for
      certain images.
    * Added code to handle horizontal differencing predictors in LZW
      decompression.
    * Improved javadoc and package documentation for TIFF.


      WBMP

    * Fixed bug which caused cropped images (generated by the Java^TM
      Advanced Imaging "Crop" operation) to be written incorrectly.


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.

==========================================================================To 
unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to