Class CCITTG4Encoder


  • public class CCITTG4Encoder
    extends java.lang.Object
    Encodes data in the CCITT G4 FAX format.
    • Constructor Summary

      Constructors 
      Constructor Description
      CCITTG4Encoder​(int width)
      Creates a new encoder.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] close()
      Closes the encoder and returns the encoded data.
      static byte[] compress​(byte[] data, int width, int height)
      Encodes a full image.
      private void Fax3Encode2DRow()  
      void fax4Encode​(byte[] data, int height)
      Encodes a number of lines.
      void fax4Encode​(byte[] data, int offset, int size)
      Encodes a number of lines.
      private void Fax4PostEncode()  
      private static int find0span​(byte[] bp, int offset, int bs, int be)  
      private static int find1span​(byte[] bp, int offset, int bs, int be)  
      private static int finddiff​(byte[] bp, int offset, int bs, int be, int color)  
      private static int finddiff2​(byte[] bp, int offset, int bs, int be, int color)  
      private int pixel​(byte[] data, int offset, int bit)  
      private void putBits​(int bits, int length)  
      private void putcode​(int[] table)  
      private void putspan​(int span, int[][] tab)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • rowbytes

        private int rowbytes
      • rowpixels

        private int rowpixels
      • bit

        private int bit
      • data

        private int data
      • refline

        private byte[] refline
      • dataBp

        private byte[] dataBp
      • offsetData

        private int offsetData
      • sizeData

        private int sizeData
      • zeroruns

        private static byte[] zeroruns
      • oneruns

        private static byte[] oneruns
      • TIFFFaxWhiteCodes

        private int[][] TIFFFaxWhiteCodes
      • TIFFFaxBlackCodes

        private int[][] TIFFFaxBlackCodes
      • horizcode

        private int[] horizcode
      • passcode

        private int[] passcode
      • vcodes

        private int[][] vcodes
      • msbmask

        private int[] msbmask
    • Constructor Detail

      • CCITTG4Encoder

        public CCITTG4Encoder​(int width)
        Creates a new encoder.
        Parameters:
        width - the line width
    • Method Detail

      • fax4Encode

        public void fax4Encode​(byte[] data,
                               int offset,
                               int size)
        Encodes a number of lines.
        Parameters:
        data - the data to be encoded
        offset - the offset into the data
        size - the size of the data to be encoded
      • compress

        public static byte[] compress​(byte[] data,
                                      int width,
                                      int height)
        Encodes a full image.
        Parameters:
        data - the data to encode
        width - the image width
        height - the image height
        Returns:
        the encoded image
      • fax4Encode

        public void fax4Encode​(byte[] data,
                               int height)
        Encodes a number of lines.
        Parameters:
        data - the data to be encoded
        height - the number of lines to encode
      • putcode

        private void putcode​(int[] table)
      • putspan

        private void putspan​(int span,
                             int[][] tab)
      • putBits

        private void putBits​(int bits,
                             int length)
      • Fax3Encode2DRow

        private void Fax3Encode2DRow()
      • Fax4PostEncode

        private void Fax4PostEncode()
      • close

        public byte[] close()
        Closes the encoder and returns the encoded data.
        Returns:
        the encoded data
      • pixel

        private int pixel​(byte[] data,
                          int offset,
                          int bit)
      • find1span

        private static int find1span​(byte[] bp,
                                     int offset,
                                     int bs,
                                     int be)
      • find0span

        private static int find0span​(byte[] bp,
                                     int offset,
                                     int bs,
                                     int be)
      • finddiff

        private static int finddiff​(byte[] bp,
                                    int offset,
                                    int bs,
                                    int be,
                                    int color)
      • finddiff2

        private static int finddiff2​(byte[] bp,
                                     int offset,
                                     int bs,
                                     int be,
                                     int color)