Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\zstd\huf_decompress.c Create Date:2022-07-28 07:06:31
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:HUF_decompress4X4_usingDTable_internal

Proto:static size_t HUF_decompress4X4_usingDTable_internal(void *dst, size_t dstSize, const void *cSrc, size_t cSrcSize, const HUF_DTable *DTable)

Type:size_t

Parameter:

TypeParameterName
void *dst
size_tdstSize
const void *cSrc
size_tcSrcSize
const HUF_DTable *DTable
709  If cSrcSize < 10 Then Return -***************************************** Error codes handling(corruption_detected)
713  istart = cSrc
714  ostart = dst
715  oend = ostart + dstSize
716  dtPtr = DTable + 1
717  dt = dtPtr
724  length1 = === Little endian r/w ===
725  length2 = === Little endian r/w ===
726  length3 = === Little endian r/w ===
727  length4 = cSrcSize - length1 + length2 + length3 + 6
728  istart1 = istart + 6
729  istart2 = istart1 + length1
730  istart3 = istart2 + length2
731  istart4 = istart3 + length3
732  segmentSize = (dstSize + 3) / 4
733  opStart2 = ostart + segmentSize
734  opStart3 = opStart2 + segmentSize
735  opStart4 = opStart3 + segmentSize
736  op1 = ostart
737  op2 = opStart2
738  op3 = opStart3
739  op4 = opStart4
741  dtd = HUF_getDTableDesc(DTable)
742  dtLog = tableLog
744  If length4 > cSrcSize Then Return -***************************************** Error codes handling(corruption_detected)
747  errorCode = 1,2,4,8 would be better for bitmap combinations, but slows down performance a bit ... :(
748  If HUF_isError(errorCode) Then Return errorCode
752  errorCode = 1,2,4,8 would be better for bitmap combinations, but slows down performance a bit ... :(
753  If HUF_isError(errorCode) Then Return errorCode
757  errorCode = 1,2,4,8 would be better for bitmap combinations, but slows down performance a bit ... :(
758  If HUF_isError(errorCode) Then Return errorCode
762  errorCode = 1,2,4,8 would be better for bitmap combinations, but slows down performance a bit ... :(
763  If HUF_isError(errorCode) Then Return errorCode
768  endSignal = BIT_reloadDStream( & bitD1) | BIT_reloadDStream( & bitD2) | BIT_reloadDStream( & bitD3) | BIT_reloadDStream( & bitD4)
769  When endSignal == BIT_DStream_unfinished & op4 < oend - size of bitContainer - 1 cycle
782  HUF_DECODE_SYMBOLX4_0(op1, & bitD1)
783  HUF_DECODE_SYMBOLX4_0(op2, & bitD2)
784  HUF_DECODE_SYMBOLX4_0(op3, & bitD3)
785  HUF_DECODE_SYMBOLX4_0(op4, & bitD4)
787  endSignal = BIT_reloadDStream( & bitD1) | BIT_reloadDStream( & bitD2) | BIT_reloadDStream( & bitD3) | BIT_reloadDStream( & bitD4)
791  If op1 > opStart2 Then Return -***************************************** Error codes handling(corruption_detected)
793  If op2 > opStart3 Then Return -***************************************** Error codes handling(corruption_detected)
795  If op3 > opStart4 Then Return -***************************************** Error codes handling(corruption_detected)
800  HUF_decodeStreamX4(op1, & bitD1, opStart2, dt, dtLog)
801  HUF_decodeStreamX4(op2, & bitD2, opStart3, dt, dtLog)
802  HUF_decodeStreamX4(op3, & bitD3, opStart4, dt, dtLog)
803  HUF_decodeStreamX4(op4, & bitD4, oend, dt, dtLog)
807  endCheck = Tells if DStream has exactly reached its end (all bits consumed). & Tells if DStream has exactly reached its end (all bits consumed). & Tells if DStream has exactly reached its end (all bits consumed). & Tells if DStream has exactly reached its end (all bits consumed).
808  If Not endCheck Then Return -***************************************** Error codes handling(corruption_detected)
813  Return dstSize
Caller
NameDescribe
HUF_decompress4X4_usingDTable
HUF_decompress4X4_DCtx_wksp
HUF_decompress4X_usingDTable