xref: /freebsd-src/sys/contrib/zstd/lib/compress/zstd_compress_literals.h (revision 5ff13fbc199bdf5f0572845351c68ee5ca828e71)
14d3f1eafSConrad Meyer /*
2*5ff13fbcSAllan Jude  * Copyright (c) Yann Collet, Facebook, Inc.
34d3f1eafSConrad Meyer  * All rights reserved.
44d3f1eafSConrad Meyer  *
54d3f1eafSConrad Meyer  * This source code is licensed under both the BSD-style license (found in the
64d3f1eafSConrad Meyer  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
74d3f1eafSConrad Meyer  * in the COPYING file in the root directory of this source tree).
84d3f1eafSConrad Meyer  * You may select, at your option, one of the above-listed licenses.
94d3f1eafSConrad Meyer  */
104d3f1eafSConrad Meyer 
114d3f1eafSConrad Meyer #ifndef ZSTD_COMPRESS_LITERALS_H
124d3f1eafSConrad Meyer #define ZSTD_COMPRESS_LITERALS_H
134d3f1eafSConrad Meyer 
144d3f1eafSConrad Meyer #include "zstd_compress_internal.h" /* ZSTD_hufCTables_t, ZSTD_minGain() */
154d3f1eafSConrad Meyer 
164d3f1eafSConrad Meyer 
174d3f1eafSConrad Meyer size_t ZSTD_noCompressLiterals (void* dst, size_t dstCapacity, const void* src, size_t srcSize);
184d3f1eafSConrad Meyer 
194d3f1eafSConrad Meyer size_t ZSTD_compressRleLiteralsBlock (void* dst, size_t dstCapacity, const void* src, size_t srcSize);
204d3f1eafSConrad Meyer 
21*5ff13fbcSAllan Jude /* If suspectUncompressible then some sampling checks will be run to potentially skip huffman coding */
224d3f1eafSConrad Meyer size_t ZSTD_compressLiterals (ZSTD_hufCTables_t const* prevHuf,
234d3f1eafSConrad Meyer                               ZSTD_hufCTables_t* nextHuf,
244d3f1eafSConrad Meyer                               ZSTD_strategy strategy, int disableLiteralCompression,
254d3f1eafSConrad Meyer                               void* dst, size_t dstCapacity,
264d3f1eafSConrad Meyer                         const void* src, size_t srcSize,
279cbefe25SConrad Meyer                               void* entropyWorkspace, size_t entropyWorkspaceSize,
28*5ff13fbcSAllan Jude                         const int bmi2,
29*5ff13fbcSAllan Jude                         unsigned suspectUncompressible);
304d3f1eafSConrad Meyer 
314d3f1eafSConrad Meyer #endif /* ZSTD_COMPRESS_LITERALS_H */
32