dec


Log

Author Commit Date CI Message
Eugene Kliuchnikov 9521d968 2016-10-17T17:33:12 Eliminate more magic constants. Author: Ivan Nikulin
Eugene Kliuchnikov 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…
Eugene Kliuchnikov 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
Eugene Kliuchnikov 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
Mo DeJong 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
Eugene Kliuchnikov 81480011 2016-08-23T14:40:33 Move "public" to "include/brotli"
Sylvestre Ledru 5ad715e4 2016-08-22T18:22:19 Remove some deadcode
Eugene Kliuchnikov 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
Eugene Kliuchnikov 0ef4edac 2016-07-25T10:36:36 Do not use "static inline" for deprecated API.
Eugene Kliuchnikov d2b17196 2016-07-25T10:22:33 Fix DecodeContextMap
Eugene Kliuchnikov 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
Evgenii Kliuchnikov 52ff8171 2016-06-24T15:32:51 Update build systems
Eugene Kliuchnikov 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
Eugene Kliuchnikov 3ccbf05d 2016-06-13T11:01:04 Convert encoder to plain C.
Eugene Kliuchnikov f1c9ab29 2016-06-03T10:51:04 Extract common parts: constants, dictionary, etc.
Eugene Kliuchnikov b972c677 2016-06-13T11:01:04 Convert encoder to plain C.
eustas 9bce220b 2016-06-10T11:06:15 Fix windows builds
eustas 63111b21 2016-06-06T12:00:07 Merge pull request #367 from google/master Merge upstream changes
Eugene Kliuchnikov 639fdaf6 2016-06-06T11:19:09 Fix "unused function" warning.
Eugene Kliuchnikov 02829186 2016-06-03T10:51:04 Extract common parts: constants, dictionary, etc.
eustas 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...
Eugene Kliuchnikov 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
eustas f4376d08 2016-05-20T10:22:03 Add BROTLI_LAST_ERROR_CODE definition
Eugene Kliuchnikov 021f6fe3 2016-05-11T15:23:07 Update decoder: * Added BrotliGetErrorCode * fixed check of padding bits after last block
Eugene Kliuchnikov 043a99e0 2016-04-29T13:44:16 Update decoder: * make InverseMoveToFrontTransform more standards compliant * simplify BrotliCalculateRingBufferSize
Eugene Kliuchnikov ab858a9f 2016-04-27T16:52:24 Limit |size| in BrotliSetCustomDictionary
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
Frédéric Wang 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.
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
eustas 68f5bbda 2016-02-04T15:42:53 Update decode.c
eustas 37a320dd 2016-02-04T15:35:44 Fix possible pointer underflow
eustas 28867aa4 2016-01-28T16:34:41 Remove unused definitions
eustas ee9464e3 2016-01-28T16:32:38 Remove NO_ASAN annotation
eustas 02c606d4 2016-01-28T16:28:36 Make memmove16 safe.
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 b6938122 2015-11-23T10:21:09 Decoder: implement custom allocator feature Drive-by: conform stricter compilation flags; cleanup shared.mk
Eugene Klyuchnikov 152e33c3 2015-11-17T13:45:41 Add more explicit type conversions. Remove dead code. Fix includes.
eustas 65b4baf0 2015-11-07T11:52:13 Fix implicit type conversion
Eugene Klyuchnikov c0ba6d6f 2015-11-06T11:46:04 Brotli decoder: implement new streaming API
Tim Rühsen b9e413fa 2015-10-26T21:20:22 Make internal decoder functions static Affected functions: WriteRingBuffer, CopyUncompressedBlockToOutput, BrotliAllocateRingBuffer
Tim Rühsen f769ba85 2015-10-26T21:04:12 Fix function prototypes
Zoltan Szabadka 47835c60 2015-10-06T11:11:42 Fix build for SPARK.
Cosimo Lupo 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
Zoltan Szabadka bacc7349 2015-10-05T10:23:32 Fix some more compiler warnings in the decoder.
Zoltan Szabadka 5cf07a68 2015-10-02T16:46:08 Initialize pos and loop_counter.
Zoltan Szabadka 9ceff037 2015-10-02T16:43:47 Add more build parameters.
Zoltan Szabadka 85fede2f 2015-10-02T16:40:26 Avoid loop in GetNextKey.
Zoltan Szabadka d3eb6ecb 2015-10-02T16:19:30 Add BROTLI_FREE macro, check malloc status after histogram allocations.
Zoltan Szabadka 3b8bef70 2015-10-01T14:30:22 Add extern "C" linkage to the encoder and decoder dictionary definitions.
Zoltan Szabadka 03c4ab59 2015-09-28T12:40:39 Simplify uncompressed block decoding state machine.
Zoltan Szabadka 59197129 2015-09-28T12:38:29 Avoid undefined behavior from memcpy for the portable build.
Zoltan Szabadka 10aaa83f 2015-09-28T12:37:35 Fix a bug in ReadHuffmanCode().
Zoltan Szabadka 3cd3a106 2015-09-28T12:34:40 Small speedup of command decoding.
Zoltan Szabadka e44caf98 2015-09-25T17:57:19 Introduce a BROTLI_BUILD_PORTABLE macro to disable potentially dangerous optimizations.
Zoltan Szabadka 85301238 2015-09-25T17:43:54 Fix a bug in CopyUncompressedBlockToOutput().
Zoltan Szabadka 163b59b1 2015-09-25T12:07:07 Add null output callback to decoder for easier testing.
Zoltan Szabadka b04f6248 2015-09-25T12:05:39 Fix a bug in uncompressed block handling.
Zoltan Szabadka 0cf3a544 2015-09-24T18:35:25 Update brotli decoder with latest improvements.
Zoltan Szabadka 1216684d 2015-09-23T12:26:07 Merge remote-tracking branch 'upstream/master'
Zoltan Szabadka a7cedfc2 2015-09-23T12:24:06 Update brotli decoder with latest improvements.
Marcin Karpinski 21ac39f7 2015-09-21T21:04:07 Fix typos.
Eugene Klyuchnikov 127aa48a 2015-09-01T12:18:22 Fix bug in decoder. Minor cleanup.
Lode Vandevenne db71549a 2015-08-28T15:20:24 update brotli decoder with latest improvements
Zoltan Szabadka 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.
Zoltan Szabadka 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.
lvandeve 45c38936 2015-08-10T14:41:42 Enable little endian support also for visual studio
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 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.
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.
Zoltan Szabadka fe14d7b3 2015-04-28T10:07:12 Fix an error propagation bug in the decoder.
szabadka 0c81a136 2015-04-23T12:05:39 Merge pull request #35 from mitya57/master Makefile fixes and cleanups
Zoltan Szabadka 64c26111 2015-04-22T17:33:21 Add partial output support to the decoder.
Zoltan Szabadka 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
Zoltan Szabadka 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.
Zoltan Szabadka 2a7bbfc5 2015-04-01T16:23:18 Update the previous two bytes when decoding an uncompressed metablock.
Zoltan Szabadka fac8993b 2015-04-01T16:20:16 Add a missing state transition to CopyUncompressedBlockToOutput().
Zoltan Szabadka 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).
Lode Vandevenne f9e5a2d9 2015-03-30T18:00:40 bugfixes affecting streaming decoding
Zoltan Szabadka 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.
Zoltan Szabadka c5ccd0df 2015-03-27T13:54:43 Change the return value of decoder functions from integer codes to an enum.
Lode Vandevenne 85abce6c 2015-03-26T17:40:07 Propagate error condition from ReadHuffmanCodeLengths()
Lode Vandevenne b1422079 2015-03-20T17:03:11 a few more tweaks to the streaming support
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
Dmitry Shachnev 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.
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 68d63f59 2015-02-24T11:22:29 Fix a sign-conversion warning in the decoder.
Kunihiko Sakamoto 65d655da 2015-02-24T17:48:26 Compile decoder with -Wall flag This also fixes two "comparison between signed and unsigned" warnings.
Zoltan Szabadka 4278934e 2014-11-26T10:37:33 Fix undefined behavior in decoder. Use memmove() for copying overlapping buffers.
Zoltan Szabadka 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.