[PR #824] Recompression #1428

Open
opened 2026-01-29 20:54:02 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/google/brotli/pull/824
Author: @riknel
Created: 8/7/2020
Status: 🔄 Open

Base: recompressionHead: recompression


📝 Commits (10+)

  • 1073576 reuse backward refs in recompression
  • 2b23df6 fix bug with used_stored
  • 78e60c6 reuse backward references fully
  • 3219988 logic for similar file recompression
  • e7f7a6c reuse of block splits added
  • 2c1aaf9 BrotliEncoderCompressSimilarDeletion added
  • 3b7288f BrotliEncoderCompressSimilarDeletion added
  • c2369f7 comments + template for BlockSplitterStoredFinishBlock
  • bbbecc1 tests + merging blocks if adjacent types are the same
  • 51ccb89 code polishing

📊 Changes

38 files changed (+204857 additions, -344 deletions)

View changed files

📝 README.md (+19 -0)
c/compress_similar_files/compress_similar_files.h (+353 -0)
c/compress_similar_files/example.cc (+152 -0)
c/compress_similar_files/makefile (+24 -0)
📝 c/dec/decode.c (+107 -14)
📝 c/dec/state.c (+120 -0)
📝 c/dec/state.h (+17 -0)
📝 c/enc/backward_references.c (+6 -2)
📝 c/enc/backward_references.h (+3 -1)
📝 c/enc/backward_references_inc.h (+45 -30)
📝 c/enc/block_splitter.c (+372 -19)
📝 c/enc/block_splitter.h (+35 -10)
📝 c/enc/cluster_inc.h (+11 -5)
📝 c/enc/encode.c (+66 -26)
📝 c/enc/hash.h (+87 -0)
📝 c/enc/hash_composite_inc.h (+4 -2)
📝 c/enc/hash_forgetful_chain_inc.h (+106 -59)
📝 c/enc/hash_longest_match64_inc.h (+114 -67)
📝 c/enc/hash_longest_match_inc.h (+113 -66)
📝 c/enc/hash_longest_match_quickly_inc.h (+2 -0)

...and 18 more files

📄 Description

Faster and more efficient recompression using previous compression artifacts such as backward references and block splits.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/google/brotli/pull/824 **Author:** [@riknel](https://github.com/riknel) **Created:** 8/7/2020 **Status:** 🔄 Open **Base:** `recompression` ← **Head:** `recompression` --- ### 📝 Commits (10+) - [`1073576`](https://github.com/google/brotli/commit/10735764fe6005784d4bd022ee423f535d43e523) reuse backward refs in recompression - [`2b23df6`](https://github.com/google/brotli/commit/2b23df613d6f3bf704f204597c923bbfa3d6dee2) fix bug with used_stored - [`78e60c6`](https://github.com/google/brotli/commit/78e60c64a3409307434f457616f7e6b723bb36fa) reuse backward references fully - [`3219988`](https://github.com/google/brotli/commit/321998859c6a81e03efb7aaf8350d739b9d287b1) logic for similar file recompression - [`e7f7a6c`](https://github.com/google/brotli/commit/e7f7a6cf8500c53ff5f497a6f9d806c9bbe4cb4e) reuse of block splits added - [`2c1aaf9`](https://github.com/google/brotli/commit/2c1aaf901440f9feb22a79ea808749c7c50cb448) BrotliEncoderCompressSimilarDeletion added - [`3b7288f`](https://github.com/google/brotli/commit/3b7288fee02a5a2bd414c0fa6bda772e6fb0accc) BrotliEncoderCompressSimilarDeletion added - [`c2369f7`](https://github.com/google/brotli/commit/c2369f771cfcdd61cfa50d45e14db7bd987b508c) comments + template for BlockSplitterStoredFinishBlock - [`bbbecc1`](https://github.com/google/brotli/commit/bbbecc18d090a2e8a2ee3759f6df7e4a728db1da) tests + merging blocks if adjacent types are the same - [`51ccb89`](https://github.com/google/brotli/commit/51ccb893f720f1b6ddd54c986fd79b06513c0ed2) code polishing ### 📊 Changes **38 files changed** (+204857 additions, -344 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+19 -0) ➕ `c/compress_similar_files/compress_similar_files.h` (+353 -0) ➕ `c/compress_similar_files/example.cc` (+152 -0) ➕ `c/compress_similar_files/makefile` (+24 -0) 📝 `c/dec/decode.c` (+107 -14) 📝 `c/dec/state.c` (+120 -0) 📝 `c/dec/state.h` (+17 -0) 📝 `c/enc/backward_references.c` (+6 -2) 📝 `c/enc/backward_references.h` (+3 -1) 📝 `c/enc/backward_references_inc.h` (+45 -30) 📝 `c/enc/block_splitter.c` (+372 -19) 📝 `c/enc/block_splitter.h` (+35 -10) 📝 `c/enc/cluster_inc.h` (+11 -5) 📝 `c/enc/encode.c` (+66 -26) 📝 `c/enc/hash.h` (+87 -0) 📝 `c/enc/hash_composite_inc.h` (+4 -2) 📝 `c/enc/hash_forgetful_chain_inc.h` (+106 -59) 📝 `c/enc/hash_longest_match64_inc.h` (+114 -67) 📝 `c/enc/hash_longest_match_inc.h` (+113 -66) 📝 `c/enc/hash_longest_match_quickly_inc.h` (+2 -0) _...and 18 more files_ </details> ### 📄 Description Faster and more efficient recompression using previous compression artifacts such as backward references and block splits. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 20:54:02 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/brotli#1428