cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

zstd_compress_sequences.h (2166B)


      1/*
      2 * Copyright (c) Yann Collet, Facebook, Inc.
      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_SEQUENCES_H
     12#define ZSTD_COMPRESS_SEQUENCES_H
     13
     14#include "../common/fse.h" /* FSE_repeat, FSE_CTable */
     15#include "../common/zstd_internal.h" /* symbolEncodingType_e, ZSTD_strategy */
     16
     17typedef enum {
     18    ZSTD_defaultDisallowed = 0,
     19    ZSTD_defaultAllowed = 1
     20} ZSTD_defaultPolicy_e;
     21
     22symbolEncodingType_e
     23ZSTD_selectEncodingType(
     24        FSE_repeat* repeatMode, unsigned const* count, unsigned const max,
     25        size_t const mostFrequent, size_t nbSeq, unsigned const FSELog,
     26        FSE_CTable const* prevCTable,
     27        short const* defaultNorm, U32 defaultNormLog,
     28        ZSTD_defaultPolicy_e const isDefaultAllowed,
     29        ZSTD_strategy const strategy);
     30
     31size_t
     32ZSTD_buildCTable(void* dst, size_t dstCapacity,
     33                FSE_CTable* nextCTable, U32 FSELog, symbolEncodingType_e type,
     34                unsigned* count, U32 max,
     35                const BYTE* codeTable, size_t nbSeq,
     36                const S16* defaultNorm, U32 defaultNormLog, U32 defaultMax,
     37                const FSE_CTable* prevCTable, size_t prevCTableSize,
     38                void* entropyWorkspace, size_t entropyWorkspaceSize);
     39
     40size_t ZSTD_encodeSequences(
     41            void* dst, size_t dstCapacity,
     42            FSE_CTable const* CTable_MatchLength, BYTE const* mlCodeTable,
     43            FSE_CTable const* CTable_OffsetBits, BYTE const* ofCodeTable,
     44            FSE_CTable const* CTable_LitLength, BYTE const* llCodeTable,
     45            seqDef const* sequences, size_t nbSeq, int longOffsets, int bmi2);
     46
     47size_t ZSTD_fseBitCost(
     48    FSE_CTable const* ctable,
     49    unsigned const* count,
     50    unsigned const max);
     51
     52size_t ZSTD_crossEntropyCost(short const* norm, unsigned accuracyLog,
     53                             unsigned const* count, unsigned const max);
     54#endif /* ZSTD_COMPRESS_SEQUENCES_H */