5095:
5085:
3883:
3873:
3863:
689:
32:
2063:(up to 4, from the LZMA header or LZMA2 properties packet) least significant bits of the dictionary position (the number of bytes coded since the last dictionary reset modulo the dictionary size). Note that the dictionary size is normally the multiple of a large power of 2, so these values are equivalently described as the least significant bits of the number of uncompressed bytes seen since the last dictionary reset.
73:
120:
254:, using a complex model to make a probability prediction of each bit. The dictionary compressor finds matches using sophisticated dictionary data structures, and produces a stream of literal symbols and phrase references, which is encoded one bit at a time by the range encoder: many encodings are possible, and a
262:
the bitfields in each representation of a literal or phrase: this is nearly as simple as a generic byte-based model, but gives much better compression because it avoids mixing unrelated bits together in the same context. Furthermore, compared to classic dictionary compression (such as the one used in
3196:
LZMA2 is a modified version of LZMA that offers a better compression ratio for uncompressible data (random data expands about 0.005%, compared to 1.35% with original LZMA), and optionally can compress multiple parts of large files in parallel, greatly increasing compression speed but with a possible
2095:
is an array of 8 values in the 0–2 range, one for each bit position in a byte, which are 1 or 2 if the previous packet was a *MATCH and it is either the most significant bit position or all the more significant bits in the literal to encode/decode are equal to the bits in the corresponding positions
1631:
In the 7-zip LZMA file format, configuration is performed by a header containing the "properties" byte followed by the 32-bit little-endian dictionary size in bytes. In LZMA2, the properties byte can optionally be changed at the start of LZMA2 LZMA packets, while the dictionary size is specified in
278:
In LZMA compression, the compressed stream is a stream of bits, encoded using an adaptive binary range coder. The stream is divided into packets, each packet describing either a single byte, or an LZ77 sequence with its length and distance implicitly or explicitly encoded. Each part of each packet
261:
Prior to LZMA, most encoder models were purely byte-based (i.e. they coded each bit using only a cascade of contexts to represent the dependencies on previous bits from the same byte). The main innovation of LZMA is that instead of a generic byte-based model, LZMA's model uses contexts specific to
429:
The distance encoding starts with a 6-bit "distance slot", which determines how many further bits are needed. Distances are decoded as a binary concatenation of, from most to least significant, two bits depending on the distance slot, some bits encoded with fixed 0.5 probability, and some context
1455:
Non-reverse bit-tree decoding works by keeping a pointer to the tree of variables, which starts at the root. As long as the pointer does not point to a leaf, a bit is decoded using the variable indicated by the pointer, and the pointer is moved to either the left or right children depending on
233:
is a simple container format that can include both uncompressed data and LZMA data, possibly with multiple different LZMA encoding parameters. LZMA2 supports arbitrarily scalable multithreaded compression and decompression and efficient compression of data which is partially incompressible.
752:
Embedded decoder by Lasse Collin included in the Linux kernel source from which the LZMA and LZMA2 algorithm details can be relatively easily deduced: thus, while citing source code as reference is not ideal, any programmer should be able to check the claims below with a few hours of work.
2546:
The LZMA2 container supports multiple runs of compressed LZMA data and uncompressed data. Each LZMA compressed run can have a different LZMA configuration and dictionary. This improves the compression of partially or completely incompressible files and allows multithreaded compression and
380:
LONGREP packets remove the distance used from the list of the most recent distances and reinsert it at the front, to avoid useless repeated entry, while MATCH just adds the distance to the front even if already present in the list and SHORTREP and LONGREP don't alter the list.
279:
is modeled with independent contexts, so the probability predictions for each bit are correlated with the values of that bit (and related bits from the same field) in previous packets of the same type. Both the lzip and the LZMA SDK documentation describes this stream format.
1463:
Reverse bit-tree decoding instead decodes from least significant bit to most significant bits, and thus only supports ranges that are powers of two, and always decodes the same number of bits. It is equivalent to performing non-reverse bittree decoding with a power of two
2547:
multithreaded decompression by breaking the file into runs that can be compressed or decompressed independently in parallel. Criticism of LZMA2's changes over LZMA include header fields not being covered by CRCs, and parallel decompression not being possible in practice.
1459:
Non-reverse bit-tree decoding thus happens from most significant to least significant bit, stopping when only one value in the valid range is possible (this conceptually allows to have range sizes that are not powers of two, even though LZMA does not make use of this).
1651:
value is conceptually based on which of the patterns in the following table match the latest 2–4 packet types seen, and is implemented as a state machine state updated according to the transition table listed in the table every time a packet is output.
1435:
The range decoder also provides the bit-tree, reverse bit-tree and fixed probability integer decoding facilities, which are used to decode integers, and generalize the single-bit decoding described above. To decode unsigned integers less than
1640:
The LZMA packet format has already been described, and this section specifies how LZMA statistically models the LZ-encoded streams, or in other words which probability variables are passed to the range decoder to decode each bit.
2088:
value is the byte that would have been decoded if a SHORTREP packet had been used (in other words, the byte found at the dictionary at the last used distance); it is only used just after a *MATCH packet.
2865:
LZHAM (LZ, Huffman, Arithmetic, Markov), is an LZMA-like implementation that trades compression throughput for very high ratios and higher decompression throughput. It was placed by its author in the
975:
2769:
used during compression. Small code size and relatively low memory overhead, particularly with smaller dictionary lengths, and free source code make the LZMA decompression algorithm well-suited to
1073:
1192:
768:(typically implemented using a 16-bit data type) representing the predicted probability of the bit being 0, which is read and updated by the range decoder (and should be initialized to
1644:
Those probability variables are implemented as multi-dimensional arrays; before introducing them, a few values that are used as indices in these multidimensional arrays are defined.
1296:
1503:
added to the conceptual value), and the variable at index 0 in the array is unused, while the one at index 1 is the root, and the left and right children indices are computed as 2
423:
As in LZ77, the length is not limited by the distance, because copying from the dictionary is defined as if the copy was performed byte by byte, keeping the distance constant.
2834:: another LZMA implementation mostly for Unix-like systems to be directly competing with xz. It mainly features a simpler file format and therefore easier error recovery.
2765:
Decompression-only code for LZMA generally compiles to around 5 KB, and the amount of RAM required during decompression is principally determined by the size of the
2107:
The literal/Literal set of variables can be seen as a "pseudo-bit-tree" similar to a bit-tree but with 3 variables instead of 1 in every node, chosen depending on the
45:
2933:- LZMA Unix Port was finally replaced by xz which features better and faster compression; from here we know even LZMA Unix Port was a lot better than gzip and bzip2.
1411:
and floor operation is done before the multiplication, not after (apparently to avoid requiring fast hardware support for 32-bit multiplication with a 64-bit result)
1403:
1239:
896:
795:
2118:
is incorrect; they are instead coded simply as their byte value, but using the pseudo-bit-tree just described and the additional context listed in the table below.
2697:
LZMA2 compression, which is an improved version of LZMA, is now the default compression method for the .7z format, starting with version 9.30 on
October 26, 2012.
2649:
The LZMA compressed data, starting with the 5 bytes (of which the first is ignored) used to initialize the range coder (which are included in the compressed size)
94:
2583:
0x80–0xff denotes an LZMA chunk, where the lowest 5 bits are used as bit 16–20 of the uncompressed size minus one, and bit 5–6 indicates what should be reset
2944:
2893:
764:
Context-based range decoding is invoked by the LZMA algorithm passing it a reference to the "context", which consists of the unsigned 11-bit variable
3378:
LZHAM is a lossless data compression codec written in C/C++ with a compression ratio similar to LZMA but with 1.5–8 times faster decompression speed.
1530:
Fixed probability integer decoding simply performs fixed probability bit decoding repeatedly, reading bits from the most to the least significant.
270:
formats), the dictionary sizes can be and usually are much larger, taking advantage of the large amount of memory available on modern systems.
51:
3919:
828:
to the 32-bit value starting at the second byte in the stream interpreted as big-endian; the first byte in the stream is completely ignored.
2666:, while the .7z file format, which can contain either LZMA or LZMA2 data, is documented in the 7zformat.txt file contained in the LZMA SDK.
4587:
4398:
802:
Fixed probability range decoding instead assumes a 0.5 probability, but operates slightly differently from context-based range decoding.
745:
No complete natural language specification of the compressed format seems to exist, other than the one attempted in the following text.
1572:
is the number of high bits of the previous byte to use as a context for literal encoding (the default value used by the LZMA SDK is 3)
81:
3449:
5129:
4793:
4616:
4410:
4101:
4798:
4375:
1448:
11-bit probability variables is provided, which are conceptually arranged as the internal nodes of a complete binary tree with
2884:
1361:
unconditionally. The resulting sign bit is used to both decide the bit to return and to generate a mask that is combined with
3093:
912:
2792:-like command line tool, supporting both LZMA and LZMA2 in its xz file format. It made its way into several software of the
4528:
706:
137:
250:
with huge dictionary sizes and special support for repeatedly used match distances), whose output is then encoded with a
2100:, while otherwise it is 0; the choice between the 1 or 2 values depends on the value of the bit at the same position in
4905:
4643:
4582:
4393:
4343:
4166:
1015:
761:
LZMA data is at the lowest level decoded one bit at a time by the range decoder, at the direction of the LZMA decoder.
377:
LONGREP refers to LONGREP packets, *REP refers to both LONGREP and SHORTREP, and *MATCH refers to both MATCH and *REP.
130:
4026:
4011:
3912:
2679:
1132:
732:
162:
59:
3417:
2074:(up to 4, from the LZMA header or LZMA2 properties packet) most significant bits of the previous uncompressed byte.
714:
5018:
5028:
4866:
4717:
4636:
4430:
5001:
4621:
4415:
4203:
3780:
2853:
2713:
1527:
is implicitly represented by its logarithm, and has its own independent implementation for efficiency reasons.
1456:
whether the bit is 0 or 1; when the pointer points to a leaf, the number associated with the leaf is returned.
699:
2952:
2897:
5098:
4134:
3866:
3442:
2725:
2721:
1255:
4763:
5088:
4991:
4533:
4091:
3905:
3594:
3273:
2114:
The claim, found in some sources, that literals after a *MATCH are coded as the XOR of the byte value with
5134:
4081:
4076:
3548:
2762:(for images) and BCJ for executable code. It also provides some other compression algorithms used in 7z.
2717:
426:
Distances are logically 32-bit and distance 0 points to the most recently added byte in the dictionary.
5023:
4950:
4788:
4768:
4712:
4370:
4161:
3964:
3843:
2733:
227:), while still maintaining decompression speed similar to other commonly used compression algorithms.
5124:
5033:
4974:
4900:
4748:
4338:
4333:
4188:
4031:
3817:
3184:
2825:
2729:
188:
20:
3067:
2111:
value at the bit position of the next bit to decode after the bit-tree context denoted by the node.
5038:
4611:
4405:
4106:
3886:
3435:
2885:
2709:
2687:
430:
encoded bits, according to the following table (distance slots 0−3 directly encode distances 0−3).
192:
3313:
3160:
4979:
4350:
4237:
4193:
4006:
3989:
3979:
3876:
3397:
710:
86:
4604:
4355:
4139:
3984:
1414:
Fixed probability decoding is not strictly equivalent to context-based range decoding with any
4876:
3422:
5008:
3614:
2683:
1655:
The initial state is 0, and thus packets before the beginning are assumed to be LIT packets.
1381:
1217:
874:
773:
4692:
4154:
4116:
3937:
3862:
2604:
LZMA state resets cause a reset of all LZMA state except the dictionary, and specifically:
2781:
In addition to the 7-Zip reference implementation, the following support the LZMA format.
8:
4923:
4814:
4773:
4758:
4727:
4722:
4631:
4538:
4471:
4440:
4425:
4208:
3807:
3629:
2813:
2701:
255:
2567:
LZMA2 data consists of packets starting with a control byte, with the following values:
2081:
value denotes whether a packet that includes a length is a LONGREP rather than a MATCH.
1353:, for performance reasons, does not include a conditional branch, but instead subtracts
4996:
4966:
4945:
4851:
4783:
4677:
4365:
4181:
4171:
4066:
4046:
4041:
3502:
3482:
2848:
starting with version 12.1. It also can use various other compression methods such as
1418:
value, due to the fact that context-based range decoding discards the lower 11 bits of
4577:
4940:
4928:
4910:
4778:
4662:
4599:
4445:
4360:
4316:
4277:
3959:
3812:
3792:
3785:
3775:
3770:
3760:
3755:
3745:
3740:
3717:
3712:
3677:
3672:
3667:
3652:
3642:
3619:
3599:
3492:
2841:
2837:
2640:
A 16-bit big-endian value encoding the low 16 bits of the uncompressed size minus one
263:
4915:
4871:
4844:
4839:
4697:
4682:
4592:
4501:
4496:
4325:
4058:
4036:
3928:
3637:
3609:
243:
204:
4834:
4648:
4572:
4553:
4523:
4491:
4457:
4016:
3954:
3802:
3487:
2770:
3232:"PyLZMA – Platform independent python bindings for the LZMA compression library"
2995:
4626:
4420:
4149:
4144:
4001:
3974:
3946:
3732:
3707:
3458:
3231:
2766:
2759:
251:
212:
2755:
2686:, with an additional special exception for linked binaries, but was placed by
1426:
as just described, while fixed probability decoding only discards the last bit
5118:
4933:
4881:
4548:
4543:
4518:
4450:
4071:
3969:
3797:
3338:
2866:
2748:
2691:
3373:
3019:
327:
A one-byte LZ77 sequence. Distance is equal to the last used LZ77 distance.
5054:
4021:
3996:
3897:
3647:
3563:
3497:
3113:
2817:
2805:
371:
An LZ77 sequence. Distance is equal to the fourth last used LZ77 distance.
349:
An LZ77 sequence. Distance is equal to the second last used LZ77 distance.
2922:
360:
An LZ77 sequence. Distance is equal to the third last used LZ77 distance.
5013:
4891:
4687:
4563:
4513:
3624:
3164:
2889:
2744:
2678:
is available as LZMA SDK. It was originally dual-licensed under both the
2600:
3: state reset, properties reset using properties byte, dictionary reset
417:
The length encoded using 8 bits, gives the lengths range from 18 to 273.
258:
algorithm is used to select an optimal one under certain approximations.
3252:
409:
The length encoded using 3 bits, gives the lengths range from 10 to 17.
5070:
4861:
4856:
4743:
4702:
4508:
3833:
2740:
401:
The length encoded using 3 bits, gives the lengths range from 2 to 9.
19:"LZMA" redirects here. For the airport with the ICAO code "LZMA", see
3573:
3472:
2793:
219:
in 1977 and features a high compression ratio (generally higher than
216:
184:
3402:
3298:
2550:
The LZMA2 header consists of a byte indicating the dictionary size:
1487:
function in the Linux kernel, integers are actually returned in the
717:. Statements consisting only of original research should be removed.
338:
An LZ77 sequence. Distance is equal to the last used LZ77 distance.
4984:
4829:
4486:
3568:
3528:
3209:
2785:
2659:
1590:
is the number of low bits of the dictionary position to include in
1578:
is the number of low bits of the dictionary position to include in
805:
The range decoder state consists of two unsigned 32-bit variables,
749:
224:
3427:
3352:
4753:
4227:
4176:
3692:
3687:
3046:
2632:
The data to be copied verbatim into the dictionary and the output
1349:
The Linux kernel implementation of fixed-probability decoding in
316:
A typical LZ77 sequence describing sequence length and distance.
3407:
2754:
In addition to LZMA, the SDK and 7-Zip also implements multiple
2643:
A 16-bit big-endian value encoding the compressed size minus one
1204:
Fixed-probability range decoding of a bit proceeds in this way:
72:
4267:
3538:
3518:
2974:
2845:
2821:
3277:
2816:
systems contains xz code, and many software distributors like
2574:
1 denotes a dictionary reset followed by an uncompressed chunk
5102:
4707:
4300:
4247:
3657:
3523:
2849:
2797:
2705:
2675:
220:
200:
191:. It has been under development since either 1996 or 1998 by
3140:
2646:
A properties/lclppb byte if bit 6 in the control byte is set
2560:
Odd values less than 40 indicate a 3×2 bytes dictionary size
305:
A single byte encoded using an adaptive binary range coder.
4257:
4111:
4096:
4086:
3838:
3765:
3750:
3722:
3682:
3558:
3553:
3533:
3477:
2831:
2809:
2801:
2789:
2557:
Even values less than 40 indicate a 2 bytes dictionary size
2402:
distance: 14+ distance slots, after fixed probability bits
267:
247:
223:) and a variable compression-dictionary size (up to 4
208:
2724:
bindings for the C++ library, as well as ports of LZMA to
2629:
A 16-bit big-endian value encoding the data size minus one
2577:
2 denotes an uncompressed chunk without a dictionary reset
1544:"properties" byte and a dictionary size. The value of the
4232:
4198:
3848:
3702:
3662:
3604:
3412:
3392:
2121:
The probability variable groups used in LZMA are those:
816:
Initialization of the range decoder consists of setting
3589:
2694:
on
December 2, 2008, with the release of version 4.62.
2662:
format, which can contain LZMA2 data, is documented at
970:{\displaystyle \lfloor range/2^{11}\rfloor \times prob}
196:
2916:
2914:
2892:
that the algorithm is his own creation. (2004-02-19).
2597:
2: state reset, properties reset using properties byte
2758:
intended to improve compression, ranging from simple
1384:
1258:
1220:
1135:
1018:
915:
877:
776:
2911:
2704:LZMA compression library was originally written in
813:(representing the encoded point within the range).
2751:as the basis for its dictionary search algorithm.
2739:The 7-Zip implementation uses several variants of
1397:
1290:
1233:
1186:
1067:
969:
890:
789:
678:
3041:
3039:
3037:
3035:
2669:
1068:{\displaystyle \lfloor 2^{11}-prob\rfloor /2^{5}}
5116:
857:Context-based range decoding of a bit using the
3013:
3011:
1187:{\displaystyle prob-\lfloor prob/2^{5}\rfloor }
3032:
3020:"Xz format inadequate for long-term archiving"
1612:must not be greater than 4. In LZMA2 streams,
748:The description below is based on the compact
3913:
3443:
3423:Data compression, Compressors & Archivers
3062:
3060:
3017:
2796:world with its high performance (compared to
2788:: a streaming implementation that contains a
1596:(the default value used by the LZMA SDK is 2)
1584:(the default value used by the LZMA SDK is 0)
273:
3927:
3008:
2923:"A Quick Benchmark: Gzip vs. Bzip2 vs. LZMA"
2920:
1285:
1259:
1181:
1151:
1047:
1019:
949:
916:
3305:
3138:
3134:
3132:
3130:
2972:
1523:range to a caller-provided variable, where
1430:
861:probability variable proceeds in this way:
60:Learn how and when to remove these messages
3920:
3906:
3872:
3450:
3436:
3330:
3057:
2966:
2828:now use xz for compressing their releases.
3374:"LZHAM – Lossless Data Compression Codec"
3314:"Accepted dpkg 1.17.0 (source amd64 all)"
3311:
2942:
733:Learn how and when to remove this message
163:Learn how and when to remove this message
3127:
3091:
2844:compressions format that was created by
2776:
97:of all important aspects of the article.
3250:
2674:The LZMA implementation extracted from
2618:The last distances for repeated matches
2554:40 indicates a 4 GB − 1 dictionary size
1635:
1291:{\displaystyle \lfloor range/2\rfloor }
756:
5117:
2385:>> 1) − 1)-bit reverse bit-tree
1515:function instead adds integers in the
846:Read a byte from the compressed stream
93:Please consider expanding the lead to
3901:
3431:
3271:
3229:
3141:"LZMA SDK (Software Development Kit)"
1632:the LZMA2 header as later described.
1538:The LZMA decoder is configured by an
1533:
3345:
2653:
2529:match length: after bit sequence 11
2506:match length: after bit sequence 10
849:Set the least significant 8 bits of
831:Normalization proceeds in this way:
682:
113:
66:
25:
3827:Document packaging and distribution
3733:Software packaging and distribution
3457:
3408:LZMA SDK (Software Development Kit)
3253:"Programming Help: Pascal LZMA SDK"
3047:"LZMA Specification.7z in LZMA SDK"
2993:
2479:match length: after bit sequence 0
2449:match length: after bit sequence 1
2055:values consist of respectively the
809:(representing the range size), and
16:Lossless data compression algorithm
13:
384:The length is encoded as follows:
14:
5146:
3386:
2587:Bits 5–6 for LZMA chunks can be:
2563:Values higher than 40 are invalid
799:, representing 0.5 probability).
177:Lempel–Ziv–Markov chain algorithm
140:and remove advice or instruction.
41:This article has multiple issues.
5094:
5093:
5084:
5083:
3882:
3881:
3871:
3861:
3336:
3274:"compress/lzma package for Go 1"
2943:Klausmann, Tobias (2008-05-08).
2625:Uncompressed chunks consist of:
1604:must not be greater than 8, and
1088:is greater than or equal to the
687:
203:archiver. This algorithm uses a
118:
71:
30:
5130:Lossless compression algorithms
3366:
3291:
3265:
3244:
3223:
3202:
3197:reduction in compression ratio.
3177:
3153:
3106:
2945:"Gzip, Bzip2 and Lzma compared"
2888:has asserted multiple times on
2541:
1667:next state when next packet is
679:Decompression algorithm details
207:scheme somewhat similar to the
85:may be too short to adequately
49:or discuss these issues on the
3085:
2987:
2936:
2878:
2800:) and small size (compared to
2670:7-Zip reference implementation
2378:distance: 4–13 distance slots
282:There are 7 types of packets:
95:provide an accessible overview
1:
3418:Windows Binaries for XZ Utils
3230:Bauch, Joachim (2010-04-07).
3092:Collin, Lasse; Pavlov, Igor.
2872:
2720:. There are also third-party
2571:0 denotes the end of the file
3272:Vieru, Andrei (2012-06-28).
3251:Birtles, Alan (2006-06-13).
2996:"Data Compression Explained"
1628:must not be greater than 4.
7:
2921:Lasse Collin (2005-05-31).
2375:, reverse bit-tree context
2334:256 values pseudo-bit-tree
2123:
1657:
713:the claims made and adding
445:Fixed 0.5 probability bits
432:
390:Length code (bit sequence)
386:
288:Packed code (bit sequence)
284:
237:
10:
5151:
4975:Compressed data structures
4297:RLE + BWT + MTF + Huffman
3965:Asymmetric numeral systems
3844:Open Packaging Conventions
274:Compressed format overview
195:and was first used in the
18:
5079:
5063:
5047:
4965:
4890:
4822:
4813:
4736:
4670:
4661:
4562:
4479:
4470:
4386:
4334:Discrete cosine transform
4324:
4315:
4264:LZ77 + Huffman + context
4217:
4127:
4057:
3945:
3936:
3857:
3826:
3731:
3583:Archiving and compression
3582:
3511:
3465:
3398:Lzip format specification
2580:3–0x7f are invalid values
2534:
2511:
2484:
2407:
2399:reverse bit-tree context
2387:
2360:
2336:
1869:
1866:
1863:
1860:
1857:
1850:
1847:
1778:
1775:
1772:
1769:
1766:
1763:
1755:
1666:
1663:
1468:, and reversing the last
1322:is greater or equal than
189:lossless data compression
21:Martin Airport (Slovakia)
5039:Smallest grammar problem
2860:
2636:LZMA chunks consist of:
2297:after bit sequence 1111
1431:Range coding of integers
246:algorithm (a variant of
4980:Compressed suffix array
4529:Nyquist–Shannon theorem
3403:XZ format specification
3161:"Browse /LZMA SDK/4.23"
3094:"lib/xz/xz_dec_lzma2.c"
2949:Blog of an Alpha animal
2708:but has been ported to
2405:4-bit reverse bit-tree
2352:, 5), bit-tree context
2272:after bit sequence 111
2247:after bit sequence 110
1243:, perform normalization
900:, perform normalization
669:(((slot − 1) / 2) − 5)
211:algorithm published by
3839:OEBPS Container Format
3353:"What is a Zipx File?"
3210:"HISTORY of the 7-Zip"
2869:on 15 September 2020.
2840:: an extension to the
2621:All LZMA probabilities
2512:middle bits of length
2215:after bit sequence 11
1600:In non-LZMA2 streams,
1422:before multiplying by
1399:
1398:{\displaystyle 2^{11}}
1292:
1235:
1234:{\displaystyle 2^{24}}
1188:
1069:
971:
892:
891:{\displaystyle 2^{24}}
853:to the byte value read
791:
790:{\displaystyle 2^{10}}
244:dictionary compression
205:dictionary compression
5009:Kolmogorov complexity
4877:Video characteristics
4254:LZ77 + Huffman + ANS
3413:LZMA Utils = XZ Utils
3376:. Richard Geldreich.
3114:"The .xz File Format"
2777:Other implementations
2756:preprocessing filters
2684:Common Public License
2408:low bits of distance
2388:low bits of distance
2331:after bit sequence 0
2190:after bit sequence 1
1400:
1293:
1236:
1189:
1070:
972:
893:
792:
448:Context encoded bits
5099:Compression software
4693:Compression artifact
4649:Psychoacoustic model
3139:Igor Pavlov (2013).
3068:"Lzip Stream Format"
2973:Igor Pavlov (2013).
2535:high bits of length
2532:256 values bit-tree
2424:match length: start
2070:value is set to the
1636:LZMA coding contexts
1480:bits of the result.
1382:
1256:
1218:
1133:
1016:
913:
875:
774:
757:Range coding of bits
439:6-bit distance slot
138:rewrite this article
5089:Compression formats
4728:Texture compression
4723:Standard test image
4539:Silence compression
3018:Antonio Diaz Diaz.
2526:, bit-tree context
2503:, bit-tree context
2485:low bits of length
2476:, bit-tree context
2358:64 values bit-tree
2337:literal byte value
2328:, bit-tree context
435:
294:Packet description
256:dynamic programming
5135:Israeli inventions
4997:Information theory
4852:Display resolution
4678:Chroma subsampling
4067:Byte pair encoding
4012:Shannon–Fano–Elias
3834:OEB Package Format
3393:Official home page
2509:8 values bit-tree
2482:8 values bit-tree
1534:LZMA configuration
1513:rc_bittree_reverse
1395:
1288:
1231:
1184:
1065:
967:
888:
787:
698:possibly contains
434:Distance encoding
433:
5112:
5111:
4961:
4960:
4911:Deblocking filter
4809:
4808:
4657:
4656:
4466:
4465:
4311:
4310:
3895:
3894:
3339:"Lzip Benchmarks"
3318:Debian Package QA
3185:"Inno Setup Help"
2654:xz and 7z formats
2539:
2538:
2322:literal_pos_state
2318:prev_byte_lc_msbs
2133:Parameterized by
2068:prev_byte_lc_msbs
2053:literal_pos_state
2045:
2044:
1664:previous packets
1581:literal_pos_state
743:
742:
735:
700:original research
676:
675:
655:((slot / 2) − 5)
421:
420:
375:
374:
310:1+0 + len + dist
173:
172:
165:
155:
154:
131:a manual or guide
112:
111:
64:
5142:
5125:Data compression
5097:
5096:
5087:
5086:
4916:Lapped transform
4820:
4819:
4698:Image resolution
4683:Coding tree unit
4668:
4667:
4477:
4476:
4322:
4321:
3943:
3942:
3929:Data compression
3922:
3915:
3908:
3899:
3898:
3885:
3884:
3875:
3874:
3865:
3512:Compression only
3452:
3445:
3438:
3429:
3428:
3381:
3380:
3370:
3364:
3363:
3361:
3360:
3349:
3343:
3342:
3341:. LZIP (nongnu).
3334:
3328:
3327:
3325:
3324:
3309:
3303:
3302:
3295:
3289:
3288:
3286:
3285:
3276:. Archived from
3269:
3263:
3262:
3260:
3259:
3248:
3242:
3241:
3239:
3238:
3227:
3221:
3220:
3218:
3217:
3206:
3200:
3199:
3193:
3192:
3187:. jrsoftware.org
3181:
3175:
3174:
3172:
3171:
3157:
3151:
3150:
3148:
3147:
3136:
3125:
3124:
3122:
3121:
3110:
3104:
3103:
3101:
3100:
3089:
3083:
3082:
3080:
3078:
3064:
3055:
3054:
3043:
3030:
3029:
3027:
3026:
3015:
3006:
3005:
3003:
3002:
2991:
2985:
2984:
2982:
2981:
2970:
2964:
2963:
2961:
2960:
2951:. Archived from
2940:
2934:
2932:
2930:
2929:
2918:
2909:
2908:
2906:
2905:
2896:. Archived from
2882:
2591:0: nothing reset
2438:len_dec.choice2
2355:distance: start
2326:literal_bit_mode
2124:
2109:literal_bit_mode
2093:literal_bit_mode
1658:
1623:
1595:
1583:
1564:
1549:
1543:
1522:
1514:
1498:
1486:
1479:
1447:
1406:
1404:
1402:
1401:
1396:
1394:
1393:
1376:The division by
1352:
1299:
1297:
1295:
1294:
1289:
1281:
1242:
1240:
1238:
1237:
1232:
1230:
1229:
1195:
1193:
1191:
1190:
1185:
1180:
1179:
1170:
1076:
1074:
1072:
1071:
1066:
1064:
1063:
1054:
1031:
1030:
978:
976:
974:
973:
968:
948:
947:
938:
899:
897:
895:
894:
889:
887:
886:
823:
798:
796:
794:
793:
788:
786:
785:
738:
731:
727:
724:
718:
715:inline citations
691:
690:
683:
436:
387:
365:1+1+1+1+1 + len
354:1+1+1+1+0 + len
285:
187:used to perform
168:
161:
150:
147:
141:
129:is written like
122:
121:
114:
107:
104:
98:
75:
67:
56:
34:
33:
26:
5150:
5149:
5145:
5144:
5143:
5141:
5140:
5139:
5115:
5114:
5113:
5108:
5075:
5059:
5043:
5024:Rate–distortion
4957:
4886:
4805:
4732:
4653:
4558:
4554:Sub-band coding
4462:
4387:Predictive type
4382:
4307:
4274:LZSS + Huffman
4224:LZ77 + Huffman
4213:
4123:
4059:Dictionary type
4053:
3955:Adaptive coding
3932:
3926:
3896:
3891:
3853:
3822:
3803:Package (macOS)
3727:
3578:
3507:
3461:
3459:Archive formats
3456:
3389:
3384:
3372:
3371:
3367:
3358:
3356:
3351:
3350:
3346:
3335:
3331:
3322:
3320:
3312:Guillem Jover.
3310:
3306:
3297:
3296:
3292:
3283:
3281:
3270:
3266:
3257:
3255:
3249:
3245:
3236:
3234:
3228:
3224:
3215:
3213:
3208:
3207:
3203:
3190:
3188:
3183:
3182:
3178:
3169:
3167:
3159:
3158:
3154:
3145:
3143:
3137:
3128:
3119:
3117:
3112:
3111:
3107:
3098:
3096:
3090:
3086:
3076:
3074:
3066:
3065:
3058:
3045:
3044:
3033:
3024:
3022:
3016:
3009:
3000:
2998:
2994:Mahoney, Matt.
2992:
2988:
2979:
2977:
2971:
2967:
2958:
2956:
2941:
2937:
2927:
2925:
2919:
2912:
2903:
2901:
2883:
2879:
2875:
2863:
2779:
2672:
2656:
2608:The range coder
2544:
2413:len_dec.choice
1638:
1613:
1591:
1579:
1551:
1545:
1539:
1536:
1516:
1512:
1488:
1484:
1473:
1469:
1441:
1433:
1407:when computing
1389:
1385:
1383:
1380:
1379:
1377:
1350:
1277:
1257:
1254:
1253:
1251:
1225:
1221:
1219:
1216:
1215:
1213:
1175:
1171:
1166:
1134:
1131:
1130:
1128:
1059:
1055:
1050:
1026:
1022:
1017:
1014:
1013:
1011:
943:
939:
934:
914:
911:
910:
908:
882:
878:
876:
873:
872:
870:
821:
781:
777:
775:
772:
771:
769:
759:
739:
728:
722:
719:
704:
692:
688:
681:
442:Highest 2 bits
276:
240:
169:
158:
157:
156:
151:
145:
142:
135:
123:
119:
108:
102:
99:
92:
80:This article's
76:
35:
31:
24:
17:
12:
11:
5:
5148:
5138:
5137:
5132:
5127:
5110:
5109:
5107:
5106:
5091:
5080:
5077:
5076:
5074:
5073:
5067:
5065:
5061:
5060:
5058:
5057:
5051:
5049:
5045:
5044:
5042:
5041:
5036:
5031:
5026:
5021:
5016:
5011:
5006:
5005:
5004:
4994:
4989:
4988:
4987:
4982:
4971:
4969:
4963:
4962:
4959:
4958:
4956:
4955:
4954:
4953:
4948:
4938:
4937:
4936:
4931:
4926:
4918:
4913:
4908:
4903:
4897:
4895:
4888:
4887:
4885:
4884:
4879:
4874:
4869:
4864:
4859:
4854:
4849:
4848:
4847:
4842:
4837:
4826:
4824:
4817:
4811:
4810:
4807:
4806:
4804:
4803:
4802:
4801:
4796:
4791:
4786:
4776:
4771:
4766:
4761:
4756:
4751:
4746:
4740:
4738:
4734:
4733:
4731:
4730:
4725:
4720:
4715:
4710:
4705:
4700:
4695:
4690:
4685:
4680:
4674:
4672:
4665:
4659:
4658:
4655:
4654:
4652:
4651:
4646:
4641:
4640:
4639:
4634:
4629:
4624:
4619:
4609:
4608:
4607:
4597:
4596:
4595:
4590:
4580:
4575:
4569:
4567:
4560:
4559:
4557:
4556:
4551:
4546:
4541:
4536:
4531:
4526:
4521:
4516:
4511:
4506:
4505:
4504:
4499:
4494:
4483:
4481:
4474:
4468:
4467:
4464:
4463:
4461:
4460:
4458:Psychoacoustic
4455:
4454:
4453:
4448:
4443:
4435:
4434:
4433:
4428:
4423:
4418:
4413:
4403:
4402:
4401:
4390:
4388:
4384:
4383:
4381:
4380:
4379:
4378:
4373:
4368:
4358:
4353:
4348:
4347:
4346:
4341:
4330:
4328:
4326:Transform type
4319:
4313:
4312:
4309:
4308:
4306:
4305:
4304:
4303:
4295:
4294:
4293:
4290:
4282:
4281:
4280:
4272:
4271:
4270:
4262:
4261:
4260:
4252:
4251:
4250:
4242:
4241:
4240:
4235:
4230:
4221:
4219:
4215:
4214:
4212:
4211:
4206:
4201:
4196:
4191:
4186:
4185:
4184:
4179:
4169:
4164:
4159:
4158:
4157:
4147:
4142:
4137:
4131:
4129:
4125:
4124:
4122:
4121:
4120:
4119:
4114:
4109:
4104:
4099:
4094:
4089:
4084:
4079:
4069:
4063:
4061:
4055:
4054:
4052:
4051:
4050:
4049:
4044:
4039:
4034:
4024:
4019:
4014:
4009:
4004:
3999:
3994:
3993:
3992:
3987:
3982:
3972:
3967:
3962:
3957:
3951:
3949:
3940:
3934:
3933:
3925:
3924:
3917:
3910:
3902:
3893:
3892:
3890:
3889:
3879:
3869:
3858:
3855:
3854:
3852:
3851:
3846:
3841:
3836:
3830:
3828:
3824:
3823:
3821:
3820:
3815:
3810:
3805:
3800:
3795:
3790:
3789:
3788:
3783:
3778:
3768:
3763:
3758:
3753:
3748:
3743:
3737:
3735:
3729:
3728:
3726:
3725:
3720:
3715:
3710:
3705:
3700:
3697:
3696:
3695:
3685:
3680:
3675:
3670:
3665:
3660:
3655:
3650:
3645:
3640:
3635:
3632:
3627:
3622:
3617:
3612:
3607:
3602:
3597:
3592:
3586:
3584:
3580:
3579:
3577:
3576:
3571:
3566:
3561:
3556:
3551:
3546:
3541:
3536:
3531:
3526:
3521:
3515:
3513:
3509:
3508:
3506:
3505:
3500:
3495:
3490:
3485:
3480:
3475:
3469:
3467:
3466:Archiving only
3463:
3462:
3455:
3454:
3447:
3440:
3432:
3426:
3425:
3420:
3415:
3410:
3405:
3400:
3395:
3388:
3387:External links
3385:
3383:
3382:
3365:
3344:
3329:
3304:
3290:
3264:
3243:
3222:
3201:
3176:
3152:
3126:
3105:
3084:
3056:
3031:
3007:
2986:
2965:
2935:
2910:
2876:
2874:
2871:
2862:
2859:
2858:
2857:
2835:
2829:
2778:
2775:
2773:applications.
2767:sliding window
2760:delta encoding
2749:Patricia trees
2700:The reference
2671:
2668:
2655:
2652:
2651:
2650:
2647:
2644:
2641:
2634:
2633:
2630:
2623:
2622:
2619:
2616:
2609:
2602:
2601:
2598:
2595:
2594:1: state reset
2592:
2585:
2584:
2581:
2578:
2575:
2572:
2565:
2564:
2561:
2558:
2555:
2543:
2540:
2537:
2536:
2533:
2530:
2527:
2521:
2518:
2514:
2513:
2510:
2507:
2504:
2494:
2491:
2487:
2486:
2483:
2480:
2477:
2467:
2464:
2460:
2459:
2456:
2453:
2450:
2447:
2442:
2439:
2435:
2434:
2431:
2428:
2425:
2422:
2417:
2414:
2410:
2409:
2406:
2403:
2400:
2397:
2394:
2390:
2389:
2386:
2379:
2376:
2370:
2367:
2363:
2362:
2361:distance slot
2359:
2356:
2353:
2346:
2343:
2339:
2338:
2335:
2332:
2329:
2315:
2312:
2308:
2307:
2304:
2301:
2298:
2295:
2290:
2287:
2283:
2282:
2279:
2276:
2273:
2270:
2265:
2262:
2258:
2257:
2254:
2251:
2248:
2245:
2236:
2233:
2229:
2228:
2225:
2219:
2216:
2213:
2208:
2205:
2201:
2200:
2197:
2194:
2191:
2188:
2183:
2180:
2176:
2175:
2172:
2169:
2166:
2163:
2154:
2151:
2147:
2146:
2145:If bit 1 then
2143:
2142:If bit 0 then
2140:
2137:
2134:
2131:
2130:LZMA SDK name
2128:
2043:
2042:
2039:
2036:
2033:
2030:
2027:
2024:
2022:
2020:
2016:
2015:
2012:
2009:
2006:
2003:
2000:
1997:
1995:
1993:
1989:
1988:
1985:
1982:
1979:
1976:
1973:
1970:
1968:
1966:
1962:
1961:
1958:
1955:
1952:
1949:
1946:
1943:
1941:
1939:
1935:
1934:
1931:
1928:
1925:
1922:
1919:
1916:
1914:
1912:
1908:
1907:
1904:
1901:
1898:
1895:
1892:
1889:
1886:
1884:
1880:
1879:
1876:
1872:
1871:
1868:
1865:
1862:
1859:
1856:
1853:
1851:
1849:
1845:
1844:
1841:
1838:
1835:
1832:
1829:
1826:
1824:
1822:
1818:
1817:
1814:
1811:
1808:
1805:
1802:
1799:
1796:
1793:
1789:
1788:
1785:
1781:
1780:
1777:
1774:
1771:
1768:
1765:
1762:
1759:
1757:
1753:
1752:
1749:
1746:
1743:
1740:
1737:
1734:
1731:
1729:
1725:
1724:
1721:
1718:
1715:
1712:
1709:
1706:
1703:
1701:
1697:
1696:
1693:
1690:
1687:
1684:
1681:
1678:
1675:
1672:
1669:
1668:
1665:
1662:
1637:
1634:
1598:
1597:
1585:
1573:
1535:
1532:
1471:
1440:, an array of
1432:
1429:
1428:
1427:
1412:
1392:
1388:
1347:
1346:
1345:
1344:
1341:
1318:Otherwise (if
1316:
1315:
1314:
1300:
1287:
1284:
1280:
1276:
1273:
1270:
1267:
1264:
1261:
1244:
1228:
1224:
1202:
1201:
1200:
1199:
1196:
1183:
1178:
1174:
1169:
1165:
1162:
1159:
1156:
1153:
1150:
1147:
1144:
1141:
1138:
1121:
1107:
1084:Otherwise (if
1082:
1081:
1080:
1077:
1062:
1058:
1053:
1049:
1046:
1043:
1040:
1037:
1034:
1029:
1025:
1021:
1000:
979:
966:
963:
960:
957:
954:
951:
946:
942:
937:
933:
930:
927:
924:
921:
918:
901:
885:
881:
855:
854:
847:
844:
843:left by 8 bits
784:
780:
758:
755:
741:
740:
695:
693:
686:
680:
677:
674:
673:
670:
667:
664:
660:
659:
656:
653:
650:
646:
645:
642:
639:
636:
632:
631:
628:
625:
622:
618:
617:
614:
611:
608:
604:
603:
600:
597:
594:
590:
589:
586:
583:
580:
576:
575:
572:
569:
566:
562:
561:
558:
555:
552:
548:
547:
544:
541:
538:
534:
533:
530:
527:
524:
520:
519:
516:
513:
510:
506:
505:
502:
499:
496:
492:
491:
488:
485:
482:
478:
477:
474:
471:
468:
464:
463:
460:
457:
454:
450:
449:
446:
443:
440:
419:
418:
415:
411:
410:
407:
403:
402:
399:
395:
394:
391:
373:
372:
369:
366:
362:
361:
358:
355:
351:
350:
347:
344:
343:1+1+1+0 + len
340:
339:
336:
333:
332:1+1+0+1 + len
329:
328:
325:
322:
318:
317:
314:
311:
307:
306:
303:
300:
296:
295:
292:
289:
275:
272:
239:
236:
213:Abraham Lempel
199:format of the
171:
170:
153:
152:
126:
124:
117:
110:
109:
89:the key points
79:
77:
70:
65:
39:
38:
36:
29:
15:
9:
6:
4:
3:
2:
5147:
5136:
5133:
5131:
5128:
5126:
5123:
5122:
5120:
5104:
5100:
5092:
5090:
5082:
5081:
5078:
5072:
5069:
5068:
5066:
5062:
5056:
5053:
5052:
5050:
5046:
5040:
5037:
5035:
5032:
5030:
5027:
5025:
5022:
5020:
5017:
5015:
5012:
5010:
5007:
5003:
5000:
4999:
4998:
4995:
4993:
4990:
4986:
4983:
4981:
4978:
4977:
4976:
4973:
4972:
4970:
4968:
4964:
4952:
4949:
4947:
4944:
4943:
4942:
4939:
4935:
4932:
4930:
4927:
4925:
4922:
4921:
4919:
4917:
4914:
4912:
4909:
4907:
4904:
4902:
4899:
4898:
4896:
4893:
4889:
4883:
4882:Video quality
4880:
4878:
4875:
4873:
4870:
4868:
4865:
4863:
4860:
4858:
4855:
4853:
4850:
4846:
4843:
4841:
4838:
4836:
4833:
4832:
4831:
4828:
4827:
4825:
4821:
4818:
4816:
4812:
4800:
4797:
4795:
4792:
4790:
4787:
4785:
4782:
4781:
4780:
4777:
4775:
4772:
4770:
4767:
4765:
4762:
4760:
4757:
4755:
4752:
4750:
4747:
4745:
4742:
4741:
4739:
4735:
4729:
4726:
4724:
4721:
4719:
4716:
4714:
4711:
4709:
4706:
4704:
4701:
4699:
4696:
4694:
4691:
4689:
4686:
4684:
4681:
4679:
4676:
4675:
4673:
4669:
4666:
4664:
4660:
4650:
4647:
4645:
4642:
4638:
4635:
4633:
4630:
4628:
4625:
4623:
4620:
4618:
4615:
4614:
4613:
4610:
4606:
4603:
4602:
4601:
4598:
4594:
4591:
4589:
4586:
4585:
4584:
4581:
4579:
4576:
4574:
4571:
4570:
4568:
4565:
4561:
4555:
4552:
4550:
4549:Speech coding
4547:
4545:
4544:Sound quality
4542:
4540:
4537:
4535:
4532:
4530:
4527:
4525:
4522:
4520:
4519:Dynamic range
4517:
4515:
4512:
4510:
4507:
4503:
4500:
4498:
4495:
4493:
4490:
4489:
4488:
4485:
4484:
4482:
4478:
4475:
4473:
4469:
4459:
4456:
4452:
4449:
4447:
4444:
4442:
4439:
4438:
4436:
4432:
4429:
4427:
4424:
4422:
4419:
4417:
4414:
4412:
4409:
4408:
4407:
4404:
4400:
4397:
4396:
4395:
4392:
4391:
4389:
4385:
4377:
4374:
4372:
4369:
4367:
4364:
4363:
4362:
4359:
4357:
4354:
4352:
4349:
4345:
4342:
4340:
4337:
4336:
4335:
4332:
4331:
4329:
4327:
4323:
4320:
4318:
4314:
4302:
4299:
4298:
4296:
4291:
4289:
4286:
4285:
4284:LZ77 + Range
4283:
4279:
4276:
4275:
4273:
4269:
4266:
4265:
4263:
4259:
4256:
4255:
4253:
4249:
4246:
4245:
4243:
4239:
4236:
4234:
4231:
4229:
4226:
4225:
4223:
4222:
4220:
4216:
4210:
4207:
4205:
4202:
4200:
4197:
4195:
4192:
4190:
4187:
4183:
4180:
4178:
4175:
4174:
4173:
4170:
4168:
4165:
4163:
4160:
4156:
4153:
4152:
4151:
4148:
4146:
4143:
4141:
4138:
4136:
4133:
4132:
4130:
4126:
4118:
4115:
4113:
4110:
4108:
4105:
4103:
4100:
4098:
4095:
4093:
4090:
4088:
4085:
4083:
4080:
4078:
4075:
4074:
4073:
4070:
4068:
4065:
4064:
4062:
4060:
4056:
4048:
4045:
4043:
4040:
4038:
4035:
4033:
4030:
4029:
4028:
4025:
4023:
4020:
4018:
4015:
4013:
4010:
4008:
4005:
4003:
4000:
3998:
3995:
3991:
3988:
3986:
3983:
3981:
3978:
3977:
3976:
3973:
3971:
3968:
3966:
3963:
3961:
3958:
3956:
3953:
3952:
3950:
3948:
3944:
3941:
3939:
3935:
3930:
3923:
3918:
3916:
3911:
3909:
3904:
3903:
3900:
3888:
3880:
3878:
3870:
3868:
3864:
3860:
3859:
3856:
3850:
3847:
3845:
3842:
3840:
3837:
3835:
3832:
3831:
3829:
3825:
3819:
3816:
3814:
3811:
3809:
3806:
3804:
3801:
3799:
3796:
3794:
3791:
3787:
3784:
3782:
3779:
3777:
3774:
3773:
3772:
3769:
3767:
3764:
3762:
3759:
3757:
3754:
3752:
3749:
3747:
3744:
3742:
3739:
3738:
3736:
3734:
3730:
3724:
3721:
3719:
3716:
3714:
3711:
3709:
3706:
3704:
3701:
3698:
3694:
3691:
3690:
3689:
3686:
3684:
3681:
3679:
3676:
3674:
3671:
3669:
3666:
3664:
3661:
3659:
3656:
3654:
3651:
3649:
3646:
3644:
3641:
3639:
3636:
3633:
3631:
3628:
3626:
3623:
3621:
3618:
3616:
3613:
3611:
3608:
3606:
3603:
3601:
3598:
3596:
3593:
3591:
3588:
3587:
3585:
3581:
3575:
3572:
3570:
3567:
3565:
3562:
3560:
3557:
3555:
3552:
3550:
3547:
3545:
3542:
3540:
3537:
3535:
3532:
3530:
3527:
3525:
3522:
3520:
3517:
3516:
3514:
3510:
3504:
3501:
3499:
3496:
3494:
3491:
3489:
3486:
3484:
3481:
3479:
3476:
3474:
3471:
3470:
3468:
3464:
3460:
3453:
3448:
3446:
3441:
3439:
3434:
3433:
3430:
3424:
3421:
3419:
3416:
3414:
3411:
3409:
3406:
3404:
3401:
3399:
3396:
3394:
3391:
3390:
3379:
3375:
3369:
3354:
3348:
3340:
3333:
3319:
3315:
3308:
3300:
3294:
3280:on 2016-09-21
3279:
3275:
3268:
3254:
3247:
3233:
3226:
3211:
3205:
3198:
3186:
3180:
3166:
3162:
3156:
3142:
3135:
3133:
3131:
3115:
3109:
3095:
3088:
3073:
3069:
3063:
3061:
3052:
3048:
3042:
3040:
3038:
3036:
3021:
3014:
3012:
2997:
2990:
2976:
2969:
2955:on 2013-01-06
2954:
2950:
2946:
2939:
2924:
2917:
2915:
2900:on 2012-11-09
2899:
2895:
2891:
2887:
2881:
2877:
2870:
2868:
2867:public domain
2855:
2851:
2847:
2843:
2839:
2836:
2833:
2830:
2827:
2823:
2819:
2815:
2811:
2807:
2803:
2799:
2795:
2791:
2787:
2784:
2783:
2782:
2774:
2772:
2768:
2763:
2761:
2757:
2752:
2750:
2746:
2742:
2737:
2735:
2731:
2727:
2723:
2719:
2715:
2711:
2707:
2703:
2698:
2695:
2693:
2692:public domain
2689:
2685:
2681:
2677:
2667:
2665:
2661:
2648:
2645:
2642:
2639:
2638:
2637:
2631:
2628:
2627:
2626:
2620:
2617:
2614:
2610:
2607:
2606:
2605:
2599:
2596:
2593:
2590:
2589:
2588:
2582:
2579:
2576:
2573:
2570:
2569:
2568:
2562:
2559:
2556:
2553:
2552:
2551:
2548:
2531:
2528:
2525:
2522:
2519:
2517:len_dec.high
2516:
2515:
2508:
2505:
2502:
2498:
2495:
2492:
2489:
2488:
2481:
2478:
2475:
2471:
2468:
2465:
2462:
2461:
2457:
2455:10–17 length
2454:
2451:
2448:
2446:
2443:
2440:
2437:
2436:
2432:
2429:
2426:
2423:
2421:
2418:
2415:
2412:
2411:
2404:
2401:
2398:
2395:
2392:
2391:
2384:
2383:distance_slot
2380:
2377:
2374:
2373:distance_slot
2371:
2368:
2366:dist_special
2365:
2364:
2357:
2354:
2351:
2347:
2344:
2341:
2340:
2333:
2330:
2327:
2323:
2319:
2316:
2313:
2310:
2309:
2305:
2302:
2299:
2296:
2294:
2291:
2288:
2285:
2284:
2280:
2277:
2274:
2271:
2269:
2266:
2263:
2260:
2259:
2255:
2252:
2249:
2246:
2244:
2240:
2237:
2234:
2232:is_rep0_long
2231:
2230:
2226:
2224:
2220:
2217:
2214:
2212:
2209:
2206:
2203:
2202:
2198:
2195:
2192:
2189:
2187:
2184:
2181:
2178:
2177:
2173:
2170:
2167:
2165:packet start
2164:
2162:
2158:
2155:
2152:
2149:
2148:
2144:
2141:
2138:
2135:
2132:
2129:
2126:
2125:
2122:
2119:
2117:
2112:
2110:
2105:
2103:
2099:
2094:
2090:
2087:
2082:
2080:
2075:
2073:
2069:
2064:
2062:
2058:
2054:
2050:
2040:
2037:
2034:
2031:
2028:
2025:
2023:
2021:
2018:
2017:
2013:
2010:
2007:
2004:
2001:
1998:
1996:
1994:
1991:
1990:
1986:
1983:
1980:
1977:
1974:
1971:
1969:
1967:
1964:
1963:
1959:
1956:
1953:
1950:
1947:
1944:
1942:
1940:
1937:
1936:
1932:
1929:
1926:
1923:
1920:
1917:
1915:
1913:
1910:
1909:
1905:
1902:
1899:
1896:
1893:
1890:
1887:
1885:
1882:
1881:
1877:
1874:
1873:
1854:
1852:
1846:
1842:
1839:
1836:
1833:
1830:
1827:
1825:
1823:
1820:
1819:
1815:
1812:
1809:
1806:
1803:
1800:
1797:
1794:
1791:
1790:
1786:
1783:
1782:
1760:
1758:
1754:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1730:
1727:
1726:
1722:
1719:
1716:
1713:
1710:
1707:
1704:
1702:
1699:
1698:
1694:
1691:
1688:
1685:
1682:
1680:2nd previous
1679:
1677:3rd previous
1676:
1674:4th previous
1673:
1671:
1670:
1660:
1659:
1656:
1653:
1650:
1645:
1642:
1633:
1629:
1627:
1621:
1617:
1611:
1607:
1603:
1594:
1589:
1586:
1582:
1577:
1574:
1571:
1568:
1567:
1566:
1562:
1558:
1554:
1548:
1542:
1531:
1528:
1526:
1520:
1510:
1506:
1502:
1496:
1492:
1481:
1477:
1467:
1461:
1457:
1453:
1451:
1445:
1439:
1425:
1421:
1417:
1413:
1410:
1390:
1386:
1375:
1374:
1373:
1370:
1368:
1365:and added to
1364:
1360:
1356:
1342:
1340:
1336:
1332:
1328:
1327:
1325:
1321:
1317:
1312:
1311:
1309:
1306:is less than
1305:
1301:
1282:
1278:
1274:
1271:
1268:
1265:
1262:
1249:
1245:
1226:
1222:
1212:is less than
1211:
1207:
1206:
1205:
1197:
1176:
1172:
1167:
1163:
1160:
1157:
1154:
1148:
1145:
1142:
1139:
1136:
1126:
1122:
1120:
1116:
1112:
1108:
1106:
1102:
1098:
1094:
1093:
1091:
1087:
1083:
1078:
1060:
1056:
1051:
1044:
1041:
1038:
1035:
1032:
1027:
1023:
1009:
1005:
1001:
999:
995:
991:
990:
988:
985:is less than
984:
980:
964:
961:
958:
955:
952:
944:
940:
935:
931:
928:
925:
922:
919:
906:
902:
883:
879:
869:is less than
868:
864:
863:
862:
860:
852:
848:
845:
842:
838:
834:
833:
832:
829:
827:
819:
814:
812:
808:
803:
800:
782:
778:
767:
762:
754:
751:
746:
737:
734:
726:
716:
712:
708:
702:
701:
696:This section
694:
685:
684:
671:
668:
665:
662:
661:
657:
654:
651:
649:14–62 (even)
648:
647:
643:
640:
637:
634:
633:
629:
626:
623:
620:
619:
615:
612:
609:
606:
605:
601:
598:
595:
592:
591:
587:
584:
581:
578:
577:
573:
570:
567:
564:
563:
559:
556:
553:
550:
549:
545:
542:
539:
536:
535:
531:
528:
525:
522:
521:
517:
514:
511:
508:
507:
503:
500:
497:
494:
493:
489:
486:
483:
480:
479:
475:
472:
469:
466:
465:
461:
458:
455:
452:
451:
447:
444:
441:
438:
437:
431:
427:
424:
416:
413:
412:
408:
405:
404:
400:
397:
396:
392:
389:
388:
385:
382:
378:
370:
367:
364:
363:
359:
356:
353:
352:
348:
345:
342:
341:
337:
334:
331:
330:
326:
323:
320:
319:
315:
312:
309:
308:
304:
301:
299:0 + byteCode
298:
297:
293:
290:
287:
286:
283:
280:
271:
269:
265:
259:
257:
253:
252:range encoder
249:
245:
235:
232:
228:
226:
222:
218:
214:
210:
206:
202:
198:
194:
190:
186:
182:
178:
167:
164:
149:
139:
134:
132:
127:This article
125:
116:
115:
106:
96:
90:
88:
83:
78:
74:
69:
68:
63:
61:
54:
53:
48:
47:
42:
37:
28:
27:
22:
5055:Hutter Prize
5019:Quantization
4924:Compensation
4718:Quantization
4441:Compensation
4287:
4007:Shannon–Fano
3947:Entropy type
3543:
3377:
3368:
3357:. Retrieved
3355:. WinZip.com
3347:
3337:Diaz, Diaz.
3332:
3321:. Retrieved
3317:
3307:
3293:
3282:. Retrieved
3278:the original
3267:
3256:. Retrieved
3246:
3235:. Retrieved
3225:
3214:. Retrieved
3212:. 2012-10-26
3204:
3195:
3189:. Retrieved
3179:
3168:. Retrieved
3155:
3144:. Retrieved
3118:. Retrieved
3116:. 2009-08-27
3108:
3097:. Retrieved
3087:
3075:. Retrieved
3071:
3050:
3023:. Retrieved
2999:. Retrieved
2989:
2978:. Retrieved
2968:
2957:. Retrieved
2953:the original
2948:
2938:
2926:. Retrieved
2902:. Retrieved
2898:the original
2894:"LZMA spec?"
2880:
2864:
2806:Linux kernel
2780:
2764:
2753:
2745:binary trees
2738:
2699:
2696:
2673:
2663:
2657:
2635:
2624:
2612:
2603:
2586:
2566:
2549:
2545:
2542:LZMA2 format
2523:
2500:
2496:
2490:len_dec.mid
2473:
2469:
2463:len_dec.low
2444:
2419:
2382:
2372:
2350:match_length
2349:
2325:
2321:
2317:
2292:
2267:
2242:
2238:
2222:
2210:
2185:
2160:
2156:
2139:Coding mode
2120:
2115:
2113:
2108:
2106:
2101:
2097:
2092:
2091:
2085:
2083:
2078:
2076:
2071:
2067:
2065:
2060:
2056:
2052:
2048:
2046:
1654:
1648:
1646:
1643:
1639:
1630:
1625:
1619:
1615:
1609:
1605:
1601:
1599:
1592:
1587:
1580:
1575:
1569:
1560:
1556:
1552:
1546:
1540:
1537:
1529:
1524:
1518:
1508:
1504:
1500:
1499:range (with
1494:
1490:
1482:
1475:
1465:
1462:
1458:
1454:
1449:
1443:
1437:
1434:
1423:
1419:
1415:
1408:
1371:
1366:
1362:
1358:
1354:
1348:
1343:Return bit 1
1338:
1334:
1330:
1323:
1319:
1313:Return bit 0
1307:
1303:
1247:
1209:
1203:
1198:Return bit 1
1124:
1118:
1114:
1110:
1104:
1100:
1096:
1089:
1085:
1079:Return bit 0
1007:
1003:
997:
993:
986:
982:
904:
866:
858:
856:
850:
840:
836:
830:
825:
817:
815:
810:
806:
804:
801:
765:
763:
760:
747:
744:
729:
720:
697:
663:15–63 (odd)
428:
425:
422:
414:1+1+ 8 bits
406:1+0+ 3 bits
393:Description
383:
379:
376:
291:Packet name
281:
277:
260:
242:LZMA uses a
241:
230:
229:
180:
176:
174:
159:
143:
136:Please help
128:
100:
84:
82:lead section
57:
50:
44:
43:Please help
40:
5014:Prefix code
4867:Frame types
4688:Color space
4514:Convolution
4244:LZ77 + ANS
4155:Incremental
4128:Other types
4047:Levenshtein
3165:SourceForge
3077:14 November
3072:Lzip Manual
2975:"7z Format"
2890:SourceForge
2886:Igor Pavlov
2741:hash chains
2702:open source
2688:Igor Pavlov
2664:tukaani.org
2458:18+ length
2441:LenChoice2
2433:10+ length
2430:2–9 length
2393:dist_align
2235:IsRep0Long
1372:Note that:
1351:rc_direct()
835:Shift both
193:Igor Pavlov
5119:Categories
5071:Mark Adler
5029:Redundancy
4946:Daubechies
4929:Estimation
4862:Frame rate
4784:Daubechies
4744:Chain code
4703:Macroblock
4509:Companding
4446:Estimation
4366:Daubechies
4072:Lempel–Ziv
4032:Exp-Golomb
3960:Arithmetic
3867:Comparison
3359:2016-03-14
3323:2015-10-21
3284:2013-06-16
3258:2013-06-16
3237:2013-06-16
3216:2013-06-16
3191:2013-06-16
3170:2014-02-12
3146:2013-06-16
3120:2013-06-16
3099:2013-06-16
3025:2018-07-20
3001:2013-11-13
2980:2013-06-16
2959:2013-06-16
2928:2015-10-21
2904:2013-06-16
2873:References
2818:kernel.org
2416:LenChoice
2342:dist_slot
2221:SHORTREP/
2136:Used when
2116:match_byte
2102:match_byte
2098:match_byte
2086:match_byte
1485:rc_bittree
723:April 2012
707:improve it
398:0+ 3 bits
46:improve it
5048:Community
4872:Interlace
4258:Zstandard
4037:Fibonacci
4027:Universal
3985:Canonical
3574:Zstandard
3299:"Zip-Ada"
3051:7-zip.org
2794:Unix-like
2501:pos_state
2474:pos_state
2253:SHORTREP
2243:pos_state
2161:pos_state
2150:is_match
2049:pos_state
1975:SHORTREP
1891:SHORTREP
1878:SHORTREP
1798:SHORTREP
1787:SHORTREP
1695:SHORTREP
1683:previous
1593:pos_state
1565:, where:
1511:+ 1. The
1286:⌋
1260:⌊
1182:⌋
1152:⌊
1149:−
1048:⌋
1033:−
1020:⌊
953:×
950:⌋
917:⌊
711:verifying
324:SHORTREP
217:Jacob Ziv
185:algorithm
146:July 2014
103:July 2014
87:summarize
52:talk page
5034:Symmetry
5002:Timeline
4985:FM-index
4830:Bit rate
4823:Concepts
4671:Concepts
4534:Sampling
4487:Bit rate
4480:Concepts
4182:Sequitur
4017:Tunstall
3990:Modified
3980:Adaptive
3938:Lossless
3887:Category
3781:Java RAR
3529:compress
2771:embedded
2680:GNU LGPL
2520:LenHigh
2369:SpecPos
2345:PosSlot
2314:Literal
2311:literal
2306:LONGREP
2303:LONGREP
2289:IsRepG2
2286:is_rep2
2281:LONGREP
2278:LONGREP
2264:IsRepG1
2261:is_rep1
2256:LONGREP
2227:LONGREP
2223:LONGREP
2207:IsRepG0
2204:is_rep0
2153:IsMatch
2127:XZ name
1948:LONGREP
1855:LONGREP
1761:LONGREP
1692:LONGREP
1550:byte is
1452:leaves.
1337:−
1117:−
1103:−
368:LONGREP
357:LONGREP
346:LONGREP
335:LONGREP
321:1+1+0+0
238:Overview
183:) is an
4992:Entropy
4941:Wavelet
4920:Motion
4779:Wavelet
4759:Fractal
4754:Deflate
4737:Methods
4524:Latency
4437:Motion
4361:Wavelet
4278:LHA/LZH
4228:Deflate
4177:Re-Pair
4172:Grammar
4002:Shannon
3975:Huffman
3931:methods
3615:Cabinet
2804:). The
2690:in the
2493:LenMid
2466:LenLow
2179:is_rep
2174:*MATCH
2026:*MATCH
1999:*MATCH
1875:*MATCH
1784:*MATCH
1563:× 9 × 5
1483:In the
1405:
1378:
1298:
1252:
1241:
1214:
1194:
1129:
1075:
1012:
977:
909:
898:
871:
797:
770:
705:Please
5103:codecs
5064:People
4967:Theory
4934:Vector
4451:Vector
4268:Brotli
4218:Hybrid
4117:Snappy
3970:Golomb
3539:Zopfli
3519:Brotli
2846:WinZip
2826:Fedora
2822:Debian
2726:Pascal
2722:Python
2716:, and
2710:ANSI C
2524:is_REP
2497:is_REP
2470:is_REP
2445:is_REP
2420:is_REP
2396:Align
2196:MATCH
2182:IsRep
2079:is_REP
2002:MATCH
1921:MATCH
1828:MATCH
1733:MATCH
1689:MATCH
1661:state
1559:× 9 +
1547:lclppb
1541:lclppb
1493:, 2 ×
824:, and
313:MATCH
4894:parts
4892:Codec
4857:Frame
4815:Video
4799:SPIHT
4708:Pixel
4663:Image
4617:ACELP
4588:ADPCM
4578:μ-law
4573:A-law
4566:parts
4564:Codec
4472:Audio
4411:ACELP
4399:ADPCM
4376:SPIHT
4317:Lossy
4301:bzip2
4292:LZHAM
4248:LZFSE
4150:Delta
4042:Gamma
4022:Unary
3997:Range
3658:lrzip
3524:bzip2
2861:LZHAM
2798:bzip2
2676:7-Zip
2658:The .
2615:value
2613:state
2293:state
2268:state
2239:state
2211:state
2199:*REP
2186:state
2157:state
2029:*REP
1649:state
1525:limit
1519:limit
1507:and 2
1501:limit
1495:limit
1491:limit
1476:limit
1466:limit
1450:limit
1444:limit
1438:limit
1420:range
1409:bound
1367:range
1357:from
1355:range
1339:range
1324:range
1308:range
1248:range
1210:range
1119:bound
1105:bound
1101:range
1097:range
1090:bound
998:bound
994:range
987:bound
905:bound
867:range
837:range
822:2 − 1
818:range
807:range
231:LZMA2
221:bzip2
201:7-Zip
4906:DPCM
4713:PSNR
4644:MDCT
4637:WLPC
4622:CELP
4583:DPCM
4431:WLPC
4416:CELP
4394:DPCM
4344:MDCT
4288:LZMA
4189:LDCT
4167:DPCM
4112:LZWL
4102:LZSS
4097:LZRW
4087:LZJB
3877:List
3818:XBAP
3798:MSIX
3751:APPX
3723:ZPAQ
3693:sitx
3683:rzip
3643:.egg
3638:.dmg
3634:DGCA
3559:lzop
3554:lzip
3544:LZMA
3534:gzip
3503:WARC
3483:shar
3478:cpio
3079:2019
2854:PPMd
2852:and
2850:BZip
2838:ZIPX
2832:lzip
2824:and
2812:and
2810:dpkg
2802:gzip
2790:gzip
2747:and
2732:and
2718:Java
2682:and
2611:The
2452:bit
2427:bit
2348:min(
2300:bit
2275:bit
2250:bit
2218:bit
2193:bit
2171:LIT
2168:bit
2084:The
2077:The
2066:The
2059:and
2051:and
2047:The
1972:LIT
1945:LIT
1918:LIT
1894:LIT
1888:LIT
1858:LIT
1831:LIT
1804:LIT
1801:LIT
1795:LIT
1767:LIT
1764:LIT
1739:LIT
1736:LIT
1711:LIT
1708:LIT
1705:LIT
1686:LIT
1647:The
1624:and
1608:and
1517:[0,
1446:− 1)
1424:prob
1416:prob
1363:code
1359:code
1335:code
1331:code
1329:Set
1320:code
1304:code
1246:Set
1125:prob
1123:Set
1115:code
1111:code
1109:Set
1095:Set
1086:code
1008:prob
1004:prob
1002:Set
992:Set
983:code
903:Set
859:prob
851:code
841:code
839:and
826:code
811:code
766:prob
302:LIT
268:gzip
266:and
248:LZ77
215:and
209:LZ77
181:LZMA
175:The
4951:DWT
4901:DCT
4845:VBR
4840:CBR
4835:ABR
4794:EZW
4789:DWT
4774:RLE
4764:KLT
4749:DCT
4632:LSP
4627:LAR
4612:LPC
4605:FFT
4502:VBR
4497:CBR
4492:ABR
4426:LSP
4421:LAR
4406:LPC
4371:DWT
4356:FFT
4351:DST
4339:DCT
4238:LZS
4233:LZX
4209:RLE
4204:PPM
4199:PAQ
4194:MTF
4162:DMC
4140:CTW
4135:BWT
4107:LZW
4092:LZO
4082:LZ4
4077:842
3849:PAQ
3813:XAP
3808:RPM
3793:MSI
3786:EAR
3776:WAR
3771:JAR
3766:ipa
3761:HAP
3756:deb
3746:App
3741:apk
3718:ZIP
3713:zoo
3708:Xar
3703:UDA
3699:SQX
3688:sit
3678:RAR
3673:PEA
3668:MPQ
3663:LZX
3653:LHA
3648:kgb
3630:dar
3625:cpt
3620:cfs
3605:ARJ
3600:ARC
3595:ACE
3549:LZ4
3498:WAD
3493:LBR
3488:tar
2842:ZIP
2814:RPM
2734:Ada
2706:C++
2096:in
2041:11
2038:11
2035:10
2019:11
2014:11
2011:11
2008:10
1992:10
1987:11
1984:11
1981:10
1960:11
1957:11
1954:10
1933:11
1930:11
1927:10
1470:log
1333:to
1326:):
1302:If
1250:to
1208:If
1127:to
1113:to
1099:to
1092:):
1006:to
996:to
981:If
907:to
865:If
820:to
709:by
666:11
652:10
638:11
635:13
624:10
621:12
610:11
607:11
596:10
593:10
582:11
568:10
554:11
540:10
526:11
512:10
498:11
484:10
470:01
456:00
264:zip
5121::
4769:LP
4600:FT
4593:DM
4145:CM
3610:B1
3590:7z
3569:xz
3564:SQ
3473:ar
3316:.
3194:.
3163:.
3129:^
3070:.
3059:^
3049:.
3034:^
3010:^
2947:.
2913:^
2820:,
2808:,
2786:xz
2743:,
2736:.
2730:Go
2728:,
2714:C#
2712:,
2660:xz
2499:,
2472:,
2381:((
2324:,
2320:,
2241:,
2159:,
2104:.
2072:lc
2061:lp
2057:pb
2032:5
2005:4
1978:6
1965:9
1951:5
1938:8
1924:4
1911:7
1906:9
1903:8
1900:7
1897:3
1883:6
1870:9
1867:8
1864:7
1861:2
1848:5
1843:9
1840:8
1837:7
1834:1
1821:4
1816:9
1813:8
1810:7
1807:0
1792:3
1779:9
1776:8
1773:7
1770:0
1756:2
1751:9
1748:8
1745:7
1742:0
1728:1
1723:9
1720:8
1717:7
1714:0
1700:0
1626:pb
1620:lp
1618:+
1616:lc
1610:pb
1606:lp
1602:lc
1588:pb
1576:lp
1570:lc
1561:pb
1557:lp
1555:+
1553:lc
1391:11
1369:.
1310::
1227:24
1028:11
1010:+
989::
945:11
884:24
783:10
750:XZ
672:4
658:4
644:5
641:0
630:5
627:0
616:4
613:0
602:4
599:0
588:3
585:0
579:9
574:3
571:0
565:8
560:2
557:0
551:7
546:2
543:0
537:6
532:1
529:0
523:5
518:1
515:0
509:4
504:0
501:0
495:3
490:0
487:0
481:2
476:0
473:0
467:1
462:0
459:0
453:0
225:GB
197:7z
55:.
5105:)
5101:(
3921:e
3914:t
3907:v
3451:e
3444:t
3437:v
3362:.
3326:.
3301:.
3287:.
3261:.
3240:.
3219:.
3173:.
3149:.
3123:.
3102:.
3081:.
3053:.
3028:.
3004:.
2983:.
2962:.
2931:.
2907:.
2856:.
1622:)
1614:(
1521:)
1509:i
1505:i
1497:)
1489:[
1478:)
1474:(
1472:2
1442:(
1387:2
1283:2
1279:/
1275:e
1272:g
1269:n
1266:a
1263:r
1223:2
1177:5
1173:2
1168:/
1164:b
1161:o
1158:r
1155:p
1146:b
1143:o
1140:r
1137:p
1061:5
1057:2
1052:/
1045:b
1042:o
1039:r
1036:p
1024:2
965:b
962:o
959:r
956:p
941:2
936:/
932:e
929:g
926:n
923:a
920:r
880:2
779:2
736:)
730:(
725:)
721:(
703:.
179:(
166:)
160:(
148:)
144:(
133:.
105:)
101:(
91:.
62:)
58:(
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.