|
ae65c89970
|
wip
|
2020-04-08 18:12:12 +02:00 |
|
|
c229d678d6
|
Ensure empty command length code lists don't throw an exception
|
2020-04-07 22:49:23 +02:00 |
|
|
fb70490404
|
Add simpler ContextMapBuilder constructors
|
2020-04-07 22:48:22 +02:00 |
|
|
8b531f2e2b
|
Fix broken final block-switch & improve command building API
|
2020-04-07 22:36:59 +02:00 |
|
|
6e4e0509d3
|
Reduce allocations & unnecessary calls in IC commands and distance codes
|
2020-04-07 18:01:09 +02:00 |
|
|
9c57e552a1
|
Split HuffmanGenerator into 2 files & refactor
|
2020-04-07 17:51:34 +02:00 |
|
|
f20b41faf8
|
Optimize BitStream enumeration and cloning & unit test enumeration
|
2020-04-07 17:43:29 +02:00 |
|
|
440fa7fd16
|
Add RingBufferFast & optimize construction
|
2020-04-07 17:41:24 +02:00 |
|
|
b29c044263
|
Minor code fixes (in/readonly keywords, exception messages, LINQ tweaks)
|
2020-04-07 17:41:24 +02:00 |
|
|
4cdf3825d2
|
Rewrite BlockSwitchTracker
|
2020-04-06 20:58:09 +02:00 |
|
|
777f6de11f
|
Add more block-switch command and builder validation
|
2020-04-06 20:57:03 +02:00 |
|
|
5d9ddf89f0
|
Allow last block-switch command to exceed total symbol count in builder
|
2020-04-06 20:52:57 +02:00 |
|
|
20bb732d30
|
Add a few BrotliLib API utilities to DistanceInfo, TransformType & more
|
2020-04-06 01:34:59 +02:00 |
|
|
0fe554e2b3
|
Add block-switch builder command merging & additional validation
|
2020-04-05 19:14:44 +02:00 |
|
|
11df776279
|
Ensure FrequencyList does not have negative or leftover frequency counts
|
2020-04-05 18:11:26 +02:00 |
|
|
3d43f27bc9
|
Make CompressedMetaBlockBuilder return concrete MetaBlock.Compressed type
|
2020-04-05 17:49:32 +02:00 |
|
|
ed931fe700
|
Update FrequencyList API & update existing uses
|
2020-04-05 17:34:10 +02:00 |
|
|
fba5c43d39
|
Add BrotliFileReader output callbacks & IBrotliFileStream default method as extension
|
2020-03-30 13:34:44 +02:00 |
|
|
6fb64d62d2
|
Avoid calling BrotliCompressionParameters code pickers with only 1 candidate
|
2020-03-19 23:00:45 +01:00 |
|
|
e8796b7050
|
Fix BrotliDictionaryIndex.Find length constraints not counting prefix/suffix
|
2020-03-19 22:58:15 +01:00 |
|
|
aa0cb63f58
|
Add MetaBlock.Uncompressed constructor that takes ArraySegment
|
2020-03-18 17:22:11 +01:00 |
|
|
f9a0ec4e7d
|
Add support for merging with last final InsertCopyCommand in CompressedMetaBlockBuilder
|
2020-03-18 17:02:22 +01:00 |
|
|
28082860d4
|
Add compression parameters for generating Huffman trees for block codes
|
2020-03-18 16:56:45 +01:00 |
|
|
2938bdff49
|
Minor builder API additions & fixes
|
2020-03-18 16:56:40 +01:00 |
|
|
c3bd51bed5
|
Add a BrotliGlobalState output callback system & use it for marking copies
|
2020-03-17 14:10:19 +01:00 |
|
|
29d57b15b3
|
Use Literal.ToString to mark raw bytes & add escape codes for tab characters
|
2020-03-17 13:59:09 +01: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 |
|
|
88bd8d928b
|
Rename interface & classes of the new streaming API
|
2020-03-15 16:22:22 +01:00 |
|
|
3663985832
|
Get rid of MetaBlock.IsLast property
|
2020-03-15 12:40:20 +01:00 |
|
|
bd88e17e68
|
Implement proper streaming API for both reading and writing Brotli files
|
2020-03-15 10:44:26 +01:00 |
|
|
5b5a1f1c6e
|
Fix unused using statement & documentation formatting
|
2020-03-15 10:30:38 +01:00 |
|
|
9c4515d9e7
|
Rename DistanceCodeZeroStrategy & repurpose old name for command builder
|
2020-03-15 08:46:14 +01:00 |
|
|
661004e67f
|
Stop generating distance code 0 for commands that don't explicitly request it
|
2020-03-14 17:44:01 +01:00 |
|
|
b919713d7b
|
Fix infinite loop in context map RLE decider
|
2020-03-12 14:30:13 +01:00 |
|
|
9f801adcef
|
Properly implement Huffman tree RLE SplitOneAboveBoundary heuristic & document
|
2020-03-12 07:41:48 +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 |
|
|
40f1588fc8
|
Move BrotliCompressionParameters.GenerateHuffmanTree delegate
|
2020-03-10 05:16:20 +01:00 |
|
|
06ddc3b7cf
|
Move PickCodeHeuristics to a different namespace & fix type constraint
|
2020-03-10 05:02:21 +01:00 |
|
|
aa59f81da5
|
Fix documentation to use <c> instead of <code>
|
2020-03-10 00:42:02 +01:00 |
|
|
ad97ec4e5f
|
Reimplement final command DCZ strategy in CompressedMetaBlockBuilder
|
2020-03-08 22:42:52 +01:00 |
|
|
d22403cb71
|
Fix wrong transformer handling in BrotliEncodePipeline & BrotliFileStructure
|
2020-03-05 16:01:56 +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 |
|
|
6ddacf5898
|
Add option for streaming marker generation & use it in BrotliCalc
|
2020-02-06 02:10:39 +01:00 |
|
|
b6ef8b6157
|
Reduce clutter in markers
|
2020-02-05 20:02:21 +01:00 |
|