Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 // LSBFEncoder.cpp
3 #include "StdAfx.h"
5 #include "LSBFEncoder.h"
6 #include "Common/Defs.h"
8 namespace NStream {
9 namespace NLSBF {
11 void CEncoder::WriteBits(UInt32 value, int numBits)
12 {
13 while(numBits > 0)
14 {
15 if (numBits < m_BitPos)
16 {
17 m_CurByte |= (value & ((1 << numBits) - 1)) << (8 - m_BitPos);
18 m_BitPos -= numBits;
19 return;
20 }
21 numBits -= m_BitPos;
22 m_Stream.WriteByte((Byte)(m_CurByte | (value << (8 - m_BitPos))));
23 value >>= m_BitPos;
24 m_BitPos = 8;
25 m_CurByte = 0;
26 }
27 }
29 }}