Commit Graph
449 Commits
Author SHA1 Message Date
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
chylex 2b94885e76 Add a common interface for converting objects to or from bits 2018-11-16 11:35:11 +01:00
chylex 4054df4cd5 Add BitWriter w/ unit tests 2018-11-16 00:44:56 +01:00
chylex c9bc34a216 Allow combining contents of two BitStream objects 2018-11-15 21:46:37 +01:00
chylex 97fdcfc7e6 Add BitReader w/ unit tests 2018-11-15 21:38:03 +01:00
chylex c5fa6fcc37 Add BitStream w/ unit tests 2018-11-15 11:49:31 +01:00
chylex 74a926f279 Fix Visual Studio compiler bug & update packages 2018-11-15 11:40:39 +01:00
chylex 787cbf19e8 Add library project 2018-11-14 21:19:25 +01:00
chylex 6631f17ef3 Add unit test project 2018-11-14 20:53:24 +01:00
chylex c08a4ed953 Push Visual Studio project files 2018-11-14 20:24:52 +01:00
chylexandGitHub 3ebac4d9bb Initial commit 2018-11-14 19:33:03 +01:00