dec/bit_reader.h


Log

Author Commit Date CI Message
Eugene Kliuchnikov e7e38498 2016-04-19T16:29:10 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
Eugene Kliuchnikov 70a36be5 2016-04-19T16:26:30 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
Eugene Kliuchnikov 23934731 2016-02-18T15:03:44 Update decoder: * 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
Eugene Kliuchnikov 92e30239 2016-01-22T10:19:41 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
Eugene Klyuchnikov 24ffa784 2015-12-11T11:11:51 Fix headers
Eugene Klyuchnikov 771eb107 2015-11-27T11:27:11 Update license statement in source files.
Eugene Klyuchnikov 152e33c3 2015-11-17T13:45:41 Add more explicit type conversions. Remove dead code. Fix includes.
Eugene Klyuchnikov c0ba6d6f 2015-11-06T11:46:04 Brotli decoder: implement new streaming API
Zoltan Szabadka bacc7349 2015-10-05T10:23:32 Fix some more compiler warnings in the decoder.
Zoltan Szabadka 9ceff037 2015-10-02T16:43:47 Add more build parameters.
Zoltan Szabadka e44caf98 2015-09-25T17:57:19 Introduce a BROTLI_BUILD_PORTABLE macro to disable potentially dangerous optimizations.
Zoltan Szabadka 0cf3a544 2015-09-24T18:35:25 Update brotli decoder with latest improvements.
Zoltan Szabadka a7cedfc2 2015-09-23T12:24:06 Update brotli decoder with latest improvements.
Lode Vandevenne db71549a 2015-08-28T15:20:24 update brotli decoder with latest improvements
Lode Vandevenne fee303fd 2015-08-10T14:18:37 fix brotli decoder MSVC compilation error
Lode Vandevenne 94cd7085 2015-08-10T13:35:23 brotli decoder performance improvements
Lode Vandevenne bad0f4ed 2015-06-26T17:37:00 Brotli Bug Fixes
Zoltan Szabadka b43df8f6 2015-06-12T15:43:54 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.
Zoltan Szabadka 641bc158 2015-06-12T15:12:23 Speedups and fixes to the decoder. * Read data by 4-byte runs. This resolves unaligned read (Bus error) on arm-android. * Get rid of malloc/free in BrotliBuildHuffmanTable. * Tweak order of instructions when reading Huffman codes.
Zoltan Szabadka bef6938a 2015-05-07T20:36:35 Restrict the ARM optimizations to little endian architectures.
Zoltan Szabadka f3e71e44 2015-05-07T19:45:21 Fix 32bit build.
Zoltan Szabadka 5f39d607 2015-05-07T17:10:27 Decoder optimizations for ARM architecture.
Zoltan Szabadka 83aa24dc 2015-05-07T16:53:43 Speed and memory usage improvements for the decoder. * Change order of members of bit reader state structure. * Remove unused includes for assert. Add BROTLI_DCHECK macros and use it instead of assert. * Do not calculate nbits in common case of ReadSymbol. * Introduce and use PREDICT_TRUE / PREDICT_FALSE macros. * Allocate less memory in the brotli decoder if it knows the result size beforehand. Before this, the decoder would always allocate 16MB if the encoder annotated the window size as 22 bit (which is the default), even if the file is only a few KB uncompressed. Now, it'll only allocate a ringbuffer as large as needed for the result file. But only if it can know the filesize, it's not possible to know that if there are multiple metablocks or too large uncompressed metablock.
Lode Vandevenne 8270250b 2015-03-20T16:13:15 support for partial input (streaming)
Lode Vandevenne 81cb09f1 2015-03-20T15:44:15 separate the licenses from documentation
Zoltan Szabadka 6da0c5c9 2015-02-25T13:32:17 Implement a 32-bit bitstream decoder. The 64-bit bitstream decoder seems to have portability problems with emscripten/asm.js as it does not compile into working code.
Zoltan Szabadka 4278934e 2014-11-26T10:37:33 Fix undefined behavior in decoder. Use memmove() for copying overlapping buffers.
Zoltan Szabadka 0454ab4e 2014-02-14T15:04:23 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.
Zoltan Szabadka d01c71c4 2014-01-08T12:34:35 Fix -Wconversion compiler warnings in the brotli decoder.
Zoltan Szabadka b8a10085 2013-12-16T14:45:57 Use C-style comments in the brotli decoder.
Zoltan Szabadka 354349d7 2013-12-13T10:39:46 Fix Microsoft VisualStudio build of brotli - Move all variable declarations to the beginning of the block - #ifdef-out read/write calls
Zoltan Szabadka 60c24c0c 2013-12-12T13:18:04 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: * Updated spec * Changed Huffman code length alphabet to use run length codes more efficiently, based on a suggestion by Robert Obryk * Changed encoding of the number of Huffman code lengths (HLEN) * Changed encoding of the number of Huffman trees (NTREES) * Added support for uncompressed meta-blocks
Zoltan Szabadka c6b9c7c5 2013-11-15T19:02:17 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.
Zoltan Szabadka 8f30907d 2013-10-11T10:26:07 Add brotli decompressor This commit is for the decoder for brotli compression format. Brotli is a generic byte-level compression algorithm.