Skip to content

Commit 6a6b1b1

Browse files
committed
Restore compressionLevel in the dict builder
1 parent cc5ca81 commit 6a6b1b1

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

src/main/native/dictBuilder/zdict.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,15 +1105,18 @@ size_t ZDICT_trainFromBuffer_legacy(void* dictBuffer, size_t dictBufferCapacity,
11051105

11061106

11071107
size_t ZDICT_trainFromBuffer(void* dictBuffer, size_t dictBufferCapacity,
1108-
const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples)
1108+
const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples, int compressionLevel)
11091109
{
11101110
ZDICT_fastCover_params_t params;
11111111
DEBUGLOG(3, "ZDICT_trainFromBuffer");
11121112
memset(&params, 0, sizeof(params));
11131113
params.d = 8;
11141114
params.steps = 4;
1115-
/* Use default level since no compression level information is available */
1115+
/* Use default level if no compression level information is available */
11161116
params.zParams.compressionLevel = ZSTD_CLEVEL_DEFAULT;
1117+
if (compressionLevel != 0) {
1118+
params.zParams.compressionLevel = compressionLevel;
1119+
}
11171120
#if defined(DEBUGLEVEL) && (DEBUGLEVEL>=1)
11181121
params.zParams.notificationLevel = DEBUGLEVEL;
11191122
#endif

src/main/native/jni_zdict.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ JNIEXPORT jlong Java_com_github_luben_zstd_Zstd_trainFromBuffer0
4848
params.zParams.compressionLevel = compressionLevel;
4949
size = ZDICT_trainFromBuffer_legacy(dict_buff, dict_capacity, samples_buffer, samples_sizes, num_samples, params);
5050
} else {
51-
size = ZDICT_trainFromBuffer(dict_buff, dict_capacity, samples_buffer, samples_sizes, num_samples);
51+
size = ZDICT_trainFromBuffer(dict_buff, dict_capacity, samples_buffer, samples_sizes, num_samples, compressionLevel);
5252
}
5353
(*env)->ReleasePrimitiveArrayCritical(env, dictBuffer, dict_buff, 0);
5454
free(samples_buffer);
@@ -85,7 +85,7 @@ JNIEXPORT jlong Java_com_github_luben_zstd_Zstd_trainFromBufferDirect0
8585
params.zParams.compressionLevel = compressionLevel;
8686
size = ZDICT_trainFromBuffer_legacy(dict_buff, dict_capacity, samples_buffer, samples_sizes, num_samples, params);
8787
} else {
88-
size = ZDICT_trainFromBuffer(dict_buff, dict_capacity, samples_buffer, samples_sizes, num_samples);
88+
size = ZDICT_trainFromBuffer(dict_buff, dict_capacity, samples_buffer, samples_sizes, num_samples, compressionLevel);
8989
}
9090
E2: free(samples_sizes);
9191
E1: return size;

src/main/native/zdict.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ extern "C" {
209209
*/
210210
ZDICTLIB_API size_t ZDICT_trainFromBuffer(void* dictBuffer, size_t dictBufferCapacity,
211211
const void* samplesBuffer,
212-
const size_t* samplesSizes, unsigned nbSamples);
212+
const size_t* samplesSizes, unsigned nbSamples, int compressionLevel);
213213

214214
typedef struct {
215215
int compressionLevel; /**< optimize for a specific zstd compression level; 0 means default */

0 commit comments

Comments
 (0)