From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2F42680441 for ; Wed, 22 Mar 2017 23:05:29 -0700 (PDT) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP; 22 Mar 2017 23:05:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,208,1486454400"; d="scan'208";a="947305592" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga003.jf.intel.com with ESMTP; 22 Mar 2017 23:05:27 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 22 Mar 2017 23:05:27 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 22 Mar 2017 23:05:26 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.88]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.132]) with mapi id 14.03.0248.002; Thu, 23 Mar 2017 14:05:25 +0800 From: "Song, BinX" To: "edk2-devel@lists.01.org" CC: "Gao, Liming" Thread-Topic: [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support Thread-Index: AdKje2IGWfmZZMxkSjelhcwoU5rPMQAHwqSA Date: Thu, 23 Mar 2017 06:05:24 +0000 Message-ID: <559D2DF22BC9A3468B4FA1AA547F0EF10254603B@shsmsx102.ccr.corp.intel.com> References: <559D2DF22BC9A3468B4FA1AA547F0EF102545F29@shsmsx102.ccr.corp.intel.com> In-Reply-To: <559D2DF22BC9A3468B4FA1AA547F0EF102545F29@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Mar 2017 06:05:29 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi All, The code is also in https://github.com/binxsong/edk2/tree/Brotli_V1 Best Regards, Bell Song > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of So= ng, > BinX > Sent: Thursday, March 23, 2017 10:16 AM > To: edk2-devel@lists.01.org > Cc: Gao, Liming > Subject: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm > support >=20 > Brotli algorithm was released on the website https://github.com/google/br= otli. > It has a little less compress ratio than Lzma, but has better decompress > performance than it. > Add Brotli algorithm support, include Brotli decompression library and to= ol set. >=20 > Tested on: > OS: Windows > Arch: IA32/X64 > Platform: Nt32Pkg > ToolChain: VS2015x86 > Target: Release >=20 > OS: Ubuntu > Arch: IA32/X64 > Platform: OvmfPkgIa32.dsc/OvmfPkgX64.dsc > ToolChain: GCC5 > Target: Release >=20 > Cc: Liming Gao > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Bell Song >=20 > Bell Song (4): > MdeModulePkg: Copy Brotli algorithm 3rd party source code for library > MdeModulePkg: Add Brotli algorithm decompression library > BaseTools: Copy Brotli algorithm 3rd party source code for tool > BaseTools: Add Brotli algorithm tool >=20 > BaseTools/BinWrappers/PosixLike/Brotli | 29 + > BaseTools/BinWrappers/PosixLike/BrotliCompress | 42 + > BaseTools/Conf/tools_def.template | 6 + > .../Source/C/BrotliCompress/BrotliCompress.bat | 48 + > BaseTools/Source/C/BrotliCompress/GNUmakefile | 43 + > BaseTools/Source/C/BrotliCompress/LICENSE | 19 + > BaseTools/Source/C/BrotliCompress/Makefile | 60 + > BaseTools/Source/C/BrotliCompress/README.md | 26 + > BaseTools/Source/C/BrotliCompress/ReadMe.txt | 2 + > .../Source/C/BrotliCompress/common/constants.h | 47 + > .../Source/C/BrotliCompress/common/dictionary.c | 9474 > ++++++++++++++++ > .../Source/C/BrotliCompress/common/dictionary.h | 29 + > BaseTools/Source/C/BrotliCompress/common/port.h | 107 + > BaseTools/Source/C/BrotliCompress/common/types.h | 58 + > BaseTools/Source/C/BrotliCompress/dec/bit_reader.c | 48 + > BaseTools/Source/C/BrotliCompress/dec/bit_reader.h | 383 + > BaseTools/Source/C/BrotliCompress/dec/context.h | 251 + > BaseTools/Source/C/BrotliCompress/dec/decode.c | 2347 ++++ > BaseTools/Source/C/BrotliCompress/dec/decode.h | 188 + > BaseTools/Source/C/BrotliCompress/dec/huffman.c | 357 + > BaseTools/Source/C/BrotliCompress/dec/huffman.h | 68 + > BaseTools/Source/C/BrotliCompress/dec/port.h | 159 + > BaseTools/Source/C/BrotliCompress/dec/prefix.h | 751 ++ > BaseTools/Source/C/BrotliCompress/dec/state.c | 168 + > BaseTools/Source/C/BrotliCompress/dec/state.h | 246 + > BaseTools/Source/C/BrotliCompress/dec/transform.h | 300 + > .../docs/brotli-comparison-study-2015-09-22.pdf | Bin 0 -> 215208 b= ytes > .../C/BrotliCompress/enc/backward_references.c | 892 ++ > .../C/BrotliCompress/enc/backward_references.h | 99 + > .../C/BrotliCompress/enc/backward_references_inc.h | 147 + > BaseTools/Source/C/BrotliCompress/enc/bit_cost.c | 35 + > BaseTools/Source/C/BrotliCompress/enc/bit_cost.h | 63 + > .../Source/C/BrotliCompress/enc/bit_cost_inc.h | 127 + > .../C/BrotliCompress/enc/block_encoder_inc.h | 33 + > .../Source/C/BrotliCompress/enc/block_splitter.c | 197 + > .../Source/C/BrotliCompress/enc/block_splitter.h | 51 + > .../C/BrotliCompress/enc/block_splitter_inc.h | 432 + > .../C/BrotliCompress/enc/brotli_bit_stream.c | 1334 +++ > .../C/BrotliCompress/enc/brotli_bit_stream.h | 107 + > BaseTools/Source/C/BrotliCompress/enc/cluster.c | 56 + > BaseTools/Source/C/BrotliCompress/enc/cluster.h | 48 + > .../Source/C/BrotliCompress/enc/cluster_inc.h | 315 + > BaseTools/Source/C/BrotliCompress/enc/command.h | 163 + > .../C/BrotliCompress/enc/compress_fragment.c | 747 ++ > .../C/BrotliCompress/enc/compress_fragment.h | 58 + > .../enc/compress_fragment_two_pass.c | 557 + > .../enc/compress_fragment_two_pass.h | 51 + > BaseTools/Source/C/BrotliCompress/enc/compressor.h | 161 + > BaseTools/Source/C/BrotliCompress/enc/context.h | 184 + > .../Source/C/BrotliCompress/enc/dictionary_hash.h | 4121 +++++++ > BaseTools/Source/C/BrotliCompress/enc/encode.c | 1562 +++ > BaseTools/Source/C/BrotliCompress/enc/encode.h | 221 + > .../Source/C/BrotliCompress/enc/encode_parallel.h | 27 + > .../Source/C/BrotliCompress/enc/entropy_encode.c | 501 + > .../Source/C/BrotliCompress/enc/entropy_encode.h | 122 + > .../C/BrotliCompress/enc/entropy_encode_static.h | 539 + > BaseTools/Source/C/BrotliCompress/enc/fast_log.h | 145 + > .../C/BrotliCompress/enc/find_match_length.h | 80 + > BaseTools/Source/C/BrotliCompress/enc/hash.h | 717 ++ > .../BrotliCompress/enc/hash_forgetful_chain_inc.h | 249 + > .../C/BrotliCompress/enc/hash_longest_match_inc.h | 241 + > .../enc/hash_longest_match_quickly_inc.h | 230 + > BaseTools/Source/C/BrotliCompress/enc/histogram.c | 95 + > BaseTools/Source/C/BrotliCompress/enc/histogram.h | 60 + > .../Source/C/BrotliCompress/enc/histogram_inc.h | 51 + > .../Source/C/BrotliCompress/enc/literal_cost.c | 178 + > .../Source/C/BrotliCompress/enc/literal_cost.h | 30 + > BaseTools/Source/C/BrotliCompress/enc/memory.c | 181 + > BaseTools/Source/C/BrotliCompress/enc/memory.h | 62 + > BaseTools/Source/C/BrotliCompress/enc/metablock.c | 515 + > BaseTools/Source/C/BrotliCompress/enc/metablock.h | 110 + > .../Source/C/BrotliCompress/enc/metablock_inc.h | 183 + > BaseTools/Source/C/BrotliCompress/enc/port.h | 168 + > BaseTools/Source/C/BrotliCompress/enc/prefix.h | 52 + > BaseTools/Source/C/BrotliCompress/enc/quality.h | 130 + > BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h | 160 + > .../Source/C/BrotliCompress/enc/static_dict.c | 478 + > .../Source/C/BrotliCompress/enc/static_dict.h | 37 + > .../Source/C/BrotliCompress/enc/static_dict_lut.h | 11241 > +++++++++++++++++++ > BaseTools/Source/C/BrotliCompress/enc/streams.h | 121 + > BaseTools/Source/C/BrotliCompress/enc/utf8_util.c | 85 + > BaseTools/Source/C/BrotliCompress/enc/utf8_util.h | 32 + > BaseTools/Source/C/BrotliCompress/enc/write_bits.h | 90 + > BaseTools/Source/C/BrotliCompress/tools/bro.c | 538 + > BaseTools/Source/C/BrotliCompress/tools/version.h | 14 + > BaseTools/Source/C/GNUmakefile | 1 + > BaseTools/Source/C/Makefile | 1 + > .../BrotliCustomDecompressLib.inf | 56 + > .../BrotliCustomDecompressLib/BrotliDecompress.c | 321 + > .../BrotliDecompressLib.uni | 21 + > .../BrotliDecompressLibInternal.h | 71 + > .../GuidedSectionExtraction.c | 196 + > .../Library/BrotliCustomDecompressLib/LICENSE | 19 + > .../Library/BrotliCustomDecompressLib/README.md | 26 + > .../Library/BrotliCustomDecompressLib/ReadMe.txt | 2 + > .../BrotliCustomDecompressLib/common/constants.h | 47 + > .../BrotliCustomDecompressLib/common/dictionary.c | 9474 > ++++++++++++++++ > .../BrotliCustomDecompressLib/common/dictionary.h | 29 + > .../BrotliCustomDecompressLib/common/port.h | 107 + > .../BrotliCustomDecompressLib/common/types.h | 72 + > .../BrotliCustomDecompressLib/dec/bit_reader.c | 48 + > .../BrotliCustomDecompressLib/dec/bit_reader.h | 384 + > .../BrotliCustomDecompressLib/dec/context.h | 251 + > .../Library/BrotliCustomDecompressLib/dec/decode.c | 2348 ++++ > .../Library/BrotliCustomDecompressLib/dec/decode.h | 188 + > .../BrotliCustomDecompressLib/dec/huffman.c | 357 + > .../BrotliCustomDecompressLib/dec/huffman.h | 69 + > .../Library/BrotliCustomDecompressLib/dec/port.h | 159 + > .../Library/BrotliCustomDecompressLib/dec/prefix.h | 751 ++ > .../Library/BrotliCustomDecompressLib/dec/state.c | 169 + > .../Library/BrotliCustomDecompressLib/dec/state.h | 246 + > .../BrotliCustomDecompressLib/dec/transform.h | 300 + > .../docs/brotli-comparison-study-2015-09-22.pdf | Bin 0 -> 215208 b= ytes > MdeModulePkg/MdeModulePkg.dec | 3 + > MdeModulePkg/MdeModulePkg.dsc | 1 + > 115 files changed, 60196 insertions(+) > create mode 100644 BaseTools/BinWrappers/PosixLike/Brotli > create mode 100644 BaseTools/BinWrappers/PosixLike/BrotliCompress > create mode 100644 BaseTools/Source/C/BrotliCompress/BrotliCompress.bat > create mode 100644 BaseTools/Source/C/BrotliCompress/GNUmakefile > create mode 100644 BaseTools/Source/C/BrotliCompress/LICENSE > create mode 100644 BaseTools/Source/C/BrotliCompress/Makefile > create mode 100644 BaseTools/Source/C/BrotliCompress/README.md > create mode 100644 BaseTools/Source/C/BrotliCompress/ReadMe.txt > create mode 100644 > BaseTools/Source/C/BrotliCompress/common/constants.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/common/dictionary.c > create mode 100644 > BaseTools/Source/C/BrotliCompress/common/dictionary.h > create mode 100644 BaseTools/Source/C/BrotliCompress/common/port.h > create mode 100644 BaseTools/Source/C/BrotliCompress/common/types.h > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/bit_reader.c > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/bit_reader.h > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/context.h > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/decode.c > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/decode.h > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/huffman.c > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/huffman.h > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/port.h > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/prefix.h > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/state.c > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/state.h > create mode 100644 BaseTools/Source/C/BrotliCompress/dec/transform.h > create mode 100644 BaseTools/Source/C/BrotliCompress/docs/brotli- > comparison-study-2015-09-22.pdf > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/backward_references.c > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/backward_references.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/backward_references_inc.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/bit_cost.c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/bit_cost.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/bit_cost_inc.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/block_encoder_inc.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/block_splitter.= c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/block_splitter.= h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/block_splitter_inc.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.c > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/cluster.c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/cluster.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/cluster_inc.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/command.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/compress_fragment.c > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/compress_fragment.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.c > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/compressor.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/context.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/dictionary_hash.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/encode.c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/encode.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/encode_parallel.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/entropy_encode.c > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/entropy_encode.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/entropy_encode_static.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/fast_log.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/find_match_length.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/hash.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/hash_forgetful_chain_inc.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_inc.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_quickly_inc.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/histogram.c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/histogram.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/histogram_inc.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/literal_cost.c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/literal_cost.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/memory.c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/memory.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/metablock.c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/metablock.h > create mode 100644 > BaseTools/Source/C/BrotliCompress/enc/metablock_inc.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/port.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/prefix.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/quality.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/static_dict.c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/static_dict.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/static_dict_lut= .h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/streams.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/utf8_util.c > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/utf8_util.h > create mode 100644 BaseTools/Source/C/BrotliCompress/enc/write_bits.h > create mode 100644 BaseTools/Source/C/BrotliCompress/tools/bro.c > create mode 100644 BaseTools/Source/C/BrotliCompress/tools/version.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliCustomDecompress > Lib.inf > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompress.c > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLib.uni > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLibInter > nal.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/GuidedSectionExtraction. > c > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/LICENSE > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/README.md > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/ReadMe.txt > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/common/constants.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.c > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/common/port.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/common/types.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.c > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/context.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/decode.c > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/decode.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.c > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/port.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/prefix.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.c > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/dec/transform.h > create mode 100644 > MdeModulePkg/Library/BrotliCustomDecompressLib/docs/brotli-comparison- > study-2015-09-22.pdf >=20 > -- > 2.10.2.windows.1 >=20 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel