Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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
|
|
|
|
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`
|
|
|
|
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
|
|
* log dictionary usage
* remove dead assignment
* added fuzzer for https://github.com/google/oss-fuzz
* added standalone test for fuzzer
|
|
* 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`
|
|
|
|
|
|
* 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
|
|
Author: Ivan Nikulin
|
|
check for __ARM64_ARCH_8__ in dec/port.h so that arm64 arch under cla…
|
|
* move `common/port.h` to `includes/port.h`
* replace magic more magic numbers with constants
* artificially limit window size to 2^18 for quality 0 and 1
* use fixed shifts for quality 0 and 1 hashes
* removed `BrotliEncoderWriteMetadata`
* added `BROTLI_OPERATION_EMIT_METADATA` instead
* deprecated low-level API
* fixed MSVC warnings
|
|
* use BROTLI_MAX_DISTANCE_BITS instead of magic constant
* introduce BROTLI_DEPRECATED
* move BROTLI_RESTRICT to common/port.h
* promote reg_t to dec/port.h
* remove deprecated decoder API
* more optimistic ring-buffer allocation
* fix MSVC warnings
* fix (not tested) for ARM 64-bit RBIT
|
|
detected, check for __ARM_ARCH being exactly equal to 7 so that arm64 arch does not define BROTLI_TARGET_ARMV7
|
|
|
|
|
|
* add Brotli*TakeOutput methods
* * flushing now doesn't require additional call
* add Brotli*Version methods
* moved public headers to 'public' directory
* removed C++ API
* do not assume STDC_VERSION is defined
|
|
|
|
|
|
* replace prefix Brotli -> BrotliDecoder
* add HasMoreOutput
* make instance pointer the first argument
* use boolean instead of int
|
|
|
|
There are currently 3 ways to build:
* Easy: `./configure; make`
* Simple: use Bazel
* Portable: use premake5 to generate XCode / MSVS projects
|
|
|
|
Merge upstream changes
|
|
|
|
|
|
BrotliErrorString is an utility method. It is used in very specific cases -> should not be included in library.
MSVC doesn't allow "inline" for C code...
|
|
* More discreet trivial literal context detection
* Make total_out parameter nullable
* More strict stream validity check
* Added BrotliErrorString
|
|
|
|
* Added BrotliGetErrorCode
* fixed check of padding bits after last block
|
|
* make InverseMoveToFrontTransform more standards compliant
* simplify BrotliCalculateRingBufferSize
|
|
|
|
* condense printf in port.h; use BROTLI_LOG everywhere
* mark non-exported functions with BROTLI_INTERNAL
* use BROTLI_DUMP instead of (void)(BROTLI_FAILURE())
* fix problems with CustomDictionary
* make decode.h independent of state.h
* fix "double-new-lines"
* fix some strict compilation warnings
* fix bro.cc compilation for MSVS
* added compressor.h as a replacement for encode.h + streams.h
|
|
BROTLI_HAS_UBFX to force C compilers to interpret them as booleans and avoid constant-logical-operand warnings.
|
|
* More clear/safe "copy" command stage implementation
* Enable unaligned memory access only on whitelisted CPUs
* Remove unused streams.{c|h}
* Add "default" to all switches
* Fix includes
* Fix spacing everywhere
|
|
|
|
|
|
|
|
|
|
|
|
* Reduce memory usage
* Update API documentation
* Remove deprecated API
* Move non-API declatarions from decode.h
* Remove streams
* Add more debug logging
* Fix shift in BrotliBitReaderUnload
* Allocate ringbuffer at later stages
* Sort / fix includes
* Fix whitespaces
* Eliminate dead code
* Drive-by code simplifications
|
|
|
|
|
|
Drive-by: conform stricter compilation flags; cleanup shared.mk
|
|
Remove dead code.
Fix includes.
|
|
|
|
|
|
Affected functions: WriteRingBuffer, CopyUncompressedBlockToOutput,
BrotliAllocateRingBuffer
|
|
|