Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
zstd_v02.c File Reference
#include <stddef.h>
#include "zstd_v02.h"
#include "../common/compiler.h"
#include "../common/error_private.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

Data Structures

struct  BIT_DStream_t
 
struct  FSE_DState_t
 
struct  FSE_DTableHeader
 
struct  FSE_decode_t
 
struct  HUF_DEltX2
 
struct  HUF_DEltX4
 
struct  sortedSymbol_t
 
struct  HUF_DDescX6
 
union  HUF_DSeqX6
 
struct  algo_time_t
 
struct  blockProperties_t
 
struct  seqStore_t
 
struct  ZSTDv02_Dctx_s
 
struct  seq_t
 
struct  seqState_t
 

Macros

#define MEM_H_MODULE
 
#define BITSTREAM_H_MODULE
 
#define ERROR_H_MODULE
 
#define ERR_STATIC   static /* this version may generate warnings for unused static functions; disable the relevant warning */
 
#define PREFIX(name)
 
#define ERROR(name)
 
#define ERROR_LIST(ITEM)
 
#define ERROR_GENERATE_ENUM(ENUM)
 
#define ERROR_CONVERTTOSTRING(STRING)
 
#define ERROR_GENERATE_STRING(EXPR)
 
#define FSE_NCOUNTBOUND   512
 
#define FSE_BLOCKBOUND(size)
 
#define FSE_COMPRESSBOUND(size)
 
#define FSE_CTABLE_SIZE_U32(maxTableLog, maxSymbolValue)
 
#define FSE_DTABLE_SIZE_U32(maxTableLog)
 
#define HUF_CTABLEBOUND   129
 
#define HUF_BLOCKBOUND(size)
 
#define HUF_COMPRESSBOUND(size)
 
#define HUF_DTABLE_SIZE(maxTableLog)
 
#define HUF_CREATE_STATIC_DTABLEX2(DTable, maxTableLog)
 
#define HUF_CREATE_STATIC_DTABLEX4(DTable, maxTableLog)
 
#define HUF_CREATE_STATIC_DTABLEX6(DTable, maxTableLog)
 
#define ZSTD_VERSION_MAJOR   0 /* for breaking interface changes */
 
#define ZSTD_VERSION_MINOR   2 /* for new (non-breaking) interface capabilities */
 
#define ZSTD_VERSION_RELEASE   2 /* for tweaks, bug-fixes, or development */
 
#define ZSTD_VERSION_NUMBER   (ZSTD_VERSION_MAJOR *100*100 + ZSTD_VERSION_MINOR *100 + ZSTD_VERSION_RELEASE)
 
#define ZSTD_magicNumber   0xFD2FB522 /* v0.2 (current)*/
 
#define FSE_MAX_MEMORY_USAGE   14
 
#define FSE_DEFAULT_MEMORY_USAGE   13
 
#define FSE_MAX_SYMBOL_VALUE   255
 
#define FSE_FUNCTION_TYPE   BYTE
 
#define FSE_FUNCTION_EXTENSION
 
#define FORCE_INLINE   static
 
#define FSE_MAX_TABLELOG   (FSE_MAX_MEMORY_USAGE-2)
 
#define FSE_MAX_TABLESIZE   (1U<<FSE_MAX_TABLELOG)
 
#define FSE_MAXTABLESIZE_MASK   (FSE_MAX_TABLESIZE-1)
 
#define FSE_DEFAULT_TABLELOG   (FSE_DEFAULT_MEMORY_USAGE-2)
 
#define FSE_MIN_TABLELOG   5
 
#define FSE_TABLELOG_ABSOLUTE_MAX   15
 
#define FSE_STATIC_ASSERT(c)
 
#define FSE_CAT(X, Y)
 
#define FSE_FUNCTION_NAME(X, Y)
 
#define FSE_TYPE_NAME(X, Y)
 
#define FSE_DECODE_TYPE   FSE_decode_t
 
#define FSE_GETSYMBOL(statePtr)
 
#define inline   /* disable inline */
 
#define HUF_STATIC_ASSERT(c)
 
#define HUF_ABSOLUTEMAX_TABLELOG   16 /* absolute limit of HUF_MAX_TABLELOG. Beyond that value, code does not work */
 
#define HUF_MAX_TABLELOG   12 /* max configured tableLog (for static allocation); can be modified up to HUF_ABSOLUTEMAX_TABLELOG */
 
