Log

Author Commit Date CI Message
Eugene Kliuchnikov 46c1a881 2017-04-10T10:42:24 Pull down version for v0.6.0 release
Eugene Kliuchnikov 21c118ba 2017-04-05T18:50:01 Update c- and java-decoder: (#536) * speedup java decoder * avoid masking * avoid excessive fillBits * streamline uncompressed block processing * make java decoder more transpilation-friendly * avoid non-essential goto in c-decoder
Eugene Kliuchnikov e12a7a2d 2017-04-04T13:21:36 Add Brotli logo to README head (#535)
Eugene Kliuchnikov 7a09531f 2017-03-30T16:50:06 Cleanup
Eugene Kliuchnikov e5b7c16b 2017-03-24T14:49:02 Same file name is not permitted overall! (#532)
Eugene Kliuchnikov e77799b0 2017-03-24T14:31:30 Fix bintray release structure (#531) Same file name is not allowed across packages in one version.
Eugene Kliuchnikov 51d6780b 2017-03-24T13:40:30 Actually publich artifacts to Bintray (#530)
Eugene Kliuchnikov 6715130c 2017-03-24T13:03:16 Fix bintray json (#529)
Eugene Kliuchnikov 187904a4 2017-03-24T12:54:20 Upload binaries to bintray (#528)
Eugene Kliuchnikov 29ad4db4 2017-03-23T16:23:57 Break build on sha256sum mismatch (#527)
Eugene Kliuchnikov 22421ebe 2017-03-23T13:35:53 Bazel build on linux/osx (#526)
Eugene Kliuchnikov ee5c7190 2017-03-22T19:13:59 Build and test java decoder with Maven
Eugene Kliuchnikov a657d996 2017-03-22T12:41:19 Add go wrapper, streamline java decoder: (#524) * add (c)brotli golang wrapper * remove (language-specific) enums in java decoder
Eugene Kliuchnikov 8a06e029 2017-03-21T16:08:23 Better compression (#523) Better compression: * use more complex content modeling on 1MiB+ files
Eugene Kliuchnikov 1ff78b87 2017-03-10T16:01:49 Prevent fuzzer timeouts on compression-bomb samples (#522) * Prevent fuzzer timeouts on compression-bomb samples. * Fix fuzzer lanucher
Eugene Kliuchnikov 52ce8670 2017-03-09T17:34:16 Fix typos (#521)
Eugene Kliuchnikov cdca91b6 2017-03-06T14:22:45 Update common, decoder, encoder, java (#520) Common: * wrap dictionary data into `BrotliDictionary` structure * replace public constant with getter `BrotliGetDictionary` * reformat dictionary data Decoder: * adopt common changes * clarify acceptable instance usage patterns * hold reference to dictionary in state Encoder: * adopt common changes * eliminate PIC spots in `CreateBackwardReferences` * add per-chunk ratio guards for q0 and q1 * precompute relative distances to avoid repeated calculations * prostpone hasher allocation/initialization * refactor Hashers to be class-like structure * further improvements for 1MiB+ inputs * added new hasher type; made hashers more configurable Java: * Pull byte->int magic to `IntReader` from `BitReader`
Ian Duncan aaa4424d 2017-03-02T00:19:57 Fix CMakeLists.txt specifying a nonexistent pkgconfig package (#518)
Eugene Kliuchnikov c931e576 2017-02-28T16:59:52 Move `java/` to `java/org/brotli/` to fix `sources.jar` structure (#517) Also added man pages to `docs/`
Eugene Kliuchnikov aaac88a1 2017-02-20T16:16:45 Switch to 0.2.0-SNAPSHOT (#515)
Eugene Kliuchnikov 527db7af 2017-02-20T15:51:48 Release org.brotli.* 0.1.0 (#514)
Eugene Kliuchnikov 56a7fda8 2017-02-20T14:04:55 Java: fix typos and adjust visibility. (#513)
Evan Nemerson d03c38da 2017-02-19T01:06:13 Blacklist PGI from using conformant array parameters. (#511) * Blacklist PGI from using conformant array parameters. There is a bug in pgcc with conformant array parameters where the length argument is a pointer which triggers a compiler error (PGC-S-0094, to be specific). The issue has been reported to PGI and is being tracked internally as TPR 23778. For more information, see https://www.pgroup.com/userforum/viewtopic.php?t=5501 * travis: Add PGI Community Edition build. For details on the installation script, see https://github.com/nemequ/pgi-travis
Eugene Kliuchnikov 53366083 2017-02-17T15:39:34 Prepare org.brotli.dec for deployment. (#512)
Eugene Kliuchnikov 9fa1ad5a 2017-02-08T21:14:01 Fix "zero-distance-code", take 2 (#506)
Eugene Kliuchnikov 0749d9ca 2017-02-07T15:35:03 Fix #502 decoder bug (#505) Decoder may have produced invalid output if: * at offset 0..3 dictionary word with index 3..0 for some length N is used and distance is encoded with direct distance code 0, and * at least one of next 4 commands use value from distance ringbuffer
Eugene Kliuchnikov 11df843c 2017-02-06T14:20:43 Update encoder (#504) * pull `BROTLI_MAX_BACKWARD_LIMIT` to constants * split generic and Zopfli backward references code * pull hashers init and stitch invocation to encoder * make `dictionary_hash` a compilation unit * add `size hint` parameter * add new hasher * use `size hint` to pick new hasher for q4 * modernize clz guard (fix #495) * move `hash to binary tree` to separate file * add `Initialize` and `Cleanup` to all hashers * do not raise OOM if malloc(0) == NULL (fix #500)
Eugene Kliuchnikov 8d3fdc1d 2017-01-26T11:32:18 Update encoder (#497) * pad dictionary LUTs to length 32, etc. (#493) * avoid using INFINITY constant (#496) * make dictionary_hash.h more compact * add "disable literal context modelling" parameter
Eugene Kliuchnikov 7e347a7c 2016-12-22T15:55:05 Update encoder (#492) * fix comment position in `context.h` * fix typo in internal quality constant name * deduplicate `BuildMetaBlockGreedy` code * simplify aggregation in `ChooseContextMap`
Eugene Kliuchnikov 27d94590 2016-12-22T13:03:28 Research (#491) * add advanced mode for optimal references generator * fix #489 Thanks to Ivan Nikulin for working on it.
Eugene Kliuchnikov fe9f9a91 2016-12-22T08:57:44 Split brotli common/dec/enc .pc files (#490) Add URL, and use DEPENS_PRIVATE generator params
Alex Nicksay 6ab0a5ce 2016-12-21T04:17:11 Python: Create Makefile for development shortcuts (#488)
Eugene Kliuchnikov fd96151b 2016-12-20T18:00:51 Move brotlidump.py to research/ (#487)
Eugene Kliuchnikov 58144387 2016-12-20T17:45:40 Add configure-cmake (#474) (#486) * Add configure-cmake * `curl https://raw.githubusercontent.com/nemequ/configure-cmake/7b0464af79bbaca535f0279316558e1d84e5c124/configure > configure-cmake` * Add `--disable-shared-libs` parameter. * Unix-friendly script prologue. * Update README.md
jneb f62cd2bc 2016-12-20T14:41:47 brotlidump.py: disassemble brotli file (revisited) (#314) * Create brotlidump.py Sorry, I am a newbie. I couldn't find my file anymore when I wanted to edit it. Hope I don't waste your time. * Fixed a bug where it couldn't read its own compression. The problem was that a prefix code ending with a 16 "repeat" didn't realize the table was full already. Also minor bug fixes, comments and stuff. * Major refactoring Rewrote almost everything. Now can dump its own compression. * Now more or less complete Appears to handle all files completely (including metablock data). Used as inspiration for the the hex example (see makehexexample.py)
Alex Nicksay 89a5b6e6 2016-12-20T08:40:47 Python: Simplify test suite generation by using unittest discovery (#485)
Alex Nicksay 6f227228 2016-12-12T04:28:44 Python: Use a temporary directory for generated files in tests (#481)
Alex Nicksay 4651f7c0 2016-12-12T04:28:15 Python: Format bro.py with yapf (#480)
Eugene Kliuchnikov 0ee41613 2016-12-12T10:27:13 Update python brotli wrapper (#479) * Update python brotli wrapper * release GIL on CPU intensive blocks, fixes #476 * use BrotliDecoderTakeOutput (less memory, less memcpy) * Python: Convert bro.py tests to unittest style (#478) * Create unittest-style tests for `bro.py` decompression and compression * Delete old tests for `bro.py` * Update test method generation to properly create a Cartesian product of iterables using `itertools.product` * Update python brotli wrapper * release GIL on CPU intensive blocks, fixes #476 * use BrotliDecoderTakeOutput (less memory, less memcpy)
Alex Nicksay 4a60128c 2016-12-09T07:44:05 Python: Convert bro.py tests to unittest style (#478) * Create unittest-style tests for `bro.py` decompression and compression * Delete old tests for `bro.py` * Update test method generation to properly create a Cartesian product of iterables using `itertools.product`
Frank Denis 50bc3a71 2016-12-09T08:58:13 Do not assume that bash is installed in /bin (#477) This is required in order to run the tests on *BSD.
Eugene Kliuchnikov ccabf811 2016-12-08T12:55:18 Added fuzzer and updated decoder (#475) * log dictionary usage * remove dead assignment * added fuzzer for https://github.com/google/oss-fuzz * added standalone test for fuzzer
Eugene Kliuchnikov 222564a9 2016-12-02T13:32:20 Fix encoder (#472) * fix undefined behavior introduced with PR #468
Piotr Sikora 6a4bf439 2016-12-02T00:52:54 Fix build with -Wconditional-uninitialized. (#471) Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Eugene Kliuchnikov 396309a5 2016-11-30T13:36:20 Update (#470) * condense generated `static_dict_lut.h` * implement BrotliInputStream.close()
Eugene Kliuchnikov 5db62dcc 2016-11-09T14:04:09 Fixes: (#468) * fix slow-down after a long copy (q10-11) * more thorough hashing for long ranges (q10-11) * minor documentation fixes * bazel.io -> bazel.build
Alex Nicksay 1e5ea6ae 2016-11-09T06:21:13 Python: Add unit tests for brotli.compress and brotli.decompress (#467) Also - rename `test_utils` to `_test_utils` - refactor shared code into `_test_utils`
Evan Nemerson 12750768 2016-11-02T06:03:06 bro: check return values of chown and chmod (#465) Apparently some libc versions declare chown with the warn_unused_result attribute, which is enabled by default.
Evan Nemerson 6c470098 2016-11-01T02:03:29 FInishing touches for installing libbrotli with CMake (#464) * build: fix bundled mode + BUILD_SHARED_LIBS * cmake: add soversion information * cmake: generate pkg-config file
Eugene Kliuchnikov e9b278ac 2016-10-31T14:33:59 Update docs and add more java tests (#463) * doxygenize and update API documentation * fix spelling * add "fuzz" corpus for java decoder to improve coverage * use upper-case-snake names for dictionary constant definitions * use `LDFLAGS` in conventional `Makefile`
Alex Nicksay a260b6ba 2016-10-31T08:24:01 Python: Add tests for streamed compression (#458) Progress on #191
Alex Nicksay 92037654 2016-10-31T07:58:45 Python: Use "build" instead of "build_ext" in scripts (#460) Previously, the Python package consisted of a single extension module, so `build_ext` was sufficient. Now, the package contains a native module and an extension module, so both `build_py` and `build_ext` are required. Instead, run `build`, which calls both `build_py` and `build_ext` automatically.
Alex Nicksay 1a8ee40d 2016-10-27T08:25:05 Python: Run Appveyor tests in CMD mode (#461) Any command executed in PowerShell mode that writes to `stderr` is treated as failing. To avoid this problem, run tests in CMD mode instead.
Mo DeJong 3b9d4a22 2016-10-27T08:21:12 enable rbit instruction for arm64 (#459)
Eugene Kliuchnikov 4e157c40 2016-10-25T16:02:05 Update API (#457) * explicitly define `BROTLI_BOOL` to be `int` * add `BROTLI_` prefix to `MAKE_UINT64_T` macros * replace `true`/`false`/`1`/`0` mentions with `BROTLI_TRUE`/`FALSE` * add `BrotliEncoderSetParameter` documentation * add explicit caution to `BrotliEncoderMaxCompressedSize` * fix formatting in `port.h`
Alex Nicksay afb12727 2016-10-25T04:19:29 Python: Publicly expose the Compressor object in the Python API (#456) Progress on #191
Alex Nicksay 5632315d 2016-10-24T07:28:56 Python: Support streamed compression with the Compressor object (#448) This adds `flush` and `finish` methods to the `Compressor` object in the extension module, renames the `compress` method to `process`, and updates that method to only process data. Now, one or more `process` calls followed by a `finish` call will be equivalent to a module-level `compress` call. Note: To maximize the compression efficiency (and match underlying Brotli behavior, the `Compressor` object `process` method does not guarantee all input is immediately written to output. To ensure immediate output, call `flush` to manually flush the compression buffer. Extraneous flushing can increase the size, but may be required when processing streaming data. Progress on #191
Eugene Kliuchnikov 678f8627 2016-10-20T14:16:00 Fix OSX gcc-4.x compilation (#455) Fix OSX gcc-4.x compilation
Eugene Kliuchnikov b1db6f14 2016-10-19T16:27:57 Fix `-Wcast-align` warnings
Eugene Kliuchnikov 74147a1a 2016-10-19T22:27:45 Merge pull request #454 from fred-wang/brotli-readme Fix build instructions for cmake
Frédéric Wang 82c297f3 2016-10-19T21:42:41 Fix build instructions for cmake
Eugene Kliuchnikov 058a113d 2016-10-19T20:03:43 Merge pull request #451 from eustas/flush Fix "take output" flush workflow.
Eugene Kliuchnikov 8bcaabb0 2016-10-19T16:19:26 Fix "take output" flush workflow.
Eugene Kliuchnikov 1b364aeb 2016-10-18T20:52:04 Merge pull request #450 from eustas/master Build shared libraries by default
Eugene Kliuchnikov b93cb698 2016-10-18T17:14:49 * leave static compilation declaration intouch (e.g. Python build)
Eugene Kliuchnikov f5ba0b6c 2016-10-18T16:56:39 (compress_fragment_two_pass)
Eugene Kliuchnikov 69982c25 2016-10-18T16:45:32 Build shared libraries by default * Declare `BUILD_SHARED_LIBS` option for CMake * Define `${LIB}_SHARED_COMPILATION` when compiling shared library * Define and use BROTLI_xxx_API * Fix remaining unprefixed defines in port.h
Eugene Kliuchnikov 0781cb10 2016-10-18T15:29:39 Merge pull request #449 from eustas/master Fix POM files sources paths
Eugene Kliuchnikov d18c7369 2016-10-18T15:28:43 Fix POM files sources paths * also add javadocs and sources generation
Eugene Kliuchnikov 2d441179 2016-10-18T10:31:05 Merge pull request #446 from nicksay/py-3-compressor-object Python: Create an extension Compressor object
Eugene Kliuchnikov 606a70b7 2016-10-18T10:28:28 Merge pull request #447 from nicksay/py-yapf Python: Update README with information about code formatting
Eugene Kliuchnikov 81962c38 2016-10-18T10:27:22 Merge pull request #444 from eustas/master Eliminate more magic constants.
Alex Nicksay b04f4ea1 2016-10-17T13:00:14 Python: Update README with information about code formatting Also, add a `yapf` section to `setup.cfg` to ensure YAPF runs format code with the Google style.
Alex Nicksay 595a5246 2016-09-29T15:14:16 Python: Create an extension Compressor object - Create a `Compressor` object in the extension module - Move the `compress` method into the native module and use the new `Compressor` object to do the compression Note: This does not change the module-level Python API. The `Compressor` object will not be publicly exposed until its methods have stabilized.
Eugene Kliuchnikov d60aa231 2016-10-17T17:40:32 Merge pull request #443 from nicksay/py-2-package-structure Python: Create native brotli module and move extension to _brotli
Eugene Kliuchnikov 9521d968 2016-10-17T17:33:12 Eliminate more magic constants. Author: Ivan Nikulin
Eugene Kliuchnikov 4219fece 2016-10-17T15:44:39 Merge pull request #424 from mdejong/master check for __ARM64_ARCH_8__ in dec/port.h so that arm64 arch under cla…
Alex Nicksay f7b5b3dc 2016-09-28T17:26:00 Python: Create native brotli module and move extension to _brotli
Eugene Kliuchnikov 541dd651 2016-10-17T14:31:42 Merge pull request #435 from nicksay/py-1-cleanup-setup Python: Clean up setup.py file
Eugene Kliuchnikov d767ab9e 2016-10-17T14:29:38 Merge pull request #439 from fred-wang/remove-underscore Remove the underscore in the name of brotli libraries. #326
Eugene Kliuchnikov bc658c25 2016-10-17T14:20:40 Merge pull request #440 from fred-wang/cmake CMake: Also add ARCHIVE DESTINATION for non-WIN32
Eugene Kliuchnikov 54dc9b0c 2016-10-17T14:19:33 Merge pull request #441 from fred-wang/readme Add some basic build instructions in the README.md #166
Eugene Kliuchnikov 616ed51e 2016-10-17T14:17:57 Merge pull request #442 from eustas/master Add Java port of Brotli decoder.
Eugene Kliuchnikov 5025365d 2016-10-17T14:04:59 Add Java port of Brotli decoder.
Frédéric Wang 8db7411b 2016-10-12T21:58:34 Add some basic build instructions in the README.md #166
Frédéric Wang 1c777660 2016-10-12T21:17:23 CMake: Also add ARCHIVE DESTINATION for non-WIN32
Frédéric Wang ed2748ab 2016-10-12T18:23:34 Remove the underscore in the name of brotli libraries. #326
Alex Nicksay 6f55ee60 2016-09-28T15:19:49 Python: Clean up setup.py file
Eugene Kliuchnikov 85817beb 2016-10-12T18:40:37 Merge pull request #437 from fred-wang/cmake-include Also install the brotli headers when building the shared libraries. #326
Frédéric Wang 9389876e 2016-10-12T16:58:03 Add ARCHIVE destination for Windows.
Frédéric Wang c41962f0 2016-10-12T16:11:51 Use install directories provided by GNUInstallDirs.
Eugene Kliuchnikov 6244e690 2016-10-12T16:31:19 Merge pull request #438 from google/eustas-fix-osx Use system version of compiler with macpython
Eugene Kliuchnikov db4cfc12 2016-10-12T15:08:41 Use system version of compiler with macpython
Frédéric Wang 82536d2b 2016-10-12T14:53:02 Also install the libraries and headers when building static libraries.
Frédéric Wang cd8153a1 2016-10-12T14:32:36 Do not install the public headers on WIN32. #326
Frédéric Wang 93933405 2016-10-07T22:50:47 Actually use BROTLI_INCLUDE_DIRS to get the path to headers.
Frédéric Wang 89a77a94 2016-10-07T22:24:34 Also install the brotli headers when building the shared libraries. #326
Eugene Kliuchnikov a9f2344f 2016-09-22T12:38:33 Merge pull request #434 from eustas/master Update research
Eugene Kliuchnikov dd8fa3e8 2016-09-22T11:32:23 Update research * don't use `assert` when side-effect is desired * use `gflags` to pick options from args Other changes: * teach stub `Makefile` to do partial rebuild * remove obsolete `tools/version.h`
Eugene Kliuchnikov 25444e88 2016-09-21T19:25:04 Merge pull request #433 from eustas/master Update encoder