Lines Matching refs:bitC

58 MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, void* dstBuffer, size_t dstCapacity);
59 MEM_STATIC void BIT_addBits(BIT_CStream_t* bitC, BitContainerType value, unsigned nbBits);
60 MEM_STATIC void BIT_flushBits(BIT_CStream_t* bitC);
61 MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC);
118 MEM_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, BitContainerType value, unsigned nbBits);
121 MEM_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC);
144 MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, in BIT_initCStream() argument
147 bitC->bitContainer = 0; in BIT_initCStream()
148 bitC->bitPos = 0; in BIT_initCStream()
149 bitC->startPtr = (char*)startPtr; in BIT_initCStream()
150 bitC->ptr = bitC->startPtr; in BIT_initCStream()
151 bitC->endPtr = bitC->startPtr + dstCapacity - sizeof(bitC->bitContainer); in BIT_initCStream()
152 if (dstCapacity <= sizeof(bitC->bitContainer)) return ERROR(dstSize_tooSmall); in BIT_initCStream()
165 MEM_STATIC void BIT_addBits(BIT_CStream_t* bitC, in BIT_addBits() argument
170 assert(nbBits + bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_addBits()
171 bitC->bitContainer |= BIT_getLowerBits(value, nbBits) << bitC->bitPos; in BIT_addBits()
172 bitC->bitPos += nbBits; in BIT_addBits()
178 MEM_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, in BIT_addBitsFast() argument
182 assert(nbBits + bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_addBitsFast()
183 bitC->bitContainer |= value << bitC->bitPos; in BIT_addBitsFast()
184 bitC->bitPos += nbBits; in BIT_addBitsFast()
190 MEM_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC) in BIT_flushBitsFast() argument
192 size_t const nbBytes = bitC->bitPos >> 3; in BIT_flushBitsFast()
193 assert(bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_flushBitsFast()
194 assert(bitC->ptr <= bitC->endPtr); in BIT_flushBitsFast()
195 MEM_writeLEST(bitC->ptr, bitC->bitContainer); in BIT_flushBitsFast()
196 bitC->ptr += nbBytes; in BIT_flushBitsFast()
197 bitC->bitPos &= 7; in BIT_flushBitsFast()
198 bitC->bitContainer >>= nbBytes*8; in BIT_flushBitsFast()
206 MEM_STATIC void BIT_flushBits(BIT_CStream_t* bitC) in BIT_flushBits() argument
208 size_t const nbBytes = bitC->bitPos >> 3; in BIT_flushBits()
209 assert(bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_flushBits()
210 assert(bitC->ptr <= bitC->endPtr); in BIT_flushBits()
211 MEM_writeLEST(bitC->ptr, bitC->bitContainer); in BIT_flushBits()
212 bitC->ptr += nbBytes; in BIT_flushBits()
213 if (bitC->ptr > bitC->endPtr) bitC->ptr = bitC->endPtr; in BIT_flushBits()
214 bitC->bitPos &= 7; in BIT_flushBits()
215 bitC->bitContainer >>= nbBytes*8; in BIT_flushBits()
221 MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC) in BIT_closeCStream() argument
223 BIT_addBitsFast(bitC, 1, 1); /* endMark */ in BIT_closeCStream()
224 BIT_flushBits(bitC); in BIT_closeCStream()
225 if (bitC->ptr >= bitC->endPtr) return 0; /* overflow detected */ in BIT_closeCStream()
226 return (size_t)(bitC->ptr - bitC->startPtr) + (bitC->bitPos > 0); in BIT_closeCStream()