multi_compress 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -3
  3. data/GET_STARTED.md +3 -3
  4. data/README.md +75 -66
  5. data/THIRD_PARTY_NOTICES.md +24 -0
  6. data/ext/multi_compress/brotli_dec_static_init.c +3 -0
  7. data/ext/multi_compress/brotli_enc_static_init.c +3 -0
  8. data/ext/multi_compress/extconf.rb +22 -1
  9. data/ext/multi_compress/vendor/.vendored +2 -2
  10. data/ext/multi_compress/vendor/brotli/LICENSE +19 -0
  11. data/ext/multi_compress/vendor/brotli/c/common/constants.c +7 -7
  12. data/ext/multi_compress/vendor/brotli/c/common/constants.h +2 -5
  13. data/ext/multi_compress/vendor/brotli/c/common/context.c +2 -2
  14. data/ext/multi_compress/vendor/brotli/c/common/context.h +1 -2
  15. data/ext/multi_compress/vendor/brotli/c/common/dictionary.c +4 -5856
  16. data/ext/multi_compress/vendor/brotli/c/common/dictionary.h +1 -2
  17. data/ext/multi_compress/vendor/brotli/c/common/dictionary_inc.h +5847 -0
  18. data/ext/multi_compress/vendor/brotli/c/common/platform.c +0 -4
  19. data/ext/multi_compress/vendor/brotli/c/common/platform.h +182 -43
  20. data/ext/multi_compress/vendor/brotli/c/common/shared_dictionary.c +3 -7
  21. data/ext/multi_compress/vendor/brotli/c/common/shared_dictionary_internal.h +1 -1
  22. data/ext/multi_compress/vendor/brotli/c/common/static_init.h +56 -0
  23. data/ext/multi_compress/vendor/brotli/c/common/transform.c +6 -4
  24. data/ext/multi_compress/vendor/brotli/c/common/transform.h +1 -2
  25. data/ext/multi_compress/vendor/brotli/c/common/version.h +3 -3
  26. data/ext/multi_compress/vendor/brotli/c/dec/bit_reader.c +2 -3
  27. data/ext/multi_compress/vendor/brotli/c/dec/bit_reader.h +0 -4
  28. data/ext/multi_compress/vendor/brotli/c/dec/decode.c +128 -39
  29. data/ext/multi_compress/vendor/brotli/c/dec/huffman.c +2 -5
  30. data/ext/multi_compress/vendor/brotli/c/dec/huffman.h +0 -2
  31. data/ext/multi_compress/vendor/brotli/c/dec/prefix.c +67 -0
  32. data/ext/multi_compress/vendor/brotli/c/dec/prefix.h +18 -708
  33. data/ext/multi_compress/vendor/brotli/c/dec/prefix_inc.h +707 -0
  34. data/ext/multi_compress/vendor/brotli/c/dec/state.c +18 -15
  35. data/ext/multi_compress/vendor/brotli/c/dec/state.h +2 -6
  36. data/ext/multi_compress/vendor/brotli/c/dec/static_init.c +53 -0
  37. data/ext/multi_compress/vendor/brotli/c/dec/static_init.h +30 -0
  38. data/ext/multi_compress/vendor/brotli/c/enc/backward_references.c +32 -8
  39. data/ext/multi_compress/vendor/brotli/c/enc/backward_references.h +1 -5
  40. data/ext/multi_compress/vendor/brotli/c/enc/backward_references_hq.c +15 -15
  41. data/ext/multi_compress/vendor/brotli/c/enc/backward_references_hq.h +1 -5
  42. data/ext/multi_compress/vendor/brotli/c/enc/bit_cost.c +28 -4
  43. data/ext/multi_compress/vendor/brotli/c/enc/bit_cost.h +8 -40
  44. data/ext/multi_compress/vendor/brotli/c/enc/bit_cost_inc.h +1 -1
  45. data/ext/multi_compress/vendor/brotli/c/enc/block_splitter.c +9 -12
  46. data/ext/multi_compress/vendor/brotli/c/enc/block_splitter.h +0 -3
  47. data/ext/multi_compress/vendor/brotli/c/enc/block_splitter_inc.h +14 -8
  48. data/ext/multi_compress/vendor/brotli/c/enc/brotli_bit_stream.c +10 -9
  49. data/ext/multi_compress/vendor/brotli/c/enc/brotli_bit_stream.h +0 -6
  50. data/ext/multi_compress/vendor/brotli/c/enc/cluster.c +0 -2
  51. data/ext/multi_compress/vendor/brotli/c/enc/cluster.h +0 -2
  52. data/ext/multi_compress/vendor/brotli/c/enc/command.c +1 -1
  53. data/ext/multi_compress/vendor/brotli/c/enc/command.h +8 -10
  54. data/ext/multi_compress/vendor/brotli/c/enc/compound_dictionary.c +3 -5
  55. data/ext/multi_compress/vendor/brotli/c/enc/compound_dictionary.h +1 -4
  56. data/ext/multi_compress/vendor/brotli/c/enc/compress_fragment.c +3 -13
  57. data/ext/multi_compress/vendor/brotli/c/enc/compress_fragment.h +0 -2
  58. data/ext/multi_compress/vendor/brotli/c/enc/compress_fragment_two_pass.c +5 -15
  59. data/ext/multi_compress/vendor/brotli/c/enc/compress_fragment_two_pass.h +0 -2
  60. data/ext/multi_compress/vendor/brotli/c/enc/dictionary_hash.c +127 -1830
  61. data/ext/multi_compress/vendor/brotli/c/enc/dictionary_hash.h +23 -3
  62. data/ext/multi_compress/vendor/brotli/c/enc/dictionary_hash_inc.h +1829 -0
  63. data/ext/multi_compress/vendor/brotli/c/enc/encode.c +77 -52
  64. data/ext/multi_compress/vendor/brotli/c/enc/encoder_dict.c +9 -7
  65. data/ext/multi_compress/vendor/brotli/c/enc/encoder_dict.h +2 -4
  66. data/ext/multi_compress/vendor/brotli/c/enc/entropy_encode.c +3 -6
  67. data/ext/multi_compress/vendor/brotli/c/enc/entropy_encode.h +2 -4
  68. data/ext/multi_compress/vendor/brotli/c/enc/entropy_encode_static.h +18 -12
  69. data/ext/multi_compress/vendor/brotli/c/enc/fast_log.c +1 -1
  70. data/ext/multi_compress/vendor/brotli/c/enc/fast_log.h +2 -3
  71. data/ext/multi_compress/vendor/brotli/c/enc/find_match_length.h +0 -2
  72. data/ext/multi_compress/vendor/brotli/c/enc/hash.h +38 -31
  73. data/ext/multi_compress/vendor/brotli/c/enc/hash_base.h +38 -0
  74. data/ext/multi_compress/vendor/brotli/c/enc/hash_forgetful_chain_inc.h +11 -1
  75. data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match64_inc.h +24 -7
  76. data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match64_simd_inc.h +304 -0
  77. data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match_inc.h +30 -11
  78. data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match_quickly_inc.h +4 -0
  79. data/ext/multi_compress/vendor/brotli/c/enc/hash_longest_match_simd_inc.h +278 -0
  80. data/ext/multi_compress/vendor/brotli/c/enc/histogram.c +1 -0
  81. data/ext/multi_compress/vendor/brotli/c/enc/histogram.h +0 -4
  82. data/ext/multi_compress/vendor/brotli/c/enc/literal_cost.c +4 -6
  83. data/ext/multi_compress/vendor/brotli/c/enc/literal_cost.h +0 -2
  84. data/ext/multi_compress/vendor/brotli/c/enc/matching_tag_mask.h +69 -0
  85. data/ext/multi_compress/vendor/brotli/c/enc/memory.c +0 -5
  86. data/ext/multi_compress/vendor/brotli/c/enc/memory.h +0 -4
  87. data/ext/multi_compress/vendor/brotli/c/enc/metablock.c +7 -9
  88. data/ext/multi_compress/vendor/brotli/c/enc/metablock.h +3 -3
  89. data/ext/multi_compress/vendor/brotli/c/enc/metablock_inc.h +4 -4
  90. data/ext/multi_compress/vendor/brotli/c/enc/params.h +0 -1
  91. data/ext/multi_compress/vendor/brotli/c/enc/prefix.h +0 -2
  92. data/ext/multi_compress/vendor/brotli/c/enc/quality.h +17 -10
  93. data/ext/multi_compress/vendor/brotli/c/enc/ringbuffer.h +1 -4
  94. data/ext/multi_compress/vendor/brotli/c/enc/state.h +2 -2
  95. data/ext/multi_compress/vendor/brotli/c/enc/static_dict.c +5 -11
  96. data/ext/multi_compress/vendor/brotli/c/enc/static_dict.h +1 -3
  97. data/ext/multi_compress/vendor/brotli/c/enc/static_dict_lut.c +224 -0
  98. data/ext/multi_compress/vendor/brotli/c/enc/static_dict_lut.h +20 -5837
  99. data/ext/multi_compress/vendor/brotli/c/enc/static_dict_lut_inc.h +5830 -0
  100. data/ext/multi_compress/vendor/brotli/c/enc/static_init.c +59 -0
  101. data/ext/multi_compress/vendor/brotli/c/enc/static_init.h +30 -0
  102. data/ext/multi_compress/vendor/brotli/c/enc/static_init_lazy.cc +26 -0
  103. data/ext/multi_compress/vendor/brotli/c/enc/utf8_util.c +1 -1
  104. data/ext/multi_compress/vendor/brotli/c/enc/utf8_util.h +0 -2
  105. data/ext/multi_compress/vendor/brotli/c/enc/write_bits.h +0 -2
  106. data/ext/multi_compress/vendor/brotli/c/include/brotli/decode.h +1 -1
  107. data/ext/multi_compress/vendor/brotli/c/include/brotli/encode.h +5 -1
  108. data/ext/multi_compress/vendor/brotli/c/include/brotli/port.h +4 -7
  109. data/ext/multi_compress/vendor/brotli/c/include/brotli/types.h +2 -2
  110. data/ext/multi_compress/vendor/lz4/LICENSE +12 -0
  111. data/ext/multi_compress/vendor/zstd/COPYING +339 -0
  112. data/ext/multi_compress/vendor/zstd/LICENSE +30 -0
  113. data/ext/multi_compress/vendor/zstd/lib/Makefile +67 -35
  114. data/ext/multi_compress/vendor/zstd/lib/README.md +33 -2
  115. data/ext/multi_compress/vendor/zstd/lib/common/allocations.h +55 -0
  116. data/ext/multi_compress/vendor/zstd/lib/common/bits.h +205 -0
  117. data/ext/multi_compress/vendor/zstd/lib/common/bitstream.h +84 -108
  118. data/ext/multi_compress/vendor/zstd/lib/common/compiler.h +170 -41
  119. data/ext/multi_compress/vendor/zstd/lib/common/cpu.h +37 -1
  120. data/ext/multi_compress/vendor/zstd/lib/common/debug.c +7 -1
  121. data/ext/multi_compress/vendor/zstd/lib/common/debug.h +21 -21
  122. data/ext/multi_compress/vendor/zstd/lib/common/entropy_common.c +12 -40
  123. data/ext/multi_compress/vendor/zstd/lib/common/error_private.c +10 -2
  124. data/ext/multi_compress/vendor/zstd/lib/common/error_private.h +46 -47
  125. data/ext/multi_compress/vendor/zstd/lib/common/fse.h +8 -100
  126. data/ext/multi_compress/vendor/zstd/lib/common/fse_decompress.c +28 -116
  127. data/ext/multi_compress/vendor/zstd/lib/common/huf.h +79 -166
  128. data/ext/multi_compress/vendor/zstd/lib/common/mem.h +46 -66
  129. data/ext/multi_compress/vendor/zstd/lib/common/pool.c +27 -11
  130. data/ext/multi_compress/vendor/zstd/lib/common/pool.h +8 -11
  131. data/ext/multi_compress/vendor/zstd/lib/common/portability_macros.h +45 -11
  132. data/ext/multi_compress/vendor/zstd/lib/common/threading.c +74 -14
  133. data/ext/multi_compress/vendor/zstd/lib/common/threading.h +5 -18
  134. data/ext/multi_compress/vendor/zstd/lib/common/xxhash.c +5 -11
  135. data/ext/multi_compress/vendor/zstd/lib/common/xxhash.h +2411 -1003
  136. data/ext/multi_compress/vendor/zstd/lib/common/zstd_common.c +1 -36
  137. data/ext/multi_compress/vendor/zstd/lib/common/zstd_deps.h +13 -1
  138. data/ext/multi_compress/vendor/zstd/lib/common/zstd_internal.h +13 -182
  139. data/ext/multi_compress/vendor/zstd/lib/common/zstd_trace.h +6 -13
  140. data/ext/multi_compress/vendor/zstd/lib/compress/clevels.h +1 -1
  141. data/ext/multi_compress/vendor/zstd/lib/compress/fse_compress.c +15 -131
  142. data/ext/multi_compress/vendor/zstd/lib/compress/hist.c +11 -1
  143. data/ext/multi_compress/vendor/zstd/lib/compress/hist.h +8 -1
  144. data/ext/multi_compress/vendor/zstd/lib/compress/huf_compress.c +283 -189
  145. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress.c +2419 -903
  146. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_internal.h +423 -245
  147. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_literals.c +116 -40
  148. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_literals.h +16 -8
  149. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_sequences.c +10 -10
  150. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_sequences.h +8 -7
  151. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_superblock.c +254 -139
  152. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_compress_superblock.h +1 -1
  153. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_cwksp.h +184 -95
  154. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_double_fast.c +163 -81
  155. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_double_fast.h +18 -14
  156. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_fast.c +507 -197
  157. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_fast.h +7 -14
  158. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_lazy.c +579 -484
  159. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_lazy.h +133 -65
  160. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_ldm.c +61 -40
  161. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_ldm.h +7 -15
  162. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_ldm_geartab.h +1 -1
  163. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_opt.c +352 -218
  164. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_opt.h +37 -21
  165. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_preSplit.c +238 -0
  166. data/ext/multi_compress/vendor/zstd/lib/compress/zstd_preSplit.h +33 -0
  167. data/ext/multi_compress/vendor/zstd/lib/compress/zstdmt_compress.c +239 -175
  168. data/ext/multi_compress/vendor/zstd/lib/compress/zstdmt_compress.h +5 -16
  169. data/ext/multi_compress/vendor/zstd/lib/decompress/huf_decompress.c +543 -488
  170. data/ext/multi_compress/vendor/zstd/lib/decompress/huf_decompress_amd64.S +78 -61
  171. data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_ddict.c +4 -4
  172. data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_ddict.h +1 -1
  173. data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_decompress.c +295 -115
  174. data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_decompress_block.c +430 -293
  175. data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_decompress_block.h +7 -2
  176. data/ext/multi_compress/vendor/zstd/lib/decompress/zstd_decompress_internal.h +11 -7
  177. data/ext/multi_compress/vendor/zstd/lib/deprecated/zbuff.h +1 -1
  178. data/ext/multi_compress/vendor/zstd/lib/deprecated/zbuff_common.c +1 -1
  179. data/ext/multi_compress/vendor/zstd/lib/deprecated/zbuff_compress.c +1 -1
  180. data/ext/multi_compress/vendor/zstd/lib/deprecated/zbuff_decompress.c +3 -1
  181. data/ext/multi_compress/vendor/zstd/lib/dictBuilder/cover.c +95 -46
  182. data/ext/multi_compress/vendor/zstd/lib/dictBuilder/cover.h +3 -9
  183. data/ext/multi_compress/vendor/zstd/lib/dictBuilder/divsufsort.h +0 -10
  184. data/ext/multi_compress/vendor/zstd/lib/dictBuilder/fastcover.c +4 -4
  185. data/ext/multi_compress/vendor/zstd/lib/dictBuilder/zdict.c +25 -97
  186. data/ext/multi_compress/vendor/zstd/lib/dll/example/Makefile +1 -1
  187. data/ext/multi_compress/vendor/zstd/lib/dll/example/README.md +1 -1
  188. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_legacy.h +38 -1
  189. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v01.c +19 -50
  190. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v01.h +1 -1
  191. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v02.c +27 -80
  192. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v02.h +1 -1
  193. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v03.c +28 -83
  194. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v03.h +1 -1
  195. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v04.c +25 -74
  196. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v04.h +1 -1
  197. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v05.c +31 -76
  198. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v05.h +1 -1
  199. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v06.c +44 -88
  200. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v06.h +1 -1
  201. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v07.c +33 -84
  202. data/ext/multi_compress/vendor/zstd/lib/legacy/zstd_v07.h +1 -1
  203. data/ext/multi_compress/vendor/zstd/lib/libzstd.mk +65 -33
  204. data/ext/multi_compress/vendor/zstd/lib/libzstd.pc.in +5 -5
  205. data/ext/multi_compress/vendor/zstd/lib/module.modulemap +13 -3
  206. data/ext/multi_compress/vendor/zstd/lib/zdict.h +65 -36
  207. data/ext/multi_compress/vendor/zstd/lib/zstd.h +890 -267
  208. data/ext/multi_compress/vendor/zstd/lib/zstd_errors.h +28 -16
  209. data/lib/multi_compress/version.rb +1 -1
  210. metadata +29 -2