#define HUF_DEFAULT_TABLELOG   HUF_MAX_TABLELOG /* tableLog by default, when not specified */
 
#define HUF_MAX_SYMBOL_VALUE   255
 
#define HUF_DECODE_SYMBOLX2_0(ptr, DStreamPtr)
 
#define HUF_DECODE_SYMBOLX2_1(ptr, DStreamPtr)
 
#define HUF_DECODE_SYMBOLX2_2(ptr, DStreamPtr)
 
#define HUF_DECODE_SYMBOLX4_0(ptr, DStreamPtr)
 
#define HUF_DECODE_SYMBOLX4_1(ptr, DStreamPtr)
 
#define HUF_DECODE_SYMBOLX4_2(ptr, DStreamPtr)
 
#define HUF_DECODE_SYMBOLX6_0(ptr, DStreamPtr)
 
#define HUF_DECODE_SYMBOLX6_1(ptr, DStreamPtr)
 
#define HUF_DECODE_SYMBOLX6_2(ptr, DStreamPtr)
 
#define ZSTD_MEMORY_USAGE   17
 
#define ZSTD_HEAPMODE   1
 
#define ZSTD_LEGACY_SUPPORT   1
 
#define HASH_LOG   (ZSTD_MEMORY_USAGE - 2)
 
#define HASH_TABLESIZE   (1 << HASH_LOG)
 
#define HASH_MASK   (HASH_TABLESIZE - 1)
 
#define KNUTH   2654435761
 
#define BIT7   128
 
#define BIT6   64
 
#define BIT5   32
 
#define BIT4   16
 
#define BIT1   2
 
#define BIT0   1
 
#define KB   *(1 <<10)
 
#define MB   *(1 <<20)
 
#define GB   *(1U<<30)
 
#define BLOCKSIZE   (128 KB) /* define, for static allocation */
 
#define MIN_SEQUENCES_SIZE   (2 /*seqNb*/ + 2 /*dumps*/ + 3 /*seqTables*/ + 1 /*bitStream*/)
 
#define MIN_CBLOCK_SIZE   (3 /*litCSize*/ + MIN_SEQUENCES_SIZE)
 
#define IS_RAW   BIT0
 
#define IS_RLE   BIT1
 
#define WORKPLACESIZE   (BLOCKSIZE*3)
 
#define MINMATCH   4
 
#define MLbits   7
 
#define LLbits   6
 
#define Offbits   5
 
#define MaxML   ((1<<MLbits )-1)
 
#define MaxLL   ((1<<LLbits )-1)
 
#define MaxOff   31
 
#define LitFSELog   11
 
#define MLFSELog   10
 
#define LLFSELog   10
 
#define OffFSELog   9
 
#define MAX(a, b)
 
#define MaxSeq   MAX(MaxLL, MaxML)
 
#define LITERAL_NOENTROPY   63
 
#define COMMAND_NOENTROPY   7 /* to remove */
 
#define ZSTD_CONTENTSIZE_ERROR   (0ULL - 2)
 
#define COPY8(d, s)
 

Typedefs

typedef struct ZSTDv02_Dctx_s ZSTD_DCtx
 
typedef size_t(* decompressionAlgo) (void *dst, size_t dstSize, const void *cSrc, size_t cSrcSize)
 

Enumerations

enum  BIT_DStream_status { BIT_DStream_unfinished = 0 , BIT_DStream_endOfBuffer = 1 , BIT_DStream_completed = 2 , BIT_DStream_overflow = 3 }
 
enum  ERR_codes { ERROR_LIST =(ERROR_GENERATE_ENUM) }
 
enum  blockType_t { bt_compressed , bt_raw , bt_rle , bt_end }
 

Functions

MEM_STATIC unsigned MEM_32bits (void)
 
MEM_STATIC unsigned MEM_64bits (void)
 
MEM_STATIC unsigned MEM_isLittleEndian (void)
 
MEM_STATIC U16 MEM_read16 (const void *memPtr)
 
MEM_STATIC U32 MEM_read32 (const void *memPtr)
 
MEM_STATIC U64 MEM_read64 (const void *memPtr)
 
MEM_STATIC void MEM_write16 (void *memPtr, U16 value)
 
MEM_STATIC U16 MEM_readLE16 (const void *memPtr)
 
MEM_STATIC void MEM_writeLE16 (void *memPtr, U16 val)
 
