it.geosolutions.imageioimpl.plugins.tiff
Class TIFFBaseJPEGCompressor

Object
  extended by TIFFCompressor
      extended by TIFFBaseJPEGCompressor
Direct Known Subclasses:
TIFFEXIFJPEGCompressor, TIFFJPEGCompressor

public abstract class TIFFBaseJPEGCompressor
extends TIFFCompressor

Base class for all possible forms of JPEG compression in TIFF.


Field Summary
protected static String IMAGE_METADATA_NAME
           
protected  JPEGImageWriteParam JPEGParam
          ImageWriteParam for JPEG writer.
protected  IIOMetadata JPEGStreamMetadata
          Stream metadata equivalent to a tables-only stream such as in the JPEGTables.
protected  ImageWriter JPEGWriter
          The JPEG writer.
protected static String STREAM_METADATA_NAME
           
protected  boolean writeAbbreviatedStream
          Whether to write abbreviated JPEG streams (default == false).
 
Fields inherited from class TIFFCompressor
compressionTagValue, compressionType, isCompressionLossless, metadata, stream, writer
 
Constructor Summary
TIFFBaseJPEGCompressor(String compressionType, int compressionTagValue, boolean isCompressionLossless, ImageWriteParam param)
           
 
Method Summary
 int encode(byte[] b, int off, int width, int height, int[] bitsPerSample, int scanlineStride)
          Encodes the supplied image data, writing to the currently set ImageOutputStream.
protected  void finalize()
           
protected  void initJPEGWriter(boolean supportsStreamMetadata, boolean supportsImageMetadata)
          Initializes the JPEGWriter and JPEGParam instance variables.
 
Methods inherited from class TIFFCompressor
getCompressionTagValue, getCompressionType, getMetadata, getStream, getWriter, isCompressionLossless, setMetadata, setStream, setWriter
 
Methods inherited from class Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STREAM_METADATA_NAME

protected static final String STREAM_METADATA_NAME
See Also:
Constant Field Values

IMAGE_METADATA_NAME

protected static final String IMAGE_METADATA_NAME
See Also:
Constant Field Values

JPEGParam

protected JPEGImageWriteParam JPEGParam
ImageWriteParam for JPEG writer. May be initialized by #initJPEGWriter().


JPEGWriter

protected ImageWriter JPEGWriter
The JPEG writer. May be initialized by #initJPEGWriter().


writeAbbreviatedStream

protected boolean writeAbbreviatedStream
Whether to write abbreviated JPEG streams (default == false). A subclass which sets this to true should also initialized JPEGStreamMetadata.


JPEGStreamMetadata

protected IIOMetadata JPEGStreamMetadata
Stream metadata equivalent to a tables-only stream such as in the JPEGTables. Default value is null. This should be set by any subclass which sets writeAbbreviatedStream to true.

Constructor Detail

TIFFBaseJPEGCompressor

public TIFFBaseJPEGCompressor(String compressionType,
                              int compressionTagValue,
                              boolean isCompressionLossless,
                              ImageWriteParam param)
Method Detail

initJPEGWriter

protected void initJPEGWriter(boolean supportsStreamMetadata,
                              boolean supportsImageMetadata)
Initializes the JPEGWriter and JPEGParam instance variables. This method must be called before encode() is invoked.

Parameters:
supportsStreamMetadata - Whether the JPEG writer must support JPEG native stream metadata, i.e., be capable of writing abbreviated streams.
supportsImageMetadata - Whether the JPEG writer must support JPEG native image metadata.

encode

public final int encode(byte[] b,
                        int off,
                        int width,
                        int height,
                        int[] bitsPerSample,
                        int scanlineStride)
                 throws IOException
Description copied from class: TIFFCompressor
Encodes the supplied image data, writing to the currently set ImageOutputStream.

Specified by:
encode in class TIFFCompressor
Parameters:
b - an array of bytes containing the packed but uncompressed image data.
off - the starting offset of the data to be written in the array b.
width - the width of the rectangle of pixels to be written.
height - the height of the rectangle of pixels to be written.
bitsPerSample - an array of ints indicting the number of bits used to represent each image sample within a pixel.
scanlineStride - the number of bytes separating each row of the input data.
Returns:
the number of bytes written.
Throws:
IOException - if the supplied data cannot be encoded by this TIFFCompressor, or if any I/O error occurs during writing.

finalize

protected void finalize()
                 throws Throwable
Overrides:
finalize in class Object
Throws:
Throwable


Copyright © 2006-2010 GeoSolutions. All Rights Reserved.