1*61145dc2SMartin Matuska // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only 2c03c5b1cSMartin Matuska /* 3c03c5b1cSMartin Matuska * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. 4c03c5b1cSMartin Matuska * All rights reserved. 5c03c5b1cSMartin Matuska * 6c03c5b1cSMartin Matuska * This source code is licensed under both the BSD-style license (found in the 7c03c5b1cSMartin Matuska * LICENSE file in the root directory of this source tree) and the GPLv2 (found 8c03c5b1cSMartin Matuska * in the COPYING file in the root directory of this source tree). 9c03c5b1cSMartin Matuska * You may select, at your option, one of the above-listed licenses. 10c03c5b1cSMartin Matuska */ 11c03c5b1cSMartin Matuska 12c03c5b1cSMartin Matuska #ifndef ZSTD_LAZY_H 13c03c5b1cSMartin Matuska #define ZSTD_LAZY_H 14c03c5b1cSMartin Matuska 15c03c5b1cSMartin Matuska #if defined (__cplusplus) 16c03c5b1cSMartin Matuska extern "C" { 17c03c5b1cSMartin Matuska #endif 18c03c5b1cSMartin Matuska 19c03c5b1cSMartin Matuska #include "zstd_compress_internal.h" 20c03c5b1cSMartin Matuska 21c03c5b1cSMartin Matuska U32 ZSTD_insertAndFindFirstIndex(ZSTD_matchState_t* ms, const BYTE* ip); 22c03c5b1cSMartin Matuska 23c03c5b1cSMartin Matuska void ZSTD_preserveUnsortedMark (U32* const table, U32 const size, U32 const reducerValue); /*! used in ZSTD_reduceIndex(). preemptively increase value of ZSTD_DUBT_UNSORTED_MARK */ 24c03c5b1cSMartin Matuska 25c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_btlazy2( 26c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 27c03c5b1cSMartin Matuska void const* src, size_t srcSize); 28c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_lazy2( 29c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 30c03c5b1cSMartin Matuska void const* src, size_t srcSize); 31c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_lazy( 32c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 33c03c5b1cSMartin Matuska void const* src, size_t srcSize); 34c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_greedy( 35c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 36c03c5b1cSMartin Matuska void const* src, size_t srcSize); 37c03c5b1cSMartin Matuska 38c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_btlazy2_dictMatchState( 39c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 40c03c5b1cSMartin Matuska void const* src, size_t srcSize); 41c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_lazy2_dictMatchState( 42c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 43c03c5b1cSMartin Matuska void const* src, size_t srcSize); 44c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_lazy_dictMatchState( 45c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 46c03c5b1cSMartin Matuska void const* src, size_t srcSize); 47c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_greedy_dictMatchState( 48c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 49c03c5b1cSMartin Matuska void const* src, size_t srcSize); 50c03c5b1cSMartin Matuska 51c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_greedy_extDict( 52c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 53c03c5b1cSMartin Matuska void const* src, size_t srcSize); 54c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_lazy_extDict( 55c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 56c03c5b1cSMartin Matuska void const* src, size_t srcSize); 57c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_lazy2_extDict( 58c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 59c03c5b1cSMartin Matuska void const* src, size_t srcSize); 60c03c5b1cSMartin Matuska size_t ZSTD_compressBlock_btlazy2_extDict( 61c03c5b1cSMartin Matuska ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 62c03c5b1cSMartin Matuska void const* src, size_t srcSize); 63c03c5b1cSMartin Matuska 64c03c5b1cSMartin Matuska #if defined (__cplusplus) 65c03c5b1cSMartin Matuska } 66c03c5b1cSMartin Matuska #endif 67c03c5b1cSMartin Matuska 68c03c5b1cSMartin Matuska #endif /* ZSTD_LAZY_H */ 69