| 22042 | ptr += HUF_decodeSymbolX2(ptr, DStreamPtr, dt, dtLog) |
| 22043 | |
| 22044 | HINT_INLINE size_t |
| 22045 | HUF_decodeStreamX2(BYTE* p, BIT_DStream_t* bitDPtr, BYTE* const pEnd, |
| 22046 | const HUF_DEltX2* const dt, const U32 dtLog) |
| 22047 | { |
| 22048 | BYTE* const pStart = p; |
| 22049 | |
| 22050 | /* up to 8 symbols at a time */ |
| 22051 | while ((BIT_reloadDStream(bitDPtr) == BIT_DStream_unfinished) & (p < pEnd-(sizeof(bitDPtr->bitContainer)-1))) { |
| 22052 | HUF_DECODE_SYMBOLX2_2(p, bitDPtr); |
| 22053 | HUF_DECODE_SYMBOLX2_1(p, bitDPtr); |
| 22054 | HUF_DECODE_SYMBOLX2_2(p, bitDPtr); |
| 22055 | HUF_DECODE_SYMBOLX2_0(p, bitDPtr); |
| 22056 | } |
| 22057 | |
| 22058 | /* closer to end : up to 2 symbols at a time */ |
| 22059 | while ((BIT_reloadDStream(bitDPtr) == BIT_DStream_unfinished) & (p <= pEnd-2)) |
| 22060 | HUF_DECODE_SYMBOLX2_0(p, bitDPtr); |
| 22061 | |
| 22062 | while (p <= pEnd-2) |
| 22063 | HUF_DECODE_SYMBOLX2_0(p, bitDPtr); /* no need to reload : reached the end of DStream */ |
| 22064 | |
| 22065 | if (p < pEnd) |
| 22066 | p += HUF_decodeLastSymbolX2(p, bitDPtr, dt, dtLog); |
| 22067 | |
| 22068 | return p-pStart; |
| 22069 | } |
| 22070 | |
| 22071 | FORCE_INLINE_TEMPLATE size_t |
| 22072 | HUF_decompress1X2_usingDTable_internal_body( |
no test coverage detected