|
5b44cefe68
|
Update markers to include backreference & dictionary output
|
2019-10-04 16:18:05 +02:00 |
|
|
eb3833e4da
|
Fix off-by-x bug when generating dictionary references after hitting window size
|
2019-10-04 15:30:15 +02:00 |
|
|
d8a6713392
|
Fix broken generation of explicit distance codes 0
|
2019-10-04 15:15:27 +02:00 |
|
|
e18cede896
|
Add new Brotli dictionary index system
|
2019-10-03 21:56:17 +02:00 |
|
|
9da921fe52
|
Remove inefficient dictionary index
|
2019-10-03 17:17:21 +02:00 |
|
|
806c97748a
|
Fix Brotli insert© command serialization not picking distance codes efficiently
|
2019-07-09 15:55:27 +02:00 |
|
|
0b7aaec69d
|
Optimize complex distance codes (with no postfix) w/ unit tests
|
2019-07-09 15:00:21 +02:00 |
|
|
50035519f8
|
Make most marker values lazy
|
2019-07-08 23:46:26 +02:00 |
|
|
c3b66b50e9
|
Tweaks for minor performance improvements
|
2019-07-08 23:36:10 +02:00 |
|
|
05690a1bea
|
Improve marker memory usage by interning strings
|
2019-07-08 18:13:11 +02:00 |
|
|
895609c3f1
|
Use dummy writer to improve performance in transformations
|
2019-06-18 15:13:09 +02:00 |
|
|
da910cc147
|
Refactor BitWriter, BitReader, and MarkedBitReader into interfaces
|
2019-06-18 15:06:39 +02:00 |
|
|
8c5ae6a960
|
Separate IBitSerializer into serializer & deserializer delegates
|
2019-06-18 05:00:33 +02:00 |
|
|
52d435dece
|
Fix invalid complex Huffman tree length codes generated for incomplete trees
|
2019-05-24 14:11:52 +02:00 |
|
|
6baa782fb9
|
Make DistanceParameters a readonly struct
|
2019-05-23 16:24:40 +02:00 |
|
|
82f212a4b8
|
Add marker for Brotli block-switch type value
|
2019-05-23 15:30:12 +02:00 |
|
|
1370231216
|
Add utility Set methods to ContextMap builder
|
2019-05-23 15:29:43 +02:00 |
|
|
74969f8c92
|
Implement Brotli block-switch command builder
|
2019-05-23 15:28:30 +02:00 |
|
|
f289bb2660
|
Update CompressedMetaBlockBuilder to use FrequencyLists
|
2019-05-23 14:18:55 +02:00 |
|
|
b90240c180
|
Update HuffmanTree.FromSymbols to use FrequencyList
|
2019-05-23 14:15:21 +02:00 |
|
|
62b5236455
|
Remove category parameter from CategoryMap.Select
|
2019-05-23 13:11:52 +02:00 |
|
|
9ab0520997
|
Determine BlockSwitchCommand type codes during serialization instead of storing them
|
2019-05-23 11:10:59 +02:00 |
|
|
e39ddf5e27
|
Make ContextMap builder clone the final array
|
2019-05-20 09:48:05 +02:00 |
|
|
7e7b58e533
|
Fix broken implicit distance code 0 and dictionary distances in CompressedMetaBlockBuilder
|
2019-05-19 23:18:04 +02:00 |
|
|
d4fa203f4f
|
Add MetaBlockSizeTracker utility for meta-block size minimization
|
2019-05-18 02:41:44 +02:00 |
|
|
e349cf112b
|
Move byte array slicing/cloning into a utility CollectionHelper class
|
2019-05-18 00:38:48 +02:00 |
|
|
35ca0e1fb8
|
Move existing Brotli encoder & transformer implementations to BrotliImpl
|
2019-05-17 23:06:41 +02:00 |
|
|
143b79aecf
|
Add convenience method for dictionary references to CompressedMetaBlockBuilder
|
2019-05-17 18:54:55 +02:00 |
|
|
dee0e6c240
|
Add DictionaryIndexEntry & refactor index serialization
|
2019-05-17 18:54:55 +02:00 |
|
|
417b2b0eed
|
Add IMultiTrie, move tries to different namespace, revert trie value sorting
|
2019-05-17 18:54:55 +02:00 |
|
|
34d801a70b
|
Slightly improve strategy for picking Brotli distance codes
|
2019-05-17 06:35:26 +02:00 |
|
|
304fa1dd7c
|
Implement Brotli dictionary trie serialization & include word length in index
|
2019-05-17 03:41:10 +02:00 |
|
|
78052590df
|
Split Brotli distance codes into multiple files
|
2019-05-16 21:01:18 +02:00 |
|
|
768f2e9ac0
|
Work on Brotli component validation, constants, and minor refactoring
|
2019-05-16 19:09:58 +02:00 |
|
|
632f94eef9
|
Refactor Brotli element construction to guard mutability
|
2019-05-16 18:25:30 +02:00 |
|
|
d85badda47
|
Add a few TODOs
|
2019-04-22 22:59:15 +02:00 |
|
|
6b169a66bd
|
Add a simple transformer to rebuild Brotli files made by official compressor
|
2019-04-22 17:07:13 +02:00 |
|
|
f736e837e3
|
Update EncodeLiterals for the updated interfaces
|
2019-04-22 17:02:19 +02:00 |
|
|
22640d473b
|
Add IBrotliTransformer and utilities for transforming Brotli structures
|
2019-04-22 16:52:10 +02:00 |
|
|
c6c55fcc97
|
Automatically fixup structures from IBrotliEncoder so encoders don't have to
|
2019-04-22 16:47:32 +02:00 |
|
|
b38f6c3485
|
Implement compressed meta-block reconstruction and chained building
|
2019-04-22 16:45:30 +02:00 |
|
|
d6c3b5b743
|
Allow cloning global Brotli state
|
2019-04-22 16:45:30 +02:00 |
|
|
0d9e7f91f2
|
Add block-switch command support in CompressedMetaBlockBuilder
|
2019-04-22 16:45:30 +02:00 |
|
|
d78202b3a5
|
Fix broken encoding of direct distances
|
2019-03-28 20:10:59 +01:00 |
|
|
230b4c95b1
|
Add BrotliFileParameters as a parameter to IBrotliEncoder
|
2019-03-28 04:26:23 +01:00 |
|
|
18d8f1bff0
|
Replace references to window size + dictionary w/ BrotliFileParameters
|
2019-03-28 04:20:08 +01:00 |
|
|
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 |
|