1
0
Fork 0
mirror of https://git.tukaani.org/xz.git synced 2024-04-04 12:36:23 +02:00

.xz file format specification 1.0.4 (probably).

Thanks to Christian von Roques, Peter Lawler,
and Jim Meyering for the fixes.
This commit is contained in:
Lasse Collin 2009-08-27 16:12:52 +03:00
parent 696d7ee395
commit c29e76c0f9

View file

@ -2,7 +2,7 @@
The .xz File Format The .xz File Format
=================== ===================
Version 1.0.3 (2009-06-05) Version 1.0.4 (2009-08-27)
0. Preface 0. Preface
@ -93,6 +93,9 @@ Version 1.0.3 (2009-06-05)
Version Date Description Version Date Description
1.0.4 2009-08-27 Language improvements in Sections 1.2,
2.1.1.2, 3.1.1, 3.1.2, and 5.3.1
1.0.3 2009-06-05 Spelling fixes in Sections 5.1 and 5.4 1.0.3 2009-06-05 Spelling fixes in Sections 5.1 and 5.4
1.0.2 2009-06-04 Typo fixes in Sections 4 and 5.3.1 1.0.2 2009-06-04 Typo fixes in Sections 4 and 5.3.1
@ -183,7 +186,8 @@ Version 1.0.3 (2009-06-05)
For now, the value of the variable-length integers is limited For now, the value of the variable-length integers is limited
to 63 bits, which limits the encoded size of the integer to to 63 bits, which limits the encoded size of the integer to
nine bytes. These limits may be increased in future if needed. nine bytes. These limits may be increased in the future if
needed.
The following C code illustrates encoding and decoding of The following C code illustrates encoding and decoding of
variable-length integers. The functions return the number of variable-length integers. The functions return the number of
@ -319,9 +323,9 @@ Version 1.0.3 (2009-06-05)
2.1.1.2. Stream Flags 2.1.1.2. Stream Flags
The first byte of Stream Flags is always a null byte. In future The first byte of Stream Flags is always a null byte. In the
this byte may be used to indicate new Stream version or other future, this byte may be used to indicate a new Stream version
Stream properties. or other Stream properties.
The second byte of Stream Flags is a bit field: The second byte of Stream Flags is a bit field:
@ -492,15 +496,15 @@ Version 1.0.3 (2009-06-05)
real_header_size = (encoded_header_size + 1) * 4; real_header_size = (encoded_header_size + 1) * 4;
If bigger Block Header is needed in future, a new field can be If a Block Header bigger than 1024 bytes is needed in the
added between the current Block Header and Compressed Data future, a new field can be added between the Block Header and
fields. The presence of this new field would be indicated in Compressed Data fields. The presence of this new field would
the Block Header. be indicated in the Block Header field.
3.1.2. Block Flags 3.1.2. Block Flags
The first byte of the Block Flags field is a bit field: The Block Flags field is a bit field:
Bit(s) Mask Description Bit(s) Mask Description
0-1 0x03 Number of filters (1-4) 0-1 0x03 Number of filters (1-4)
@ -833,7 +837,7 @@ Version 1.0.3 (2009-06-05)
decompression. LZMA is based on LZ77 and range coding decompression. LZMA is based on LZ77 and range coding
algorithms. algorithms.
LZMA2 is an extensions on top of the original LZMA. LZMA2 uses LZMA2 is an extension on top of the original LZMA. LZMA2 uses
LZMA internally, but adds support for flushing the encoder, LZMA internally, but adds support for flushing the encoder,
uncompressed chunks, eases stateful decoder implementations, uncompressed chunks, eases stateful decoder implementations,
and improves support for multithreading. Thus, the plain LZMA and improves support for multithreading. Thus, the plain LZMA