284 Commits
Author SHA1 Message Date
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 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 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 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
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 787cbf19e8 Add library project 2018-11-14 21:19:25 +01:00