@@ -8,8 +8,6 @@
8
8
 
9
9
  #include "cluster.h"
10
10
 
11
- #include <brotli/types.h>
12
-
13
11
  #include "../common/platform.h"
14
12
  #include "bit_cost.h" /* BrotliPopulationCost */
15
13
  #include "fast_log.h"
@@ -9,8 +9,6 @@
9
9
  #ifndef BROTLI_ENC_CLUSTER_H_
10
10
  #define BROTLI_ENC_CLUSTER_H_
11
11
 
12
- #include <brotli/types.h>
13
-
14
12
  #include "../common/platform.h"
15
13
  #include "histogram.h"
16
14
  #include "memory.h"
@@ -6,7 +6,7 @@
6
6
 
7
7
  #include "command.h"
8
8
 
9
- #include <brotli/types.h>
9
+ #include "../common/platform.h"
10
10
 
11
11
  #if defined(__cplusplus) || defined(c_plusplus)
12
12
  extern "C" {
@@ -9,8 +9,6 @@
9
9
  #ifndef BROTLI_ENC_COMMAND_H_
10
10
  #define BROTLI_ENC_COMMAND_H_
11
11
 
12
- #include <brotli/types.h>
13
-
14
12
  #include "../common/constants.h"
15
13
  #include "../common/platform.h"
16
14
  #include "fast_log.h"
@@ -21,14 +19,14 @@
21
19
  extern "C" {
22
20
  #endif
23
21
 
24
- BROTLI_INTERNAL extern const uint32_t
25
- kBrotliInsBase[BROTLI_NUM_INS_COPY_CODES];
26
- BROTLI_INTERNAL extern const uint32_t
27
- kBrotliInsExtra[BROTLI_NUM_INS_COPY_CODES];
28
- BROTLI_INTERNAL extern const uint32_t
29
- kBrotliCopyBase[BROTLI_NUM_INS_COPY_CODES];
30
- BROTLI_INTERNAL extern const uint32_t
31
- kBrotliCopyExtra[BROTLI_NUM_INS_COPY_CODES];
22
+ BROTLI_INTERNAL extern const BROTLI_MODEL("small")
23
+ uint32_t kBrotliInsBase[BROTLI_NUM_INS_COPY_CODES];
24
+ BROTLI_INTERNAL extern const BROTLI_MODEL("small")
25
+ uint32_t kBrotliInsExtra[BROTLI_NUM_INS_COPY_CODES];
26
+ BROTLI_INTERNAL extern const BROTLI_MODEL("small")
27
+ uint32_t kBrotliCopyBase[BROTLI_NUM_INS_COPY_CODES];
28
+ BROTLI_INTERNAL extern const BROTLI_MODEL("small")
29
+ uint32_t kBrotliCopyExtra[BROTLI_NUM_INS_COPY_CODES];
32
30
 
33
31
  static BROTLI_INLINE uint16_t GetInsertLengthCode(size_t insertlen) {
34
32
  if (insertlen < 6) {
@@ -6,11 +6,9 @@
6
6
 
7
7
  #include "compound_dictionary.h"
8
8
 
9
- #include <brotli/types.h>
10
-
11
9
  #include "../common/platform.h"
10
+ #include <brotli/shared_dictionary.h>
12
11
  #include "memory.h"
13
- #include "quality.h"
14
12
 
15
13
  static PreparedDictionary* CreatePreparedDictionaryWithParams(MemoryManager* m,
16
14
  const uint8_t* source, size_t source_size, uint32_t bucket_bits,
@@ -191,8 +189,8 @@ BROTLI_BOOL AttachPreparedDictionary(
191
189
  compound->chunk_offsets[index + 1] = compound->total_size;
192
190
  {
193
191
  uint32_t* slot_offsets = (uint32_t*)(&dictionary[1]);
194
- uint16_t* heads = (uint16_t*)(&slot_offsets[1u << dictionary->slot_bits]);
195
- uint32_t* items = (uint32_t*)(&heads[1u << dictionary->bucket_bits]);
192
+ uint16_t* heads = (uint16_t*)(&slot_offsets[(size_t)1u << dictionary->slot_bits]);
193
+ uint32_t* items = (uint32_t*)(&heads[(size_t)1u << dictionary->bucket_bits]);
196
194
  const void* tail = (void*)&items[dictionary->num_items];
197
195
  if (dictionary->magic == kPreparedDictionaryMagic) {
198
196
  compound->chunk_source[index] = (const uint8_t*)tail;
@@ -7,11 +7,8 @@
7
7
  #ifndef BROTLI_ENC_PREPARED_DICTIONARY_H_
8
8
  #define BROTLI_ENC_PREPARED_DICTIONARY_H_
9
9
 
10
- #include <brotli/shared_dictionary.h>
11
- #include <brotli/types.h>
12
-
13
10
  #include "../common/platform.h"
14
- #include "../common/constants.h"
11
+ #include <brotli/shared_dictionary.h>
15
12
  #include "memory.h"
16
13
 
17
14
  /* "Fat" prepared dictionary, could be cooked outside of C implementation,
@@ -14,15 +14,13 @@
14
14
 
15
15
  #include "compress_fragment.h"
16
16
 
17
- #include <string.h> /* memcmp, memcpy, memset */
18
-
19
- #include <brotli/types.h>
20
-
17
+ #include "../common/constants.h"
21
18
  #include "../common/platform.h"
22
19
  #include "brotli_bit_stream.h"
23
20
  #include "entropy_encode.h"
24
21
  #include "fast_log.h"
25
22
  #include "find_match_length.h"
23
+ #include "hash_base.h"
26
24
  #include "write_bits.h"
27
25
 
28
26
  #if defined(__cplusplus) || defined(c_plusplus)
@@ -31,14 +29,6 @@ extern "C" {
31
29
 
32
30
  #define MAX_DISTANCE (long)BROTLI_MAX_BACKWARD_LIMIT(18)
33
31
 
34
- /* kHashMul32 multiplier has these properties:
35
- * The multiplier must be odd. Otherwise we may lose the highest bit.
36
- * No long streaks of ones or zeros.
37
- * There is no effort to ensure that it is a prime, the oddity is enough
38
- for this use.
39
- * The number has been tuned heuristically against compression benchmarks. */
40
- static const uint32_t kHashMul32 = 0x1E35A7BD;
41
-
42
32
  static BROTLI_INLINE uint32_t Hash(const uint8_t* p, size_t shift) {
43
33
  const uint64_t h = (BROTLI_UNALIGNED_LOAD64LE(p) << 24) * kHashMul32;
44
34
  return (uint32_t)(h >> shift);
@@ -417,7 +407,7 @@ static void EmitUncompressedMetaBlock(const uint8_t* begin, const uint8_t* end,
417
407
  storage[*storage_ix >> 3] = 0;
418
408
  }
419
409
 
420
- static uint32_t kCmdHistoSeed[128] = {
410
+ static BROTLI_MODEL("small") uint32_t kCmdHistoSeed[128] = {
421
411
  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1,
422
412
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
423
413
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -12,8 +12,6 @@
12
12
  #ifndef BROTLI_ENC_COMPRESS_FRAGMENT_H_
13
13
  #define BROTLI_ENC_COMPRESS_FRAGMENT_H_
14
14
 
15
- #include <brotli/types.h>
16
-
17
15
  #include "../common/constants.h"
18
16
  #include "../common/platform.h"
19
17
  #include "entropy_encode.h"
@@ -12,10 +12,6 @@
12
12
 
13
13
  #include "compress_fragment_two_pass.h"
14
14
 
15
- #include <string.h> /* memcmp, memcpy, memset */
16
-
17
- #include <brotli/types.h>
18
-
19
15
  #include "../common/constants.h"
20
16
  #include "../common/platform.h"
21
17
  #include "bit_cost.h"
@@ -23,6 +19,7 @@
23
19
  #include "entropy_encode.h"
24
20
  #include "fast_log.h"
25
21
  #include "find_match_length.h"
22
+ #include "hash_base.h"
26
23
  #include "write_bits.h"
27
24
 
28
25
  #if defined(__cplusplus) || defined(c_plusplus)
@@ -31,14 +28,6 @@ extern "C" {
31
28
 
32
29
  #define MAX_DISTANCE (long)BROTLI_MAX_BACKWARD_LIMIT(18)
33
30
 
34
- /* kHashMul32 multiplier has these properties:
35
- * The multiplier must be odd. Otherwise we may lose the highest bit.
36
- * No long streaks of ones or zeros.
37
- * There is no effort to ensure that it is a prime, the oddity is enough
38
- for this use.
39
- * The number has been tuned heuristically against compression benchmarks. */
40
- static const uint32_t kHashMul32 = 0x1E35A7BD;
41
-
42
31
  static BROTLI_INLINE uint32_t Hash(const uint8_t* p,
43
32
  size_t shift, size_t length) {
44
33
  const uint64_t h =
@@ -470,7 +459,7 @@ static void StoreCommands(BrotliTwoPassArena* s,
470
459
  const uint8_t* literals, const size_t num_literals,
471
460
  const uint32_t* commands, const size_t num_commands,
472
461
  size_t* storage_ix, uint8_t* storage) {
473
- static const uint32_t kNumExtraBits[128] = {
462
+ static const BROTLI_MODEL("small") uint32_t kNumExtraBits[128] = {
474
463
  0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5,
475
464
  6, 7, 8, 9, 10, 12, 14, 24, 0, 0, 0, 0, 0, 0, 0, 0,
476
465
  1, 1, 2, 2, 3, 3, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -480,7 +469,7 @@ static void StoreCommands(BrotliTwoPassArena* s,
480
469
  9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16,
481
470
  17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24,
482
471
  };
483
- static const uint32_t kInsertOffset[24] = {
472
+ static const BROTLI_MODEL("small") uint32_t kInsertOffset[24] = {
484
473
  0, 1, 2, 3, 4, 5, 6, 8, 10, 14, 18, 26,
485
474
  34, 50, 66, 98, 130, 194, 322, 578, 1090, 2114, 6210, 22594,
486
475
  };
@@ -546,7 +535,8 @@ static BROTLI_BOOL ShouldCompress(BrotliTwoPassArena* s,
546
535
  for (i = 0; i < input_size; i += SAMPLE_RATE) {
547
536
  ++s->lit_histo[input[i]];
548
537
  }
549
- return TO_BROTLI_BOOL(BitsEntropy(s->lit_histo, 256) < max_total_bit_cost);
538
+ return TO_BROTLI_BOOL(
539
+ BrotliBitsEntropy(s->lit_histo, 256) < max_total_bit_cost);
550
540
  }
551
541
  }
552
542
 
@@ -13,8 +13,6 @@
13
13
  #ifndef BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_
14
14
  #define BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_
15
15
 
16
- #include <brotli/types.h>
17
-
18
16
  #include "../common/constants.h"
19
17
  #include "../common/platform.h"
20
18
  #include "entropy_encode.h"