|
d811b186
|
2015-08-11T13:49:55
|
|
Merge pull request #133 from anthrotype/py27win
fix compilation on Windows Python 2.7 + support for MINGW32 and Cygwin
|
|
d2c8b277
|
2015-08-11T10:38:20
|
|
[setup.py] retrieve version string from brotlimodule.cc so we don't need to modify it more than once
|
|
8c7edd3e
|
2015-08-11T10:39:14
|
|
[bro.py] print --version as brotli.__version__
|
|
ac33d356
|
2015-08-11T10:42:22
|
|
[brotlimodule.cc] add __version__ string attribute to brotli module
|
|
54baf43c
|
2015-08-10T18:04:30
|
|
[setup.py] support MINGW32 compiler: fix clashing 'hypot' definition; statically link libgcc and libstdc++
|
|
c3540e2b
|
2015-08-10T18:01:29
|
|
[setup.py] use MSVC 10.0 when compiling for Windows Python 2.7
Python 2.7 for Windows is compiled using MS Visaul C++ 9.0 (Visual Studio 2008).
However the latter does not support many modern C++ features which are
required to compile the Brotli encoder. So we monkey-patch distutils
to always look for MSVC version 10.0 instead of 9.0.
|
|
f1417290
|
2015-08-10T18:44:06
|
|
[brotlimodule.cc] fix RuntimeError on OS X: keyword list must be NULL terminated
Sorry, my fault...
|
|
55a40ce2
|
2015-08-11T11:10:37
|
|
Merge pull request #135 from szabadka/master
Fix malloc.h and stdlib.h includes.
|
|
7de70dbc
|
2015-08-11T11:09:04
|
|
Add missing <stdlib.h> to streams.cc
|
|
944c3b82
|
2015-08-11T11:07:26
|
|
Remove non-standard <malloc.h> from decode.c
The already included <stdlib.h> is enough for the malloc/free calls.
|
|
421e4ed4
|
2015-08-10T16:44:36
|
|
Merge pull request #132 from szabadka/master
Brotli decoder optimizations.
|
|
4b2fd00e
|
2015-08-10T16:39:50
|
|
Use a single lookup table for insert/copy offsets and extra bits.
Remove safe_malloc.c since all the bounds checking is done inside
decode.c now.
|
|
da11e911
|
2015-08-10T15:51:56
|
|
Merge pull request #131 from anthrotype/py-deprecated
[brotlimodule.cc] no longer expose deprecated BrotliParams
|
|
08212db7
|
2015-08-10T14:39:44
|
|
[brotlimodule.cc] fix C++11 warning about conversion from string literal to 'char *'
|
|
d3dfc689
|
2015-08-10T14:38:17
|
|
[brotlimodule.cc] no longer expose deprecated BrotliParams: enable_dictionary, enable_transforms, greedy_block_split, enable_context_modeling
|
|
45c38936
|
2015-08-10T14:41:42
|
|
Enable little endian support also for visual studio
|
|
ef186baf
|
2015-08-10T14:19:10
|
|
Merge pull request #130 from lvandeve/master
fix brotli decoder MSVC compilation error
|
|
fee303fd
|
2015-08-10T14:18:37
|
|
fix brotli decoder MSVC compilation error
|
|
4c22a3dd
|
2015-08-10T13:43:48
|
|
Merge pull request #128 from lvandeve/master
brotli decoder performance improvements
|
|
94cd7085
|
2015-08-10T13:35:23
|
|
brotli decoder performance improvements
|
|
06fff86b
|
2015-08-10T13:29:32
|
|
Merge pull request #127 from lvandeve/master
msan bugfixes to the brotli encoder
|
|
17ed2589
|
2015-08-10T13:13:58
|
|
msan bugfixes to the brotli encoder
|
|
afbec112
|
2015-07-30T18:08:40
|
|
Add -O2 flag
|
|
13f0a9b0
|
2015-07-30T17:45:12
|
|
Merge pull request #124 from szabadka/master
Fix encoder bug.
|
|
29c26795
|
2015-07-30T17:42:02
|
|
Fix encoder bug.
Under some circumstances CopyLiteralsToByteArray tried
to read begind ringbuffer.
In this patch we force it to read completely from range [0..mask]
|
|
9c9bb00f
|
2015-06-29T14:25:50
|
|
Merge pull request #123 from szabadka/master
Fix some VS compilation errors in the encoder.
|
|
95ddb48a
|
2015-06-29T14:20:25
|
|
Fix some VS compilation errors in the encoder.
- Use std::numeric_limits<double>::infinity() instead of 1.0 / 0.0
- Use FastLog2() instead of log2() in cost model
|
|
9fa3016e
|
2015-06-26T17:38:49
|
|
Merge pull request #121 from lvandeve/master
Brotli Bug Fixes
|
|
bad0f4ed
|
2015-06-26T17:37:00
|
|
Brotli Bug Fixes
|
|
67d26e0d
|
2015-06-12T16:55:09
|
|
Merge pull request #119 from szabadka/master
Deprecate greedy_block_split and enable_context_modeling brotli params.
|
|
618287b3
|
2015-06-12T16:50:49
|
|
Deprecate greedy_block_split and enable_context_modeling brotli params.
These affected only quality 11, and now it does not make sense
to disable block splitting or context modeling because most of
the time is spent in zopfli anyway.
Now all speed vs size compromises are controlled by the quality param.
|
|
981ca6e5
|
2015-06-12T16:47:56
|
|
Merge pull request #118 from szabadka/master
Use a static hash table to look up dictionary words and transforms.
|
|
66098830
|
2015-06-12T16:45:17
|
|
Use a static hash table to look up dictionary words and transforms.
This is used for quality 11, for qualities <= 9 we already
have a simpler hash table.
The static data size is 252 kB, and this removes the
need to initialize a huge hash map at startup, which was
the reason why transforms had to be disabled by default.
In comparison, the static dictionary itself is 120 kB.
This supports every transform, except the kOmitFirstN.
|
|
0fd2df4f
|
2015-06-12T16:37:17
|
|
Merge pull request #117 from szabadka/master
Add "zopfli"-style backward reference search to brotli.
|
|
b3d3723f
|
2015-06-12T16:25:41
|
|
Add "zopfli"-style backward reference search to brotli.
This commit adopts the backward reference search algorithm
from the zopfli project (see https://github.com/google/zopfli)
to brotli.
This slower backward reference search is run only in quality 11
and it runs two iterations of entropy cost modeling and
shortest path search.
As a result, the original backward reference search function can
be simplified a bit, since we can remove some heuristics that were
replaced with the zopfli-style search.
|
|
94b33769
|
2015-06-12T16:16:04
|
|
Merge pull request #116 from szabadka/master
Change the static dictionary hash table to take into account word frequency when there are hash collisions.
|
|
835a7746
|
2015-06-12T16:14:06
|
|
Change the static dictionary hash table to take into
account word frequency when there are hash collisions.
|
|
a0d0ecfe
|
2015-06-12T16:12:38
|
|
Merge pull request #115 from szabadka/master
Bug fixes for the brotli encoder.
|
|
65f3fc55
|
2015-06-12T16:11:50
|
|
Bug fixes for the brotli encoder.
* Fix an out-of-bounds access to depth_histo in the
bit cost calculation function.
* Change type of distance symbol to uint16_t in block
splitter, because if all postfix bits are used, there
can be 520 distance symbols.
* Save the distance cache between meta-blocks at the
correct place. This fixes a roundtrip failure that
can occur when there is an uncompressed metablock
between two compressed metablocks.
* Fix a bug when setting lgwin to 24 in the encoder parameters
It ended up making metablocks larger than 24 bits in size.
* Fix out-of-bounds memory accesses in parallel encoder.
CreateBackwardReferences can read up to 4 bytes past end of
input if the end of input is before mask.
* Add missing header for memcpy() in port.h
|
|
a13ea018
|
2015-06-12T15:45:41
|
|
Merge pull request #114 from szabadka/master
Brotli custom LZ77 dictionary support.
|
|
b43df8f6
|
2015-06-12T15:43:54
|
|
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.
|
|
631184d4
|
2015-06-12T15:32:31
|
|
Merge pull request #113 from szabadka/master
Speedups to brotli quality 11.
|
|
667f70ad
|
2015-06-12T15:29:06
|
|
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.
|
|
af09ee73
|
2015-06-12T15:14:13
|
|
Merge pull request #112 from szabadka/master
Speedups and fixes to the decoder.
|
|
641bc158
|
2015-06-12T15:12:23
|
|
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.
|
|
e0510a82
|
2015-06-12T14:31:47
|
|
Update README.md
|
|
996ec289
|
2015-05-11T17:22:04
|
|
Merge pull request #111 from szabadka/master
Create -04 version of the internet draft.
|
|
ea359368
|
2015-05-11T17:04:13
|
|
Change the expiration date and title of the -04 draft.
|
|
14ea2b58
|
2015-05-11T17:03:35
|
|
Create -04 version of the draft.
|
|
6ee61e78
|
2015-05-11T15:15:55
|
|
Merge pull request #110 from anthrotype/test_quality
[roundtrip_test.py] repeat test at different quality (1, 6, 9, 11)
|
|
e356b9bc
|
2015-05-11T14:12:37
|
|
[roundtrip_test.py] repeat test at different quality (1, 6, 9, 11)
|
|
682facef
|
2015-05-11T14:15:05
|
|
Merge pull request #109 from szabadka/master
Expose the quality parameter to the bro.cc tool.
|
|
8d83839a
|
2015-05-11T14:14:05
|
|
Expose the quality parameter to the bro.cc tool.
|
|
463ceda5
|
2015-05-11T14:12:24
|
|
Merge pull request #108 from szabadka/master
Use the same hasher for text and font mode.
|
|
6622355a
|
2015-05-11T14:11:07
|
|
Use the same hasher for text and font mode.
We use 4-byte hashing in both and look for length 3
matches separately.
|
|
6bb43162
|
2015-05-11T13:52:54
|
|
Merge pull request #107 from szabadka/master
Fix broken quality 0, make it same as quality 1.
|
|
cc8d64df
|
2015-05-11T13:51:47
|
|
Fix broken quality 0, make it same as quality 1.
|
|
cc211b92
|
2015-05-11T13:36:43
|
|
Merge pull request #105 from anthrotype/newparams
[python] expose new encoder parameters as kwargs of brotli.compress
|
|
c93c0dab
|
2015-05-11T11:10:48
|
|
[bro.py] use brotli.MODE_GENERIC as default compression mode;
remove additional low-level parameters
|
|
aa6f7d8f
|
2015-05-11T11:09:36
|
|
[brotlimodule] add MODE_GENERIC constant
|
|
b7e82917
|
2015-05-08T15:49:15
|
|
[bro.py] remove debug print
|
|
4106a406
|
2015-05-08T15:46:56
|
|
[bro.py] use new optional encoder parameters when compressing;
modified the help string to include the new parameters.
|
|
32c44ec8
|
2015-05-08T14:17:20
|
|
[bro.py] use argparse instead of getopt
|
|
3351bb08
|
2015-05-08T13:02:05
|
|
[brotlimodule] apply uniform docstring style
|
|
6d935db7
|
2015-05-08T12:38:22
|
|
[brotlimodule] add quality, lgwin and lgblock parameters
|
|
dbcb3261
|
2015-05-08T12:07:10
|
|
[brotlimodule] add enable_context_modeling parameter (defaults to True)
|
|
4c1d0693
|
2015-05-08T12:02:08
|
|
[brotlimodule] add new keyword params docstring of brotli.compress
|
|
6264bea2
|
2015-05-08T11:47:00
|
|
[brotlimodule] add greedy_block_split parameter (defaults to False);
renamed variables: transform -> enable_transforms, dictionary -> enable_dictionary
|
|
b2eba122
|
2015-05-08T11:34:20
|
|
[brotlimodule] add enable_dictionary parameter (defautls to True)
|
|
89c74d68
|
2015-05-08T11:23:08
|
|
[brotlimodule] use keyword arguments for mode and enable_transforms;
update brotli.compress docstring accordingly
|
|
621cd0cf
|
2015-05-11T11:34:39
|
|
Merge pull request #106 from szabadka/master
Add a MODE_GENERIC compression mode to the interface.
|
|
aa853f3c
|
2015-05-11T11:33:19
|
|
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.
|
|
288f70d7
|
2015-05-08T11:11:22
|
|
Merge pull request #104 from anthrotype/py3split
[python] fix compatibility_test.py with Python 3
|
|
e6913b2e
|
2015-05-08T10:06:18
|
|
[python] use built-in split instead of 'string' module for py23
In python3, the 'string' module no longer has a 'split' function.
|
|
4e94277e
|
2015-05-07T20:46:40
|
|
Merge pull request #103 from szabadka/master
Handle multiple compressed files per original in the test.
|
|
10a2f374
|
2015-05-07T20:43:01
|
|
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.
|
|
7ee6449b
|
2015-05-07T20:37:22
|
|
Merge pull request #102 from szabadka/master
Restrict the ARM optimizations to little endian architectures.
|
|
bef6938a
|
2015-05-07T20:36:35
|
|
Restrict the ARM optimizations to little endian architectures.
|
|
14c571ca
|
2015-05-07T20:11:15
|
|
Merge pull request #101 from szabadka/master
Add an Acknowledgements section to the spec.
|
|
78350a91
|
2015-05-07T20:10:22
|
|
Add an Acknowledgements section to the spec.
|
|
f0500266
|
2015-05-07T19:47:14
|
|
Merge pull request #100 from szabadka/master
Fix 32bit build.
|
|
f3e71e44
|
2015-05-07T19:45:21
|
|
Fix 32bit build.
|
|
7c277c3e
|
2015-05-07T17:45:18
|
|
Merge pull request #99 from szabadka/master
Support window bits 10 - 15 in the decoder.
|
|
54f69c9e
|
2015-05-07T17:44:33
|
|
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.
|
|
7bbfd5df
|
2015-05-07T17:41:11
|
|
Merge pull request #98 from szabadka/master
Align distance code meaning in the brotli encoder.
|
|
12eb9bfd
|
2015-05-07T17:40:00
|
|
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...)
|
|
fa2c6df4
|
2015-05-07T17:36:37
|
|
Merge pull request #97 from szabadka/master
Faster encoding for low quality settings.
|
|
7cde616c
|
2015-05-07T17:30:10
|
|
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.
|
|
e4a309ac
|
2015-05-07T17:24:12
|
|
Merge pull request #96 from szabadka/master
Use a static context map with two buckets for UTF8 data.
|
|
945b0d02
|
2015-05-07T17:23:07
|
|
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.
|
|
762f9ba5
|
2015-05-07T17:13:06
|
|
Merge pull request #95 from szabadka/master
Decoder optimizations for ARM architecture.
|
|
5f39d607
|
2015-05-07T17:10:27
|
|
Decoder optimizations for ARM architecture.
|
|
500c85ac
|
2015-05-07T17:00:58
|
|
Merge pull request #94 from szabadka/master
Speed and memory usage improvements for the decoder.
|
|
83aa24dc
|
2015-05-07T16:53:43
|
|
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.
|
|
47ea7618
|
2015-04-28T10:14:55
|
|
Merge pull request #93 from szabadka/master
Don't do any block splitting for quality 1.
|
|
0f726df1
|
2015-04-28T10:12:47
|
|
Don't do any block splitting for quality 1.
|
|
344ea8ed
|
2015-04-28T10:08:52
|
|
Merge pull request #92 from szabadka/master
Fix an error propagation bug in the decoder.
|
|
fe14d7b3
|
2015-04-28T10:07:12
|
|
Fix an error propagation bug in the decoder.
|
|
4f902dcc
|
2015-04-27T18:27:00
|
|
Merge pull request #91 from szabadka/master
Fix the year on the copyright message.
|
|
94bc27d8
|
2015-04-27T18:25:59
|
|
Fix the year on the copyright message.
|