Home | History | Annotate | Download | only in legacy

Lines Matching refs:bitD

273 MEM_STATIC size_t   BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize);
274 MEM_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, unsigned nbBits);
275 MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD);
276 MEM_STATIC unsigned BIT_endOfDStream(const BIT_DStream_t* bitD);
283 MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, unsigned nbBits);
320 * @bitD : a pointer to an already allocated BIT_DStream_t structure
325 MEM_STATIC size_t BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize)
327 if (srcSize < 1) { memset(bitD, 0, sizeof(*bitD)); return ERROR(srcSize_wrong); }
332 bitD->start = (const char*)srcBuffer;
333 bitD->ptr = (const char*)srcBuffer + srcSize - sizeof(size_t);
334 bitD->bitContainer = MEM_readLEST(bitD->ptr);
337 bitD->bitsConsumed = 8 - BIT_highbit32(contain32);
342 bitD->start = (const char*)srcBuffer;
343 bitD->ptr = bitD->start;
344 bitD->bitContainer = *(const BYTE*)(bitD->start);
347 case 7: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[6]) << (sizeof(size_t)*8 - 16);
349 case 6: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[5]) << (sizeof(size_t)*8 - 24);
351 case 5: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[4]) << (sizeof(size_t)*8 - 32);
353 case 4: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[3]) << 24;
355 case 3: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[2]) << 16;
357 case 2: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[1]) << 8;
363 bitD->bitsConsumed = 8 - BIT_highbit32(contain32);
364 bitD->bitsConsumed += (U32)(sizeof(size_t) - srcSize)*8;
369 MEM_STATIC size_t BIT_lookBits(BIT_DStream_t* bitD, U32 nbBits)
371 const U32 bitMask = sizeof(bitD->bitContainer)*8 - 1;
372 return ((bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> 1) >> ((bitMask-nbBits) & bitMask);
377 MEM_STATIC size_t BIT_lookBitsFast(BIT_DStream_t* bitD, U32 nbBits)
379 const U32 bitMask = sizeof(bitD->bitContainer)*8 - 1;
380 return (bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> (((bitMask+1)-nbBits) & bitMask);
383 MEM_STATIC void BIT_skipBits(BIT_DStream_t* bitD, U32 nbBits)
385 bitD->bitsConsumed += nbBits;
388 MEM_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, U32 nbBits)
390 size_t value = BIT_lookBits(bitD, nbBits);
391 BIT_skipBits(bitD, nbBits);
397 MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, U32 nbBits)
399 size_t value = BIT_lookBitsFast(bitD, nbBits);
400 BIT_skipBits(bitD, nbBits);
404 MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD)
406 if (bitD->bitsConsumed > (sizeof(bitD->bitContainer)*8)) /* should never happen */
409 if (bitD->ptr >= bitD->start + sizeof(bitD->bitContainer))
411 bitD->ptr -= bitD->bitsConsumed >> 3;
412 bitD->bitsConsumed &= 7;
413 bitD->bitContainer = MEM_readLEST(bitD->ptr);
416 if (bitD->ptr == bitD->start)
418 if (bitD->bitsConsumed < sizeof(bitD->bitContainer)*8) return BIT_DStream_endOfBuffer;
422 U32 nbBytes = bitD->bitsConsumed >> 3;
424 if (bitD->ptr - nbBytes < bitD->start)
426 nbBytes = (U32)(bitD->ptr - bitD->start); /* ptr > start */
429 bitD->ptr -= nbBytes;
430 bitD->bitsConsumed -= nbBytes*8;
431 bitD->bitContainer = MEM_readLEST(bitD->ptr); /* reminder : srcSize > sizeof(bitD) */
619 static void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt);
621 static unsigned char FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD);
629 static unsigned char FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD);
651 MEM_STATIC void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt)
655 DStatePtr->state = BIT_readBits(bitD, DTableH.tableLog);
656 BIT_reloadDStream(bitD);
660 MEM_STATIC BYTE FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
665 size_t lowBits = BIT_readBits(bitD, nbBits);
671 MEM_STATIC BYTE FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
676 size_t lowBits = BIT_readBitsFast(bitD, nbBits);
1286 BIT_DStream_t bitD;
1292 errorCode = BIT_initDStream(&bitD, cSrc, cSrcSize); /* replaced last arg by maxCompressed Size */
1295 FSE_initDState(&state1, &bitD, dt);
1296 FSE_initDState(&state2, &bitD, dt);
1298 #define FSE_GETSYMBOL(statePtr) fast ? FSE_decodeSymbolFast(statePtr, &bitD) : FSE_decodeSymbol(statePtr, &bitD)
1301 for ( ; (BIT_reloadDStream(&bitD)==BIT_DStream_unfinished) && (op<olimit) ; op+=4)
1305 if (FSE_MAX_TABLELOG*2+7 > sizeof(bitD.bitContainer)*8) /* This test must be static */
1306 BIT_reloadDStream(&bitD);
1310 if (FSE_MAX_TABLELOG*4+7 > sizeof(bitD.bitContainer)*8) /* This test must be static */
1311 { if (BIT_reloadDStream(&bitD) > BIT_DStream_unfinished) { op+=2; break; } }
1315 if (FSE_MAX_TABLELOG*2+7 > sizeof(bitD.bitContainer)*8) /* This test must be static */
1316 BIT_reloadDStream(&bitD);
1322 /* note : BIT_reloadDStream(&bitD) >= FSE_DStream_partiallyFilled; Ends at exactly BIT_DStream_completed */
1325 if ( (BIT_reloadDStream(&bitD)>BIT_DStream_completed) || (op==omax) || (BIT_endOfDStream(&bitD) && (fast || FSE_endOfDState(&state1))) )
1330 if ( (BIT_reloadDStream(&bitD)>BIT_DStream_completed) || (op==omax) || (BIT_endOfDStream(&bitD) && (fast || FSE_endOfDState(&state2))) )
1337 if (BIT_endOfDStream(&bitD) && FSE_endOfDState(&state1) && FSE_endOfDState(&state2))