diff options
author | 2023-12-11 10:48:02 +1100 | |
---|---|---|
committer | 2023-12-11 10:48:02 +1100 | |
commit | 05e69b43e9770e16c4bf1c6ca3e585e64c3f6ff9 (patch) | |
tree | 00ff2118ddc01455ee55785283a2fcfb9bfaf77e /3rdparty/zstd/lib/compress/zstd_compress_literals.h | |
parent | 1a4287925e3982e2f782dee6f62b198984b839de (diff) |
Added Zstandard support for zip archives and CHDs. (#11827)
* 3rdparty/zstd: Added Zstandard compression library version 1.5.5.
* util/unzip.cpp: Added support for Zstandard compression (method 93).
* util/chdcodec.cpp: Added support for Zstandard compression.
* 3rdparty/flac: Always define NDEBUG to avoid log spam.
Diffstat (limited to '3rdparty/zstd/lib/compress/zstd_compress_literals.h')
-rw-r--r-- | 3rdparty/zstd/lib/compress/zstd_compress_literals.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/3rdparty/zstd/lib/compress/zstd_compress_literals.h b/3rdparty/zstd/lib/compress/zstd_compress_literals.h new file mode 100644 index 00000000000..b060c8ad218 --- /dev/null +++ b/3rdparty/zstd/lib/compress/zstd_compress_literals.h @@ -0,0 +1,39 @@ +/* + * 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_COMPRESS_LITERALS_H +#define ZSTD_COMPRESS_LITERALS_H + +#include "zstd_compress_internal.h" /* ZSTD_hufCTables_t, ZSTD_minGain() */ + + +size_t ZSTD_noCompressLiterals (void* dst, size_t dstCapacity, const void* src, size_t srcSize); + +/* ZSTD_compressRleLiteralsBlock() : + * Conditions : + * - All bytes in @src are identical + * - dstCapacity >= 4 */ +size_t ZSTD_compressRleLiteralsBlock (void* dst, size_t dstCapacity, const void* src, size_t srcSize); + +/* ZSTD_compressLiterals(): + * @entropyWorkspace: must be aligned on 4-bytes boundaries + * @entropyWorkspaceSize : must be >= HUF_WORKSPACE_SIZE + * @suspectUncompressible: sampling checks, to potentially skip huffman coding + */ +size_t ZSTD_compressLiterals (void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + void* entropyWorkspace, size_t entropyWorkspaceSize, + const ZSTD_hufCTables_t* prevHuf, + ZSTD_hufCTables_t* nextHuf, + ZSTD_strategy strategy, int disableLiteralCompression, + int suspectUncompressible, + int bmi2); + +#endif /* ZSTD_COMPRESS_LITERALS_H */ |