Log

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