v1.0.0-rc.36
This commit is contained in:
@@ -560,12 +560,13 @@ void RegisterHDF5Filter() {
|
||||
}
|
||||
|
||||
void HDF5Dcpl::SetCompression(CompressionAlgorithm c, size_t elem_size, size_t block_size) {
|
||||
unsigned int params[2];
|
||||
constexpr uint32_t cd_nelmts = 2;
|
||||
unsigned int params[cd_nelmts];
|
||||
switch (c) {
|
||||
case CompressionAlgorithm::BSHUF_LZ4:
|
||||
params[0] = block_size;
|
||||
params[1] = BSHUF_H5_COMPRESS_LZ4;
|
||||
if (H5Pset_filter(id, (H5Z_filter_t)BSHUF_H5FILTER, H5Z_FLAG_MANDATORY, elem_size, params) < 0)
|
||||
if (H5Pset_filter(id, (H5Z_filter_t)BSHUF_H5FILTER, H5Z_FLAG_MANDATORY, cd_nelmts, params) < 0)
|
||||
throw JFJochException(JFJochExceptionCategory::HDF5, "Cannot set bshuf/lz4 filter");
|
||||
break;
|
||||
case CompressionAlgorithm::BSHUF_ZSTD:
|
||||
@@ -573,7 +574,7 @@ void HDF5Dcpl::SetCompression(CompressionAlgorithm c, size_t elem_size, size_t b
|
||||
#ifdef USE_ZSTD
|
||||
params[0] = block_size;
|
||||
params[1] = BSHUF_H5_COMPRESS_ZSTD;
|
||||
if (H5Pset_filter(id, (H5Z_filter_t)BSHUF_H5FILTER, H5Z_FLAG_MANDATORY, elem_size, params) < 0)
|
||||
if (H5Pset_filter(id, (H5Z_filter_t)BSHUF_H5FILTER, H5Z_FLAG_MANDATORY, cd_nelmts, params) < 0)
|
||||
throw JFJochException(JFJochExceptionCategory::HDF5, "Cannot set bshuf/zstd filter");
|
||||
break;
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user