kc3-lang/brotli

Branch :


Log

Author Commit Date CI Message
e88fe7b2 2015-08-12 10:11:30 [setup.py] pass extra compiler flags on OS X to enable support for C++11: -stdlib=libc++ -mmacosx-version-min=10.7
d811b186 2015-08-11 13:49:55 Merge pull request #133 from anthrotype/py27win fix compilation on Windows Python 2.7 + support for MINGW32 and Cygwin
d2c8b277 2015-08-11 10:38:20 [setup.py] retrieve version string from brotlimodule.cc so we don't need to modify it more than once
8c7edd3e 2015-08-11 10:39:14 [bro.py] print --version as brotli.__version__
ac33d356 2015-08-11 10:42:22 [brotlimodule.cc] add __version__ string attribute to brotli module
54baf43c 2015-08-10 18:04:30 [setup.py] support MINGW32 compiler: fix clashing 'hypot' definition; statically link libgcc and libstdc++
c3540e2b 2015-08-10 18: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-10 18:44:06 [brotlimodule.cc] fix RuntimeError on OS X: keyword list must be NULL terminated Sorry, my fault...
55a40ce2 2015-08-11 11:10:37 Merge pull request #135 from szabadka/master Fix malloc.h and stdlib.h includes.
7de70dbc 2015-08-11 11:09:04 Add missing <stdlib.h> to streams.cc
944c3b82 2015-08-11 11: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-10 16:44:36 Merge pull request #132 from szabadka/master Brotli decoder optimizations.
4b2fd00e 2015-08-10 16: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-10 15:51:56 Merge pull request #131 from anthrotype/py-deprecated [brotlimodule.cc] no longer expose deprecated BrotliParams
08212db7 2015-08-10 14:39:44 [brotlimodule.cc] fix C++11 warning about conversion from string literal to 'char *'
d3dfc689 2015-08-10 14:38:17 [brotlimodule.cc] no longer expose deprecated BrotliParams: enable_dictionary, enable_transforms, greedy_block_split, enable_context_modeling
45c38936 2015-08-10 14:41:42 Enable little endian support also for visual studio
ef186baf 2015-08-10 14:19:10 Merge pull request #130 from lvandeve/master fix brotli decoder MSVC compilation error
fee303fd 2015-08-10 14:18:37 fix brotli decoder MSVC compilation error
4c22a3dd 2015-08-10 13:43:48 Merge pull request #128 from lvandeve/master brotli decoder performance improvements
94cd7085 2015-08-10 13:35:23 brotli decoder performance improvements
06fff86b 2015-08-10 13:29:32 Merge pull request #127 from lvandeve/master msan bugfixes to the brotli encoder
17ed2589 2015-08-10 13:13:58 msan bugfixes to the brotli encoder
afbec112 2015-07-30 18:08:40 Add -O2 flag
13f0a9b0 2015-07-30 17:45:12 Merge pull request #124 from szabadka/master Fix encoder bug.
29c26795 2015-07-30 17: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-29 14:25:50 Merge pull request #123 from szabadka/master Fix some VS compilation errors in the encoder.
95ddb48a 2015-06-29 14: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-26 17:38:49 Merge pull request #121 from lvandeve/master Brotli Bug Fixes
bad0f4ed 2015-06-26 17:37:00 Brotli Bug Fixes
67d26e0d 2015-06-12 16:55:09 Merge pull request #119 from szabadka/master Deprecate greedy_block_split and enable_context_modeling brotli params.
618287b3 2015-06-12 16: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-12 16:47:56 Merge pull request #118 from szabadka/master Use a static hash table to look up dictionary words and transforms.
66098830 2015-06-12 16: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-12 16:37:17 Merge pull request #117 from szabadka/master Add "zopfli"-style backward reference search to brotli.
b3d3723f 2015-06-12 16: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-12 16: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-12 16:14:06 Change the static dictionary hash table to take into account word frequency when there are hash collisions.
a0d0ecfe 2015-06-12 16:12:38 Merge pull request #115 from szabadka/master Bug fixes for the brotli encoder.
65f3fc55 2015-06-12 16: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-12 15:45:41 Merge pull request #114 from szabadka/master Brotli custom LZ77 dictionary support.
b43df8f6 2015-06-12 15: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-12 15:32:31 Merge pull request #113 from szabadka/master Speedups to brotli quality 11.
667f70ad 2015-06-12 15: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-12 15:14:13 Merge pull request #112 from szabadka/master Speedups and fixes to the decoder.
641bc158 2015-06-12 15: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-12 14:31:47 Update README.md
996ec289 2015-05-11 17:22:04 Merge pull request #111 from szabadka/master Create -04 version of the internet draft.
ea359368 2015-05-11 17:04:13 Change the expiration date and title of the -04 draft.
14ea2b58 2015-05-11 17:03:35 Create -04 version of the draft.
6ee61e78 2015-05-11 15: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-11 14:12:37 [roundtrip_test.py] repeat test at different quality (1, 6, 9, 11)
682facef 2015-05-11 14:15:05 Merge pull request #109 from szabadka/master Expose the quality parameter to the bro.cc tool.
8d83839a 2015-05-11 14:14:05 Expose the quality parameter to the bro.cc tool.
463ceda5 2015-05-11 14:12:24 Merge pull request #108 from szabadka/master Use the same hasher for text and font mode.
6622355a 2015-05-11 14: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-11 13:52:54 Merge pull request #107 from szabadka/master Fix broken quality 0, make it same as quality 1.
cc8d64df 2015-05-11 13:51:47 Fix broken quality 0, make it same as quality 1.
cc211b92 2015-05-11 13:36:43 Merge pull request #105 from anthrotype/newparams [python] expose new encoder parameters as kwargs of brotli.compress
c93c0dab 2015-05-11 11:10:48 [bro.py] use brotli.MODE_GENERIC as default compression mode; remove additional low-level parameters
aa6f7d8f 2015-05-11 11:09:36 [brotlimodule] add MODE_GENERIC constant
b7e82917 2015-05-08 15:49:15 [bro.py] remove debug print
4106a406 2015-05-08 15:46:56 [bro.py] use new optional encoder parameters when compressing; modified the help string to include the new parameters.
32c44ec8 2015-05-08 14:17:20 [bro.py] use argparse instead of getopt
3351bb08 2015-05-08 13:02:05 [brotlimodule] apply uniform docstring style
6d935db7 2015-05-08 12:38:22 [brotlimodule] add quality, lgwin and lgblock parameters
dbcb3261 2015-05-08 12:07:10 [brotlimodule] add enable_context_modeling parameter (defaults to True)
4c1d0693 2015-05-08 12:02:08 [brotlimodule] add new keyword params docstring of brotli.compress
6264bea2 2015-05-08 11:47:00 [brotlimodule] add greedy_block_split parameter (defaults to False); renamed variables: transform -> enable_transforms, dictionary -> enable_dictionary
b2eba122 2015-05-08 11:34:20 [brotlimodule] add enable_dictionary parameter (defautls to True)
89c74d68 2015-05-08 11:23:08 [brotlimodule] use keyword arguments for mode and enable_transforms; update brotli.compress docstring accordingly
621cd0cf 2015-05-11 11:34:39 Merge pull request #106 from szabadka/master Add a MODE_GENERIC compression mode to the interface.
aa853f3c 2015-05-11 11: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-08 11:11:22 Merge pull request #104 from anthrotype/py3split [python] fix compatibility_test.py with Python 3
e6913b2e 2015-05-08 10: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-07 20:46:40 Merge pull request #103 from szabadka/master Handle multiple compressed files per original in the test.
10a2f374 2015-05-07 20: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-07 20:37:22 Merge pull request #102 from szabadka/master Restrict the ARM optimizations to little endian architectures.
bef6938a 2015-05-07 20:36:35 Restrict the ARM optimizations to little endian architectures.
14c571ca 2015-05-07 20:11:15 Merge pull request #101 from szabadka/master Add an Acknowledgements section to the spec.
78350a91 2015-05-07 20:10:22 Add an Acknowledgements section to the spec.
f0500266 2015-05-07 19:47:14 Merge pull request #100 from szabadka/master Fix 32bit build.
f3e71e44 2015-05-07 19:45:21 Fix 32bit build.
7c277c3e 2015-05-07 17:45:18 Merge pull request #99 from szabadka/master Support window bits 10 - 15 in the decoder.
54f69c9e 2015-05-07 17: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-07 17:41:11 Merge pull request #98 from szabadka/master Align distance code meaning in the brotli encoder.
12eb9bfd 2015-05-07 17: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-07 17:36:37 Merge pull request #97 from szabadka/master Faster encoding for low quality settings.
7cde616c 2015-05-07 17: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-07 17:24:12 Merge pull request #96 from szabadka/master Use a static context map with two buckets for UTF8 data.
945b0d02 2015-05-07 17: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-07 17:13:06 Merge pull request #95 from szabadka/master Decoder optimizations for ARM architecture.
5f39d607 2015-05-07 17:10:27 Decoder optimizations for ARM architecture.
500c85ac 2015-05-07 17:00:58 Merge pull request #94 from szabadka/master Speed and memory usage improvements for the decoder.
83aa24dc 2015-05-07 16: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-28 10:14:55 Merge pull request #93 from szabadka/master Don't do any block splitting for quality 1.
0f726df1 2015-04-28 10:12:47 Don't do any block splitting for quality 1.
344ea8ed 2015-04-28 10:08:52 Merge pull request #92 from szabadka/master Fix an error propagation bug in the decoder.
fe14d7b3 2015-04-28 10:07:12 Fix an error propagation bug in the decoder.
4f902dcc 2015-04-27 18:27:00 Merge pull request #91 from szabadka/master Fix the year on the copyright message.