Major changes, including Brotli and Lizard

- update of zstd-mt library
- add brotli v0.6.0
- add lizard v2.0
- xxhash is from zstd for lz4, lz5 and lizard now
- update also the documentation, where needed
This commit is contained in:
Tino Reichardt
2017-05-25 18:40:15 +02:00
parent 40e87f615c
commit 5ff0657d9f
173 changed files with 3936 additions and 6591 deletions
+23 -5
View File
@@ -27,6 +27,8 @@ OBJS = \
$(COMPRESS_OBJS) \
$(CRYPTO_OBJS) \
$(C_OBJS) \
$(BROTLI_OBJS) \
$(LIZARD_OBJS) \
$(LZ4_OBJS) \
$(LZ5_OBJS) \
$(ZSTD_OBJS) \
@@ -176,6 +178,16 @@ $(C_OBJS): ../../../../C/$(*B).c
$(COMPL_O2)
!ENDIF
!IFDEF BROTLI_OBJS
$(BROTLI_OBJS): ../../../../C/brotli/$(*B).c
$(COMPL_O2)
!ENDIF
!IFDEF LIZARD_OBJS
$(LIZARD_OBJS): ../../../../C/lizard/$(*B).c
$(COMPL_O2)
!ENDIF
!IFDEF LZ4_OBJS
$(LZ4_OBJS): ../../../../C/lz4/$(*B).c
$(COMPL_O2)
@@ -257,15 +269,21 @@ $(ZSTDMT_OBJS): ../../../../C/zstdmt/$(*B).c
{../../Crypto}.cpp{$O}.obj::
$(COMPLB_O2)
{../../../../C}.c{$O}.obj::
$(CCOMPLB)
$(COMPLB_O2)
{../../../../C/brotli}.c{$O}.obj::
$(COMPLB_O2)
{../../../../C/lizard}.c{$O}.obj::
$(COMPLB_O2)
{../../../../C/lz4}.c{$O}.obj::
$(CCOMPLB)
$(COMPLB_O2)
{../../../../C/lz5}.c{$O}.obj::
$(CCOMPLB)
$(COMPLB_O2)
{../../../../C/zstd}.c{$O}.obj::
$(CCOMPLB)
$(COMPLB_O2)
{../../../../C/zstdmt}.c{$O}.obj::
$(CCOMPLB) \
$(COMPLB_O2) \
-I ../../../../C/brotli \
-I ../../../../C/lizard \
-I ../../../../C/lz4 \
-I ../../../../C/lz5 \
-I ../../../../C/zstd
+36
View File
@@ -469,6 +469,42 @@ HRESULT CHandler::SetMethodToProp(CNum folderIndex, PROPVARIANT *prop) const
dest += MyStringLen(dest);
}
}
else if (id == k_BROTLI)
{
name = "Brotli";
if (propsSize == 3)
{
char *dest = s;
*dest++ = 'v';
ConvertUInt32ToString(props[0], dest);
dest += MyStringLen(dest);
*dest++ = '.';
ConvertUInt32ToString(props[1], dest);
dest += MyStringLen(dest);
*dest++ = ',';
*dest++ = 'l';
ConvertUInt32ToString(props[2], dest);
dest += MyStringLen(dest);
}
}
else if (id == k_LIZARD)
{
name = "Lizard";
if (propsSize == 3)
{
char *dest = s;
*dest++ = 'v';
ConvertUInt32ToString(props[0], dest);
dest += MyStringLen(dest);
*dest++ = '.';
ConvertUInt32ToString(props[1], dest);
dest += MyStringLen(dest);
*dest++ = ',';
*dest++ = 'l';
ConvertUInt32ToString(props[2], dest);
dest += MyStringLen(dest);
}
}
else if (id == k_LZ4)
{
name = "LZ4";
+2
View File
@@ -121,8 +121,10 @@ const UInt32 k_SPARC = 0x3030805;
const UInt32 k_LZHAM = 0x4F71001;
const UInt32 k_ZSTD = 0x4F71101;
const UInt32 k_BROTLI= 0x4F71102;
const UInt32 k_LZ4 = 0x4F71104;
const UInt32 k_LZ5 = 0x4F71105;
const UInt32 k_LIZARD= 0x4F71106;
const UInt32 k_AES = 0x6F10701;
+56 -11
View File
@@ -219,9 +219,15 @@ C_OBJS = \
$O\XzIn.obj \
COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\BrotliDecoder.obj \
$O\BrotliEncoder.obj \
$O\BrotliRegister.obj \
$O\Lz4Decoder.obj \
$O\Lz4Encoder.obj \
$O\Lz4Register.obj \
$O\LizardDecoder.obj \
$O\LizardEncoder.obj \
$O\LizardRegister.obj \
$O\Lz5Decoder.obj \
$O\Lz5Encoder.obj \
$O\Lz5Register.obj \
@@ -229,11 +235,44 @@ COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\ZstdEncoder.obj \
$O\ZstdRegister.obj \
BROTLI_OBJS = \
$O/br_dictionary.obj \
$O/br_bit_reader.obj \
$O/br_decode.obj \
$O/br_huffman.obj \
$O/br_state.obj \
$O/br_backward_references.obj \
$O/br_backward_references_hq.obj \
$O/br_bit_cost.obj \
$O/br_block_splitter.obj \
$O/br_brotli_bit_stream.obj \
$O/br_cluster.obj \
$O/br_compress_fragment.obj \
$O/br_compress_fragment_two_pass.obj \
$O/br_dictionary_hash.obj \
$O/br_encode.obj \
$O/br_entropy_encode.obj \
$O/br_histogram.obj \
$O/br_literal_cost.obj \
$O/br_memory.obj \
$O/br_metablock.obj \
$O/br_static_dict.obj \
$O/br_utf8_util.obj \
LIZARD_OBJS = \
$O/liz_entropy_common.obj \
$O/liz_fse_compress.obj \
$O/liz_fse_decompress.obj \
$O/liz_huf_compress.obj \
$O/liz_huf_decompress.obj \
$O/liz_lz5_compress.obj \
$O/liz_lz5_decompress.obj \
$O/liz_lz5frame.obj \
LZ4_OBJS = \
$O\lz4.obj \
$O\lz4frame.obj \
$O\lz4hc.obj \
$O\lz4xxhash.obj \
LZ5_OBJS = \
$O\lz5.obj \
@@ -241,12 +280,12 @@ LZ5_OBJS = \
$O\lz5hc.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
$O\entropy_common.obj \
$O\fse_decompress.obj \
$O\huf_decompress.obj \
$O\zstd_common.obj \
$O\zstd_decompress.obj \
$O\xxhash.obj \
$O\fse_compress.obj \
$O\huf_compress.obj \
$O\zstd_compress.obj \
@@ -260,16 +299,22 @@ ZSTD_OBJS = \
$O\zstd_v07.obj \
ZSTDMT_OBJS = \
$O\lz4mt_common.obj \
$O\lz4mt_compress.obj \
$O\lz4mt_decompress.obj \
$O\lz5mt_common.obj \
$O\lz5mt_compress.obj \
$O\lz5mt_decompress.obj \
$O\threading.obj \
$O\zstdmt_common.obj \
$O\zstdmt_compress.obj \
$O\zstdmt_decompress.obj \
$O\brotli-mt_common.obj \
$O\brotli-mt_compress.obj \
$O\brotli-mt_decompress.obj \
$O\lizard-mt_common.obj \
$O\lizard-mt_compress.obj \
$O\lizard-mt_decompress.obj \
$O\lz4-mt_common.obj \
$O\lz4-mt_compress.obj \
$O\lz4-mt_decompress.obj \
$O\lz5-mt_common.obj \
$O\lz5-mt_compress.obj \
$O\lz5-mt_decompress.obj \
$O\zstd-mt_common.obj \
$O\zstd-mt_compress.obj \
$O\zstd-mt_decompress.obj \
!include "../../UI/Console/Console.mak"
+3
View File
@@ -0,0 +1,3 @@
// StdAfx.cpp
#include "StdAfx.h"
+8
View File
@@ -0,0 +1,8 @@
// StdAfx.h
#ifndef __STDAFX_H
#define __STDAFX_H
#include "../../../Common/Common.h"
#endif
+54
View File
@@ -0,0 +1,54 @@
PROG = brotli.dll
DEF_FILE = ../../Compress/Codec.def
CFLAGS = $(CFLAGS) -DNEED_7ZIP_GUID
7ZIP_COMMON_OBJS = \
$O\StreamUtils.obj \
WIN_OBJS = \
$O\System.obj \
COMPRESS_OBJS = \
$O\CodecExports.obj \
$O\DllExportsCompress.obj \
C_OBJS = \
$O\Alloc.obj \
$O\Threads.obj \
COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\BrotliDecoder.obj \
$O\BrotliEncoder.obj \
$O\BrotliRegister.obj \
BROTLI_OBJS = \
$O/br_dictionary.obj \
$O/br_bit_reader.obj \
$O/br_decode.obj \
$O/br_huffman.obj \
$O/br_state.obj \
$O/br_backward_references.obj \
$O/br_backward_references_hq.obj \
$O/br_bit_cost.obj \
$O/br_block_splitter.obj \
$O/br_brotli_bit_stream.obj \
$O/br_cluster.obj \
$O/br_compress_fragment.obj \
$O/br_compress_fragment_two_pass.obj \
$O/br_dictionary_hash.obj \
$O/br_encode.obj \
$O/br_entropy_encode.obj \
$O/br_histogram.obj \
$O/br_literal_cost.obj \
$O/br_memory.obj \
$O/br_metablock.obj \
$O/br_static_dict.obj \
$O/br_utf8_util.obj \
ZSTDMT_OBJS = \
$O\threading.obj \
$O\brotli-mt_common.obj \
$O\brotli-mt_compress.obj \
$O\brotli-mt_decompress.obj \
!include "../../7zip.mak"
@@ -0,0 +1,6 @@
#include "../../../../C/7zVersionTr.h"
#include "../../../../C/7zVersion.rc"
MY_VERSION_INFO_DLL("7z LZ5 Plugin", "lz5")
101 ICON "../../Archive/Icons/7z.ico"
+3
View File
@@ -0,0 +1,3 @@
// StdAfx.cpp
#include "StdAfx.h"
+8
View File
@@ -0,0 +1,8 @@
// StdAfx.h
#ifndef __STDAFX_H
#define __STDAFX_H
#include "../../../Common/Common.h"
#endif
+43
View File
@@ -0,0 +1,43 @@
PROG = lizard.dll
DEF_FILE = ../../Compress/Codec.def
CFLAGS = $(CFLAGS) -DNEED_7ZIP_GUID
7ZIP_COMMON_OBJS = \
$O\StreamUtils.obj \
WIN_OBJS = \
$O\System.obj \
COMPRESS_OBJS = \
$O\CodecExports.obj \
$O\DllExportsCompress.obj \
C_OBJS = \
$O\Alloc.obj \
$O\Threads.obj \
COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\LizardDecoder.obj \
$O\LizardEncoder.obj \
$O\LizardRegister.obj \
LIZARD_OBJS = \
$O/liz_entropy_common.obj \
$O/liz_fse_compress.obj \
$O/liz_fse_decompress.obj \
$O/liz_huf_compress.obj \
$O/liz_huf_decompress.obj \
$O/liz_lz5_compress.obj \
$O/liz_lz5_decompress.obj \
$O/liz_lz5frame.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
ZSTDMT_OBJS = \
$O\threading.obj \
$O\lizard-mt_common.obj \
$O\lizard-mt_compress.obj \
$O\lizard-mt_decompress.obj \
!include "../../7zip.mak"
@@ -0,0 +1,6 @@
#include "../../../../C/7zVersionTr.h"
#include "../../../../C/7zVersion.rc"
MY_VERSION_INFO_DLL("7z LZ5 Plugin", "lz5")
101 ICON "../../Archive/Icons/7z.ico"
+6 -4
View File
@@ -25,12 +25,14 @@ LZ4_OBJS = \
$O\lz4.obj \
$O\lz4frame.obj \
$O\lz4hc.obj \
$O\lz4xxhash.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
ZSTDMT_OBJS = \
$O\lz4mt_common.obj \
$O\lz4mt_compress.obj \
$O\lz4mt_decompress.obj \
$O\threading.obj \
$O\lz4-mt_common.obj \
$O\lz4-mt_compress.obj \
$O\lz4-mt_decompress.obj \
!include "../../7zip.mak"
+6 -4
View File
@@ -25,12 +25,14 @@ LZ5_OBJS = \
$O\lz5.obj \
$O\lz5frame.obj \
$O\lz5hc.obj \
$O\lz5xxhash.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
ZSTDMT_OBJS = \
$O\lz5mt_common.obj \
$O\lz5mt_compress.obj \
$O\lz5mt_decompress.obj \
$O\threading.obj \
$O\lz5-mt_common.obj \
$O\lz5-mt_compress.obj \
$O\lz5-mt_decompress.obj \
!include "../../7zip.mak"
+4 -4
View File
@@ -22,12 +22,12 @@ COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\ZstdRegister.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
$O\entropy_common.obj \
$O\fse_decompress.obj \
$O\huf_decompress.obj \
$O\zstd_common.obj \
$O\zstd_decompress.obj \
$O\xxhash.obj \
$O\fse_compress.obj \
$O\huf_compress.obj \
$O\zstd_compress.obj \
@@ -35,8 +35,8 @@ ZSTD_OBJS = \
ZSTDMT_OBJS = \
$O\threading.obj \
$O\zstdmt_common.obj \
$O\zstdmt_compress.obj \
$O\zstdmt_decompress.obj \
$O\zstd-mt_common.obj \
$O\zstd-mt_compress.obj \
$O\zstd-mt_decompress.obj \
!include "../../7zip.mak"
+4 -4
View File
@@ -22,12 +22,12 @@ COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\ZstdRegister.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
$O\entropy_common.obj \
$O\fse_decompress.obj \
$O\huf_decompress.obj \
$O\zstd_common.obj \
$O\zstd_decompress.obj \
$O\xxhash.obj \
$O\fse_compress.obj \
$O\huf_compress.obj \
$O\zstd_compress.obj \
@@ -42,8 +42,8 @@ ZSTD_OBJS = \
ZSTDMT_OBJS = \
$O\threading.obj \
$O\zstdmt_common.obj \
$O\zstdmt_compress.obj \
$O\zstdmt_decompress.obj \
$O\zstd-mt_common.obj \
$O\zstd-mt_compress.obj \
$O\zstd-mt_decompress.obj \
!include "../../7zip.mak"
+230 -186
View File
@@ -1,186 +1,230 @@
PROG = 7za.dll
DEF_FILE = ../../Archive/Archive2.def
CFLAGS = $(CFLAGS)
COMMON_OBJS = \
$O\CRC.obj \
$O\CrcReg.obj \
$O\IntToString.obj \
$O\NewHandler.obj \
$O\MyString.obj \
$O\Sha256Reg.obj \
$O\StringConvert.obj \
$O\StringToInt.obj \
$O\MyVector.obj \
$O\Wildcard.obj \
WIN_OBJS = \
$O\FileDir.obj \
$O\FileFind.obj \
$O\FileIO.obj \
$O\FileName.obj \
$O\PropVariant.obj \
$O\Synchronization.obj \
$O\System.obj \
7ZIP_COMMON_OBJS = \
$O\CreateCoder.obj \
$O\CWrappers.obj \
$O\InBuffer.obj \
$O\InOutTempBuffer.obj \
$O\FilterCoder.obj \
$O\LimitedStreams.obj \
$O\MethodId.obj \
$O\MethodProps.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
$O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
$O\UniqBlocks.obj \
$O\VirtThread.obj \
AR_OBJS = \
$O\ArchiveExports.obj \
$O\DllExports2.obj \
AR_COMMON_OBJS = \
$O\CoderMixer2.obj \
$O\HandlerOut.obj \
$O\InStreamWithCRC.obj \
$O\ItemNameUtils.obj \
$O\OutStreamWithCRC.obj \
$O\ParseProperties.obj \
7Z_OBJS = \
$O\7zCompressionMode.obj \
$O\7zDecode.obj \
$O\7zEncode.obj \
$O\7zExtract.obj \
$O\7zFolderInStream.obj \
$O\7zHandler.obj \
$O\7zHandlerOut.obj \
$O\7zHeader.obj \
$O\7zIn.obj \
$O\7zOut.obj \
$O\7zProperties.obj \
$O\7zSpecStream.obj \
$O\7zUpdate.obj \
$O\7zRegister.obj \
COMPRESS_OBJS = \
$O\CodecExports.obj \
$O\Bcj2Coder.obj \
$O\Bcj2Register.obj \
$O\BcjCoder.obj \
$O\BcjRegister.obj \
$O\BitlDecoder.obj \
$O\BranchMisc.obj \
$O\BranchRegister.obj \
$O\ByteSwap.obj \
$O\BZip2Crc.obj \
$O\BZip2Encoder.obj \
$O\BZip2Decoder.obj \
$O\BZip2Register.obj \
$O\CopyCoder.obj \
$O\CopyRegister.obj \
$O\DeflateEncoder.obj \
$O\DeflateDecoder.obj \
$O\DeflateRegister.obj \
$O\DeltaFilter.obj \
$O\Lzma2Decoder.obj \
$O\Lzma2Encoder.obj \
$O\Lzma2Register.obj \
$O\LzmaDecoder.obj \
$O\LzmaEncoder.obj \
$O\LzmaRegister.obj \
$O\LzOutWindow.obj \
$O\PpmdDecoder.obj \
$O\PpmdEncoder.obj \
$O\PpmdRegister.obj \
CRYPTO_OBJS = \
$O\7zAes.obj \
$O\7zAesRegister.obj \
$O\MyAes.obj \
$O\MyAesReg.obj \
$O\RandGen.obj \
C_OBJS = \
$O\Alloc.obj \
$O\Bcj2.obj \
$O\Bcj2Enc.obj \
$O\Bra.obj \
$O\Bra86.obj \
$O\BraIA64.obj \
$O\BwtSort.obj \
$O\CpuArch.obj \
$O\Delta.obj \
$O\HuffEnc.obj \
$O\LzFind.obj \
$O\LzFindMt.obj \
$O\Lzma2Dec.obj \
$O\Lzma2Enc.obj \
$O\LzmaDec.obj \
$O\LzmaEnc.obj \
$O\MtCoder.obj \
$O\Ppmd7.obj \
$O\Ppmd7Dec.obj \
$O\Ppmd7Enc.obj \
$O\Sha256.obj \
$O\Sort.obj \
$O\Threads.obj \
!include "../../Aes.mak"
!include "../../Crc.mak"
COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\Lz4Decoder.obj \
$O\Lz4Encoder.obj \
$O\Lz4Register.obj \
$O\Lz5Decoder.obj \
$O\Lz5Encoder.obj \
$O\Lz5Register.obj \
$O\ZstdDecoder.obj \
$O\ZstdEncoder.obj \
$O\ZstdRegister.obj \
LZ4_OBJS = \
$O\lz4.obj \
$O\lz4frame.obj \
$O\lz4hc.obj \
$O\lz4xxhash.obj \
LZ5_OBJS = \
$O\lz5.obj \
$O\lz5frame.obj \
$O\lz5hc.obj \
ZSTD_OBJS = \
$O\entropy_common.obj \
$O\fse_decompress.obj \
$O\huf_decompress.obj \
$O\zstd_common.obj \
$O\zstd_decompress.obj \
$O\xxhash.obj \
$O\fse_compress.obj \
$O\huf_compress.obj \
$O\zstd_compress.obj \
$O\error_private.obj \
ZSTDMT_OBJS = \
$O\threading.obj \
$O\lz4mt_common.obj \
$O\lz4mt_compress.obj \
$O\lz4mt_decompress.obj \
$O\lz5mt_common.obj \
$O\lz5mt_compress.obj \
$O\lz5mt_decompress.obj \
$O\zstdmt_common.obj \
$O\zstdmt_compress.obj \
$O\zstdmt_decompress.obj \
!include "../../7zip.mak"
PROG = 7za.dll
DEF_FILE = ../../Archive/Archive2.def
CFLAGS = $(CFLAGS)
COMMON_OBJS = \
$O\CRC.obj \
$O\CrcReg.obj \
$O\IntToString.obj \
$O\NewHandler.obj \
$O\MyString.obj \
$O\Sha256Reg.obj \
$O\StringConvert.obj \
$O\StringToInt.obj \
$O\MyVector.obj \
$O\Wildcard.obj \
WIN_OBJS = \
$O\FileDir.obj \
$O\FileFind.obj \
$O\FileIO.obj \
$O\FileName.obj \
$O\PropVariant.obj \
$O\Synchronization.obj \
$O\System.obj \
7ZIP_COMMON_OBJS = \
$O\CreateCoder.obj \
$O\CWrappers.obj \
$O\InBuffer.obj \
$O\InOutTempBuffer.obj \
$O\FilterCoder.obj \
$O\LimitedStreams.obj \
$O\MethodId.obj \
$O\MethodProps.obj \
$O\OutBuffer.obj \
$O\ProgressUtils.obj \
$O\PropId.obj \
$O\StreamBinder.obj \
$O\StreamObjects.obj \
$O\StreamUtils.obj \
$O\UniqBlocks.obj \
$O\VirtThread.obj \
AR_OBJS = \
$O\ArchiveExports.obj \
$O\DllExports2.obj \
AR_COMMON_OBJS = \
$O\CoderMixer2.obj \
$O\HandlerOut.obj \
$O\InStreamWithCRC.obj \
$O\ItemNameUtils.obj \
$O\OutStreamWithCRC.obj \
$O\ParseProperties.obj \
7Z_OBJS = \
$O\7zCompressionMode.obj \
$O\7zDecode.obj \
$O\7zEncode.obj \
$O\7zExtract.obj \
$O\7zFolderInStream.obj \
$O\7zHandler.obj \
$O\7zHandlerOut.obj \
$O\7zHeader.obj \
$O\7zIn.obj \
$O\7zOut.obj \
$O\7zProperties.obj \
$O\7zSpecStream.obj \
$O\7zUpdate.obj \
$O\7zRegister.obj \
COMPRESS_OBJS = \
$O\CodecExports.obj \
$O\Bcj2Coder.obj \
$O\Bcj2Register.obj \
$O\BcjCoder.obj \
$O\BcjRegister.obj \
$O\BitlDecoder.obj \
$O\BranchMisc.obj \
$O\BranchRegister.obj \
$O\ByteSwap.obj \
$O\BZip2Crc.obj \
$O\BZip2Encoder.obj \
$O\BZip2Decoder.obj \
$O\BZip2Register.obj \
$O\CopyCoder.obj \
$O\CopyRegister.obj \
$O\DeflateEncoder.obj \
$O\DeflateDecoder.obj \
$O\DeflateRegister.obj \
$O\DeltaFilter.obj \
$O\Lzma2Decoder.obj \
$O\Lzma2Encoder.obj \
$O\Lzma2Register.obj \
$O\LzmaDecoder.obj \
$O\LzmaEncoder.obj \
$O\LzmaRegister.obj \
$O\LzOutWindow.obj \
$O\PpmdDecoder.obj \
$O\PpmdEncoder.obj \
$O\PpmdRegister.obj \
CRYPTO_OBJS = \
$O\7zAes.obj \
$O\7zAesRegister.obj \
$O\MyAes.obj \
$O\MyAesReg.obj \
$O\RandGen.obj \
C_OBJS = \
$O\Alloc.obj \
$O\Bcj2.obj \
$O\Bcj2Enc.obj \
$O\Bra.obj \
$O\Bra86.obj \
$O\BraIA64.obj \
$O\BwtSort.obj \
$O\CpuArch.obj \
$O\Delta.obj \
$O\HuffEnc.obj \
$O\LzFind.obj \
$O\LzFindMt.obj \
$O\Lzma2Dec.obj \
$O\Lzma2Enc.obj \
$O\LzmaDec.obj \
$O\LzmaEnc.obj \
$O\MtCoder.obj \
$O\Ppmd7.obj \
$O\Ppmd7Dec.obj \
$O\Ppmd7Enc.obj \
$O\Sha256.obj \
$O\Sort.obj \
$O\Threads.obj \
!include "../../Aes.mak"
!include "../../Crc.mak"
COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\BrotliDecoder.obj \
$O\BrotliEncoder.obj \
$O\BrotliRegister.obj \
$O\Lz4Decoder.obj \
$O\Lz4Encoder.obj \
$O\Lz4Register.obj \
$O\LizardDecoder.obj \
$O\LizardEncoder.obj \
$O\LizardRegister.obj \
$O\Lz5Decoder.obj \
$O\Lz5Encoder.obj \
$O\Lz5Register.obj \
$O\ZstdDecoder.obj \
$O\ZstdEncoder.obj \
$O\ZstdRegister.obj \
BROTLI_OBJS = \
$O/br_dictionary.obj \
$O/br_bit_reader.obj \
$O/br_decode.obj \
$O/br_huffman.obj \
$O/br_state.obj \
$O/br_backward_references.obj \
$O/br_backward_references_hq.obj \
$O/br_bit_cost.obj \
$O/br_block_splitter.obj \
$O/br_brotli_bit_stream.obj \
$O/br_cluster.obj \
$O/br_compress_fragment.obj \
$O/br_compress_fragment_two_pass.obj \
$O/br_dictionary_hash.obj \
$O/br_encode.obj \
$O/br_entropy_encode.obj \
$O/br_histogram.obj \
$O/br_literal_cost.obj \
$O/br_memory.obj \
$O/br_metablock.obj \
$O/br_static_dict.obj \
$O/br_utf8_util.obj \
LIZARD_OBJS = \
$O/liz_entropy_common.obj \
$O/liz_fse_compress.obj \
$O/liz_fse_decompress.obj \
$O/liz_huf_compress.obj \
$O/liz_huf_decompress.obj \
$O/liz_lz5_compress.obj \
$O/liz_lz5_decompress.obj \
$O/liz_lz5frame.obj \
LZ4_OBJS = \
$O\lz4.obj \
$O\lz4frame.obj \
$O\lz4hc.obj \
LZ5_OBJS = \
$O\lz5.obj \
$O\lz5frame.obj \
$O\lz5hc.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
$O\entropy_common.obj \
$O\fse_decompress.obj \
$O\huf_decompress.obj \
$O\zstd_common.obj \
$O\zstd_decompress.obj \
$O\fse_compress.obj \
$O\huf_compress.obj \
$O\zstd_compress.obj \
$O\error_private.obj \
ZSTDMT_OBJS = \
$O\threading.obj \
$O\brotli-mt_common.obj \
$O\brotli-mt_compress.obj \
$O\brotli-mt_decompress.obj \
$O\lizard-mt_common.obj \
$O\lizard-mt_compress.obj \
$O\lizard-mt_decompress.obj \
$O\lz4-mt_common.obj \
$O\lz4-mt_compress.obj \
$O\lz4-mt_decompress.obj \
$O\lz5-mt_common.obj \
$O\lz5-mt_compress.obj \
$O\lz5-mt_decompress.obj \
$O\zstd-mt_common.obj \
$O\zstd-mt_compress.obj \
$O\zstd-mt_decompress.obj \
!include "../../7zip.mak"
+56 -11
View File
@@ -17,9 +17,15 @@ AR_OBJS = $(AR_OBJS) \
$O\DllExports2.obj \
COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\BrotliDecoder.obj \
$O\BrotliEncoder.obj \
$O\BrotliRegister.obj \
$O\Lz4Decoder.obj \
$O\Lz4Encoder.obj \
$O\Lz4Register.obj \
$O\LizardDecoder.obj \
$O\LizardEncoder.obj \
$O\LizardRegister.obj \
$O\Lz5Decoder.obj \
$O\Lz5Encoder.obj \
$O\Lz5Register.obj \
@@ -27,11 +33,44 @@ COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\ZstdEncoder.obj \
$O\ZstdRegister.obj \
BROTLI_OBJS = \
$O/br_dictionary.obj \
$O/br_bit_reader.obj \
$O/br_decode.obj \
$O/br_huffman.obj \
$O/br_state.obj \
$O/br_backward_references.obj \
$O/br_backward_references_hq.obj \
$O/br_bit_cost.obj \
$O/br_block_splitter.obj \
$O/br_brotli_bit_stream.obj \
$O/br_cluster.obj \
$O/br_compress_fragment.obj \
$O/br_compress_fragment_two_pass.obj \
$O/br_dictionary_hash.obj \
$O/br_encode.obj \
$O/br_entropy_encode.obj \
$O/br_histogram.obj \
$O/br_literal_cost.obj \
$O/br_memory.obj \
$O/br_metablock.obj \
$O/br_static_dict.obj \
$O/br_utf8_util.obj \
LIZARD_OBJS = \
$O/liz_entropy_common.obj \
$O/liz_fse_compress.obj \
$O/liz_fse_decompress.obj \
$O/liz_huf_compress.obj \
$O/liz_huf_decompress.obj \
$O/liz_lz5_compress.obj \
$O/liz_lz5_decompress.obj \
$O/liz_lz5frame.obj \
LZ4_OBJS = \
$O\lz4.obj \
$O\lz4frame.obj \
$O\lz4hc.obj \
$O\lz4xxhash.obj \
LZ5_OBJS = \
$O\lz5.obj \
@@ -39,12 +78,12 @@ LZ5_OBJS = \
$O\lz5hc.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
$O\entropy_common.obj \
$O\fse_decompress.obj \
$O\huf_decompress.obj \
$O\zstd_common.obj \
$O\zstd_decompress.obj \
$O\xxhash.obj \
$O\fse_compress.obj \
$O\huf_compress.obj \
$O\zstd_compress.obj \
@@ -58,15 +97,21 @@ ZSTD_OBJS = \
$O\zstd_v07.obj \
ZSTDMT_OBJS = \
$O\lz5mt_common.obj \
$O\lz5mt_compress.obj \
$O\lz5mt_decompress.obj \
$O\lz4mt_common.obj \
$O\lz4mt_compress.obj \
$O\lz4mt_decompress.obj \
$O\threading.obj \
$O\zstdmt_common.obj \
$O\zstdmt_compress.obj \
$O\zstdmt_decompress.obj \
$O\brotli-mt_common.obj \
$O\brotli-mt_compress.obj \
$O\brotli-mt_decompress.obj \
$O\lizard-mt_common.obj \
$O\lizard-mt_compress.obj \
$O\lizard-mt_decompress.obj \
$O\lz4-mt_common.obj \
$O\lz4-mt_compress.obj \
$O\lz4-mt_decompress.obj \
$O\lz5-mt_common.obj \
$O\lz5-mt_compress.obj \
$O\lz5-mt_decompress.obj \
$O\zstd-mt_common.obj \
$O\zstd-mt_compress.obj \
$O\zstd-mt_decompress.obj \
!include "../../7zip.mak"
+10 -11
View File
@@ -152,7 +152,6 @@ LZ4_OBJS = \
$O\lz4.obj \
$O\lz4frame.obj \
$O\lz4hc.obj \
$O\lz4xxhash.obj \
LZ5_OBJS = \
$O\lz5.obj \
@@ -160,12 +159,12 @@ LZ5_OBJS = \
$O\lz5hc.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
$O\entropy_common.obj \
$O\fse_decompress.obj \
$O\huf_decompress.obj \
$O\zstd_common.obj \
$O\zstd_decompress.obj \
$O\xxhash.obj \
$O\fse_compress.obj \
$O\huf_compress.obj \
$O\zstd_compress.obj \
@@ -173,14 +172,14 @@ ZSTD_OBJS = \
ZSTDMT_OBJS = \
$O\threading.obj \
$O\lz4mt_common.obj \
$O\lz4mt_compress.obj \
$O\lz4mt_decompress.obj \
$O\lz5mt_common.obj \
$O\lz5mt_compress.obj \
$O\lz5mt_decompress.obj \
$O\zstdmt_common.obj \
$O\zstdmt_compress.obj \
$O\zstdmt_decompress.obj \
$O\lz4-mt_common.obj \
$O\lz4-mt_compress.obj \
$O\lz4-mt_decompress.obj \
$O\lz5-mt_common.obj \
$O\lz5-mt_compress.obj \
$O\lz5-mt_decompress.obj \
$O\zstd-mt_common.obj \
$O\zstd-mt_compress.obj \
$O\zstd-mt_decompress.obj \
!include "../../7zip.mak"
+2 -2
View File
@@ -142,7 +142,7 @@ ZSTD_OBJS = \
ZSTDMT_OBJS = \
$O\threading.obj \
$O\zstdmt_common.obj \
$O\zstdmt_decompress.obj \
$O\zstd-mt_common.obj \
$O\zstd-mt_decompress.obj \
!include "../../7zip.mak"
+3 -3
View File
@@ -150,17 +150,17 @@ COMPRESS_OBJS = $(COMPRESS_OBJS) \
$O\ZstdRegister.obj \
ZSTD_OBJS = \
$O\xxhash.obj \
$O\entropy_common.obj \
$O\fse_decompress.obj \
$O\huf_decompress.obj \
$O\zstd_common.obj \
$O\zstd_decompress.obj \
$O\xxhash.obj \
$O\error_private.obj \
ZSTDMT_OBJS = \
$O\threading.obj \
$O\zstdmt_common.obj \
$O\zstdmt_decompress.obj \
$O\zstd-mt_common.obj \
$O\zstd-mt_decompress.obj \
!include "../../7zip.mak"
+1 -1
View File
@@ -1,4 +1,4 @@
// (C) 2016 Tino Reichardt
// (C) 2017 Tino Reichardt
#include "StdAfx.h"
#include "BrotliDecoder.h"
+2 -3
View File
@@ -1,9 +1,9 @@
// (C) 2016 Tino Reichardt
// (C) 2017 Tino Reichardt
#define BROTLI_STATIC_LINKING_ONLY
#include "../../../C/Alloc.h"
#include "../../../C/Threads.h"
#include "../../../C/brotli/brotli.h"
#include "../../../C/brotli/decode.h"
#include "../../../C/zstdmt/brotli-mt.h"
#include "../../Windows/System.h"
@@ -44,7 +44,6 @@ struct DProps
Byte _ver_major;
Byte _ver_minor;
Byte _level;
Byte _reserved[2];
};
class CDecoder:public ICompressCoder,
+1 -2
View File
@@ -1,4 +1,4 @@
// (C) 2016 Tino Reichardt
// (C) 2017 Tino Reichardt
#include "StdAfx.h"
#include "BrotliEncoder.h"
@@ -52,7 +52,6 @@ STDMETHODIMP CEncoder::SetCoderProperties(const PROPID * propIDs, const PROPVARI
if (prop.vt != VT_UI4)
return E_INVALIDARG;
/* level 1..22 */
_props._level = static_cast < Byte > (prop.ulVal);
Byte mylevel = static_cast < Byte > (BROTLIMT_LEVEL_MAX);
if (_props._level > mylevel)
+2 -3
View File
@@ -1,9 +1,9 @@
// (C) 2016 Tino Reichardt
// (C) 2017 Tino Reichardt
#define BROTLI_STATIC_LINKING_ONLY
#include "../../../C/Alloc.h"
#include "../../../C/Threads.h"
#include "../../../C/brotli/brotli.h"
#include "../../../C/brotli/encode.h"
#include "../../../C/zstdmt/brotli-mt.h"
#include "../../Common/Common.h"
@@ -29,7 +29,6 @@ struct CProps
Byte _ver_major;
Byte _ver_minor;
Byte _level;
Byte _reserved[2];
};
class CEncoder:
+17
View File
@@ -0,0 +1,17 @@
// (C) 2017 Tino Reichardt
#include "StdAfx.h"
#include "../Common/RegisterCodec.h"
#include "BrotliDecoder.h"
#ifndef EXTRACT_ONLY
#include "BrotliEncoder.h"
#endif
REGISTER_CODEC_E(
BROTLI,
NCompress::NBROTLI::CDecoder(),
NCompress::NBROTLI::CEncoder(),
0x4F71102, "BROTLI")
+1 -1
View File
@@ -1,4 +1,4 @@
// (C) 2016 Tino Reichardt
// (C) 2017 Tino Reichardt
#include "StdAfx.h"
#include "LizardDecoder.h"
+6 -6
View File
@@ -1,10 +1,11 @@
// (C) 2016 Tino Reichardt
// (C) 2017 Tino Reichardt
#define LIZARD_STATIC_LINKING_ONLY
#include "../../../C/Alloc.h"
#include "../../../C/Threads.h"
#include "../../../C/lizard/lizard.h"
#include "../../../C/zstdmt/zstd-mt.h"
#include "../../../C/lizard/liz_compress.h"
#include "../../../C/lizard/lizframe.h"
#include "../../../C/zstdmt/lizard-mt.h"
#include "../../Windows/System.h"
#include "../../Common/Common.h"
@@ -36,15 +37,14 @@ struct DProps
void clear ()
{
memset(this, 0, sizeof (*this));
_ver_major = LIZARD_VERSION_MAJOR;
_ver_minor = LIZARD_VERSION_MINOR;
_ver_major = LIZ_VERSION_MAJOR;
_ver_minor = LIZ_VERSION_MINOR;
_level = 1;
}
Byte _ver_major;
Byte _ver_minor;
Byte _level;
Byte _reserved[2];
};
class CDecoder:public ICompressCoder,
+1 -1
View File
@@ -1,4 +1,4 @@
// (C) 2016 Tino Reichardt
// (C) 2017 Tino Reichardt
#include "StdAfx.h"
#include "LizardEncoder.h"
+6 -6
View File
@@ -1,10 +1,11 @@
// (C) 2016 Tino Reichardt
// (C) 2017 Tino Reichardt
#define LIZARD_STATIC_LINKING_ONLY
#include "../../../C/Alloc.h"
#include "../../../C/Threads.h"
#include "../../../C/lizard/lizard.h"
#include "../../../C/zstdmt/zstd-mt.h"
#include "../../../C/lizard/liz_compress.h"
#include "../../../C/lizard/lizframe.h"
#include "../../../C/zstdmt/lizard-mt.h"
#include "../../Common/Common.h"
#include "../../Common/MyCom.h"
@@ -21,15 +22,14 @@ struct CProps
void clear ()
{
memset(this, 0, sizeof (*this));
_ver_major = LIZARD_VERSION_MAJOR;
_ver_minor = LIZARD_VERSION_MINOR;
_ver_major = LIZ_VERSION_MAJOR;
_ver_minor = LIZ_VERSION_MINOR;
_level = 3;
}
Byte _ver_major;
Byte _ver_minor;
Byte _level;
Byte _reserved[2];
};
class CEncoder:
+17
View File
@@ -0,0 +1,17 @@
// (C) 2017 Tino Reichardt
#include "StdAfx.h"
#include "../Common/RegisterCodec.h"
#include "LizardDecoder.h"
#ifndef EXTRACT_ONLY
#include "LizardEncoder.h"
#endif
REGISTER_CODEC_E(
LIZARD,
NCompress::NLIZARD::CDecoder(),
NCompress::NLIZARD::CEncoder(),
0x4F71106, "LIZARD")
+2 -2
View File
@@ -1,10 +1,10 @@
// (C) 2016 Tino Reichardt
// (C) 2016 - 2017 Tino Reichardt
#define LZ4_STATIC_LINKING_ONLY
#include "../../../C/Alloc.h"
#include "../../../C/Threads.h"
#include "../../../C/lz4/lz4.h"
#include "../../../C/zstdmt/zstd-mt.h"
#include "../../../C/zstdmt/lz4-mt.h"
#include "../../Windows/System.h"
#include "../../Common/Common.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "../../../C/Alloc.h"
#include "../../../C/Threads.h"
#include "../../../C/lz4/lz4.h"
#include "../../../C/zstdmt/zstd-mt.h"
#include "../../../C/zstdmt/lz4-mt.h"
#include "../../Common/Common.h"
#include "../../Common/MyCom.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "../../../C/Alloc.h"
#include "../../../C/Threads.h"
#include "../../../C/lz5/lz5.h"
#include "../../../C/zstdmt/zstd-mt.h"
#include "../../../C/zstdmt/lz5-mt.h"
#include "../../Windows/System.h"
#include "../../Common/Common.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "../../../C/Alloc.h"
#include "../../../C/Threads.h"
#include "../../../C/lz5/lz5.h"
#include "../../../C/zstdmt/zstd-mt.h"
#include "../../../C/zstdmt/lz5-mt.h"
#include "../../Common/Common.h"
#include "../../Common/MyCom.h"
+44 -9
View File
@@ -98,6 +98,8 @@ enum EMethodID
{
kCopy,
kZSTD,
kBROTLI,
kLIZARD,
kLZ4,
kLZ5,
kLZMA,
@@ -113,6 +115,8 @@ static LPCSTR const kMethodsNames[] =
{
"Copy"
, "ZSTD"
, "BROTLI"
, "LIZARD"
, "LZ4"
, "LZ5"
, "LZMA"
@@ -129,6 +133,16 @@ static const EMethodID g_ZstdMethods[] =
kZSTD
};
static const EMethodID g_BrotliMethods[] =
{
kBROTLI
};
static const EMethodID g_LizardMethods[] =
{
kLIZARD
};
static const EMethodID g_Lz4Methods[] =
{
kLZ4
@@ -138,9 +152,12 @@ static const EMethodID g_Lz5Methods[] =
{
kLZ5
};
static const EMethodID g_7zMethods[] =
{
kZSTD,
kBROTLI,
kLIZARD,
kLZ4,
kLZ5,
kLZMA2,
@@ -200,7 +217,7 @@ struct CFormatInfo
bool Solid;
bool MultiThread;
bool SFX;
bool Encrypt;
bool EncryptFileNames;
};
@@ -246,19 +263,31 @@ static const CFormatInfo g_Formats[] =
false, false, true, false, false, false
},
{
"zstd",
"zstd", /* 6 */
(1 << 0) | (1 << 1) | (1 << 5) | (1 << 11) | (1 << 17) | (1 << 22),
METHODS_PAIR(g_ZstdMethods),
false, false, true, false, false, false
},
{
"lz4",
"Brotli",
(1 << 0) | (1 << 1) | (1 << 3) | (1 << 6) | (1 << 9) | (1 << 11),
METHODS_PAIR(g_BrotliMethods),
false, false, true, false, false, false
},
{
"Lizard", /* 10..19 / 20..29 / .... */
(1 << 10) | (1 << 11) | (1 << 13) | (1 << 15) | (1 << 17) | (1 << 19),
METHODS_PAIR(g_LizardMethods),
false, false, true, false, false, false
},
{
"LZ4",
(1 << 0) | (1 << 1) | (1 << 3) | (1 << 6) | (1 << 9) | (1 << 12),
METHODS_PAIR(g_Lz4Methods),
false, false, true, false, false, false
},
{
"lz5",
"LZ5",
(1 << 0) | (1 << 1) | (1 << 3) | (1 << 7) | (1 << 11) | (1 << 15),
METHODS_PAIR(g_Lz5Methods),
false, false, true, false, false, false
@@ -1052,6 +1081,7 @@ void CCompressDialog::SetLevel()
{
UInt32 level = GetLevel2();
UInt32 LevelsMask;
UInt32 LevelsStart = 0;
UInt32 langID = 0;
SetMethod(GetMethodID());
@@ -1061,24 +1091,29 @@ void CCompressDialog::SetLevel()
if (index >= 0)
{
const NCompression::CFormatOptions &fo = m_RegistryInfo.Formats[index];
if (fo.Level <= 22)
if (fo.Level <= 49)
level = fo.Level;
else
level = 5;
}
}
m_Level.ResetContent();
if (GetMethodID() == kZSTD)
LevelsMask = g_Formats[6].LevelsMask;
else if (GetMethodID() == kLZ4)
else if (GetMethodID() == kBROTLI)
LevelsMask = g_Formats[7].LevelsMask;
else if (GetMethodID() == kLZ5)
else if (GetMethodID() == kLIZARD) {
LevelsMask = g_Formats[8].LevelsMask;
LevelsStart = 10;
} else if (GetMethodID() == kLZ4)
LevelsMask = g_Formats[9].LevelsMask;
else if (GetMethodID() == kLZ5)
LevelsMask = g_Formats[10].LevelsMask;
else
LevelsMask = g_Formats[GetStaticFormatIndex()].LevelsMask;
for (unsigned i = 0; i <= 22; i++)
for (unsigned i = LevelsStart; i <= 49; i++)
{
TCHAR s[40];
TCHAR t[50] = { TEXT('L'), TEXT('e'), TEXT('v'), TEXT('e'), TEXT('l'), TEXT(' '), 0 };
+8
View File
@@ -35,6 +35,14 @@ cd %ROOT%\Bundles\SFXWin
nmake %OPTS%
copy O\7z.sfx %OUTDIR%\7z.sfx
cd %ROOT%\Bundles\Codec_brotli
nmake %OPTS%
copy O\brotli.dll %OUTDIR%\brotli-x32.dll
cd %ROOT%\Bundles\Codec_lizard
nmake %OPTS%
copy O\lizard.dll %OUTDIR%\lizard-x32.dll
cd %ROOT%\Bundles\Codec_lz4
nmake %OPTS%
copy O\lz4.dll %OUTDIR%\lz4-x32.dll
+8
View File
@@ -35,6 +35,14 @@ cd %ROOT%\Bundles\SFXWin
nmake %OPTS%
copy AMD64\7z.sfx %OUTDIR%\7z.sfx
cd %ROOT%\Bundles\Codec_brotli
nmake %OPTS%
copy AMD64\brotli.dll %OUTDIR%\brotli-x64.dll
cd %ROOT%\Bundles\Codec_lizard
nmake %OPTS%
copy AMD64\lizard.dll %OUTDIR%\lizard-x64.dll
cd %ROOT%\Bundles\Codec_lz4
nmake %OPTS%
copy AMD64\lz4.dll %OUTDIR%\lz4-x64.dll