|
9521d968
|
2016-10-17T17:33:12
|
|
Eliminate more magic constants.
Author: Ivan Nikulin
|
|
4219fece
|
2016-10-17T15:44:39
|
|
Merge pull request #424 from mdejong/master
check for __ARM64_ARCH_8__ in dec/port.h so that arm64 arch under cla…
|
|
0a63f99d
|
2016-09-21T17:20:36
|
|
Update encoder
* 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
|
|
f20b3eeb
|
2016-09-21T15:05:12
|
|
Update decoder:
* 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
|
|
214629cc
|
2016-08-30T12:35:40
|
|
check for __ARM64_ARCH_8__ in dec/port.h so that arm64 arch under clang is detected, check for __ARM_ARCH being exactly equal to 7 so that arm64 arch does not define BROTLI_TARGET_ARMV7
|
|
81480011
|
2016-08-23T14:40:33
|
|
Move "public" to "include/brotli"
|
|
5ad715e4
|
2016-08-22T18:22:19
|
|
Remove some deadcode
|
|
801f5f37
|
2016-08-22T13:28:22
|
|
* rename macros with preceding underscore
* 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
|
|
0ef4edac
|
2016-07-25T10:36:36
|
|
Do not use "static inline" for deprecated API.
|
|
d2b17196
|
2016-07-25T10:22:33
|
|
Fix DecodeContextMap
|
|
43d4f45b
|
2016-07-25T10:17:04
|
|
Update decoder API:
* replace prefix Brotli -> BrotliDecoder
* add HasMoreOutput
* make instance pointer the first argument
* use boolean instead of int
|
|
52ff8171
|
2016-06-24T15:32:51
|
|
Update build systems
|
|
378485b0
|
2016-06-16T10:52:57
|
|
Update build system. Now libraries are produced as build artifacts.
There are currently 3 ways to build:
* Easy: `./configure; make`
* Simple: use Bazel
* Portable: use premake5 to generate XCode / MSVS projects
|
|
3ccbf05d
|
2016-06-13T11:01:04
|
|
Convert encoder to plain C.
|
|
f1c9ab29
|
2016-06-03T10:51:04
|
|
Extract common parts: constants, dictionary, etc.
|
|
b972c677
|
2016-06-13T11:01:04
|
|
Convert encoder to plain C.
|
|
9bce220b
|
2016-06-10T11:06:15
|
|
Fix windows builds
|
|
63111b21
|
2016-06-06T12:00:07
|
|
Merge pull request #367 from google/master
Merge upstream changes
|
|
639fdaf6
|
2016-06-06T11:19:09
|
|
Fix "unused function" warning.
|
|
02829186
|
2016-06-03T10:51:04
|
|
Extract common parts: constants, dictionary, etc.
|
|
384c595d
|
2016-05-31T16:19:59
|
|
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...
|
|
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
|
|
f4376d08
|
2016-05-20T10:22:03
|
|
Add BROTLI_LAST_ERROR_CODE definition
|
|
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
|
|
2fcb2321
|
2016-02-25T11:01:28
|
|
Use double exclamation marks in declarations of IS_CONSTANT and BROTLI_HAS_UBFX to force C compilers to interpret them as booleans and avoid constant-logical-operand warnings.
|
|
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
|
|
28867aa4
|
2016-01-28T16:34:41
|
|
Remove unused definitions
|
|
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
|
|
152e33c3
|
2015-11-17T13:45:41
|
|
Add more explicit type conversions.
Remove dead code.
Fix includes.
|
|
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
|
|
f769ba85
|
2015-10-26T21:04:12
|
|
Fix function prototypes
|
|
47835c60
|
2015-10-06T11:11:42
|
|
Fix build for SPARK.
|
|
66fa4ff4
|
2015-10-01T16:25:21
|
|
[types.h] make std ints types for _MSC_VER compatible with CFFI
As defined in _cffi_include.h: https://bitbucket.org/cffi/cffi/src/21fef94ca0c88a16b007fb495806d0371b7f878d/cffi/_cffi_include.h?at=default&fileviewer=file-view-default#_cffi_include.h-15
|
|
bacc7349
|
2015-10-05T10:23:32
|
|
Fix some more compiler warnings in the decoder.
|
|
5cf07a68
|
2015-10-02T16:46:08
|
|
Initialize pos and loop_counter.
|
|
9ceff037
|
2015-10-02T16:43:47
|
|
Add more build parameters.
|
|
85fede2f
|
2015-10-02T16:40:26
|
|
Avoid loop in GetNextKey.
|
|
d3eb6ecb
|
2015-10-02T16:19:30
|
|
Add BROTLI_FREE macro, check malloc status after histogram allocations.
|
|
3b8bef70
|
2015-10-01T14:30:22
|
|
Add extern "C" linkage to the encoder and decoder dictionary definitions.
|
|
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.
|
|
10aaa83f
|
2015-09-28T12:37:35
|
|
Fix a bug in ReadHuffmanCode().
|
|
3cd3a106
|
2015-09-28T12:34:40
|
|
Small speedup of command decoding.
|
|
e44caf98
|
2015-09-25T17:57:19
|
|
Introduce a BROTLI_BUILD_PORTABLE macro to disable potentially dangerous optimizations.
|
|
85301238
|
2015-09-25T17:43:54
|
|
Fix a bug in CopyUncompressedBlockToOutput().
|
|
163b59b1
|
2015-09-25T12:07:07
|
|
Add null output callback to decoder for easier testing.
|
|
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.
|
|
45c38936
|
2015-08-10T14:41:42
|
|
Enable little endian support also for visual studio
|
|
fee303fd
|
2015-08-10T14:18:37
|
|
fix brotli decoder MSVC compilation error
|
|
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.
|
|
bef6938a
|
2015-05-07T20:36:35
|
|
Restrict the ARM optimizations to little endian architectures.
|
|
f3e71e44
|
2015-05-07T19:45:21
|
|
Fix 32bit build.
|
|
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.
|
|
0c81a136
|
2015-04-23T12:05:39
|
|
Merge pull request #35 from mitya57/master
Makefile fixes and cleanups
|
|
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)
|
|
81cb09f1
|
2015-03-20T15:44:15
|
|
separate the licenses from documentation
|
|
5da7e37a
|
2015-03-13T18:00:28
|
|
Makefile fixes and cleanups
- Distinguish between CC/CFLAGS, CPP/CPPFLAGS and CXX/CXXFLAGS.
Do not store compiler flags in CPPFLAGS, which is for preprocessor,
and do not try to link files using a preprocessor.
- Use COMMON_FLAGS for flags that are for both C and C++.
- Drop -m64 flag which is wrong on 32-bit systems.
- Use $(MAKE) instead of make, so that parallel building works.
|
|
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.
|
|
ac455c50
|
2014-11-17T15:31:00
|
|
Improvements to the command-line tool.
- Don't read the whole input to memory.
- Support reading from stdin and writing to stdout.
|