Revert "Move decompress symbols into zstd_internal.h, remove dependency"

This reverts commit a152b4c67a5266f611db4a2eac4a79003852a795.
This commit is contained in:
Sen Huang 2019-11-07 09:29:15 -05:00
parent 84404cff6e
commit 4b141b63e0
3 changed files with 24 additions and 29 deletions

View File

@ -251,34 +251,6 @@ void ZSTD_wildcopy(void* dst, const void* src, ptrdiff_t length, ZSTD_overlap_e
/*-******************************************* /*-*******************************************
* Private declarations * Private declarations
*********************************************/ *********************************************/
/**
* ZSTD_seqSymbol, ZSTD_entropyDTables_t, ZSTD_loadDEntropy(), and SEQSYMBOL_TABLE_SIZE()
* are used by ZDICT_getDictHeaderSize() and various functions in zstd_decompress.h
*/
typedef struct {
U16 nextState;
BYTE nbAdditionalBits;
BYTE nbBits;
U32 baseValue;
} ZSTD_seqSymbol;
#define SEQSYMBOL_TABLE_SIZE(log) (1 + (1 << (log)))
typedef struct {
ZSTD_seqSymbol LLTable[SEQSYMBOL_TABLE_SIZE(LLFSELog)]; /* Note : Space reserved for FSE Tables */
ZSTD_seqSymbol OFTable[SEQSYMBOL_TABLE_SIZE(OffFSELog)]; /* is also used as temporary workspace while building hufTable during DDict creation */
ZSTD_seqSymbol MLTable[SEQSYMBOL_TABLE_SIZE(MLFSELog)]; /* and therefore must be at least HUF_DECOMPRESS_WORKSPACE_SIZE large */
HUF_DTable hufTable[HUF_DTABLE_SIZE(HufLog)]; /* can accommodate HUF_decompress4X */
U32 rep[ZSTD_REP_NUM];
} ZSTD_entropyDTables_t;
/*! ZSTD_loadDEntropy() :
* dict : must point at beginning of a valid zstd dictionary.
* @return : size of entropy tables read (includes 8-byte magic number and dictionary ID) */
size_t ZSTD_loadDEntropy(ZSTD_entropyDTables_t* entropy,
const void* const dict, size_t const dictSize);
typedef struct seqDef_s { typedef struct seqDef_s {
U32 offset; U32 offset;
U16 litLength; U16 litLength;

View File

@ -64,6 +64,23 @@ static const U32 ML_base[MaxML+1] = {
U32 tableLog; U32 tableLog;
} ZSTD_seqSymbol_header; } ZSTD_seqSymbol_header;
typedef struct {
U16 nextState;
BYTE nbAdditionalBits;
BYTE nbBits;
U32 baseValue;
} ZSTD_seqSymbol;
#define SEQSYMBOL_TABLE_SIZE(log) (1 + (1 << (log)))
typedef struct {
ZSTD_seqSymbol LLTable[SEQSYMBOL_TABLE_SIZE(LLFSELog)]; /* Note : Space reserved for FSE Tables */
ZSTD_seqSymbol OFTable[SEQSYMBOL_TABLE_SIZE(OffFSELog)]; /* is also used as temporary workspace while building hufTable during DDict creation */
ZSTD_seqSymbol MLTable[SEQSYMBOL_TABLE_SIZE(MLFSELog)]; /* and therefore must be at least HUF_DECOMPRESS_WORKSPACE_SIZE large */
HUF_DTable hufTable[HUF_DTABLE_SIZE(HufLog)]; /* can accommodate HUF_decompress4X */
U32 rep[ZSTD_REP_NUM];
} ZSTD_entropyDTables_t;
typedef enum { ZSTDds_getFrameHeaderSize, ZSTDds_decodeFrameHeader, typedef enum { ZSTDds_getFrameHeaderSize, ZSTDds_decodeFrameHeader,
ZSTDds_decodeBlockHeader, ZSTDds_decompressBlock, ZSTDds_decodeBlockHeader, ZSTDds_decompressBlock,
ZSTDds_decompressLastBlock, ZSTDds_checkChecksum, ZSTDds_decompressLastBlock, ZSTDds_checkChecksum,
@ -141,6 +158,12 @@ struct ZSTD_DCtx_s
* Shared internal functions * Shared internal functions
*********************************************************/ *********************************************************/
/*! ZSTD_loadDEntropy() :
* dict : must point at beginning of a valid zstd dictionary.
* @return : size of entropy tables read */
size_t ZSTD_loadDEntropy(ZSTD_entropyDTables_t* entropy,
const void* const dict, size_t const dictSize);
/*! ZSTD_checkContinuity() : /*! ZSTD_checkContinuity() :
* check if next `dst` follows previous position, where decompression ended. * check if next `dst` follows previous position, where decompression ended.
* If yes, do nothing (continue on current segment). * If yes, do nothing (continue on current segment).

View File

@ -48,6 +48,7 @@
# define ZDICT_STATIC_LINKING_ONLY # define ZDICT_STATIC_LINKING_ONLY
#endif #endif
#include "zdict.h" #include "zdict.h"
#include "decompress/zstd_decompress_internal.h" /* ZSTD_entropyDTables_t */
/*-************************************* /*-*************************************
@ -108,7 +109,6 @@ size_t ZDICT_getDictHeaderSize(const void* dictBuffer, size_t dictSize)
if (!dummyEntropyTables) { if (!dummyEntropyTables) {
return 0; return 0;
} }
dummyEntropyTables->hufTable[0] = (HUF_DTable)((HufLog)*0x1000001); dummyEntropyTables->hufTable[0] = (HUF_DTable)((HufLog)*0x1000001);
headerSize = ZSTD_loadDEntropy(dummyEntropyTables, dictBuffer, dictSize); headerSize = ZSTD_loadDEntropy(dummyEntropyTables, dictBuffer, dictSize);
free(dummyEntropyTables); free(dummyEntropyTables);