diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2006-10-24 00:16:49 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2006-10-24 00:16:49 (GMT) |
commit | 5032b2e7df430fffd5941508cfc6276474f96718 (patch) | |
tree | c130eb972eaeba3b981e324a682ca4f2844f4cde /src/H5Zprivate.h | |
parent | 45ac4641615d1b0e92c903b0f3fafd154aa1ff31 (diff) | |
download | hdf5-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.h | 40 |
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 */ |