summaryrefslogtreecommitdiffstats
path: root/doc/html/RM_H5Z.html
blob: 5a06a8969095937bac87adedd5409ad05735cb85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<html>
<head><title>
HDF5/H5Z API Specification
</title></head>

<body bgcolor="#FFFFFF">


<hr>
<center>
<table border=0 width=98%>
<tr><td valign=top align=left>
<a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
<a href="H5.user.html">HDF5 User Guide</a>&nbsp;<br>
<a href="index.html">Other HDF5 documents and links</a>&nbsp;<br>
<!--
<a href="Glossary.html">Glossary</a><br>
-->
</td>
<td valign=top align=right>
And in this document, the 
<a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;&nbsp;
<br>
<a href="RM_H5.html">H5</a>&nbsp;&nbsp;
<a href="RM_H5A.html">H5A</a>&nbsp;&nbsp;
<a href="RM_H5D.html">H5D</a>&nbsp;&nbsp;
<a href="RM_H5E.html">H5E</a>&nbsp;&nbsp;
<a href="RM_H5F.html">H5F</a>&nbsp;&nbsp;
<a href="RM_H5G.html">H5G</a>&nbsp;&nbsp;
<a href="RM_H5I.html">H5I</a>&nbsp;&nbsp;
<br>
<a href="RM_H5P.html">H5P</a>&nbsp;&nbsp;
<a href="RM_H5R.html">H5R</a>&nbsp;&nbsp;
<a href="RM_H5RA.html">H5RA</a>&nbsp;&nbsp;
<a href="RM_H5S.html">H5S</a>&nbsp;&nbsp;
<a href="RM_H5T.html">H5T</a>&nbsp;&nbsp;
H5Z&nbsp;&nbsp;
<a href="Tools.html">Tools</a>&nbsp;&nbsp;
</td></tr>
</table>
</center>
<hr>


<center>
<h1>H5Z: Compression Interface</h1>
</center>

<h2>Compression API Functions</h2>

This function enable the user to configure a new compression
method for the local environment.

<table border=0>
<tr><td valign=top>
<ul>
    <li><a href="#Compression-Register">H5Zregister</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
    &nbsp;
</ul>
</td></tr>
</table>

<p>
HDF5 supports compression of raw data by compression methods 
built into the library or defined by an application. 
A compression method is associated with a dataset when the dataset is 
created and is applied independently to each storage chunk of the dataset. 
The dataset must use the <code>H5D_CHUNKED</code> storage layout. 
<p>
The HDF5 library does not support compression for contiguous datasets 
because of the difficulty of implementing random access for partial I/O. 
Compact dataset compression is not supported because it would not produce 
significant results.
<p>
See <a href="Datasets.html"><cite>The Dataset Interface (H5D)</cite></a> 
in the <cite>HDF5 User's Guide</cite> for further information regarding 
data compression.

<hr>
<dl>
<dt><strong>Name:</strong> <a name="Compression-Register">H5Zregister</a>
<dt><strong>Signature:</strong>
    <dd><em>herr_t</em> <code>H5Zregister</code>(<em>H5Z_method_t</em> <code>method</code>,
        <em>const char *</em><code>name</code>,
        <em>H5Z_func_t</em><code>cfunc</code>,
        <em>H5Z_func_t</em> <code>ufunc</code>
    )
<dt><strong>Purpose:</strong>
    <dd> Registers new compression and uncompression functions for a 
         method specified by a method number.
<dt><strong>Description:</strong>
    <dd><code>H5Zregister</code> registers new compression and uncompression 
         functions for a method specified by a method number, <code>method</code>.  
         <code>name</code> is used for debugging and may be the null pointer.  
         Either or both of <code>cfunc</code> (the compression function) and 
         <code>ufunc</code> (the uncompression method) may be null pointers.
         <p>
         The statistics associated with a method number are not reset
         by this function; they accumulate over the life of the library.
<dt><strong>Parameters:</strong>
    <dl>
        <dt><em>H5Z_method_t</em> <code>method</code>
            <dd>Number specifying compression method.
        <dt><em>const char *</em><code>name</code>
            <dd>Name associated with the method number.
        <dt><em>H5Z_func_t</em> <code>cfunc</code>
            <dd>Compression method.
        <dt><em>H5Z_func_t</em> <code>ufunc</code>
            <dd>Uncompression method.
    </dl>
<dt><strong>Returns:</strong>
    <dd>Returns a non-negative value if successful;
        otherwise returns a negative value.
</dl>


<hr>
<center>
<table border=0 width=98%>
<tr><td valign=top align=left>
<a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
<a href="H5.user.html">HDF5 User Guide</a>&nbsp;<br>
<a href="index.html">Other HDF5 documents and links</a>&nbsp;<br>
<!--
<a href="Glossary.html">Glossary</a><br>
-->
</td>
<td valign=top align=right>
And in this document, the 
<a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;&nbsp;
<br>
<a href="RM_H5.html">H5</a>&nbsp;&nbsp;
<a href="RM_H5A.html">H5A</a>&nbsp;&nbsp;
<a href="RM_H5D.html">H5D</a>&nbsp;&nbsp;
<a href="RM_H5E.html">H5E</a>&nbsp;&nbsp;
<a href="RM_H5F.html">H5F</a>&nbsp;&nbsp;
<a href="RM_H5G.html">H5G</a>&nbsp;&nbsp;
<a href="RM_H5I.html">H5I</a>&nbsp;&nbsp;
<br>
<a href="RM_H5P.html">H5P</a>&nbsp;&nbsp;
<a href="RM_H5R.html">H5R</a>&nbsp;&nbsp;
<a href="RM_H5RA.html">H5RA</a>&nbsp;&nbsp;
<a href="RM_H5S.html">H5S</a>&nbsp;&nbsp;
<a href="RM_H5T.html">H5T</a>&nbsp;&nbsp;
H5Z&nbsp;&nbsp;
<a href="Tools.html">Tools</a>&nbsp;&nbsp;
</td></tr>
</table>
</center>
<hr>


<address>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a> 

<br>
Last modified:  8 July 2000
<br>
Describes HDF5 Version 1.3 (Unrelased development version. Dynamic.)

</body>
</html>