MEM_STATIC U32 MEM_readLE24 (const void *memPtr)
 
MEM_STATIC U32 MEM_readLE32 (const void *memPtr)
 
MEM_STATIC U64 MEM_readLE64 (const void *memPtr)
 
MEM_STATIC size_t MEM_readLEST (const void *memPtr)
 
MEM_STATIC size_t BIT_initDStream (BIT_DStream_t *bitD, const void *srcBuffer, size_t srcSize)
 
MEM_STATIC size_t BIT_readBits (BIT_DStream_t *bitD, unsigned nbBits)
 
MEM_STATIC BIT_DStream_status BIT_reloadDStream (BIT_DStream_t *bitD)
 
MEM_STATIC unsigned BIT_endOfDStream (const BIT_DStream_t *bitD)
 
MEM_STATIC size_t BIT_readBitsFast (BIT_DStream_t *bitD, unsigned nbBits)
 
MEM_STATIC unsigned BIT_highbit32 (U32 val)
 
MEM_STATIC size_t BIT_lookBits (BIT_DStream_t *bitD, U32 nbBits)
 
MEM_STATIC size_t BIT_lookBitsFast (BIT_DStream_t *bitD, U32 nbBits)
 
MEM_STATIC void BIT_skipBits (BIT_DStream_t *bitD, U32 nbBits)
 
MEM_STATIC size_t BIT_readBits (BIT_DStream_t *bitD, U32 nbBits)
 
MEM_STATIC size_t BIT_readBitsFast (BIT_DStream_t *bitD, U32 nbBits)
 
ERR_STATIC unsigned ERR_isError (size_t code)
 
ERR_STATIC const char * ERR_getErrorName (size_t code)
 
FORCE_INLINE size_t FSE_decompress_usingDTable_generic (void *dst, size_t maxDstSize, const void *cSrc, size_t cSrcSize, const FSE_DTable *dt, const unsigned fast)
 
void ZSTDv02_findFrameSizeInfoLegacy (const void *src, size_t srcSize, size_t *cSize, unsigned long long *dBound)
 
unsigned ZSTDv02_isError (size_t code)
 
size_t ZSTDv02_decompress (void *dst, size_t maxOriginalSize, const void *src, size_t compressedSize)
 
ZSTDv02_DctxZSTDv02_createDCtx (void)
 
size_t ZSTDv02_freeDCtx (ZSTDv02_Dctx *dctx)
 
size_t ZSTDv02_resetDCtx (ZSTDv02_Dctx *dctx)
 
size_t ZSTDv02_nextSrcSizeToDecompress (ZSTDv02_Dctx *dctx)
 
size_t ZSTDv02_decompressContinue (ZSTDv02_Dctx *dctx, void *dst, size_t maxDstSize, const void *src, size_t srcSize)
 

Macro Definition Documentation

◆ BIT0

#define BIT0   1

◆ BIT1

#define BIT1   2

◆ BIT4

#define BIT4   16

◆ BIT5

#define BIT5   32

◆ BIT6

#define BIT6   64

◆ BIT7

#define BIT7   128

◆ BITSTREAM_H_MODULE

#define BITSTREAM_H_MODULE

◆ BLOCKSIZE

#define BLOCKSIZE   (128 KB) /* define, for static allocation */

◆ COMMAND_NOENTROPY

#define COMMAND_NOENTROPY   7 /* to remove */

◆ COPY8

#define COPY8 ( d,
s )
Value:
{ ZSTD_copy8(d,s); d+=8; s+=8; }
#define d(i)
Definition sha256.c:44

◆ ERR_STATIC

#define ERR_STATIC   static /* this version may generate warnings for unused static functions; disable the relevant warning */

◆ ERROR

#define ERROR ( name)
Value:
(size_t)-PREFIX(name)
char name[NAME_LEN_MAX+1]
Name of the filter.
Definition string_conversion.c:450
#define PREFIX(name)
Definition zstd_v02.c:567

◆ ERROR_CONVERTTOSTRING

#define ERROR_CONVERTTOSTRING ( STRING)
Value:
#STRING,

◆ ERROR_GENERATE_ENUM

#define ERROR_GENERATE_ENUM ( ENUM)
Value:
ENUM,

◆ ERROR_GENERATE_STRING

#define ERROR_GENERATE_STRING ( EXPR)
Value:
#define ERROR_CONVERTTOSTRING(STRING)
Definition zstd_v02.c:581

