|
9c57e552a1
|
Split HuffmanGenerator into 2 files & refactor
|
2020-04-07 17:51:34 +02:00 |
|
|
440fa7fd16
|
Add RingBufferFast & optimize construction
|
2020-04-07 17:41:24 +02:00 |
|
|
11df776279
|
Ensure FrequencyList does not have negative or leftover frequency counts
|
2020-04-05 18:11:26 +02:00 |
|
|
ed931fe700
|
Update FrequencyList API & update existing uses
|
2020-04-05 17:34:10 +02:00 |
|
|
b2272ac8ce
|
Turn % operator into bitwise AND where possible
|
2020-03-17 10:02:53 +01:00 |
|
|
e25839acf3
|
Make ArraySegments into 'in' parameters
|
2020-03-17 09:13:56 +01:00 |
|
|
e8ab507ef4
|
Change dictionary index to find all matches & allow min length of 1
|
2020-03-16 12:32:12 +01:00 |
|
|
aa59f81da5
|
Fix documentation to use <c> instead of <code>
|
2020-03-10 00:42:02 +01:00 |
|
|
1bd0822d63
|
Work on BrotliLib APIs (compression params, encode pipeline, minor tweaks)
|
2020-01-28 20:00:28 +01:00 |
|
|
a2baff135a
|
Rework ContextMap.Builder API & move MoveToFront
|
2020-01-23 11:25:16 +01:00 |
|
|
cda71bb37b
|
Remove MultiTrie & update dictionary index to use PATRICIA trees instead
|
2019-12-31 03:53:01 +01:00 |
|
|
8ecc974994
|
Add PATRICIA tree structure
|
2019-12-31 03:48:41 +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 |
|
|
e8887b012a
|
Work on encoder/transformer API
|
2019-11-27 00:30:25 +01:00 |
|
|
c9e1b10dbc
|
Enable C# 8 nullable reference types for all projects & fix warnings
|
2019-11-26 14:42:10 +01:00 |
|
|
280d5e6c6e
|
Add BitPath to use in HuffmanGenerator instead of BitStream
|
2019-11-24 13:54:30 +01:00 |
|
|
ea44d59778
|
Minor optimizations and code tweaks
|
2019-11-24 13:48:18 +01:00 |
|
|
d578fb4346
|
Reorganize BrotliLib namespaces
|
2019-11-22 05:44:02 +01:00 |
|
|
c80f8b3ade
|
Add optimized byte[] comparison to CollectionHelper & use it in BrotliCalc
|
2019-11-01 18:04:38 +01:00 |
|
|
974541b937
|
Minor BrotliLib refactoring (ranges, exceptions, formatting)
|
2019-10-31 19:13:08 +01: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 |
|
|
53ed337a56
|
Fix typo in MultiTrie equality checking, causing broken cache
|
2019-10-06 07:08:45 +02:00 |
|
|
9d4fe1e47e
|
Update MultiTrie to use ValueTuple instead of KeyValuePair
|
2019-10-05 08:14:58 +02:00 |
|
|
271b43630e
|
Implement MultiTrie.Node caching for Brotli dictionary index
|
2019-10-05 08:14:47 +02:00 |
|
|
65dbe29dc6
|
Add a few utilities to CollectionHelper (ContainsAt, Skip)
|
2019-10-03 21:23:02 +02:00 |
|
|
b111f9bd25
|
Rework MultiTrie structure (less mess, less memory, more performance)
|
2019-10-03 18:59:37 +02:00 |
|
|
c3b66b50e9
|
Tweaks for minor performance improvements
|
2019-07-08 23:36:10 +02:00 |
|
|
2bfa048532
|
Add FrequencyList collection
|
2019-05-23 14:11:00 +02:00 |
|
|
5148994de4
|
Fix incorrect RingBuffer state after cloning
|
2019-05-19 22:46:31 +02:00 |
|
|
e349cf112b
|
Move byte array slicing/cloning into a utility CollectionHelper class
|
2019-05-18 00:38:48 +02:00 |
|
|
417b2b0eed
|
Add IMultiTrie, move tries to different namespace, revert trie value sorting
|
2019-05-17 18:54:55 +02:00 |
|
|
94263295b5
|
Abstract out stuff from MultiTrie into a base class
|
2019-05-17 02:38:50 +02:00 |
|
|
4ec79e2d5f
|
Add cloning constructor to RingBuffer
|
2019-03-28 03:31:28 +01:00 |
|
|
17287c1e9b
|
Improve performance of MultiTrie and dictionary transformations
|
2019-03-14 13:01:10 +01:00 |
|
|
68c3d42783
|
Add a MultiTrie implementation
|
2019-03-12 08:13:37 +01:00 |
|
|
b3d81c67f1
|
Add PriorityQueue
|
2018-12-14 11:55:22 +01:00 |
|
|
6e3a50d9a6
|
Add fixed-size RingBuffer w/ unit tests
|
2018-11-21 18:02:49 +01:00 |
|