final int bwtStartPointer = reader.readBits(24); blockDecompressor = new Bzip2BlockDecompressor(this.blockSize, blockCRC, blockRandomised, bwtStartPointer, reader); currentState = State.RECEIVE_HUFFMAN_USED_MAP; blockDecompressor = this.blockDecompressor; final int oldReaderIndex = in.readerIndex(); final boolean decoded = blockDecompressor.decodeHuffmanData(this.huffmanStageDecoder); if (!decoded) { return; final int blockLength = blockDecompressor.blockLength(); final ByteBuf uncompressed = ctx.alloc().buffer(blockLength); boolean success = false; try { int uncByte; while ((uncByte = blockDecompressor.read()) >= 0) { uncompressed.writeByte(uncByte); int currentBlockCRC = blockDecompressor.checkCRC(); streamCRC = (streamCRC << 1 | streamCRC >>> 31) ^ currentBlockCRC;
int nextByte = decodeNextBWTByte(); if (nextByte != rleLastDecodedByte) { if (++rleAccumulator == 4) { int rleRepeat = decodeNextBWTByte() + 1; this.rleRepeat = rleRepeat; rleAccumulator = 0;
initialiseInverseBWT(); return true;
final int bwtStartPointer = reader.readBits(24); blockDecompressor = new Bzip2BlockDecompressor(this.blockSize, blockCRC, blockRandomised, bwtStartPointer, reader); currentState = State.RECEIVE_HUFFMAN_USED_MAP; blockDecompressor = this.blockDecompressor; final int oldReaderIndex = in.readerIndex(); final boolean decoded = blockDecompressor.decodeHuffmanData(this.huffmanStageDecoder); if (!decoded) { return; final int blockLength = blockDecompressor.blockLength(); final ByteBuf uncompressed = ctx.alloc().buffer(blockLength); boolean success = false; try { int uncByte; while ((uncByte = blockDecompressor.read()) >= 0) { uncompressed.writeByte(uncByte); int currentBlockCRC = blockDecompressor.checkCRC(); streamCRC = (streamCRC << 1 | streamCRC >>> 31) ^ currentBlockCRC;
int nextByte = decodeNextBWTByte(); if (nextByte != rleLastDecodedByte) { if (++rleAccumulator == 4) { int rleRepeat = decodeNextBWTByte() + 1; this.rleRepeat = rleRepeat; rleAccumulator = 0;
initialiseInverseBWT(); return true;
final int bwtStartPointer = reader.readBits(24); blockDecompressor = new Bzip2BlockDecompressor(this.blockSize, blockCRC, blockRandomised, bwtStartPointer, reader); currentState = State.RECEIVE_HUFFMAN_USED_MAP; blockDecompressor = this.blockDecompressor; final int oldReaderIndex = in.readerIndex(); final boolean decoded = blockDecompressor.decodeHuffmanData(this.huffmanStageDecoder); if (!decoded) { return; final int blockLength = blockDecompressor.blockLength(); final ByteBuf uncompressed = ctx.alloc().buffer(blockLength); boolean success = false; try { int uncByte; while ((uncByte = blockDecompressor.read()) >= 0) { uncompressed.writeByte(uncByte); int currentBlockCRC = blockDecompressor.checkCRC(); streamCRC = (streamCRC << 1 | streamCRC >>> 31) ^ currentBlockCRC;
int nextByte = decodeNextBWTByte(); if (nextByte != rleLastDecodedByte) { if (++rleAccumulator == 4) { int rleRepeat = decodeNextBWTByte() + 1; this.rleRepeat = rleRepeat; rleAccumulator = 0;
initialiseInverseBWT(); return true;
final int bwtStartPointer = reader.readBits(24); blockDecompressor = new Bzip2BlockDecompressor(this.blockSize, blockCRC, blockRandomised, bwtStartPointer, reader); currentState = State.RECEIVE_HUFFMAN_USED_MAP; blockDecompressor = this.blockDecompressor; final int oldReaderIndex = in.readerIndex(); final boolean decoded = blockDecompressor.decodeHuffmanData(this.huffmanStageDecoder); if (!decoded) { return; final int blockLength = blockDecompressor.blockLength(); final ByteBuf uncompressed = ctx.alloc().buffer(blockLength); boolean success = false; try { int uncByte; while ((uncByte = blockDecompressor.read()) >= 0) { uncompressed.writeByte(uncByte); int currentBlockCRC = blockDecompressor.checkCRC(); streamCRC = (streamCRC << 1 | streamCRC >>> 31) ^ currentBlockCRC;
int nextByte = decodeNextBWTByte(); if (nextByte != rleLastDecodedByte) { if (++rleAccumulator == 4) { int rleRepeat = decodeNextBWTByte() + 1; this.rleRepeat = rleRepeat; rleAccumulator = 0;
initialiseInverseBWT(); return true;
final int bwtStartPointer = reader.readBits(24); blockDecompressor = new Bzip2BlockDecompressor(this.blockSize, blockCRC, blockRandomised, bwtStartPointer, reader); currentState = State.RECEIVE_HUFFMAN_USED_MAP; blockDecompressor = this.blockDecompressor; final int oldReaderIndex = in.readerIndex(); final boolean decoded = blockDecompressor.decodeHuffmanData(this.huffmanStageDecoder); if (!decoded) { return; final int blockLength = blockDecompressor.blockLength(); final ByteBuf uncompressed = ctx.alloc().buffer(blockLength); boolean success = false; try { int uncByte; while ((uncByte = blockDecompressor.read()) >= 0) { uncompressed.writeByte(uncByte); int currentBlockCRC = blockDecompressor.checkCRC(); streamCRC = (streamCRC << 1 | streamCRC >>> 31) ^ currentBlockCRC;
int nextByte = decodeNextBWTByte(); if (nextByte != rleLastDecodedByte) { if (++rleAccumulator == 4) { int rleRepeat = decodeNextBWTByte() + 1; this.rleRepeat = rleRepeat; rleAccumulator = 0;
initialiseInverseBWT(); return true;
final int bwtStartPointer = reader.readBits(24); blockDecompressor = new Bzip2BlockDecompressor(this.blockSize, blockCRC, blockRandomised, bwtStartPointer, reader); currentState = State.RECEIVE_HUFFMAN_USED_MAP; blockDecompressor = this.blockDecompressor; final int oldReaderIndex = in.readerIndex(); final boolean decoded = blockDecompressor.decodeHuffmanData(this.huffmanStageDecoder); if (!decoded) { return; final int blockLength = blockDecompressor.blockLength(); final ByteBuf uncompressed = ctx.alloc().buffer(blockLength); boolean success = false; try { int uncByte; while ((uncByte = blockDecompressor.read()) >= 0) { uncompressed.writeByte(uncByte); int currentBlockCRC = blockDecompressor.checkCRC(); streamCRC = (streamCRC << 1 | streamCRC >>> 31) ^ currentBlockCRC;
int nextByte = decodeNextBWTByte(); if (nextByte != rleLastDecodedByte) { if (++rleAccumulator == 4) { int rleRepeat = decodeNextBWTByte() + 1; this.rleRepeat = rleRepeat; rleAccumulator = 0;
final int bwtStartPointer = reader.readBits(24); blockDecompressor = new Bzip2BlockDecompressor(this.blockSize, blockCRC, blockRandomised, bwtStartPointer, reader); currentState = State.RECEIVE_HUFFMAN_USED_MAP; blockDecompressor = this.blockDecompressor; final int oldReaderIndex = in.readerIndex(); final boolean decoded = blockDecompressor.decodeHuffmanData(this.huffmanStageDecoder); if (!decoded) { return; final int blockLength = blockDecompressor.blockLength(); final ByteBuf uncompressed = ctx.alloc().buffer(blockLength); boolean success = false; try { int uncByte; while ((uncByte = blockDecompressor.read()) >= 0) { uncompressed.writeByte(uncByte); int currentBlockCRC = blockDecompressor.checkCRC(); streamCRC = (streamCRC << 1 | streamCRC >>> 31) ^ currentBlockCRC;
int nextByte = decodeNextBWTByte(); if (nextByte != rleLastDecodedByte) { if (++rleAccumulator == 4) { int rleRepeat = decodeNextBWTByte() + 1; this.rleRepeat = rleRepeat; rleAccumulator = 0;