67 Commits
Author SHA1 Message Date
chylex 8b531f2e2b Fix broken final block-switch & improve command building API 2020-04-07 22:36:59 +02:00
chylex 6e4e0509d3 Reduce allocations & unnecessary calls in IC commands and distance codes 2020-04-07 18:01:09 +02:00
chylex b29c044263 Minor code fixes (in/readonly keywords, exception messages, LINQ tweaks) 2020-04-07 17:41:24 +02:00
chylex 4cdf3825d2 Rewrite BlockSwitchTracker 2020-04-06 20:58:09 +02:00
chylex 777f6de11f Add more block-switch command and builder validation 2020-04-06 20:57:03 +02:00
chylex 20bb732d30 Add a few BrotliLib API utilities to DistanceInfo, TransformType & more 2020-04-06 01:34:59 +02:00
chylex 2938bdff49 Minor builder API additions & fixes 2020-03-18 16:56:40 +01:00
chylex 29d57b15b3 Use Literal.ToString to mark raw bytes & add escape codes for tab characters 2020-03-17 13:59:09 +01:00
chylex e25839acf3 Make ArraySegments into 'in' parameters 2020-03-17 09:13:56 +01:00
chylex 9c4515d9e7 Rename DistanceCodeZeroStrategy & repurpose old name for command builder 2020-03-15 08:46:14 +01:00
chylex 661004e67f Stop generating distance code 0 for commands that don't explicitly request it 2020-03-14 17:44:01 +01:00
chylex f8f78d082d Work on BrotliLib APIs (block-switch, builder validation, minor code tweaks) 2020-02-12 19:11:59 +01:00
chylex b6ef8b6157 Reduce clutter in markers 2020-02-05 20:02:21 +01:00
chylex 968c352724 Work on BrotliLib APIs (DCZ, distance code heuristics, command building, utilities) 2020-02-02 14:57:17 +01:00
chylex 1bd0822d63 Work on BrotliLib APIs (compression params, encode pipeline, minor tweaks) 2020-01-28 20:00:28 +01:00
chylex efa84b795d Move & rename Brotli compressed components and utils 2020-01-23 14:55:31 +01:00
chylex 16736e9560 Optimize memory allocations when serializing and building meta-blocks 2019-11-28 02:36:55 +01:00
chylex ad96d2ea42 Tweak Brotli component APIs & add/update ToString() 2019-11-28 02:36:54 +01:00
chylex be2d367ea7 Stop generating implicit distance code 0 and breaking defined block lengths 2019-11-27 21:17:17 +01:00
chylex c9e1b10dbc Enable C# 8 nullable reference types for all projects & fix warnings 2019-11-26 14:42:10 +01:00
chylex e136ffb958 Fix edge cases in distance code picking & Huffman tree serialization 2019-11-25 17:01:02 +01:00
chylex ea44d59778 Minor optimizations and code tweaks 2019-11-24 13:48:18 +01:00
chylex 12ca8ec5a9 Optimize lambdas in Brotli markers 2019-11-23 18:54:08 +01:00
chylex 651a7cfd3c Minor fixes (unit test, documentation, console null check, null assignment operator) 2019-11-23 07:34:23 +01:00
chylex 3f493862a4 Refactor & reorganize MetaBlock components 2019-11-23 07:34:23 +01:00
chylex 612fb784b5 Refactor & reorganize MetaBlock classes 2019-11-23 07:34:23 +01:00
chylex d578fb4346 Reorganize BrotliLib namespaces 2019-11-22 05:44:02 +01:00
chylex 04a23663b0 Reorganize HuffmanTree & BlockSwitchTracker 2019-10-31 19:13:08 +01:00
chylex 974541b937 Minor BrotliLib refactoring (ranges, exceptions, formatting) 2019-10-31 19:13:08 +01:00
chylex 94f3288bb7 Reimplement complex distance code construction & update documentation 2019-10-20 22:07:23 +02:00
chylex 79a96735a5 Move various log2(int) implementations into a utility class 2019-10-20 06:29:43 +02:00
chylex 611fac1525 Properly implement and cleanup GetHashCode & Equals in BrotliLib 2019-10-19 15:27:39 +02:00
chylex e84dcd4ac9 Address IDE suggestions (C# 8.0) & minor refactoring 2019-10-19 01:43:54 +02:00
chylex 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
chylex 3294ac800e Improve how CR/LF characters are displayed in markers 2019-10-04 16:47:55 +02:00
chylex 806c97748a Fix Brotli insert&copy command serialization not picking distance codes efficiently 2019-07-09 15:55:27 +02:00
chylex 0b7aaec69d Optimize complex distance codes (with no postfix) w/ unit tests 2019-07-09 15:00:21 +02:00
chylex c3b66b50e9 Tweaks for minor performance improvements 2019-07-08 23:36:10 +02:00
chylex da910cc147 Refactor BitWriter, BitReader, and MarkedBitReader into interfaces 2019-06-18 15:06:39 +02:00
chylex 8c5ae6a960 Separate IBitSerializer into serializer & deserializer delegates 2019-06-18 05:00:33 +02:00
chylex 6baa782fb9 Make DistanceParameters a readonly struct 2019-05-23 16:24:40 +02:00
chylex 74969f8c92 Implement Brotli block-switch command builder 2019-05-23 15:28:30 +02:00
chylex 9ab0520997 Determine BlockSwitchCommand type codes during serialization instead of storing them 2019-05-23 11:10:59 +02:00
chylex 34d801a70b Slightly improve strategy for picking Brotli distance codes 2019-05-17 06:35:26 +02:00
chylex 78052590df Split Brotli distance codes into multiple files 2019-05-16 21:01:18 +02:00
chylex 768f2e9ac0 Work on Brotli component validation, constants, and minor refactoring 2019-05-16 19:09:58 +02:00
chylex 632f94eef9 Refactor Brotli element construction to guard mutability 2019-05-16 18:25:30 +02:00
chylex d78202b3a5 Fix broken encoding of direct distances 2019-03-28 20:10:59 +01:00
chylex e7b8d4ce20 Move BrotliGlobalState into a different namespace 2019-03-28 04:01:25 +01:00
chylex 63fceb9e6e Move distance context ID calculation & tweak parts of InsertCopyCommand 2019-03-14 16:38:10 +01:00