c


Log

Author Commit Date CI Message
Evgenii Kliuchnikov 0bef8a69 2025-09-25T01:27:02 clarify that prepared dictionaries are "lean" PiperOrigin-RevId: 811236534
Evgenii Kliuchnikov 20ed1374 2025-09-04T03:58:12 add decoder static init PiperOrigin-RevId: 802957201
Evgenii Kliuchnikov 310f2119 2025-09-01T04:45:39 pull common static init header PiperOrigin-RevId: 801763621
Evgenii Kliuchnikov 30c7d2f9 2025-09-01T03:23:29 split prefix.h to .h/.cc/_inc.h PiperOrigin-RevId: 801742168
Evgenii Kliuchnikov 25190700 2025-08-28T10:16:48 use BROTLI_COLD in enc PiperOrigin-RevId: 800516878
Evgenii Kliuchnikov cb29dec4 2025-08-26T12:47:50 Introduce BROTLI_COLD PiperOrigin-RevId: 799674933
Evgenii Kliuchnikov 643b2294 2025-08-26T12:03:15 AI ate my code PiperOrigin-RevId: 799658697
Evgenii Kliuchnikov e7b0c08b 2025-08-25T05:35:26 move bulky generated constants out of main code PiperOrigin-RevId: 799083333
Evgenii Kliuchnikov 9a4ba593 2025-08-15T06:18:13 internal change PiperOrigin-RevId: 795452145
Evgenii Kliuchnikov 3cc6172f 2025-08-14T03:50:11 uninline ShannonEntropy/BitsEntropy PiperOrigin-RevId: 794966726
Evgenii Kliuchnikov 103b25fb 2025-08-13T02:10:36 explicitly specify model for relocatable variables PiperOrigin-RevId: 794473371
Evgenii Kliuchnikov 7b345944 2025-08-11T01:27:34 adjust BROTLI_TEST effects PiperOrigin-RevId: 793535397
Evgenii Kliuchnikov 6a4c96b1 2025-08-07T01:30:51 more portable emergency exit PiperOrigin-RevId: 792046166
Evgenii Kliuchnikov 29e040b8 2025-08-06T06:17:04 use static init to reduce encoder library size PiperOrigin-RevId: 791661871
Evgenii Kliuchnikov bf6231d6 2025-08-05T08:34:48 Introduce static init PiperOrigin-RevId: 791228365
Evgenii Kliuchnikov 8a7201c6 2025-08-05T02:49:08 fix some includes PiperOrigin-RevId: 791124445
Evgenii Kliuchnikov 12203bb5 2025-08-04T23:29:38 Extract Hash14/15 to hash_base PiperOrigin-RevId: 791061237
Evgenii Kliuchnikov 172fe58f 2025-08-04T04:02:36 Forward imports in types.h PiperOrigin-RevId: 790683957
Evgenii Kliuchnikov a47d7475 2025-07-11T07:38:19 Roll back: Enable shared_dictionary for quality 3 and 4. PiperOrigin-RevId: 781976993
Brotli 42c5139b 2025-07-09T02:33:07 Enable shared_dictionary for quality 3 and 4. PiperOrigin-RevId: 780946946
Brotli 434b582d 2025-06-30T03:31:08 Fix compilation errors when `BROTLI_DEBUG` is defined. PiperOrigin-RevId: 777494216
Robin Watts cecc0acc 2025-05-27T08: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>
Andreas Deininger 93d0ac53 2025-05-27T09:47:01 Fix typos (#1242) Co-authored-by: Eugene Kliuchnikov <eustas.ru@gmail.com>
Evgenii Kliuchnikov 440e0364 2025-01-31T05:42:35 Another nullptr-arithmetics clamer PiperOrigin-RevId: 721741817
Evgenii Kliuchnikov a1e3ab25 2025-01-31T05:30:49 Fix (speculative) nullptr arithmetic PiperOrigin-RevId: 721739274
Evgenii Kliuchnikov 95b81fcc 2025-01-06T23:51:35 Partially pick https://github.com/google/brotli/pull/1232 PiperOrigin-RevId: 712791222
Copybara-Service 2b6efcbd 2024-11-19T01:42:21 Merge pull request #1204 from heshpdx:master PiperOrigin-RevId: 697922880
Mahesh Madhav 782aadd0 2024-11-12T14:45:06 Apply suggestions from code review Co-authored-by: Eugene Kliuchnikov <eustas@google.com>
Mahesh Madhav 1054ecc2 2024-11-12T16:25:30 Add static variables as per code review comments.
Mahesh Madhav cec846f8 2024-10-05T10:46:27 Update c/enc/block_splitter_inc.h Added a digit of precision
Mahesh Madhav cefec3ce 2024-10-05T05: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.
Mahesh Madhav 8c6d25f7 2024-11-15T10:39:15 Update c/enc/encode.c Co-authored-by: Eugene Kliuchnikov <eustas@google.com>
Jeremy Koritzinsky aa548219 2024-08-27T14:25:33 Fix C4224 warnings when building with MSVC
Ilya Tokar 66495233 2024-10-24T13:36:16 Make Brotli decompression faster Makes it ~8% faster on my skylake desktop. PiperOrigin-RevId: 689499172
Ilya Tokar 350100a5 2024-09-19T09:01:50 Add BrotliCopyPreloadedSymbols function. Add a single trivial use to avoid complier warning. PiperOrigin-RevId: 676435629
Brotli 39bcecf4 2024-07-15T11:26:47 Fix hasher resolution for long windows. PiperOrigin-RevId: 652545288
Brotli a528bce9 2024-05-31T09:10:52 Hoist the static bounds check out of the combined if check. PiperOrigin-RevId: 639054702
Brotli fe754f34 2024-05-30T09: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
Brotli 04388304 2024-05-09T12: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
Brotli bb809ac9 2024-05-08T17: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
Brotli d01a4caa 2024-04-22T02:06:42 Internal change PiperOrigin-RevId: 626960053
Brotli 1b3a5ccb 2024-04-18T19: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
Evgenii Kliuchnikov 443af10a 2024-04-17T04:09:20 add (assumption) check PiperOrigin-RevId: 625632989
Evgenii Kliuchnikov c1c76e99 2024-04-14T06: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
Brotli 709c4672 2024-04-12T09:15:22 Fix minor syntax issues. Missing semicolons. Move checks below variable declarations for c89. PiperOrigin-RevId: 624199887
Brotli a76d96e7 2024-04-12T06: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
Brotli a813a6a1 2024-04-11T11:23:08 Update the `H5` hasher to use the `H6`'s `FN(STORE)`. PiperOrigin-RevId: 623885589
Brotli f964a1e8 2024-04-09T00:18:20 Internal change PiperOrigin-RevId: 623073126
Brotli cdbe7fc7 2024-04-08T04:29:59 Internal change PiperOrigin-RevId: 622802698
Brotli 9351fa7f 2024-03-20T10: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
Brotli 9717649c 2024-03-13T02:47:07 Use BROTLI_MAX_STATIC_CONTEXTS instead of magic constants in encode.c PiperOrigin-RevId: 615341475
Evgenii Kliuchnikov d5e697b3 2024-01-22T07:24:07 remove dependency on os-specific defines PiperOrigin-RevId: 600449944
Evgenii Kliuchnikov 3396c67f 2024-01-15T12:49:21 add brcat alias + flag to decompress concatenated streams PiperOrigin-RevId: 598652401
Evgenii Kliuchnikov 033940f9 2024-01-11T02:03:59 add comment (fingerprint) CLI feature PiperOrigin-RevId: 597489910
Evgenii Kliuchnikov 6b6adb7a 2024-01-03T02:00:39 fix build for Microsoft-designed ARM64 ABI PiperOrigin-RevId: 595334901
Evgenii Kliuchnikov 9b83be23 2023-10-26T02:02:51 fix wording PiperOrigin-RevId: 576788685
Evgenii Kliuchnikov e7313b0c 2023-08-28T07:20:13 tune memory manager for BROTLI_EXPERIMENTAL PiperOrigin-RevId: 560703386
Evgenii Kliuchnikov c1bd1968 2023-08-25T01:06:33 comb HAVE_UTIMENSAT definition PiperOrigin-RevId: 560011681
Evgenii Kliuchnikov 2a5a088b 2023-08-21T06:35:47 more tuning for BROTLI_EXPERIMENTAL + clean-on-oom PiperOrigin-RevId: 558771745
Evgenii Kliuchnikov feb6d8bc 2023-08-21T03:34:13 prepare for 1.1.0rc PiperOrigin-RevId: 558736892
Evgenii Kliuchnikov 3ebb2d30 2023-08-18T02: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
Evgenii Kliuchnikov 0f2157cc 2023-08-16T08:54:37 Update comment; fixes #1061 PiperOrigin-RevId: 557501089
Evgenii Kliuchnikov 8c792304 2023-08-09T02:48:12 reduce amount of padding in decoder structs PiperOrigin-RevId: 555101669
Evgenii Kliuchnikov a5600898 2023-08-03T04:58:16 speedup q5-9 on large files PiperOrigin-RevId: 553440457
Evgenii Kliuchnikov 117b68b7 2023-08-02T03:04:52 speedup encoder on q5-9 / 1MB+ files PiperOrigin-RevId: 553087469
Evgenii Kliuchnikov d639a81d 2023-07-31T07:18:48 add option to delete files that are not "compressed" PiperOrigin-RevId: 552472135
Evgenii Kliuchnikov 27a9a809 2023-07-30T03:44:38 simplify CMake build PiperOrigin-RevId: 552238545
Evgenii Kliuchnikov 779a49bf 2023-07-20T04:18:18 bake in runtime constant PiperOrigin-RevId: 549590409
Evgenii Kliuchnikov c3dc7d03 2023-07-17T05:38:37 more careful bit-reader interruption PiperOrigin-RevId: 548661043
Evgenii Kliuchnikov 2d0947f1 2023-07-10T06:00:17 insert missing fuzz/WORKSPACE content PiperOrigin-RevId: 546848285
Evgenii Kliuchnikov 2e6164d7 2023-07-10T11:40:07 verbose error report in CLI PiperOrigin-RevId: 546833411
Evgenii Kliuchnikov 70e7b1ae 2023-07-06T11:56:38 simplify building of fuzzer PiperOrigin-RevId: 545950923
Evgenii Kliuchnikov 6ee96e29 2023-07-03T19:13:24 Internal changes PiperOrigin-RevId: 545262005
Evgenii Kliuchnikov e252f1fc 2023-05-04T15:09:05 0.5-2.9% decoder speedup PiperOrigin-RevId: 529412095
Evgenii Kliuchnikov e1f5788f 2023-04-14T15:46:39 Fix internal buffer reset PiperOrigin-RevId: 524301253
Evgenii Kliuchnikov e5dba91c 2023-03-28T16:17:13 Add BROTLI_ENABLE_DUMP build option PiperOrigin-RevId: 520047051
Evgenii Kliuchnikov f29c44ed 2023-03-15T13:29:35 Avoid nullptr with zero offset PiperOrigin-RevId: 516808122
Evgenii Kliuchnikov cb1ced3a 2023-03-15T08:15:19 speedup decoder by 0.2%-1.2% PiperOrigin-RevId: 516754779
Evgenii Kliuchnikov 57c36a4f 2023-03-02T14:49:53 1.2-2.3% decoder speedup PiperOrigin-RevId: 513524040
Evgenii Kliuchnikov 6db17c87 2023-03-01T16:51:03 0.4-1.5% decoder speedup PiperOrigin-RevId: 513248503
Catena cyber bfa15d40 2023-06-22T10:27:21 fuzz: make target resist allocation failures (#1023) So that fuzzing can go on with simulated allocation failures
Zhang Na 1d8452b7 2023-06-20T15:44:23 Add loongarch64 support (#1022)
Evgenii Kliuchnikov b2c86d18 2023-01-30T18:34:24 Decoder API: added API to attach metadata blocks callbacks PiperOrigin-RevId: 505734532
Evgenii Kliuchnikov 04f294b1 2023-01-29T14:16:20 Fix emitting 1-byte long metadata block PiperOrigin-RevId: 505484299
Brotli 1e61e972 2023-01-27T10:16:21 speed up encoding by ~5 % PiperOrigin-RevId: 505061835
Brotli 36533a86 2023-01-16T18:04:35 Internal change PiperOrigin-RevId: 502401179
Aron Parker 71fe6cac 2023-01-07T22:01:47 Fix BrotliEncoderEstimatePeakMemoryUsage (#1002) Fixes https://github.com/google/brotli/issues/1001
Eugene Kliuchnikov 0ea46038 2023-01-04T12:10:29 Fix MSVC warning (#998) Fix #875
Eugene Kliuchnikov 509d4419 2022-12-22T16:05:25 Copy ns time stat (#992)
Adrian Perez 641bec0e 2022-12-16T12: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.
Evgenii Kliuchnikov a8f5813b 2022-11-17T13: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)
Keith Smiley 6d03dfbe 2022-10-25T12:29:58 Fix -Wstrict-prototypes warnings (#985) Envoy builds brotli with -Werror, and these strict prototypes are picked up by newer versions of clang.
Jyrki Alakuijala 4ec67035 2021-12-07T01:47:07 Merge pull request #929 from jbms/fix-vla-parameter Fix -Werror=vla-parameter errors with GCC 11.2.0
Eugene Kliuchnikov 8376f72e 2021-11-10T10:34:39 Prepare for copybara (#939) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
Jeremy Maitin-Shepard 27dd7265 2021-09-14T12:27:45 Fix -Werror=vla-parameter errors with GCC 11.2.0
Eugene Kliuchnikov 62662f87 2021-09-08T09:18:45 Strip "./" in includes (#925) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
Eugene Kliuchnikov 0e42caf3 2021-08-31T14: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>
Eugene Kliuchnikov 68f1b90a 2021-08-18T19:15:07 Update (#918) Prepare to use copybara worklow.
Eugene Kliuchnikov 19d86fb9 2021-08-04T14:42:02 Merge-in SharedDictionary feature (#916) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
Eugene Kliuchnikov 630b5084 2021-07-29T22: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