Lines Matching defs:bitD

333 MEM_STATIC size_t   BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize);
334 MEM_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, unsigned nbBits);
335 MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD);
336 MEM_STATIC unsigned BIT_endOfDStream(const BIT_DStream_t* bitD);
342 MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, unsigned nbBits);
379 * @bitD : a pointer to an already allocated BIT_DStream_t structure
384 MEM_STATIC size_t BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize)
386 if (srcSize < 1) { memset(bitD, 0, sizeof(*bitD)); return ERROR(srcSize_wrong); }
391 bitD->start = (const char*)srcBuffer;
392 bitD->ptr = (const char*)srcBuffer + srcSize - sizeof(size_t);
393 bitD->bitContainer = MEM_readLEST(bitD->ptr);
396 bitD->bitsConsumed = 8 - BIT_highbit32(contain32);
401 bitD->start = (const char*)srcBuffer;
402 bitD->ptr = bitD->start;
403 bitD->bitContainer = *(const BYTE*)(bitD->start);
406 case 7: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[6]) << (sizeof(size_t)*8 - 16);
408 case 6: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[5]) << (sizeof(size_t)*8 - 24);
410 case 5: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[4]) << (sizeof(size_t)*8 - 32);
412 case 4: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[3]) << 24;
414 case 3: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[2]) << 16;
416 case 2: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[1]) << 8;
422 bitD->bitsConsumed = 8 - BIT_highbit32(contain32);
423 bitD->bitsConsumed += (U32)(sizeof(size_t) - srcSize)*8;
429 MEM_STATIC size_t BIT_lookBits(BIT_DStream_t* bitD, U32 nbBits)
431 const U32 bitMask = sizeof(bitD->bitContainer)*8 - 1;
432 return ((bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> 1) >> ((bitMask-nbBits) & bitMask);
437 MEM_STATIC size_t BIT_lookBitsFast(BIT_DStream_t* bitD, U32 nbBits)
439 const U32 bitMask = sizeof(bitD->bitContainer)*8 - 1;
440 return (bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> (((bitMask+1)-nbBits) & bitMask);
443 MEM_STATIC void BIT_skipBits(BIT_DStream_t* bitD, U32 nbBits)
445 bitD->bitsConsumed += nbBits;
448 MEM_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, U32 nbBits)
450 size_t value = BIT_lookBits(bitD, nbBits);
451 BIT_skipBits(bitD, nbBits);
457 MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, U32 nbBits)
459 size_t value = BIT_lookBitsFast(bitD, nbBits);
460 BIT_skipBits(bitD, nbBits);
464 MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD)
466 if (bitD->bitsConsumed > (sizeof(bitD->bitContainer)*8)) /* should never happen */
469 if (bitD->ptr >= bitD->start + sizeof(bitD->bitContainer))
471 bitD->ptr -= bitD->bitsConsumed >> 3;
472 bitD->bitsConsumed &= 7;
473 bitD->bitContainer = MEM_readLEST(bitD->ptr);
476 if (bitD->ptr == bitD->start)
478 if (bitD->bitsConsumed < sizeof(bitD->bitContainer)*8) return BIT_DStream_endOfBuffer;
482 U32 nbBytes = bitD->bitsConsumed >> 3;
484 if (bitD->ptr - nbBytes < bitD->start)
486 nbBytes = (U32)(bitD->ptr - bitD->start); /* ptr > start */
489 bitD->ptr -= nbBytes;
490 bitD->bitsConsumed -= nbBytes*8;
491 bitD->bitContainer = MEM_readLEST(bitD->ptr); /* reminder : srcSize > sizeof(bitD) */
679 static void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt);
681 static unsigned char FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD);
689 static unsigned char FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD);
711 MEM_STATIC void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt)
715 DStatePtr->state = BIT_readBits(bitD, DTableH.tableLog);
716 BIT_reloadDStream(bitD);
720 MEM_STATIC BYTE FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
725 size_t lowBits = BIT_readBits(bitD, nbBits);
731 MEM_STATIC BYTE FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
736 size_t lowBits = BIT_readBitsFast(bitD, nbBits);
1347 BIT_DStream_t bitD;
1353 errorCode = BIT_initDStream(&bitD, cSrc, cSrcSize); /* replaced last arg by maxCompressed Size */
1356 FSE_initDState(&state1, &bitD, dt);
1357 FSE_initDState(&state2, &bitD, dt);
1359 #define FSE_GETSYMBOL(statePtr) fast ? FSE_decodeSymbolFast(statePtr, &bitD) : FSE_decodeSymbol(statePtr, &bitD)
1362 for ( ; (BIT_reloadDStream(&bitD)==BIT_DStream_unfinished) && (op<olimit) ; op+=4)
1366 if (FSE_MAX_TABLELOG*2+7 > sizeof(bitD.bitContainer)*8) /* This test must be static */
1367 BIT_reloadDStream(&bitD);
1371 if (FSE_MAX_TABLELOG*4+7 > sizeof(bitD.bitContainer)*8) /* This test must be static */
1372 { if (BIT_reloadDStream(&bitD) > BIT_DStream_unfinished) { op+=2; break; } }
1376 if (FSE_MAX_TABLELOG*2+7 > sizeof(bitD.bitContainer)*8) /* This test must be static */
1377 BIT_reloadDStream(&bitD);
1383 /* note : BIT_reloadDStream(&bitD) >= FSE_DStream_partiallyFilled; Ends at exactly BIT_DStream_completed */
1386 if ( (BIT_reloadDStream(&bitD)>BIT_DStream_completed) || (op==omax) || (BIT_endOfDStream(&bitD) && (fast || FSE_endOfDState(&state1))) )
1391 if ( (BIT_reloadDStream(&bitD)>BIT_DStream_completed) || (op==omax) || (BIT_endOfDStream(&bitD) && (fast || FSE_endOfDState(&state2))) )
1398 if (BIT_endOfDStream(&bitD) && FSE_endOfDState(&state1) && FSE_endOfDState(&state2))