◆ ERROR_H_MODULE

#define ERROR_H_MODULE

◆ ERROR_LIST

#define ERROR_LIST ( ITEM)
Value:
ITEM(PREFIX(No_Error)) ITEM(PREFIX(GENERIC)) \
ITEM(PREFIX(dstSize_tooSmall)) ITEM(PREFIX(srcSize_wrong)) \
ITEM(PREFIX(prefix_unknown)) ITEM(PREFIX(corruption_detected)) \
ITEM(PREFIX(tableLog_tooLarge)) ITEM(PREFIX(maxSymbolValue_tooLarge)) ITEM(PREFIX(maxSymbolValue_tooSmall)) \
ITEM(PREFIX(maxCode))

◆ FORCE_INLINE

#define FORCE_INLINE   static

◆ FSE_BLOCKBOUND

#define FSE_BLOCKBOUND ( size)
Value:
(size + (size>>7))
size_t size
Definition platform.h:559

◆ FSE_CAT

#define FSE_CAT ( X,
Y )
Value:
X##Y
#define X(name, r, bit)
Definition cpu.h:110

◆ FSE_COMPRESSBOUND

#define FSE_COMPRESSBOUND ( size)
Value:
(FSE_NCOUNTBOUND + FSE_BLOCKBOUND(size)) /* Macro version, useful for static allocation */
#define FSE_NCOUNTBOUND
Definition zstd_v02.c:650
#define FSE_BLOCKBOUND(size)
Definition zstd_v02.c:651

◆ FSE_CTABLE_SIZE_U32

#define FSE_CTABLE_SIZE_U32 ( maxTableLog,
maxSymbolValue )
Value:
(1 + (1<<(maxTableLog-1)) + ((maxSymbolValue+1)*2))

◆ FSE_DECODE_TYPE

#define FSE_DECODE_TYPE   FSE_decode_t

◆ FSE_DEFAULT_MEMORY_USAGE

#define FSE_DEFAULT_MEMORY_USAGE   13

◆ FSE_DEFAULT_TABLELOG

#define FSE_DEFAULT_TABLELOG   (FSE_DEFAULT_MEMORY_USAGE-2)

◆ FSE_DTABLE_SIZE_U32

#define FSE_DTABLE_SIZE_U32 ( maxTableLog)
Value:
(1 + (1<<maxTableLog))

◆ FSE_FUNCTION_EXTENSION

#define FSE_FUNCTION_EXTENSION

◆ FSE_FUNCTION_NAME

#define FSE_FUNCTION_NAME ( X,
Y )
Value:
#define FSE_CAT(X, Y)
Definition zstd_v02.c:1084

◆ FSE_FUNCTION_TYPE

#define FSE_FUNCTION_TYPE   BYTE

◆ FSE_GETSYMBOL

#define FSE_GETSYMBOL ( statePtr)
Value:
fast ? FSE_decodeSymbolFast(statePtr, &bitD) : FSE_decodeSymbol(statePtr, &bitD)

◆ FSE_MAX_MEMORY_USAGE

#define FSE_MAX_MEMORY_USAGE   14

◆ FSE_MAX_SYMBOL_VALUE

#define FSE_MAX_SYMBOL_VALUE   255

◆ FSE_MAX_TABLELOG

#define FSE_MAX_TABLELOG   (FSE_MAX_MEMORY_USAGE-2)

◆ FSE_MAX_TABLESIZE

#define FSE_MAX_TABLESIZE   (1U<<FSE_MAX_TABLELOG)

◆ FSE_MAXTABLESIZE_MASK

#define FSE_MAXTABLESIZE_MASK   (FSE_MAX_TABLESIZE-1)

◆ FSE_MIN_TABLELOG

#define FSE_MIN_TABLELOG   5

◆ FSE_NCOUNTBOUND

#define FSE_NCOUNTBOUND   512

◆ FSE_STATIC_ASSERT

#define FSE_STATIC_ASSERT ( c)
Value:
{ enum { FSE_static_assert = 1/(int)(!!(c)) }; } /* use only *after* variable declarations */
int
Definition lzoconf.h:340
#define c(i)
Definition sha256.c:43

◆ FSE_TABLELOG_ABSOLUTE_MAX

#define FSE_TABLELOG_ABSOLUTE_MAX   15

◆ FSE_TYPE_NAME

