Home | History | Annotate | Download | only in legacy

Lines Matching defs:bitD

272 MEM_STATIC size_t   BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize);
273 MEM_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, unsigned nbBits);
274 MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD);
275 MEM_STATIC unsigned BIT_endOfDStream(const BIT_DStream_t* bitD);
281 MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, unsigned nbBits);
318 * @bitD : a pointer to an already allocated BIT_DStream_t structure
323 MEM_STATIC size_t BIT_initDStream(BIT_DStream_t* bitD, const void* srcBuffer, size_t srcSize)
325 if (srcSize < 1) { memset(bitD, 0, sizeof(*bitD)); return ERROR(srcSize_wrong); }
330 bitD->start = (const char*)srcBuffer;
331 bitD->ptr = (const char*)srcBuffer + srcSize - sizeof(size_t);
332 bitD->bitContainer = MEM_readLEST(bitD->ptr);
335 bitD->bitsConsumed = 8 - BIT_highbit32(contain32);
340 bitD->start = (const char*)srcBuffer;
341 bitD->ptr = bitD->start;
342 bitD->bitContainer = *(const BYTE*)(bitD->start);
345 case 7: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[6]) << (sizeof(size_t)*8 - 16);
347 case 6: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[5]) << (sizeof(size_t)*8 - 24);
349 case 5: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[4]) << (sizeof(size_t)*8 - 32);
351 case 4: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[3]) << 24;
353 case 3: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[2]) << 16;
355 case 2: bitD->bitContainer += (size_t)(((const BYTE*)(bitD->start))[1]) << 8;
361 bitD->bitsConsumed = 8 - BIT_highbit32(contain32);
362 bitD->bitsConsumed += (U32)(sizeof(size_t) - srcSize)*8;
368 MEM_STATIC size_t BIT_lookBits(BIT_DStream_t* bitD, U32 nbBits)
370 const U32 bitMask = sizeof(bitD->bitContainer)*8 - 1;
371 return ((bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> 1) >> ((bitMask-nbBits) & bitMask);
376 MEM_STATIC size_t BIT_lookBitsFast(BIT_DStream_t* bitD, U32 nbBits)
378 const U32 bitMask = sizeof(bitD->bitContainer)*8 - 1;
379 return (bitD->bitContainer << (bitD->bitsConsumed & bitMask)) >> (((bitMask+1)-nbBits) & bitMask);
382 MEM_STATIC void BIT_skipBits(BIT_DStream_t* bitD, U32 nbBits)
384 bitD->bitsConsumed += nbBits;
387 MEM_STATIC size_t BIT_readBits(BIT_DStream_t* bitD, U32 nbBits)
389 size_t value = BIT_lookBits(bitD, nbBits);
390 BIT_skipBits(bitD, nbBits);
396 MEM_STATIC size_t BIT_readBitsFast(BIT_DStream_t* bitD, U32 nbBits)
398 size_t value = BIT_lookBitsFast(bitD, nbBits);
399 BIT_skipBits(bitD, nbBits);
403 MEM_STATIC BIT_DStream_status BIT_reloadDStream(BIT_DStream_t* bitD)
405 if (bitD->bitsConsumed > (sizeof(bitD->bitContainer)*8)) /* should never happen */
408 if (bitD->ptr >= bitD->start + sizeof(bitD->bitContainer))
410 bitD->ptr -= bitD->bitsConsumed >> 3;
411 bitD->bitsConsumed &= 7;
412 bitD->bitContainer = MEM_readLEST(bitD->ptr);
415 if (bitD->ptr == bitD->start)
417 if (bitD->bitsConsumed < sizeof(bitD->bitContainer)*8) return BIT_DStream_endOfBuffer;
421 U32 nbBytes = bitD->bitsConsumed >> 3;
423 if (bitD->ptr - nbBytes < bitD->start)
425 nbBytes = (U32)(bitD->ptr - bitD->start); /* ptr > start */
428 bitD->ptr -= nbBytes;
429 bitD->bitsConsumed -= nbBytes*8;
430 bitD->bitContainer = MEM_readLEST(bitD->ptr); /* reminder : srcSize > sizeof(bitD) */
618 static void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt);
620 static unsigned char FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD);
628 static unsigned char FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD);
650 MEM_STATIC void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD, const FSE_DTable* dt)
654 DStatePtr->state = BIT_readBits(bitD, DTableH.tableLog);
655 BIT_reloadDStream(bitD);
659 MEM_STATIC BYTE FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
664 size_t lowBits = BIT_readBits(bitD, nbBits);
670 MEM_STATIC BYTE FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStream_t* bitD)
675 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))