Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* fix MSVC warnings
* cleanups
|
|
* Inverse bazel workspace tree.
Now each subproject directly depends on root (c) project.
This helps to mitigate Bazel bug bazelbuild/bazel#2391; short summary:
Bazel does not work if referenced subproject `WORKSPACE` uses any
repositories that embedding project does not.
Bright side: building C project is much faster;
no need to download closure, go and JDK...
|
|
|
|
Update
* make the zopflification aware of `NDIRECT`, `NPOSTFIX`
(better compression in `font` mode)
* add small and simple decoder tool
* fix typo
* Java: wrapper: make decoder channel more async-friendly
Ramp up version to 1.0.3 / 1.0.3
|
|
* New feature: "Large Window Brotli"
By setting special encoder/decoder flag it is now possible to extend
LZ-window up to 30 bits; though produced stream will not be RFC7932
compliant.
Added new dictionary generator - "DSH". It combines speed of "Sieve"
and quality of "DM". Plus utilities to prepare train corpora
(remove unique strings).
Improved compression ratio: now two sub-blocks could be stitched:
the last copy command could be extended to span the next sub-block.
Fixed compression ineffectiveness caused by floating numbers rounding and
wrong cost heuristic.
Other C changes:
- combined / moved `context.h` to `common`
- moved transforms to `common`
- unified some aspects of code formatting
- added an abstraction for encoder (static) dictionary
- moved default allocator/deallocator functions to `common`
brotli CLI:
- window size is auto-adjusted if not specified explicitly
Java:
- added "eager" decoding both to JNI wrapper and pure decoder
- huge speed-up of `DictionaryData` initialization
* Add dictionaryless compressed dictionary
* Fix `sources.lst`
* Fix `sources.lst` and add a note that `libtool` is also required.
* Update setup.py
* Fix `EagerStreamTest`
* Fix BUILD file
* Add missing `libdivsufsort` dependency
* Fix "unused parameter" warning.
|
|
Move from 755 to 644.
|
|
* Improve Bazel/JNI portability
* Update go and closure bazel addons
|
|
* encoder: relax backward references candidates asserts
* encoder: make RNG more platform-independent
* encoder: remove "unused" param (context mode)
* CLI: improve first-encounter experience
* Java: update SynthTest
* Java: refine proguard config
* Java/JNI: fix one-shot compression workflow
|
|
* cleanup
* fix `unbrotli` CLI
* Java retouch for faster JS decoder
|
|
Update API, and more:
* remove "custom dictionary" support
* c/encoder: fix #580: big-endian build
* Java: reduce jar size
* Java: speedup decoding
* Java: add 32-bit CPU support
* Java: make source code JS transpiler-ready
|
|
* golang: add build information via `cgo.go`
* golang: fix lgwin parameter behavior
* Java: add proguard configuration
|
|
|
|
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
|
|
* geo corpus decodes ~5% faster
* fetchlogs corpus decodes ~25% faster
|
|
|
|
Make Java decoder fully transpilable to C#.
|
|
* 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
|
|
* add (c)brotli golang wrapper
* remove (language-specific) enums in java decoder
|
|
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`
|
|
Also added man pages to `docs/`
|
|
|
|
|
|
|
|
|
|
* condense generated `static_dict_lut.h`
* implement BrotliInputStream.close()
|
|
* 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`
|
|
* also add javadocs and sources generation
|
|
|