1
0
mirror of https://github.com/chylex/Brotli-Builder.git synced 2024-11-24 22:42:50 +01:00
Commit Graph

144 Commits

Author SHA1 Message Date
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
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
20bb732d30 Add a few BrotliLib API utilities to DistanceInfo, TransformType & more 2020-04-06 01:34:59 +02:00
ed931fe700 Update FrequencyList API & update existing uses 2020-04-05 17:34:10 +02:00
aa0cb63f58 Add MetaBlock.Uncompressed constructor that takes ArraySegment 2020-03-18 17:22:11 +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
e25839acf3 Make ArraySegments into 'in' parameters 2020-03-17 09:13:56 +01:00
3663985832 Get rid of MetaBlock.IsLast property 2020-03-15 12:40:20 +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
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
b6ef8b6157 Reduce clutter in markers 2020-02-05 20:02:21 +01:00
968c352724 Work on BrotliLib APIs (DCZ, distance code heuristics, command building, utilities) 2020-02-02 14:57:17 +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
63b0cb7a55 Rewrite BrotliFileStructure decompression state handling and API 2019-11-29 14:03:00 +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
be2d367ea7 Stop generating implicit distance code 0 and breaking defined block lengths 2019-11-27 21:17:17 +01:00
136632d396 Fix being unable to set PaddedEmpty meta-blocks as last 2019-11-27 01:01:00 +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
610cc49e11 Add BrotliSerializationParameters 2019-11-26 12:14:45 +01:00
91f7c849c3 Add multiple marker levels w/ one that skips marking uncompressed data 2019-11-25 18:47:45 +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
612fb784b5 Refactor & reorganize MetaBlock classes 2019-11-23 07:34:23 +01:00
d578fb4346 Reorganize BrotliLib namespaces 2019-11-22 05:44:02 +01:00