Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Decode a literal (one 8-bit byte)

Proto:static void lzma_literal(struct xz_dec_lzma2 *s)

Type:void

Parameter:

TypeParameterName
struct xz_dec_lzma2 *s
590  probs = Get pointer to literal coder probability array.
592  If Test if the previous symbol was a literal. Then
593  symbol = Decode a bittree starting from the most significant bit.
594  Else
595  symbol = 1
596  match_byte = Get a byte from the dictionary at the given distance. The distance is* assumed to valid, or as a special case, zero when the dictionary is* still empty. This special case is needed for single-call decoding to << 1
597  offset = 0x100
599  Do
601  match_byte <<= 1
602  i = offset + match_bit + symbol
605  symbol = (symbol << 1) + 1
606  offset &= match_bit
607  Else
608  symbol <<= 1
609  offset &= ~match_bit
611  When symbol < 0x100 cycle
614  Put one byte into the dictionary. It is assumed that there is space for it.
615  Indicate that the latest symbol was a literal.
Caller
NameDescribe
lzma_mainLZMA decoder core