Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
zstd_opt.c File Reference
#include "zstd_compress_internal.h"
#include "hist.h"
#include "zstd_opt.h"

Data Structures

struct  ZSTD_optLdm_t
 

Macros

#define ZSTD_LITFREQ_ADD   2 /* scaling factor for litFreq, so that frequencies adapt faster to new stats */
 
#define ZSTD_MAX_PRICE   (1<<30)
 
#define ZSTD_PREDEF_THRESHOLD   8 /* if srcSize < ZSTD_PREDEF_THRESHOLD, symbols' cost is assumed static, directly determined by pre-defined distributions */
 
#define BITCOST_ACCURACY   8
 
#define BITCOST_MULTIPLIER   (1 << BITCOST_ACCURACY)
 
#define WEIGHT(stat, opt)
 
#define ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, mls)
 
#define GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, mls)
 
#define GEN_ZSTD_BT_GET_ALL_MATCHES(dictMode)
 
#define ZSTD_BT_GET_ALL_MATCHES_ARRAY(dictMode)
 
#define LIT_PRICE(_p)
 
#define LL_PRICE(_l)
 
#define LL_INCPRICE(_l)
 

Typedefs

typedef U32(* ZSTD_getAllMatchesFn) (ZSTD_match_t *, ZSTD_matchState_t *, U32 *, const BYTE *, const BYTE *, const U32 rep[ZSTD_REP_NUM], U32 const ll0, U32 const lengthToBeat)
 

Enumerations

enum  base_directive_e { base_0possible =0 , base_1guaranteed =1 }
 

Functions

MEM_STATIC U32 ZSTD_bitWeight (U32 stat)
 
MEM_STATIC U32 ZSTD_fracWeight (U32 rawStat)
 
FORCE_INLINE_TEMPLATE U32 ZSTD_getMatchPrice (U32 const offBase, U32 const matchLength, const optState_t *const optPtr, int const optLevel)
 
MEM_STATIC U32 ZSTD_readMINMATCH (const void *memPtr, U32 length)
 
FORCE_INLINE_TEMPLATE ZSTD_ALLOW_POINTER_OVERFLOW_ATTR void ZSTD_updateTree_internal (ZSTD_matchState_t *ms, const BYTE *const ip, const BYTE *const iend, const U32 mls, const ZSTD_dictMode_e dictMode)
 
void ZSTD_updateTree (ZSTD_matchState_t *ms, const BYTE *ip, const BYTE *iend)
 
FORCE_INLINE_TEMPLATE ZSTD_ALLOW_POINTER_OVERFLOW_ATTR U32 ZSTD_insertBtAndGetAllMatches (ZSTD_match_t *matches, ZSTD_matchState_t *ms, U32 *nextToUpdate3, const BYTE *const ip, const BYTE *const iLimit, const ZSTD_dictMode_e dictMode, const U32 rep[ZSTD_REP_NUM], const U32 ll0, const U32 lengthToBeat, const U32 mls)
 
FORCE_INLINE_TEMPLATE ZSTD_ALLOW_POINTER_OVERFLOW_ATTR U32 ZSTD_btGetAllMatches_internal (ZSTD_match_t *matches, ZSTD_matchState_t *ms, U32 *nextToUpdate3, const BYTE *ip, const BYTE *const iHighLimit, const U32 rep[ZSTD_REP_NUM], U32 const ll0, U32 const lengthToBeat, const ZSTD_dictMode_e dictMode, const U32 mls)
 
FORCE_INLINE_TEMPLATE ZSTD_ALLOW_POINTER_OVERFLOW_ATTR size_t ZSTD_compressBlock_opt_generic (ZSTD_matchState_t *ms, seqStore_t *seqStore, U32 rep[ZSTD_REP_NUM], const void *src, size_t srcSize, const int optLevel, const ZSTD_dictMode_e dictMode)
 
size_t ZSTD_compressBlock_btopt (ZSTD_matchState_t *ms, seqStore_t *seqStore, U32 rep[ZSTD_REP_NUM], const void *src, size_t srcSize)
 
size_t ZSTD_compressBlock_btultra (ZSTD_matchState_t *ms, seqStore_t *seqStore, U32 rep[ZSTD_REP_NUM], const void *src, size_t srcSize)
 
size_t ZSTD_compressBlock_btultra2 (ZSTD_matchState_t *ms, seqStore_t *seqStore, U32 rep[ZSTD_REP_NUM], const void *src, size_t srcSize)
 
size_t ZSTD_compressBlock_btopt_dictMatchState (ZSTD_matchState_t *ms, seqStore_t *seqStore, U32 rep[ZSTD_REP_NUM], const void *src, size_t srcSize)
 
size_t ZSTD_compressBlock_btopt_extDict (ZSTD_matchState_t *ms, seqStore_t *seqStore, U32 rep[ZSTD_REP_NUM], const void *src, size_t srcSize)
 
