Commit Graph
436 Commits
Author SHA1 Message Date
chylex 86e25692b8 Implement Brotli compressed meta-block contents and insert&copy command serialization 2019-02-08 10:52:07 +01:00
chylex cf11a7c0f1 Implement Brotli block-switch command serialization & block tracking 2019-02-08 10:52:07 +01:00
chylex 5ffb4bf0be Implement Brotli compressed meta-block header serialization 2019-02-08 10:52:07 +01:00
chylex a7b6d7047d Implement Brotli block type and block length code serialization 2019-02-08 09:24:51 +01:00
chylex 648d9b7393 Refactor bit stream & output panel into a separate Control 2019-02-07 03:13:56 +01:00
chylex 66b8795135 Reassign ISLAST bit on meta-blocks after modifying their structure 2019-02-07 02:01:10 +01:00
chylex 5a2a10ae99 Fix wrong data type in AlphabetSize unit tests 2019-02-07 01:57:12 +01:00
chylex dcb2f9c99d Add AnyCPU because Visual Studio still can't figure out 64bit UserControls 2019-02-07 01:53:13 +01:00
chylex f3295167b8 Implement basic serialization for Brotli context maps 2018-12-29 02:53:45 +01:00
chylex f81568d95a Make AlphabetSize.BitsPerSymbol return a byte & add default max tree depth constant 2018-12-29 02:48:38 +01:00
chylex 5d1823acb0 Implement Brotli distance code and distance value serialization 2018-12-28 22:49:01 +01:00
chylex f23359ccd5 Implement Brotli insert&copy length code alphabet and length serialization 2018-12-15 02:20:46 +01:00
chylex 791f31e2d9 Implement basic serialization for Brotli Huffman trees w/ unit tests 2018-12-15 02:01:23 +01:00
chylex 0add08098e Implement limited-depth Huffman tree generation from frequency map w/ unit tests 2018-12-14 21:46:03 +01:00
chylex 693109a90a Enforce symbol order when genering Huffman trees from bit counts 2018-12-14 21:45:44 +01:00
chylex a8dcf45861 Add utilities for Brotli insert&copy command code categories 2018-12-14 18:36:58 +01:00
chylex b3d81c67f1 Add PriorityQueue 2018-12-14 11:55:22 +01:00
chylex 24efbdfe74 Fix extra bit when writing padded empty meta-block header 2018-12-14 06:04:16 +01:00
chylex 895414df2d Fix BitStream getting misaligned when adding many whole bytes & fix typo 2018-12-13 22:29:28 +01:00
chylex 4ce1554e4b Fix missing bit when writing compressed meta-block header 2018-12-13 14:39:09 +01:00
chylex a3e4983bc5 Implement Move-to-front & inverse transformation w/ unit tests 2018-12-12 23:05:23 +01:00
chylex 235f3684a3 Fix BitStream.Add causing every 63rd bit to be zero w/ new unit tests 2018-12-06 08:00:35 +01:00
chylex 95b7f5448e Update main window to display original bits & output when loading existing file 2018-12-06 07:22:28 +01:00
chylex 9dcacebfb7 Finish implementing global (de)compression state 2018-12-06 07:07:50 +01:00
chylex 377302e3fc Add resizing support to the main window 2018-12-05 21:18:09 +01:00
chylex 6b98e1c2c3 Add default Brotli dictionary file as an embedded resource 2018-12-04 17:24:48 +01:00
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