Package net.sourceforge.jiu.codecs.tiff
Class TIFFDecoderModifiedHuffman
java.lang.Object
net.sourceforge.jiu.codecs.tiff.TIFFDecoder
net.sourceforge.jiu.codecs.tiff.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.- Since:
- 0.9.0
- Author:
- Marco Schmidt
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
decode()
Decode data from input and write the decompressed pixel data to the image associated with this decoder.private int
private void
decodeRow
(byte[] row) private int
decodeRun
(int[][][] codes, int minCodeSize) private int
Integer[]
Returns an array with Integer values of all compression types supported by this decoder (see the COMPRESSION_xyz constants inTIFFConstants
.void
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()
Methods inherited from class net.sourceforge.jiu.codecs.tiff.TIFFDecoder
getBytesPerRow, getCodec, getImageFileDirectory, getInput, getTileIndex, getX1, getX2, getY1, getY2, putBytes, setCodec, setImageFileDirectory, setTileIndex
-
Field Details
-
in
-
bitBuffer
private int bitBuffer -
numBufferedBits
private int numBufferedBits
-
-
Constructor Details
-
TIFFDecoderModifiedHuffman
public TIFFDecoderModifiedHuffman()
-
-
Method Details
-
decode
Description copied from class:TIFFDecoder
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.- Specified by:
decode
in classTIFFDecoder
- Throws:
InvalidFileStructureException
IOException
-
decodeBlackRun
-
decodeRow
-
decodeRun
private int decodeRun(int[][][] codes, int minCodeSize) throws InvalidFileStructureException, IOException -
decodeWhiteRun
-
getCompressionTypes
Description copied from class:TIFFDecoder
Returns an array with Integer values of all compression types supported by this decoder (see the COMPRESSION_xyz constants inTIFFConstants
. 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.- Specified by:
getCompressionTypes
in classTIFFDecoder
- Returns:
- array with Integer objects of all TIFF compression constants supported by this decoder
-
initialize
Description copied from class:TIFFDecoder
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.- Overrides:
initialize
in classTIFFDecoder
- Throws:
IOException
MissingParameterException
-
readBit
- Throws:
IOException
-
readBits
- Throws:
IOException
-
reset
private void reset()
-