summaryrefslogtreecommitdiffstats
path: root/tools/h5repack/h5repack_filters.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/h5repack/h5repack_filters.c')
-rw-r--r--tools/h5repack/h5repack_filters.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/tools/h5repack/h5repack_filters.c b/tools/h5repack/h5repack_filters.c
index 00d7c66..6b08a2f 100644
--- a/tools/h5repack/h5repack_filters.c
+++ b/tools/h5repack/h5repack_filters.c
@@ -445,14 +445,22 @@ int apply_filters(const char* name, /* object name from traverse list */
if (H5Pset_layout(dcpl_id, obj.layout)<0)
return -1;
- if (H5D_CHUNKED==obj.layout) { /* set up chunk */
+ if (H5D_CHUNKED == obj.layout)
+ {
if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
return -1;
}
- else if (H5D_COMPACT==obj.layout) {
+ else if (H5D_COMPACT == obj.layout)
+ {
if (H5Pset_alloc_time(dcpl_id, H5D_ALLOC_TIME_EARLY)<0)
return -1;
}
+ /* remove filters for the H5D_CONTIGUOUS case */
+ else if (H5D_CONTIGUOUS == obj.layout)
+ {
+ if (H5Premove_filter(dcpl_id,H5Z_FILTER_ALL)<0)
+ return -1;
+ }
}