|
755b9094
|
2016-05-31T15:40:59
|
|
Update decoder
* More discreet trivial literal context detection
* Make total_out parameter nullable
* More strict stream validity check
* Added BrotliErrorString
|
|
021f6fe3
|
2016-05-11T15:23:07
|
|
Update decoder:
* Added BrotliGetErrorCode
* fixed check of padding bits after last block
|
|
043a99e0
|
2016-04-29T13:44:16
|
|
Update decoder:
* make InverseMoveToFrontTransform more standards compliant
* simplify BrotliCalculateRingBufferSize
|
|
ab858a9f
|
2016-04-27T16:52:24
|
|
Limit |size| in BrotliSetCustomDictionary
|
|
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
|
|
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
|
|
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
|
|
68f5bbda
|
2016-02-04T15:42:53
|
|
Update decode.c
|
|
37a320dd
|
2016-02-04T15:35:44
|
|
Fix possible pointer underflow
|
|
ee9464e3
|
2016-01-28T16:32:38
|
|
Remove NO_ASAN annotation
|
|
02c606d4
|
2016-01-28T16:28:36
|
|
Make memmove16 safe.
|
|
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
|
|
24ffa784
|
2015-12-11T11:11:51
|
|
Fix headers
|
|
771eb107
|
2015-11-27T11:27:11
|
|
Update license statement in source files.
|
|
b6938122
|
2015-11-23T10:21:09
|
|
Decoder: implement custom allocator feature
Drive-by: conform stricter compilation flags; cleanup shared.mk
|
|
65b4baf0
|
2015-11-07T11:52:13
|
|
Fix implicit type conversion
|
|
c0ba6d6f
|
2015-11-06T11:46:04
|
|
Brotli decoder: implement new streaming API
|
|
b9e413fa
|
2015-10-26T21:20:22
|
|
Make internal decoder functions static
Affected functions: WriteRingBuffer, CopyUncompressedBlockToOutput,
BrotliAllocateRingBuffer
|
|
bacc7349
|
2015-10-05T10:23:32
|
|
Fix some more compiler warnings in the decoder.
|
|
d3eb6ecb
|
2015-10-02T16:19:30
|
|
Add BROTLI_FREE macro, check malloc status after histogram allocations.
|
|
03c4ab59
|
2015-09-28T12:40:39
|
|
Simplify uncompressed block decoding state machine.
|
|
59197129
|
2015-09-28T12:38:29
|
|
Avoid undefined behavior from memcpy for the portable build.
|
|
3cd3a106
|
2015-09-28T12:34:40
|
|
Small speedup of command decoding.
|
|
85301238
|
2015-09-25T17:43:54
|
|
Fix a bug in CopyUncompressedBlockToOutput().
|
|
b04f6248
|
2015-09-25T12:05:39
|
|
Fix a bug in uncompressed block handling.
|
|
0cf3a544
|
2015-09-24T18:35:25
|
|
Update brotli decoder with latest improvements.
|
|
1216684d
|
2015-09-23T12:26:07
|
|
Merge remote-tracking branch 'upstream/master'
|
|
a7cedfc2
|
2015-09-23T12:24:06
|
|
Update brotli decoder with latest improvements.
|
|
21ac39f7
|
2015-09-21T21:04:07
|
|
Fix typos.
|
|
127aa48a
|
2015-09-01T12:18:22
|
|
Fix bug in decoder.
Minor cleanup.
|
|
db71549a
|
2015-08-28T15:20:24
|
|
update brotli decoder with latest improvements
|
|
944c3b82
|
2015-08-11T11:07:26
|
|
Remove non-standard <malloc.h> from decode.c
The already included <stdlib.h> is enough for the malloc/free calls.
|
|
4b2fd00e
|
2015-08-10T16:39:50
|
|
Use a single lookup table for insert/copy offsets and extra bits.
Remove safe_malloc.c since all the bounds checking is done inside
decode.c now.
|
|
94cd7085
|
2015-08-10T13:35:23
|
|
brotli decoder performance improvements
|
|
bad0f4ed
|
2015-06-26T17:37:00
|
|
Brotli Bug Fixes
|
|
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.
|
|
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.
|
|
54f69c9e
|
2015-05-07T17:44:33
|
|
Support window bits 10 - 15 in the decoder.
The previous window bit value 17 is used to
extend the range, since it has not been used
in any previous encoders.
|
|
5f39d607
|
2015-05-07T17:10:27
|
|
Decoder optimizations for ARM architecture.
|
|
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.
|
|
fe14d7b3
|
2015-04-28T10:07:12
|
|
Fix an error propagation bug in the decoder.
|
|
64c26111
|
2015-04-22T17:33:21
|
|
Add partial output support to the decoder.
|
|
28b1f7a6
|
2015-04-22T14:35:21
|
|
Implement some stricter format checks in the decoder.
- Reject brotli streams where the number of
nibbles is too large for the size of the
meta-block
- Reject brotli streams where the padding
bits after a meta-block are not all zero
- Reject brotli streams where the symbol
in the simple prefix code is not in
the symbol alphabet
|
|
a81f2ef4
|
2015-04-22T14:25:08
|
|
Decoder support for new empty meta-block format.
This change enforces the new 16MB limit on the
size of the meta-blocks and adds support for
empty meta-blocks with optional ignored metadata.
|
|
2a7bbfc5
|
2015-04-01T16:23:18
|
|
Update the previous two bytes when decoding an
uncompressed metablock.
|
|
fac8993b
|
2015-04-01T16:20:16
|
|
Add a missing state transition to CopyUncompressedBlockToOutput().
|
|
fe6e5d1c
|
2015-04-01T16:15:39
|
|
Faster decoder for data with trivial context maps.
This makes it 20% faster when decoding data with
trivial context map (where the histogram type
depends only on the block type and not the
context).
|
|
f9e5a2d9
|
2015-03-30T18:00:40
|
|
bugfixes affecting streaming decoding
|
|
8f3092a0
|
2015-03-30T13:39:20
|
|
Add some missing state transitions to DecodeContextMap().
Update the states in DecodeContextMap to the next one,
else it would continue at the wrong spot if exactly there
the partial input is split.
|
|
c5ccd0df
|
2015-03-27T13:54:43
|
|
Change the return value of decoder functions from integer codes to an enum.
|
|
85abce6c
|
2015-03-26T17:40:07
|
|
Propagate error condition from ReadHuffmanCodeLengths()
|
|
b1422079
|
2015-03-20T17:03:11
|
|
a few more tweaks to the streaming support
|
|
8270250b
|
2015-03-20T16:13:15
|
|
support for partial input (streaming)
|
|
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.
|
|
68d63f59
|
2015-02-24T11:22:29
|
|
Fix a sign-conversion warning in the decoder.
|
|
65d655da
|
2015-02-24T17:48:26
|
|
Compile decoder with -Wall flag
This also fixes two "comparison between signed and unsigned" warnings.
|
|
4278934e
|
2014-11-26T10:37:33
|
|
Fix undefined behavior in decoder.
Use memmove() for copying overlapping buffers.
|
|
460dda1b
|
2014-10-28T13:57:46
|
|
Decoder code cleanup.
1) Use a tighter upper bound on the Huffman table size.
2) Remove unused argument len in ToUpperCase.
3) Remove unused no-op assignment in BrotliDecompress.
4) Fix include guard name.
|
|
79d2b89d
|
2014-10-15T13:41:00
|
|
Fix BrotliDecompressedSize() to work for an uncompressed plus an empty meta-block.
|
|
34778194
|
2014-03-25T16:48:25
|
|
Update the dictionary and the transforms.
|
|
e7650080
|
2014-03-20T14:32:35
|
|
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:
* Format change: don't push distances representing static dictionary words to the distance cache.
* Fix decoder invalid memory access bug caused by building a non-complete Huffman tree.
* Add a mode parameter to the encoder interface.
* Use different hashers for text and font mode.
* Add a heuristics to the hasher for skipping non-compressible data.
* Exhaustive search of static dictionary during backward reference search.
|
|
cddab4ad
|
2014-03-06T17:25:43
|
|
Enable the static dictionary in the Brotli decoder.
|
|
2f268ad1
|
2014-02-17T14:25:36
|
|
Add the initial version of the static dictionary and transforms to Brotli.
|
|
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.
|
|
d01c71c4
|
2014-01-08T12:34:35
|
|
Fix -Wconversion compiler warnings in the brotli decoder.
|
|
2bcd58bb
|
2014-01-08T12:28:28
|
|
Brotli format change: small improvement to the encoding of Huffman codes
Combine the HSKIP and the simple/complex Huffman code type bits.
|
|
d762bc68
|
2014-01-06T16:01:57
|
|
Bug fixes for the brotli encoder and decoder.
|
|
1447345c
|
2013-12-17T17:17:57
|
|
Brotli format change: improved encoding of Huffman codes
This change removes the redundant HCLEN, HLENINC and HLEN
fields from the encoding of the complex Huffman codes and
derives these from an invariant of the code length sequence.
Based on a patch by Robert Obryk.
|
|
b8a10085
|
2013-12-16T14:45:57
|
|
Use C-style comments in the brotli decoder.
|
|
29bb7cb1
|
2013-12-13T15:30:20
|
|
Fix Microsoft VisualStudio 64-bit build of brotli
|
|
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
|
|
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
|
|
8d7081f2
|
2013-11-28T17:37:13
|
|
Add draft specification of the brotli format
|
|
1cdcbd85
|
2013-11-19T14:32:56
|
|
Added Brotli compress/decompress utilities and makefiles
|
|
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.
|
|
64555221
|
2013-10-22T15:02:54
|
|
Make the brotli decoder more C90-compatible.
(1) Move all variable declarations to the beginning of the block.
(2) Remove 'z' printf modifiers.
(3) Fix 'comma at the end of enumeration list' warning.
|
|
e0346c82
|
2013-10-17T12:41:36
|
|
Fix name collisions with libwebp.
Prefix all externally visible function names with Brotli and
make all other functions static.
|
|
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.
|