ucar.jpeg.jj2000.j2k.entropy.decoder
Class ByteToBitInput

java.lang.Object
  extended by ucar.jpeg.jj2000.j2k.entropy.decoder.ByteToBitInput

public class ByteToBitInput
extends Object

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.


Constructor Summary
ByteToBitInput(ByteInputBuffer in)
          Instantiates a new 'ByteToBitInput' object that uses 'in' as the underlying byte based input.
 
Method Summary
 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.
 int readBit()
          Reads from the bit stream one bit.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ByteToBitInput

public ByteToBitInput(ByteInputBuffer in)
Instantiates a new 'ByteToBitInput' object that uses 'in' as the underlying byte based input.

Parameters:
in - The underlying byte based input.
Method Detail

readBit

public 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.

Returns:
The read bit (0 or 1).

checkBytePadding

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 correctly decoded.

Returns:
True if errors are found, false otherwise.


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.