Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Copyright (c) Yann Collet, Facebook, Inc.
0003  * All rights reserved.
0004  *
0005  * This source code is licensed under both the BSD-style license (found in the
0006  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
0007  * in the COPYING file in the root directory of this source tree).
0008  * You may select, at your option, one of the above-listed licenses.
0009  */
0010 
0011 #ifndef ZSTD_LAZY_H
0012 #define ZSTD_LAZY_H
0013 
0014 
0015 #include "zstd_compress_internal.h"
0016 
0017 /*
0018  * Dedicated Dictionary Search Structure bucket log. In the
0019  * ZSTD_dedicatedDictSearch mode, the hashTable has
0020  * 2 ** ZSTD_LAZY_DDSS_BUCKET_LOG entries in each bucket, rather than just
0021  * one.
0022  */
0023 #define ZSTD_LAZY_DDSS_BUCKET_LOG 2
0024 
0025 U32 ZSTD_insertAndFindFirstIndex(ZSTD_matchState_t* ms, const BYTE* ip);
0026 
0027 void ZSTD_dedicatedDictSearch_lazy_loadDictionary(ZSTD_matchState_t* ms, const BYTE* const ip);
0028 
0029 void ZSTD_preserveUnsortedMark (U32* const table, U32 const size, U32 const reducerValue);  /*! used in ZSTD_reduceIndex(). preemptively increase value of ZSTD_DUBT_UNSORTED_MARK */
0030 
0031 size_t ZSTD_compressBlock_btlazy2(
0032         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0033         void const* src, size_t srcSize);
0034 size_t ZSTD_compressBlock_lazy2(
0035         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0036         void const* src, size_t srcSize);
0037 size_t ZSTD_compressBlock_lazy(
0038         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0039         void const* src, size_t srcSize);
0040 size_t ZSTD_compressBlock_greedy(
0041         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0042         void const* src, size_t srcSize);
0043 
0044 size_t ZSTD_compressBlock_btlazy2_dictMatchState(
0045         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0046         void const* src, size_t srcSize);
0047 size_t ZSTD_compressBlock_lazy2_dictMatchState(
0048         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0049         void const* src, size_t srcSize);
0050 size_t ZSTD_compressBlock_lazy_dictMatchState(
0051         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0052         void const* src, size_t srcSize);
0053 size_t ZSTD_compressBlock_greedy_dictMatchState(
0054         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0055         void const* src, size_t srcSize);
0056 
0057 size_t ZSTD_compressBlock_lazy2_dedicatedDictSearch(
0058         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0059         void const* src, size_t srcSize);
0060 size_t ZSTD_compressBlock_lazy_dedicatedDictSearch(
0061         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0062         void const* src, size_t srcSize);
0063 size_t ZSTD_compressBlock_greedy_dedicatedDictSearch(
0064         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0065         void const* src, size_t srcSize);
0066 
0067 size_t ZSTD_compressBlock_greedy_extDict(
0068         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0069         void const* src, size_t srcSize);
0070 size_t ZSTD_compressBlock_lazy_extDict(
0071         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0072         void const* src, size_t srcSize);
0073 size_t ZSTD_compressBlock_lazy2_extDict(
0074         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0075         void const* src, size_t srcSize);
0076 size_t ZSTD_compressBlock_btlazy2_extDict(
0077         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
0078         void const* src, size_t srcSize);
0079 
0080 
0081 #endif /* ZSTD_LAZY_H */