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 | #ifndef BROTLI_ENC_ENCODER_DICT_H_ |
8 | #define BROTLI_ENC_ENCODER_DICT_H_ |
9 | |
10 | #include "../common/dictionary.h" |
11 | #include "../common/platform.h" |
12 | #include <brotli/types.h> |
13 | #include "./static_dict_lut.h" |
14 | |
15 | #if defined(__cplusplus) || defined(c_plusplus) |
16 | extern "C"{ |
17 | #endif |
18 | |
19 | /* Dictionary data (words and transforms) for 1 possible context */ |
20 | typedef struct BrotliEncoderDictionary { |
21 | const BrotliDictionary* words; |
22 | |
23 | /* cut off for fast encoder */ |
24 | uint32_t cutoffTransformsCount; |
25 | uint64_t cutoffTransforms; |
26 | |
27 | /* from dictionary_hash.h, for fast encoder */ |
28 | const uint16_t* hash_table; |
29 | |
30 | /* from static_dict_lut.h, for slow encoder */ |
31 | const uint16_t* buckets; |
32 | const DictWord* dict_words; |
33 | } BrotliEncoderDictionary; |
34 | |
35 | BROTLI_INTERNAL void BrotliInitEncoderDictionary(BrotliEncoderDictionary* dict); |
36 | |
37 | #if defined(__cplusplus) || defined(c_plusplus) |
38 | } /* extern "C" */ |
39 | #endif |
40 | |
41 | #endif /* BROTLI_ENC_ENCODER_DICT_H_ */ |
42 |