Commit Graph

216 Commits

Author SHA1 Message Date
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
szabadka 762f9ba5a0 Merge pull request #95 from szabadka/master
Decoder optimizations for ARM architecture.
2015-05-07 17:13:06 +02:00
Zoltan Szabadka 5f39d607ef Decoder optimizations for ARM architecture. 2015-05-07 17:10:27 +02:00
szabadka 500c85acae Merge pull request #94 from szabadka/master
Speed and memory usage improvements for the decoder.
2015-05-07 17:00:58 +02:00
Zoltan Szabadka 83aa24dc86 Speed and memory usage improvements for the decoder.
* Change order of members of bit reader state structure.

* Remove unused includes for assert. Add BROTLI_DCHECK
  macros and use it instead of assert.

* Do not calculate nbits in common case of ReadSymbol.

* Introduce and use PREDICT_TRUE / PREDICT_FALSE macros.

* Allocate less memory in the brotli decoder if it knows
  the result size beforehand. Before this, the decoder
  would always allocate 16MB if the encoder annotated the
  window size as 22 bit (which is the default), even if the
  file is only a few KB uncompressed. Now, it'll only
  allocate a ringbuffer as large as needed for the result file.
  But only if it can know the filesize, it's not possible
  to know that if there are multiple metablocks or too large
  uncompressed metablock.
2015-05-07 16:53:43 +02:00
szabadka 47ea761869 Merge pull request #93 from szabadka/master
Don't do any block splitting for quality 1.
2015-04-28 10:14:55 +02:00
Zoltan Szabadka 0f726df1f1 Don't do any block splitting for quality 1. 2015-04-28 10:12:47 +02:00
szabadka 344ea8edb3 Merge pull request #92 from szabadka/master
Fix an error propagation bug in the decoder.
2015-04-28 10:08:52 +02:00
Zoltan Szabadka fe14d7b32a Fix an error propagation bug in the decoder. 2015-04-28 10:07:12 +02:00
szabadka 4f902dccf4 Merge pull request #91 from szabadka/master
Fix the year on the copyright message.
2015-04-27 18:27:00 +02:00
Zoltan Szabadka 94bc27d87a Fix the year on the copyright message. 2015-04-27 18:25:59 +02:00
szabadka 5a1cf14116 Merge pull request #90 from szabadka/master
Change the expiration date and title of the -03 draft.
2015-04-27 18:12:55 +02:00
Zoltan Szabadka fd4a048171 Change the expiration date and title of the -03 draft. 2015-04-27 18:12:09 +02:00
szabadka 29a72665c3 Merge pull request #89 from szabadka/master
Create -03 version of the internet draft.
2015-04-27 18:04:12 +02:00
Zoltan Szabadka 98bd88413a Create -03 version of the internet draft. 2015-04-27 17:52:21 +02:00
szabadka f8bfe06821 Merge pull request #88 from szabadka/master
Remove the 'override' keyword from ~BrotliFileIn().
2015-04-23 16:44:35 +02:00
Zoltan Szabadka 99af4df8ea Remove the 'override' keyword from ~BrotliFileIn().
Apparently MSVS 2010 does not support this.
2015-04-23 16:43:38 +02:00
szabadka 977bec5159 Merge pull request #87 from szabadka/master
Remove quality parameter from bitstream writing functions.
2015-04-23 16:23:36 +02:00
Zoltan Szabadka 98539223f5 Remove quality parameter from bitstream writing functions.
Fix a few crashes related to some quality and param combinations.
2015-04-23 16:20:29 +02:00
szabadka e94bddd013 Merge pull request #86 from szabadka/master
Add a static hash table based dictionary lookup to fast brotli.
2015-04-23 15:56:54 +02:00
Zoltan Szabadka e91a4492c7 Add dictionary_hash.h to setup.py. 2015-04-23 15:55:43 +02:00
Zoltan Szabadka fdfb19806b Add a static hash table based dictionary lookup to fast brotli. 2015-04-23 15:52:32 +02:00
szabadka 16a219bbc2 Merge pull request #85 from szabadka/master
Encoder support for new empty meta-block format.
2015-04-23 15:45:48 +02:00
Zoltan Szabadka 2fd80cdc9a Encoder support for new empty meta-block format.
Changed the parallel implementation to sync meta-blocks
to byte boundary by emitting empty meta-blocks.
2015-04-23 15:43:37 +02:00
szabadka 098c928864 Merge pull request #84 from szabadka/master
Fix entropy calculation.
2015-04-23 15:36:03 +02:00
Zoltan Szabadka 6d80610f03 Fix entropy calculation. 2015-04-23 15:35:16 +02:00
szabadka 5ea92475af Merge pull request #83 from szabadka/master
Encoder implementation using input/output classes.
2015-04-23 15:30:51 +02:00
Zoltan Szabadka 3dbe2e03e7 Encoder implementation using input/output classes.
Add a BrotliCompress() method to the public encoder API
that uses the BrotliIn and BrotliOut classes and use
that in the 'bro' command-line tool.

Use the streaming api in BrotliCompressBuffer() and
BrotliCompressor::WriteMetaBlock().

Use the appropiate hashers for quality <= 9.
2015-04-23 15:26:08 +02:00
szabadka e42eaa097c Merge pull request #82 from szabadka/master
Add input and output classes for streaming compression.
2015-04-23 14:37:50 +02:00