NexusCPP
3.5.0
include
nexuscpp
bslz4
bshuf_h5filter.h
Go to the documentation of this file.
1
/*
2
* Bitshuffle HDF5 filter
3
*
4
* This file is part of Bitshuffle
5
* Author: Kiyoshi Masui <kiyo@physics.ubc.ca>
6
* Website: http://www.github.com/kiyo-masui/bitshuffle
7
* Created: 2014
8
*
9
* See LICENSE file for details about copyright and rights to use.
10
*
11
*
12
* Header File
13
*
14
* Filter Options
15
* --------------
16
* block_size (option slot 0) : interger (optional)
17
* What block size to use (in elements not bytes). Default is 0,
18
* for which bitshuffle will pick a block size with a target of 8kb.
19
* Compression (option slot 1) : 0 or BSHUF_H5_COMPRESS_LZ4
20
* Whether to apply LZ4 compression to the data after bitshuffling.
21
* This is much faster than applying compression as a second filter
22
* because it is done when the small block of data is already in the
23
* L1 cache.
24
*
25
* For LZ4 compression, the compressed format of the data is the same as
26
* for the normal LZ4 filter described in
27
* http://www.hdfgroup.org/services/filters/HDF5_LZ4.pdf.
28
*
29
*/
30
31
32
#ifndef BSHUF_H5FILTER_H
33
#define BSHUF_H5FILTER_H
34
35
#define H5Z_class_t_vers 2
36
#include "hdf5.h"
37
38
39
#define BSHUF_H5FILTER 32008
40
41
42
#define BSHUF_H5_COMPRESS_LZ4 2
43
44
#ifdef __cplusplus
45
extern
"C"
{
46
#endif
47
48
49
extern
H5Z_class_t
bshuf_H5Filter
[1];
50
51
52
/* ---- bshuf_register_h5filter ----
53
*
54
* Register the bitshuffle HDF5 filter within the HDF5 library.
55
*
56
* Call this before using the bitshuffle HDF5 filter from C unless
57
* using dynamically loaded filters.
58
*
59
*/
60
int
bshuf_register_h5filter
(
void
);
61
62
#ifdef __cplusplus
63
}
// extern "C"
64
#endif
65
66
#endif // BSHUF_H5FILTER_H
bshuf_H5Filter
H5Z_class_t bshuf_H5Filter[1]
bshuf_register_h5filter
int bshuf_register_h5filter(void)
Generated on Tue Jan 31 2023 11:23:26 for NexusCPP by
1.8.13