Commit Graph

306 Commits

Author SHA1 Message Date
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
Zoltan Szabadka
09aa9ca410 Add the streams.* files to Makefile and setup.py 2015-04-23 14:35:43 +02:00
Zoltan Szabadka
6a5303304e Add input and output classes for streaming compression. 2015-04-23 14:29:01 +02:00
szabadka
ec03509d6d Merge pull request #81 from szabadka/master
Add params to disable static dictionary and context modeling.
2015-04-23 13:55:38 +02:00
Zoltan Szabadka
89a6fb85fb Add params to disable static dictionary and context modeling.
Disable all slow features for quality <= 9 (literal cost modeling,
dictionary, context modeling, advanced block splitting).

Change vector<Command> arguments of internal functions
to Command* and size_t.
2015-04-23 13:15:42 +02:00
szabadka
0c81a1360b Merge pull request #35 from mitya57/master
Makefile fixes and cleanups
2015-04-23 12:05:39 +02:00
szabadka
2492f171c7 Merge pull request #80 from anthrotype/test_brotli_py
[python] prepend build/lib folder to PYTHONPATH before running tests
2015-04-23 10:44:35 +02:00
Cosimo Lupo
cdde52ef63 [python] refactored tests and import shared utilities from module 2015-04-22 17:54:56 +01:00
Cosimo Lupo
906f4f52ab [python] prepend build/lib folder to PYTHONPATH before running tests 2015-04-22 16:50:38 +01:00
szabadka
7fa4586079 Merge pull request #79 from szabadka/master
Add partial output support to the decoder.
2015-04-22 17:34:55 +02:00
Zoltan Szabadka
64c261113f Add partial output support to the decoder. 2015-04-22 17:33:21 +02:00