Class CBZip2OutputStream

java.lang.Object
java.io.OutputStream
gov.nih.mipav.model.file.CBZip2OutputStream
All Implemented Interfaces:
BZip2Constants, Closeable, Flushable, AutoCloseable

public class CBZip2OutputStream extends OutputStream implements BZip2Constants
An output stream that compresses into the BZip2 format (without the file header chars) into another stream.
Author:
Keiron Liddle TODO: Update to BZip2 1.0.1
  • Field Details

    • SETMASK

      protected static final int SETMASK
      See Also:
    • CLEARMASK

      protected static final int CLEARMASK
      See Also:
    • GREATER_ICOST

      protected static final int GREATER_ICOST
      See Also:
    • LESSER_ICOST

      protected static final int LESSER_ICOST
      See Also:
    • SMALL_THRESH

      protected static final int SMALL_THRESH
      See Also:
    • DEPTH_THRESH

      protected static final int DEPTH_THRESH
      See Also:
    • QSORT_STACK_SIZE

      protected static final int QSORT_STACK_SIZE
      See Also:
    • last

      int last
    • origPtr

      int origPtr
    • blockSize100k

      int blockSize100k
    • blockRandomised

      boolean blockRandomised
    • bytesOut

      int bytesOut
    • bsBuff

      int bsBuff
    • bsLive

      int bsLive
    • mCrc

      CRC mCrc
    • inUse

      private boolean[] inUse
    • nInUse

      private int nInUse
    • seqToUnseq

      private char[] seqToUnseq
    • unseqToSeq

      private char[] unseqToSeq
    • selector

      private char[] selector
    • selectorMtf

      private char[] selectorMtf
    • block

      private char[] block
    • quadrant

      private int[] quadrant
    • zptr

      private int[] zptr
    • szptr

      private short[] szptr
    • ftab

      private int[] ftab
    • nMTF

      private int nMTF
    • mtfFreq

      private int[] mtfFreq
    • workFactor

      private int workFactor
    • workDone

      private int workDone
    • workLimit

      private int workLimit
    • firstAttempt

      private boolean firstAttempt
    • nBlocksRandomised

      private int nBlocksRandomised
    • currentChar

      private int currentChar
    • runLength

      private int runLength
    • closed

      boolean closed
    • blockCRC

      private int blockCRC
    • combinedCRC

      private int combinedCRC
    • allowableBlockSize

      private int allowableBlockSize
    • bsStream

      private OutputStream bsStream
    • incs

      private int[] incs
  • Constructor Details

  • Method Details

    • panic

      private static void panic()
    • makeMaps

      private void makeMaps()
    • hbMakeCodeLengths

      protected static void hbMakeCodeLengths(char[] len, int[] freq, int alphaSize, int maxLen)
    • write

      public void write(int bv) throws IOException
      modified by Oliver Merkel, 010128
      Specified by:
      write in class OutputStream
      Throws:
      IOException
    • writeRun

      private void writeRun() throws IOException
      Throws:
      IOException
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class OutputStream
      Throws:
      IOException
    • flush

      public void flush() throws IOException
      Specified by:
      flush in interface Flushable
      Overrides:
      flush in class OutputStream
      Throws:
      IOException
    • initialize

      private void initialize() throws IOException
      Throws:
      IOException
    • initBlock

      private void initBlock()
    • endBlock

      private void endBlock() throws IOException
      Throws:
      IOException
    • endCompression

      private void endCompression() throws IOException
      Throws:
      IOException
    • hbAssignCodes

      private void hbAssignCodes(int[] code, char[] length, int minLen, int maxLen, int alphaSize)
    • bsSetStream

      private void bsSetStream(OutputStream f)
    • bsFinishedWithStream

      private void bsFinishedWithStream() throws IOException
      Throws:
      IOException
    • bsW

      private void bsW(int n, int v) throws IOException
      Throws:
      IOException
    • bsPutUChar

      private void bsPutUChar(int c) throws IOException
      Throws:
      IOException
    • bsPutint

      private void bsPutint(int u) throws IOException
      Throws:
      IOException
    • bsPutIntVS

      private void bsPutIntVS(int numBits, int c) throws IOException
      Throws:
      IOException
    • sendMTFValues

      private void sendMTFValues() throws IOException
      Throws:
      IOException
    • moveToFrontCodeAndSend

      private void moveToFrontCodeAndSend() throws IOException
      Throws:
      IOException
    • simpleSort

      private void simpleSort(int lo, int hi, int d)
    • vswap

      private void vswap(int p1, int p2, int n)
    • med3

      private char med3(char a, char b, char c)
    • qSort3

      private void qSort3(int loSt, int hiSt, int dSt)
    • mainSort

      private void mainSort()
    • randomiseBlock

      private void randomiseBlock()
    • doReversibleTransformation

      private void doReversibleTransformation()
    • fullGtU

      private boolean fullGtU(int i1, int i2)
    • allocateCompressStructures

      private void allocateCompressStructures()
    • generateMTFValues

      private void generateMTFValues()