#define FSE_TYPE_NAME ( X,
Y )
Value:

◆ GB

#define GB   *(1U<<30)

◆ HASH_LOG

#define HASH_LOG   (ZSTD_MEMORY_USAGE - 2)

◆ HASH_MASK

#define HASH_MASK   (HASH_TABLESIZE - 1)

◆ HASH_TABLESIZE

#define HASH_TABLESIZE   (1 << HASH_LOG)

◆ HUF_ABSOLUTEMAX_TABLELOG

#define HUF_ABSOLUTEMAX_TABLELOG   16 /* absolute limit of HUF_MAX_TABLELOG. Beyond that value, code does not work */

◆ HUF_BLOCKBOUND

#define HUF_BLOCKBOUND ( size)
Value:
(size + (size>>8) + 8) /* only true if incompressible pre-filtered with fast heuristic */

◆ HUF_COMPRESSBOUND

#define HUF_COMPRESSBOUND ( size)
Value:
(HUF_CTABLEBOUND + HUF_BLOCKBOUND(size)) /* Macro version, useful for static allocation */
#define HUF_CTABLEBOUND
Definition zstd_v02.c:794
#define HUF_BLOCKBOUND(size)
Definition zstd_v02.c:795

◆ HUF_CREATE_STATIC_DTABLEX2

#define HUF_CREATE_STATIC_DTABLEX2 ( DTable,
maxTableLog )
Value:
unsigned short DTable[HUF_DTABLE_SIZE(maxTableLog)] = { maxTableLog }
#define HUF_DTABLE_SIZE(maxTableLog)
Definition zstd_v02.c:799

◆ HUF_CREATE_STATIC_DTABLEX4

#define HUF_CREATE_STATIC_DTABLEX4 ( DTable,
maxTableLog )
Value:
unsigned int DTable[HUF_DTABLE_SIZE(maxTableLog)] = { maxTableLog }

◆ HUF_CREATE_STATIC_DTABLEX6

#define HUF_CREATE_STATIC_DTABLEX6 ( DTable,
maxTableLog )
Value:
unsigned int DTable[HUF_DTABLE_SIZE(maxTableLog) * 3 / 2] = { maxTableLog }

◆ HUF_CTABLEBOUND

#define HUF_CTABLEBOUND   129

◆ HUF_DECODE_SYMBOLX2_0

#define HUF_DECODE_SYMBOLX2_0 ( ptr,
DStreamPtr )
Value:
*ptr++ = HUF_decodeSymbolX2(DStreamPtr, dt, dtLog)
FORCE_INLINE_TEMPLATE U32 HUF_decodeSymbolX2(void *op, BIT_DStream_t *DStream, const HUF_DEltX2 *dt, const U32 dtLog)
Definition huf_decompress.c:1139

◆ HUF_DECODE_SYMBOLX2_1

#define HUF_DECODE_SYMBOLX2_1 ( ptr,
DStreamPtr )
Value:
if (MEM_64bits() || (HUF_MAX_TABLELOG<=12)) \
HUF_DECODE_SYMBOLX2_0(ptr, DStreamPtr)
#define HUF_MAX_TABLELOG
Definition zstd_v02.c:1519
MEM_STATIC unsigned MEM_64bits(void)
Definition zstd_v02.c:138

◆ HUF_DECODE_SYMBOLX2_2

#define HUF_DECODE_SYMBOLX2_2 ( ptr,
DStreamPtr )
Value:
if (MEM_64bits()) \
HUF_DECODE_SYMBOLX2_0(ptr, DStreamPtr)

◆ HUF_DECODE_SYMBOLX4_0

#define HUF_DECODE_SYMBOLX4_0 ( ptr,
DStreamPtr )
Value:
ptr += HUF_decodeSymbolX4(ptr, DStreamPtr, dt, dtLog)

◆ HUF_DECODE_SYMBOLX4_1

#define HUF_DECODE_SYMBOLX4_1 ( ptr,
DStreamPtr )
Value:
if (MEM_64bits() || (HUF_MAX_TABLELOG<=12)) \
ptr += HUF_decodeSymbolX4(ptr, DStreamPtr, dt, dtLog)

◆ HUF_DECODE_SYMBOLX4_2

#define HUF_DECODE_SYMBOLX4_2 ( ptr,
DStreamPtr )
Value:
if (MEM_64bits()) \
ptr += HUF_decodeSymbolX4(ptr, DStreamPtr, dt, dtLog)

