From: "Gao, Liming" <liming.gao@intel.com>
To: "Song, BinX" <binx.song@intel.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support
Date: Mon, 27 Mar 2017 03:15:02 +0000 [thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14D702B64@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <559D2DF22BC9A3468B4FA1AA547F0EF10254603B@shsmsx102.ccr.corp.intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: Song, BinX
>Sent: Thursday, March 23, 2017 2:05 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: RE: [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm
>support
>
>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
>Song,
>> BinX
>> Sent: Thursday, March 23, 2017 10:16 AM
>> To: edk2-devel@lists.01.org
>> Cc: Gao, Liming <liming.gao@intel.com>
>> Subject: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli
>algorithm
>> support
>>
>> Brotli algorithm was released on the website
>https://github.com/google/brotli.
>> 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 tool
>set.
>>
>> Tested on:
>> OS: Windows
>> Arch: IA32/X64
>> Platform: Nt32Pkg
>> ToolChain: VS2015x86
>> Target: Release
>>
>> OS: Ubuntu
>> Arch: IA32/X64
>> Platform: OvmfPkgIa32.dsc/OvmfPkgX64.dsc
>> ToolChain: GCC5
>> Target: Release
>>
>> Cc: Liming Gao <liming.gao@intel.com>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Bell Song <binx.song@intel.com>
>>
>> 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
>>
>> 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 bytes
>> .../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 bytes
>> 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/BrotliCustomDecompre
>ss
>> Lib.inf
>> create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompress.c
>> create mode 100644
>>
>MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLib.un
>i
>> create mode 100644
>>
>MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLibInt
>er
>> nal.h
>> create mode 100644
>>
>MdeModulePkg/Library/BrotliCustomDecompressLib/GuidedSectionExtractio
>n.
>> 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
>>
>> --
>> 2.10.2.windows.1
>>
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel
next prev parent reply other threads:[~2017-03-27 3:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-23 2:15 [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support Song, BinX
2017-03-23 6:05 ` Song, BinX
2017-03-27 3:15 ` Gao, Liming [this message]
2017-03-29 21:04 ` Michael Zimmermann
2017-03-30 4:45 ` Gao, Liming
2017-03-30 5:13 ` Michael Zimmermann
2017-03-30 5:21 ` Gao, Liming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A89E2EF3DFEDB4C8BFDE51014F606A14D702B64@shsmsx102.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox