Package gov.nih.mipav.model.file
Class CBZip2OutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- gov.nih.mipav.model.file.CBZip2OutputStream
-
- All Implemented Interfaces:
BZip2Constants,java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
public class CBZip2OutputStream extends java.io.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classCBZip2OutputStream.StackElem
-
Field Summary
Fields Modifier and Type Field Description private intallowableBlockSizeprivate char[]blockprivate intblockCRC(package private) booleanblockRandomised(package private) intblockSize100k(package private) intbsBuff(package private) intbsLiveprivate java.io.OutputStreambsStream(package private) intbytesOutprotected static intCLEARMASK(package private) booleanclosedprivate intcombinedCRCprivate intcurrentCharprotected static intDEPTH_THRESHprivate booleanfirstAttemptprivate int[]ftabprotected static intGREATER_ICOSTprivate int[]incsprivate boolean[]inUse(package private) intlastprotected static intLESSER_ICOST(package private) CRCmCrcprivate int[]mtfFreqprivate intnBlocksRandomisedprivate intnInUseprivate intnMTF(package private) intorigPtrprotected static intQSORT_STACK_SIZEprivate int[]quadrantprivate intrunLengthprivate char[]selectorprivate char[]selectorMtfprivate char[]seqToUnseqprotected static intSETMASKprotected static intSMALL_THRESHprivate short[]szptrprivate char[]unseqToSeqprivate intworkDoneprivate intworkFactorprivate intworkLimitprivate int[]zptr-
Fields inherited from interface gov.nih.mipav.model.file.BZip2Constants
baseBlockSize, G_SIZE, MAX_ALPHA_SIZE, MAX_CODE_LEN, MAX_SELECTORS, N_GROUPS, N_ITERS, NUM_OVERSHOOT_BYTES, rNums, RUNA, RUNB
-
-
Constructor Summary
Constructors Constructor Description CBZip2OutputStream(java.io.OutputStream inStream)CBZip2OutputStream(java.io.OutputStream inStream, int inBlockSize)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidallocateCompressStructures()private voidbsFinishedWithStream()private voidbsPutint(int u)private voidbsPutIntVS(int numBits, int c)private voidbsPutUChar(int c)private voidbsSetStream(java.io.OutputStream f)private voidbsW(int n, int v)voidclose()private voiddoReversibleTransformation()private voidendBlock()private voidendCompression()protected voidfinalize()voidflush()private booleanfullGtU(int i1, int i2)private voidgenerateMTFValues()private voidhbAssignCodes(int[] code, char[] length, int minLen, int maxLen, int alphaSize)protected static voidhbMakeCodeLengths(char[] len, int[] freq, int alphaSize, int maxLen)private voidinitBlock()private voidinitialize()private voidmainSort()private voidmakeMaps()private charmed3(char a, char b, char c)private voidmoveToFrontCodeAndSend()private static voidpanic()private voidqSort3(int loSt, int hiSt, int dSt)private voidrandomiseBlock()private voidsendMTFValues()private voidsimpleSort(int lo, int hi, int d)private voidvswap(int p1, int p2, int n)voidwrite(int bv)modified by Oliver Merkel, 010128private voidwriteRun()
-
-
-
Field Detail
-
SETMASK
protected static final int SETMASK
- See Also:
- Constant Field Values
-
CLEARMASK
protected static final int CLEARMASK
- See Also:
- Constant Field Values
-
GREATER_ICOST
protected static final int GREATER_ICOST
- See Also:
- Constant Field Values
-
LESSER_ICOST
protected static final int LESSER_ICOST
- See Also:
- Constant Field Values
-
SMALL_THRESH
protected static final int SMALL_THRESH
- See Also:
- Constant Field Values
-
DEPTH_THRESH
protected static final int DEPTH_THRESH
- See Also:
- Constant Field Values
-
QSORT_STACK_SIZE
protected static final int QSORT_STACK_SIZE
- See Also:
- Constant Field Values
-
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 java.io.OutputStream bsStream
-
incs
private int[] incs
-
-
Method Detail
-
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 java.io.IOExceptionmodified by Oliver Merkel, 010128- Specified by:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
writeRun
private void writeRun() throws java.io.IOException- Throws:
java.io.IOException
-
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.OutputStream- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Overrides:
flushin classjava.io.OutputStream- Throws:
java.io.IOException
-
initialize
private void initialize() throws java.io.IOException- Throws:
java.io.IOException
-
initBlock
private void initBlock()
-
endBlock
private void endBlock() throws java.io.IOException- Throws:
java.io.IOException
-
endCompression
private void endCompression() throws java.io.IOException- Throws:
java.io.IOException
-
hbAssignCodes
private void hbAssignCodes(int[] code, char[] length, int minLen, int maxLen, int alphaSize)
-
bsSetStream
private void bsSetStream(java.io.OutputStream f)
-
bsFinishedWithStream
private void bsFinishedWithStream() throws java.io.IOException- Throws:
java.io.IOException
-
bsW
private void bsW(int n, int v) throws java.io.IOException- Throws:
java.io.IOException
-
bsPutUChar
private void bsPutUChar(int c) throws java.io.IOException- Throws:
java.io.IOException
-
bsPutint
private void bsPutint(int u) throws java.io.IOException- Throws:
java.io.IOException
-
bsPutIntVS
private void bsPutIntVS(int numBits, int c) throws java.io.IOException- Throws:
java.io.IOException
-
sendMTFValues
private void sendMTFValues() throws java.io.IOException- Throws:
java.io.IOException
-
moveToFrontCodeAndSend
private void moveToFrontCodeAndSend() throws java.io.IOException- Throws:
java.io.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()
-
-