Class Bits

java.lang.Object
org.xiph.speex.Bits

public class Bits extends Object
Speex bit packing and unpacking class.
Version:
$Revision: 1.2 $
Author:
Jim Lawrence, helloNetwork.com, Marc Gimpel, Wimba S.A. (mgimpel@horizonwimba.com)
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private int
    Position of the bit "cursor" within the current byte
    private int
    Position of the byte "cursor"
    private byte[]
    "raw" data
    static final int
    Default buffer size
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    advance(int n)
    Advance n bits.
    byte[]
    Returns the current buffer array.
    int
    Returns the number of bytes used in the current buffer.
    void
    Initialise the bit packing variables.
    void
    pack(int data, int nbBits)
    Write N bits of the given data to the buffer.
    int
    Take a peek at the next bit.
    void
    read_from(byte[] newbytes, int offset, int len)
    Read the given array into the buffer.
    protected void
    setBuffer(byte[] newBuffer)
    Sets the buffer to the given value.
    int
    unpack(int nbBits)
    Read the next N bits from the buffer.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_BUFFER_SIZE

      public static final int DEFAULT_BUFFER_SIZE
      Default buffer size
      See Also:
    • bytes

      private byte[] bytes
      "raw" data
    • bytePtr

      private int bytePtr
      Position of the byte "cursor"
    • bitPtr

      private int bitPtr
      Position of the bit "cursor" within the current byte
  • Constructor Details

    • Bits

      public Bits()
  • Method Details

    • init

      public void init()
      Initialise the bit packing variables.
    • advance

      public void advance(int n)
      Advance n bits.
      Parameters:
      n - - the number of bits to advance.
    • setBuffer

      protected void setBuffer(byte[] newBuffer)
      Sets the buffer to the given value.
      Parameters:
      newBuffer -
    • peek

      public int peek()
      Take a peek at the next bit.
      Returns:
      the next bit.
    • read_from

      public void read_from(byte[] newbytes, int offset, int len)
      Read the given array into the buffer.
      Parameters:
      newbytes -
      offset -
      len -
    • unpack

      public int unpack(int nbBits)
      Read the next N bits from the buffer.
      Parameters:
      nbBits - - the number of bits to read.
      Returns:
      the next N bits from the buffer.
    • pack

      public void pack(int data, int nbBits)
      Write N bits of the given data to the buffer.
      Parameters:
      data - - the data to write.
      nbBits - - the number of bits of the data to write.
    • getBuffer

      public byte[] getBuffer()
      Returns the current buffer array.
      Returns:
      the current buffer array.
    • getBufferSize

      public int getBufferSize()
      Returns the number of bytes used in the current buffer.
      Returns:
      the number of bytes used in the current buffer.