Lines Matching refs:bitC
66 MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, void* dstBuffer, size_t dstCapacity);
67 MEM_STATIC void BIT_addBits(BIT_CStream_t* bitC, size_t value, unsigned nbBits);
68 MEM_STATIC void BIT_flushBits(BIT_CStream_t* bitC);
69 MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC);
126 MEM_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, size_t value, unsigned nbBits);
129 MEM_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC);
188 MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, in BIT_initCStream() argument
191 bitC->bitContainer = 0; in BIT_initCStream()
192 bitC->bitPos = 0; in BIT_initCStream()
193 bitC->startPtr = (char*)startPtr; in BIT_initCStream()
194 bitC->ptr = bitC->startPtr; in BIT_initCStream()
195 bitC->endPtr = bitC->startPtr + dstCapacity - sizeof(bitC->bitContainer); in BIT_initCStream()
196 if (dstCapacity <= sizeof(bitC->bitContainer)) return ERROR(dstSize_tooSmall); in BIT_initCStream()
203 MEM_STATIC void BIT_addBits(BIT_CStream_t* bitC, in BIT_addBits() argument
208 assert(nbBits + bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_addBits()
209 bitC->bitContainer |= (value & BIT_mask[nbBits]) << bitC->bitPos; in BIT_addBits()
210 bitC->bitPos += nbBits; in BIT_addBits()
216 MEM_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, in BIT_addBitsFast() argument
220 assert(nbBits + bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_addBitsFast()
221 bitC->bitContainer |= value << bitC->bitPos; in BIT_addBitsFast()
222 bitC->bitPos += nbBits; in BIT_addBitsFast()
228 MEM_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC) in BIT_flushBitsFast() argument
230 size_t const nbBytes = bitC->bitPos >> 3; in BIT_flushBitsFast()
231 assert(bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_flushBitsFast()
232 assert(bitC->ptr <= bitC->endPtr); in BIT_flushBitsFast()
233 MEM_writeLEST(bitC->ptr, bitC->bitContainer); in BIT_flushBitsFast()
234 bitC->ptr += nbBytes; in BIT_flushBitsFast()
235 bitC->bitPos &= 7; in BIT_flushBitsFast()
236 bitC->bitContainer >>= nbBytes*8; in BIT_flushBitsFast()
244 MEM_STATIC void BIT_flushBits(BIT_CStream_t* bitC) in BIT_flushBits() argument
246 size_t const nbBytes = bitC->bitPos >> 3; in BIT_flushBits()
247 assert(bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_flushBits()
248 assert(bitC->ptr <= bitC->endPtr); in BIT_flushBits()
249 MEM_writeLEST(bitC->ptr, bitC->bitContainer); in BIT_flushBits()
250 bitC->ptr += nbBytes; in BIT_flushBits()
251 if (bitC->ptr > bitC->endPtr) bitC->ptr = bitC->endPtr; in BIT_flushBits()
252 bitC->bitPos &= 7; in BIT_flushBits()
253 bitC->bitContainer >>= nbBytes*8; in BIT_flushBits()
259 MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC) in BIT_closeCStream() argument
261 BIT_addBitsFast(bitC, 1, 1); /* endMark */ in BIT_closeCStream()
262 BIT_flushBits(bitC); in BIT_closeCStream()
263 if (bitC->ptr >= bitC->endPtr) return 0; /* overflow detected */ in BIT_closeCStream()
264 return (bitC->ptr - bitC->startPtr) + (bitC->bitPos > 0); in BIT_closeCStream()