Class TIFFFaxDecompressor

    • 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
    • Constructor Detail

      • TIFFFaxDecompressor

        public TIFFFaxDecompressor()
    • 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 class TIFFDecompressor
      • 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 provided byte array b, starting at the offset given by dstOffset. Each pixel occupies bitsPerPixel bits, with no padding between pixels. Scanlines are separated by scanlineStride bytes.
        Specified by:
        decodeRaw in class TIFFDecompressor
        Parameters:
        b - a byte array to be written.
        dstOffset - the starting offset in b to be written.
        pixelBitStride - the number of bits for each pixel.
        scanlineStride - the number of bytes to advance between that starting pixels of each scanline.
        Throws:
        java.io.IOException - if an error occurs reading from the source ImageInputStream.
      • 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)