◆ HUF_DECODE_SYMBOLX6_0

#define HUF_DECODE_SYMBOLX6_0 ( ptr,
DStreamPtr )
Value:
ptr += HUF_decodeSymbolX6(ptr, DStreamPtr, dd, ds, dtLog)

◆ HUF_DECODE_SYMBOLX6_1

#define HUF_DECODE_SYMBOLX6_1 ( ptr,
DStreamPtr )
Value:
if (MEM_64bits() || (HUF_MAX_TABLELOG<=12)) \
HUF_DECODE_SYMBOLX6_0(ptr, DStreamPtr)

◆ HUF_DECODE_SYMBOLX6_2

#define HUF_DECODE_SYMBOLX6_2 ( ptr,
DStreamPtr )
Value:
if (MEM_64bits()) \
HUF_DECODE_SYMBOLX6_0(ptr, DStreamPtr)

◆ HUF_DEFAULT_TABLELOG

#define HUF_DEFAULT_TABLELOG   HUF_MAX_TABLELOG /* tableLog by default, when not specified */

◆ HUF_DTABLE_SIZE

#define HUF_DTABLE_SIZE ( maxTableLog)
Value:
(1 + (1<<maxTableLog)) /* nb Cells; use unsigned short for X2, unsigned int for X4 */

◆ HUF_MAX_SYMBOL_VALUE

#define HUF_MAX_SYMBOL_VALUE   255

◆ HUF_MAX_TABLELOG

#define HUF_MAX_TABLELOG   12 /* max configured tableLog (for static allocation); can be modified up to HUF_ABSOLUTEMAX_TABLELOG */

◆ HUF_STATIC_ASSERT

#define HUF_STATIC_ASSERT ( c)
Value:
{ enum { HUF_static_assert = 1/(int)(!!(c)) }; } /* use only *after* variable declarations */

◆ inline

#define inline   /* disable inline */

◆ IS_RAW

#define IS_RAW   BIT0

◆ IS_RLE

#define IS_RLE   BIT1

◆ KB

#define KB   *(1 <<10)

◆ KNUTH

#define KNUTH   2654435761

◆ LITERAL_NOENTROPY

#define LITERAL_NOENTROPY   63

◆ LitFSELog

#define LitFSELog   11

◆ LLbits

#define LLbits   6

◆ LLFSELog

#define LLFSELog   10

◆ MAX

#define MAX ( a,
b )
Value:
((a)<(b)?(b):(a))
#define b(i)
Definition sha256.c:42
#define a(i)
Definition sha256.c:41

◆ MaxLL

#define MaxLL   ((1<<LLbits )-1)

◆ MaxML

#define MaxML   ((1<<MLbits )-1)

◆ MaxOff

#define MaxOff   31

◆ MaxSeq

#define MaxSeq   MAX(MaxLL, MaxML)

◆ MB

#define MB   *(1 <<20)

◆ MEM_H_MODULE

#define MEM_H_MODULE

◆ MIN_CBLOCK_SIZE

#define MIN_CBLOCK_SIZE   (3 /*litCSize*/ + MIN_SEQUENCES_SIZE)

◆ MIN_SEQUENCES_SIZE

#define MIN_SEQUENCES_SIZE   (2 /*seqNb*/ + 2 /*dumps*/ + 3 /*seqTables*/ + 1 /*bitStream*/)

◆ MINMATCH

#define MINMATCH   4

◆ MLbits

#define MLbits   7

◆ MLFSELog

#define MLFSELog   10

◆ Offbits

#define Offbits   5

◆ OffFSELog

#define OffFSELog   9

◆ PREFIX

#define PREFIX ( name)
Value:
ZSTD_error_##name

◆ WORKPLACESIZE

#define WORKPLACESIZE   (BLOCKSIZE*3)

◆ ZSTD_CONTENTSIZE_ERROR

#define ZSTD_CONTENTSIZE_ERROR   (0ULL - 2)

◆ ZSTD_HEAPMODE

#define ZSTD_HEAPMODE   1

HEAPMODE : Select how default compression functions will allocate memory for their hash table, in memory stack (0, fastest), or in memory heap (1, requires malloc()) Note that compression context is fairly large, as a consequence heap memory is recommended.

◆ ZSTD_LEGACY_SUPPORT

#define ZSTD_LEGACY_SUPPORT   1

