chylex
|
0b5940d322
|
Update README (simplified thesis)
|
2020-06-24 15:24:18 +02:00 |
|
chylex
|
74c78b676a
|
Include a simplified version of the paper
|
2020-06-24 15:06:41 +02:00 |
|
chylex
|
55345897a1
|
Fix GUI example image in the paper
|
2020-06-24 13:07:33 +02:00 |
|
chylex
|
82c8ae8b0e
|
Add thesis
|
2020-05-14 23:32:45 +02:00 |
|
 chylexandGitHub
|
9cfba5216f
|
Create FUNDING.yml
|
2020-05-13 23:24:00 +02:00 |
|
chylex
|
d66824e96b
|
Release 2.0.0
|
2020-05-11 01:10:27 +02:00 |
|
chylex
|
d0bd75cde3
|
Add mention of streaming APIs & update brotli exe info in README
|
2020-05-11 01:03:07 +02:00 |
|
chylex
|
0e041a8d3c
|
Add an experimental greedy block splitter to BrotliImpl
|
2020-05-11 00:31:58 +02:00 |
|
chylex
|
91082bc560
|
Fix BrotliBuilder menu ampersand
|
2020-05-11 00:29:59 +02:00 |
|
chylex
|
ef1be3fad0
|
Fix BlockSwitchBuilder initial length reset & leaking command list reference
|
2020-05-09 17:39:24 +02:00 |
|
chylex
|
62f6970da2
|
Include literal context modes in extract-header-meta command
|
2020-05-09 17:38:41 +02:00 |
|
chylex
|
25b546d677
|
Add BrotliImpl transformer that tries avoiding Last distance codes
|
2020-05-03 19:41:47 +02:00 |
|
chylex
|
7b536a0cf3
|
Add test data corpus
|
2020-04-17 11:04:58 +02:00 |
|
chylex
|
f20e0d0f19
|
Refactor marker building & optimize multi-meta-block marker generation
|
2020-04-16 19:18:04 +02:00 |
|
chylex
|
4af77b919f
|
Add missing dictionary parameter in BrotliFile
|
2020-04-16 18:39:07 +02:00 |
|
chylex
|
515ca92fd1
|
Add BrotliCalc command to extract block types
|
2020-04-14 07:22:17 +02:00 |
|
chylex
|
a7dc957f80
|
Add official compressor's quality 4 to BrotliImpl
|
2020-04-14 06:41:50 +02:00 |
|
chylex
|
5594a9589a
|
Implement limited dictionary index that mimics official dictionary lookup (q 2-9)
|
2020-04-14 06:40:04 +02:00 |
|
chylex
|
5a57d3ebd1
|
Add BrotliBuilder menu item to compare markers without bit counts
|
2020-04-14 06:34:00 +02:00 |
|
chylex
|
3e891a9edd
|
Remove TODOs in BrotliCompressionParameters
|
2020-04-14 06:30:26 +02:00 |
|
chylex
|
20b770f2ef
|
Expose WordTransform prefix/suffix information
|
2020-04-14 06:30:05 +02:00 |
|
chylex
|
9f246bf833
|
Add BrotliImpl transformer that reimplements official block splitter (q 4-9)
|
2020-04-14 05:11:33 +02:00 |
|
chylex
|
f6bba3d604
|
Add BrotliImpl transformers to reset some header parameters
|
2020-04-14 05:06:06 +02:00 |
|
chylex
|
435b9d8e5b
|
Simplify context map construction
|
2020-04-12 09:55:37 +02:00 |
|
chylex
|
eee5f88be7
|
Disable F# indentation warnings in some test files
|
2020-04-09 01:27:24 +02:00 |
|
chylex
|
a6f194b4d8
|
Fix nullability hints in FileWorker
|
2020-04-08 17:20:58 +02:00 |
|
chylex
|
f28bf6b619
|
Add BrotliBuilder menu option to break debugger
|
2020-04-08 16:57:56 +02:00 |
|
chylex
|
998e5b2fc0
|
Add error message when BrotliCalc is given a folder w/o uncompressed files
|
2020-04-08 16:40:47 +02:00 |
|
chylex
|
c229d678d6
|
Ensure empty command length code lists don't throw an exception
|
2020-04-07 22:49:23 +02:00 |
|
chylex
|
fb70490404
|
Add simpler ContextMapBuilder constructors
|
2020-04-07 22:48:22 +02:00 |
|
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
|
9c57e552a1
|
Split HuffmanGenerator into 2 files & refactor
|
2020-04-07 17:51:34 +02:00 |
|
chylex
|
f20b41faf8
|
Optimize BitStream enumeration and cloning & unit test enumeration
|
2020-04-07 17:43:29 +02:00 |
|
chylex
|
440fa7fd16
|
Add RingBufferFast & optimize construction
|
2020-04-07 17:41:24 +02:00 |
|
chylex
|
b29c044263
|
Minor code fixes (in/readonly keywords, exception messages, LINQ tweaks)
|
2020-04-07 17:41:24 +02:00 |
|
chylex
|
6227914384
|
Add compressed meta-block panel to BrotliBuilder w/ command filtering
|
2020-04-07 00:45:42 +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
|
5d9ddf89f0
|
Allow last block-switch command to exceed total symbol count in builder
|
2020-04-06 20:52:57 +02:00 |
|
chylex
|
20bb732d30
|
Add a few BrotliLib API utilities to DistanceInfo, TransformType & more
|
2020-04-06 01:34:59 +02:00 |
|
chylex
|
0fe554e2b3
|
Add block-switch builder command merging & additional validation
|
2020-04-05 19:14:44 +02:00 |
|
chylex
|
11df776279
|
Ensure FrequencyList does not have negative or leftover frequency counts
|
2020-04-05 18:11:26 +02:00 |
|
chylex
|
3d43f27bc9
|
Make CompressedMetaBlockBuilder return concrete MetaBlock.Compressed type
|
2020-04-05 17:49:32 +02:00 |
|
chylex
|
ed931fe700
|
Update FrequencyList API & update existing uses
|
2020-04-05 17:34:10 +02:00 |
|
chylex
|
21dc319539
|
Add anchor (^$) support to Static Dictionary dialog & tweak UI
|
2020-04-05 17:02:08 +02:00 |
|
chylex
|
b4e55f2f54
|
Update validate-compression cmd to use streaming API & distinguish mismatch and exception
|
2020-03-31 12:02:46 +02:00 |
|
chylex
|
fba5c43d39
|
Add BrotliFileReader output callbacks & IBrotliFileStream default method as extension
|
2020-03-30 13:34:44 +02:00 |
|
chylex
|
3dd95dec86
|
Make BrotliCalc find (other) compressed files when path points to a file
|
2020-03-30 11:45:26 +02:00 |
|
chylex
|
7afdbe3e10
|
Fix relative paths in BrotliCalc
|
2020-03-30 11:15:15 +02:00 |
|
chylex
|
55f3010362
|
Expand console buffer height in BrotliCalc & fix long error messages
|
2020-03-30 10:04:16 +02:00 |
|
chylex
|
6db7509b81
|
Work around Thread.Abort being removed from .NET Core
|
2020-03-30 08:06:49 +02:00 |
|
chylex
|
6f118ab05c
|
Fix broken menu checkboxes w/ legacy menu
|
2020-03-26 23:46:16 +01:00 |
|
chylex
|
6fb64d62d2
|
Avoid calling BrotliCompressionParameters code pickers with only 1 candidate
|
2020-03-19 23:00:45 +01:00 |
|
chylex
|
e8796b7050
|
Fix BrotliDictionaryIndex.Find length constraints not counting prefix/suffix
|
2020-03-19 22:58:15 +01:00 |
|
chylex
|
1183f9fdec
|
Split BrotliCalc test-reserialize-rebuild command into test-reserialize & test-rebuild
|
2020-03-19 16:51:10 +01:00 |
|
chylex
|
a9e8ecece6
|
Add separators to BrotliCalc command list
|
2020-03-19 16:41:20 +01:00 |
|
chylex
|
a3cec2a898
|
Simplify EncodeUncompressedOnly implementation
|
2020-03-18 17:22:30 +01:00 |
|
chylex
|
aa0cb63f58
|
Add MetaBlock.Uncompressed constructor that takes ArraySegment
|
2020-03-18 17:22:11 +01:00 |
|
chylex
|
f9a0ec4e7d
|
Add support for merging with last final InsertCopyCommand in CompressedMetaBlockBuilder
|
2020-03-18 17:02:22 +01:00 |
|
chylex
|
28082860d4
|
Add compression parameters for generating Huffman trees for block codes
|
2020-03-18 16:56:45 +01:00 |
|
chylex
|
2938bdff49
|
Minor builder API additions & fixes
|
2020-03-18 16:56:40 +01:00 |
|
chylex
|
4b427cb7b4
|
Add BrotliCalc command for stats about literals and backward/dictionary references
|
2020-03-17 15:14:53 +01:00 |
|
chylex
|
678d0f1b9d
|
Add BrotliImpl transformer that converts compressed meta-blocks into uncompressed
|
2020-03-17 14:14:17 +01:00 |
|
chylex
|
c3bd51bed5
|
Add a BrotliGlobalState output callback system & use it for marking copies
|
2020-03-17 14:10:19 +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
|
a002a8454c
|
Rework BrotliCalc progress to show every thread's current workload
|
2020-03-17 11:16:19 +01:00 |
|
chylex
|
83ea326957
|
Add BrotliCalc argument for file processing order
|
2020-03-17 10:38:25 +01:00 |
|
chylex
|
b2272ac8ce
|
Turn % operator into bitwise AND where possible
|
2020-03-17 10:02:53 +01:00 |
|
chylex
|
e25839acf3
|
Make ArraySegments into 'in' parameters
|
2020-03-17 09:13:56 +01:00 |
|
chylex
|
e8ab507ef4
|
Change dictionary index to find all matches & allow min length of 1
|
2020-03-16 12:32:12 +01:00 |
|
chylex
|
88bd8d928b
|
Rename interface & classes of the new streaming API
|
2020-03-15 16:22:22 +01:00 |
|
chylex
|
49dc43e480
|
Add BrotliCalc commands to rebuild/encode/transform files and save them
|
2020-03-15 16:17:55 +01:00 |
|
chylex
|
6cffbc91d5
|
Update BrotliCalc commands to use the new streaming APIs
|
2020-03-15 13:44:39 +01:00 |
|
chylex
|
3663985832
|
Get rid of MetaBlock.IsLast property
|
2020-03-15 12:40:20 +01:00 |
|
chylex
|
bd88e17e68
|
Implement proper streaming API for both reading and writing Brotli files
|
2020-03-15 10:44:26 +01:00 |
|
chylex
|
5b5a1f1c6e
|
Fix unused using statement & documentation formatting
|
2020-03-15 10:30:38 +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
|
b919713d7b
|
Fix infinite loop in context map RLE decider
|
2020-03-12 14:30:13 +01:00 |
|
chylex
|
9f801adcef
|
Properly implement Huffman tree RLE SplitOneAboveBoundary heuristic & document
|
2020-03-12 07:41:48 +01:00 |
|
chylex
|
06bb3a316d
|
Add serialization parameter to control length code tree generation for Huffman trees
|
2020-03-11 09:17:36 +01:00 |
|
chylex
|
946d71a561
|
Add BrotliCalc command to extract context maps
|
2020-03-11 06:58:52 +01:00 |
|
chylex
|
ce248b6356
|
Fix BrotliCalc file mapping broken when input path = output path
|
2020-03-11 03:41:48 +01:00 |
|
chylex
|
da747b875f
|
Implement Huffman tree RLE decider & add official heuristic as default
|
2020-03-11 03:38:14 +01:00 |
|
chylex
|
6b75789131
|
Redesign BrotliBuilder serialization parameters & include context map strategies
|
2020-03-11 02:55:12 +01:00 |
|
chylex
|
bd539907d8
|
Tweak context map serialization code & markers
|
2020-03-10 05:40:07 +01:00 |
|
chylex
|
833c6f1359
|
Implement context map RLE decider, add it & Huffman tree gen to serialization params
|
2020-03-10 05:39:34 +01:00 |
|
chylex
|
40f1588fc8
|
Move BrotliCompressionParameters.GenerateHuffmanTree delegate
|
2020-03-10 05:16:20 +01:00 |
|
chylex
|
06ddc3b7cf
|
Move PickCodeHeuristics to a different namespace & fix type constraint
|
2020-03-10 05:02:21 +01:00 |
|
chylex
|
aa59f81da5
|
Fix documentation to use <c> instead of <code>
|
2020-03-10 00:42:02 +01:00 |
|
chylex
|
ad97ec4e5f
|
Reimplement final command DCZ strategy in CompressedMetaBlockBuilder
|
2020-03-08 22:42:52 +01:00 |
|
chylex
|
d22403cb71
|
Fix wrong transformer handling in BrotliEncodePipeline & BrotliFileStructure
|
2020-03-05 16:01:56 +01:00 |
|
chylex
|
3dbd109c56
|
Move ContextMap builder into a separate class and reduce dependencies on it
|
2020-03-04 20:10:53 +01:00 |
|
chylex
|
3f7d4612b9
|
Update BrotliBuilder to use StatusStrip for when .NET removes StatusBar
|
2020-02-17 11:29:22 +01:00 |
|
chylex
|
e247eda9b8
|
Update BrotliBuilder to use MenuStrip on .NET 3.1+
|
2020-02-17 02:20:49 +01:00 |
|
chylex
|
e80fb54eea
|
Fix marker panel updating after changing bit stream panel contents in BrotliBuilder
|
2020-02-14 14:16:40 +01:00 |
|
chylex
|
0465f26239
|
Finish refactoring BrotliBuilder menu code & reorganize FormMain
|
2020-02-14 14:02:09 +01:00 |
|
chylex
|
f6b58da41c
|
Update & fix some issues in BrotliImpl
|
2020-02-12 20:32:21 +01:00 |
|
chylex
|
f8f78d082d
|
Work on BrotliLib APIs (block-switch, builder validation, minor code tweaks)
|
2020-02-12 19:11:59 +01:00 |
|