Lines Matching +full:ram +full:- +full:code

2 -------------
8 in 7-Zip compression program (www.7-zip.org). LZMA provides high
19 -------
23 Some code in LZMA SDK is based on public domain code from another developers:
25 2) SHA-256: Wei Dai (Crypto++ library)
29 -----------------
33 - ANSI-C/C++/C#/Java source code for LZMA compressing and decompressing
34 - Compiled file->file LZMA compressing/decompressing program for Windows system
38 ------------------
39 To compile C++ version of file->file LZMA encoding, go to directory
42 make -f makefile.gcc clean all
46 LIB = -lm -static
50 ---------------------
51 lzma.txt - LZMA SDK description (this file)
52 7zFormat.txt - 7z Format description
53 7zC.txt - 7z ANSI-C Decoder description
54 methods.txt - Compression method IDs for .7z
55 lzma.exe - Compiled file->file LZMA encoder/decoder for Windows
56 7zr.exe - 7-Zip with 7z/lzma/xz support.
57 history.txt - history of the LZMA SDK
60 Source code structure
61 ---------------------
63 C/ - C files
64 7zCrc*.* - CRC code
65 Alloc.* - Memory allocation functions
66 Bra*.* - Filters for x86, IA-64, ARM, ARM-Thumb, PowerPC and SPARC code
67 LzFind.* - Match finder for LZ (LZMA) encoders
68 LzFindMt.* - Match finder for LZ (LZMA) encoders for multithreading encoding
69 LzHash.h - Additional file for LZ match finder
70 LzmaDec.* - LZMA decoding
71 LzmaEnc.* - LZMA encoding
72 LzmaLib.* - LZMA Library for DLL calling
73 Types.h - Basic types for another .c files
74 Threads.* - The code for multithreading.
76 LzmaLib - LZMA Library (.DLL for Windows)
78 LzmaUtil - LZMA Utility (file->file LZMA encoder/decoder).
80 Archive - files related to archiving
81 7z - 7z ANSI-C Decoder
83 CPP/ -- CPP files
85 Common - common files for C++ projects
86 Windows - common files for Windows related code
88 7zip - files related to 7-Zip Project
90 Common - common files for 7-Zip
92 Compress - files related to compression/decompression
94 Archive - files related to archiving
96 Common - common files for archive handling
97 7z - 7z C++ Encoder/Decoder
99 Bundles - Modules that are bundles of other modules
101 Alone7z - 7zr.exe: Standalone version of 7z.exe that supports only 7z/LZMA/BCJ/BCJ2
102 LzmaCon - lzma.exe: LZMA compression/decompression
103 …Format7zR - 7zr.dll: Reduced version of 7za.dll: extracting/compressing to 7z/LZMA/BCJ/BCJ2
104 Format7zExtractR - 7zxr.dll: Reduced version of 7zxa.dll: extracting from 7z/LZMA/BCJ/BCJ2.
106 UI - User Interface files
108 Client7z - Test application for 7za.dll, 7zr.dll, 7zxr.dll
109 Common - Common UI files
110 Console - Code for console archiver
114 CS/ - C# files
116 Common - some common files for 7-Zip
117 Compress - files related to compression/decompression
118 LZ - files related to LZ (Lempel-Ziv) compression algorithm
119 LZMA - LZMA compression/decompression
120 LzmaAlone - file->file LZMA compression/decompression
121 RangeCoder - Range Coder (special code of compression/decompression)
123 Java/ - Java files
125 Compression - files related to compression/decompression
126 LZ - files related to LZ (Lempel-Ziv) compression algorithm
127 LZMA - LZMA compression/decompression
128 RangeCoder - Range Coder (special code of compression/decompression)
131 C/C++ source code of LZMA SDK is part of 7-Zip project.
132 7-Zip source code can be downloaded from 7-Zip's SourceForge page:
139 -------------
140 - Variable dictionary size (up to 1 GB)
141 - Estimated compressing speed: about 2 MB/s on 2 GHz CPU
142 - Estimated decompressing speed:
143 - 20-30 MB/s on 2 GHz Core 2 or AMD Athlon 64
144 - 1-2 MB/s on 200 MHz ARM, MIPS, PowerPC or other simple RISC
145 - Small memory requirements for decompressing (16 KB + DictionarySize)
146 - Small code size for decompressing: 5-8 KB
149 implemented in any modern 32-bit CPU (or on 16-bit CPU with some conditions).
154 3) 32-bit shift and arithmetic operations
162 ----------
165 --------------------------------------
177 Also Benchmark checks possible hardware errors (RAM
179 (-a1, -d21, -fb32, -mfbt4). You can change only -d parameter.
187 -a{N}: set compression mode 0 = fast, 1 = normal
190 d{N}: Sets Dictionary size - [0, 30], default: 23 (8MB)
194 size D = 2^N you need about D bytes of memory (RAM).
196 -fb{N}: set number of fast bytes - [5, 273], default: 128
200 -lc{N}: set number of literal context bits - [0, 8], default: 3
203 -lp{N}: set number of literal pos bits - [0, 4], default: 0
205 equal 2^N. For example, for 32-bit (4 bytes)
209 -pb{N}: set number of pos bits - [0, 4], default: 2
213 -mf{MF_ID}: set Match Finder. Default: bt4.
216 fast mode (-a0).
228 -eos: write End Of Stream marker. By default LZMA doesn't write
232 -si: Read data from stdin (it will write End Of Stream marker).
233 -so: Write data to stdout
238 1) LZMA e file.bin file.lzma -d16 -lc0
241 and 0 literal context bits. -lc0 allows to reduce memory requirements
245 2) LZMA e file.bin file.lzma -lc0 -lp2
248 for 32-bit periodical data (for example, ARM or MIPS code).
256 -----------------------
259 ---------------
263 data in such order, where code is grouped in one place and data is
264 grouped in other place (it's better than such mixing: code, data, code,
269 -------
272 increase the compression ratio on 5-10% for code for those CPU ISAs:
273 x86, IA-64, ARM, ARM-Thumb, PowerPC, SPARC.
275 You can find C source code of such filters in C/Bra*.* files
278 7-Zip commands (example for ARM code):
280 7z a a1.7z a.bin -m0=lzma
282 With filter for little-endian ARM code:
283 7z a a2.7z a.bin -m0=arm -m1=lzma
302 ---------------------------
306 5 8 Uncompressed size (little endian). -1 means unknown size
310 ANSI-C LZMA Decoder
313 Please note that interfaces for ANSI-C code were changed in LZMA SDK 4.58.
317 To use ANSI-C LZMA Decoder you need the following files:
323 -------------------------------------
326 larger than 200-400 bytes.
335 ----------------------
337 LZMA Decoder (ANSI-C version) now supports 2 interfaces:
338 1) Single-call Decompressing
339 2) Multi-call State Decompressing (zlib-like interface)
350 Single-call Decompressing
351 -------------------------
352 When to use: RAM->RAM decompressing
356 - Input buffer: compressed size
357 - Output buffer: uncompressed size
358 - LZMA Internal Structures: state_size (16 KB for default settings)
365 dest - output data
366 destLen - output data size
367 src - input data
368 srcLen - input data size
369 propData - LZMA properties (5 bytes)
370 propSize - size of propData buffer (5 bytes)
371 finishMode - It has meaning only if the decoding reaches output limit (*destLen).
372 LZMA_FINISH_ANY - Decode just destLen bytes.
373 LZMA_FINISH_END - Stream must be finished after (*destLen).
376 alloc - Memory allocator.
379 destLen - processed output size
380 srcLen - processed input size
388 SZ_ERROR_DATA - Data error
389 SZ_ERROR_MEM - Memory allocation error
390 SZ_ERROR_UNSUPPORTED - Unsupported properties
391 SZ_ERROR_INPUT_EOF - It needs more bytes in input buffer (src).
403 Multi-call State Decompressing (zlib-like interface)
404 ----------------------------------------------------
406 When to use: file->file decompressing
410 - Buffer for input stream: any size (for example, 16 KB)
411 - Buffer for output stream: any size (for example, 16 KB)
412 - LZMA Internal Structures: state_size (16 KB for default settings)
413 - LZMA dictionary (dictionary size is encoded in LZMA properties header)
415 1) read LZMA properties (5 bytes) and uncompressed size (8 bytes, little-endian) to header:
442 For full code example, look at C/LzmaUtil/LzmaUtil.c code.
446 --------------------
452 - (dictSize * 11.5 + 6 MB) + state_size
455 1) alloc - for small arrays.
456 2) allocBig - for big arrays.
458 For example, you can use Large RAM Pages (2 MB) in allocBig allocator for
460 Large RAM Pages.
464 Single-call Compression with callbacks
465 --------------------------------------
469 When to use: file->file decompressing
530 If callback function return some error code, LzmaEnc_Encode also returns that code
531 or it can return the code like SZ_ERROR_READ, SZ_ERROR_WRITE or SZ_ERROR_PROGRESS.
534 Single-call RAM->RAM Compression
535 --------------------------------
537 Single-call RAM->RAM Compression is similar to Compression with callbacks,
544 Return code:
545 SZ_OK - OK
546 SZ_ERROR_MEM - Memory allocation error
547 SZ_ERROR_PARAM - Incorrect paramater
548 SZ_ERROR_OUTPUT_EOF - output buffer overflow
549 SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version)
554 -------
556 _LZMA_SIZE_OPT - Enable some optimizations in LZMA Decoder to get smaller executable code.
558 _LZMA_PROB32 - It can increase the speed on some 32-bit CPUs, but memory usage for
561 _LZMA_UINT32_IS_ULONG - Define it if int is 16-bit on your compiler and long is 32-bit.
563 _LZMA_NO_SYSTEM_SIZE_T - Define it if you don't want to use size_t type.
566 _7ZIP_PPMD_SUPPPORT - Define it if you don't want to support PPMD method in AMSI-C .7z decoder.
571 C++ LZMA code use COM-like interfaces. So if you want to use it,
573 C++ LZMA code is just wrapper over ANSI-C code.
578 If you use some C++ code folders in 7-Zip (for example, C++ code for .7z handling),
580 7-Zip can be compiled with MSVC 6.0 that doesn't throw "exception" from "new" operator.
581 So 7-Zip uses "CPP\Common\NewHandler.cpp" that redefines "new" operator:
590 "NewHandler.cpp". So standard exception will be used. Actually some code of
591 7-Zip catches any exception in internal code and converts it to HRESULT code.
592 So you don't need to catch CNewException, if you call COM interfaces of 7-Zip.
594 ---
596 http://www.7-zip.org
597 http://www.7-zip.org/sdk.html
598 http://www.7-zip.org/support.html