LEGACY_SUPPORT : decompressor can decode older formats (starting from Zstd 0.1+)

◆ ZSTD_magicNumber

#define ZSTD_magicNumber   0xFD2FB522 /* v0.2 (current)*/

◆ ZSTD_MEMORY_USAGE

#define ZSTD_MEMORY_USAGE   17

MEMORY_USAGE : Memory usage formula : N->2^N Bytes (examples : 10 -> 1KB; 12 -> 4KB ; 16 -> 64KB; 20 -> 1MB; etc.) Increasing memory usage improves compression ratio Reduced memory usage can improve speed, due to cache effect

◆ ZSTD_VERSION_MAJOR

#define ZSTD_VERSION_MAJOR   0 /* for breaking interface changes */

◆ ZSTD_VERSION_MINOR

#define ZSTD_VERSION_MINOR   2 /* for new (non-breaking) interface capabilities */

◆ ZSTD_VERSION_NUMBER

#define ZSTD_VERSION_NUMBER   (ZSTD_VERSION_MAJOR *100*100 + ZSTD_VERSION_MINOR *100 + ZSTD_VERSION_RELEASE)

◆ ZSTD_VERSION_RELEASE

#define ZSTD_VERSION_RELEASE   2 /* for tweaks, bug-fixes, or development */

Typedef Documentation

◆ decompressionAlgo

typedef size_t(* decompressionAlgo) (void *dst, size_t dstSize, const void *cSrc, size_t cSrcSize)

◆ ZSTD_DCtx

typedef struct ZSTDv02_Dctx_s ZSTD_DCtx

Enumeration Type Documentation

◆ BIT_DStream_status

Enumerator
BIT_DStream_unfinished 
BIT_DStream_endOfBuffer 
BIT_DStream_completed 
BIT_DStream_overflow 

◆ blockType_t

Enumerator
bt_compressed 
bt_raw 
bt_rle 
bt_end 

◆ ERR_codes

enum ERR_codes
Enumerator
ERROR_LIST 

Function Documentation

◆ BIT_endOfDStream()

MEM_STATIC unsigned BIT_endOfDStream ( const BIT_DStream_t * DStream)

BIT_endOfDStream

Returns
Tells if DStream has reached its exact end

◆ BIT_highbit32()

MEM_STATIC unsigned BIT_highbit32 ( U32 val)

◆ BIT_initDStream()

MEM_STATIC size_t BIT_initDStream ( BIT_DStream_t * bitD,
const void * srcBuffer,
size_t srcSize )

BIT_initDStream Initialize a BIT_DStream_t. @bitD : a pointer to an already allocated BIT_DStream_t structure @srcBuffer must point at the beginning of a bitStream @srcSize must be the exact size of the bitStream

Returns
: size of stream (== srcSize) or an errorCode if a problem is detected

◆ BIT_lookBits()

MEM_STATIC size_t BIT_lookBits ( BIT_DStream_t * bitD,
U32 nbBits )

◆ BIT_lookBitsFast()

MEM_STATIC size_t BIT_lookBitsFast ( BIT_DStream_t * bitD,
U32 nbBits )

BIT_lookBitsFast : unsafe version; only works if nbBits >= 1

◆ BIT_readBits() [1/2]

MEM_STATIC size_t BIT_readBits ( BIT_DStream_t * bitD,
U32 nbBits )

◆ BIT_readBits() [2/2]

MEM_STATIC size_t BIT_readBits ( BIT_DStream_t * bitD,
unsigned nbBits )

BIT_readBits() : Read (consume) next n bits from local register and update. Pay attention to not read more than nbBits contained into local register.

Returns
: extracted value.

◆ BIT_readBitsFast() [1/2]

MEM_STATIC size_t BIT_readBitsFast ( BIT_DStream_t * bitD,
U32 nbBits )

BIT_readBitsFast : unsafe version; only works if nbBits >= 1

◆ BIT_readBitsFast() [2/2]

MEM_STATIC size_t BIT_readBitsFast ( BIT_DStream_t * bitD,
unsigned nbBits )

BIT_readBitsFast() : unsafe version; only works only if nbBits >= 1

BIT_readBitsFast() : unsafe version; only works if nbBits >= 1

BIT_readBitsFast() : unsafe version; only works if nbBits >= 1

◆ BIT_reloadDStream()

