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

67 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
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
2938bdff49 Minor builder API additions & fixes 2020-03-18 16:56:40 +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
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
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
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
c9e1b10dbc Enable C# 8 nullable reference types for all projects & fix warnings 2019-11-26 14:42:10 +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
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
94f3288bb7 Reimplement complex distance code construction & update documentation 2019-10-20 22:07:23 +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
3294ac800e Improve how CR/LF characters are displayed in markers 2019-10-04 16:47:55 +02:00
806c97748a Fix Brotli insert&copy 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
c3b66b50e9 Tweaks for minor performance improvements 2019-07-08 23:36:10 +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
6baa782fb9 Make DistanceParameters a readonly struct 2019-05-23 16:24:40 +02:00
74969f8c92 Implement Brotli block-switch command builder 2019-05-23 15:28:30 +02:00
9ab0520997 Determine BlockSwitchCommand type codes during serialization instead of storing them 2019-05-23 11:10:59 +02:00
34d801a70b Slightly improve strategy for picking Brotli distance codes 2019-05-17 06:35:26 +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
d78202b3a5 Fix broken encoding of direct distances 2019-03-28 20:10:59 +01:00
e7b8d4ce20 Move BrotliGlobalState into a different namespace 2019-03-28 04:01:25 +01:00
63fceb9e6e Move distance context ID calculation & tweak parts of InsertCopyCommand 2019-03-14 16:38:10 +01:00