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:13
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:HUF_decompress4X2_usingDTable_internal

Proto:static size_t HUF_decompress4X2_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
250  If cSrcSize < 10 Then Return -***************************************** Error codes handling(corruption_detected)
254  istart = cSrc
255  ostart = dst
256  oend = ostart + dstSize
257  dtPtr = DTable + 1
258  dt = dtPtr
265  length1 = === Little endian r/w ===
266  length2 = === Little endian r/w ===
267  length3 = === Little endian r/w ===
268  length4 = cSrcSize - length1 + length2 + length3 + 6
269  istart1 = istart + 6
270  istart2 = istart1 + length1
271  istart3 = istart2 + length2
272  istart4 = istart3 + length3
273  segmentSize = (dstSize + 3) / 4
274  opStart2 = ostart + segmentSize
275  opStart3 = opStart2 + segmentSize
276  opStart4 = opStart3 + segmentSize
277  op1 = ostart
278  op2 = opStart2
279  op3 = opStart3
280  op4 = opStart4
282  dtd = HUF_getDTableDesc(DTable)
283  dtLog = tableLog
285  If length4 > cSrcSize Then Return -***************************************** Error codes handling(corruption_detected)
288  errorCode = 1,2,4,8 would be better for bitmap combinations, but slows down performance a bit ... :(
289  If HUF_isError(errorCode) Then Return errorCode
293  errorCode = 1,2,4,8 would be better for bitmap combinations, but slows down performance a bit ... :(
294  If HUF_isError(errorCode) Then Return errorCode
298  errorCode = 1,2,4,8 would be better for bitmap combinations, but slows down performance a bit ... :(
299  If HUF_isError(errorCode) Then Return errorCode
303  errorCode = 1,2,4,8 would be better for bitmap combinations, but slows down performance a bit ... :(
304  If HUF_isError(errorCode) Then Return errorCode
309  endSignal = BIT_reloadDStream( & bitD1) | BIT_reloadDStream( & bitD2) | BIT_reloadDStream( & bitD3) | BIT_reloadDStream( & bitD4)
310  When endSignal == BIT_DStream_unfinished && op4 < oend - 7 cycle
323  HUF_DECODE_SYMBOLX2_0(op1, & bitD1)
324  HUF_DECODE_SYMBOLX2_0(op2, & bitD2)
325  HUF_DECODE_SYMBOLX2_0(op3, & bitD3)
326  HUF_DECODE_SYMBOLX2_0(op4, & bitD4)
327  endSignal = BIT_reloadDStream( & bitD1) | BIT_reloadDStream( & bitD2) | BIT_reloadDStream( & bitD3) | BIT_reloadDStream( & bitD4)
331  If op1 > opStart2 Then Return -***************************************** Error codes handling(corruption_detected)
333  If op2 > opStart3 Then Return -***************************************** Error codes handling(corruption_detected)
335  If op3 > opStart4 Then Return -***************************************** Error codes handling(corruption_detected)
340  HUF_decodeStreamX2(op1, & bitD1, opStart2, dt, dtLog)
341  HUF_decodeStreamX2(op2, & bitD2, opStart3, dt, dtLog)
342  HUF_decodeStreamX2(op3, & bitD3, opStart4, dt, dtLog)
343  HUF_decodeStreamX2(op4, & bitD4, oend, dt, dtLog)
346  endSignal = 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).
347  If Not endSignal Then Return -***************************************** Error codes handling(corruption_detected)
351  Return dstSize
Caller
NameDescribe
HUF_decompress4X2_usingDTable
HUF_decompress4X2_DCtx_wksp
HUF_decompress4X_usingDTable