Commit Graph
229 Commits
Author SHA1 Message Date
chylex 791f31e2d9 Implement basic serialization for Brotli Huffman trees w/ unit tests 2018-12-15 02:01:23 +01:00
chylex a8dcf45861 Add utilities for Brotli insert&copy command code categories 2018-12-14 18:36:58 +01:00
chylex 24efbdfe74 Fix extra bit when writing padded empty meta-block header 2018-12-14 06:04:16 +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 9dcacebfb7 Finish implementing global (de)compression state 2018-12-06 07:07:50 +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 54fe939444 Add default Brotli dictionary format and transformations 2018-12-02 16:17:45 +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 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 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 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 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 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