Commit Graph

1234 Commits

Author SHA1 Message Date
Zoltan Szabadka
707b78ae26 Add the current version of the brotli specification.
Add the .nroff source file and a python script to generate
the .txt version (requires the nroff command).
2015-04-07 16:58:07 +02:00
szabadka
570c295007 Merge pull request #64 from szabadka/master
Limit the max input meta-block size to 16MB.
2015-04-02 11:12:51 +02:00
Zoltan Szabadka
e377e65f11 Limit the max input meta-block size to 16MB. 2015-04-02 11:12:04 +02:00
szabadka
17025f2b3b Merge pull request #63 from szabadka/master
Proof-of-concept encoder for parallel compression.
2015-04-01 16:39:33 +02:00
Zoltan Szabadka
1428d54178 Proof-of-concept encoder for parallel compression.
Add a version of the brotli encoder that compresses
each meta-block independently, only using the
original input data from previous meta-blocks
and nothing from the compressor state.
This is a proof-of-concept to show that the
current format is flexible enough to support
parallel multi-threaded compression.
2015-04-01 16:35:52 +02:00
szabadka
f25f65ab4d Merge pull request #62 from szabadka/master
Add an input block size parameter to brotli.
2015-04-01 16:30:05 +02:00
Zoltan Szabadka
817a3edd52 Add an input block size parameter to brotli.
This will enable processing the input in smaller
chunks than the currently default 2MB for the
slow brotli, while still benefiting from the
larger sliding window.
2015-04-01 16:29:04 +02:00
szabadka
65ea6ef44f Merge pull request #61 from szabadka/master
Update the previous two bytes when decoding an uncompressed metablock.
2015-04-01 16:25:44 +02:00
Zoltan Szabadka
2a7bbfc553 Update the previous two bytes when decoding an
uncompressed metablock.
2015-04-01 16:23:18 +02:00
szabadka
28dea6a64d Merge pull request #60 from szabadka/master
Add a missing state transition to CopyUncompressedBlockToOutput().
2015-04-01 16:20:59 +02:00
Zoltan Szabadka
fac8993bef Add a missing state transition to CopyUncompressedBlockToOutput(). 2015-04-01 16:20:16 +02:00
szabadka
bdb4e33336 Merge pull request #59 from szabadka/master
Faster decoder for data with trivial context maps.
2015-04-01 16:17:25 +02:00
Zoltan Szabadka
fe6e5d1cd9 Faster decoder for data with trivial context maps.
This makes it 20% faster when decoding data with
trivial context map (where the histogram type
depends only on the block type and not the
context).
2015-04-01 16:15:39 +02:00
szabadka
872b058d27 Merge pull request #58 from szabadka/master
Add quality and lgwin to the BrotliParams.
2015-04-01 16:12:18 +02:00
Zoltan Szabadka
d6d69ec4ac Add quality and lgwin to the BrotliParams.
Remove the hard-coded constants for window size
and meta-block size.

Initialize internal storage for each metablock
separately and reserve only as much as needed
for the actual input.
2015-04-01 16:10:15 +02:00
szabadka
5e3e97e294 Merge pull request #57 from anthrotype/sdist
[python] moved setup.py to the root of repository
2015-03-31 17:40:53 +02:00
Cosimo Lupo
77c239952d [python] moved setup.py to the root of repository 2015-03-31 09:30:56 +01:00
lvandeve
d44a174a8f Merge pull request #56 from lvandeve/master
bugfixes affecting streaming decoding
2015-03-30 18:02:15 +02:00
Lode Vandevenne
f9e5a2d9f2 bugfixes affecting streaming decoding 2015-03-30 18:00:40 +02:00
szabadka
ad354af165 Merge pull request #54 from szabadka/master
Use FastLog2() instead of log() in BitsEntropy().
2015-03-30 13:47:00 +02:00
Zoltan Szabadka
ca3a7a98f2 Use FastLog2() instead of log() in BitsEntropy(). 2015-03-30 13:41:52 +02:00
szabadka
71d8786391 Merge pull request #53 from szabadka/master
Add some missing state transitions to DecodeContextMap().
2015-03-30 13:41:15 +02:00
Zoltan Szabadka
8f3092a0b1 Add some missing state transitions to DecodeContextMap().
Update the states in DecodeContextMap to the next one,
else it would continue at the wrong spot if exactly there
the partial input is split.
2015-03-30 13:39:20 +02:00
szabadka
44ca0e2cbe Merge pull request #51 from anthrotype/py_test
[python] add test command to setup.py
2015-03-30 12:06:11 +02:00
Cosimo Lupo
4865fd1d4f [python] add test command to setup.py 2015-03-30 10:20:50 +01:00
szabadka
fea88b8609 Merge pull request #49 from khaledhosny/fix-python-build
Fixing building Python module after 534654d
2015-03-30 09:59:48 +02:00
Khaled Hosny
fa7dd52da9 Fixing building Python module after 534654d 2015-03-27 18:56:18 +02:00
szabadka
8bda995564 Merge pull request #48 from szabadka/master
Add a faster but less dense compression mode.
2015-03-27 14:28:32 +01:00
Zoltan Szabadka
534654def1 Add a faster but less dense compression mode.
The new mode can be used by setting the greedy_block_split
field of BrotliParams to true.

