1 | /* |
2 | * Copyright (c) Yann Collet, Facebook, Inc. |
3 | * All rights reserved. |
4 | * |
5 | * This source code is licensed under both the BSD-style license (found in the |
6 | * LICENSE file in the root directory of this source tree) and the GPLv2 (found |
7 | * in the COPYING file in the root directory of this source tree). |
8 | * You may select, at your option, one of the above-listed licenses. |
9 | */ |
10 | |
11 | #ifndef ZSTD_LAZY_H |
12 | #define ZSTD_LAZY_H |
13 | |
14 | |
15 | #include "zstd_compress_internal.h" |
16 | |
17 | /* |
18 | * Dedicated Dictionary Search Structure bucket log. In the |
19 | * ZSTD_dedicatedDictSearch mode, the hashTable has |
20 | * 2 ** ZSTD_LAZY_DDSS_BUCKET_LOG entries in each bucket, rather than just |
21 | * one. |
22 | */ |
23 | #define ZSTD_LAZY_DDSS_BUCKET_LOG 2 |
24 | |
25 | U32 ZSTD_insertAndFindFirstIndex(ZSTD_matchState_t* ms, const BYTE* ip); |
26 | void ZSTD_row_update(ZSTD_matchState_t* const ms, const BYTE* ip); |
27 | |
28 | void ZSTD_dedicatedDictSearch_lazy_loadDictionary(ZSTD_matchState_t* ms, const BYTE* const ip); |
29 | |
30 | void ZSTD_preserveUnsortedMark (U32* const table, U32 const size, U32 const reducerValue); /*! used in ZSTD_reduceIndex(). preemptively increase value of ZSTD_DUBT_UNSORTED_MARK */ |
31 | |
32 | size_t ZSTD_compressBlock_btlazy2( |
33 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
34 | void const* src, size_t srcSize); |
35 | size_t ZSTD_compressBlock_lazy2( |
36 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
37 | void const* src, size_t srcSize); |
38 | size_t ZSTD_compressBlock_lazy( |
39 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
40 | void const* src, size_t srcSize); |
41 | size_t ZSTD_compressBlock_greedy( |
42 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
43 | void const* src, size_t srcSize); |
44 | size_t ZSTD_compressBlock_lazy2_row( |
45 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
46 | void const* src, size_t srcSize); |
47 | size_t ZSTD_compressBlock_lazy_row( |
48 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
49 | void const* src, size_t srcSize); |
50 | size_t ZSTD_compressBlock_greedy_row( |
51 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
52 | void const* src, size_t srcSize); |
53 | |
54 | size_t ZSTD_compressBlock_btlazy2_dictMatchState( |
55 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
56 | void const* src, size_t srcSize); |
57 | size_t ZSTD_compressBlock_lazy2_dictMatchState( |
58 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
59 | void const* src, size_t srcSize); |
60 | size_t ZSTD_compressBlock_lazy_dictMatchState( |
61 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
62 | void const* src, size_t srcSize); |
63 | size_t ZSTD_compressBlock_greedy_dictMatchState( |
64 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
65 | void const* src, size_t srcSize); |
66 | size_t ZSTD_compressBlock_lazy2_dictMatchState_row( |
67 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
68 | void const* src, size_t srcSize); |
69 | size_t ZSTD_compressBlock_lazy_dictMatchState_row( |
70 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
71 | void const* src, size_t srcSize); |
72 | size_t ZSTD_compressBlock_greedy_dictMatchState_row( |
73 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
74 | void const* src, size_t srcSize); |
75 | |
76 | size_t ZSTD_compressBlock_lazy2_dedicatedDictSearch( |
77 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
78 | void const* src, size_t srcSize); |
79 | size_t ZSTD_compressBlock_lazy_dedicatedDictSearch( |
80 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
81 | void const* src, size_t srcSize); |
82 | size_t ZSTD_compressBlock_greedy_dedicatedDictSearch( |
83 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
84 | void const* src, size_t srcSize); |
85 | size_t ZSTD_compressBlock_lazy2_dedicatedDictSearch_row( |
86 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
87 | void const* src, size_t srcSize); |
88 | size_t ZSTD_compressBlock_lazy_dedicatedDictSearch_row( |
89 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
90 | void const* src, size_t srcSize); |
91 | size_t ZSTD_compressBlock_greedy_dedicatedDictSearch_row( |
92 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
93 | void const* src, size_t srcSize); |
94 | |
95 | size_t ZSTD_compressBlock_greedy_extDict( |
96 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
97 | void const* src, size_t srcSize); |
98 | size_t ZSTD_compressBlock_lazy_extDict( |
99 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
100 | void const* src, size_t srcSize); |
101 | size_t ZSTD_compressBlock_lazy2_extDict( |
102 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
103 | void const* src, size_t srcSize); |
104 | size_t ZSTD_compressBlock_greedy_extDict_row( |
105 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
106 | void const* src, size_t srcSize); |
107 | size_t ZSTD_compressBlock_lazy_extDict_row( |
108 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
109 | void const* src, size_t srcSize); |
110 | size_t ZSTD_compressBlock_lazy2_extDict_row( |
111 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
112 | void const* src, size_t srcSize); |
113 | size_t ZSTD_compressBlock_btlazy2_extDict( |
114 | ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], |
115 | void const* src, size_t srcSize); |
116 | |
117 | |
118 | |
119 | #endif /* ZSTD_LAZY_H */ |
120 | |