• Show log

    Commit

  • Hash : 35e69fc7
    Author : Eugene Kliuchnikov
    Date : 2018-02-26T09:04:36

    New feature: "Large Window Brotli" (#640)
    
    * New feature: "Large Window Brotli"
    
    By setting special encoder/decoder flag it is now possible to extend
    LZ-window up to 30 bits; though produced stream will not be RFC7932
    compliant.
    
    Added new dictionary generator - "DSH". It combines speed of "Sieve"
    and quality of "DM". Plus utilities to prepare train corpora
    (remove unique strings).
    
    Improved compression ratio: now two sub-blocks could be stitched:
    the last copy command could be extended to span the next sub-block.
    
    Fixed compression ineffectiveness caused by floating numbers rounding and
    wrong cost heuristic.
    
    Other C changes:
     - combined / moved `context.h` to `common`
     - moved transforms to `common`
     - unified some aspects of code formatting
     - added an abstraction for encoder (static) dictionary
     - moved default allocator/deallocator functions to `common`
    
    brotli CLI:
     - window size is auto-adjusted if not specified explicitly
    
    Java:
     - added "eager" decoding both to JNI wrapper and pure decoder
     - huge speed-up of `DictionaryData` initialization
    
    * Add dictionaryless compressed dictionary
    
    * Fix `sources.lst`
    
    * Fix `sources.lst` and add a note that `libtool` is also required.
    
    * Update setup.py
    
    * Fix `EagerStreamTest`
    
    * Fix BUILD file
    
    * Add missing `libdivsufsort` dependency
    
    * Fix "unused parameter" warning.