ReactOS
0.4.15-dev-4873-gb671b1c
|
#include <string.h>
#include "compiler.h"
#include "cpu.h"
#include "mem.h"
#include "fse.h"
#include "huf.h"
#include "zstd_internal.h"
#include "zstd_decompress_internal.h"
#include "zstd_ddict.h"
#include "zstd_decompress_block.h"
Go to the source code of this file.
Classes | |
struct | seq_t |
struct | ZSTD_fseState |
struct | seqState_t |
Macros | |
#define | FSE_STATIC_LINKING_ONLY |
#define | HUF_STATIC_LINKING_ONLY |
#define | LONG_OFFSETS_MAX_EXTRA_BITS_32 |
#define | STORED_SEQS 4 |
#define | STORED_SEQS_MASK (STORED_SEQS-1) |
#define | ADVANCED_SEQS 4 |
Typedefs | |
typedef size_t(* | ZSTD_decompressSequences_t) (ZSTD_DCtx *dctx, void *dst, size_t maxDstSize, const void *seqStart, size_t seqSize, int nbSeq, const ZSTD_longOffset_e isLongOffset, const int frame) |
Enumerations | |
enum | ZSTD_longOffset_e { ZSTD_lo_isRegularOffset, ZSTD_lo_isLongOffset =1 } |
enum | ZSTD_prefetch_e { ZSTD_p_noPrefetch =0, ZSTD_p_prefetch =1 } |
Variables | |
static const ZSTD_seqSymbol | LL_defaultDTable [(1<< LL_DEFAULTNORMLOG)+1] |
static const ZSTD_seqSymbol | OF_defaultDTable [(1<< OF_DEFAULTNORMLOG)+1] |
static const ZSTD_seqSymbol | ML_defaultDTable [(1<< ML_DEFAULTNORMLOG)+1] |
#define ADVANCED_SEQS 4 |
#define FSE_STATIC_LINKING_ONLY |
Definition at line 21 of file zstd_decompress_block.c.
#define HUF_STATIC_LINKING_ONLY |
Definition at line 23 of file zstd_decompress_block.c.
#define LONG_OFFSETS_MAX_EXTRA_BITS_32 |
Definition at line 829 of file zstd_decompress_block.c.
#define STORED_SEQS 4 |
#define STORED_SEQS_MASK (STORED_SEQS-1) |
typedef size_t(* ZSTD_decompressSequences_t) (ZSTD_DCtx *dctx, void *dst, size_t maxDstSize, const void *seqStart, size_t seqSize, int nbSeq, const ZSTD_longOffset_e isLongOffset, const int frame) |
Definition at line 1262 of file zstd_decompress_block.c.
Enumerator | |
---|---|
ZSTD_lo_isRegularOffset | |
ZSTD_lo_isLongOffset |
Definition at line 834 of file zstd_decompress_block.c.
Enumerator | |
---|---|
ZSTD_p_noPrefetch | |
ZSTD_p_prefetch |
Definition at line 835 of file zstd_decompress_block.c.
void ZSTD_buildFSETable | ( | ZSTD_seqSymbol * | dt, |
const short * | normalizedCounter, | ||
unsigned | maxSymbolValue, | ||
const U32 * | baseValue, | ||
const U32 * | nbAdditionalBits, | ||
unsigned | tableLog | ||
) |
Definition at line 368 of file zstd_decompress_block.c.
Referenced by ZSTD_loadDEntropy().
|
static |
Definition at line 433 of file zstd_decompress_block.c.
|
static |
Definition at line 346 of file zstd_decompress_block.c.
ZSTD_checkContinuity() : check if next dst
follows previous position, where decompression ended. If yes, do nothing (continue on current segment). If not, classify previous segment as "external dictionary", and start a new segment. This function cannot fail.
Definition at line 1412 of file zstd_decompress_block.c.
Referenced by ZSTD_decompressContinue(), ZSTD_decompressMultiFrame(), and ZSTD_insertBlock().
Definition at line 47 of file zstd_decompress_block.c.
Definition at line 79 of file zstd_decompress_block.c.
ZSTD_decodeSeqHeaders() : decode sequence header from src
Definition at line 480 of file zstd_decompress_block.c.
FORCE_INLINE_TEMPLATE seq_t ZSTD_decodeSequence | ( | seqState_t * | seqState, |
const ZSTD_longOffset_e | longOffsets, | ||
const ZSTD_prefetch_e | prefetch | ||
) |
Definition at line 838 of file zstd_decompress_block.c.
size_t ZSTD_decompressBlock | ( | ZSTD_DCtx * | dctx, |
void * | dst, | ||
size_t | dstCapacity, | ||
const void * | src, | ||
size_t | srcSize | ||
) |
Definition at line 1423 of file zstd_decompress_block.c.
size_t ZSTD_decompressBlock_internal | ( | ZSTD_DCtx * | dctx, |
void * | dst, | ||
size_t | dstCapacity, | ||
const void * | src, | ||
size_t | srcSize, | ||
const int | frame | ||
) |
Definition at line 1341 of file zstd_decompress_block.c.
Referenced by ZSTD_decompressContinue(), and ZSTD_decompressFrame().
|
static |
Definition at line 1271 of file zstd_decompress_block.c.
FORCE_INLINE_TEMPLATE size_t DONT_VECTORIZE ZSTD_decompressSequences_body | ( | ZSTD_DCtx * | dctx, |
void * | dst, | ||
size_t | maxDstSize, | ||
const void * | seqStart, | ||
size_t | seqSize, | ||
int | nbSeq, | ||
const ZSTD_longOffset_e | isLongOffset, | ||
const int | frame | ||
) |
Definition at line 995 of file zstd_decompress_block.c.
|
static |
Definition at line 1116 of file zstd_decompress_block.c.
|
static |
Definition at line 1294 of file zstd_decompress_block.c.
FORCE_INLINE_TEMPLATE size_t ZSTD_decompressSequencesLong_body | ( | ZSTD_DCtx * | dctx, |
void * | dst, | ||
size_t | maxDstSize, | ||
const void * | seqStart, | ||
size_t | seqSize, | ||
int | nbSeq, | ||
const ZSTD_longOffset_e | isLongOffset, | ||
const int | frame | ||
) |
Definition at line 1128 of file zstd_decompress_block.c.
|
static |
Definition at line 1221 of file zstd_decompress_block.c.
HINT_INLINE size_t ZSTD_execSequence | ( | BYTE * | op, |
BYTE *const | oend, | ||
seq_t | sequence, | ||
const BYTE ** | litPtr, | ||
const BYTE *const | litLimit, | ||
const BYTE *const | prefixStart, | ||
const BYTE *const | virtualStart, | ||
const BYTE *const | dictEnd | ||
) |
Definition at line 704 of file zstd_decompress_block.c.
FORCE_NOINLINE size_t ZSTD_execSequenceEnd | ( | BYTE * | op, |
BYTE *const | oend, | ||
seq_t | sequence, | ||
const BYTE ** | litPtr, | ||
const BYTE *const | litLimit, | ||
const BYTE *const | prefixStart, | ||
const BYTE *const | virtualStart, | ||
const BYTE *const | dictEnd | ||
) |
Definition at line 661 of file zstd_decompress_block.c.
size_t ZSTD_getcBlockSize | ( | const void * | src, |
size_t | srcSize, | ||
blockProperties_t * | bpPtr | ||
) |
ZSTD_getcBlockSize() : Provides the size of compressed block from block header src
Definition at line 56 of file zstd_decompress_block.c.
Referenced by ZSTD_decompressContinue(), ZSTD_decompressFrame(), and ZSTD_findFrameSizeInfo().
|
static |
Definition at line 1319 of file zstd_decompress_block.c.
|
static |
Definition at line 796 of file zstd_decompress_block.c.
ZSTD_overlapCopy8() : Copies 8 bytes from ip to op and updates op and ip where ip <= op. If the offset is < 8 then the offset is spread to at least 8 bytes.
Precondition: *ip <= *op Postcondition: *op - *op >= 8
Definition at line 583 of file zstd_decompress_block.c.
|
static |
ZSTD_safecopy() : Specialized version of memcpy() that is allowed to READ up to WILDCOPY_OVERLENGTH past the input buffer and write up to 16 bytes past oend_w (op >= oend_w is allowed). This function is only called in the uncommon case where the sequence is near the end of the block. It should be fast for a single long sequence, but can be slow for several short sequences.
ovtype | controls the overlap detection
|
Definition at line 616 of file zstd_decompress_block.c.
FORCE_INLINE_TEMPLATE void ZSTD_updateFseState | ( | ZSTD_fseState * | DStatePtr, |
BIT_DStream_t * | bitD | ||
) |
Definition at line 808 of file zstd_decompress_block.c.
FORCE_INLINE_TEMPLATE void ZSTD_updateFseStateWithDInfo | ( | ZSTD_fseState * | DStatePtr, |
BIT_DStream_t * | bitD, | ||
ZSTD_seqSymbol const | DInfo | ||
) |
Definition at line 817 of file zstd_decompress_block.c.
|
static |
Definition at line 247 of file zstd_decompress_block.c.
|
static |
Definition at line 308 of file zstd_decompress_block.c.
|
static |
Definition at line 285 of file zstd_decompress_block.c.