size_t ZSTD_compressBlock_btultra_dictMatchState (ZSTD_matchState_t *ms, seqStore_t *seqStore, U32 rep[ZSTD_REP_NUM], const void *src, size_t srcSize)
 
size_t ZSTD_compressBlock_btultra_extDict (ZSTD_matchState_t *ms, seqStore_t *seqStore, U32 rep[ZSTD_REP_NUM], const void *src, size_t srcSize)
 

Macro Definition Documentation

◆ BITCOST_ACCURACY

#define BITCOST_ACCURACY   8

◆ BITCOST_MULTIPLIER

#define BITCOST_MULTIPLIER   (1 << BITCOST_ACCURACY)

◆ GEN_ZSTD_BT_GET_ALL_MATCHES

#define GEN_ZSTD_BT_GET_ALL_MATCHES ( dictMode)
Value:
GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, 4) \
GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, 5) \
GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, 6)
#define GEN_ZSTD_BT_GET_ALL_MATCHES_(dictMode, mls)
Definition zstd_opt.c:817

◆ GEN_ZSTD_BT_GET_ALL_MATCHES_

#define GEN_ZSTD_BT_GET_ALL_MATCHES_ ( dictMode,
mls )
Value:
static U32 ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, mls)( \
ZSTD_match_t* matches, \
U32* nextToUpdate3, \
const BYTE* ip, \
const BYTE* const iHighLimit, \
const U32 rep[ZSTD_REP_NUM], \
U32 const ll0, \
U32 const lengthToBeat) \
{ \
matches, ms, nextToUpdate3, ip, iHighLimit, \
rep, ll0, lengthToBeat, ZSTD_##dictMode, mls); \
}
unsigned char BYTE
Definition lz4.c:314
unsigned int U32
Definition lz4.c:316
#define ip
Definition zstd_compress_internal.h:125
Definition zstd_compress_internal.h:202
#define ZSTD_REP_NUM
Definition zstd_internal.h:69
#define ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, mls)
Definition zstd_opt.c:815
FORCE_INLINE_TEMPLATE U32 ZSTD_btGetAllMatches_internal(ZSTD_match_t *matches, ZSTD_matchState_t *ms, U32 *nextToUpdate3, const BYTE *ip, const BYTE *const iHighLimit, const U32 rep[ZSTD_REP_NUM], U32 const ll0, U32 const lengthToBeat, const ZSTD_dictMode_e dictMode, const U32 mls)
Definition zstd_opt.c:795

◆ LIT_PRICE

#define LIT_PRICE ( _p)
Value:
(int)ZSTD_rawLiteralsCost(_p, 1, optStatePtr, optLevel)
int
Definition lzoconf.h:340

◆ LL_INCPRICE

#define LL_INCPRICE ( _l)
Value:
(LL_PRICE(_l) - LL_PRICE(_l-1))
#define LL_PRICE(_l)
Definition zstd_opt.c:1069

◆ LL_PRICE

#define LL_PRICE ( _l)
Value:
(int)ZSTD_litLengthPrice(_l, optStatePtr, optLevel)

◆ WEIGHT

#define WEIGHT ( stat,
opt )
Value:
((opt) ? ZSTD_fracWeight(stat) : ZSTD_bitWeight(stat))
MEM_STATIC U32 ZSTD_fracWeight(U32 rawStat)
Definition zstd_opt.c:45
MEM_STATIC U32 ZSTD_bitWeight(U32 stat)
Definition zstd_opt.c:40

◆ ZSTD_BT_GET_ALL_MATCHES_ARRAY

#define ZSTD_BT_GET_ALL_MATCHES_ARRAY ( dictMode)
Value:
{ \
ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, 3), \
ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, 4), \
ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, 5), \
ZSTD_BT_GET_ALL_MATCHES_FN(dictMode, 6) \
}

◆ ZSTD_BT_GET_ALL_MATCHES_FN

#define ZSTD_BT_GET_ALL_MATCHES_FN ( dictMode,
mls )
Value:
ZSTD_btGetAllMatches_##dictMode##_##mls
#define _(msgid)
Definition getopt.c:49

◆ ZSTD_LITFREQ_ADD

#define ZSTD_LITFREQ_ADD   2 /* scaling factor for litFreq, so that frequencies adapt faster to new stats */

◆ ZSTD_MAX_PRICE

#define ZSTD_MAX_PRICE   (1<<30)

◆ ZSTD_PREDEF_THRESHOLD

#define ZSTD_PREDEF_THRESHOLD   8 /* if srcSize < ZSTD_PREDEF_THRESHOLD, symbols' cost is assumed static, directly determined by pre-defined distributions */

Typedef Documentation

◆ ZSTD_getAllMatchesFn

