Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Utilities/cmzstd/lib/compress/zstd_compress_literals.h
3158 views
1
/*
2
* Copyright (c) Meta Platforms, Inc. and affiliates.
3
* All rights reserved.
4
*
5
* This source code is licensed under both the BSD-style license (found in the
6
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
7
* 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_COMPRESS_LITERALS_H
12
#define ZSTD_COMPRESS_LITERALS_H
13
14
#include "zstd_compress_internal.h" /* ZSTD_hufCTables_t, ZSTD_minGain() */
15
16
17
size_t ZSTD_noCompressLiterals (void* dst, size_t dstCapacity, const void* src, size_t srcSize);
18
19
/* ZSTD_compressRleLiteralsBlock() :
20
* Conditions :
21
* - All bytes in @src are identical
22
* - dstCapacity >= 4 */
23
size_t ZSTD_compressRleLiteralsBlock (void* dst, size_t dstCapacity, const void* src, size_t srcSize);
24
25
/* ZSTD_compressLiterals():
26
* @entropyWorkspace: must be aligned on 4-bytes boundaries
27
* @entropyWorkspaceSize : must be >= HUF_WORKSPACE_SIZE
28
* @suspectUncompressible: sampling checks, to potentially skip huffman coding
29
*/
30
size_t ZSTD_compressLiterals (void* dst, size_t dstCapacity,
31
const void* src, size_t srcSize,
32
void* entropyWorkspace, size_t entropyWorkspaceSize,
33
const ZSTD_hufCTables_t* prevHuf,
34
ZSTD_hufCTables_t* nextHuf,
35
ZSTD_strategy strategy, int disableLiteralCompression,
36
int suspectUncompressible,
37
int bmi2);
38
39
#endif /* ZSTD_COMPRESS_LITERALS_H */
40
41