Eugene Kliuchnikov
0a63f99db9
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
2016-09-21 17:20:36 +02:00
Eugene Kliuchnikov
f20b3eeb2f
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
2016-09-21 15:05:12 +02:00
Eugene Kliuchnikov
8148001158
Move "public" to "include/brotli"
2016-08-23 14:40:33 +02:00
Sylvestre Ledru
5ad715e445
Remove some deadcode
2016-08-22 18:22:24 +02:00
Eugene Kliuchnikov
801f5f37ee
* 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
2016-08-22 13:28:22 +02:00
Eugene Kliuchnikov
0ef4edacab
Do not use "static inline" for deprecated API.
2016-07-25 10:36:36 +02:00
Eugene Kliuchnikov
d2b17196f2
Fix DecodeContextMap
2016-07-25 10:22:33 +02:00
Eugene Kliuchnikov
43d4f45b6e
Update decoder API:
...
* replace prefix Brotli -> BrotliDecoder
* add HasMoreOutput
* make instance pointer the first argument
* use boolean instead of int
2016-07-25 10:17:04 +02:00
Evgenii Kliuchnikov
52ff81717b
Update build systems
2016-06-24 15:32:51 +02:00
Eugene Kliuchnikov
378485b097
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
2016-06-16 10:52:57 +02:00
Eugene Kliuchnikov
b972c67780
Convert encoder to plain C.
2016-06-13 11:01:04 +02:00
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
043a99e07e
Update decoder:
...
* make InverseMoveToFrontTransform more standards compliant
* simplify BrotliCalculateRingBufferSize
2016-04-29 13:44:16 +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
Frédéric Wang
2fcb2321d9
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.
2016-03-01 09:39:04 +01:00
Eugene Kliuchnikov
23934731f5
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
2016-02-18 15:03:44 +01:00
eustas
68f5bbda76
Update decode.c
2016-02-04 15:42:53 +01:00
eustas
37a320dd81
Fix possible pointer underflow
2016-02-04 15:35:44 +01:00
eustas
28867aa4e7
Remove unused definitions
2016-01-28 16:34:41 +01:00
eustas
ee9464e3b0
Remove NO_ASAN annotation
2016-01-28 16:32:38 +01:00
eustas
02c606d444
Make memmove16 safe.
2016-01-28 16:28:36 +01: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
152e33c3a0
Add more explicit type conversions.
...
Remove dead code.
Fix includes.
2015-11-17 13:45:41 +01:00
eustas
65b4baf0b8
Fix implicit type conversion
2015-11-07 11:52:13 +01:00
Eugene Klyuchnikov
c0ba6d6f5e
Brotli decoder: implement new streaming API
2015-11-06 11:46:04 +01:00
Tim Rühsen
b9e413faa6
Make internal decoder functions static
...
Affected functions: WriteRingBuffer, CopyUncompressedBlockToOutput,
BrotliAllocateRingBuffer
2015-10-27 11:22:16 +01:00
Tim Rühsen
f769ba85bf
Fix function prototypes
2015-10-26 21:04:12 +01:00
Zoltan Szabadka
47835c6089
Fix build for SPARK.
2015-10-06 11:11:42 +02:00
Cosimo Lupo
66fa4ff403
[types.h] make std ints types for _MSC_VER compatible with CFFI
...
As defined in _cffi_include.h: 21fef94ca0/cffi/_cffi_include.h (_cffi_include.h-15)
2015-10-05 11:32:12 +01:00
Zoltan Szabadka
bacc734997
Fix some more compiler warnings in the decoder.
2015-10-05 10:23:32 +02:00
Zoltan Szabadka
5cf07a68b2
Initialize pos and loop_counter.
2015-10-02 16:46:08 +02:00
Zoltan Szabadka
9ceff0372c
Add more build parameters.
2015-10-02 16:43:47 +02:00
Zoltan Szabadka
85fede2f05
Avoid loop in GetNextKey.
2015-10-02 16:40:26 +02:00
Zoltan Szabadka
d3eb6ecb9a
Add BROTLI_FREE macro, check malloc status after histogram allocations.
2015-10-02 16:19:30 +02:00
Zoltan Szabadka
3b8bef70a5
Add extern "C" linkage to the encoder and decoder dictionary definitions.
2015-10-01 14:30:22 +02:00
Zoltan Szabadka
03c4ab5967
Simplify uncompressed block decoding state machine.
2015-09-28 12:40:39 +02:00
Zoltan Szabadka
5919712922
Avoid undefined behavior from memcpy for the portable build.
2015-09-28 12:38:29 +02:00
Zoltan Szabadka
10aaa83ffe
Fix a bug in ReadHuffmanCode().
2015-09-28 12:37:35 +02:00
Zoltan Szabadka
3cd3a1066a
Small speedup of command decoding.
2015-09-28 12:34:40 +02:00
Zoltan Szabadka
e44caf9835
Introduce a BROTLI_BUILD_PORTABLE macro to disable potentially dangerous optimizations.
2015-09-25 17:57:19 +02:00