summaryrefslogtreecommitdiffstats
path: root/tools/h5repack/h5repack_filters.c
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2013-09-26 22:10:54 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2013-09-26 22:10:54 (GMT)
commitdeddc7f9558d76a4cebc417af8d426877d5aee7d (patch)
treee2e43dea685c798debbbe6ae14f7297738c0bfbd /tools/h5repack/h5repack_filters.c
parente2dfb53df72ca884cb9225e738aef77135f92e68 (diff)
downloadhdf5-deddc7f9558d76a4cebc417af8d426877d5aee7d.zip
hdf5-deddc7f9558d76a4cebc417af8d426877d5aee7d.tar.gz
hdf5-deddc7f9558d76a4cebc417af8d426877d5aee7d.tar.bz2
[svn-r24205] Merge HDFFV-8513/8522 from trunk (via cmake branch), h5repack UD plugins.
Also warning session fixes. Tested: CMake local linux
Diffstat (limited to 'tools/h5repack/h5repack_filters.c')
-rw-r--r--tools/h5repack/h5repack_filters.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/tools/h5repack/h5repack_filters.c b/tools/h5repack/h5repack_filters.c
index 7edeed2..56e08ef 100644
--- a/tools/h5repack/h5repack_filters.c
+++ b/tools/h5repack/h5repack_filters.c
@@ -19,12 +19,12 @@
/* number of members in an array */
#ifndef NELMTS
-# define NELMTS(X) (sizeof(X)/sizeof(X[0]))
+# define NELMTS(X) (sizeof(X)/sizeof(X[0]))
#endif
/* minimum of two values */
#undef MIN
-#define MIN(a,b) (((a)<(b)) ? (a) : (b))
+#define MIN(a,b) (((a)<(b)) ? (a) : (b))
/*-------------------------------------------------------------------------
* Function: aux_find_obj
@@ -345,8 +345,13 @@ int apply_filters(const char* name, /* object name from traverse list */
{
switch (obj.filter[i].filtn)
{
- default:
- break;
+
+ /*-------------------------------------------------------------------------
+ * H5Z_FILTER_NONE 0 , uncompress if compressed
+ *-------------------------------------------------------------------------
+ */
+ case H5Z_FILTER_NONE:
+ break;
/*-------------------------------------------------------------------------
* H5Z_FILTER_DEFLATE 1 , deflation like gzip
@@ -436,6 +441,14 @@ int apply_filters(const char* name, /* object name from traverse list */
return -1;
}
break;
+ default:
+ {
+ if (H5Pset_filter (dcpl_id, obj.filter[i].filtn, H5Z_FLAG_MANDATORY, obj.filter[i].cd_nelmts, obj.filter[i].cd_values)<0)
+ return -1;
+ if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
+ return -1;
+ }
+ break;
} /* switch */
}/*i*/