|
9c57e552a1
|
Split HuffmanGenerator into 2 files & refactor
|
2020-04-07 17:51:34 +02:00 |
|
|
b29c044263
|
Minor code fixes (in/readonly keywords, exception messages, LINQ tweaks)
|
2020-04-07 17:41:24 +02:00 |
|
|
ed931fe700
|
Update FrequencyList API & update existing uses
|
2020-04-05 17:34:10 +02:00 |
|
|
b919713d7b
|
Fix infinite loop in context map RLE decider
|
2020-03-12 14:30:13 +01:00 |
|
|
06bb3a316d
|
Add serialization parameter to control length code tree generation for Huffman trees
|
2020-03-11 09:17:36 +01:00 |
|
|
da747b875f
|
Implement Huffman tree RLE decider & add official heuristic as default
|
2020-03-11 03:38:14 +01:00 |
|
|
bd539907d8
|
Tweak context map serialization code & markers
|
2020-03-10 05:40:07 +01:00 |
|
|
833c6f1359
|
Implement context map RLE decider, add it & Huffman tree gen to serialization params
|
2020-03-10 05:39:34 +01:00 |
|
|
aa59f81da5
|
Fix documentation to use <c> instead of <code>
|
2020-03-10 00:42:02 +01:00 |
|
|
3dbd109c56
|
Move ContextMap builder into a separate class and reduce dependencies on it
|
2020-03-04 20:10:53 +01:00 |
|
|
f8f78d082d
|
Work on BrotliLib APIs (block-switch, builder validation, minor code tweaks)
|
2020-02-12 19:11:59 +01:00 |
|
|
1bd0822d63
|
Work on BrotliLib APIs (compression params, encode pipeline, minor tweaks)
|
2020-01-28 20:00:28 +01:00 |
|
|
efa84b795d
|
Move & rename Brotli compressed components and utils
|
2020-01-23 14:55:31 +01:00 |
|
|
a2baff135a
|
Rework ContextMap.Builder API & move MoveToFront
|
2020-01-23 11:25:16 +01:00 |
|
|
73fef4c8e0
|
Add Brotli serialization param to determine Huffman tree skip/repeat code usage
|
2019-12-31 05:59:52 +01:00 |
|
|
a6a1eefcf3
|
Minor code and API tweaks (collections, literal output, LiteralContextMode)
|
2019-11-30 03:07:33 +01:00 |
|
|
53f3f2b7d2
|
Remove HuffmanNode.SymbolCount and use HuffmanTree lookup instead
|
2019-11-30 01:48:09 +01:00 |
|
|
08544f7298
|
Improve performance & memory usage of serialization
|
2019-11-29 14:47:41 +01:00 |
|
|
16736e9560
|
Optimize memory allocations when serializing and building meta-blocks
|
2019-11-28 02:36:55 +01:00 |
|
|
ad96d2ea42
|
Tweak Brotli component APIs & add/update ToString()
|
2019-11-28 02:36:54 +01:00 |
|
|
e93ffbbc6e
|
Move BrotliFileParameters & BrotliSerializationParameters to a different namespace
|
2019-11-26 18:25:17 +01:00 |
|
|
c9e1b10dbc
|
Enable C# 8 nullable reference types for all projects & fix warnings
|
2019-11-26 14:42:10 +01:00 |
|
|
75f02483e7
|
Move decision-making for ContextMap IMTF/RLE to BrotliSerializationParameters
|
2019-11-26 12:44:21 +01:00 |
|
|
e136ffb958
|
Fix edge cases in distance code picking & Huffman tree serialization
|
2019-11-25 17:01:02 +01:00 |
|
|
ea44d59778
|
Minor optimizations and code tweaks
|
2019-11-24 13:48:18 +01:00 |
|
|
12ca8ec5a9
|
Optimize lambdas in Brotli markers
|
2019-11-23 18:54:08 +01:00 |
|
|
651a7cfd3c
|
Minor fixes (unit test, documentation, console null check, null assignment operator)
|
2019-11-23 07:34:23 +01:00 |
|
|
3f493862a4
|
Refactor & reorganize MetaBlock components
|
2019-11-23 07:34:23 +01:00 |
|
|
d578fb4346
|
Reorganize BrotliLib namespaces
|
2019-11-22 05:44:02 +01:00 |
|
|
26e8f01155
|
Avoid creating HuffmanTree lookup structure when only deserializing
|
2019-11-01 17:47:50 +01:00 |
|
|
4c029e4676
|
Avoid creating unnecessary marker objects & tweak TitleMarker
|
2019-11-01 17:46:41 +01:00 |
|
|
4e7c08879c
|
Fix broken multithreading in Brotli deserialization
|
2019-11-01 10:06:34 +01:00 |
|
|
04a23663b0
|
Reorganize HuffmanTree & BlockSwitchTracker
|
2019-10-31 19:13:08 +01:00 |
|
|
974541b937
|
Minor BrotliLib refactoring (ranges, exceptions, formatting)
|
2019-10-31 19:13:08 +01:00 |
|
|
f9838bca04
|
Improve efficiency of encoding Huffman tree repetition codes
|
2019-10-21 00:16:20 +02:00 |
|
|
87011bc853
|
Rewrite AlphabetSize.BitsPerSymbol to use Log2 utility class
|
2019-10-20 06:40:37 +02:00 |
|
|
79a96735a5
|
Move various log2(int) implementations into a utility class
|
2019-10-20 06:29:43 +02:00 |
|
|
611fac1525
|
Properly implement and cleanup GetHashCode & Equals in BrotliLib
|
2019-10-19 15:27:39 +02:00 |
|
|
e84dcd4ac9
|
Address IDE suggestions (C# 8.0) & minor refactoring
|
2019-10-19 01:43:54 +02:00 |
|
|
b07c707759
|
Upgrade libraries to .NET Standard 2.1 and UI/test projects to .NET Core 3.0
|
2019-10-18 20:11:44 +02:00 |
|
|
50035519f8
|
Make most marker values lazy
|
2019-07-08 23:46:26 +02:00 |
|
|
05690a1bea
|
Improve marker memory usage by interning strings
|
2019-07-08 18:13:11 +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 |
|
|
1370231216
|
Add utility Set methods to ContextMap builder
|
2019-05-23 15:29:43 +02:00 |
|
|
b90240c180
|
Update HuffmanTree.FromSymbols to use FrequencyList
|
2019-05-23 14:15:21 +02:00 |
|
|
e39ddf5e27
|
Make ContextMap builder clone the final array
|
2019-05-20 09:48:05 +02:00 |
|
|
e349cf112b
|
Move byte array slicing/cloning into a utility CollectionHelper class
|
2019-05-18 00:38:48 +02:00 |
|