LZMA 压缩设置详细信息
我真的需要知道每个 lzma 参数(mf,fb,lp,...)的含义。我在互联网上找不到任何好的文档。我需要这个算法的详细信息。最详细的是: http://www.bugaco.com/7zip/MANUAL/switches/method.htm 我将不胜感激任何帮助。
最好的祝愿, 沙迪。
I really need to know what each lzma parameter (mf, fb, lp, ...) means. I could not find any good documentation in the internet. I need details of this algorithm. the most detailed one is:
http://www.bugaco.com/7zip/MANUAL/switches/method.htm
I would appreciate any help.
Best wishes,
Shadi.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据 维基百科
似乎不存在压缩格式的完整自然语言规范
。但是配置设置是指定的。在使用
LZMA SDK
期间,我发现了以下压缩设置CLzmaEncProps
和CLzma2EncProps
结构类型:LZMA 选项:
level
dictSize
32 位
版本为 [1<<12;1<<27],64 位
版本为 [1<<12;1<<30]代码>版本。lc
lp
pb
algo
fb
btMode
numHashBytes
mf={MF_ID}
部分了解详情。mc
writeEndMark
numThreads
LZMA2 选项:
LZMA2
是LZMA
的修改版本。与LZMA
相比,它具有以下优势:LZMA2
可以以未压缩的形式存储此类数据块。还有它
更快地解压缩此类数据。
注意:
LZMA2
也支持所有LZMA
参数,但lp + lc
不能大于4< /代码>。
blockSize
numBlockThreads
numTotalThreads
LZMA2
可以使用的最大线程数。注意:
LZMA2
使用:x1
和x3
模式下每个块 1 个线程;x5
、x7
和x9
模式下每个块有 2 个线程。如果 LZMA2 设置为仅使用一个块所需的线程数,则它不会将流拆分为块。因此,不同数量的线程可以获得不同的压缩比。我认为,为了获得有关该主题的更多信息,您必须以更深入的方式研究
LZMA
。互联网上关于它的例子很少,而且文档也很不完整。更多信息请参见:
http://sevenzip.sourceforge。 jp/chm/cmdline/switches/method.htm
http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm
http://linux.die.net/man/1/lzma
According to Wikipedia
no complete natural language specification of the compressed format seems to exist
. However configuration settings are specified.During my work with
LZMA SDK
I discovered the following compression settingsCLzmaEncProps
andCLzma2EncProps
structure types:LZMA Options:
level
dictSize
32-bit
version or [1<<12;1<<30] for64-bit
version.lc
lp
pb
algo
fb
btMode
numHashBytes
mf={MF_ID}
section here for details.mc
writeEndMark
numThreads
LZMA2 Options:
LZMA2
is modified version ofLZMA
. It provides the following advantages overLZMA
:LZMA2
can store such blocks of data in uncompressed form. Also it
decompresses such data faster.
LZMA2
can split that file to chunks and compress these chunks in multiple threads.Note:
LZMA2
also supports allLZMA
parameters, butlp + lc
cannot be larger than4
.blockSize
numBlockThreads
numTotalThreads
LZMA2
can use.Note:
LZMA2
uses: 1 thread for each chunk inx1
andx3
modes; and 2 threads for each chunk inx5
,x7
andx9
modes. IfLZMA2
is set to use only such number of threads required for one chunk, it doesn't split stream to chunks. So you can get different compression ratio for different number of threads.I think that in order to get more information on this subject you have to study in a more profound way the
LZMA
. There are very few examples on the internet about it and the documentation is quite incomplete.More Info Here:
http://sevenzip.sourceforge.jp/chm/cmdline/switches/method.htm
http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm
http://linux.die.net/man/1/lzma