Commit Graph

1085 Commits

Author SHA1 Message Date
Janek
58f5c37f3b Python: Decompressor: Streaming decompression support (#546)
python-brotli has Compressor for streaming compression but nothing for
streaming decompression.
This is a straight-forward copy of the Compressor code into the new
class Decompressor.
2017-06-28 16:32:28 +02:00
Eugene Kliuchnikov
efdff3f14e Fix linux-bazel build (#566)
Install bazel via apt-source
2017-06-22 11:38:49 +02:00
Eugene Kliuchnikov
e51eae564f Update .travis.yml 2017-06-22 10:58:13 +02:00
Dominik Homberger
a423b33a77 Update Related projects (#565)
Add BrotliHaxe
2017-06-22 10:07:07 +02:00
Eugene Kliuchnikov
a4d2956ded Update wrappers (#564)
* golang: add build information via `cgo.go`
* golang: fix lgwin parameter behavior
* Java: add proguard configuration
2017-06-21 10:59:38 +02:00
Elouan Martinet
00cacfdff6 Fix compilation issue with BROTLI_ALLOC macro using GCC 7 (-Wint-in-bool-context) (#562) 2017-06-17 15:22:07 +02:00
Eugene Kliuchnikov
05d5f3d77a Update (#560)
Update:
 * add decoder API to avoid ringbuffer reallocation
 * fix MSVC warnings
 * remove dead code
2017-06-13 12:52:56 +02:00
Eugene Kliuchnikov
0fceb906ec Fix bazel go build (#558) 2017-06-07 12:47:48 +02:00
Mike Tzou
31d0629b1d Readme improvements (#557)
* [README] Use tools.ietf.org for displaying RFC7932

tools.ietf.org has HTML links which is helpful when reading
in browser

* [README] Add appveyor badge
2017-06-06 17:58:46 +03:00
Eugene Kliuchnikov
19dc934e39 Add JNI wrappers. (#556) 2017-06-01 13:51:18 +02:00
Eugene Kliuchnikov
03739d2b11 Update (#555)
Update:
 * new CLI; bro -> brotli; + man page
 * JNI wrappers preparation (for bazel build)
 * add raw binary dictionary representation `dictionary.bin`
 * add ability to side-load brotli RFC dictionary
 * decoder persists last error now
 * fix `BrotliDecoderDecompress` documentation
 * go reader don't block until necessary
 * more consistent bazel target names
 * Java dictionary data compiled footprint reduced
 * Java tests refactoring
2017-05-29 17:55:14 +02:00
Eugene Kliuchnikov
2c001010aa Unify artifact installation (#544) 2017-05-24 17:19:34 +02:00
Eugene Kliuchnikov
0a84e9bf86 Transpile Java speedup (#548) 2017-05-07 17:40:12 +02:00
Eugene Kliuchnikov
4363f2d74b Speedup Java decoder. (#547)
* geo corpus decodes ~5% faster
 * fetchlogs corpus decodes ~25% faster
2017-05-07 17:13:03 +02:00
Stefan Bodewig
a015b42683 turn java library into an OSGi bundle (#545) 2017-05-04 20:27:42 +02:00
Eugene Kliuchnikov
d00ccae57f Split auto-CMake and plain CMake build manual 2017-04-28 13:16:59 +02:00
Eugene Kliuchnikov
6ece1d8791 Move files & update paths (#541)
* Move files & update paths

* Rename build to scripts.

* Fix paths

* Fix script.
2017-04-23 14:07:08 +02:00
Eugene Kliuchnikov
04de756ad2 Simplify go brotli wrapper. (#540)
Based on PR #533.

Kudos to Bryan (bcmillis@).
2017-04-13 20:05:36 +02:00
Eugene Kliuchnikov
f2aa4d1e8c Add C# transpilation script. (#538) 2017-04-10 21:16:08 +02:00
Eugene Kliuchnikov
66e798d46a Update API to v1.0.0 (#537)
Make Java decoder fully transpilable to C#.
2017-04-10 15:39:00 +02:00
Eugene Kliuchnikov
46c1a881b4 Pull down version for v0.6.0 release 2017-04-10 10:42:24 +02:00
Eugene Kliuchnikov
21c118ba77 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
2017-04-05 18:50:01 +02:00
Eugene Kliuchnikov
e12a7a2d28 Add Brotli logo to README head (#535) 2017-04-04 13:21:36 +02:00
Eugene Kliuchnikov
7a09531f69 Cleanup 2017-03-30 16:50:06 +02:00
Eugene Kliuchnikov
e5b7c16b98 Same file name is not permitted overall! (#532) 2017-03-24 14:49:02 +01:00
Eugene Kliuchnikov
e77799b084 Fix bintray release structure (#531)
Same file name is not allowed across packages in one version.
2017-03-24 14:31:30 +01:00
Eugene Kliuchnikov
51d6780b04 Actually publich artifacts to Bintray (#530) 2017-03-24 13:40:30 +01:00
Eugene Kliuchnikov
6715130c24 Fix bintray json (#529) 2017-03-24 13:03:16 +01:00
Eugene Kliuchnikov
187904a4b8 Upload binaries to bintray (#528) 2017-03-24 12:54:20 +01:00
Eugene Kliuchnikov
29ad4db47d Break build on sha256sum mismatch (#527) 2017-03-23 16:23:57 +01:00
Eugene Kliuchnikov
22421ebe30 Bazel build on linux/osx (#526) 2017-03-23 13:35:53 +01:00
Eugene Kliuchnikov
ee5c719057 Build and test java decoder with Maven 2017-03-22 19:13:59 +01:00
Eugene Kliuchnikov
a657d9969d Add go wrapper, streamline java decoder: (#524)
* add (c)brotli golang wrapper
 * remove (language-specific) enums in java decoder
2017-03-22 12:41:19 +01:00
Eugene Kliuchnikov
8a06e02935 Better compression (#523)
Better compression:
 * use more complex content modeling on 1MiB+ files
2017-03-21 16:08:23 +01:00
Eugene Kliuchnikov
1ff78b877f Prevent fuzzer timeouts on compression-bomb samples (#522)
* Prevent fuzzer timeouts on compression-bomb samples.

* Fix fuzzer lanucher
2017-03-10 16:01:49 +01:00
Eugene Kliuchnikov
52ce8670eb Fix typos (#521) 2017-03-09 17:34:16 +01:00
Eugene Kliuchnikov
cdca91b6f5 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`
2017-03-06 14:22:45 +01:00
Ian Duncan
aaa4424d9b Fix CMakeLists.txt specifying a nonexistent pkgconfig package (#518) 2017-03-01 16:19:57 +01:00
Eugene Kliuchnikov
c931e576d2 Move java/ to java/org/brotli/ to fix sources.jar structure (#517)
Also added man pages to `docs/`
2017-02-28 16:59:52 +01:00
Eugene Kliuchnikov
aaac88a1e0 Switch to 0.2.0-SNAPSHOT (#515) 2017-02-20 16:16:45 +01:00
Eugene Kliuchnikov
527db7af8c Release org.brotli.* 0.1.0 (#514) 2017-02-20 15:51:48 +01:00
Eugene Kliuchnikov
56a7fda830 Java: fix typos and adjust visibility. (#513) 2017-02-20 14:04:55 +01:00
Evan Nemerson
d03c38da7f 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
2017-02-19 10:06:13 +01:00
Eugene Kliuchnikov
53366083e0 Prepare org.brotli.dec for deployment. (#512) 2017-02-17 15:39:34 +01:00
Eugene Kliuchnikov
9fa1ad5a91 Fix "zero-distance-code", take 2 (#506) 2017-02-08 21:14:01 +01:00
Eugene Kliuchnikov
0749d9ca8b 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
2017-02-07 15:35:03 +01:00
Eugene Kliuchnikov
11df843cf0 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)
2017-02-06 14:20:43 +01:00
Eugene Kliuchnikov
8d3fdc1dfe 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
2017-01-26 11:32:18 +01:00
Eugene Kliuchnikov
7e347a7c84 Update encoder (#492)
* fix comment position in `context.h`
 * fix typo in internal quality constant name
 * deduplicate `BuildMetaBlockGreedy` code
 * simplify aggregation in `ChooseContextMap`
2016-12-22 15:55:05 +01:00
Eugene Kliuchnikov
27d94590a2 Research (#491)
* add advanced mode for optimal references generator
 * fix #489

Thanks to Ivan Nikulin for working on it.
2016-12-22 13:03:28 +01:00