mirror of
https://github.com/facebook/zstd.git
synced 2025-10-07 00:12:40 -04:00
that samples 1 in 5 positions. This variant is fast enough for lazy2 and btlazy2, but it's less good in combination with post-splitter at higher levels (>= btopt).
41 lines
1.2 KiB
C
41 lines
1.2 KiB
C
/*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
* 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_PRESPLIT_H
|
|
#define ZSTD_PRESPLIT_H
|
|
|
|
#include <stddef.h> /* size_t */
|
|
|
|
#if defined (__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum { split_lvl1, split_lvl2 } ZSTD_SplitBlock_strategy_e;
|
|
|
|
#define ZSTD_SLIPBLOCK_WORKSPACESIZE 8208
|
|
|
|
/* note:
|
|
* @workspace must be aligned on 8-bytes boundaries
|
|
* @wkspSize must be at least >= ZSTD_SLIPBLOCK_WORKSPACESIZE
|
|
* note2:
|
|
* for the time being, this function only accepts full 128 KB blocks,
|
|
* therefore @blockSizeMax must be == 128 KB.
|
|
* This could be extended to smaller sizes in the future.
|
|
*/
|
|
size_t ZSTD_splitBlock(const void* src, size_t srcSize,
|
|
size_t blockSizeMax, ZSTD_SplitBlock_strategy_e splitStrat,
|
|
void* workspace, size_t wkspSize);
|
|
|
|
#if defined (__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
#endif /* ZSTD_PRESPLIT_H */
|