chylex
|
ae65c89970
|
wip
|
2020-04-08 18:12:12 +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 |
|
chylex
|
bab1ddf207
|
Add marker panel options (tab size, orientation) & improve window resizing in BrotliBuilder
|
2020-02-10 12:45:48 +01:00 |
|
chylex
|
bc4026a021
|
Refactor BrotliBuilder View menu items out of designer file
|
2020-02-10 08:57:07 +01:00 |
|
chylex
|
6ddacf5898
|
Add option for streaming marker generation & use it in BrotliCalc
|
2020-02-06 02:10:39 +01:00 |
|
chylex
|
9178285694
|
Change BrotliCalc CmdAbstractFileMapper into a streaming API
|
2020-02-06 02:09:07 +01:00 |
|
chylex
|
7e065e39f0
|
Fix console progress bug with cursor jumping up a line
|
2020-02-05 20:04:03 +01:00 |
|
chylex
|
b6ef8b6157
|
Reduce clutter in markers
|
2020-02-05 20:02:21 +01:00 |
|
chylex
|
6ebe69c1f5
|
Adapt hash_longest_match_quickly (WIP dictionary), add official qualities 2 & 3
|
2020-02-04 03:29:43 +01:00 |
|
chylex
|
03bcfd5e18
|
Add a WIP adaptation of official compressor's medium qualities & hasher interface
|
2020-02-04 03:27:11 +01:00 |
|
chylex
|
a4874da709
|
Minor BrotliBuilder & BrotliCalc code fixes
|
2020-02-02 15:00:08 +01:00 |
|
chylex
|
968c352724
|
Work on BrotliLib APIs (DCZ, distance code heuristics, command building, utilities)
|
2020-02-02 14:57:17 +01:00 |
|
chylex
|
70cf0d6b14
|
Tweak BrotliCalc CSV generation to omit quotes for numeric values
|
2020-01-29 23:12:36 +01:00 |
|
chylex
|
3aaee9d327
|
Add BrotliCalc command to validate compressed files
|
2020-01-29 23:04:52 +01:00 |
|
chylex
|
7439daf9f8
|
Add BrotliEncodePipeline support & improve Original panel controls in BrotliBuilder
|
2020-01-29 16:01:51 +01:00 |
|
chylex
|
ef0063c991
|
Add an adaptation of official compressor's quality 0 to BrotliImpl
|
2020-01-28 20:02:03 +01:00 |
|
chylex
|
1bd0822d63
|
Work on BrotliLib APIs (compression params, encode pipeline, minor tweaks)
|
2020-01-28 20:00:28 +01:00 |
|
chylex
|
4283ee4370
|
Refactor Copy & add Match utilities in BrotliImpl
|
2020-01-28 20:00:28 +01:00 |
|
chylex
|
360e562832
|
Minor refactoring and fixes in BrotliBuilder & BrotliCalc
|
2020-01-28 20:00:24 +01:00 |
|
chylex
|
1b186f2d50
|
Make Brotli parameter classes immutable
|
2020-01-28 13:13:03 +01:00 |
|
chylex
|
d48b291db9
|
Clarify which file is used in Brotli structure & marker panels in BrotliBuilder
|
2020-01-27 18:25:00 +01:00 |
|
chylex
|
9c97eb6cc5
|
Include a custom build of brotli.exe (c435f06) in BrotliCalc
|
2020-01-27 15:18:51 +01:00 |
|
chylex
|
efa84b795d
|
Move & rename Brotli compressed components and utils
|
2020-01-23 14:55:31 +01:00 |
|
chylex
|
a2baff135a
|
Rework ContextMap.Builder API & move MoveToFront
|
2020-01-23 11:25:16 +01:00 |
|
chylex
|
8ad489139e
|
Format bit counts in BrotliBuilder & add serialized byte count
|
2020-01-23 09:02:19 +01:00 |
|
chylex
|
9ee7376bf2
|
Reduce code duplication when constructing BrotliGlobalState
|
2020-01-23 08:25:18 +01:00 |
|