4 namespace ByteFX.Data.Common
\r
7 /// Summary description for BitStream.
\r
9 public class BitStream : MemoryStream
\r
11 private byte[] _input;
\r
14 private int _bitindex;
\r
15 private uint _bitbuffer;
\r
16 private int _bits_in_buffer;
\r
18 public BitStream(byte[] input, int index, int len)
\r
22 _bits_in_buffer = 0;
\r
25 _end = _start + len;
\r
28 public int GetBits(int numbits)
\r
33 public int PeekBits(int numbits)
\r
40 val = (val << 8) | _input[index++];
\r
44 while (_bits_in_buffer < numbits)
\r
47 throw new Exception("Out of bits");
\r
48 byte b = _input[_start++];
\r