zstd_compress_sequences.h
47 lines
| 1.9 KiB
| text/x-c
|
CLexer
Gregory Szorc
|
r43207 | /* | ||
* Copyright (c) 2016-present, Yann Collet, Facebook, Inc. | ||||
* 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_SEQUENCES_H | ||||
#define ZSTD_COMPRESS_SEQUENCES_H | ||||
#include "fse.h" /* FSE_repeat, FSE_CTable */ | ||||
#include "zstd_internal.h" /* symbolEncodingType_e, ZSTD_strategy */ | ||||
typedef enum { | ||||
ZSTD_defaultDisallowed = 0, | ||||
ZSTD_defaultAllowed = 1 | ||||
} ZSTD_defaultPolicy_e; | ||||
symbolEncodingType_e | ||||
ZSTD_selectEncodingType( | ||||
FSE_repeat* repeatMode, unsigned const* count, unsigned const max, | ||||
size_t const mostFrequent, size_t nbSeq, unsigned const FSELog, | ||||
FSE_CTable const* prevCTable, | ||||
short const* defaultNorm, U32 defaultNormLog, | ||||
ZSTD_defaultPolicy_e const isDefaultAllowed, | ||||
ZSTD_strategy const strategy); | ||||
size_t | ||||
ZSTD_buildCTable(void* dst, size_t dstCapacity, | ||||
FSE_CTable* nextCTable, U32 FSELog, symbolEncodingType_e type, | ||||
unsigned* count, U32 max, | ||||
const BYTE* codeTable, size_t nbSeq, | ||||
const S16* defaultNorm, U32 defaultNormLog, U32 defaultMax, | ||||
const FSE_CTable* prevCTable, size_t prevCTableSize, | ||||
void* workspace, size_t workspaceSize); | ||||
size_t ZSTD_encodeSequences( | ||||
void* dst, size_t dstCapacity, | ||||
FSE_CTable const* CTable_MatchLength, BYTE const* mlCodeTable, | ||||
FSE_CTable const* CTable_OffsetBits, BYTE const* ofCodeTable, | ||||
FSE_CTable const* CTable_LitLength, BYTE const* llCodeTable, | ||||
seqDef const* sequences, size_t nbSeq, int longOffsets, int bmi2); | ||||
#endif /* ZSTD_COMPRESS_SEQUENCES_H */ | ||||