MEM_STATIC BIT_DStream_status BIT_reloadDStream ( BIT_DStream_t * bitD)

◆ BIT_skipBits()

MEM_STATIC void BIT_skipBits ( BIT_DStream_t * bitD,
U32 nbBits )

◆ ERR_getErrorName()

ERR_STATIC const char * ERR_getErrorName ( size_t code)

◆ ERR_isError()

ERR_STATIC unsigned ERR_isError ( size_t code)

◆ FSE_decompress_usingDTable_generic()

FORCE_INLINE size_t FSE_decompress_usingDTable_generic ( void * dst,
size_t maxDstSize,
const void * cSrc,
size_t cSrcSize,
const FSE_DTable * dt,
const unsigned fast )

◆ MEM_32bits()

MEM_STATIC unsigned MEM_32bits ( void )

◆ MEM_64bits()

MEM_STATIC unsigned MEM_64bits ( void )

◆ MEM_isLittleEndian()

MEM_STATIC unsigned MEM_isLittleEndian ( void )

◆ MEM_read16()

MEM_STATIC U16 MEM_read16 ( const void * memPtr)

◆ MEM_read32()

MEM_STATIC U32 MEM_read32 ( const void * memPtr)

◆ MEM_read64()

MEM_STATIC U64 MEM_read64 ( const void * memPtr)

◆ MEM_readLE16()

MEM_STATIC U16 MEM_readLE16 ( const void * memPtr)

◆ MEM_readLE24()

MEM_STATIC U32 MEM_readLE24 ( const void * memPtr)

◆ MEM_readLE32()

MEM_STATIC U32 MEM_readLE32 ( const void * memPtr)

◆ MEM_readLE64()

MEM_STATIC U64 MEM_readLE64 ( const void * memPtr)

◆ MEM_readLEST()

MEM_STATIC size_t MEM_readLEST ( const void * memPtr)

◆ MEM_write16()

MEM_STATIC void MEM_write16 ( void * memPtr,
U16 value )

◆ MEM_writeLE16()

MEM_STATIC void MEM_writeLE16 ( void * memPtr,
U16 val )

◆ ZSTDv02_createDCtx()

ZSTDv02_Dctx * ZSTDv02_createDCtx ( void )

◆ ZSTDv02_decompress()

size_t ZSTDv02_decompress ( void * dst,
size_t maxOriginalSize,
const void * src,
size_t compressedSize )

ZSTDv02_decompress() : decompress ZSTD frames compliant with v0.2.x format compressedSize : is the exact source size maxOriginalSize : is the size of the 'dst' buffer, which must be already allocated. It must be equal or larger than originalSize, otherwise decompression will fail. return : the number of bytes decompressed into destination buffer (originalSize) or an errorCode if it fails (which can be tested using ZSTDv01_isError())

◆ ZSTDv02_decompressContinue()

size_t ZSTDv02_decompressContinue ( ZSTDv02_Dctx * dctx,
void * dst,
size_t maxDstSize,
const void * src,
size_t srcSize )

◆ ZSTDv02_findFrameSizeInfoLegacy()

void ZSTDv02_findFrameSizeInfoLegacy ( const void * src,
size_t srcSize,
size_t * cSize,
unsigned long long * dBound )

ZSTDv02_findFrameSizeInfoLegacy() : get the source length and decompressed bound of a ZSTD frame compliant with v0.2.x format srcSize : The size of the 'src' buffer, at least as large as the frame pointed to by 'src' cSize (output parameter) : the number of bytes that would be read to decompress this frame or an error code if it fails (which can be tested using ZSTDv01_isError()) dBound (output parameter) : an upper-bound for the decompressed size of the data in the frame or ZSTD_CONTENTSIZE_ERROR if an error occurs

note : assumes cSize and dBound are not NULL.

◆ ZSTDv02_freeDCtx()

size_t ZSTDv02_freeDCtx ( ZSTDv02_Dctx * dctx)

◆ ZSTDv02_isError()

unsigned ZSTDv02_isError ( size_t code)

ZSTDv02_isError() : tells if the result of ZSTDv02_decompress() is an error

◆ ZSTDv02_nextSrcSizeToDecompress()

size_t ZSTDv02_nextSrcSizeToDecompress ( ZSTDv02_Dctx * dctx)

◆ ZSTDv02_resetDCtx()

size_t ZSTDv02_resetDCtx ( ZSTDv02_Dctx * dctx)