Open markcmiller86 opened 1 day ago
Agree that the reserved filter ID value hasn't changed from 256, as intended. The range of 0-255 are reserved for internal use by the HDF5 library, the range of 256-32767 are for public filters registered with the HDF Group, and the range of 32768-65535 are for filters that are used privately / internally within an organization (and shouldn't ever be used for HDF5 data intended to be shared publicly). So, those values could be safe from conflicting with others and after consulting the list of filters that have been registered with the HDF Group (here: https://github.com/HDFGroup/hdf5_plugins/blob/master/docs/RegisteredFilterPlugins.md ), are currently still available for public filters.
I agree: contacting @derobins and registering them so that another filter isn't registered with those IDs is the best way to preserve the use of those ID values.
Ugh...for some reason, the filter ids used by Silo library for two internal compression filters (hzip and fpzip) were set to use (
H5Z_FILTER_RESERVED+1
andH5Z_FILTER_RESERVED+2
).This is bad on two fronts. Across HDF5 library versions, if
H5Z_FILTER_RESERVED
changes, the filter ids change. Those numbers must be constant across all time and versions. Now, I did check and it looks likeH5Z_FILTER_RESERVED
has had the value256
in all versions of HDF5 from 1.14.4 going back to 1.8.0.This means that hzip and fpzip filters, if they have ever been used (I honestly don't think they have been used) would have then been given ids
257
and258
respectively. We should now set them to those values. We should check with hdf group and ask if that is problem for us to now ensure those numbers get officially allocated to hzip and fpzip, maybe branding these as "silo-hzip" and "silo-fpzip"Alternatively, we assume those filters have never been used and select more appropriate ids for them now and install them into the Silo library. It looks like there is a bonified implementation of an fpzip filter, https://github.com/NCAR/fpzip_plugin
@qkoziol thoughts?