Package com.itextpdf.io.codec.brotli.dec
Class BitReader
java.lang.Object
com.itextpdf.io.codec.brotli.dec.BitReader
Bit reading helpers.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) long
Pre-fetched bits.(package private) int
Current bit-reading position in accumulator.private static final int
private static final int
private final byte[]
private static final int
Input byte buffer, consist of a ring-buffer and a "slack" region where bytes from the start of the ring-buffer are copied.private boolean
Input stream is finished.private InputStream
private static final int
private final int[]
private int
Offset of next item in intBuffer.private final IntReader
private static final int
private int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static void
checkHealth
(BitReader br, boolean endOfStream) (package private) static void
(package private) static void
(package private) static void
Advances the Read buffer by 5 bytes to make room for reading next 24 bits.(package private) static void
init
(BitReader br, InputStream input) Initialize bit reader.(package private) static int
(package private) static void
private static void
(package private) static int
Reads the specified number of bits from Read Buffer.(package private) static void
Fills up the input buffer.(package private) static void
-
Field Details
-
CAPACITY
private static final int CAPACITYInput byte buffer, consist of a ring-buffer and a "slack" region where bytes from the start of the ring-buffer are copied.- See Also:
-
SLACK
private static final int SLACK- See Also:
-
INT_BUFFER_SIZE
private static final int INT_BUFFER_SIZE- See Also:
-
BYTE_READ_SIZE
private static final int BYTE_READ_SIZE- See Also:
-
BYTE_BUFFER_SIZE
private static final int BYTE_BUFFER_SIZE- See Also:
-
byteBuffer
private final byte[] byteBuffer -
intBuffer
private final int[] intBuffer -
intReader
-
input
-
endOfStreamReached
private boolean endOfStreamReachedInput stream is finished. -
accumulator
long accumulatorPre-fetched bits. -
bitOffset
int bitOffsetCurrent bit-reading position in accumulator. -
intOffset
private int intOffsetOffset of next item in intBuffer. -
tailBytes
private int tailBytes
-
-
Constructor Details
-
BitReader
BitReader()
-
-
Method Details
-
readMoreInput
Fills up the input buffer.No-op if there are at least 36 bytes present after current position.
After encountering the end of the input stream, 64 additional zero bytes are copied to the buffer.
-
checkHealth
-
fillBitWindow
Advances the Read buffer by 5 bytes to make room for reading next 24 bits. -
readBits
Reads the specified number of bits from Read Buffer. -
init
Initialize bit reader.Initialisation turns bit reader to a ready state. Also a number of bytes is prefetched to accumulator. Because of that this method may block until enough data could be read from input.
- Parameters:
br
- BitReader POJOinput
- data source
-
prepare
-
reload
-
close
- Throws:
IOException
-
jumpToByteBoundary
-
intAvailable
-
copyBytes
-