The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress_sequences.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 2016-2020, 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 
   17 typedef enum {
   18     ZSTD_defaultDisallowed = 0,
   19     ZSTD_defaultAllowed = 1
   20 } ZSTD_defaultPolicy_e;
   21 
   22 symbolEncodingType_e
   23 ZSTD_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 
   31 size_t
   32 ZSTD_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 
   40 size_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 
   47 size_t ZSTD_fseBitCost(
   48     FSE_CTable const* ctable,
   49     unsigned const* count,
   50     unsigned const max);
   51 
   52 size_t ZSTD_crossEntropyCost(short const* norm, unsigned accuracyLog,
   53                              unsigned const* count, unsigned const max);
   54 #endif /* ZSTD_COMPRESS_SEQUENCES_H */

Cache object: def90a21c9a51587997e83bc6fd440c5


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.