|
@@ -1,4 +1,4 @@
|
|
-LZMA SDK 4.65
|
|
|
|
|
|
+LZMA SDK 9.20
|
|
-------------
|
|
-------------
|
|
|
|
|
|
LZMA SDK provides the documentation, samples, header files, libraries,
|
|
LZMA SDK provides the documentation, samples, header files, libraries,
|
|
@@ -20,6 +20,10 @@ LICENSE
|
|
|
|
|
|
LZMA SDK is written and placed in the public domain by Igor Pavlov.
|
|
LZMA SDK is written and placed in the public domain by Igor Pavlov.
|
|
|
|
|
|
|
|
+Some code in LZMA SDK is based on public domain code from another developers:
|
|
|
|
+ 1) PPMd var.H (2001): Dmitry Shkarin
|
|
|
|
+ 2) SHA-256: Wei Dai (Crypto++ library)
|
|
|
|
+
|
|
|
|
|
|
LZMA SDK Contents
|
|
LZMA SDK Contents
|
|
-----------------
|
|
-----------------
|
|
@@ -33,7 +37,7 @@ LZMA SDK includes:
|
|
UNIX/Linux version
|
|
UNIX/Linux version
|
|
------------------
|
|
------------------
|
|
To compile C++ version of file->file LZMA encoding, go to directory
|
|
To compile C++ version of file->file LZMA encoding, go to directory
|
|
-C++/7zip/Compress/LZMA_Alone
|
|
|
|
|
|
+CPP/7zip/Bundles/LzmaCon
|
|
and call make to recompile it:
|
|
and call make to recompile it:
|
|
make -f makefile.gcc clean all
|
|
make -f makefile.gcc clean all
|
|
|
|
|
|
@@ -49,6 +53,7 @@ lzma.txt - LZMA SDK description (this file)
|
|
7zC.txt - 7z ANSI-C Decoder description
|
|
7zC.txt - 7z ANSI-C Decoder description
|
|
methods.txt - Compression method IDs for .7z
|
|
methods.txt - Compression method IDs for .7z
|
|
lzma.exe - Compiled file->file LZMA encoder/decoder for Windows
|
|
lzma.exe - Compiled file->file LZMA encoder/decoder for Windows
|
|
|
|
+7zr.exe - 7-Zip with 7z/lzma/xz support.
|
|
history.txt - history of the LZMA SDK
|
|
history.txt - history of the LZMA SDK
|
|
|
|
|
|
|
|
|
|
@@ -66,7 +71,7 @@ C/ - C files
|
|
LzmaEnc.* - LZMA encoding
|
|
LzmaEnc.* - LZMA encoding
|
|
LzmaLib.* - LZMA Library for DLL calling
|
|
LzmaLib.* - LZMA Library for DLL calling
|
|
Types.h - Basic types for another .c files
|
|
Types.h - Basic types for another .c files
|
|
- Threads.* - The code for multithreading.
|
|
|
|
|
|
+ Threads.* - The code for multithreading.
|
|
|
|
|
|
LzmaLib - LZMA Library (.DLL for Windows)
|
|
LzmaLib - LZMA Library (.DLL for Windows)
|
|
|
|
|
|
@@ -86,12 +91,6 @@ CPP/ -- CPP files
|
|
|
|
|
|
Compress - files related to compression/decompression
|
|
Compress - files related to compression/decompression
|
|
|
|
|
|
- Copy - Copy coder
|
|
|
|
- RangeCoder - Range Coder (special code of compression/decompression)
|
|
|
|
- LZMA - LZMA compression/decompression on C++
|
|
|
|
- LZMA_Alone - file->file LZMA compression/decompression
|
|
|
|
- Branch - Filters for x86, IA-64, ARM, ARM-Thumb, PowerPC and SPARC code
|
|
|
|
-
|
|
|
|
Archive - files related to archiving
|
|
Archive - files related to archiving
|
|
|
|
|
|
Common - common files for archive handling
|
|
Common - common files for archive handling
|
|
@@ -100,6 +99,7 @@ CPP/ -- CPP files
|
|
Bundles - Modules that are bundles of other modules
|
|
Bundles - Modules that are bundles of other modules
|
|
|
|
|
|
Alone7z - 7zr.exe: Standalone version of 7z.exe that supports only 7z/LZMA/BCJ/BCJ2
|
|
Alone7z - 7zr.exe: Standalone version of 7z.exe that supports only 7z/LZMA/BCJ/BCJ2
|
|
|
|
+ LzmaCon - lzma.exe: LZMA compression/decompression
|
|
Format7zR - 7zr.dll: Reduced version of 7za.dll: extracting/compressing to 7z/LZMA/BCJ/BCJ2
|
|
Format7zR - 7zr.dll: Reduced version of 7za.dll: extracting/compressing to 7z/LZMA/BCJ/BCJ2
|
|
Format7zExtractR - 7zxr.dll: Reduced version of 7zxa.dll: extracting from 7z/LZMA/BCJ/BCJ2.
|
|
Format7zExtractR - 7zxr.dll: Reduced version of 7zxa.dll: extracting from 7z/LZMA/BCJ/BCJ2.
|
|
|
|
|
|
@@ -369,8 +369,8 @@ Interface:
|
|
propData - LZMA properties (5 bytes)
|
|
propData - LZMA properties (5 bytes)
|
|
propSize - size of propData buffer (5 bytes)
|
|
propSize - size of propData buffer (5 bytes)
|
|
finishMode - It has meaning only if the decoding reaches output limit (*destLen).
|
|
finishMode - It has meaning only if the decoding reaches output limit (*destLen).
|
|
- LZMA_FINISH_ANY - Decode just destLen bytes.
|
|
|
|
- LZMA_FINISH_END - Stream must be finished after (*destLen).
|
|
|
|
|
|
+ LZMA_FINISH_ANY - Decode just destLen bytes.
|
|
|
|
+ LZMA_FINISH_END - Stream must be finished after (*destLen).
|
|
You can use LZMA_FINISH_END, when you know that
|
|
You can use LZMA_FINISH_END, when you know that
|
|
current output buffer covers last bytes of stream.
|
|
current output buffer covers last bytes of stream.
|
|
alloc - Memory allocator.
|
|
alloc - Memory allocator.
|
|
@@ -431,7 +431,7 @@ Memory Requirements:
|
|
{
|
|
{
|
|
...
|
|
...
|
|
int res = LzmaDec_DecodeToBuf(CLzmaDec *p, Byte *dest, SizeT *destLen,
|
|
int res = LzmaDec_DecodeToBuf(CLzmaDec *p, Byte *dest, SizeT *destLen,
|
|
- const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode);
|
|
|
|
|
|
+ const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode);
|
|
...
|
|
...
|
|
}
|
|
}
|
|
|
|
|
|
@@ -527,7 +527,8 @@ static ISzAlloc g_Alloc = { SzAlloc, SzFree };
|
|
LzmaEnc_Destroy(enc, &g_Alloc, &g_Alloc);
|
|
LzmaEnc_Destroy(enc, &g_Alloc, &g_Alloc);
|
|
|
|
|
|
|
|
|
|
-If callback function return some error code, LzmaEnc_Encode also returns that code.
|
|
|
|
|
|
+If callback function return some error code, LzmaEnc_Encode also returns that code
|
|
|
|
+or it can return the code like SZ_ERROR_READ, SZ_ERROR_WRITE or SZ_ERROR_PROGRESS.
|
|
|
|
|
|
|
|
|
|
Single-call RAM->RAM Compression
|
|
Single-call RAM->RAM Compression
|
|
@@ -549,8 +550,8 @@ Return code:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-LZMA Defines
|
|
|
|
-------------
|
|
|
|
|
|
+Defines
|
|
|
|
+-------
|
|
|
|
|
|
_LZMA_SIZE_OPT - Enable some optimizations in LZMA Decoder to get smaller executable code.
|
|
_LZMA_SIZE_OPT - Enable some optimizations in LZMA Decoder to get smaller executable code.
|
|
|
|
|
|
@@ -562,6 +563,9 @@ _LZMA_UINT32_IS_ULONG - Define it if int is 16-bit on your compiler and long is
|
|
_LZMA_NO_SYSTEM_SIZE_T - Define it if you don't want to use size_t type.
|
|
_LZMA_NO_SYSTEM_SIZE_T - Define it if you don't want to use size_t type.
|
|
|
|
|
|
|
|
|
|
|
|
+_7ZIP_PPMD_SUPPPORT - Define it if you don't want to support PPMD method in AMSI-C .7z decoder.
|
|
|
|
+
|
|
|
|
+
|
|
C++ LZMA Encoder/Decoder
|
|
C++ LZMA Encoder/Decoder
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
C++ LZMA code use COM-like interfaces. So if you want to use it,
|
|
C++ LZMA code use COM-like interfaces. So if you want to use it,
|