Enable amalgamation of lz4hc.c and lz4.c
This commit is contained in:
parent
1b819bfd63
commit
17f5071e72
15
lib/lz4.c
15
lib/lz4.c
@ -32,6 +32,13 @@
|
||||
- LZ4 source repository : https://github.com/lz4/lz4
|
||||
*/
|
||||
|
||||
/*
|
||||
* LZ4_SRC_INCLUDED:
|
||||
* Amalgamation flag, whether lz4.c is included
|
||||
*/
|
||||
#ifndef LZ4_SRC_INCLUDED
|
||||
# define LZ4_SRC_INCLUDED 1
|
||||
#endif
|
||||
|
||||
/*-************************************
|
||||
* Tuning parameters
|
||||
@ -455,7 +462,13 @@ static const U32 LZ4_skipTrigger = 6; /* Increase this value ==> compression ru
|
||||
/*-************************************
|
||||
* Local Structures and types
|
||||
**************************************/
|
||||
typedef enum { notLimited = 0, limitedOutput = 1, fillOutput = 2 } limitedOutput_directive;
|
||||
typedef enum {
|
||||
noLimit = 0,
|
||||
notLimited = 1,
|
||||
limitedOutput = 2,
|
||||
fillOutput = 3,
|
||||
limitedDestSize = 4
|
||||
} limitedOutput_directive;
|
||||
typedef enum { clearedTable = 0, byPtr, byU32, byU16 } tableType_t;
|
||||
|
||||
/**
|
||||
|
31
lib/lz4hc.c
31
lib/lz4hc.c
@ -61,10 +61,22 @@
|
||||
# pragma clang diagnostic ignored "-Wunused-function"
|
||||
#endif
|
||||
|
||||
#define LZ4_COMMONDEFS_ONLY
|
||||
#include "lz4.c" /* LZ4_count, constants, mem */
|
||||
/*=== Enums ===*/
|
||||
typedef enum { noDictCtx, usingDictCtxHc } dictCtx_directive;
|
||||
#ifndef LZ4_SRC_INCLUDED
|
||||
typedef enum {
|
||||
noLimit = 0,
|
||||
limitedOutput = 1,
|
||||
limitedDestSize = 2
|
||||
} limitedOutput_directive;
|
||||
#endif
|
||||
|
||||
|
||||
#define LZ4_COMMONDEFS_ONLY
|
||||
#ifndef LZ4_SRC_INCLUDED
|
||||
#include "lz4.c" /* LZ4_count, constants, mem */
|
||||
#endif
|
||||
|
||||
/*=== Constants ===*/
|
||||
#define OPTIMAL_ML (int)((ML_MASK-1)+MINMATCH)
|
||||
#define LZ4_OPT_NUM (1<<12)
|
||||
@ -79,9 +91,6 @@
|
||||
|
||||
static U32 LZ4HC_hashPtr(const void* ptr) { return HASH_FUNCTION(LZ4_read32(ptr)); }
|
||||
|
||||
/*=== Enums ===*/
|
||||
typedef enum { noDictCtx, usingDictCtx } dictCtx_directive;
|
||||
|
||||
|
||||
/**************************************
|
||||
* HC Compression
|
||||
@ -346,7 +355,7 @@ LZ4HC_InsertAndGetWiderMatch (
|
||||
|
||||
} /* while ((matchIndex>=lowestMatchIndex) && (nbAttempts)) */
|
||||
|
||||
if (dict == usingDictCtx && nbAttempts && ipIndex - lowestMatchIndex < MAX_DISTANCE) {
|
||||
if (dict == usingDictCtxHc && nbAttempts && ipIndex - lowestMatchIndex < MAX_DISTANCE) {
|
||||
size_t const dictEndOffset = dictCtx->end - dictCtx->base;
|
||||
U32 dictMatchIndex = dictCtx->hashTable[LZ4HC_hashPtr(ip)];
|
||||
assert(dictEndOffset <= 1 GB);
|
||||
@ -394,14 +403,6 @@ int LZ4HC_InsertAndFindBestMatch(LZ4HC_CCtx_internal* const hc4, /* Index tabl
|
||||
return LZ4HC_InsertAndGetWiderMatch(hc4, ip, ip, iLimit, MINMATCH-1, matchpos, &uselessPtr, maxNbAttempts, patternAnalysis, 0 /*chainSwap*/, dict, favorCompressionRatio);
|
||||
}
|
||||
|
||||
|
||||
|
||||
typedef enum {
|
||||
noLimit = 0,
|
||||
limitedOutput = 1,
|
||||
limitedDestSize = 2
|
||||
} limitedOutput_directive;
|
||||
|
||||
/* LZ4HC_encodeSequence() :
|
||||
* @return : 0 if ok,
|
||||
* 1 if buffer issue detected */
|
||||
@ -800,7 +801,7 @@ static int LZ4HC_compress_generic_dictCtx (
|
||||
ctx->compressionLevel = (short)cLevel;
|
||||
return LZ4HC_compress_generic_noDictCtx(ctx, src, dst, srcSizePtr, dstCapacity, cLevel, limit);
|
||||
} else {
|
||||
return LZ4HC_compress_generic_internal(ctx, src, dst, srcSizePtr, dstCapacity, cLevel, limit, usingDictCtx);
|
||||
return LZ4HC_compress_generic_internal(ctx, src, dst, srcSizePtr, dstCapacity, cLevel, limit, usingDictCtxHc);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user