1
0
mirror of https://github.com/chylex/Brotli-Builder.git synced 2024-10-17 12:42:47 +02:00
Commit Graph

75 Commits

Author SHA1 Message Date
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
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
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
6fb64d62d2 Avoid calling BrotliCompressionParameters code pickers with only 1 candidate 2020-03-19 23:00:45 +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
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
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
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
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
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
9ee7376bf2 Reduce code duplication when constructing BrotliGlobalState 2020-01-23 08:25:18 +01:00
a6a1eefcf3 Minor code and API tweaks (collections, literal output, LiteralContextMode) 2019-11-30 03:07:33 +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
e8887b012a Work on encoder/transformer API 2019-11-27 00:30:25 +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
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
cd2c37764e Make MetaBlock classes (mostly) immutable 2019-10-19 15:27:39 +02:00
8ecdd90caa Fix recently introduced crash w/ implicit distance code zero
Caused by d8a6713392
2019-10-05 04:19:24 +02:00
eb3833e4da Fix off-by-x bug when generating dictionary references after hitting window size 2019-10-04 15:30:15 +02:00
d8a6713392 Fix broken generation of explicit distance codes 0 2019-10-04 15:15:27 +02:00
e18cede896 Add new Brotli dictionary index system 2019-10-03 21:56:17 +02:00
74969f8c92 Implement Brotli block-switch command builder 2019-05-23 15:28:30 +02:00
f289bb2660 Update CompressedMetaBlockBuilder to use FrequencyLists 2019-05-23 14:18:55 +02:00