xref: /aosp_15_r20/external/lzma/DOC/Methods.txt (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker7-Zip method IDs for 7z and xz archives
2*f6dc9357SAndroid Build Coastguard Worker---------------------------------------
3*f6dc9357SAndroid Build Coastguard Worker
4*f6dc9357SAndroid Build Coastguard WorkerVersion: 24.02
5*f6dc9357SAndroid Build Coastguard WorkerDate: 2024-03-22
6*f6dc9357SAndroid Build Coastguard Worker
7*f6dc9357SAndroid Build Coastguard WorkerEach compression or crypto method in 7z is associated with unique binary value (ID).
8*f6dc9357SAndroid Build Coastguard WorkerThe length of ID in bytes is arbitrary but it can not exceed 63 bits (8 bytes).
9*f6dc9357SAndroid Build Coastguard Worker
10*f6dc9357SAndroid Build Coastguard Workerxz and 7z formats use same ID map.
11*f6dc9357SAndroid Build Coastguard Worker
12*f6dc9357SAndroid Build Coastguard WorkerIf you want to add some new ID, you have two ways:
13*f6dc9357SAndroid Build Coastguard Worker  1) Write request for allocating IDs to 7-Zip developers.
14*f6dc9357SAndroid Build Coastguard Worker  2) Generate 8-bytes ID:
15*f6dc9357SAndroid Build Coastguard Worker
16*f6dc9357SAndroid Build Coastguard Worker    3F ZZ ZZ ZZ ZZ ZZ MM MM
17*f6dc9357SAndroid Build Coastguard Worker
18*f6dc9357SAndroid Build Coastguard Worker    3F              - Prefix for random IDs (1 byte)
19*f6dc9357SAndroid Build Coastguard Worker    ZZ ZZ ZZ ZZ ZZ  - Developer ID (5 bytes). Use real random bytes.
20*f6dc9357SAndroid Build Coastguard Worker
21*f6dc9357SAndroid Build Coastguard Worker    MM MM           - Method ID (2 bytes)
22*f6dc9357SAndroid Build Coastguard Worker
23*f6dc9357SAndroid Build Coastguard Worker    You can notify 7-Zip developers about your Developer ID / Method ID.
24*f6dc9357SAndroid Build Coastguard Worker
25*f6dc9357SAndroid Build Coastguard Worker    Note: Use new ID, if old codec can not decode data encoded with new version.
26*f6dc9357SAndroid Build Coastguard Worker
27*f6dc9357SAndroid Build Coastguard Worker
28*f6dc9357SAndroid Build Coastguard WorkerList of defined IDs
29*f6dc9357SAndroid Build Coastguard Worker-------------------
30*f6dc9357SAndroid Build Coastguard Worker
31*f6dc9357SAndroid Build Coastguard Worker00 - Copy
32*f6dc9357SAndroid Build Coastguard Worker
33*f6dc9357SAndroid Build Coastguard Worker03 - Delta
34*f6dc9357SAndroid Build Coastguard Worker04 - BCJ (x86)
35*f6dc9357SAndroid Build Coastguard Worker05 - PPC (big-endian)
36*f6dc9357SAndroid Build Coastguard Worker06 - IA64
37*f6dc9357SAndroid Build Coastguard Worker07 - ARM (little-endian)
38*f6dc9357SAndroid Build Coastguard Worker08 - ARMT (little-endian)
39*f6dc9357SAndroid Build Coastguard Worker09 - SPARC
40*f6dc9357SAndroid Build Coastguard Worker0A - ARM64
41*f6dc9357SAndroid Build Coastguard Worker0B - RISCV
42*f6dc9357SAndroid Build Coastguard Worker
43*f6dc9357SAndroid Build Coastguard Worker21 - LZMA2
44*f6dc9357SAndroid Build Coastguard Worker
45*f6dc9357SAndroid Build Coastguard Worker02.. - Common
46*f6dc9357SAndroid Build Coastguard Worker   03 [Swap]
47*f6dc9357SAndroid Build Coastguard Worker      - 2 Swap2
48*f6dc9357SAndroid Build Coastguard Worker      - 4 Swap4
49*f6dc9357SAndroid Build Coastguard Worker
50*f6dc9357SAndroid Build Coastguard Worker03.. - 7z
51*f6dc9357SAndroid Build Coastguard Worker   01 -
52*f6dc9357SAndroid Build Coastguard Worker      01 - LZMA
53*f6dc9357SAndroid Build Coastguard Worker
54*f6dc9357SAndroid Build Coastguard Worker   03 - [Branch Codecs]
55*f6dc9357SAndroid Build Coastguard Worker      01 - [x86 Codecs]
56*f6dc9357SAndroid Build Coastguard Worker         03  - BCJ
57*f6dc9357SAndroid Build Coastguard Worker         1B  - BCJ2 (4 packed streams)
58*f6dc9357SAndroid Build Coastguard Worker      02 -
59*f6dc9357SAndroid Build Coastguard Worker         05 - PPC (big-endian)
60*f6dc9357SAndroid Build Coastguard Worker      03 -
61*f6dc9357SAndroid Build Coastguard Worker         01 - Alpha
62*f6dc9357SAndroid Build Coastguard Worker      04 -
63*f6dc9357SAndroid Build Coastguard Worker         01 - IA64
64*f6dc9357SAndroid Build Coastguard Worker      05 -
65*f6dc9357SAndroid Build Coastguard Worker         01 - ARM (little-endian)
66*f6dc9357SAndroid Build Coastguard Worker      06 -
67*f6dc9357SAndroid Build Coastguard Worker         05 - M68 (big-endian)
68*f6dc9357SAndroid Build Coastguard Worker      07 -
69*f6dc9357SAndroid Build Coastguard Worker         01 - ARMT (little-endian)
70*f6dc9357SAndroid Build Coastguard Worker      08 -
71*f6dc9357SAndroid Build Coastguard Worker         05 - SPARC
72*f6dc9357SAndroid Build Coastguard Worker
73*f6dc9357SAndroid Build Coastguard Worker   04 -
74*f6dc9357SAndroid Build Coastguard Worker      01 - PPMD
75*f6dc9357SAndroid Build Coastguard Worker
76*f6dc9357SAndroid Build Coastguard Worker   7F -
77*f6dc9357SAndroid Build Coastguard Worker      01 - experimental method.
78*f6dc9357SAndroid Build Coastguard Worker
79*f6dc9357SAndroid Build Coastguard Worker
80*f6dc9357SAndroid Build Coastguard Worker04.. - Misc codecs
81*f6dc9357SAndroid Build Coastguard Worker
82*f6dc9357SAndroid Build Coastguard Worker   00 - Reserved
83*f6dc9357SAndroid Build Coastguard Worker
84*f6dc9357SAndroid Build Coastguard Worker   01 - [Zip]
85*f6dc9357SAndroid Build Coastguard Worker      00 - Copy (not used. Use {00} instead)
86*f6dc9357SAndroid Build Coastguard Worker      01 - Shrink
87*f6dc9357SAndroid Build Coastguard Worker      06 - Implode
88*f6dc9357SAndroid Build Coastguard Worker      08 - Deflate
89*f6dc9357SAndroid Build Coastguard Worker      09 - Deflate64
90*f6dc9357SAndroid Build Coastguard Worker      0A - Imploding
91*f6dc9357SAndroid Build Coastguard Worker      0C - BZip2 (not used. Use {040202} instead)
92*f6dc9357SAndroid Build Coastguard Worker      0E - LZMA (LZMA-zip)
93*f6dc9357SAndroid Build Coastguard Worker
94*f6dc9357SAndroid Build Coastguard Worker      5D - ZSTD
95*f6dc9357SAndroid Build Coastguard Worker      5F - xz
96*f6dc9357SAndroid Build Coastguard Worker      60 - Jpeg
97*f6dc9357SAndroid Build Coastguard Worker      61 - WavPack
98*f6dc9357SAndroid Build Coastguard Worker      62 - PPMd (PPMd-zip)
99*f6dc9357SAndroid Build Coastguard Worker      63 - wzAES
100*f6dc9357SAndroid Build Coastguard Worker
101*f6dc9357SAndroid Build Coastguard Worker   02 -
102*f6dc9357SAndroid Build Coastguard Worker      02 - BZip2
103*f6dc9357SAndroid Build Coastguard Worker
104*f6dc9357SAndroid Build Coastguard Worker   03 - [Rar]
105*f6dc9357SAndroid Build Coastguard Worker      01 - Rar1
106*f6dc9357SAndroid Build Coastguard Worker      02 - Rar2
107*f6dc9357SAndroid Build Coastguard Worker      03 - Rar3
108*f6dc9357SAndroid Build Coastguard Worker      05 - Rar5
109*f6dc9357SAndroid Build Coastguard Worker
110*f6dc9357SAndroid Build Coastguard Worker   04 - [Arj]
111*f6dc9357SAndroid Build Coastguard Worker      01 - Arj(1,2,3)
112*f6dc9357SAndroid Build Coastguard Worker      02 - Arj4
113*f6dc9357SAndroid Build Coastguard Worker
114*f6dc9357SAndroid Build Coastguard Worker   05 - [Z]
115*f6dc9357SAndroid Build Coastguard Worker
116*f6dc9357SAndroid Build Coastguard Worker   06 - [Lzh]
117*f6dc9357SAndroid Build Coastguard Worker
118*f6dc9357SAndroid Build Coastguard Worker   07 - Reserved for 7z
119*f6dc9357SAndroid Build Coastguard Worker
120*f6dc9357SAndroid Build Coastguard Worker   08 - [Cab]
121*f6dc9357SAndroid Build Coastguard Worker
122*f6dc9357SAndroid Build Coastguard Worker   09 - [NSIS]
123*f6dc9357SAndroid Build Coastguard Worker      01 - DeflateNSIS
124*f6dc9357SAndroid Build Coastguard Worker      02 - BZip2NSIS
125*f6dc9357SAndroid Build Coastguard Worker
126*f6dc9357SAndroid Build Coastguard Worker   F7 - External codecs (that are not included to 7-Zip)
127*f6dc9357SAndroid Build Coastguard Worker
128*f6dc9357SAndroid Build Coastguard Worker      0x xx - reserved
129*f6dc9357SAndroid Build Coastguard Worker
130*f6dc9357SAndroid Build Coastguard Worker      10 xx - reserved (LZHAM)
131*f6dc9357SAndroid Build Coastguard Worker         01 - LZHAM
132*f6dc9357SAndroid Build Coastguard Worker
133*f6dc9357SAndroid Build Coastguard Worker      11 xx - reserved (Tino Reichardt)
134*f6dc9357SAndroid Build Coastguard Worker         01 - ZSTD
135*f6dc9357SAndroid Build Coastguard Worker         02 - BROTLI
136*f6dc9357SAndroid Build Coastguard Worker         04 - LZ4
137*f6dc9357SAndroid Build Coastguard Worker         05 - LZ5
138*f6dc9357SAndroid Build Coastguard Worker         06 - LIZARD
139*f6dc9357SAndroid Build Coastguard Worker
140*f6dc9357SAndroid Build Coastguard Worker      12 xx - reserverd (Denis Anisimov)
141*f6dc9357SAndroid Build Coastguard Worker
142*f6dc9357SAndroid Build Coastguard Worker         01 - WavPack2
143*f6dc9357SAndroid Build Coastguard Worker         FE - eSplitter
144*f6dc9357SAndroid Build Coastguard Worker         FF - RawSplitter
145*f6dc9357SAndroid Build Coastguard Worker
146*f6dc9357SAndroid Build Coastguard Worker
147*f6dc9357SAndroid Build Coastguard Worker06.. - Crypto
148*f6dc9357SAndroid Build Coastguard Worker
149*f6dc9357SAndroid Build Coastguard Worker   F0 - Ciphers without hashing algo
150*f6dc9357SAndroid Build Coastguard Worker
151*f6dc9357SAndroid Build Coastguard Worker      01 - [AES]
152*f6dc9357SAndroid Build Coastguard Worker         0x - AES-128
153*f6dc9357SAndroid Build Coastguard Worker         4x - AES-192
154*f6dc9357SAndroid Build Coastguard Worker         8x - AES-256
155*f6dc9357SAndroid Build Coastguard Worker         Cx - AES
156*f6dc9357SAndroid Build Coastguard Worker
157*f6dc9357SAndroid Build Coastguard Worker         x0 - ECB
158*f6dc9357SAndroid Build Coastguard Worker         x1 - CBC
159*f6dc9357SAndroid Build Coastguard Worker         x2 - CFB
160*f6dc9357SAndroid Build Coastguard Worker         x3 - OFB
161*f6dc9357SAndroid Build Coastguard Worker         x4 - CTR
162*f6dc9357SAndroid Build Coastguard Worker
163*f6dc9357SAndroid Build Coastguard Worker   F1 - Combine Ciphers
164*f6dc9357SAndroid Build Coastguard Worker
165*f6dc9357SAndroid Build Coastguard Worker      01 - [Zip]
166*f6dc9357SAndroid Build Coastguard Worker         01 - ZipCrypto (Main Zip crypto algo)
167*f6dc9357SAndroid Build Coastguard Worker
168*f6dc9357SAndroid Build Coastguard Worker      03 - [RAR]
169*f6dc9357SAndroid Build Coastguard Worker         02 -
170*f6dc9357SAndroid Build Coastguard Worker         03 - Rar29AES (AES-128 + modified SHA-1)
171*f6dc9357SAndroid Build Coastguard Worker
172*f6dc9357SAndroid Build Coastguard Worker      07 - [7z]
173*f6dc9357SAndroid Build Coastguard Worker         01 - 7zAES (AES-256 + SHA-256)
174*f6dc9357SAndroid Build Coastguard Worker
175*f6dc9357SAndroid Build Coastguard Worker
176*f6dc9357SAndroid Build Coastguard Worker---
177*f6dc9357SAndroid Build Coastguard WorkerEnd of document
178