1*f4ee7fbaSAndroid Build Coastguard Worker #ifndef BROTLI_RESEARCH_DEORUMMOLAE_H_ 2*f4ee7fbaSAndroid Build Coastguard Worker #define BROTLI_RESEARCH_DEORUMMOLAE_H_ 3*f4ee7fbaSAndroid Build Coastguard Worker 4*f4ee7fbaSAndroid Build Coastguard Worker #include <cstddef> 5*f4ee7fbaSAndroid Build Coastguard Worker #include <cstdint> 6*f4ee7fbaSAndroid Build Coastguard Worker #include <string> 7*f4ee7fbaSAndroid Build Coastguard Worker #include <vector> 8*f4ee7fbaSAndroid Build Coastguard Worker 9*f4ee7fbaSAndroid Build Coastguard Worker /* log2(maximal number of files). Value 6 provides some speedups. */ 10*f4ee7fbaSAndroid Build Coastguard Worker #define DM_LOG_MAX_FILES 6 11*f4ee7fbaSAndroid Build Coastguard Worker 12*f4ee7fbaSAndroid Build Coastguard Worker /* Non tunable definitions. */ 13*f4ee7fbaSAndroid Build Coastguard Worker #define DM_MAX_FILES (1 << DM_LOG_MAX_FILES) 14*f4ee7fbaSAndroid Build Coastguard Worker 15*f4ee7fbaSAndroid Build Coastguard Worker /** 16*f4ee7fbaSAndroid Build Coastguard Worker * Generate a dictionary for given samples. 17*f4ee7fbaSAndroid Build Coastguard Worker * 18*f4ee7fbaSAndroid Build Coastguard Worker * @param dictionary_size_limit maximal dictionary size 19*f4ee7fbaSAndroid Build Coastguard Worker * @param sample_sizes vector with sample sizes 20*f4ee7fbaSAndroid Build Coastguard Worker * @param sample_data concatenated samples 21*f4ee7fbaSAndroid Build Coastguard Worker * @return generated dictionary 22*f4ee7fbaSAndroid Build Coastguard Worker */ 23*f4ee7fbaSAndroid Build Coastguard Worker std::string DM_generate(size_t dictionary_size_limit, 24*f4ee7fbaSAndroid Build Coastguard Worker const std::vector<size_t>& sample_sizes, const uint8_t* sample_data); 25*f4ee7fbaSAndroid Build Coastguard Worker 26*f4ee7fbaSAndroid Build Coastguard Worker #endif // BROTLI_RESEARCH_DEORUMMOLAE_H_ 27