Lines Matching refs:bitC

54 MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, void* dstBuffer, size_t dstCapacity);
55 MEM_STATIC void BIT_addBits(BIT_CStream_t* bitC, size_t value, unsigned nbBits);
56 MEM_STATIC void BIT_flushBits(BIT_CStream_t* bitC);
57 MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC);
111 MEM_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, size_t value, unsigned nbBits);
114 MEM_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC);
162 MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC, in BIT_initCStream() argument
165 bitC->bitContainer = 0; in BIT_initCStream()
166 bitC->bitPos = 0; in BIT_initCStream()
167 bitC->startPtr = (char*)startPtr; in BIT_initCStream()
168 bitC->ptr = bitC->startPtr; in BIT_initCStream()
169 bitC->endPtr = bitC->startPtr + dstCapacity - sizeof(bitC->bitContainer); in BIT_initCStream()
170 if (dstCapacity <= sizeof(bitC->bitContainer)) return ERROR(dstSize_tooSmall); in BIT_initCStream()
177 MEM_STATIC void BIT_addBits(BIT_CStream_t* bitC, in BIT_addBits() argument
182 assert(nbBits + bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_addBits()
183 bitC->bitContainer |= (value & BIT_mask[nbBits]) << bitC->bitPos; in BIT_addBits()
184 bitC->bitPos += nbBits; in BIT_addBits()
190 MEM_STATIC void BIT_addBitsFast(BIT_CStream_t* bitC, in BIT_addBitsFast() argument
194 assert(nbBits + bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_addBitsFast()
195 bitC->bitContainer |= value << bitC->bitPos; in BIT_addBitsFast()
196 bitC->bitPos += nbBits; in BIT_addBitsFast()
202 MEM_STATIC void BIT_flushBitsFast(BIT_CStream_t* bitC) in BIT_flushBitsFast() argument
204 size_t const nbBytes = bitC->bitPos >> 3; in BIT_flushBitsFast()
205 assert(bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_flushBitsFast()
206 assert(bitC->ptr <= bitC->endPtr); in BIT_flushBitsFast()
207 MEM_writeLEST(bitC->ptr, bitC->bitContainer); in BIT_flushBitsFast()
208 bitC->ptr += nbBytes; in BIT_flushBitsFast()
209 bitC->bitPos &= 7; in BIT_flushBitsFast()
210 bitC->bitContainer >>= nbBytes*8; in BIT_flushBitsFast()
218 MEM_STATIC void BIT_flushBits(BIT_CStream_t* bitC) in BIT_flushBits() argument
220 size_t const nbBytes = bitC->bitPos >> 3; in BIT_flushBits()
221 assert(bitC->bitPos < sizeof(bitC->bitContainer) * 8); in BIT_flushBits()
222 assert(bitC->ptr <= bitC->endPtr); in BIT_flushBits()
223 MEM_writeLEST(bitC->ptr, bitC->bitContainer); in BIT_flushBits()
224 bitC->ptr += nbBytes; in BIT_flushBits()
225 if (bitC->ptr > bitC->endPtr) bitC->ptr = bitC->endPtr; in BIT_flushBits()
226 bitC->bitPos &= 7; in BIT_flushBits()
227 bitC->bitContainer >>= nbBytes*8; in BIT_flushBits()
233 MEM_STATIC size_t BIT_closeCStream(BIT_CStream_t* bitC) in BIT_closeCStream() argument
235 BIT_addBitsFast(bitC, 1, 1); /* endMark */ in BIT_closeCStream()
236 BIT_flushBits(bitC); in BIT_closeCStream()
237 if (bitC->ptr >= bitC->endPtr) return 0; /* overflow detected */ in BIT_closeCStream()
238 return (bitC->ptr - bitC->startPtr) + (bitC->bitPos > 0); in BIT_closeCStream()