internal void send_bits(int value, int length)
{
int len = length;
unchecked
{
if (bi_valid > (int)Buf_size - len)
{
//int val = value;
// bi_buf |= (val << bi_valid);
bi_buf |= (short)((value << bi_valid) & 0xffff);
//put_short(bi_buf);
pending[pendingCount++] = (byte)bi_buf;
pending[pendingCount++] = (byte)(bi_buf >> 8);
bi_buf = (short)((uint)value >> (Buf_size - bi_valid));
bi_valid += len - Buf_size;
}
else
{
// bi_buf |= (value) << bi_valid;
bi_buf |= (short)((value << bi_valid) & 0xffff);
bi_valid += len;
}
}
}