2017-10-27 04:41:47 +08:00
/*
2023-05-22 20:32:14 +08:00
* Copyright ( c ) Meta Platforms , Inc . and affiliates .
2017-10-27 04:41:47 +08:00
* All rights reserved .
*
* This source code is licensed under both the BSD - style license ( found in the
* LICENSE file in the root directory of this source tree ) and the GPLv2 ( found
* in the COPYING file in the root directory of this source tree ) .
* You may select , at your option , one of the above - listed licenses .
*/
# ifndef ZSTD_LAZY_H
# define ZSTD_LAZY_H
# if defined (__cplusplus)
extern " C " {
# endif
2018-05-16 01:45:22 +08:00
# include "zstd_compress_internal.h"
2021-01-08 18:21:43 +08:00
/**
* Dedicated Dictionary Search Structure bucket log . In the
* ZSTD_dedicatedDictSearch mode , the hashTable has
* 2 * * ZSTD_LAZY_DDSS_BUCKET_LOG entries in each bucket , rather than just
* one .
*/
# define ZSTD_LAZY_DDSS_BUCKET_LOG 2
2023-05-22 20:32:14 +08:00
# define ZSTD_ROW_HASH_TAG_BITS 8 /* nb bits to use for the tag */
2019-01-04 08:30:03 +08:00
U32 ZSTD_insertAndFindFirstIndex ( ZSTD_matchState_t * ms , const BYTE * ip ) ;
2021-11-19 19:54:45 +08:00
void ZSTD_row_update ( ZSTD_matchState_t * const ms , const BYTE * ip ) ;
2018-05-16 01:45:22 +08:00
2021-01-08 18:21:43 +08:00
void ZSTD_dedicatedDictSearch_lazy_loadDictionary ( ZSTD_matchState_t * ms , const BYTE * const ip ) ;
2019-04-18 17:53:29 +08:00
void ZSTD_preserveUnsortedMark ( U32 * const table , U32 const size , U32 const reducerValue ) ; /*! used in ZSTD_reduceIndex(). preemptively increase value of ZSTD_DUBT_UNSORTED_MARK */
2018-05-16 01:45:22 +08:00
size_t ZSTD_compressBlock_btlazy2 (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
2019-01-04 08:30:03 +08:00
void const * src , size_t srcSize ) ;
2018-05-16 01:45:22 +08:00
size_t ZSTD_compressBlock_lazy2 (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
2019-01-04 08:30:03 +08:00
void const * src , size_t srcSize ) ;
2018-05-16 01:45:22 +08:00
size_t ZSTD_compressBlock_lazy (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
2019-01-04 08:30:03 +08:00
void const * src , size_t srcSize ) ;
2018-05-16 01:45:22 +08:00
size_t ZSTD_compressBlock_greedy (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
2019-01-04 08:30:03 +08:00
void const * src , size_t srcSize ) ;
2021-11-19 19:54:45 +08:00
size_t ZSTD_compressBlock_lazy2_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_lazy_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_greedy_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
2019-01-04 08:30:03 +08:00
size_t ZSTD_compressBlock_btlazy2_dictMatchState (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_lazy2_dictMatchState (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_lazy_dictMatchState (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_greedy_dictMatchState (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
2021-11-19 19:54:45 +08:00
size_t ZSTD_compressBlock_lazy2_dictMatchState_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_lazy_dictMatchState_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_greedy_dictMatchState_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
2018-05-16 01:45:22 +08:00
2021-01-08 18:21:43 +08:00
size_t ZSTD_compressBlock_lazy2_dedicatedDictSearch (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_lazy_dedicatedDictSearch (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_greedy_dedicatedDictSearch (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
2021-11-19 19:54:45 +08:00
size_t ZSTD_compressBlock_lazy2_dedicatedDictSearch_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_lazy_dedicatedDictSearch_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_greedy_dedicatedDictSearch_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
2021-01-08 18:21:43 +08:00
2018-05-16 01:45:22 +08:00
size_t ZSTD_compressBlock_greedy_extDict (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
2019-01-04 08:30:03 +08:00
void const * src , size_t srcSize ) ;
2018-05-16 01:45:22 +08:00
size_t ZSTD_compressBlock_lazy_extDict (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
2019-01-04 08:30:03 +08:00
void const * src , size_t srcSize ) ;
2018-05-16 01:45:22 +08:00
size_t ZSTD_compressBlock_lazy2_extDict (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
2019-01-04 08:30:03 +08:00
void const * src , size_t srcSize ) ;
2021-11-19 19:54:45 +08:00
size_t ZSTD_compressBlock_greedy_extDict_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_lazy_extDict_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
size_t ZSTD_compressBlock_lazy2_extDict_row (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
void const * src , size_t srcSize ) ;
2018-05-16 01:45:22 +08:00
size_t ZSTD_compressBlock_btlazy2_extDict (
ZSTD_matchState_t * ms , seqStore_t * seqStore , U32 rep [ ZSTD_REP_NUM ] ,
2019-01-04 08:30:03 +08:00
void const * src , size_t srcSize ) ;
2023-05-22 20:32:14 +08:00
2017-10-27 04:41:47 +08:00
# if defined (__cplusplus)
}
# endif
# endif /* ZSTD_LAZY_H */