From 955df5e73a077b80efab342b8a10c1d6df887b21 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sat, 31 Jan 2015 10:57:57 +0100 Subject: [PATCH 1/7] Added : *.png are binary files --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index 35be5a86c..b9d54fbfd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7,6 +7,7 @@ # Denote files that should not be modified. *.odt binary +*.png binary # Visual Studio *.sln binary *.suo binary From 936e678dda1d0aef1e98908d3a66a8f098236959 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sat, 31 Jan 2015 15:09:51 +0100 Subject: [PATCH 2/7] Fixed : issue 8 regarding huge input buffer (> 4 GB) --- lib/zstd.c | 134 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 82 insertions(+), 52 deletions(-) diff --git a/lib/zstd.c b/lib/zstd.c index 4f2fe472b..5e535f695 100644 --- a/lib/zstd.c +++ b/lib/zstd.c @@ -136,12 +136,14 @@ static const U32 ZSTD_magicNumber = 0xFD2FB51C; #define BIT5 32 #define BIT4 16 -#define KB *(1<<10) -#define MB *(1<<20) +#define KB *(1 <<10) +#define MB *(1 <<20) +#define GB *(1U<<20) #define BLOCKSIZE (128 KB) // define, for static allocation -static const size_t g_maxBlockSize = 128 KB; +static const size_t g_maxBlockSize = BLOCKSIZE; static const U32 g_maxDistance = 512 KB; +static const U32 g_maxLimit = 1 GB; static const U32 g_searchStrength = 8; #define WORKPLACESIZE (BLOCKSIZE*11/4) @@ -261,17 +263,18 @@ typedef struct { const BYTE* base; U32 current; + U32 nextUpdate; BYTE* workplace; #ifdef _INCLUDED_IMM __m256i justToBeAligned; #endif U32 hashTable[HASH_TABLESIZE]; -} refTables_t; +} cctxi_t; ZSTD_cctx_t ZSTD_createCCtx(void) { - refTables_t* srt = (refTables_t *) malloc( sizeof(refTables_t) ); + cctxi_t* srt = (cctxi_t *) malloc( sizeof(cctxi_t) ); srt->workplace = (BYTE*) malloc(WORKPLACESIZE); return (ZSTD_cctx_t)srt; } @@ -279,7 +282,7 @@ ZSTD_cctx_t ZSTD_createCCtx(void) void ZSTD_resetCCtx(ZSTD_cctx_t ctx) { - refTables_t* srt = (refTables_t*)ctx; + cctxi_t* srt = (cctxi_t*)ctx; srt->base = NULL; memset(srt->hashTable, 0, HASH_TABLESIZE*4); } @@ -287,7 +290,7 @@ void ZSTD_resetCCtx(ZSTD_cctx_t ctx) size_t ZSTD_freeCCtx(ZSTD_cctx_t ctx) { - refTables_t *srt = (refTables_t *) (ctx); + cctxi_t *srt = (cctxi_t *) (ctx); free(srt->workplace); free(srt); return 0; @@ -713,16 +716,8 @@ static size_t ZSTD_compressEntropy(BYTE* dst, size_t maxDstSize, max = MaxOff; for (i=0; ihashTable; BYTE* workplace = srt->workplace; const BYTE* const base = srt->base; @@ -935,7 +930,7 @@ static size_t ZSTD_compressBlock(void* ctx, void* dst, size_t maxDstSize, const if (offsetCode == prevOffset) offsetCode = 0; prevOffset = offset; offset = ip-match; - op_dumps += ZSTD_encode(op_l, op_rl++, op_offset++, op_ml++, op_dumps, litLength, anchor, offsetCode, matchLength); + op_dumps += ZSTD_storeSeq(op_l, op_rl++, op_offset++, op_ml++, op_dumps, litLength, anchor, offsetCode, matchLength); op_l += litLength; /* Fill Table */ @@ -958,14 +953,66 @@ static size_t ZSTD_compressBlock(void* ctx, void* dst, size_t maxDstSize, const } -/* this should be auto-vectorized by compiler */ -void ZSTD_limitCtx(void* ctx, const U32 limit) +size_t ZSTD_compressBegin(ZSTD_cctx_t ctx, void* dst, size_t maxDstSize) { - refTables_t* srt = (refTables_t*) ctx; + /* Sanity check */ + if (maxDstSize < ZSTD_frameHeaderSize) return (size_t)-ZSTD_ERROR_maxDstSize_tooSmall; + + /* Init */ + ZSTD_resetCCtx(ctx); + + /* Write Header */ + ZSTD_writeBE32(dst, ZSTD_magicNumber); + + return ZSTD_frameHeaderSize; +} + + +/* this should be auto-vectorized by compiler */ +static void ZSTD_scaleDownCtx(void* ctx, const U32 limit) +{ + cctxi_t* srt = (cctxi_t*) ctx; U32* h = srt->hashTable; int i; -#ifdef _INCLUDED_IMM /* */ +#if defined(_INCLUDED_IMM) || defined(__AVX2__) /* */ + /* AVX2 version */ + const __m256i limit8 = _mm256_set1_epi32(limit); + for (i=0; i limit) dec = limit; else dec = h[i]; + h[i] -= dec; + } +#endif +} + + +/* this should be auto-vectorized by compiler */ +static void ZSTD_limitCtx(void* cctx, const U32 limit) +{ + cctxi_t* ctx = (cctxi_t*) cctx; + U32* h = ctx->hashTable; + int i; + + if (limit > g_maxLimit) + { + ZSTD_scaleDownCtx(cctx, limit); + ctx->base += limit; + ctx->current -= limit; + ctx->nextUpdate -= limit; + return; + } + +#if defined(_INCLUDED_IMM) || defined(__AVX2__) /* */ /* AVX2 version */ const __m256i limit8 = _mm256_set1_epi32(limit); for (i=0; i limit ? h[i] : limit; + if (h[i] < limit) h[i] = limit; } #endif } -size_t ZSTD_compressBegin(ZSTD_cctx_t ctx, void* dst, size_t maxDstSize) -{ - // Sanity check - if (maxDstSize < 4) return (size_t)-ZSTD_ERROR_maxDstSize_tooSmall; - - // Init - ZSTD_resetCCtx(ctx); - - // Header - ZSTD_writeBE32(dst, ZSTD_magicNumber); - - return 4; -} - - size_t ZSTD_compressContinue(ZSTD_cctx_t cctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize) { - refTables_t* ctx = (refTables_t*) cctx; + cctxi_t* ctx = (cctxi_t*) cctx; const BYTE* const istart = (const BYTE* const)src; const BYTE* ip = istart; BYTE* const ostart = (BYTE* const)dst; BYTE* op = ostart; - //U32 limit = 4 * BLOCKSIZE; - //const U32 updateRate = 2 * BLOCKSIZE; + const U32 updateRate = 2 * BLOCKSIZE; /* Init */ - if (ctx->base==NULL) ctx->base = (const BYTE*)src, ctx->current=0; + if (ctx->base==NULL) + ctx->base = (const BYTE*)src, ctx->current=0, ctx->nextUpdate = g_maxDistance; if (src != ctx->base + ctx->current) /* not contiguous */ { ZSTD_resetCCtx(ctx); @@ -1024,20 +1056,18 @@ size_t ZSTD_compressContinue(ZSTD_cctx_t cctx, void* dst, size_t maxDstSize, con size_t blockSize = BLOCKSIZE; if (blockSize > srcSize) blockSize = srcSize; - /* - // update hash table - if (g_maxDistance <= BLOCKSIZE) // static test + /* update hash table */ + if (g_maxDistance <= BLOCKSIZE) /* static test => all blocks are independent */ { ZSTD_resetCCtx(ctx); ctx->base = ip; ctx->current=0; } - else if (ip >= istart + limit) + else if (ip >= ctx->base + ctx->nextUpdate) { - limit += updateRate; - ZSTD_limitCtx(ctx, limit - g_maxDistance); + ctx->nextUpdate += updateRate; + ZSTD_limitCtx(ctx, ctx->nextUpdate - g_maxDistance); } - */ /* compress */ if (maxDstSize < ZSTD_blockHeaderSize) return (size_t)-ZSTD_ERROR_maxDstSize_tooSmall; @@ -1070,11 +1100,11 @@ size_t ZSTD_compressEnd(ZSTD_cctx_t ctx, void* dst, size_t maxDstSize) { BYTE* op = (BYTE*)dst; - // Sanity check + /* Sanity check */ (void)ctx; if (maxDstSize < ZSTD_blockHeaderSize) return (size_t)-ZSTD_ERROR_maxDstSize_tooSmall; - // End of frame + /* End of frame */ op[0] = (BYTE)(bt_end << 6); op[1] = 0; op[2] = 0; From e5c25e0ebcc14a801c9775813d81d3561bbda2a7 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sat, 31 Jan 2015 20:10:53 +0100 Subject: [PATCH 3/7] minor fix for Visual --- lib/zstd.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/zstd.c b/lib/zstd.c index 5e535f695..ecc9d949a 100644 --- a/lib/zstd.c +++ b/lib/zstd.c @@ -1014,12 +1014,14 @@ static void ZSTD_limitCtx(void* cctx, const U32 limit) #if defined(_INCLUDED_IMM) || defined(__AVX2__) /* */ /* AVX2 version */ - const __m256i limit8 = _mm256_set1_epi32(limit); - for (i=0; i Date: Sun, 1 Feb 2015 10:13:22 +0100 Subject: [PATCH 4/7] avx2 mode solely detected using __AVX2__ macro --- lib/zstd.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/zstd.c b/lib/zstd.c index ecc9d949a..658aa7013 100644 --- a/lib/zstd.c +++ b/lib/zstd.c @@ -68,7 +68,8 @@ #include /* debug : printf */ #include "zstd_static.h" #if defined(__clang__) || defined(__GNUC__) -# include "fse.c" /* due to GCC/Clang inlining limitations, including *.c runs noticeably faster */ +# pragma clang diagnostic ignored "-Wtypedef-redefinition" +# include "fse.c" /* due to GCC/Clang inlining limitations, including *.c runs noticeably faster */ #else # include "fse_static.h" #endif @@ -77,7 +78,8 @@ /******************************************************** * Compiler specifics *********************************************************/ -#if (!(defined(_MSC_VER) && (_MSC_VER<=1500))) /* exclude Visual 2008 and below */ +//#if (!(defined(_MSC_VER) && (_MSC_VER<=1500))) /* exclude Visual 2008 and below */ +#ifdef __AVX2__ # include /* AVX2 intrinsics */ #endif @@ -975,7 +977,7 @@ static void ZSTD_scaleDownCtx(void* ctx, const U32 limit) U32* h = srt->hashTable; int i; -#if defined(_INCLUDED_IMM) || defined(__AVX2__) /* */ +#if defined(__AVX2__) /* */ /* AVX2 version */ const __m256i limit8 = _mm256_set1_epi32(limit); for (i=0; i */ +#if defined(__AVX2__) /* */ /* AVX2 version */ { const __m256i limit8 = _mm256_set1_epi32(limit); + //printf("test avx2!\n"); for (i=0; i Date: Sun, 1 Feb 2015 11:57:30 +0100 Subject: [PATCH 5/7] Fixed a few clang warnings --- lib/zstd.c | 153 ++++++++++++++++++++++++++++++---------------- programs/fileio.c | 3 +- 2 files changed, 100 insertions(+), 56 deletions(-) diff --git a/lib/zstd.c b/lib/zstd.c index 658aa7013..ad3a5edf4 100644 --- a/lib/zstd.c +++ b/lib/zstd.c @@ -68,7 +68,9 @@ #include /* debug : printf */ #include "zstd_static.h" #if defined(__clang__) || defined(__GNUC__) -# pragma clang diagnostic ignored "-Wtypedef-redefinition" +# ifdef __clang__ +# pragma clang diagnostic ignored "-Wtypedef-redefinition" +# endif # include "fse.c" /* due to GCC/Clang inlining limitations, including *.c runs noticeably faster */ #else # include "fse_static.h" @@ -143,7 +145,6 @@ static const U32 ZSTD_magicNumber = 0xFD2FB51C; #define GB *(1U<<20) #define BLOCKSIZE (128 KB) // define, for static allocation -static const size_t g_maxBlockSize = BLOCKSIZE; static const U32 g_maxDistance = 512 KB; static const U32 g_maxLimit = 1 GB; static const U32 g_searchStrength = 8; @@ -180,21 +181,6 @@ static unsigned ZSTD_isLittleEndian(void) return one.c[0]; } -static U32 ZSTD_readBE32(const void* memPtr) -{ - const BYTE* p = (const BYTE*)memPtr; - return (U32)(((U32)p[0]<<24) + ((U32)p[1]<<16) + ((U32)p[2]<<8) + ((U32)p[3]<<0)); -} - -static void ZSTD_writeBE32(void* memPtr, U32 value) -{ - BYTE* const p = (BYTE* const) memPtr; - p[0] = (BYTE)(value>>24); - p[1] = (BYTE)(value>>16); - p[2] = (BYTE)(value>>8); - p[3] = (BYTE)(value>>0); -} - static U16 ZSTD_read16(const void* p) { return *(U16*)p; } static U32 ZSTD_read32(const void* p) { return *(U32*)p; } @@ -215,6 +201,48 @@ static void ZSTD_wildcopy(void* dst, const void* src, size_t length) while (op < oend) COPY8(op, ip); } +static U32 ZSTD_readLE32(const void* memPtr) +{ + if (ZSTD_isLittleEndian()) + return ZSTD_read32(memPtr); + else + { + const BYTE* p = (const BYTE*)memPtr; + return (U32)((U32)p[0] + ((U32)p[1]<<8) + ((U32)p[2]<<16) + ((U32)p[3]<<24)); + } +} + +static void ZSTD_writeLE32(void* memPtr, U32 val32) +{ + if (ZSTD_isLittleEndian()) + { + memcpy(memPtr, &val32, 4); + } + else + { + BYTE* p = (BYTE*)memPtr; + p[0] = (BYTE)val32; + p[1] = (BYTE)(val32>>8); + p[2] = (BYTE)(val32>>16); + p[3] = (BYTE)(val32>>24); + } +} + +static U32 ZSTD_readBE32(const void* memPtr) +{ + const BYTE* p = (const BYTE*)memPtr; + return (U32)(((U32)p[0]<<24) + ((U32)p[1]<<16) + ((U32)p[2]<<8) + ((U32)p[3]<<0)); +} + +static void ZSTD_writeBE32(void* memPtr, U32 value) +{ + BYTE* const p = (BYTE* const) memPtr; + p[0] = (BYTE)(value>>24); + p[1] = (BYTE)(value>>16); + p[2] = (BYTE)(value>>8); + p[3] = (BYTE)(value>>0); +} + static size_t ZSTD_writeProgressive(void* ptr, size_t value) { BYTE* const bStart = (BYTE* const)ptr; @@ -267,10 +295,11 @@ typedef struct U32 current; U32 nextUpdate; BYTE* workplace; -#ifdef _INCLUDED_IMM - __m256i justToBeAligned; +#ifdef __AVX2__ + __m256i hashTable[HASH_TABLESIZE>>3]; +#else + U32 hashTable[HASH_TABLESIZE]; #endif - U32 hashTable[HASH_TABLESIZE]; } cctxi_t; @@ -829,7 +858,11 @@ static size_t ZSTD_storeSeq(BYTE* op_lit, BYTE* op_ll, U32* op_offset, BYTE* op_ else { *op_dumps++ = 255; - *(U32*)op_dumps = (U32)litLength; op_dumps += 3; /* store direct result */ + ZSTD_writeLE32(op_dumps, (U32)litLength); op_dumps += 3; + + //litLength |= 0xFF000000; + //ZSTD_writeBE32(op_dumps, (U32)litLength); + //op_dumps += 4; } } else *op_ll = (BYTE)litLength; @@ -846,7 +879,12 @@ static size_t ZSTD_storeSeq(BYTE* op_lit, BYTE* op_ll, U32* op_offset, BYTE* op_ else { *op_dumps++ = 255; - *(U32*)op_dumps = (U32)matchLength; op_dumps += 3; /* store direct result */ + ZSTD_writeLE32(op_dumps, (U32)matchLength); op_dumps+=3; + //*(U32*)op_dumps = (U32)matchLength; op_dumps += 3; /* store direct result */ + + //matchLength |= 0xFF000000; + //ZSTD_writeBE32(op_dumps, (U32)matchLength); + //op_dumps += 4; } } else *op_ml = (BYTE)matchLength; @@ -855,11 +893,11 @@ static size_t ZSTD_storeSeq(BYTE* op_lit, BYTE* op_ll, U32* op_offset, BYTE* op_ } -static const U32 hashMask = (1<> (64-HASH_LOG)); } @@ -886,7 +924,8 @@ static const BYTE* ZSTD_updateMatch(U32* table, const BYTE* p, const BYTE* start static int ZSTD_checkMatch(const BYTE* match, const BYTE* ip) { - return *(U32*)match == *(U32*)ip; + //return *(U32*)match == *(U32*)ip; + return ZSTD_read32(match) == ZSTD_read32(ip); } @@ -894,8 +933,8 @@ static size_t ZSTD_compressBlock(void* ctx, void* dst, size_t maxDstSize, const { // Local Variables cctxi_t* srt = (cctxi_t*) ctx; - U32* HashTable = srt->hashTable; - BYTE* workplace = srt->workplace; + U32* HashTable = (U32*)(srt->hashTable); + void* workplace = srt->workplace; const BYTE* const base = srt->base; const BYTE* const istart = (const BYTE*)src; @@ -904,11 +943,11 @@ static size_t ZSTD_compressBlock(void* ctx, void* dst, size_t maxDstSize, const const BYTE* const iend = istart + srcSize; const BYTE* const ilimit = iend - 16; - BYTE *op_l = workplace, *op_l_start = op_l; + U32 *op_offset = (U32*)(workplace), *op_offset_start = op_offset; + BYTE *op_l = workplace + srcSize + 4, *op_l_start = op_l; BYTE *op_rl = op_l + srcSize + 4, *op_rl_start = op_rl; BYTE *op_ml = op_rl + (srcSize >> 2) + 4, *op_ml_start = op_ml; - U32 *op_offset = (U32*)(op_ml + (srcSize >> 2) + 4), *op_offset_start = op_offset; - BYTE *op_dumps = (BYTE*)(op_offset + (srcSize >> 2) + 4), *op_dumps_start = op_dumps; + BYTE *op_dumps = op_ml + (srcSize >> 2) + 4, *op_dumps_start = op_dumps; size_t prevOffset=0, offset=0; size_t lastLLSize; @@ -971,16 +1010,16 @@ size_t ZSTD_compressBegin(ZSTD_cctx_t ctx, void* dst, size_t maxDstSize) /* this should be auto-vectorized by compiler */ -static void ZSTD_scaleDownCtx(void* ctx, const U32 limit) +static void ZSTD_scaleDownCtx(void* cctx, const U32 limit) { - cctxi_t* srt = (cctxi_t*) ctx; - U32* h = srt->hashTable; + cctxi_t* ctx = (cctxi_t*) cctx; int i; #if defined(__AVX2__) /* */ /* AVX2 version */ + __m256i* h = ctx->hashTable; const __m256i limit8 = _mm256_set1_epi32(limit); - for (i=0; i>3); i++) { __m256i src =_mm256_loadu_si256((const __m256i*)(h+i)); const __m256i dec = _mm256_min_epu32(src, limit8); @@ -988,6 +1027,7 @@ static void ZSTD_scaleDownCtx(void* ctx, const U32 limit) _mm256_storeu_si256((__m256i*)(h+i), src); } #else + U32* h = ctx->hashTable; for (i=0; ihashTable; int i; if (limit > g_maxLimit) @@ -1017,19 +1056,23 @@ static void ZSTD_limitCtx(void* cctx, const U32 limit) #if defined(__AVX2__) /* */ /* AVX2 version */ { + __m256i* h = ctx->hashTable; const __m256i limit8 = _mm256_set1_epi32(limit); - //printf("test avx2!\n"); - for (i=0; i>3); i++) { - __m256i src =_mm256_loadu_si256((const __m256i*)(h+i)); + __m256i src =_mm256_loadu_si256((const __m256i*)(h+i)); // Unfortunately, clang doesn't guarantee 32-bytes alignment src = _mm256_max_epu32(src, limit8); _mm256_storeu_si256((__m256i*)(h+i), src); } } #else - for (i=0; ihashTable); + for (i=0; i= MaxLL and MaxOff */ - size_t errorCode; + size_t headerSize; /* Build DTables */ switch(LLtype) @@ -1382,9 +1425,9 @@ size_t ZSTD_decodeSeqHeaders(size_t* lastLLPtr, const BYTE** dumpsPtr, FSE_buildDTable_raw(DTableLL, LLbits); break; default : max = MaxLL; - errorCode = FSE_readHeader(norm, &max, &LLlog, ip, iend-ip); - if (FSE_isError(errorCode)) return (size_t)-ZSTD_ERROR_GENERIC; - ip += errorCode; + headerSize = FSE_readHeader(norm, &max, &LLlog, ip, iend-ip); + if (FSE_isError(headerSize)) return (size_t)-ZSTD_ERROR_GENERIC; + ip += headerSize; FSE_buildDTable(DTableLL, norm, max, LLlog); } @@ -1399,9 +1442,9 @@ size_t ZSTD_decodeSeqHeaders(size_t* lastLLPtr, const BYTE** dumpsPtr, FSE_buildDTable_raw(DTableOffb, Offbits); break; default : max = MaxOff; - errorCode = FSE_readHeader(norm, &max, &Offlog, ip, iend-ip); - if (FSE_isError(errorCode)) return (size_t)-ZSTD_ERROR_GENERIC; - ip += errorCode; + headerSize = FSE_readHeader(norm, &max, &Offlog, ip, iend-ip); + if (FSE_isError(headerSize)) return (size_t)-ZSTD_ERROR_GENERIC; + ip += headerSize; FSE_buildDTable(DTableOffb, norm, max, Offlog); } @@ -1416,9 +1459,9 @@ size_t ZSTD_decodeSeqHeaders(size_t* lastLLPtr, const BYTE** dumpsPtr, FSE_buildDTable_raw(DTableML, MLbits); break; default : max = MaxML; - errorCode = FSE_readHeader(norm, &max, &MLlog, ip, iend-ip); - if (FSE_isError(errorCode)) return (size_t)-ZSTD_ERROR_GENERIC; - ip += errorCode; + headerSize = FSE_readHeader(norm, &max, &MLlog, ip, iend-ip); + if (FSE_isError(headerSize)) return (size_t)-ZSTD_ERROR_GENERIC; + ip += headerSize; FSE_buildDTable(DTableML, norm, max, MLlog); } } @@ -1498,7 +1541,8 @@ _another_round: if (add < 255) litLength += add; else { - litLength = (*(U32*)dumps) & 0xFFFFFF; + //litLength = (*(U32*)dumps) & 0xFFFFFF; + litLength = ZSTD_readLE32(dumps) & 0xFFFFFF; dumps += 3; } } @@ -1530,7 +1574,8 @@ _another_round: if (add < 255) matchLength += add; else { - matchLength = (*(U32*)dumps) & 0xFFFFFF; + //matchLength = (*(U32*)dumps) & 0xFFFFFF; + matchLength = ZSTD_readLE32(dumps) & 0xFFFFFF; dumps += 3; } } diff --git a/programs/fileio.c b/programs/fileio.c index 453269d7b..fcf3d4f3a 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -110,8 +110,7 @@ typedef unsigned long long U64; #define BIT6 0x40 #define BIT7 0x80 -static const unsigned FIO_magicNumber = 0x183E2308; -static const unsigned FIO_maxBlockSizeID = 0xB; /* => 2MB block */ +//static const unsigned FIO_maxBlockSizeID = 0xB; /* => 2MB block */ static const unsigned FIO_blockHeaderSize = 3; #define FIO_FRAMEHEADERSIZE 5 /* as a define, because needed to allocated table on stack */ From d6914bfd5ac930a82786dbe6dc1ec1d0ca45a314 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sun, 1 Feb 2015 12:09:46 +0100 Subject: [PATCH 6/7] fix minor Visual warning --- lib/zstd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/zstd.c b/lib/zstd.c index ad3a5edf4..48c4025b1 100644 --- a/lib/zstd.c +++ b/lib/zstd.c @@ -944,7 +944,7 @@ static size_t ZSTD_compressBlock(void* ctx, void* dst, size_t maxDstSize, const const BYTE* const ilimit = iend - 16; U32 *op_offset = (U32*)(workplace), *op_offset_start = op_offset; - BYTE *op_l = workplace + srcSize + 4, *op_l_start = op_l; + BYTE *op_l = (BYTE*)workplace + srcSize + 4, *op_l_start = op_l; BYTE *op_rl = op_l + srcSize + 4, *op_rl_start = op_rl; BYTE *op_ml = op_rl + (srcSize >> 2) + 4, *op_ml_start = op_ml; BYTE *op_dumps = op_ml + (srcSize >> 2) + 4, *op_dumps_start = op_dumps; From 08f358599fad96241001a315f9e1eaee97e09d6d Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sun, 1 Feb 2015 12:24:20 +0100 Subject: [PATCH 7/7] Added : Visual project directory --- visual/2012/fullbench/fullbench.vcxproj | 159 +++++++++++++++++ .../2012/fullbench/fullbench.vcxproj.filters | 42 +++++ visual/2012/fullbench/fullbench.vcxproj.user | 4 + visual/2012/fuzzer/fuzzer.vcxproj | 161 +++++++++++++++++ visual/2012/fuzzer/fuzzer.vcxproj.filters | 48 +++++ visual/2012/fuzzer/fuzzer.vcxproj.user | 4 + visual/2012/zstd.sln | 60 +++++++ visual/2012/zstd.v11.suo | Bin 0 -> 23040 bytes visual/2012/zstd/zstd.vcxproj | 165 ++++++++++++++++++ visual/2012/zstd/zstd.vcxproj.filters | 60 +++++++ visual/2012/zstd/zstd.vcxproj.user | 4 + 11 files changed, 707 insertions(+) create mode 100644 visual/2012/fullbench/fullbench.vcxproj create mode 100644 visual/2012/fullbench/fullbench.vcxproj.filters create mode 100644 visual/2012/fullbench/fullbench.vcxproj.user create mode 100644 visual/2012/fuzzer/fuzzer.vcxproj create mode 100644 visual/2012/fuzzer/fuzzer.vcxproj.filters create mode 100644 visual/2012/fuzzer/fuzzer.vcxproj.user create mode 100644 visual/2012/zstd.sln create mode 100644 visual/2012/zstd.v11.suo create mode 100644 visual/2012/zstd/zstd.vcxproj create mode 100644 visual/2012/zstd/zstd.vcxproj.filters create mode 100644 visual/2012/zstd/zstd.vcxproj.user diff --git a/visual/2012/fullbench/fullbench.vcxproj b/visual/2012/fullbench/fullbench.vcxproj new file mode 100644 index 000000000..4b6e0c35c --- /dev/null +++ b/visual/2012/fullbench/fullbench.vcxproj @@ -0,0 +1,159 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8} + Win32Proj + fullbench + + + + Application + true + v110 + Unicode + + + Application + true + v110 + Unicode + + + Application + false + v110 + true + Unicode + + + Application + false + v110 + true + Unicode + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + true + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + false + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + false + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + + + + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + + + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level4 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + Level4 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/visual/2012/fullbench/fullbench.vcxproj.filters b/visual/2012/fullbench/fullbench.vcxproj.filters new file mode 100644 index 000000000..35a890010 --- /dev/null +++ b/visual/2012/fullbench/fullbench.vcxproj.filters @@ -0,0 +1,42 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Fichiers sources + + + Fichiers sources + + + Fichiers sources + + + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + \ No newline at end of file diff --git a/visual/2012/fullbench/fullbench.vcxproj.user b/visual/2012/fullbench/fullbench.vcxproj.user new file mode 100644 index 000000000..7cbb3216a --- /dev/null +++ b/visual/2012/fullbench/fullbench.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/visual/2012/fuzzer/fuzzer.vcxproj b/visual/2012/fuzzer/fuzzer.vcxproj new file mode 100644 index 000000000..a0dc550c2 --- /dev/null +++ b/visual/2012/fuzzer/fuzzer.vcxproj @@ -0,0 +1,161 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {6FD4352B-346C-4703-96EA-D4A8B9A6976E} + Win32Proj + fuzzer + + + + Application + true + v110 + Unicode + + + Application + true + v110 + Unicode + + + Application + false + v110 + true + Unicode + + + Application + false + v110 + true + Unicode + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + true + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + false + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + false + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + + + + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + + + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level4 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + Level4 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/visual/2012/fuzzer/fuzzer.vcxproj.filters b/visual/2012/fuzzer/fuzzer.vcxproj.filters new file mode 100644 index 000000000..7782b08fa --- /dev/null +++ b/visual/2012/fuzzer/fuzzer.vcxproj.filters @@ -0,0 +1,48 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Fichiers sources + + + Fichiers sources + + + Fichiers sources + + + Fichiers sources + + + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + \ No newline at end of file diff --git a/visual/2012/fuzzer/fuzzer.vcxproj.user b/visual/2012/fuzzer/fuzzer.vcxproj.user new file mode 100644 index 000000000..7cbb3216a --- /dev/null +++ b/visual/2012/fuzzer/fuzzer.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/visual/2012/zstd.sln b/visual/2012/zstd.sln new file mode 100644 index 000000000..95eb56ed4 --- /dev/null +++ b/visual/2012/zstd.sln @@ -0,0 +1,60 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Express 2012 for Windows Desktop +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstd", "zstd\zstd.vcxproj", "{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fuzzer", "fuzzer\fuzzer.vcxproj", "{6FD4352B-346C-4703-96EA-D4A8B9A6976E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fullbench", "fullbench\fullbench.vcxproj", "{61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Mixed Platforms = Release|Mixed Platforms + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|Win32.ActiveCfg = Debug|Win32 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|Win32.Build.0 = Debug|Win32 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|x64.ActiveCfg = Debug|x64 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Debug|x64.Build.0 = Debug|x64 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|Mixed Platforms.Build.0 = Release|Win32 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|Win32.ActiveCfg = Release|Win32 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|Win32.Build.0 = Release|Win32 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|x64.ActiveCfg = Release|x64 + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}.Release|x64.Build.0 = Release|x64 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|Win32.ActiveCfg = Debug|Win32 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|Win32.Build.0 = Debug|Win32 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|x64.ActiveCfg = Debug|x64 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Debug|x64.Build.0 = Debug|x64 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|Mixed Platforms.Build.0 = Release|Win32 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|Win32.ActiveCfg = Release|Win32 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|Win32.Build.0 = Release|Win32 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|x64.ActiveCfg = Release|x64 + {6FD4352B-346C-4703-96EA-D4A8B9A6976E}.Release|x64.Build.0 = Release|x64 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|Win32.ActiveCfg = Debug|Win32 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|Win32.Build.0 = Debug|Win32 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|x64.ActiveCfg = Debug|x64 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Debug|x64.Build.0 = Debug|x64 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|Mixed Platforms.Build.0 = Release|Win32 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|Win32.ActiveCfg = Release|Win32 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|Win32.Build.0 = Release|Win32 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|x64.ActiveCfg = Release|x64 + {61ABD629-1CC8-4FD7-9281-6B8DBB9D3DF8}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/visual/2012/zstd.v11.suo b/visual/2012/zstd.v11.suo new file mode 100644 index 0000000000000000000000000000000000000000..40882be5a0345e12edab5795101bdfe385401ec4 GIT binary patch literal 23040 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 NiS^e&mVbjG{sFfsWv&1K literal 0 HcmV?d00001 diff --git a/visual/2012/zstd/zstd.vcxproj b/visual/2012/zstd/zstd.vcxproj new file mode 100644 index 000000000..45e4bc154 --- /dev/null +++ b/visual/2012/zstd/zstd.vcxproj @@ -0,0 +1,165 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + {4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C} + Win32Proj + zstd + + + + Application + true + v110 + Unicode + + + Application + true + v110 + Unicode + + + Application + false + v110 + true + Unicode + + + Application + false + v110 + true + Unicode + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + true + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + false + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + false + $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + + + + + + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + + + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level4 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + Level4 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + \ No newline at end of file diff --git a/visual/2012/zstd/zstd.vcxproj.filters b/visual/2012/zstd/zstd.vcxproj.filters new file mode 100644 index 000000000..d93bbf535 --- /dev/null +++ b/visual/2012/zstd/zstd.vcxproj.filters @@ -0,0 +1,60 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Fichiers sources + + + Fichiers sources + + + Fichiers sources + + + Fichiers sources + + + Fichiers sources + + + Fichiers sources + + + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + Fichiers d%27en-tête + + + \ No newline at end of file diff --git a/visual/2012/zstd/zstd.vcxproj.user b/visual/2012/zstd/zstd.vcxproj.user new file mode 100644 index 000000000..7cbb3216a --- /dev/null +++ b/visual/2012/zstd/zstd.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file