Moving default cparams back, checking for unknown file size, using getCParams()
This commit is contained in:
parent
b660ef87f8
commit
b0ceab4dc0
@ -4071,9 +4071,117 @@ size_t ZSTD_endStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output)
|
|||||||
|
|
||||||
/*-===== Pre-defined compression levels =====-*/
|
/*-===== Pre-defined compression levels =====-*/
|
||||||
|
|
||||||
|
#define ZSTD_MAX_CLEVEL 22
|
||||||
int ZSTD_maxCLevel(void) { return ZSTD_MAX_CLEVEL; }
|
int ZSTD_maxCLevel(void) { return ZSTD_MAX_CLEVEL; }
|
||||||
int ZSTD_minCLevel(void) { return (int)-ZSTD_TARGETLENGTH_MAX; }
|
int ZSTD_minCLevel(void) { return (int)-ZSTD_TARGETLENGTH_MAX; }
|
||||||
|
|
||||||
|
static const ZSTD_compressionParameters ZSTD_defaultCParameters[4][ZSTD_MAX_CLEVEL+1] = {
|
||||||
|
{ /* "default" - for any srcSize > 256 KB */
|
||||||
|
/* W, C, H, S, L, TL, strat */
|
||||||
|
{ 19, 12, 13, 1, 6, 1, ZSTD_fast }, /* base for negative levels */
|
||||||
|
{ 19, 13, 14, 1, 7, 0, ZSTD_fast }, /* level 1 */
|
||||||
|
{ 20, 15, 16, 1, 6, 0, ZSTD_fast }, /* level 2 */
|
||||||
|
{ 21, 16, 17, 1, 5, 0, ZSTD_dfast }, /* level 3 */
|
||||||
|
{ 21, 18, 18, 1, 5, 0, ZSTD_dfast }, /* level 4 */
|
||||||
|
{ 21, 18, 19, 2, 5, 2, ZSTD_greedy }, /* level 5 */
|
||||||
|
{ 21, 19, 19, 3, 5, 4, ZSTD_greedy }, /* level 6 */
|
||||||
|
{ 21, 19, 19, 3, 5, 8, ZSTD_lazy }, /* level 7 */
|
||||||
|
{ 21, 19, 19, 3, 5, 16, ZSTD_lazy2 }, /* level 8 */
|
||||||
|
{ 21, 19, 20, 4, 5, 16, ZSTD_lazy2 }, /* level 9 */
|
||||||
|
{ 22, 20, 21, 4, 5, 16, ZSTD_lazy2 }, /* level 10 */
|
||||||
|
{ 22, 21, 22, 4, 5, 16, ZSTD_lazy2 }, /* level 11 */
|
||||||
|
{ 22, 21, 22, 5, 5, 16, ZSTD_lazy2 }, /* level 12 */
|
||||||
|
{ 22, 21, 22, 5, 5, 32, ZSTD_btlazy2 }, /* level 13 */
|
||||||
|
{ 22, 22, 23, 5, 5, 32, ZSTD_btlazy2 }, /* level 14 */
|
||||||
|
{ 22, 23, 23, 6, 5, 32, ZSTD_btlazy2 }, /* level 15 */
|
||||||
|
{ 22, 22, 22, 5, 5, 48, ZSTD_btopt }, /* level 16 */
|
||||||
|
{ 23, 23, 22, 5, 4, 64, ZSTD_btopt }, /* level 17 */
|
||||||
|
{ 23, 23, 22, 6, 3, 64, ZSTD_btultra }, /* level 18 */
|
||||||
|
{ 23, 24, 22, 7, 3,256, ZSTD_btultra2}, /* level 19 */
|
||||||
|
{ 25, 25, 23, 7, 3,256, ZSTD_btultra2}, /* level 20 */
|
||||||
|
{ 26, 26, 24, 7, 3,512, ZSTD_btultra2}, /* level 21 */
|
||||||
|
{ 27, 27, 25, 9, 3,999, ZSTD_btultra2}, /* level 22 */
|
||||||
|
},
|
||||||
|
{ /* for srcSize <= 256 KB */
|
||||||
|
/* W, C, H, S, L, T, strat */
|
||||||
|
{ 18, 12, 13, 1, 5, 1, ZSTD_fast }, /* base for negative levels */
|
||||||
|
{ 18, 13, 14, 1, 6, 0, ZSTD_fast }, /* level 1 */
|
||||||
|
{ 18, 14, 14, 1, 5, 0, ZSTD_dfast }, /* level 2 */
|
||||||
|
{ 18, 16, 16, 1, 4, 0, ZSTD_dfast }, /* level 3 */
|
||||||
|
{ 18, 16, 17, 2, 5, 2, ZSTD_greedy }, /* level 4.*/
|
||||||
|
{ 18, 18, 18, 3, 5, 2, ZSTD_greedy }, /* level 5.*/
|
||||||
|
{ 18, 18, 19, 3, 5, 4, ZSTD_lazy }, /* level 6.*/
|
||||||
|
{ 18, 18, 19, 4, 4, 4, ZSTD_lazy }, /* level 7 */
|
||||||
|
{ 18, 18, 19, 4, 4, 8, ZSTD_lazy2 }, /* level 8 */
|
||||||
|
{ 18, 18, 19, 5, 4, 8, ZSTD_lazy2 }, /* level 9 */
|
||||||
|
{ 18, 18, 19, 6, 4, 8, ZSTD_lazy2 }, /* level 10 */
|
||||||
|
{ 18, 18, 19, 5, 4, 12, ZSTD_btlazy2 }, /* level 11.*/
|
||||||
|
{ 18, 19, 19, 7, 4, 12, ZSTD_btlazy2 }, /* level 12.*/
|
||||||
|
{ 18, 18, 19, 4, 4, 16, ZSTD_btopt }, /* level 13 */
|
||||||
|
{ 18, 18, 19, 4, 3, 32, ZSTD_btopt }, /* level 14.*/
|
||||||
|
{ 18, 18, 19, 6, 3,128, ZSTD_btopt }, /* level 15.*/
|
||||||
|
{ 18, 19, 19, 6, 3,128, ZSTD_btultra }, /* level 16.*/
|
||||||
|
{ 18, 19, 19, 8, 3,256, ZSTD_btultra }, /* level 17.*/
|
||||||
|
{ 18, 19, 19, 6, 3,128, ZSTD_btultra2}, /* level 18.*/
|
||||||
|
{ 18, 19, 19, 8, 3,256, ZSTD_btultra2}, /* level 19.*/
|
||||||
|
{ 18, 19, 19, 10, 3,512, ZSTD_btultra2}, /* level 20.*/
|
||||||
|
{ 18, 19, 19, 12, 3,512, ZSTD_btultra2}, /* level 21.*/
|
||||||
|
{ 18, 19, 19, 13, 3,999, ZSTD_btultra2}, /* level 22.*/
|
||||||
|
},
|
||||||
|
{ /* for srcSize <= 128 KB */
|
||||||
|
/* W, C, H, S, L, T, strat */
|
||||||
|
{ 17, 12, 12, 1, 5, 1, ZSTD_fast }, /* base for negative levels */
|
||||||
|
{ 17, 12, 13, 1, 6, 0, ZSTD_fast }, /* level 1 */
|
||||||
|
{ 17, 13, 15, 1, 5, 0, ZSTD_fast }, /* level 2 */
|
||||||
|
{ 17, 15, 16, 2, 5, 0, ZSTD_dfast }, /* level 3 */
|
||||||
|
{ 17, 17, 17, 2, 4, 0, ZSTD_dfast }, /* level 4 */
|
||||||
|
{ 17, 16, 17, 3, 4, 2, ZSTD_greedy }, /* level 5 */
|
||||||
|
{ 17, 17, 17, 3, 4, 4, ZSTD_lazy }, /* level 6 */
|
||||||
|
{ 17, 17, 17, 3, 4, 8, ZSTD_lazy2 }, /* level 7 */
|
||||||
|
{ 17, 17, 17, 4, 4, 8, ZSTD_lazy2 }, /* level 8 */
|
||||||
|
{ 17, 17, 17, 5, 4, 8, ZSTD_lazy2 }, /* level 9 */
|
||||||
|
{ 17, 17, 17, 6, 4, 8, ZSTD_lazy2 }, /* level 10 */
|
||||||
|
{ 17, 17, 17, 5, 4, 8, ZSTD_btlazy2 }, /* level 11 */
|
||||||
|
{ 17, 18, 17, 7, 4, 12, ZSTD_btlazy2 }, /* level 12 */
|
||||||
|
{ 17, 18, 17, 3, 4, 12, ZSTD_btopt }, /* level 13.*/
|
||||||
|
{ 17, 18, 17, 4, 3, 32, ZSTD_btopt }, /* level 14.*/
|
||||||
|
{ 17, 18, 17, 6, 3,256, ZSTD_btopt }, /* level 15.*/
|
||||||
|
{ 17, 18, 17, 6, 3,128, ZSTD_btultra }, /* level 16.*/
|
||||||
|
{ 17, 18, 17, 8, 3,256, ZSTD_btultra }, /* level 17.*/
|
||||||
|
{ 17, 18, 17, 10, 3,512, ZSTD_btultra }, /* level 18.*/
|
||||||
|
{ 17, 18, 17, 5, 3,256, ZSTD_btultra2}, /* level 19.*/
|
||||||
|
{ 17, 18, 17, 7, 3,512, ZSTD_btultra2}, /* level 20.*/
|
||||||
|
{ 17, 18, 17, 9, 3,512, ZSTD_btultra2}, /* level 21.*/
|
||||||
|
{ 17, 18, 17, 11, 3,999, ZSTD_btultra2}, /* level 22.*/
|
||||||
|
},
|
||||||
|
{ /* for srcSize <= 16 KB */
|
||||||
|
/* W, C, H, S, L, T, strat */
|
||||||
|
{ 14, 12, 13, 1, 5, 1, ZSTD_fast }, /* base for negative levels */
|
||||||
|
{ 14, 14, 15, 1, 5, 0, ZSTD_fast }, /* level 1 */
|
||||||
|
{ 14, 14, 15, 1, 4, 0, ZSTD_fast }, /* level 2 */
|
||||||
|
{ 14, 14, 15, 2, 4, 0, ZSTD_dfast }, /* level 3 */
|
||||||
|
{ 14, 14, 14, 4, 4, 2, ZSTD_greedy }, /* level 4 */
|
||||||
|
{ 14, 14, 14, 3, 4, 4, ZSTD_lazy }, /* level 5.*/
|
||||||
|
{ 14, 14, 14, 4, 4, 8, ZSTD_lazy2 }, /* level 6 */
|
||||||
|
{ 14, 14, 14, 6, 4, 8, ZSTD_lazy2 }, /* level 7 */
|
||||||
|
{ 14, 14, 14, 8, 4, 8, ZSTD_lazy2 }, /* level 8.*/
|
||||||
|
{ 14, 15, 14, 5, 4, 8, ZSTD_btlazy2 }, /* level 9.*/
|
||||||
|
{ 14, 15, 14, 9, 4, 8, ZSTD_btlazy2 }, /* level 10.*/
|
||||||
|
{ 14, 15, 14, 3, 4, 12, ZSTD_btopt }, /* level 11.*/
|
||||||
|
{ 14, 15, 14, 4, 3, 24, ZSTD_btopt }, /* level 12.*/
|
||||||
|
{ 14, 15, 14, 5, 3, 32, ZSTD_btultra }, /* level 13.*/
|
||||||
|
{ 14, 15, 15, 6, 3, 64, ZSTD_btultra }, /* level 14.*/
|
||||||
|
{ 14, 15, 15, 7, 3,256, ZSTD_btultra }, /* level 15.*/
|
||||||
|
{ 14, 15, 15, 5, 3, 48, ZSTD_btultra2}, /* level 16.*/
|
||||||
|
{ 14, 15, 15, 6, 3,128, ZSTD_btultra2}, /* level 17.*/
|
||||||
|
{ 14, 15, 15, 7, 3,256, ZSTD_btultra2}, /* level 18.*/
|
||||||
|
{ 14, 15, 15, 8, 3,256, ZSTD_btultra2}, /* level 19.*/
|
||||||
|
{ 14, 15, 15, 8, 3,512, ZSTD_btultra2}, /* level 20.*/
|
||||||
|
{ 14, 15, 15, 9, 3,512, ZSTD_btultra2}, /* level 21.*/
|
||||||
|
{ 14, 15, 15, 10, 3,999, ZSTD_btultra2}, /* level 22.*/
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
/*! ZSTD_getCParams_internal() :
|
/*! ZSTD_getCParams_internal() :
|
||||||
* @return ZSTD_compressionParameters structure for a selected compression level, srcSize and dictSize.
|
* @return ZSTD_compressionParameters structure for a selected compression level, srcSize and dictSize.
|
||||||
* Note: srcSizeHint 0 means 0, use ZSTD_CONTENTSIZE_UNKNOWN for unknown.
|
* Note: srcSizeHint 0 means 0, use ZSTD_CONTENTSIZE_UNKNOWN for unknown.
|
||||||
|
@ -551,119 +551,6 @@ ZSTD_count_2segments(const BYTE* ip, const BYTE* match,
|
|||||||
return matchLength + ZSTD_count(ip+matchLength, iStart, iEnd);
|
return matchLength + ZSTD_count(ip+matchLength, iStart, iEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-*************************************
|
|
||||||
* Compression parameters
|
|
||||||
***************************************/
|
|
||||||
|
|
||||||
#define ZSTD_MAX_CLEVEL 22
|
|
||||||
|
|
||||||
static const ZSTD_compressionParameters ZSTD_defaultCParameters[4][ZSTD_MAX_CLEVEL+1] = {
|
|
||||||
{ /* "default" - for any srcSize > 256 KB */
|
|
||||||
/* W, C, H, S, L, TL, strat */
|
|
||||||
{ 19, 12, 13, 1, 6, 1, ZSTD_fast }, /* base for negative levels */
|
|
||||||
{ 19, 13, 14, 1, 7, 0, ZSTD_fast }, /* level 1 */
|
|
||||||
{ 20, 15, 16, 1, 6, 0, ZSTD_fast }, /* level 2 */
|
|
||||||
{ 21, 16, 17, 1, 5, 0, ZSTD_dfast }, /* level 3 */
|
|
||||||
{ 21, 18, 18, 1, 5, 0, ZSTD_dfast }, /* level 4 */
|
|
||||||
{ 21, 18, 19, 2, 5, 2, ZSTD_greedy }, /* level 5 */
|
|
||||||
{ 21, 19, 19, 3, 5, 4, ZSTD_greedy }, /* level 6 */
|
|
||||||
{ 21, 19, 19, 3, 5, 8, ZSTD_lazy }, /* level 7 */
|
|
||||||
{ 21, 19, 19, 3, 5, 16, ZSTD_lazy2 }, /* level 8 */
|
|
||||||
{ 21, 19, 20, 4, 5, 16, ZSTD_lazy2 }, /* level 9 */
|
|
||||||
{ 22, 20, 21, 4, 5, 16, ZSTD_lazy2 }, /* level 10 */
|
|
||||||
{ 22, 21, 22, 4, 5, 16, ZSTD_lazy2 }, /* level 11 */
|
|
||||||
{ 22, 21, 22, 5, 5, 16, ZSTD_lazy2 }, /* level 12 */
|
|
||||||
{ 22, 21, 22, 5, 5, 32, ZSTD_btlazy2 }, /* level 13 */
|
|
||||||
{ 22, 22, 23, 5, 5, 32, ZSTD_btlazy2 }, /* level 14 */
|
|
||||||
{ 22, 23, 23, 6, 5, 32, ZSTD_btlazy2 }, /* level 15 */
|
|
||||||
{ 22, 22, 22, 5, 5, 48, ZSTD_btopt }, /* level 16 */
|
|
||||||
{ 23, 23, 22, 5, 4, 64, ZSTD_btopt }, /* level 17 */
|
|
||||||
{ 23, 23, 22, 6, 3, 64, ZSTD_btultra }, /* level 18 */
|
|
||||||
{ 23, 24, 22, 7, 3,256, ZSTD_btultra2}, /* level 19 */
|
|
||||||
{ 25, 25, 23, 7, 3,256, ZSTD_btultra2}, /* level 20 */
|
|
||||||
{ 26, 26, 24, 7, 3,512, ZSTD_btultra2}, /* level 21 */
|
|
||||||
{ 27, 27, 25, 9, 3,999, ZSTD_btultra2}, /* level 22 */
|
|
||||||
},
|
|
||||||
{ /* for srcSize <= 256 KB */
|
|
||||||
/* W, C, H, S, L, T, strat */
|
|
||||||
{ 18, 12, 13, 1, 5, 1, ZSTD_fast }, /* base for negative levels */
|
|
||||||
{ 18, 13, 14, 1, 6, 0, ZSTD_fast }, /* level 1 */
|
|
||||||
{ 18, 14, 14, 1, 5, 0, ZSTD_dfast }, /* level 2 */
|
|
||||||
{ 18, 16, 16, 1, 4, 0, ZSTD_dfast }, /* level 3 */
|
|
||||||
{ 18, 16, 17, 2, 5, 2, ZSTD_greedy }, /* level 4.*/
|
|
||||||
{ 18, 18, 18, 3, 5, 2, ZSTD_greedy }, /* level 5.*/
|
|
||||||
{ 18, 18, 19, 3, 5, 4, ZSTD_lazy }, /* level 6.*/
|
|
||||||
{ 18, 18, 19, 4, 4, 4, ZSTD_lazy }, /* level 7 */
|
|
||||||
{ 18, 18, 19, 4, 4, 8, ZSTD_lazy2 }, /* level 8 */
|
|
||||||
{ 18, 18, 19, 5, 4, 8, ZSTD_lazy2 }, /* level 9 */
|
|
||||||
{ 18, 18, 19, 6, 4, 8, ZSTD_lazy2 }, /* level 10 */
|
|
||||||
{ 18, 18, 19, 5, 4, 12, ZSTD_btlazy2 }, /* level 11.*/
|
|
||||||
{ 18, 19, 19, 7, 4, 12, ZSTD_btlazy2 }, /* level 12.*/
|
|
||||||
{ 18, 18, 19, 4, 4, 16, ZSTD_btopt }, /* level 13 */
|
|
||||||
{ 18, 18, 19, 4, 3, 32, ZSTD_btopt }, /* level 14.*/
|
|
||||||
{ 18, 18, 19, 6, 3,128, ZSTD_btopt }, /* level 15.*/
|
|
||||||
{ 18, 19, 19, 6, 3,128, ZSTD_btultra }, /* level 16.*/
|
|
||||||
{ 18, 19, 19, 8, 3,256, ZSTD_btultra }, /* level 17.*/
|
|
||||||
{ 18, 19, 19, 6, 3,128, ZSTD_btultra2}, /* level 18.*/
|
|
||||||
{ 18, 19, 19, 8, 3,256, ZSTD_btultra2}, /* level 19.*/
|
|
||||||
{ 18, 19, 19, 10, 3,512, ZSTD_btultra2}, /* level 20.*/
|
|
||||||
{ 18, 19, 19, 12, 3,512, ZSTD_btultra2}, /* level 21.*/
|
|
||||||
{ 18, 19, 19, 13, 3,999, ZSTD_btultra2}, /* level 22.*/
|
|
||||||
},
|
|
||||||
{ /* for srcSize <= 128 KB */
|
|
||||||
/* W, C, H, S, L, T, strat */
|
|
||||||
{ 17, 12, 12, 1, 5, 1, ZSTD_fast }, /* base for negative levels */
|
|
||||||
{ 17, 12, 13, 1, 6, 0, ZSTD_fast }, /* level 1 */
|
|
||||||
{ 17, 13, 15, 1, 5, 0, ZSTD_fast }, /* level 2 */
|
|
||||||
{ 17, 15, 16, 2, 5, 0, ZSTD_dfast }, /* level 3 */
|
|
||||||
{ 17, 17, 17, 2, 4, 0, ZSTD_dfast }, /* level 4 */
|
|
||||||
{ 17, 16, 17, 3, 4, 2, ZSTD_greedy }, /* level 5 */
|
|
||||||
{ 17, 17, 17, 3, 4, 4, ZSTD_lazy }, /* level 6 */
|
|
||||||
{ 17, 17, 17, 3, 4, 8, ZSTD_lazy2 }, /* level 7 */
|
|
||||||
{ 17, 17, 17, 4, 4, 8, ZSTD_lazy2 }, /* level 8 */
|
|
||||||
{ 17, 17, 17, 5, 4, 8, ZSTD_lazy2 }, /* level 9 */
|
|
||||||
{ 17, 17, 17, 6, 4, 8, ZSTD_lazy2 }, /* level 10 */
|
|
||||||
{ 17, 17, 17, 5, 4, 8, ZSTD_btlazy2 }, /* level 11 */
|
|
||||||
{ 17, 18, 17, 7, 4, 12, ZSTD_btlazy2 }, /* level 12 */
|
|
||||||
{ 17, 18, 17, 3, 4, 12, ZSTD_btopt }, /* level 13.*/
|
|
||||||
{ 17, 18, 17, 4, 3, 32, ZSTD_btopt }, /* level 14.*/
|
|
||||||
{ 17, 18, 17, 6, 3,256, ZSTD_btopt }, /* level 15.*/
|
|
||||||
{ 17, 18, 17, 6, 3,128, ZSTD_btultra }, /* level 16.*/
|
|
||||||
{ 17, 18, 17, 8, 3,256, ZSTD_btultra }, /* level 17.*/
|
|
||||||
{ 17, 18, 17, 10, 3,512, ZSTD_btultra }, /* level 18.*/
|
|
||||||
{ 17, 18, 17, 5, 3,256, ZSTD_btultra2}, /* level 19.*/
|
|
||||||
{ 17, 18, 17, 7, 3,512, ZSTD_btultra2}, /* level 20.*/
|
|
||||||
{ 17, 18, 17, 9, 3,512, ZSTD_btultra2}, /* level 21.*/
|
|
||||||
{ 17, 18, 17, 11, 3,999, ZSTD_btultra2}, /* level 22.*/
|
|
||||||
},
|
|
||||||
{ /* for srcSize <= 16 KB */
|
|
||||||
/* W, C, H, S, L, T, strat */
|
|
||||||
{ 14, 12, 13, 1, 5, 1, ZSTD_fast }, /* base for negative levels */
|
|
||||||
{ 14, 14, 15, 1, 5, 0, ZSTD_fast }, /* level 1 */
|
|
||||||
{ 14, 14, 15, 1, 4, 0, ZSTD_fast }, /* level 2 */
|
|
||||||
{ 14, 14, 15, 2, 4, 0, ZSTD_dfast }, /* level 3 */
|
|
||||||
{ 14, 14, 14, 4, 4, 2, ZSTD_greedy }, /* level 4 */
|
|
||||||
{ 14, 14, 14, 3, 4, 4, ZSTD_lazy }, /* level 5.*/
|
|
||||||
{ 14, 14, 14, 4, 4, 8, ZSTD_lazy2 }, /* level 6 */
|
|
||||||
{ 14, 14, 14, 6, 4, 8, ZSTD_lazy2 }, /* level 7 */
|
|
||||||
{ 14, 14, 14, 8, 4, 8, ZSTD_lazy2 }, /* level 8.*/
|
|
||||||
{ 14, 15, 14, 5, 4, 8, ZSTD_btlazy2 }, /* level 9.*/
|
|
||||||
{ 14, 15, 14, 9, 4, 8, ZSTD_btlazy2 }, /* level 10.*/
|
|
||||||
{ 14, 15, 14, 3, 4, 12, ZSTD_btopt }, /* level 11.*/
|
|
||||||
{ 14, 15, 14, 4, 3, 24, ZSTD_btopt }, /* level 12.*/
|
|
||||||
{ 14, 15, 14, 5, 3, 32, ZSTD_btultra }, /* level 13.*/
|
|
||||||
{ 14, 15, 15, 6, 3, 64, ZSTD_btultra }, /* level 14.*/
|
|
||||||
{ 14, 15, 15, 7, 3,256, ZSTD_btultra }, /* level 15.*/
|
|
||||||
{ 14, 15, 15, 5, 3, 48, ZSTD_btultra2}, /* level 16.*/
|
|
||||||
{ 14, 15, 15, 6, 3,128, ZSTD_btultra2}, /* level 17.*/
|
|
||||||
{ 14, 15, 15, 7, 3,256, ZSTD_btultra2}, /* level 18.*/
|
|
||||||
{ 14, 15, 15, 8, 3,256, ZSTD_btultra2}, /* level 19.*/
|
|
||||||
{ 14, 15, 15, 8, 3,512, ZSTD_btultra2}, /* level 20.*/
|
|
||||||
{ 14, 15, 15, 9, 3,512, ZSTD_btultra2}, /* level 21.*/
|
|
||||||
{ 14, 15, 15, 10, 3,999, ZSTD_btultra2}, /* level 22.*/
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*-*************************************
|
/*-*************************************
|
||||||
* Hashes
|
* Hashes
|
||||||
|
@ -41,7 +41,6 @@
|
|||||||
# include "dibio.h" /* ZDICT_cover_params_t, DiB_trainFromFiles() */
|
# include "dibio.h" /* ZDICT_cover_params_t, DiB_trainFromFiles() */
|
||||||
#endif
|
#endif
|
||||||
#include "zstd.h" /* ZSTD_VERSION_STRING, ZSTD_minCLevel, ZSTD_maxCLevel */
|
#include "zstd.h" /* ZSTD_VERSION_STRING, ZSTD_minCLevel, ZSTD_maxCLevel */
|
||||||
#include "zstd_compress_internal.h" /* ZSTD_compressionParameters */
|
|
||||||
|
|
||||||
|
|
||||||
/*-************************************
|
/*-************************************
|
||||||
@ -545,6 +544,11 @@ static int init_cLevel(void) {
|
|||||||
return ZSTDCLI_CLEVEL_DEFAULT;
|
return ZSTDCLI_CLEVEL_DEFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define ZSTD_NB_STRATEGIES 9
|
||||||
|
static const char* ZSTD_strategyMap[ZSTD_NB_STRATEGIES + 1] = { "", "ZSTD_fast",
|
||||||
|
"ZSTD_dfast", "ZSTD_greedy", "ZSTD_lazy", "ZSTD_lazy2", "ZSTD_btlazy2",
|
||||||
|
"ZSTD_btopt", "ZSTD_btultra", "ZSTD_btultra2"};
|
||||||
|
|
||||||
typedef enum { zom_compress, zom_decompress, zom_test, zom_bench, zom_train, zom_list } zstd_operation_mode;
|
typedef enum { zom_compress, zom_decompress, zom_test, zom_bench, zom_train, zom_list } zstd_operation_mode;
|
||||||
|
|
||||||
#define CLEAN_RETURN(i) { operationResult = (i); goto _end; }
|
#define CLEAN_RETURN(i) { operationResult = (i); goto _end; }
|
||||||
@ -1178,10 +1182,6 @@ int main(int const argCount, const char* argv[])
|
|||||||
DISPLAY("error : can't use --show-default-cparams in decomrpession mode \n");
|
DISPLAY("error : can't use --show-default-cparams in decomrpession mode \n");
|
||||||
CLEAN_RETURN(1);
|
CLEAN_RETURN(1);
|
||||||
}
|
}
|
||||||
if (!UTIL_isRegularFile(filenames->fileNames[0])) {
|
|
||||||
DISPLAY("error : can't use --show-default-cparams with non-regular files \n");
|
|
||||||
CLEAN_RETURN(1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dictFileName != NULL && patchFromDictFileName != NULL) {
|
if (dictFileName != NULL && patchFromDictFileName != NULL) {
|
||||||
@ -1229,14 +1229,12 @@ int main(int const argCount, const char* argv[])
|
|||||||
|
|
||||||
if (showDefaultCParams) {
|
if (showDefaultCParams) {
|
||||||
size_t fileNb;
|
size_t fileNb;
|
||||||
static const char* ZSTD_strategyMap[9 + 1] = { "", "ZSTD_fast",
|
|
||||||
"ZSTD_dfast", "ZSTD_greedy", "ZSTD_lazy", "ZSTD_lazy2", "ZSTD_btlazy2",
|
|
||||||
"ZSTD_btopt", "ZSTD_btultra", "ZSTD_btultra2"};
|
|
||||||
for (fileNb = 0; fileNb < (size_t)filenames->tableSize; fileNb++) {
|
for (fileNb = 0; fileNb < (size_t)filenames->tableSize; fileNb++) {
|
||||||
const size_t fileSize = (size_t)UTIL_getFileSize(filenames->fileNames[fileNb]);
|
const size_t fileSize = UTIL_isRegularFile(filenames->fileNames[fileNb]) ? (size_t)UTIL_getFileSize(filenames->fileNames[fileNb]) : 0;
|
||||||
const size_t cParamsIdx = (fileSize < 16 KB) ? 3 : ( (fileSize < 128 KB) ? 2 : ( (fileSize < 256 KB) ? 1 : 0) );
|
const size_t dictSize = dictFileName != NULL ? (size_t)UTIL_getFileSize(dictFileName) : 0;
|
||||||
ZSTD_compressionParameters cParams = ZSTD_defaultCParameters[cParamsIdx][cLevel];
|
const ZSTD_compressionParameters cParams = ZSTD_getCParams(cLevel, (unsigned long long)fileSize, dictSize);
|
||||||
DISPLAY("%s (%u bytes)\n", filenames->fileNames[fileNb], (unsigned)fileSize);
|
if (fileSize) DISPLAY("%s (%u bytes)\n", filenames->fileNames[fileNb], (unsigned)fileSize);
|
||||||
|
else DISPLAY("%s (src size unknown)\n", filenames->fileNames[fileNb]);
|
||||||
DISPLAY(" - windowLog : %u\n", (unsigned)cParams.windowLog);
|
DISPLAY(" - windowLog : %u\n", (unsigned)cParams.windowLog);
|
||||||
DISPLAY(" - chainLog : %u\n", (unsigned)cParams.chainLog);
|
DISPLAY(" - chainLog : %u\n", (unsigned)cParams.chainLog);
|
||||||
DISPLAY(" - searchLog : %u\n", (unsigned)cParams.searchLog);
|
DISPLAY(" - searchLog : %u\n", (unsigned)cParams.searchLog);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user