kc3-lang/brotli/c

Branch :


Log

Author Commit Date CI Message
cecc0acc 2025-05-27 08:59:17 Fix ISO C build breakage. (#1255) ISO C prohibits inline declarations of variables. Move the declaration to the start of the block. Co-authored-by: Eugene Kliuchnikov <eustas.ru@gmail.com>
93d0ac53 2025-05-27 09:47:01 Fix typos (#1242) Co-authored-by: Eugene Kliuchnikov <eustas.ru@gmail.com>
440e0364 2025-01-31 05:42:35 Another nullptr-arithmetics clamer PiperOrigin-RevId: 721741817
a1e3ab25 2025-01-31 05:30:49 Fix (speculative) nullptr arithmetic PiperOrigin-RevId: 721739274
95b81fcc 2025-01-06 23:51:35 Partially pick https://github.com/google/brotli/pull/1232 PiperOrigin-RevId: 712791222
2b6efcbd 2024-11-19 01:42:21 Merge pull request #1204 from heshpdx:master PiperOrigin-RevId: 697922880
8c6d25f7 2024-11-15 10:39:15 Update c/enc/encode.c Co-authored-by: Eugene Kliuchnikov <eustas@google.com>
782aadd0 2024-11-12 14:45:06 Apply suggestions from code review Co-authored-by: Eugene Kliuchnikov <eustas@google.com>
1054ecc2 2024-11-12 16:25:30 Add static variables as per code review comments.
cec846f8 2024-10-05 10:46:27 Update c/enc/block_splitter_inc.h Added a digit of precision
cefec3ce 2024-10-05 05:40:19 Reduce fdiv's into fmul's Provides small speedup on microarchitectures where the floating point divide is slower than the floating point multiply.
aa548219 2024-08-27 14:25:33 Fix C4224 warnings when building with MSVC
66495233 2024-10-24 13:36:16 Make Brotli decompression faster Makes it ~8% faster on my skylake desktop. PiperOrigin-RevId: 689499172
350100a5 2024-09-19 09:01:50 Add BrotliCopyPreloadedSymbols function. Add a single trivial use to avoid complier warning. PiperOrigin-RevId: 676435629
39bcecf4 2024-07-15 11:26:47 Fix hasher resolution for long windows. PiperOrigin-RevId: 652545288
a528bce9 2024-05-31 09:10:52 Hoist the static bounds check out of the combined if check. PiperOrigin-RevId: 639054702
fe754f34 2024-05-30 09:50:58 Use a hash table header and SIMD to speed up hash table operations (similar to [Swiss Tables](https://abseil.io/about/design/swisstables)). PiperOrigin-RevId: 638686412
04388304 2024-05-09 12:41:57 Use a hash table header and SIMD to speed up hash table operations (similar to [Swiss Tables](https://abseil.io/about/design/swisstables)). PiperOrigin-RevId: 632238409
bb809ac9 2024-05-08 17:59:09 Use a hash table header and SIMD to speed up hash table operations (similar to [Swiss Tables](https://abseil.io/about/design/swisstables)). PiperOrigin-RevId: 631982664
d01a4caa 2024-04-22 02:06:42 Internal change PiperOrigin-RevId: 626960053
1b3a5ccb 2024-04-18 19:59:28 Prefetch the backreference hashtable bucket. Place the prefetch before the last distance checks, to give the prefetch enough time to work. PiperOrigin-RevId: 626228820
443af10a 2024-04-17 04:09:20 add (assumption) check PiperOrigin-RevId: 625632989
c1c76e99 2024-04-14 06:35:19 Don't check `cur_ix_masked` against `ring_buffer_mask`. `cur_ix_masked` isn't changing from iteration to iteration, and `max_length` ensures we never find a match long enough to walk off the ring buffer. PiperOrigin-RevId: 624701948
709c4672 2024-04-12 09:15:22 Fix minor syntax issues. Missing semicolons. Move checks below variable declarations for c89. PiperOrigin-RevId: 624199887
a76d96e7 2024-04-12 06:50:04 Don't check `cur_ix_masked` against `ring_buffer_mask`. `cur_ix_masked` isn't changing from iteration to iteration, and `max_length` ensures we never find a match long enough to walk off the ring buffer. PiperOrigin-RevId: 624162764
a813a6a1 2024-04-11 11:23:08 Update the `H5` hasher to use the `H6`'s `FN(STORE)`. PiperOrigin-RevId: 623885589
f964a1e8 2024-04-09 00:18:20 Internal change PiperOrigin-RevId: 623073126
cdbe7fc7 2024-04-08 04:29:59 Internal change PiperOrigin-RevId: 622802698
9351fa7f 2024-03-20 10:29:20 Compare 4 bytes when checking if a longer match is possible. Loading and comparing 4 bytes is ~as fast as 1 byte, but allows us to avoid more full match length calculation. PiperOrigin-RevId: 617556847
9717649c 2024-03-13 02:47:07 Use BROTLI_MAX_STATIC_CONTEXTS instead of magic constants in encode.c PiperOrigin-RevId: 615341475
d5e697b3 2024-01-22 07:24:07 remove dependency on os-specific defines PiperOrigin-RevId: 600449944
3396c67f 2024-01-15 12:49:21 add brcat alias + flag to decompress concatenated streams PiperOrigin-RevId: 598652401
033940f9 2024-01-11 02:03:59 add comment (fingerprint) CLI feature PiperOrigin-RevId: 597489910
6b6adb7a 2024-01-03 02:00:39 fix build for Microsoft-designed ARM64 ABI PiperOrigin-RevId: 595334901
9b83be23 2023-10-26 02:02:51 fix wording PiperOrigin-RevId: 576788685
e7313b0c 2023-08-28 07:20:13 tune memory manager for BROTLI_EXPERIMENTAL PiperOrigin-RevId: 560703386
c1bd1968 2023-08-25 01:06:33 comb HAVE_UTIMENSAT definition PiperOrigin-RevId: 560011681
2a5a088b 2023-08-21 06:35:47 more tuning for BROTLI_EXPERIMENTAL + clean-on-oom PiperOrigin-RevId: 558771745
feb6d8bc 2023-08-21 03:34:13 prepare for 1.1.0rc PiperOrigin-RevId: 558736892
3ebb2d30 2023-08-18 02:55:01 Move serialized dictionary feature behind the flag. BROTLI_SHARED_DICTIONARY_SERIALIZED enum value is a part of API, but it should not be used (will cause failures). Changing how serialized dictionaries work won't be considered as an API change, until this feature is enabled. Enabling this feature in the future will be considered as a "compatible" change. PiperOrigin-RevId: 558091676
0f2157cc 2023-08-16 08:54:37 Update comment; fixes #1061 PiperOrigin-RevId: 557501089
8c792304 2023-08-09 02:48:12 reduce amount of padding in decoder structs PiperOrigin-RevId: 555101669
a5600898 2023-08-03 04:58:16 speedup q5-9 on large files PiperOrigin-RevId: 553440457
117b68b7 2023-08-02 03:04:52 speedup encoder on q5-9 / 1MB+ files PiperOrigin-RevId: 553087469
d639a81d 2023-07-31 07:18:48 add option to delete files that are not "compressed" PiperOrigin-RevId: 552472135
27a9a809 2023-07-30 03:44:38 simplify CMake build PiperOrigin-RevId: 552238545
779a49bf 2023-07-20 04:18:18 bake in runtime constant PiperOrigin-RevId: 549590409
c3dc7d03 2023-07-17 05:38:37 more careful bit-reader interruption PiperOrigin-RevId: 548661043
2d0947f1 2023-07-10 06:00:17 insert missing fuzz/WORKSPACE content PiperOrigin-RevId: 546848285
2e6164d7 2023-07-10 11:40:07 verbose error report in CLI PiperOrigin-RevId: 546833411
70e7b1ae 2023-07-06 11:56:38 simplify building of fuzzer PiperOrigin-RevId: 545950923
6ee96e29 2023-07-03 19:13:24 Internal changes PiperOrigin-RevId: 545262005
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
e5dba91c 2023-03-28 16:17:13 Add BROTLI_ENABLE_DUMP build option PiperOrigin-RevId: 520047051
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
bfa15d40 2023-06-22 10:27:21 fuzz: make target resist allocation failures (#1023) So that fuzzing can go on with simulated allocation failures
1d8452b7 2023-06-20 15:44:23 Add loongarch64 support (#1022)
b2c86d18 2023-01-30 18:34:24 Decoder API: added API to attach metadata blocks callbacks PiperOrigin-RevId: 505734532
04f294b1 2023-01-29 14:16:20 Fix emitting 1-byte long metadata block PiperOrigin-RevId: 505484299
1e61e972 2023-01-27 10:16:21 speed up encoding by ~5 % PiperOrigin-RevId: 505061835
36533a86 2023-01-16 18:04:35 Internal change PiperOrigin-RevId: 502401179
71fe6cac 2023-01-07 22:01:47 Fix BrotliEncoderEstimatePeakMemoryUsage (#1002) Fixes https://github.com/google/brotli/issues/1001
0ea46038 2023-01-04 12:10:29 Fix MSVC warning (#998) Fix #875
509d4419 2022-12-22 16:05:25 Copy ns time stat (#992)
641bec0e 2022-12-16 12:42:42 CMake: Allow using BUILD_SHARED_LIBS to choose static/shared libs (#655) By convention projects using CMake which can build either static or shared libraries use a BUILD_SHARED_LIBS flag to allow selecting between both: the add_library() command automatically switches between both using this variable when the library kind is not passed to add_library(). It is also usual to expose the BUILD_SHARED_LIBS as an user-facing setting with the option() command. This way, the following will both work as expected: % cmake -DBUILD_SHARED_LIBS=OFF ... % cmake -DBUILS_SHARED_LIBS=ON ... This is helpful for distributions which need (or want) to build only static libraries.
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>
0e42caf3 2021-08-31 14:07:17 Migrate to github actions (#920) Not all combinations are migrated to the initial configuration; corresponding TODOs added. Drive-by: additional combinations uncovered minor portability problems -> fixed Drive-by: remove no-longer used "script" files. Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
68f1b90a 2021-08-18 19:15:07 Update (#918) Prepare to use copybara worklow.
19d86fb9 2021-08-04 14:42:02 Merge-in SharedDictionary feature (#916) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
630b5084 2021-07-29 22:29:43 Update (#914) * slimmer stack frames in encoder * fix MSAN problem in hasher_composite (not dangerous, only in large_window mode) * fix JNI decoder wrapper - power-of-two payloads fail to decode sometimes * reformat polyfil.js and decode_test.js
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>
bdcfb123 2021-06-23 16:42:28 Fix typo in hash_composite_inc.h (#903) defered -> deferred
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
5692e422 2021-01-18 10:56:39 Update (#852) * Update * comments and clarifications in block_splitter * power-of-2 aligned allocations for Hasher * refresh decode.js from Java sources * disable JS build
97006561 2020-09-21 13:22:56 Fix VC C++ 12.0 BROTLI_MSVC_VERSION_CHECK calls (#843)
90fd2b60 2020-09-07 10:53:03 add execution time (#834)
7e8e207c 2020-09-07 10:40:03 Fix clang-10 compilation issue (#839) clang-10 throws the following error: In file included from external/org_brotli/c/enc/bit_cost.c:9: external/org_brotli/c/enc/./bit_cost.h:48:16: error: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Werror,-Wimplicit-int-float-conversion] if (retval < sum) { ~ ^~~ 1 error generated. Make the conversion explicit.
e61745a6 2020-08-27 16:12:55 Re-release
665e81dc 2020-08-26 14:36:02 New version: 1.0.8 (#827)
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
0c5603e0 2020-07-09 16:40:01 Fix output parameter type for _BitScanReverse (#819) Fix #811
fc823290 2020-07-02 19:45:57 Mute strerror/strcpy warnings is MSVC build. (#815)
55193526 2020-07-02 17:57:40 Add workaround for lying feof. (#814) Should fix #812
d2ea1982 2020-06-30 17:23:07 Update platform.h (#813) fix compile error (platform.h:362: error: cast discards qualifiers from pointer target type)
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
924b2b2b 2020-03-19 03:57:56 Move TZCNT and BSR intrinsics to platform.h, add MSVC versions (#636)
f503cb70 2020-03-19 11:46:52 Add HAVE_LOG2 build macro (#783) * Add HAVE_LOG2 build macro Fixes #781 * Rename macro to BROTLI_HAVE_LOG2 and move comment for visibility
666c3280 2020-02-14 17:40:02 Make types of variable match (#796)
4b5771be 2019-12-19 18:15:58 Add missing "const" to a couple of kConstants (#780) These showed up in a Chromium audit: https://bugs.chromium.org/p/chromium/issues/detail?id=747064#c8 Although already effectively const, adding "const" causes the symbols to be moved into the read-only section of the binary.
3d176718 2019-07-30 10:01:21 Fix include for EMCC build (#765)
f1124c85 2019-07-22 14:29:51 More careful sanitizer detection (#764)