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