kc3-lang/brotli/c/dec

Branch :


Log

Author Commit Date CI Message
8c792304 2023-08-09 02:48:12 reduce amount of padding in decoder structs PiperOrigin-RevId: 555101669
c3dc7d03 2023-07-17 05:38:37 more careful bit-reader interruption PiperOrigin-RevId: 548661043
2e6164d7 2023-07-10 11:40:07 verbose error report in CLI PiperOrigin-RevId: 546833411
e252f1fc 2023-05-04 15:09:05 0.5-2.9% decoder speedup PiperOrigin-RevId: 529412095
e1f5788f 2023-04-14 15:46:39 Fix internal buffer reset PiperOrigin-RevId: 524301253
f29c44ed 2023-03-15 13:29:35 Avoid nullptr with zero offset PiperOrigin-RevId: 516808122
cb1ced3a 2023-03-15 08:15:19 speedup decoder by 0.2%-1.2% PiperOrigin-RevId: 516754779
57c36a4f 2023-03-02 14:49:53 1.2-2.3% decoder speedup PiperOrigin-RevId: 513524040
6db17c87 2023-03-01 16:51:03 0.4-1.5% decoder speedup PiperOrigin-RevId: 513248503
b2c86d18 2023-01-30 18:34:24 Decoder API: added API to attach metadata blocks callbacks PiperOrigin-RevId: 505734532
a8f5813b 2022-11-17 13:03:09 Update Documentation: - add note that brotli is a "stream" format, not an archive-like - regenerate .1 with Pandoc Build: - drop legacy "BROTLI_BUILD_PORTABLE" option - drop "BROTLI_SANITIZED" definition Code: - c: comb includes - c/enc: extract encoder state into separate header - c/enc: drop designated q10 codepath - c/enc: dealing better with flushing of empty stream - fix MSVC compilation API: - py: use library version instead of one in version.h - c: add plugable API to report consumed input / produced output - c/java: support "lean" prepared dictionaries (without copy of source)
6d03dfbe 2022-10-25 12:29:58 Fix -Wstrict-prototypes warnings (#985) Envoy builds brotli with -Werror, and these strict prototypes are picked up by newer versions of clang.
4ec67035 2021-12-07 01:47:07 Merge pull request #929 from jbms/fix-vla-parameter Fix -Werror=vla-parameter errors with GCC 11.2.0
8376f72e 2021-11-10 10:34:39 Prepare for copybara (#939) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
27dd7265 2021-09-14 12:27:45 Fix -Werror=vla-parameter errors with GCC 11.2.0
62662f87 2021-09-08 09:18:45 Strip "./" in includes (#925) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
19d86fb9 2021-08-04 14:42:02 Merge-in SharedDictionary feature (#916) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
0a3944c8 2021-06-23 08:53:59 Fix VLA parameter warning (#893) Make VLA buffer types consistent in declarations and definitions. Resolves build crash when using -Werror due to "vla-parameter" warning. Signed-off-by: Adrian Herrera <adr.her.arc.95@gmail.com>
f8c67177 2021-06-23 09:40:57 Update (#908) * re-enable Js build/test * improve decoder performance * rewrite dictionary data in Java/Js to a shorter uncompressed form * improve dictionary generation tool
223d80cf 2020-08-26 12:32:27 Update (#826) * IMPORTANT: decoder: fix potential overflow when input chunk is >2GiB * simplify max Huffman table size calculation * eliminate symbol duplicates (static arrays in .h files) * minor combing in research/ code
7f740f13 2020-05-15 11:06:21 Update (#807) - fix formatting - fix type conversion - fix no-op arithmetic with null-pointer - improve performance of hash_longest_match64 - go: detect read after close - java decoder: support compound dictionary - remove executable flag on non-scripts
666c3280 2020-02-14 17:40:02 Make types of variable match (#796)
78e7bbc3 2019-05-03 11:51:11 Update (#753) * fix executable mode of decode.js * explain clang-analyser about non-nullability * fix "dead assignment" * rename proguard.cfg -> proguard.pgcfg
4b2b2d4f 2019-04-12 13:57:42 Update (#749) Update: * Bazel: fix MSVC configuration * C: common: extended documentation and helpers around distance codes * C: common: enable BROTLI_DCHECK in "debug" builds * C: common: fix implicit trailing zero in `kPrefixSuffix` * C: dec: fix possible bit reader discharge for "large-window" mode * C: dec: simplify distance decoding via lookup table * C: dec: reuse decoder state members memory via union with lookup table * C: dec: add decoder state diagram * C: enc: clarify access to static dictionary * C: enc: improve static dictionary hash * C: enc: add "stream offset" parameter for parallel encoding * C: enc: reorganize hasher; now Q2-Q3 require exactly 256KiB to avoid global TCMalloc lock * C: enc: fix rare access to uninitialized data in ring-buffer * C: enc: reorganize logging / checks in `write_bits.h` * Java: dec: add "large-window" support * Java: dec: improve speed * Java: dec: debug and 32-bit mode are now activated via system properties * Java: dec: demystify some state variables (use better names) * Dictionary generator: add single input mode * Java: dec: modernize tests * Bazel: js: pick working commit for closure rules
ce8951c3 2018-10-16 17:19:37 Fix `<arm_neon.h>` inclusion guard. (#717)
f7cbc97c 2018-10-16 16:46:54 Fix typo / minor formatting (#716) * Fix typo / minor formatting / pull computable constant to the place of use.
cc7a74f1 2018-10-08 14:40:11 decode: fix NEON inclusion (#714) The macro that checks for NEON support should be __ARM_NEON, not __ARM_NEON__. [1] AArch64 compilers define __ARM_NEON but not __ARM_NEON__. AArch32 compilers currently seem to define both, but could be within their rights to drop __ARM_NEON__ in future versions. This change moves the check into the common/platform.h file, checks for both forms, and sets BROTLI_TARGET_NEON if NEON support is available. [1] Section 6.5.4 of the ARM C Language Extensions. (At the time of writing, the latest version was Release 2.1.)
9402ac5c 2018-09-27 12:15:46 decode: faster huffman code loading on 32-bit Arm (#703) * platform: add macro for using the 'aligned' attribute * decode: add accessor macros for HuffmanCode fields Adds a constructor function for building HuffmanCode values so they can be accessed quickly on different architectures. Also adds macros for marking a HuffmanCode table pointer that can be accessed quickly (BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD), adjusting the index into that table (BROTLI_HC_ADJUST_TABLE_INDEX), and getting the .bits or .value fields out of the table at the current index (BROTLI_HC_GET_BITS/VALUE). For example, assuming |table| contains a HuffmanCode pointer: BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(table); BROTLI_HC_ADJUST_TABLE_INDEX(table, index_into_table); *bits = BROTLI_HC_GET_BITS(table); *value = BROTLI_HC_GET_VALUE(table); BROTLI_HC_ADJUST_TABLE_INDEX(table, offset); *bits2 = BROTLI_HC_GET_BITS(table); *value2 = BROTLI_HC_GET_VALUE(table); All uses of the HuffmanCode have been updated appropriately. * decode: add alternative accessors for HuffmanCode on Arm AArch32
09cd3e87 2018-06-11 15:17:26 Update
f5ed35d0 2018-05-03 11:16:21 Update (#664) * Update * fix ifdef style * get back to fine-compiler-version-based-macros (use Hedley) * fix q=0 histogram collection for very long copy/insert commands
0f3c84e7 2018-03-27 22:29:22 Update (#656) * proper fix for the "fall through" warning" * automatic NDIRECT/NPOSTFIX tuning (better compression) * fix unaligned access for `aarch64`-cross-`armhf` build * fix `aarch64` detection (10% decoder speedup) * expose `large_window` CLI option * make default window size 16MiB * ramp up version to 1.0.4
35e69fc7 2018-02-26 09:04:36 New feature: "Large Window Brotli" (#640) * New feature: "Large Window Brotli" By setting special encoder/decoder flag it is now possible to extend LZ-window up to 30 bits; though produced stream will not be RFC7932 compliant. Added new dictionary generator - "DSH". It combines speed of "Sieve" and quality of "DM". Plus utilities to prepare train corpora (remove unique strings). Improved compression ratio: now two sub-blocks could be stitched: the last copy command could be extended to span the next sub-block. Fixed compression ineffectiveness caused by floating numbers rounding and wrong cost heuristic. Other C changes: - combined / moved `context.h` to `common` - moved transforms to `common` - unified some aspects of code formatting - added an abstraction for encoder (static) dictionary - moved default allocator/deallocator functions to `common` brotli CLI: - window size is auto-adjusted if not specified explicitly Java: - added "eager" decoding both to JNI wrapper and pure decoder - huge speed-up of `DictionaryData` initialization * Add dictionaryless compressed dictionary * Fix `sources.lst` * Fix `sources.lst` and add a note that `libtool` is also required. * Update setup.py * Fix `EagerStreamTest` * Fix BUILD file * Add missing `libdivsufsort` dependency * Fix "unused parameter" warning.
da254cff 2017-12-12 14:33:12 Update (#630) * merge {dec|enc}/port.h into common/platform.h * fix one-shot q=10 1-byte input compression * fix some unprefixed definitions * make hashers host-endianness-independent * extract enc/params.h from enc/quality.h * fix API documentation / typos * improve `BrotliEncoderMaxCompressedSize`
0ad94eed 2017-11-28 15:37:28 Update (#620) * add autotools build * separate semantic and ABI version * extract sources.lst (used by CMake and Automake) * share pkgconfig templates (used by CMake and Automake) * decoder: always set `total_out` * encoder: fix `BROTLI_ENSURE_CAPACITY` macro (no-op after preprocessor) * decoder/encoder: refine `free_func` contract
65354354 2017-08-24 13:29:48 Update (#589) * cleanup * fix `unbrotli` CLI * Java retouch for faster JS decoder
d63e8f75 2017-08-04 10:02:56 Update API, and more (#581) Update API, and more: * remove "custom dictionary" support * c/encoder: fix #580: big-endian build * Java: reduce jar size * Java: speedup decoding * Java: add 32-bit CPU support * Java: make source code JS transpiler-ready
52441069 2017-07-21 10:07:24 Update (#574) * Update * decoder: better behavior after failure * encoder: replace "len_x_code" with delta * research: add experimental dictionary generator * python: test combing
05d5f3d7 2017-06-13 12:52:56 Update (#560) Update: * add decoder API to avoid ringbuffer reallocation * fix MSVC warnings * remove dead code
03739d2b 2017-05-29 17:55:14 Update (#555) Update: * new CLI; bro -> brotli; + man page * JNI wrappers preparation (for bazel build) * add raw binary dictionary representation `dictionary.bin` * add ability to side-load brotli RFC dictionary * decoder persists last error now * fix `BrotliDecoderDecompress` documentation * go reader don't block until necessary * more consistent bazel target names * Java dictionary data compiled footprint reduced * Java tests refactoring
6ece1d87 2017-04-23 14:07:08 Move files & update paths (#541) * Move files & update paths * Rename build to scripts. * Fix paths * Fix script.