]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/C/BrotliCompress/enc/params.h
BaseTools: Update Brotli Compress to the latest one 1.0.6
[mirror_edk2.git] / BaseTools / Source / C / BrotliCompress / enc / params.h
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_ */