Home | History | Annotate | Download | only in enc
      1 /* Copyright 2017 Google Inc. All Rights Reserved.
      2 
      3    Distributed under MIT license.
      4    See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
      5 */
      6 
      7 /* Parameters for the Brotli encoder with chosen quality levels. */
      8 
      9 #ifndef BROTLI_ENC_PARAMS_H_
     10 #define BROTLI_ENC_PARAMS_H_
     11 
     12 #include <brotli/encode.h>
     13 #include "./encoder_dict.h"
     14 
     15 typedef struct BrotliHasherParams {
     16   int type;
     17   int bucket_bits;
     18   int block_bits;
     19   int hash_len;
     20   int num_last_distances_to_check;
     21 } BrotliHasherParams;
     22 
     23 typedef struct BrotliDistanceParams {
     24   uint32_t distance_postfix_bits;
     25   uint32_t num_direct_distance_codes;
     26   uint32_t alphabet_size;
     27   size_t max_distance;
     28 } BrotliDistanceParams;
     29 
     30 /* Encoding parameters */
     31 typedef struct BrotliEncoderParams {
     32   BrotliEncoderMode mode;
     33   int quality;
     34   int lgwin;
     35   int lgblock;
     36   size_t size_hint;
     37   BROTLI_BOOL disable_literal_context_modeling;
     38   BROTLI_BOOL large_window;
     39   BrotliHasherParams hasher;
     40   BrotliDistanceParams dist;
     41   BrotliEncoderDictionary dictionary;
     42 } BrotliEncoderParams;
     43 
     44 #endif  /* BROTLI_ENC_PARAMS_H_ */
     45