Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support

2017-03-29 Thread Gao, Liming
Michael:
  Thanks for point. I will create the patch to fix 2&3. For 1, I am not sure 
whether there is generic way to handle it. 

Thanks
Liming
>-Original Message-
>From: Michael Zimmermann [mailto:sigmaepsilo...@gmail.com]
>Sent: Thursday, March 30, 2017 1:13 PM
>To: Gao, Liming 
>Cc: Song, BinX ; edk2-devel@lists.01.org
>Subject: Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli
>algorithm support
>
>Thanks you that worked. (sorry that I forgot about that)
>There were three things I had to workaround:
>
>1) since I'm using -nostdinc I had to remove the sys/types.h include
>from MdeModulePkg/Library/BrotliCustomDecompressLib/common/types.h
>and
>use BOOLEAN, TRUE and FALSE instead of bool, true and false.
>
>2) I had to chmod +x Brotli and BrotliCompress because basetools forgot that
>
>3) I had to run dos2unix on Brotli and BrotliCompress because bash
>doesn't support CRLF line endings.
>
>Thanks
>Michael
>
>On Thu, Mar 30, 2017 at 6:45 AM, Gao, Liming  wrote:
>> Michasel:
>>   Please delete cache Conf/tools_def.txt, and run edksetup again to apply
>new tools_def.txt.
>>
>> Thanks
>> Liming
>>>-Original Message-
>>>From: Michael Zimmermann [mailto:sigmaepsilo...@gmail.com]
>>>Sent: Thursday, March 30, 2017 5:04 AM
>>>To: Gao, Liming 
>>>Cc: Song, BinX ; edk2-devel@lists.01.org
>>>Subject: Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli
>>>algorithm support
>>>
>>>How can I use this? If I change my compressed FV's GUID to
>>>3D532050-5CDA-4FD0-879E-0F7F630D5AFB I get the following error:
>>>
>>>GenFds.py...
>>>: error F003: No tool found with GUID 3D532050-5CDA-4FD0-879E-
>>>0F7F630D5AFB
>>>
>>>Thanks
>>>Michael
>>>
>>>On Mon, Mar 27, 2017 at 5:15 AM, Gao, Liming 
>wrote:
>>>> Reviewed-by: Liming Gao 
>>>>
>>>>>-Original Message-
>>>>>From: Song, BinX
>>>>>Sent: Thursday, March 23, 2017 2:05 PM
>>>>>To: edk2-devel@lists.01.org
>>>>>Cc: Gao, Liming 
>>>>>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-boun...@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 
>>>>>> 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 
>>>>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>>>>> Signed-off-by: Bell Song 
>>>>>>
>>>>>> 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 +
>>&

Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support

2017-03-29 Thread Michael Zimmermann
Thanks you that worked. (sorry that I forgot about that)
There were three things I had to workaround:

1) since I'm using -nostdinc I had to remove the sys/types.h include
from MdeModulePkg/Library/BrotliCustomDecompressLib/common/types.h and
use BOOLEAN, TRUE and FALSE instead of bool, true and false.

2) I had to chmod +x Brotli and BrotliCompress because basetools forgot that

3) I had to run dos2unix on Brotli and BrotliCompress because bash
doesn't support CRLF line endings.

Thanks
Michael

On Thu, Mar 30, 2017 at 6:45 AM, Gao, Liming  wrote:
> Michasel:
>   Please delete cache Conf/tools_def.txt, and run edksetup again to apply new 
> tools_def.txt.
>
> Thanks
> Liming
>>-Original Message-
>>From: Michael Zimmermann [mailto:sigmaepsilo...@gmail.com]
>>Sent: Thursday, March 30, 2017 5:04 AM
>>To: Gao, Liming 
>>Cc: Song, BinX ; edk2-devel@lists.01.org
>>Subject: Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli
>>algorithm support
>>
>>How can I use this? If I change my compressed FV's GUID to
>>3D532050-5CDA-4FD0-879E-0F7F630D5AFB I get the following error:
>>
>>GenFds.py...
>>: error F003: No tool found with GUID 3D532050-5CDA-4FD0-879E-
>>0F7F630D5AFB
>>
>>Thanks
>>Michael
>>
>>On Mon, Mar 27, 2017 at 5:15 AM, Gao, Liming  wrote:
>>> Reviewed-by: Liming Gao 
>>>
>>>>-Original Message-
>>>>From: Song, BinX
>>>>Sent: Thursday, March 23, 2017 2:05 PM
>>>>To: edk2-devel@lists.01.org
>>>>Cc: Gao, Liming 
>>>>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-boun...@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 
>>>>> 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 
>>>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>>>> Signed-off-by: Bell Song 
>>>>>
>>>>> 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 +
>&g

Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support

2017-03-29 Thread Gao, Liming
Michasel:
  Please delete cache Conf/tools_def.txt, and run edksetup again to apply new 
tools_def.txt. 

Thanks
Liming
>-Original Message-
>From: Michael Zimmermann [mailto:sigmaepsilo...@gmail.com]
>Sent: Thursday, March 30, 2017 5:04 AM
>To: Gao, Liming 
>Cc: Song, BinX ; edk2-devel@lists.01.org
>Subject: Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli
>algorithm support
>
>How can I use this? If I change my compressed FV's GUID to
>3D532050-5CDA-4FD0-879E-0F7F630D5AFB I get the following error:
>
>GenFds.py...
>: error F003: No tool found with GUID 3D532050-5CDA-4FD0-879E-
>0F7F630D5AFB
>
>Thanks
>Michael
>
>On Mon, Mar 27, 2017 at 5:15 AM, Gao, Liming  wrote:
>> Reviewed-by: Liming Gao 
>>
>>>-Original Message-
>>>From: Song, BinX
>>>Sent: Thursday, March 23, 2017 2:05 PM
>>>To: edk2-devel@lists.01.org
>>>Cc: Gao, Liming 
>>>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-boun...@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 
>>>> 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 
>>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>>> Signed-off-by: Bell Song 
>>>>
>>>> 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/Sourc

Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support

2017-03-29 Thread Michael Zimmermann
How can I use this? If I change my compressed FV's GUID to
3D532050-5CDA-4FD0-879E-0F7F630D5AFB I get the following error:

GenFds.py...
: error F003: No tool found with GUID 3D532050-5CDA-4FD0-879E-0F7F630D5AFB

Thanks
Michael

On Mon, Mar 27, 2017 at 5:15 AM, Gao, Liming  wrote:
> Reviewed-by: Liming Gao 
>
>>-Original Message-
>>From: Song, BinX
>>Sent: Thursday, March 23, 2017 2:05 PM
>>To: edk2-devel@lists.01.org
>>Cc: Gao, Liming 
>>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-boun...@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 
>>> 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 
>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>> Signed-off-by: Bell Song 
>>>
>>> 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 +
>>>  .../Sour

Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support

2017-03-26 Thread Gao, Liming
Reviewed-by: Liming Gao 

>-Original Message-
>From: Song, BinX
>Sent: Thursday, March 23, 2017 2:05 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming 
>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-boun...@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 
>> 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 
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Bell Song 
>>
>> 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 ++
>>

Re: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support

2017-03-22 Thread Song, BinX
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-boun...@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 
> 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 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Bell Song 
> 
> 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 +
>

[edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support

2017-03-22 Thread Song, BinX
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 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bell Song 

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 |3