If the Compression Type integer of a Channel Block is 0x535A02010900 (SZ219), an SZ219 Compression Stream immediately follows the Compression Type integer, after which the end-of-channel-block marker follows the SZ219 Compression Stream.
An SZ219 Compression Stream stores an SZ version 2.1.9 code stream, along with information about the code stream.
SZ version 2.1.9 o is a newly improved high quality lossy compression method under development at Argonne National Laboratory.
We have placed the following restrictions on SZ version 2.1.9 code streams:
The SZ219 Compression Stream begins with a
Note: The SZ219 Compression Stream is self-contained and may be used in any file format (not just in an XRH file).
The first four bytes of an SZ219 Compression Stream store the value 0x53535A00 (ASCII string SSZ\0) which marks the
Start of SZ219 Stream Marker: SSZ\0
The last 4 bytes of an SZ219 Compression Stream store the value 0x45535A00 (ASCII string ESZ\0) which marks the
End of SZ219 Stream Marker: ESZ\0
The CRC 32 of the SZ code stream is the standard 32-bit cyclical redundancy check of the code stream that is returned by the SZ_compress() function of the SZ 2.1.9 source code.
The Internal SZ CRC is the 32-bit cyclical redundancy check of the SZ code stream before the final compression step. This is the CRC 32 of the lossy SZ compression stream after Huffman encoding before the final Zstandard compression. For an example, see the XRHLIB source code.