typedef U32(* ZSTD_getAllMatchesFn) (ZSTD_match_t *, ZSTD_matchState_t *, U32 *, const BYTE *, const BYTE *, const U32 rep[ZSTD_REP_NUM], U32 const ll0, U32 const lengthToBeat)

Enumeration Type Documentation

◆ base_directive_e

Enumerator
base_0possible 
base_1guaranteed 

Function Documentation

◆ ZSTD_bitWeight()

MEM_STATIC U32 ZSTD_bitWeight ( U32 stat)

◆ ZSTD_btGetAllMatches_internal()

FORCE_INLINE_TEMPLATE ZSTD_ALLOW_POINTER_OVERFLOW_ATTR U32 ZSTD_btGetAllMatches_internal ( ZSTD_match_t * matches,
ZSTD_matchState_t * ms,
U32 * nextToUpdate3,
const BYTE * ip,
const BYTE *const iHighLimit,
const U32 rep[ZSTD_REP_NUM],
U32 const ll0,
U32 const lengthToBeat,
const ZSTD_dictMode_e dictMode,
const U32 mls )

◆ ZSTD_compressBlock_btopt()

size_t ZSTD_compressBlock_btopt ( ZSTD_matchState_t * ms,
seqStore_t * seqStore,
U32 rep[ZSTD_REP_NUM],
const void * src,
size_t srcSize )

◆ ZSTD_compressBlock_btopt_dictMatchState()

size_t ZSTD_compressBlock_btopt_dictMatchState ( ZSTD_matchState_t * ms,
seqStore_t * seqStore,
U32 rep[ZSTD_REP_NUM],
const void * src,
size_t srcSize )

◆ ZSTD_compressBlock_btopt_extDict()

size_t ZSTD_compressBlock_btopt_extDict ( ZSTD_matchState_t * ms,
seqStore_t * seqStore,
U32 rep[ZSTD_REP_NUM],
const void * src,
size_t srcSize )

◆ ZSTD_compressBlock_btultra()

size_t ZSTD_compressBlock_btultra ( ZSTD_matchState_t * ms,
seqStore_t * seqStore,
U32 rep[ZSTD_REP_NUM],
const void * src,
size_t srcSize )

◆ ZSTD_compressBlock_btultra2()

size_t ZSTD_compressBlock_btultra2 ( ZSTD_matchState_t * ms,
seqStore_t * seqStore,
U32 rep[ZSTD_REP_NUM],
const void * src,
size_t srcSize )

◆ ZSTD_compressBlock_btultra_dictMatchState()

size_t ZSTD_compressBlock_btultra_dictMatchState ( ZSTD_matchState_t * ms,
seqStore_t * seqStore,
U32 rep[ZSTD_REP_NUM],
const void * src,
size_t srcSize )

◆ ZSTD_compressBlock_btultra_extDict()

size_t ZSTD_compressBlock_btultra_extDict ( ZSTD_matchState_t * ms,
seqStore_t * seqStore,
U32 rep[ZSTD_REP_NUM],
const void * src,
size_t srcSize )

◆ ZSTD_compressBlock_opt_generic()

FORCE_INLINE_TEMPLATE ZSTD_ALLOW_POINTER_OVERFLOW_ATTR size_t ZSTD_compressBlock_opt_generic ( ZSTD_matchState_t * ms,
seqStore_t * seqStore,
U32 rep[ZSTD_REP_NUM],
const void * src,
size_t srcSize,
const int optLevel,
const ZSTD_dictMode_e dictMode )

◆ ZSTD_fracWeight()

MEM_STATIC U32 ZSTD_fracWeight ( U32 rawStat)

◆ ZSTD_getMatchPrice()

FORCE_INLINE_TEMPLATE U32 ZSTD_getMatchPrice ( U32 const offBase,
U32 const matchLength,
const optState_t *const optPtr,
int const optLevel )

◆ ZSTD_insertBtAndGetAllMatches()

FORCE_INLINE_TEMPLATE ZSTD_ALLOW_POINTER_OVERFLOW_ATTR U32 ZSTD_insertBtAndGetAllMatches ( ZSTD_match_t * matches,
ZSTD_matchState_t * ms,
U32 * nextToUpdate3,
const BYTE *const ip,
const BYTE *const iLimit,
const ZSTD_dictMode_e dictMode,
const U32 rep[ZSTD_REP_NUM],
const U32 ll0,
const U32 lengthToBeat,
const U32 mls )

◆ ZSTD_readMINMATCH()

MEM_STATIC U32 ZSTD_readMINMATCH ( const void * memPtr,
U32 length )

◆ ZSTD_updateTree()

void ZSTD_updateTree ( ZSTD_matchState_t * ms,
const BYTE * ip,
const BYTE * iend )

◆ ZSTD_updateTree_internal()