1
0
Fork 0
Commit Graph

460 Commits

Author SHA1 Message Date
chylex 6b169a66bd Add a simple transformer to rebuild Brotli files made by official compressor 2019-04-22 17:07:13 +02:00
chylex f736e837e3 Update EncodeLiterals for the updated interfaces 2019-04-22 17:02:19 +02:00
chylex f53a5c755a Add 'Transform...' menu item to main window 2019-04-22 17:00:53 +02:00
chylex 22640d473b Add IBrotliTransformer and utilities for transforming Brotli structures 2019-04-22 16:52:10 +02:00
chylex c6c55fcc97 Automatically fixup structures from IBrotliEncoder so encoders don't have to 2019-04-22 16:47:32 +02:00
chylex b38f6c3485 Implement compressed meta-block reconstruction and chained building 2019-04-22 16:45:30 +02:00
chylex d6c3b5b743 Allow cloning global Brotli state 2019-04-22 16:45:30 +02:00
chylex 0d9e7f91f2 Add block-switch command support in CompressedMetaBlockBuilder 2019-04-22 16:45:30 +02:00
chylex d78202b3a5 Fix broken encoding of direct distances 2019-03-28 20:10:59 +01:00
chylex 230b4c95b1 Add BrotliFileParameters as a parameter to IBrotliEncoder 2019-03-28 04:26:23 +01:00
chylex 18d8f1bff0 Replace references to window size + dictionary w/ BrotliFileParameters 2019-03-28 04:20:08 +01:00
chylex caf2ca9c19 Implement window output strategy for when full output isn't necessary 2019-03-28 04:06:11 +01:00
chylex e7b8d4ce20 Move BrotliGlobalState into a different namespace 2019-03-28 04:01:25 +01:00
chylex 9b59e6a988 Move output handling from BrotliGlobalState into a new interface 2019-03-28 03:58:31 +01:00
chylex 4ec79e2d5f Add cloning constructor to RingBuffer 2019-03-28 03:31:28 +01:00
chylex abd62fb422 Add 'compress' command to BrotliCalc 2019-03-26 03:07:54 +01:00
chylex a33f7c1181 Add utilities for mass (de)compression and CSVs to BrotliCalc 2019-03-26 03:07:54 +01:00
chylex 1e552c2ef1 Add EncodeLiterals w/ UI menu item 2019-03-14 17:12:09 +01:00
chylex 329b066017 Add WIP class to help construct compressed meta-blocks 2019-03-14 16:46:24 +01:00
chylex 63fceb9e6e Move distance context ID calculation & tweak parts of InsertCopyCommand 2019-03-14 16:38:10 +01:00
chylex e74fbb323d Move IBrotliEncoder implementations into a different namespace 2019-03-14 13:40:20 +01:00
chylex 17287c1e9b Improve performance of MultiTrie and dictionary transformations 2019-03-14 13:01:10 +01:00
chylex 0c88dc7086 Fix wrong Range.First/Last property values when not initialized 2019-03-14 09:07:58 +01:00
chylex 10366592fc Work on Brotli context map construction and utilities 2019-03-14 08:37:30 +01:00
chylex 6c4d5dd2c2 Update BrotliDictionary.GenerateLookup to use default Range parameters 2019-03-14 04:54:36 +01:00
chylex 548e44bee2 Make Range a struct & add utility construction methods 2019-03-14 04:54:35 +01:00
chylex b88fe3f6bd Implement a ghetto way to construct Brotli distance codes 2019-03-14 03:49:31 +01:00
chylex c9b28433d3 Move writing copies and dictionary words to BrotliGlobalState 2019-03-13 12:05:17 +01:00
chylex 9fdd2a2389 Add WindowSize as a parameter to IBrotliEncoder.GenerateMetaBlocks 2019-03-13 10:44:11 +01:00
chylex 4180882a3f Fix BitDepthFormat.GetPackedValue 2019-03-13 10:00:46 +01:00
chylex 1226b78736 Fix DistanceCode.Complex.ToString 2019-03-13 08:22:39 +01:00
chylex 6db6dc2bc0 Explain complex distance codes & guard constructors 2019-03-13 08:22:02 +01:00
chylex a9131a3efb Add utilities to help constructing Brotli components & general cleanup 2019-03-13 01:17:09 +01:00
chylex 1a18808976 Fix typo in InsertCopyLengthCode constructor 2019-03-12 23:51:38 +01:00
chylex 4ce74b4c68 Simplify HuffmanTree construction 2019-03-12 22:20:06 +01:00
chylex 943c02d89c Add methods to generate Brotli dictionary lookup tries 2019-03-12 09:39:27 +01:00
chylex 68c3d42783 Add a MultiTrie implementation 2019-03-12 08:13:37 +01:00
chylex 835cfdcdaf Refactor distance code zero handling to fix distance buffer push logic 2019-03-12 00:17:40 +01:00
chylex 4c0083579a Fix distance encoding using wrong trees w/ postfix bits 2019-03-11 23:26:38 +01:00
chylex 80e55a119b Add Resources folder to BrotliCalc intended for brotli.exe & dict files 2019-03-11 10:33:14 +01:00
chylex b760d566bd Minor refactoring 2019-03-11 10:29:11 +01:00
chylex d21af05280 Remove references to siblings in MarkerNode 2019-03-11 10:18:08 +01:00
chylex 7d34bc8e98 Optimize memory usage of insert&copy commands 2019-03-11 09:27:53 +01:00
chylex 64d19061b2 Add a dummy MarkedBitReader to allow disabling markers 2019-03-11 09:16:08 +01:00
chylex dd4d973e57 Make BitReader.Index an integer (BitStream was already limited to 256 MB) 2019-03-11 09:01:18 +01:00
chylex be32999273 Update C# version to latest (currently 7.3) 2019-03-11 08:40:51 +01:00
chylex 360ed52eba Fix literal context modes breaking across meta-block boundaries 2019-03-11 06:19:53 +01:00
chylex 335e52b10c Add BrotliCalc project w/ simple console command interface 2019-03-10 17:18:34 +01:00
chylex d8746572d4 Add a way to construct insert&copy length codes from length values w/ unit tests 2019-03-09 03:36:41 +01:00
chylex ab05269704 Add Range class for inclusive integer ranges 2019-03-09 03:30:51 +01:00