summaryrefslogtreecommitdiffstats
path: root/src/H5Zprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-10-24 00:16:49 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-10-24 00:16:49 (GMT)
commit5032b2e7df430fffd5941508cfc6276474f96718 (patch)
treec130eb972eaeba3b981e324a682ca4f2844f4cde /src/H5Zprivate.h
parent45ac4641615d1b0e92c903b0f3fafd154aa1ff31 (diff)
downloadhdf5-5032b2e7df430fffd5941508cfc6276474f96718.zip
hdf5-5032b2e7df430fffd5941508cfc6276474f96718.tar.gz
hdf5-5032b2e7df430fffd5941508cfc6276474f96718.tar.bz2
[svn-r12806] Description:
Reduce memory usage for common cases of I/O pipeline filter memory usage. Also, clean up some more code... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
Diffstat (limited to 'src/H5Zprivate.h')
-rw-r--r--src/H5Zprivate.h40
1 files changed, 33 insertions, 7 deletions
diff --git a/src/H5Zprivate.h b/src/H5Zprivate.h
index e13876a..822e95d 100644
--- a/src/H5Zprivate.h
+++ b/src/H5Zprivate.h
@@ -25,23 +25,49 @@
/* Private headers needed by this file */
#include "H5Tprivate.h" /* Datatypes */
+/**************************/
+/* Library Private Macros */
+/**************************/
+
+/* Special parameters for szip compression */
+/* [These are aliases for the similar definitions in szlib.h, which we can't
+ * include directly due to the duplication of various symbols with the zlib.h
+ * header file] */
+#define H5_SZIP_LSB_OPTION_MASK 8
+#define H5_SZIP_MSB_OPTION_MASK 16
+#define H5_SZIP_RAW_OPTION_MASK 128
+
+/* Common # of 'client data values' for filters */
+/* (avoids dynamic memory allocation in most cases) */
+#define H5Z_COMMON_CD_VALUES 4
+
+/* Common size of filter name */
+/* (avoids dynamic memory allocation in most cases) */
+#define H5Z_COMMON_NAME_LEN 12
+
+/****************************/
+/* Library Private Typedefs */
+/****************************/
+
/* Structure to store information about each filter's parameters */
typedef struct {
H5Z_filter_t id; /*filter identification number */
unsigned flags; /*defn and invocation flags */
+ char _name[H5Z_COMMON_NAME_LEN]; /*internal filter name */
char *name; /*optional filter name */
size_t cd_nelmts; /*number of elements in cd_values[] */
+ unsigned _cd_values[H5Z_COMMON_CD_VALUES]; /*internal client data values */
unsigned *cd_values; /*client data values */
} H5Z_filter_info_t;
-/* Special parameters for szip compression */
-/* [These are aliases for the similar definitions in szlib.h, which we can't
- * include directly due to the duplication of various symbols with the zlib.h
- * header file] */
-#define H5_SZIP_LSB_OPTION_MASK 8
-#define H5_SZIP_MSB_OPTION_MASK 16
-#define H5_SZIP_RAW_OPTION_MASK 128
+/*****************************/
+/* Library-private Variables */
+/*****************************/
+
+/***************************************/
+/* Library-private Function Prototypes */
+/***************************************/
struct H5O_pline_t; /*forward decl*/
/* Internal API routines */