Home | History | Annotate | Download | only in legacy

Lines Matching refs:bitD

549 MEM_STATIC size_t   BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize);
550 MEM_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, unsigned nbBits);
551 MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD);
552 MEM_STATIC unsigned BIT_endOfDStream(const BIT_DStream_t* bitD);
560 MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, unsigned nbBits);
596 * @bitD : a pointer to an already allocated BIT_DStream_t structure
601 MEM_STATIC size_t BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize)
603 if (srcSize < 1) { memset(bitD, 0, sizeof(*bitD)); return ERROR(srcSize_wrong); }
608 bitD->start = (const char*)srcBuffer;
609 bitD->ptr = (const char*)srcBuffer + srcSize - sizeof(size_t);
610 bitD->bitContainer = MEM_readLEST(bitD->ptr);
613 bitD->bitsConsumed = 8 - BIT_highbit32(contain32);
618 bitD->start = (const char*)srcBuffer;
619 bitD->ptr = bitD->start;
620 bitD->bitContainer = *(const BYTE*)(bitD->start);
623 case 7: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[6]) << (sizeof(size_t)*8 - 16);/* fall-through */
624 case 6: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[5]) << (sizeof(size_t)*8 - 24);/* fall-through */
625 case 5: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[4]) << (sizeof(size_t)*8 - 32);/* fall-through */
626 case 4: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[3]) << 24; /* fall-through */
627 case 3: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[2]) << 16; /* fall-through */
628 case 2: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[1]) << 8; /* fall-through */
633 bitD->bitsConsumed = 8 - BIT_highbit32(contain32);
634 bitD->bitsConsumed += (U32)(sizeof(size_t) - srcSize)*8;
640 MEM_STATIC size_t BIT_lookBits(BIT_DStream_t* bitD, U32 nbBits)
642 const U32 bitMask = sizeof(bitD->bitContainer)*8 - 1;
643 return ((bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> 1) >> ((bitMask-nbBits) & bitMask);
648 MEM_STATIC size_t BIT_lookBitsFast(BIT_DStream_t* bitD, U32 nbBits)
650 const U32 bitMask = sizeof(bitD->bitContainer)*8 - 1;
651 return (bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> (((bitMask+1)-nbBits) & bitMask);
654 MEM_STATIC void BIT_skipBits(BIT_DStream_t* bitD, U32 nbBits)
656 bitD->bitsConsumed += nbBits;
659 MEM_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, U32 nbBits)
661 size_t value = BIT_lookBits(bitD, nbBits);
662 BIT_skipBits(bitD, nbBits);
668 MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, U32 nbBits)
670 size_t value = BIT_lookBitsFast(bitD, nbBits);
671 BIT_skipBits(bitD, nbBits);
675 MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD)
677 if (bitD->bitsConsumed > (sizeof(bitD->bitContainer)*8)) /* should never happen */
680 if (bitD->ptr >= bitD->start + sizeof(bitD->bitContainer))
682 bitD->ptr -= bitD->bitsConsumed >> 3;
683 bitD->bitsConsumed &= 7;
684 bitD->bitContainer = MEM_readLEST(bitD->ptr);
687 if (bitD->ptr == bitD->start)
689 if (bitD->bitsConsumed < sizeof(bitD->bitContainer)*8) return BIT_DStream_endOfBuffer;
693 U32 nbBytes = bitD->bitsConsumed >> 3;
695 if (bitD->ptr - nbBytes < bitD->start)
697 nbBytes = (U32)(bitD->ptr - bitD->start); /* ptr > start */
700 bitD->ptr -= nbBytes;
701 bitD->bitsConsumed -= nbBytes*8;
702 bitD->bitContainer = MEM_readLEST(bitD->ptr); /* reminder : srcSize > sizeof(bitD) */
799 static void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt);
801 static unsigned char FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD);
809 static unsigned char FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD);
830 MEM_STATIC void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt)
834 DStatePtr->state = BIT_readBits(bitD, DTableH.tableLog);
835 BIT_reloadDStream(bitD);
839 MEM_STATIC BYTE FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
844 size_t lowBits = BIT_readBits(bitD, nbBits);
850 MEM_STATIC BYTE FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
855 size_t lowBits = BIT_readBitsFast(bitD, nbBits);
1271 BIT_DStream_t bitD;
1277 errorCode = BIT_initDStream(&bitD, cSrc, cSrcSize); /* replaced last arg by maxCompressed Size */
1280 FSE_initDState(&state1, &bitD, dt);
1281 FSE_initDState(&state2, &bitD, dt);
1283 #define FSE_GETSYMBOL(statePtr) fast ? FSE_decodeSymbolFast(statePtr, &bitD) : FSE_decodeSymbol(statePtr, &bitD)
1286 for ( ; (BIT_reloadDStream(&bitD)==BIT_DStream_unfinished) && (op<olimit) ; op+=4)
1290 if (FSE_MAX_TABLELOG*2+7 > sizeof(bitD.bitContainer)*8) /* This test must be static */
1291 BIT_reloadDStream(&bitD);
1295 if (FSE_MAX_TABLELOG*4+7 > sizeof(bitD.bitContainer)*8) /* This test must be static */
1296 { if (BIT_reloadDStream(&bitD) > BIT_DStream_unfinished) { op+=2; break; } }
1300 if (FSE_MAX_TABLELOG*2+7 > sizeof(bitD.bitContainer)*8) /* This test must be static */
1301 BIT_reloadDStream(&bitD);
1307 /* note : BIT_reloadDStream(&bitD) >= FSE_DStream_partiallyFilled; Ends at exactly BIT_DStream_completed */
1310 if ( (BIT_reloadDStream(&bitD)>BIT_DStream_completed) || (op==omax) || (BIT_endOfDStream(&bitD) && (fast || FSE_endOfDState(&state1))) )
1315 if ( (BIT_reloadDStream(&bitD)>BIT_DStream_completed) || (op==omax) || (BIT_endOfDStream(&bitD) && (fast || FSE_endOfDState(&state2))) )
1322 if (BIT_endOfDStream(&bitD) && FSE_endOfDState(&state1) && FSE_endOfDState(&state2))