2017-08-27 10:05:17 +00:00
|
|
|
/*
|
2023-05-22 12:32:14 +00:00
|
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
2017-06-09 01:43:56 +00:00
|
|
|
* All rights reserved.
|
|
|
|
*
|
2017-08-27 10:05:17 +00:00
|
|
|
* 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).
|
2017-10-26 20:41:47 +00:00
|
|
|
* You may select, at your option, one of the above-listed licenses.
|
2017-06-09 01:43:56 +00:00
|
|
|
*/
|
|
|
|
|
2017-10-26 20:41:47 +00:00
|
|
|
#ifndef ZSTD_OPT_H
|
|
|
|
#define ZSTD_OPT_H
|
2017-06-09 01:43:56 +00:00
|
|
|
|
2017-10-26 20:41:47 +00:00
|
|
|
#if defined (__cplusplus)
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2017-06-09 01:43:56 +00:00
|
|
|
|
2018-05-15 17:45:22 +00:00
|
|
|
#include "zstd_compress_internal.h"
|
2018-01-13 12:50:59 +00:00
|
|
|
|
2024-04-05 09:22:55 +00:00
|
|
|
#if !defined(ZSTD_EXCLUDE_BTLAZY2_BLOCK_COMPRESSOR) \
|
|
|
|
|| !defined(ZSTD_EXCLUDE_BTOPT_BLOCK_COMPRESSOR) \
|
|
|
|
|| !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR)
|
2019-01-04 00:30:03 +00:00
|
|
|
/* used in ZSTD_loadDictionaryContent() */
|
|
|
|
void ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend);
|
2024-04-05 09:22:55 +00:00
|
|
|
#endif
|
2017-06-09 01:43:56 +00:00
|
|
|
|
2024-04-05 09:22:55 +00:00
|
|
|
#ifndef ZSTD_EXCLUDE_BTOPT_BLOCK_COMPRESSOR
|
2018-05-15 17:45:22 +00:00
|
|
|
size_t ZSTD_compressBlock_btopt(
|
|
|
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
2019-01-04 00:30:03 +00:00
|
|
|
void const* src, size_t srcSize);
|
2024-04-05 09:22:55 +00:00
|
|
|
size_t ZSTD_compressBlock_btopt_dictMatchState(
|
2018-05-15 17:45:22 +00:00
|
|
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
2019-01-04 00:30:03 +00:00
|
|
|
void const* src, size_t srcSize);
|
2024-04-05 09:22:55 +00:00
|
|
|
size_t ZSTD_compressBlock_btopt_extDict(
|
2019-01-04 00:30:03 +00:00
|
|
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
|
|
|
void const* src, size_t srcSize);
|
|
|
|
|
2024-04-05 09:22:55 +00:00
|
|
|
#define ZSTD_COMPRESSBLOCK_BTOPT ZSTD_compressBlock_btopt
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTOPT_DICTMATCHSTATE ZSTD_compressBlock_btopt_dictMatchState
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTOPT_EXTDICT ZSTD_compressBlock_btopt_extDict
|
|
|
|
#else
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTOPT NULL
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTOPT_DICTMATCHSTATE NULL
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTOPT_EXTDICT NULL
|
|
|
|
#endif
|
2019-01-04 00:30:03 +00:00
|
|
|
|
2024-04-05 09:22:55 +00:00
|
|
|
#ifndef ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR
|
|
|
|
size_t ZSTD_compressBlock_btultra(
|
2019-01-04 00:30:03 +00:00
|
|
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
|
|
|
void const* src, size_t srcSize);
|
|
|
|
size_t ZSTD_compressBlock_btultra_dictMatchState(
|
|
|
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
|
|
|
void const* src, size_t srcSize);
|
2018-05-15 17:45:22 +00:00
|
|
|
size_t ZSTD_compressBlock_btultra_extDict(
|
|
|
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
2019-01-04 00:30:03 +00:00
|
|
|
void const* src, size_t srcSize);
|
|
|
|
|
|
|
|
/* note : no btultra2 variant for extDict nor dictMatchState,
|
|
|
|
* because btultra2 is not meant to work with dictionaries
|
|
|
|
* and is only specific for the first block (no prefix) */
|
2024-04-05 09:22:55 +00:00
|
|
|
size_t ZSTD_compressBlock_btultra2(
|
|
|
|
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
|
|
|
|
void const* src, size_t srcSize);
|
|
|
|
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTULTRA ZSTD_compressBlock_btultra
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTULTRA_DICTMATCHSTATE ZSTD_compressBlock_btultra_dictMatchState
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTULTRA_EXTDICT ZSTD_compressBlock_btultra_extDict
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTULTRA2 ZSTD_compressBlock_btultra2
|
|
|
|
#else
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTULTRA NULL
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTULTRA_DICTMATCHSTATE NULL
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTULTRA_EXTDICT NULL
|
|
|
|
#define ZSTD_COMPRESSBLOCK_BTULTRA2 NULL
|
|
|
|
#endif
|
2017-06-09 01:43:56 +00:00
|
|
|
|
2017-10-26 20:41:47 +00:00
|
|
|
#if defined (__cplusplus)
|
2017-06-09 01:43:56 +00:00
|
|
|
}
|
2017-10-26 20:41:47 +00:00
|
|
|
#endif
|
2017-06-09 01:43:56 +00:00
|
|
|
|
2017-10-26 20:41:47 +00:00
|
|
|
#endif /* ZSTD_OPT_H */
|