MCPcopy Create free account
hub / github.com/F-Stack/f-stack / HUF_decodeStreamX1

Function HUF_decodeStreamX1

freebsd/contrib/openzfs/module/zstd/lib/zstd.c:21563–21586  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21561 HUF_DECODE_SYMBOLX1_0(ptr, DStreamPtr)
21562
21563HINT_INLINE size_t
21564HUF_decodeStreamX1(BYTE* p, BIT_DStream_t* const bitDPtr, BYTE* const pEnd, const HUF_DEltX1* const dt, const U32 dtLog)
21565{
21566 BYTE* const pStart = p;
21567
21568 /* up to 4 symbols at a time */
21569 while ((BIT_reloadDStream(bitDPtr) == BIT_DStream_unfinished) & (p < pEnd-3)) {
21570 HUF_DECODE_SYMBOLX1_2(p, bitDPtr);
21571 HUF_DECODE_SYMBOLX1_1(p, bitDPtr);
21572 HUF_DECODE_SYMBOLX1_2(p, bitDPtr);
21573 HUF_DECODE_SYMBOLX1_0(p, bitDPtr);
21574 }
21575
21576 /* [0-3] symbols remaining */
21577 if (MEM_32bits())
21578 while ((BIT_reloadDStream(bitDPtr) == BIT_DStream_unfinished) & (p < pEnd))
21579 HUF_DECODE_SYMBOLX1_0(p, bitDPtr);
21580
21581 /* no more data to retrieve from bitstream, no need to reload */
21582 while (p < pEnd)
21583 HUF_DECODE_SYMBOLX1_0(p, bitDPtr);
21584
21585 return pEnd-pStart;
21586}
21587
21588FORCE_INLINE_TEMPLATE size_t
21589HUF_decompress1X1_usingDTable_internal_body(

Calls 2

BIT_reloadDStreamFunction · 0.70
MEM_32bitsFunction · 0.70

Tested by

no test coverage detected