Zoltan Szabadka
b43df8f699
Brotli custom LZ77 dictionary support.
...
Adds functions to prepend such dictionary to the
encoder and decoder, and twiddles their internal
parameters to do as if that was a previous part of
the input. This dictionary is just a prefilled LZ77
window, it is not related to the built in transformable
brotli dictionary.
2015-06-12 15:43:54 +02:00
szabadka
631184d40c
Merge pull request #113 from szabadka/master
...
Speedups to brotli quality 11.
2015-06-12 15:32:31 +02:00
Zoltan Szabadka
667f70adcb
Speedups to brotli quality 11.
...
* Cluster at most 64 histograms at a time in the first
round of clustering.
* Use a faster histogram cost estimation function.
* Don't compute the log2(total) multiple times in the
block splitter.
2015-06-12 15:29:06 +02:00
szabadka
af09ee7344
Merge pull request #112 from szabadka/master
...
Speedups and fixes to the decoder.
2015-06-12 15:14:13 +02:00
Zoltan Szabadka
641bc15882
Speedups and fixes to the decoder.
...
* Read data by 4-byte runs.
This resolves unaligned read (Bus error) on arm-android.
* Get rid of malloc/free in BrotliBuildHuffmanTable.
* Tweak order of instructions when reading Huffman codes.
2015-06-12 15:12:23 +02:00
lvandeve
e0510a828e
Update README.md
2015-06-12 14:31:47 +02:00
szabadka
996ec28993
Merge pull request #111 from szabadka/master
...
Create -04 version of the internet draft.
2015-05-11 17:22:04 +02:00
Zoltan Szabadka
ea35936816
Change the expiration date and title of the -04 draft.
2015-05-11 17:04:13 +02:00
Zoltan Szabadka
14ea2b5805
Create -04 version of the draft.
2015-05-11 17:03:35 +02:00
szabadka
6ee61e78c8
Merge pull request #110 from anthrotype/test_quality
...
[roundtrip_test.py] repeat test at different quality (1, 6, 9, 11)
2015-05-11 15:15:55 +02:00
Cosimo Lupo
e356b9bc2f
[roundtrip_test.py] repeat test at different quality (1, 6, 9, 11)
2015-05-11 14:12:37 +01:00
szabadka
682facef7b
Merge pull request #109 from szabadka/master
...
Expose the quality parameter to the bro.cc tool.
2015-05-11 14:15:05 +02:00
Zoltan Szabadka
8d83839ac2
Expose the quality parameter to the bro.cc tool.
2015-05-11 14:14:05 +02:00
szabadka
463ceda563
Merge pull request #108 from szabadka/master
...
Use the same hasher for text and font mode.
2015-05-11 14:12:24 +02:00
Zoltan Szabadka
6622355a9a
Use the same hasher for text and font mode.
...
We use 4-byte hashing in both and look for length 3
matches separately.
2015-05-11 14:11:07 +02:00
szabadka
6bb4316280
Merge pull request #107 from szabadka/master
...
Fix broken quality 0, make it same as quality 1.
2015-05-11 13:52:54 +02:00
Zoltan Szabadka
cc8d64dfec
Fix broken quality 0, make it same as quality 1.
2015-05-11 13:51:47 +02:00
szabadka
cc211b92f1
Merge pull request #105 from anthrotype/newparams
...
[python] expose new encoder parameters as kwargs of brotli.compress
2015-05-11 13:36:43 +02:00
Cosimo Lupo
c93c0dab92
[bro.py] use brotli.MODE_GENERIC as default compression mode;
...
remove additional low-level parameters
2015-05-11 11:10:48 +01:00
Cosimo Lupo
aa6f7d8f0c
[brotlimodule] add MODE_GENERIC constant
2015-05-11 11:09:36 +01:00
Cosimo Lupo
b7e8291788
[bro.py] remove debug print
2015-05-11 10:39:29 +01:00
Cosimo Lupo
4106a406d0
[bro.py] use new optional encoder parameters when compressing;
...
modified the help string to include the new parameters.
2015-05-11 10:39:28 +01:00
Cosimo Lupo
32c44ec87d
[bro.py] use argparse instead of getopt
2015-05-11 10:39:26 +01:00
Cosimo Lupo
3351bb08e3
[brotlimodule] apply uniform docstring style
2015-05-11 10:39:24 +01:00
Cosimo Lupo
6d935db75c
[brotlimodule] add quality, lgwin and lgblock parameters
2015-05-11 10:39:23 +01:00
Cosimo Lupo
dbcb32614a
[brotlimodule] add enable_context_modeling parameter (defaults to True)
2015-05-11 10:39:21 +01:00
Cosimo Lupo
4c1d06931e
[brotlimodule] add new keyword params docstring of brotli.compress
2015-05-11 10:39:20 +01:00
Cosimo Lupo
6264bea2e4
[brotlimodule] add greedy_block_split parameter (defaults to False);
...
renamed variables: transform -> enable_transforms, dictionary -> enable_dictionary
2015-05-11 10:39:18 +01:00
Cosimo Lupo
b2eba122c8
[brotlimodule] add enable_dictionary parameter (defautls to True)
2015-05-11 10:39:17 +01:00
Cosimo Lupo
89c74d6859
[brotlimodule] use keyword arguments for mode and enable_transforms;
...
update brotli.compress docstring accordingly
2015-05-11 10:39:15 +01:00
szabadka
621cd0cf04
Merge pull request #106 from szabadka/master
...
Add a MODE_GENERIC compression mode to the interface.
2015-05-11 11:34:39 +02:00
Zoltan Szabadka
aa853f3cbc
Add a MODE_GENERIC compression mode to the interface.
...
With this the users can distinguish between not knowing
what the input is (ddefault) and knowing that it is text,
and thus can be relied on to force some UTF-8 specific settings.
2015-05-11 11:33:19 +02:00
szabadka
288f70d7ea
Merge pull request #104 from anthrotype/py3split
...
[python] fix compatibility_test.py with Python 3
2015-05-08 11:11:22 +02:00
Cosimo Lupo
e6913b2e78
[python] use built-in split instead of 'string' module for py23
...
In python3, the 'string' module no longer has a 'split' function.
2015-05-08 10:06:18 +01:00
szabadka
4e94277e9d
Merge pull request #103 from szabadka/master
...
Handle multiple compressed files per original in the test.
2015-05-07 20:46:40 +02:00
Zoltan Szabadka
10a2f3745a
Handle multiple compressed files per original in the test.
...
Add some more test cases that decompress to the empty
file or a one byte long file. These test cases have
examples for the updated stream header and meta-block
header formats.
2015-05-07 20:43:01 +02:00
szabadka
7ee6449b83
Merge pull request #102 from szabadka/master
...
Restrict the ARM optimizations to little endian architectures.
2015-05-07 20:37:22 +02:00
Zoltan Szabadka
bef6938af7
Restrict the ARM optimizations to little endian architectures.
2015-05-07 20:36:35 +02:00
szabadka
14c571ca0b
Merge pull request #101 from szabadka/master
...
Add an Acknowledgements section to the spec.
2015-05-07 20:11:15 +02:00
Zoltan Szabadka
78350a9135
Add an Acknowledgements section to the spec.
2015-05-07 20:10:22 +02:00
szabadka
f0500266c8
Merge pull request #100 from szabadka/master
...
Fix 32bit build.
2015-05-07 19:47:14 +02:00
Zoltan Szabadka
f3e71e441e
Fix 32bit build.
2015-05-07 19:45:21 +02:00
szabadka
7c277c3ef7
Merge pull request #99 from szabadka/master
...
Support window bits 10 - 15 in the decoder.
2015-05-07 17:45:18 +02:00
Zoltan Szabadka
54f69c9ef7
Support window bits 10 - 15 in the decoder.
...
The previous window bit value 17 is used to
extend the range, since it has not been used
in any previous encoders.
2015-05-07 17:44:33 +02:00
szabadka
7bbfd5df95
Merge pull request #98 from szabadka/master
...
Align distance code meaning in the brotli encoder.
2015-05-07 17:41:11 +02:00
Zoltan Szabadka
12eb9bfd70
Align distance code meaning in the brotli encoder.
...
Two different definitions (offset by 1) were used in
command.h and hash.h. Now they have been made the same,
also consistent with the spec (e.g. 0 means use previous dist, etc...)
2015-05-07 17:40:00 +02:00
szabadka
fa2c6df4f5
Merge pull request #97 from szabadka/master
...
Faster encoding for low quality settings.
2015-05-07 17:36:37 +02:00
Zoltan Szabadka
7cde616c9e
Faster encoding for low quality settings.
...
With this commit, the encoder will skip some
compression optimization steps for quality <= 4,
which results in faster compression but higher
compressed sizes.
2015-05-07 17:30:10 +02:00
szabadka
e4a309ac07
Merge pull request #96 from szabadka/master
...
Use a static context map with two buckets for UTF8 data.
2015-05-07 17:24:12 +02:00
Zoltan Szabadka
945b0d025f
Use a static context map with two buckets for UTF8 data.
...
Enabled for quality >= 4, and if there are no obvious
UTF8 violations detected.
For each block, we gather two separate histograms, one
for continuation bytes and one for ASCII or lead bytes.
2015-05-07 17:23:07 +02:00