120 lines · c
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 the6 * LICENSE file in the root directory of this source tree) and the GPLv2 (found7 * 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_H12#define ZSTD_LAZY_H13 14 15#include "zstd_compress_internal.h"16 17/*18 * Dedicated Dictionary Search Structure bucket log. In the19 * ZSTD_dedicatedDictSearch mode, the hashTable has20 * 2 ** ZSTD_LAZY_DDSS_BUCKET_LOG entries in each bucket, rather than just21 * one.22 */23#define ZSTD_LAZY_DDSS_BUCKET_LOG 224 25U32 ZSTD_insertAndFindFirstIndex(ZSTD_matchState_t* ms, const BYTE* ip);26void ZSTD_row_update(ZSTD_matchState_t* const ms, const BYTE* ip);27 28void ZSTD_dedicatedDictSearch_lazy_loadDictionary(ZSTD_matchState_t* ms, const BYTE* const ip);29 30void ZSTD_preserveUnsortedMark (U32* const table, U32 const size, U32 const reducerValue); /*! used in ZSTD_reduceIndex(). preemptively increase value of ZSTD_DUBT_UNSORTED_MARK */31 32size_t ZSTD_compressBlock_btlazy2(33 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],34 void const* src, size_t srcSize);35size_t ZSTD_compressBlock_lazy2(36 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],37 void const* src, size_t srcSize);38size_t ZSTD_compressBlock_lazy(39 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],40 void const* src, size_t srcSize);41size_t ZSTD_compressBlock_greedy(42 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],43 void const* src, size_t srcSize);44size_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);47size_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);50size_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 54size_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);57size_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);60size_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);63size_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);66size_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);69size_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);72size_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 76size_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);79size_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);82size_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);85size_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);88size_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);91size_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 95size_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);98size_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);101size_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);104size_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);107size_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);110size_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);113size_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