1
0
mirror of https://github.com/chylex/Brotli-Builder.git synced 2025-09-06 07:53:09 +02:00

230 Commits

Author SHA1 Message Date
caf2ca9c19 Implement window output strategy for when full output isn't necessary 2019-03-28 04:06:11 +01:00
e7b8d4ce20 Move BrotliGlobalState into a different namespace 2019-03-28 04:01:25 +01:00
9b59e6a988 Move output handling from BrotliGlobalState into a new interface 2019-03-28 03:58:31 +01:00
1e552c2ef1 Add EncodeLiterals w/ UI menu item 2019-03-14 17:12:09 +01:00
329b066017 Add WIP class to help construct compressed meta-blocks 2019-03-14 16:46:24 +01:00
63fceb9e6e Move distance context ID calculation & tweak parts of InsertCopyCommand 2019-03-14 16:38:10 +01:00
e74fbb323d Move IBrotliEncoder implementations into a different namespace 2019-03-14 13:40:20 +01:00
17287c1e9b Improve performance of MultiTrie and dictionary transformations 2019-03-14 13:01:10 +01:00
10366592fc Work on Brotli context map construction and utilities 2019-03-14 08:37:30 +01:00
6c4d5dd2c2 Update BrotliDictionary.GenerateLookup to use default Range parameters 2019-03-14 04:54:36 +01:00
b88fe3f6bd Implement a ghetto way to construct Brotli distance codes 2019-03-14 03:49:31 +01:00
c9b28433d3 Move writing copies and dictionary words to BrotliGlobalState 2019-03-13 12:05:17 +01:00
9fdd2a2389 Add WindowSize as a parameter to IBrotliEncoder.GenerateMetaBlocks 2019-03-13 10:44:11 +01:00
4180882a3f Fix BitDepthFormat.GetPackedValue 2019-03-13 10:00:46 +01:00
1226b78736 Fix DistanceCode.Complex.ToString 2019-03-13 08:22:39 +01:00
6db6dc2bc0 Explain complex distance codes & guard constructors 2019-03-13 08:22:02 +01:00
a9131a3efb Add utilities to help constructing Brotli components & general cleanup 2019-03-13 01:17:09 +01:00
1a18808976 Fix typo in InsertCopyLengthCode constructor 2019-03-12 23:51:38 +01:00
4ce74b4c68 Simplify HuffmanTree construction 2019-03-12 22:20:06 +01:00
943c02d89c Add methods to generate Brotli dictionary lookup tries 2019-03-12 09:39:27 +01:00
835cfdcdaf Refactor distance code zero handling to fix distance buffer push logic 2019-03-12 00:17:40 +01:00
4c0083579a Fix distance encoding using wrong trees w/ postfix bits 2019-03-11 23:26:38 +01:00
b760d566bd Minor refactoring 2019-03-11 10:29:11 +01:00
7d34bc8e98 Optimize memory usage of insert&copy commands 2019-03-11 09:27:53 +01:00
64d19061b2 Add a dummy MarkedBitReader to allow disabling markers 2019-03-11 09:16:08 +01:00
dd4d973e57 Make BitReader.Index an integer (BitStream was already limited to 256 MB) 2019-03-11 09:01:18 +01:00
360ed52eba Fix literal context modes breaking across meta-block boundaries 2019-03-11 06:19:53 +01:00
d8746572d4 Add a way to construct insert&copy length codes from length values w/ unit tests 2019-03-09 03:36:41 +01:00
a46cb9457f Remove unused methods from Category and HuffmanNode 2019-03-09 03:16:14 +01:00
607cfeba64 Include category in BlockTypeInfo to refactor serialization contexts 2019-03-09 03:07:37 +01:00
b08283a8db Improve markers for complex Huffman trees 2019-03-09 01:22:58 +01:00
f98f386b4c Add MarkedBitReader.ReadValue w/ huffman tree and value mapper parameters 2019-03-09 01:22:44 +01:00
285612a1bd Cleanup unused methods and imports 2019-03-07 02:55:48 +01:00
cce96a2567 Fix massive performance issues with MarkerNode 2019-03-06 12:51:50 +01:00
95acb299e1 Implement repeat/skip codes in complex Huffman trees 2019-03-04 17:34:41 +01:00
5a6f4b2ede Implement encoding of RLE and IMTF in Brotli context maps 2019-03-04 11:57:30 +01:00
3d511172a7 Implement markers for all Brotli deserializers 2019-03-03 19:53:42 +01:00
46eb57428c Update ToString (DistanceCode, ComplexLengthCode, HuffmanGenerator.Entry) 2019-03-03 19:53:42 +01:00
6e20da13de Enable deserialization with markers in BrotliFileStructure 2019-03-03 18:47:00 +01:00
7044313e04 Add MarkedBitReader and MarkedBitSerializer w/ a few marker types 2019-03-03 18:47:00 +01:00
07d96290b7 Add Literal to represent literal bytes 2019-03-03 17:27:27 +01:00
03c5f040f6 Redo all Equals/GetHashCode/ToString & add a few missing ones 2019-03-02 11:02:36 +01:00
86e25692b8 Implement Brotli compressed meta-block contents and insert&copy command serialization 2019-02-08 10:52:07 +01:00
cf11a7c0f1 Implement Brotli block-switch command serialization & block tracking 2019-02-08 10:52:07 +01:00
5ffb4bf0be Implement Brotli compressed meta-block header serialization 2019-02-08 10:52:07 +01:00
a7b6d7047d Implement Brotli block type and block length code serialization 2019-02-08 09:24:51 +01:00
66b8795135 Reassign ISLAST bit on meta-blocks after modifying their structure 2019-02-07 02:01:10 +01:00
f3295167b8 Implement basic serialization for Brotli context maps 2018-12-29 02:53:45 +01:00
f81568d95a Make AlphabetSize.BitsPerSymbol return a byte & add default max tree depth constant 2018-12-29 02:48:38 +01:00
5d1823acb0 Implement Brotli distance code and distance value serialization 2018-12-28 22:49:01 +01:00