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[]additionalMakeupprivate intbitPointerprivate intbitsPerScanline(package private) static short[]blackprivate byte[]bufferprivate intbytePointerprivate intchangingElemSizeprotected intcompressionprivate int[]currChangingElemsprivate byte[]dataprotected intfillBitsEOL padding flag: 1 if fill bits have been added before an EOL such that the EOL ends on a byte boundary, 0 otherwise.protected intfillOrderThe logical order of bits within a byte.(package private) static byte[]flipTableprivate inth(package private) static short[]initBlackprivate intlastChangingElementprivate intlineBitNumprotected intoneDCoding dimensionality: 1 for 2-dimensional, 0 for 1-dimensional.private int[]prevChangingElemsprivate intt4Optionsprivate intt6Options(package private) static int[]table1(package private) static int[]table2(package private) static short[]twoBitBlack(package private) static byte[]twoDCodesprotected intuncompressedModeUncompressed mode flag: 1 if uncompressed, 0 if not.private intw(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 voidbeginDecoding()Invokes the superclass method and then sets instance variables on the basis of the metadata set on this decompressor.private intdecodeBlackCodeWord()voiddecodeNextScanline(int lineIndex)voiddecodeRaw(byte[] b, int dstOffset, int pixelBitStride, int scanlineStride)Decodes the source data into the providedbytearrayb, starting at the offset given bydstOffset.voiddecodeRLE()voiddecodeT4()voiddecodeT6()private intdecodeWhiteCodeWord()private intfindNextLine()private voidgetNextChangingElement(int a0, boolean isWhite, int[] ret)private intnextLesserThan8Bits(int bitsToGet)private intnextNBits(int bitsToGet)private voidsetToBlack(int bitNum, int numBits)private voidupdatePointer(int bitsToMoveBack)private voidwarning(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:
beginDecodingin classTIFFDecompressor
-
decodeRaw
public void decodeRaw(byte[] b, int dstOffset, int pixelBitStride, int scanlineStride) throws java.io.IOExceptionDescription copied from class:TIFFDecompressorDecodes the source data into the providedbytearrayb, starting at the offset given bydstOffset. Each pixel occupiesbitsPerPixelbits, with no padding between pixels. Scanlines are separated byscanlineStridebytes.- Specified by:
decodeRawin classTIFFDecompressor- Parameters:
b- abytearray to be written.dstOffset- the starting offset inbto be written.pixelBitStride- the number of bits for each pixel.scanlineStride- the number ofbytes 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.IIOExceptionjava.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)
-
-