net.sourceforge.jiu.codecs.tiff
Class TIFFDecoderModifiedHuffman
public class TIFFDecoderModifiedHuffman
A TIFF decoder for files compresseed with the Modified Huffman method
(also known as CCITT 1D Modified Huffman Run Length Encoding).
This compression algorithm has the value 2
in the compression tag of an image file directory.
Only bilevel images can be encoded with that method.
bottomRow , bufferIndex , codec , currentRow , ifd , leftColumn , processedTileRows , rightColumn , rowBuffer , tileIndex , topRow , totalTileRows |
void | decode() - Decode data from input and write the decompressed pixel data to
the image associated with this decoder.
|
private int | decodeBlackRun()
|
private void | decodeRow(byte[] row)
|
private int | decodeRun(int[][][] codes, int minCodeSize)
|
private int | decodeWhiteRun()
|
Integer[] | getCompressionTypes() - Returns an array with Integer values of all compression types supported by
this decoder (see the COMPRESSION_xyz constants in
TIFFConstants .
|
void | initialize() - Check if all necessary parameters have been given to this decoder
and initialize several internal fields from them.
|
private int | readBit()
|
private int | readBits(int number)
|
private void | reset()
|
decode , getBytesPerRow , getCodec , getCompressionTypes , getImageFileDirectory , getInput , getTileIndex , getX1 , getX2 , getY1 , getY2 , initialize , putBytes , setCodec , setImageFileDirectory , setTileIndex , storeRow |
bitBuffer
private int bitBuffer
numBufferedBits
private int numBufferedBits
decode
public void decode()
throws InvalidFileStructureException,
IOException
Decode data from input and write the decompressed pixel data to
the image associated with this decoder.
Child classes must override this method to implement the decoding
for a particular compression type.
- decode in interface TIFFDecoder
getCompressionTypes
public Integer[] getCompressionTypes()
Returns an array with Integer values of all compression types supported by
this decoder (see the COMPRESSION_xyz constants in
TIFFConstants
.
Normally, this is only one value, but some compression types got assigned more than one constant
(e.g. deflated).
Also, a decoder could be capable of dealing with more than one type of compression
if the compression types are similar enough to justify that.
However, typically a decoder can only deal with one type of compression.
- getCompressionTypes in interface TIFFDecoder
- array with Integer objects of all TIFF compression constants supported by this decoder
initialize
public void initialize()
throws IOException,
MissingParameterException
Check if all necessary parameters have been given to this decoder
and initialize several internal fields from them.
Required parameters are a TIFFCodec object, a TIFFImageFileDirectory object and
a tile index.
- initialize in interface TIFFDecoder
readBit
private int readBit()
throws IOException
readBits
private int readBits(int number)
throws IOException
reset
private void reset()