summaryrefslogtreecommitdiffstats
path: root/tools/h5repack
diff options
context:
space:
mode:
Diffstat (limited to 'tools/h5repack')
-rw-r--r--tools/h5repack/h5repack.h82
-rw-r--r--tools/h5repack/h5repack_copy.c2
-rw-r--r--tools/h5repack/h5repack_main.c22
-rw-r--r--tools/h5repack/h5repack_parse.c8
-rw-r--r--tools/h5repack/testh5repack.h97
-rw-r--r--tools/h5repack/testh5repack_attr.c1
-rw-r--r--tools/h5repack/testh5repack_detect_szip.c1
-rw-r--r--tools/h5repack/testh5repack_dset.c1
-rw-r--r--tools/h5repack/testh5repack_main.c1
-rw-r--r--tools/h5repack/testh5repack_make.c3
-rw-r--r--tools/h5repack/testh5repack_util.c1
11 files changed, 124 insertions, 95 deletions
diff --git a/tools/h5repack/h5repack.h b/tools/h5repack/h5repack.h
index 1554039..3647d43 100644
--- a/tools/h5repack/h5repack.h
+++ b/tools/h5repack/h5repack.h
@@ -16,7 +16,6 @@
#ifndef H5REPACK_H__
#define H5REPACK_H__
-#include <string.h>
#include "hdf5.h"
#include "h5trav.h"
#include "h5diff.h"
@@ -44,11 +43,11 @@ typedef struct {
the type of filter and additional parameter
type can be one of the filters
H5Z_FILTER_NONE 0, uncompress if compressed
- H5Z_FILTER_DEFLATE 1 , deflation like gzip
+ H5Z_FILTER_DEFLATE 1 , deflation like gzip
H5Z_FILTER_SHUFFLE 2 , shuffle the data
H5Z_FILTER_FLETCHER32 3 , letcher32 checksum of EDC
H5Z_FILTER_SZIP 4 , szip compression
- H5Z_FILTER_NBIT 5 , nbit compression
+ H5Z_FILTER_NBIT 5 , nbit compression
H5Z_FILTER_SCALEOFFSET 6 , scaleoffset compression
*/
@@ -244,82 +243,7 @@ obj_list_t* parse_layout(const char *str,
const char* get_sfilter (H5Z_filter_t filtn);
int parse_number(char *str);
-/*-------------------------------------------------------------------------
- * tests
- *-------------------------------------------------------------------------
- */
-
-#define FNAME0 "test0.h5"
-#define FNAME0OUT "test0out.h5"
-#define FNAME1 "test1.h5"
-#define FNAME1OUT "test1out.h5"
-#define FNAME2 "test2.h5"
-#define FNAME2OUT "test2out.h5"
-#define FNAME3 "test3.h5"
-#define FNAME3OUT "test3out.h5"
-#define FNAME4 "test4.h5"
-#define FNAME4OUT "test4out.h5"
-#define FNAME5 "test5.h5"
-#define FNAME5OUT "test5out.h5"
-#define FNAME6 "test6.h5"
-#define FNAME7 "test_szip.h5"
-#define FNAME8 "test_deflate.h5"
-#define FNAME9 "test_shuffle.h5"
-#define FNAME10 "test_fletcher32.h5"
-#define FNAME11 "test_all.h5"
-#define FNAME7OUT "test_szipout.h5"
-#define FNAME8OUT "test_deflateout.h5"
-#define FNAME9OUT "test_shuffleout.h5"
-#define FNAME10OUT "test_fletcher32out.h5"
-#define FNAME11OUT "test_allout.h5"
-#define FNAME12 "test_nbit.h5"
-#define FNAME12OUT "test_nbitout.h5"
-#define FNAME13 "test_scaleoffset.h5"
-#define FNAME13OUT "test_scaleoffsetout.h5"
-
-int make_testfiles(void);
-
-int write_dset( hid_t loc_id,
- int rank,
- hsize_t *dims,
- const char *dset_name,
- hid_t type_id,
- void *buf );
-int write_attr(hid_t loc_id,
- int rank,
- hsize_t *dims,
- const char *attr_name,
- hid_t type_id,
- void *buf);
-void write_attr_in(hid_t loc_id,
- const char* dset_name, /* for saving reference to dataset*/
- hid_t fid, /* for reference create */
- int make_diffs /* flag to modify data buffers */);
-void write_dset_in(hid_t loc_id,
- const char* dset_name, /* for saving reference to dataset*/
- hid_t file_id,
- int make_diffs /* flag to modify data buffers */);
-
-
-
-/*-------------------------------------------------------------------------
- * tests utils
- *-------------------------------------------------------------------------
- */
-int make_dset(hid_t loc_id,
- const char *name,
- hid_t sid,
- hid_t dcpl,
- void *buf);
-
-int make_attr(hid_t loc_id,
- int rank,
- hsize_t *dims,
- const char *attr_name,
- hid_t type_id,
- void *buf);
-
-
#endif /* H5REPACK_H__ */
+
diff --git a/tools/h5repack/h5repack_copy.c b/tools/h5repack/h5repack_copy.c
index fee7440..e5d962a 100644
--- a/tools/h5repack/h5repack_copy.c
+++ b/tools/h5repack/h5repack_copy.c
@@ -527,7 +527,7 @@ int do_copy_objects(hid_t fidin,
default:
if (options->verbose)
printf(" %-10s %s\n","User defined object",travt->objs[i].name);
- break;
+ goto error;
}
}
diff --git a/tools/h5repack/h5repack_main.c b/tools/h5repack/h5repack_main.c
index 96eb787..efedd95 100644
--- a/tools/h5repack/h5repack_main.c
+++ b/tools/h5repack/h5repack_main.c
@@ -137,11 +137,11 @@ void usage(void)
printf("-o output Output HDF5 File\n");
printf("[-h] Print usage message\n");
printf("[-v] Verbose mode. Print more output (list of objects,\n");
- printf(" filters, warnings)\n");
+ printf(" filters, warnings)\n");
printf("[-f 'filter'] Filter type: 'filter' is a string with the format\n");
- printf("\n");
+ printf("\n");
printf(" <list of objects> : <name of filter> = <filter parameters>\n");
- printf("\n");
+ printf("\n");
printf(" <list of objects> is a comma separated list of object names\n");
printf(" meaning apply compression only to those objects.\n");
printf(" if no object names are specified, the filter is applied to all objects\n");
@@ -151,7 +151,7 @@ void usage(void)
printf(" SHUF, to apply the HDF5 shuffle filter\n");
printf(" FLET, to apply the HDF5 checksum filter\n");
printf(" NBIT, to apply the HDF5 NBIT filter (NBIT compression)\n");
- printf(" SOFF, to apply the HDF5 Scale/Offset filter\n");
+ printf(" SOFF, to apply the HDF5 Scale/Offset filter\n");
printf(" NONE, to remove the filter\n");
printf(" <filter parameters> is optional compression info\n");
printf(" SHUF (no parameter)\n");
@@ -159,12 +159,12 @@ void usage(void)
printf(" NBIT (no parameter)\n");
printf(" GZIP=<deflation level> from 1-9\n");
printf(" SZIP=<pixels per block,coding>\n");
- printf(" (pixels per block is a even number in 2-32 and coding method\n");
- printf(" is 'EC' or 'NN')\n");
- printf(" SOFF=<scale_factor,scale_type>\n");
- printf(" (scale_factor is an integer and scale_type is either 'IN'\n");
- printf(" for integer type, or 'DS', for floating point type\n");
- printf(" using the D-scaling method)\n");
+ printf(" (pixels per block is a even number in 2-32 and coding method\n");
+ printf(" is 'EC' or 'NN')\n");
+ printf(" SOFF=<scale_factor,scale_type>\n");
+ printf(" (scale_factor is an integer and scale_type is either 'IN'\n");
+ printf(" for integer type, or 'DS', for floating point type\n");
+ printf(" using the D-scaling method)\n");
printf("[-l 'layout'] Layout type. 'layout' is a string with the format\n");
printf("\n");
printf(" <list of objects> : <layout type>\n");
@@ -182,7 +182,7 @@ void usage(void)
printf("\n");
printf("-e file File with the -f and -l options (only filter and layout flags)\n");
printf("-m size Do not apply the filter to objects which size in bytes\n");
- printf(" is smaller than number. If no size is specified a minimum of\n");
+ printf(" is smaller than number. If no size is specified a minimum of\n");
printf(" 1024 bytes is assumed.\n");
printf("\n");
printf("Examples of use:\n");
diff --git a/tools/h5repack/h5repack_parse.c b/tools/h5repack/h5repack_parse.c
index 1c67216..9760fa2 100644
--- a/tools/h5repack/h5repack_parse.c
+++ b/tools/h5repack/h5repack_parse.c
@@ -137,9 +137,9 @@ obj_list_t* parse_filter(const char *str,
/*-------------------------------------------------------------------------
* H5Z_FILTER_SZIP
- * szip has the format SZIP=<pixels per block,coding>
+ * szip has the format SZIP=<pixels per block,coding>
* pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN'
- * example SZIP=8,NN
+ * example SZIP=8,NN
*-------------------------------------------------------------------------
*/
if (strcmp(scomp,"SZIP")==0)
@@ -171,9 +171,9 @@ obj_list_t* parse_filter(const char *str,
i=len-1; /* end */
(*n_objs)--; /* we counted an extra ',' */
if (strcmp(smask,"NN")==0)
- filt->cd_values[j++]=H5_SZIP_NN_OPTION_MASK;
+ filt->cd_values[j++]=H5_SZIP_NN_OPTION_MASK;
else if (strcmp(smask,"EC")==0)
- filt->cd_values[j++]=H5_SZIP_EC_OPTION_MASK;
+ filt->cd_values[j++]=H5_SZIP_EC_OPTION_MASK;
else
{
printf("Input Error: szip mask must be 'NN' or 'EC' \n");
diff --git a/tools/h5repack/testh5repack.h b/tools/h5repack/testh5repack.h
new file mode 100644
index 0000000..c367009
--- /dev/null
+++ b/tools/h5repack/testh5repack.h
@@ -0,0 +1,97 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by the Board of Trustees of the University of Illinois. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the files COPYING and Copyright.html. COPYING can be found at the root *
+ * of the source code distribution tree; Copyright.html can be found at the *
+ * root level of an installed copy of the electronic HDF5 document set and *
+ * is linked from the top-level documents page. It can also be found at *
+ * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
+ * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+
+#ifndef TESTH5REPACK_H__
+#define TESTH5REPACK_H__
+
+/*-------------------------------------------------------------------------
+ * tests
+ *-------------------------------------------------------------------------
+ */
+
+#define FNAME0 "test0.h5"
+#define FNAME0OUT "test0out.h5"
+#define FNAME1 "test1.h5"
+#define FNAME1DST "test1_dst.h5"
+#define FNAME1OUT "test1out.h5"
+#define FNAME2 "test2.h5"
+#define FNAME2OUT "test2out.h5"
+#define FNAME3 "test3.h5"
+#define FNAME3OUT "test3out.h5"
+#define FNAME4 "test4.h5"
+#define FNAME4OUT "test4out.h5"
+#define FNAME5 "test5.h5"
+#define FNAME5OUT "test5out.h5"
+#define FNAME6 "test6.h5"
+#define FNAME7 "test_szip.h5"
+#define FNAME8 "test_deflate.h5"
+#define FNAME9 "test_shuffle.h5"
+#define FNAME10 "test_fletcher32.h5"
+#define FNAME11 "test_all.h5"
+#define FNAME7OUT "test_szipout.h5"
+#define FNAME8OUT "test_deflateout.h5"
+#define FNAME9OUT "test_shuffleout.h5"
+#define FNAME10OUT "test_fletcher32out.h5"
+#define FNAME11OUT "test_allout.h5"
+#define FNAME12 "test_nbit.h5"
+#define FNAME12OUT "test_nbitout.h5"
+#define FNAME13 "test_scaleoffset.h5"
+#define FNAME13OUT "test_scaleoffsetout.h5"
+
+int make_testfiles(void);
+
+int write_dset( hid_t loc_id,
+ int rank,
+ hsize_t *dims,
+ const char *dset_name,
+ hid_t type_id,
+ void *buf );
+int write_attr(hid_t loc_id,
+ int rank,
+ hsize_t *dims,
+ const char *attr_name,
+ hid_t type_id,
+ void *buf);
+void write_attr_in(hid_t loc_id,
+ const char* dset_name, /* for saving reference to dataset*/
+ hid_t fid, /* for reference create */
+ int make_diffs /* flag to modify data buffers */);
+void write_dset_in(hid_t loc_id,
+ const char* dset_name, /* for saving reference to dataset*/
+ hid_t file_id,
+ int make_diffs /* flag to modify data buffers */);
+
+
+
+/*-------------------------------------------------------------------------
+ * tests utils
+ *-------------------------------------------------------------------------
+ */
+int make_dset(hid_t loc_id,
+ const char *name,
+ hid_t sid,
+ hid_t dcpl,
+ void *buf);
+
+int make_attr(hid_t loc_id,
+ int rank,
+ hsize_t *dims,
+ const char *attr_name,
+ hid_t type_id,
+ void *buf);
+
+
+#endif /* TESTH5REPACK_H__ */
+
diff --git a/tools/h5repack/testh5repack_attr.c b/tools/h5repack/testh5repack_attr.c
index f18bbc2..7635cf2 100644
--- a/tools/h5repack/testh5repack_attr.c
+++ b/tools/h5repack/testh5repack_attr.c
@@ -15,6 +15,7 @@
#include "hdf5.h"
#include "h5test.h"
#include "h5repack.h"
+#include "testh5repack.h"
/*-------------------------------------------------------------------------
* Function: write_attr_in
diff --git a/tools/h5repack/testh5repack_detect_szip.c b/tools/h5repack/testh5repack_detect_szip.c
index 16962af..095910e 100644
--- a/tools/h5repack/testh5repack_detect_szip.c
+++ b/tools/h5repack/testh5repack_detect_szip.c
@@ -16,6 +16,7 @@
#include "hdf5.h"
#include "h5test.h"
#include "h5repack.h"
+#include "testh5repack.h"
/*-------------------------------------------------------------------------
diff --git a/tools/h5repack/testh5repack_dset.c b/tools/h5repack/testh5repack_dset.c
index 862257a..c345028 100644
--- a/tools/h5repack/testh5repack_dset.c
+++ b/tools/h5repack/testh5repack_dset.c
@@ -15,6 +15,7 @@
#include "hdf5.h"
#include "h5test.h"
#include "h5repack.h"
+#include "testh5repack.h"
static void make_dset_reg_ref(hid_t loc_id);
diff --git a/tools/h5repack/testh5repack_main.c b/tools/h5repack/testh5repack_main.c
index ab6c09e..42beb76 100644
--- a/tools/h5repack/testh5repack_main.c
+++ b/tools/h5repack/testh5repack_main.c
@@ -15,6 +15,7 @@
#include "hdf5.h"
#include "h5test.h"
#include "h5repack.h"
+#include "testh5repack.h"
#include "h5diff.h"
#if 0
diff --git a/tools/h5repack/testh5repack_make.c b/tools/h5repack/testh5repack_make.c
index 247d606..43b68b1 100644
--- a/tools/h5repack/testh5repack_make.c
+++ b/tools/h5repack/testh5repack_make.c
@@ -15,6 +15,7 @@
#include "hdf5.h"
#include "h5test.h"
#include "h5repack.h"
+#include "testh5repack.h"
#define DIM1 40
#define DIM2 20
@@ -851,8 +852,10 @@ int make_all(hid_t loc_id)
{
hid_t dcpl; /* dataset creation property list */
hid_t sid; /* dataspace ID */
+#if defined (H5_HAVE_FILTER_NBIT)
hid_t dtid;
hid_t dsid;
+#endif /* H5_HAVE_FILTER_NBIT */
#if defined (H5_HAVE_FILTER_SZIP)
unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK;
unsigned szip_pixels_per_block=8;
diff --git a/tools/h5repack/testh5repack_util.c b/tools/h5repack/testh5repack_util.c
index cad52d3..63b8b1d 100644
--- a/tools/h5repack/testh5repack_util.c
+++ b/tools/h5repack/testh5repack_util.c
@@ -14,6 +14,7 @@
#include "hdf5.h"
#include "h5repack.h"
+#include "testh5repack.h"
/*-------------------------------------------------------------------------
* Function: make_dset