This commit moves all the meta-block processing code
into its own library and moves the meta-block encoding
code to brotli_bit_stream.cc from encode.cc
2015-03-27 14:20:35 +01:00
szabadka
169c32d887 Merge pull request #47 from szabadka/master
Change the return value of decoder functions from integer codes to an enum.
2015-03-27 13:56:35 +01:00
Zoltan Szabadka
c5ccd0dff9 Change the return value of decoder functions from integer codes to an enum. 2015-03-27 13:54:43 +01:00
lvandeve
c9cc258cdd Merge pull request #45 from lvandeve/master
Propagate error condition from ReadHuffmanCodeLengths()
2015-03-26 17:43:55 +01:00
Lode Vandevenne
85abce6c6e Propagate error condition from ReadHuffmanCodeLengths() 2015-03-26 17:40:07 +01:00
szabadka
12abfaf59b Merge pull request #44 from szabadka/master
Remove the redundant EncodeMetaBlockLength() function.
2015-03-24 10:21:10 +01:00
Zoltan Szabadka
497814eebd Remove the redundant EncodeMetaBlockHeader() function.
Use Store{Compressed,Uncompressed}MetaBlockHeader() instead.
2015-03-24 10:18:06 +01:00
szabadka
e0aa0cc450 Merge pull request #43 from anthrotype/fix_py
[python] fix calling python script as subprocess on Windows
2015-03-23 13:42:15 +01:00
Cosimo Lupo
17866801d6 [python] fix calling python script as subprocess on Windows 2015-03-23 12:09:42 +00:00
szabadka
65c6e67920 Merge pull request #42 from anthrotype/fix_py
[python] add state.c and state.h to Brotli extension's setup.py
2015-03-23 09:57:53 +01:00
Cosimo Lupo
203fe326d4 [python] fix subprocess shell pipeline 2015-03-22 00:15:54 +00:00
Cosimo Lupo
064d8e0bea [python] add new state.c and state.h to Brotli extension's setup.py 2015-03-21 20:05:02 +00:00
lvandeve
30dbb5675d Merge pull request #41 from lvandeve/master
a few more tweaks to the streaming support
2015-03-20 17:03:58 +01:00
Lode Vandevenne
b142207917 a few more tweaks to the streaming support 2015-03-20 17:03:11 +01:00
lvandeve
cb49d6a8dd Merge pull request #40 from lvandeve/master
support for partial input (streaming)
2015-03-20 16:17:33 +01:00
Lode Vandevenne
8270250b40 support for partial input (streaming) 2015-03-20 16:13:15 +01:00
lvandeve
d5c4fb4494 Merge pull request #39 from lvandeve/master
separate the licenses from documentation
2015-03-20 15:56:02 +01:00
Lode Vandevenne
81cb09f1b3 separate the licenses from documentation 2015-03-20 15:44:15 +01:00
szabadka
4836e87d4c Merge pull request #38 from anthrotype/py_tests
add Python port of bro utility and scripts to test Brotli extension
2015-03-16 20:35:19 +01:00
szabadka
e651c85fe2 Merge pull request #37 from anthrotype/setup_py
[python] setup.py fixes for Windows
2015-03-16 20:33:14 +01:00
szabadka
b5ba646b19 Merge pull request #36 from khaledhosny/python-decompress
[python] Use BrotliDecompress()
2015-03-16 20:31:18 +01:00
Khaled Hosny
e0c5df8c61 [python] Use BrotliDecompress()
So that we can use a callback to dynamically allocate the decompression
buffer, getting rid of the optional bufsize argument to
decompress.decompress().
2015-03-16 21:06:52 +02:00