Commit Graph

28 Commits

Author SHA1 Message Date
eustas
63111b21e8 Merge pull request #367 from google/master
Merge upstream changes
2016-06-06 12:00:07 +02:00
Eugene Kliuchnikov
639fdaf62d Fix "unused function" warning. 2016-06-06 11:19:09 +02:00
Eugene Kliuchnikov
028291865d Extract common parts: constants, dictionary, etc. 2016-06-03 10:51:04 +02:00
eustas
384c595d19 Remove "inline" specification
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...
2016-05-31 16:19:59 +02:00
Eugene Kliuchnikov
755b909424 Update decoder
* More discreet trivial literal context detection
 * Make total_out parameter nullable
 * More strict stream validity check
 * Added BrotliErrorString
2016-05-31 15:40:59 +02:00
eustas
f4376d0802 Add BROTLI_LAST_ERROR_CODE definition 2016-05-20 10:22:03 +02:00
Eugene Kliuchnikov
021f6fe37d Update decoder:
* Added BrotliGetErrorCode
 * fixed check of padding bits after last block
2016-05-11 15:23:07 +02:00
Eugene Kliuchnikov
ab858a9f1e Limit |size| in BrotliSetCustomDictionary 2016-04-27 16:52:24 +02:00
Eugene Kliuchnikov
e7e3849835 Update decoder. Add encoder interface wrapper.
* 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
2016-04-19 16:29:10 +02:00
Eugene Kliuchnikov
92e3023914 Update decoder.
* 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
2016-01-22 10:19:41 +01:00
Eugene Klyuchnikov
24ffa78414 Fix headers 2015-12-11 11:11:51 +01:00
Eugene Klyuchnikov
771eb10798 Update license statement in source files. 2015-11-27 11:27:11 +01:00
Eugene Klyuchnikov
b693812271 Decoder: implement custom allocator feature
Drive-by: conform stricter compilation flags; cleanup shared.mk
2015-11-23 10:21:09 +01:00
Eugene Klyuchnikov
c0ba6d6f5e Brotli decoder: implement new streaming API 2015-11-06 11:46:04 +01:00
Zoltan Szabadka
bacc734997 Fix some more compiler warnings in the decoder. 2015-10-05 10:23:32 +02:00
Zoltan Szabadka
a7cedfc26d Update brotli decoder with latest improvements. 2015-09-23 12:24:06 +02:00
Lode Vandevenne
94cd7085f7 brotli decoder performance improvements 2015-08-10 13:35:23 +02:00
Lode Vandevenne
bad0f4edf1 Brotli Bug Fixes 2015-06-26 17:37:00 +02:00
Zoltan Szabadka
b43df8f699 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.
2015-06-12 15:43:54 +02:00
Zoltan Szabadka
64c261113f Add partial output support to the decoder. 2015-04-22 17:33:21 +02:00
Zoltan Szabadka
c5ccd0dff9 Change the return value of decoder functions from integer codes to an enum. 2015-03-27 13:54:43 +01:00
Lode Vandevenne
8270250b40 support for partial input (streaming) 2015-03-20 16:13:15 +01:00
Lode Vandevenne
81cb09f1b3 separate the licenses from documentation 2015-03-20 15:44:15 +01:00
Zoltan Szabadka
79d2b89d2d Fix BrotliDecompressedSize() to work for an uncompressed plus an empty meta-block. 2014-10-15 13:41:00 +02:00
Zoltan Szabadka
0454ab4ec0 Updates to Brotli compression format, decoder and encoder
This commit contains a batch of changes that were made to the Brotli
compression algorithm in the last month. Most important changes:

   * Fixes to the spec.
   * Change of code length code order.
   * Use a 2-level Huffman lookup table in the decoder.
   * Faster uncompressed meta-block decoding.
   * Optimized encoding of the Huffman code.
   * Detection of UTF-8 input encoding.
   * UTF-8 based literal cost modeling for improved
     backward reference selection.
2014-02-14 15:04:23 +01:00
Zoltan Szabadka
b8a1008569 Use C-style comments in the brotli decoder. 2013-12-16 14:45:57 +01:00
Zoltan Szabadka
c6b9c7c5c8 Updates to Brotli compression format, decoder and encoder
This commit contains a batch of changes that were made to the Brotli
compression algorithm in the last three weeks. Most important changes:

  * Added UTF8 context model for good text compression.
  * Simplified context modeling by having only 4 context modes.
  * Per-block context mode selection.
  * Faster backward copying and bit reading functions.
  * More efficient histogram coding.
  * Streaming support for the decoder and encoder.
2013-11-15 19:02:17 +01:00
Zoltan Szabadka
8f30907d0f Add brotli decompressor
This commit is for the decoder for brotli compression format.
Brotli is a generic byte-level compression algorithm.
2013-10-11 10:26:07 +02:00