1
0
Fork 0
Commit Graph

460 Commits

Author SHA1 Message Date
chylex 8610d6d1cf Add IDictionarySource implementation that can take any Stream 2018-12-04 17:21:51 +01:00
chylex 0dee40eba9 Fix dictionary UI using unsupported character to represent spaces on Windows 7 2018-12-04 17:16:20 +01:00
chylex db1bc5ac48 Add BitWriter method that takes a BitStream w/ unit tests 2018-12-04 16:06:15 +01:00
chylex a749cc2f73 Add UI dialog to view and lookup words in a Brotli dictionary 2018-12-02 16:45:17 +01:00
chylex 7c4c1b7d9b Add ProgressBar.SetValueInstantly extension 2018-12-02 16:43:33 +01:00
chylex 54fe939444 Add default Brotli dictionary format and transformations 2018-12-02 16:17:45 +01:00
chylex ed5e7cd07d Visual Studio is acting up 2018-12-02 16:00:57 +01:00
chylex 61bea5022f Implement bit depth format for unpacking words in a Brotli dictionary 2018-12-02 14:14:21 +01:00
chylex dc63c1355d Implement file and memory representations of a Brotli dictionary 2018-12-02 14:13:22 +01:00
chylex 133b9920a6 Add classes and interfaces to describe a Brotli dictionary 2018-12-02 14:12:12 +01:00
chylex 359245c652 Implement Brotli dictionary transformation rules and utilities 2018-12-02 13:33:42 +01:00
chylex 286f476cfb Add AlphabetSize utility w/ unit tests 2018-11-23 07:45:01 +01:00
chylex 294ae2b5a8 Add HuffmanNode.SymbolCount property w/ new and updated unit tests 2018-11-22 04:35:44 +01:00
chylex 6e3a50d9a6 Add fixed-size RingBuffer w/ unit tests 2018-11-21 18:02:49 +01:00
chylex 3fe5a82239 Implement Brotli literal context mode serialization 2018-11-21 17:01:08 +01:00
chylex 87d65a8b6f Include window size in the global (de)compression state 2018-11-21 16:36:13 +01:00
chylex 1696b86ba5 Add a utility for BitSerializer to specify no serialization context without nulls 2018-11-21 16:25:28 +01:00
chylex 2c2a99e9e0 Add menu item to limit output length for performance 2018-11-19 14:00:31 +01:00
chylex 8d883a9b30 Add utility for generating Huffman trees w/ unit tests 2018-11-19 13:09:52 +01:00
chylex ed2dd4ba85 Implement a Huffman tree structure w/ unit tests 2018-11-19 01:30:52 +01:00
chylex 422def48fa Implement Brotli distance parameter serialization 2018-11-18 18:55:24 +01:00
chylex 78d93ba9fd Implement Brotli variable length 1-11 bit code serialization 2018-11-18 01:32:11 +01:00
chylex c6714adce5 Fix compiler configuration for BrotliLib project 2018-11-18 00:43:55 +01:00
chylex f4403b555f Rewrite internals of BitStream to improve performance & fix some tests 2018-11-18 00:43:55 +01:00
chylex 3f60b386bf Optimize inserting bytes into a BitStream 2018-11-17 19:05:11 +01:00
chylex 325711476c Add menu item to open a file using EncodeUncompressedOnly encoder 2018-11-17 16:46:06 +01:00
chylex 613b6d1d88 Add dialog for opening a file with a specified encoder 2018-11-17 16:43:55 +01:00
chylex 1de126f2ff Prompt unsaved changes dialog before opening a new file too 2018-11-17 16:42:30 +01:00
chylex 54c68402bb Implement a Brotli encoder that only generates uncompressed meta-blocks 2018-11-17 16:36:04 +01:00
chylex 758d437b23 Add interface to use for Brotli encoders 2018-11-17 16:23:14 +01:00
chylex 1812c62be8 Add confirmation dialog on exit w/ unsaved changes & fix open/save dialog filename 2018-11-17 15:02:32 +01:00
chylex 4573e237d4 Add confirmation dialog before deleting a meta-block 2018-11-17 15:01:29 +01:00
chylex 7b28689e58 Add UI to define hidden data in an empty meta-block 2018-11-17 14:10:26 +01:00
chylex dd3bd4a388 Add UI to define contents of an uncompressed meta-block 2018-11-17 14:07:31 +01:00
chylex 028be53dfa Fix missing call to handle notifications from meta-block UIs 2018-11-17 14:02:22 +01:00
chylex f04abfeeb3 Add UI to pick Brotli window size 2018-11-17 13:55:06 +01:00
chylex f71f0bdf17 Add WIP UI for managing the list of components in a Brotli file 2018-11-17 13:52:25 +01:00
chylex 95fd6d3f9a Implement empty meta-block w/ skipped bytes serialization 2018-11-17 13:13:23 +01:00
chylex 675008182f Implement uncompressed meta-block serialization 2018-11-17 13:13:23 +01:00
chylex 44e41e1f05 Add a custom UI stacking system to use for Brotli element construction 2018-11-16 23:25:21 +01:00
chylex 05650e66ff Add the main Form w/ layout, menu, status bar, and basic logic 2018-11-16 23:07:10 +01:00
chylex 2c140680b3 Add NativeMethods w/ method to force plaintext in a RichTextBox 2018-11-16 22:58:38 +01:00
chylex 875b38d544 Add an abortable background worker to avoid blocking the UI 2018-11-16 22:57:49 +01:00
chylex bf78ed23d3 Add a way to handle Brotli state and generate output during serialization 2018-11-16 19:37:57 +01:00
chylex 74270f7276 Add BrotliFileStructure class to describe a Brotli-compressed file 2018-11-16 16:38:44 +01:00
chylex a3f666b479 Begin implementing meta-block serialization 2018-11-16 16:31:35 +01:00
chylex be29857899 Add base classes for different types of meta-blocks 2018-11-16 15:22:48 +01:00
chylex abff015bcf Implement Brotli meta-block data length serialization 2018-11-16 14:47:14 +01:00
chylex dd4d34ef0c Implement Brotli window size serialization 2018-11-16 14:11:29 +01:00
chylex 6469cacc42 Add boilerplate for testing elements of Brotli format 2018-11-16 14:03:04 +01:00