This class provides an adapter to perform bit based input on byte based
output obejcts that inherit from a 'ByteInputBuffer' class. This class also
performs the bit unstuffing procedure specified for the 'selective
arithmetic coding bypass' mode of the JPEG 2000 entropy coder.
Instantiates a new 'ByteToBitInput' object that uses 'in' as the
underlying byte based input.
in - The underlying byte based input.
final int readBit()
Reads from the bit stream one bit. If 'bpos' is -1 then a byte is read
and loaded into the bit buffer, from where the bit is read. If
necessary the bit unstuffing will be applied.
The read bit (0 or 1).
public boolean checkBytePadding()
Checks for past errors in the decoding process by verifying the byte
padding with an alternating sequence of 0's and 1's. If an error is
detected it means that the raw bit stream has been wrongly decoded or
that the raw terminated segment length is too long. If no errors are
detected it does not necessarily mean that the raw bit stream has been
True if errors are found, false otherwise.
final void flush()
Flushes (i.e. empties) the bit buffer, without loading any new
bytes. This realigns the input at the next byte boundary, if not
already at one.
final void setByteArray(byte buf,
Resets the underlying byte input to start a new segment. The bit buffer
buf - The byte array containing the byte data. If null the
current byte array is assumed.
off - The index of the first element in 'buf' to be decoded. If
negative the byte just after the previous segment is assumed, only
valid if 'buf' is null.
len - The number of bytes in 'buf' to be decoded. Any subsequent
bytes are taken to be 0xFF.