Class TIFFFaxDecompressor
- java.lang.Object
-
- com.github.jaiimageio.plugins.tiff.TIFFDecompressor
-
- com.github.jaiimageio.impl.plugins.tiff.TIFFFaxDecompressor
-
public class TIFFFaxDecompressor extends TIFFDecompressor
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static short[]
additionalMakeup
private int
bitPointer
private int
bitsPerScanline
(package private) static short[]
black
private byte[]
buffer
private int
bytePointer
private int
changingElemSize
protected int
compression
private int[]
currChangingElems
private byte[]
data
protected int
fillBits
EOL padding flag: 1 if fill bits have been added before an EOL such that the EOL ends on a byte boundary, 0 otherwise.protected int
fillOrder
The logical order of bits within a byte.(package private) static byte[]
flipTable
private int
h
(package private) static short[]
initBlack
private int
lastChangingElement
private int
lineBitNum
protected int
oneD
Coding dimensionality: 1 for 2-dimensional, 0 for 1-dimensional.private int[]
prevChangingElems
private int
t4Options
private int
t6Options
(package private) static int[]
table1
(package private) static int[]
table2
(package private) static short[]
twoBitBlack
(package private) static byte[]
twoDCodes
protected int
uncompressedMode
Uncompressed mode flag: 1 if uncompressed, 0 if not.private int
w
(package private) static short[]
white
-
Fields inherited from class com.github.jaiimageio.plugins.tiff.TIFFDecompressor
activeSrcHeight, activeSrcMinX, activeSrcMinY, activeSrcWidth, bitsPerSample, byteCount, colorConverter, colorMap, destinationBands, dstHeight, dstMinX, dstMinY, dstWidth, dstXOffset, dstYOffset, extraSamples, image, metadata, offset, photometricInterpretation, planar, rawImage, reader, sampleFormat, samplesPerPixel, sourceBands, sourceXOffset, sourceYOffset, srcHeight, srcMinX, srcMinY, srcWidth, stream, subsampleX, subsampleY
-
-
Constructor Summary
Constructors Constructor Description TIFFFaxDecompressor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beginDecoding()
Invokes the superclass method and then sets instance variables on the basis of the metadata set on this decompressor.private int
decodeBlackCodeWord()
void
decodeNextScanline(int lineIndex)
void
decodeRaw(byte[] b, int dstOffset, int pixelBitStride, int scanlineStride)
Decodes the source data into the providedbyte
arrayb
, starting at the offset given bydstOffset
.void
decodeRLE()
void
decodeT4()
void
decodeT6()
private int
decodeWhiteCodeWord()
private int
findNextLine()
private void
getNextChangingElement(int a0, boolean isWhite, int[] ret)
private int
nextLesserThan8Bits(int bitsToGet)
private int
nextNBits(int bitsToGet)
private void
setToBlack(int bitNum, int numBits)
private void
updatePointer(int bitsToMoveBack)
private void
warning(java.lang.String msg)
-
Methods inherited from class com.github.jaiimageio.plugins.tiff.TIFFDecompressor
createRawImage, decode, decodeRaw, decodeRaw, decodeRaw, getRawImageType, getRawImageTypeSpecifier, setActiveSrcHeight, setActiveSrcMinX, setActiveSrcMinY, setActiveSrcWidth, setBitsPerSample, setByteCount, setColorConverter, setColorMap, setCompression, setDestinationBands, setDstHeight, setDstMinX, setDstMinY, setDstWidth, setDstXOffset, setDstYOffset, setExtraSamples, setImage, setMetadata, setOffset, setPhotometricInterpretation, setPlanar, setReader, setSampleFormat, setSamplesPerPixel, setSourceBands, setSourceXOffset, setSourceYOffset, setSrcHeight, setSrcMinX, setSrcMinY, setSrcWidth, setStream, setSubsampleX, setSubsampleY
-
-
-
-
Field Detail
-
fillOrder
protected int fillOrder
The logical order of bits within a byte.1 = MSB-to-LSB 2 = LSB-to-MSB (flipped)
-
compression
protected int compression
-
t4Options
private int t4Options
-
t6Options
private int t6Options
-
uncompressedMode
protected int uncompressedMode
Uncompressed mode flag: 1 if uncompressed, 0 if not.
-
fillBits
protected int fillBits
EOL padding flag: 1 if fill bits have been added before an EOL such that the EOL ends on a byte boundary, 0 otherwise.
-
oneD
protected int oneD
Coding dimensionality: 1 for 2-dimensional, 0 for 1-dimensional.
-
data
private byte[] data
-
bitPointer
private int bitPointer
-
bytePointer
private int bytePointer
-
buffer
private byte[] buffer
-
w
private int w
-
h
private int h
-
bitsPerScanline
private int bitsPerScanline
-
lineBitNum
private int lineBitNum
-
changingElemSize
private int changingElemSize
-
prevChangingElems
private int[] prevChangingElems
-
currChangingElems
private int[] currChangingElems
-
lastChangingElement
private int lastChangingElement
-
table1
static int[] table1
-
table2
static int[] table2
-
flipTable
static byte[] flipTable
-
white
static short[] white
-
additionalMakeup
static short[] additionalMakeup
-
initBlack
static short[] initBlack
-
twoBitBlack
static short[] twoBitBlack
-
black
static short[] black
-
twoDCodes
static byte[] twoDCodes
-
-
Method Detail
-
beginDecoding
public void beginDecoding()
Invokes the superclass method and then sets instance variables on the basis of the metadata set on this decompressor.- Overrides:
beginDecoding
in classTIFFDecompressor
-
decodeRaw
public void decodeRaw(byte[] b, int dstOffset, int pixelBitStride, int scanlineStride) throws java.io.IOException
Description copied from class:TIFFDecompressor
Decodes the source data into the providedbyte
arrayb
, starting at the offset given bydstOffset
. Each pixel occupiesbitsPerPixel
bits, with no padding between pixels. Scanlines are separated byscanlineStride
byte
s.- Specified by:
decodeRaw
in classTIFFDecompressor
- Parameters:
b
- abyte
array to be written.dstOffset
- the starting offset inb
to be written.pixelBitStride
- the number of bits for each pixel.scanlineStride
- the number ofbyte
s to advance between that starting pixels of each scanline.- Throws:
java.io.IOException
- if an error occurs reading from the sourceImageInputStream
.
-
decodeRLE
public void decodeRLE() throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
decodeNextScanline
public void decodeNextScanline(int lineIndex) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
decodeT4
public void decodeT4() throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
decodeT6
public void decodeT6() throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
setToBlack
private void setToBlack(int bitNum, int numBits)
-
decodeWhiteCodeWord
private int decodeWhiteCodeWord() throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
decodeBlackCodeWord
private int decodeBlackCodeWord() throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
findNextLine
private int findNextLine() throws javax.imageio.IIOException, java.io.EOFException
- Throws:
javax.imageio.IIOException
java.io.EOFException
-
getNextChangingElement
private void getNextChangingElement(int a0, boolean isWhite, int[] ret) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
nextNBits
private int nextNBits(int bitsToGet) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
nextLesserThan8Bits
private int nextLesserThan8Bits(int bitsToGet) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
updatePointer
private void updatePointer(int bitsToMoveBack)
-
warning
private void warning(java.lang.String msg)
-
-