~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/lib/zstd/compress/zstd_compress_sequences.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 
 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 */
 55 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php