-
cd2c37764e
Make MetaBlock classes (mostly) immutable
chylex
2019-10-19 14:15:00 +0200
-
611fac1525
Properly implement and cleanup GetHashCode & Equals in BrotliLib
chylex
2019-10-19 13:47:00 +0200
-
e84dcd4ac9
Address IDE suggestions (C# 8.0) & minor refactoring
chylex
2019-10-19 01:43:54 +0200
-
b07c707759
Upgrade libraries to .NET Standard 2.1 and UI/test projects to .NET Core 3.0
chylex
2019-10-18 20:11:44 +0200
-
53ed337a56
Fix typo in MultiTrie equality checking, causing broken cache
chylex
2019-10-06 07:08:45 +0200
-
073c5261fd
Add BrotliBuilder warning dialog when encode/transform output is mismatched
chylex
2019-10-06 06:48:57 +0200
-
9d4fe1e47e
Update MultiTrie to use ValueTuple instead of KeyValuePair
chylex
2019-10-05 08:14:58 +0200
-
271b43630e
Implement MultiTrie.Node caching for Brotli dictionary index
chylex
2019-10-05 08:14:47 +0200
-
db5bff852c
Add UI menu items to clone files between Generated/Original panels
chylex
2019-10-05 04:28:42 +0200
-
8ecdd90caa
Fix recently introduced crash w/ implicit distance code zero
chylex
2019-10-05 04:19:24 +0200
-
21ddff2b08
Minor UI menu tweaks (Compare Markers state, Encode menu separator)
chylex
2019-10-05 03:53:04 +0200
-
85b0a5e93b
Add console message before processing each file in BrotliCalc
chylex
2019-10-04 17:25:57 +0200
-
3294ac800e
Improve how CR/LF characters are displayed in markers
chylex
2019-10-04 16:47:55 +0200
-
5b44cefe68
Update markers to include backreference & dictionary output
chylex
2019-10-04 16:18:05 +0200
-
0cf685459f
Add BrotliCalc command to generate official compressor size stats
chylex
2019-10-04 15:32:21 +0200
-
eb3833e4da
Fix off-by-x bug when generating dictionary references after hitting window size
chylex
2019-10-04 15:30:15 +0200
-
d8a6713392
Fix broken generation of explicit distance codes 0
chylex
2019-10-04 15:15:27 +0200
-
a12fc7f9e4
Add menu item to save generated output as a file
chylex
2019-10-04 03:27:38 +0200
-
7454ebc81b
Implement dictionary-only & mixed greedy search Brotli encoder
chylex
2019-10-03 21:57:34 +0200
-
e18cede896
Add new Brotli dictionary index system
chylex
2019-10-03 21:56:17 +0200
-
65dbe29dc6
Add a few utilities to CollectionHelper (ContainsAt, Skip)
chylex
2019-10-03 21:23:02 +0200
-
b111f9bd25
Rework MultiTrie structure (less mess, less memory, more performance)
chylex
2019-10-03 18:59:37 +0200
-
9da921fe52
Remove inefficient dictionary index
chylex
2019-10-03 17:17:21 +0200
-
456f8da5ea
Display new line characters in Static Dictionary dialog
chylex
2019-10-03 14:21:30 +0200
-
97ed2ab741
Fix broken spaces in Static Dictionary dialog search filter
chylex
2019-10-01 21:44:26 +0200
-
7eb0420746
Update UI to time structure generation (deserialize/encode/transform)
chylex
2019-10-01 18:42:41 +0200
-
10a0c7b42c
Refactor UI code into a cleaner state-based event system
chylex
2019-10-01 18:40:29 +0200
-
70945c28f8
Add & use Control extensions (MenuItem.Toggle, FlowLayoutPanel.SetChildHeight)
chylex
2019-10-01 14:25:06 +0200
-
11eecb2e61
Move WinMerge code into a utility class
chylex
2019-10-01 12:34:31 +0200
-
806c97748a
Fix Brotli insert© command serialization not picking distance codes efficiently
chylex
2019-07-09 15:43:51 +0200
-
6f60b6008c
Add 'Compare Markers' menu item w/ WinMerge support
chylex
2019-07-09 15:25:05 +0200
-
8740265c5f
Fix small debug log bug in MetaBlockSizeTracker
chylex
2019-07-09 13:59:11 +0200
-
0b7aaec69d
Optimize complex distance codes (with no postfix) w/ unit tests
chylex
2019-07-09 13:53:01 +0200
-
50035519f8
Make most marker values lazy
chylex
2019-07-08 23:46:26 +0200
-
c3b66b50e9
Tweaks for minor performance improvements
chylex
2019-07-08 23:36:10 +0200
-
8759e827dd
Add BrotliCalc command to benchmark reserialization & rebuild
chylex
2019-07-08 18:29:25 +0200
-
05690a1bea
Improve marker memory usage by interning strings
chylex
2019-07-08 18:13:11 +0200
-
895609c3f1
Use dummy writer to improve performance in transformations
chylex
2019-06-18 15:13:09 +0200
-
8b289812bc
Add dummy BitWriter implementation
chylex
2019-06-18 15:08:30 +0200
-
da910cc147
Refactor BitWriter, BitReader, and MarkedBitReader into interfaces
chylex
2019-06-18 07:15:22 +0200
-
8c5ae6a960
Separate IBitSerializer into serializer & deserializer delegates
chylex
2019-06-18 05:00:33 +0200
-
69a941b7a6
Add README file
chylex
2019-06-04 12:51:41 +0200
-
7d3b78e7c5
Add MIT license
Daniel Chýlek
2019-05-30 18:46:58 +0200
-
39168ebe3f
Disable unit test that's failing due to a temporary workaround
1.0
chylex
2019-05-30 17:48:25 +0200
-
d59ea83f6e
Add license files for Brotli & FCTB
chylex
2019-05-30 17:40:30 +0200
-
3cfee1d897
Print command execution time in BrotliCalc
chylex
2019-05-29 17:42:30 +0200
-
648334db9b
Add BrotliCalc commands to test encoders & transformers
chylex
2019-05-29 15:57:05 +0200
-
0eb054a214
Add Brotli transformer that splits insert© lengths into 2 block types
chylex
2019-05-29 00:05:49 +0200
-
5101bb1021
Add GUI option to wrap text in marker info panel
chylex
2019-05-29 00:01:40 +0200
-
96c2a4c2d2
Move BrotliCalc file structure validation and size to BrotliFileGroup
chylex
2019-05-24 19:33:15 +0200
-
bbfe6b5a33
Update BrotliCalc commands for the refactored batch file handling
chylex
2019-05-24 15:19:54 +0200
-
b88d18ab56
Refactor batch file handling in BrotliCalc again
chylex
2019-05-24 15:19:27 +0200
-
52d435dece
Fix invalid complex Huffman tree length codes generated for incomplete trees
chylex
2019-05-24 14:11:52 +0200
-
6baa782fb9
Make DistanceParameters a readonly struct
chylex
2019-05-23 16:24:40 +0200
-
82f212a4b8
Add marker for Brotli block-switch type value
chylex
2019-05-23 15:30:12 +0200
-
1370231216
Add utility Set methods to ContextMap builder
chylex
2019-05-23 15:29:43 +0200
-
74969f8c92
Implement Brotli block-switch command builder
chylex
2019-05-23 14:27:20 +0200
-
cbc0beb952
Update BrotliCalc reserialize/rebuild test command to include diffs
chylex
2019-05-23 14:21:22 +0200
-
f289bb2660
Update CompressedMetaBlockBuilder to use FrequencyLists
chylex
2019-05-23 14:17:06 +0200
-
b90240c180
Update HuffmanTree.FromSymbols to use FrequencyList
chylex
2019-05-23 14:14:43 +0200
-
2bfa048532
Add FrequencyList collection
chylex
2019-05-23 14:11:00 +0200
-
62b5236455
Remove category parameter from CategoryMap.Select
chylex
2019-05-23 13:08:54 +0200
-
9ab0520997
Determine BlockSwitchCommand type codes during serialization instead of storing them
chylex
2019-05-23 11:10:59 +0200
-
ea0453f3cb
Implement workaround for incomplete Huffman tree generation
chylex
2019-05-22 21:24:16 +0200
-
909fd91fe9
Add BrotliCalc command to calculate size after reserialize/rebuild
chylex
2019-05-22 21:22:27 +0200
-
3051373f5d
Add a few properties to BrotliFile in BrotliCalc
chylex
2019-05-22 21:16:47 +0200
-
3130065a7b
Refactor BrotliCalc CSV table code & fix CSV formatting
chylex
2019-05-22 08:56:04 +0200
-
35038985ce
Refactor BrotliCalc batch utilities (quality handling, file order)
chylex
2019-05-22 08:54:20 +0200
-
978725d5db
Change Range.ToString
chylex
2019-05-22 08:52:12 +0200
-
fbe0b299bd
Decrease minimum size of GUIs
chylex
2019-05-21 13:18:07 +0200
-
6bb29382ec
Update exe & dll metadata
chylex
2019-05-20 12:12:19 +0200
-
e39ddf5e27
Make ContextMap builder clone the final array
chylex
2019-05-20 09:48:05 +0200
-
683b939f07
Allow manually selecting text in MarkedTextBox
chylex
2019-05-20 09:47:20 +0200
-
667d934f53
Allow disabling marker generation in the GUI
chylex
2019-05-20 09:31:31 +0200
-
3f90278047
Move encoder and transformer GUI menu items to top-level
chylex
2019-05-20 00:24:45 +0200
-
a6c4632803
Add Brotli encoder that greedily searches for copies
chylex
2019-05-19 23:47:41 +0200
-
7e7b58e533
Fix broken implicit distance code 0 and dictionary distances in CompressedMetaBlockBuilder
chylex
2019-05-19 22:59:56 +0200
-
5148994de4
Fix incorrect RingBuffer state after cloning
chylex
2019-05-19 22:46:31 +0200
-
7e2d8e0f7a
Fix GUI tab index & tweak menu item names
chylex
2019-05-19 09:58:32 +0200
-
6712cc325d
Add option to hide the Marker Info panel
chylex
2019-05-19 09:56:12 +0200
-
8ab371b0e4
Move marker info GUI into the main window & redesign
chylex
2019-05-19 09:35:51 +0200
-
7ed6662ac0
Update GUI (sizes, margins, and disable 'Add Meta-Block (Compressed)' button)
chylex
2019-05-19 07:05:48 +0200
-
f219a35fe0
Add Brotli transformer that tests all distance parameter values
chylex
2019-05-18 08:45:00 +0200
-
529784857f
Fix Windows Forms designer being shit again
chylex
2019-05-18 04:44:36 +0200
-
48244aff50
Move Brotli encoders and transformers off-thread in BrotliBuilder
chylex
2019-05-18 04:23:26 +0200
-
d4fa203f4f
Add MetaBlockSizeTracker utility for meta-block size minimization
chylex
2019-05-18 02:41:44 +0200
-
e349cf112b
Move byte array slicing/cloning into a utility CollectionHelper class
chylex
2019-05-18 00:38:48 +0200
-
35ca0e1fb8
Move existing Brotli encoder & transformer implementations to BrotliImpl
chylex
2019-05-17 22:58:19 +0200
-
ddef90648c
Add BrotliImpl project for Brotli encoder & transformer algorithms
chylex
2019-05-17 23:04:53 +0200
-
bc708a3646
Keep only AnyCPU w/ 32bit disabled, fix mismatched C# version settings
chylex
2019-05-17 19:56:51 +0200
-
143b79aecf
Add convenience method for dictionary references to CompressedMetaBlockBuilder
chylex
2019-05-17 18:52:53 +0200
-
dee0e6c240
Add DictionaryIndexEntry & refactor index serialization
chylex
2019-05-17 18:51:40 +0200
-
417b2b0eed
Add IMultiTrie, move tries to different namespace, revert trie value sorting
chylex
2019-05-17 18:49:21 +0200
-
34d801a70b
Slightly improve strategy for picking Brotli distance codes
chylex
2019-05-17 06:35:26 +0200
-
edae3a9161
Add BrotliCalc command to generate Brotli dictionary index
chylex
2019-05-17 04:49:16 +0200
-
304fa1dd7c
Implement Brotli dictionary trie serialization & include word length in index
chylex
2019-05-17 03:41:10 +0200
-
94263295b5
Abstract out stuff from MultiTrie into a base class
chylex
2019-05-17 02:38:50 +0200
-
1eacd31096
Implement BrotliCalc ICommand argument count checking
chylex
2019-05-16 22:25:26 +0200
-
78052590df
Split Brotli distance codes into multiple files
chylex
2019-05-16 19:58:34 +0200
-
768f2e9ac0
Work on Brotli component validation, constants, and minor refactoring
chylex
2019-05-16 18:48:04 +0200