Line | |
---|
1 | Blosc Header Format |
---|
2 | =================== |
---|
3 | |
---|
4 | Blosc (as of Version 1.0.0) has the following 16 byte header that stores |
---|
5 | information about the compressed buffer:: |
---|
6 | |
---|
7 | |-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|-9-|-A-|-B-|-C-|-D-|-E-|-F-| |
---|
8 | ^ ^ ^ ^ | nbytes | blocksize | ctbytes | |
---|
9 | | | | | |
---|
10 | | | | +--typesize |
---|
11 | | | +------flags |
---|
12 | | +----------versionlz |
---|
13 | +--------------version |
---|
14 | |
---|
15 | Datatypes of the Header Entries |
---|
16 | ------------------------------- |
---|
17 | |
---|
18 | All entries are little endian. |
---|
19 | |
---|
20 | :version: |
---|
21 | (``uint8``) Blosc format version. |
---|
22 | :versionlz: |
---|
23 | (``uint8``) Version of the internal compressor used. |
---|
24 | :flags and compressor enumeration: |
---|
25 | (``bitfield``) The flags of the buffer |
---|
26 | |
---|
27 | :bit 0 (``0x01``): |
---|
28 | Whether the byte-shuffle filter has been applied or not. |
---|
29 | :bit 1 (``0x02``): |
---|
30 | Whether the internal buffer is a pure memcpy or not. |
---|
31 | :bit 2 (``0x04``): |
---|
32 | Whether the bit-shuffle filter has been applied or not. |
---|
33 | :bit 3 (``0x08``): |
---|
34 | Reserved |
---|
35 | :bit 4 (``0x16``): |
---|
36 | Reserved |
---|
37 | :bit 5 (``0x32``): |
---|
38 | Part of the enumeration for compressors. |
---|
39 | :bit 6 (``0x64``): |
---|
40 | Part of the enumeration for compressors. |
---|
41 | :bit 7 (``0x64``): |
---|
42 | Part of the enumeration for compressors. |
---|
43 | |
---|
44 | The last three bits form an enumeration that allows to use alternative |
---|
45 | compressors. |
---|
46 | |
---|
47 | :``0``: |
---|
48 | ``blosclz`` |
---|
49 | :``1``: |
---|
50 | ``lz4`` or ``lz4hc`` |
---|
51 | :``2``: |
---|
52 | ``snappy`` |
---|
53 | :``3``: |
---|
54 | ``zlib`` |
---|
55 | :``4``: |
---|
56 | ``zstd`` |
---|
57 | |
---|
58 | :typesize: |
---|
59 | (``uint8``) Number of bytes for the atomic type. |
---|
60 | :nbytes: |
---|
61 | (``uint32``) Uncompressed size of the buffer. |
---|
62 | :blocksize: |
---|
63 | (``uint32``) Size of internal blocks. |
---|
64 | :ctbytes: |
---|
65 | (``uint32``) Compressed size of the buffer. |
---|
Note: See
TracBrowser
for help on using the repository browser.