diff --git a/doc/html/RM_H5P.html b/doc/html/RM_H5P.html index 7e209e82ce..5b57aabf17 100644 --- a/doc/html/RM_H5P.html +++ b/doc/html/RM_H5P.html @@ -217,6 +217,7 @@ which require many different parameters to be easily manipulated.
  • H5Pget_filter
  • H5Pget_filter_by_id
  • H5Pmodify_filter +
  • H5Premove_filter
  • H5Pset_fletcher32
  • H5Pset_shuffle
  • H5Pset_szip @@ -349,6 +350,7 @@ See further notes in the description of each function.
  • H5Pmodify_filter
  • H5Pregister
  • H5Premove +
  • H5Premove_filter
  • H5Pset
  • H5Pset_alignment
  • H5Pset_alloc_time @@ -506,6 +508,7 @@ as the corresponding C function.
  • h5pget_filter_f
  • h5pget_filter_by_id_f
  • h5pmodify_filter_f +
  • h5premove_filter_f
  • h5pset_fletcher32_f
  • h5pset_shuffle_f
  • h5pset_szip_f @@ -5087,7 +5090,7 @@ END SUBROUTINE h5pregister_f
    Name: H5Premove
    Signature: -
    herr_t H5Premove(plid, name) +
    herr_t H5Premove( hid_t plid; const char *name ) @@ -5145,6 +5148,107 @@ END SUBROUTINE h5premove_f --> + + + +
    +
    +
    Name: H5Premove_filter +
    Signature: +
    herr_t H5Premove_filter(hid_t plist, + H5Z_filter_t filter + ) +
    Purpose: +
    Delete one or more filters in the filter pipeline. +
    Description: +
    H5Premove_filter removes the specified + filter from the filter pipeline in the + dataset creation property list plist. +

    + The filter parameter specifies the filter to be removed. + Valid values for use in filter are as follows: + +

    + + + + + + +
    + H5Z_FILTER_ALL + + Removes all filters from the permanent filter pipeline. +
    + H5Z_FILTER_DEFLATE + + Data compression filter, employing the gzip algorithm +
    + H5Z_FILTER_SHUFFLE + + Data shuffling filter +
    + H5Z_FILTER_FLETCHER32   + + Error detection filter, employing the Fletcher32 checksum algorithm +
    + H5Z_FILTER_SZIP + + Data compression filter, employing the SZIP algorithm +
    +
    +

    + Additionally, user-defined filters can be removed with this routine + by passing the filter identifier with which they were registered + with the HDF5 Library. +

    + Attempting to remove a filter that is not in the permanent filter + pipeline is an error. +

    Note: +
    This function currently supports only the permanent filter + pipeline; plist must be a dataset creation + property list. +
    Parameters: +
    +
    hid_t plist_id +
    IN: Dataset creation property list identifier. +
    H5Z_filter_t filter +
    IN: Filter to be deleted. +
    +
    Returns: +
    Returns a non-negative value if successful; + otherwise returns a negative value. + +
    Fortran90 Interface: h5premove_filter_f +
    +
    +SUBROUTINE h5premove_filter_f(prp_id, filter, hdferr)
    +
    +  IMPLICIT NONE
    +  INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset creation property 
    +                                       ! list identifier
    +  INTEGER, INTENT(IN) :: filter        ! Filter to be removed
    +                                       ! Valid values are:
    +                                       !     H5Z_FILTER_ALL_F
    +                                       !     H5Z_FILTER_DEFLATE_F
    +                                       !     H5Z_FILTER_SHUFFLE_F
    +                                       !     H5Z_FILTER_FLETCHER32_F
    +                                       !     H5Z_FILTER_SZIP_F
    +                                       !
    +  INTEGER, INTENT(OUT) :: hdferr       ! Error code
    +                                       ! 0 on success, -1 on failure
    +END SUBROUTINE h5premove_filter_f
    +        
    + + +
    + +
    @@ -5621,11 +5725,18 @@ END SUBROUTINE h5pset_cache_f
    H5Pset_chunk sets the size of the chunks used to store a chunked layout dataset. This function is only valid for dataset creation property lists. +

    The ndims parameter currently must be the same size - as the rank of the dataset. The values of the dim + as the rank of the dataset. +

    + The values of the dim array define the size of the chunks to store the dataset's raw data. - As a side-effect, the layout of the dataset is changed to - H5D_CHUNKED, if it is not already. + The unit of measure for dim values is + dataset elements. +

    + As a side-effect of this function, the layout of the dataset + is changed to H5D_CHUNKED, if it is not already so set. + (See H5Pset_layout.)

    Parameters:
    hid_t plist @@ -5633,7 +5744,8 @@ END SUBROUTINE h5pset_cache_f
    int ndims
    IN: The number of dimensions of each chunk.
    const hsize_t * dim -
    IN: An array containing the size of each chunk. +
    IN: An array defining the size, in dataset elements, + of each chunk.
    Returns:
    Returns a non-negative value if successful; @@ -8545,20 +8657,36 @@ END SUBROUTINE h5pset_sym_k_f

    In the text below, the term pixel refers to - an HDF5 data element of an atomic type - that may have size of 8, 16, 32, or 64 bits. - Specifically, - 8-, 16-, 32-, and 64-bit signed and unsigned integers, - chars, - 32- and 64-bit floats. + an HDF5 data element. + This terminology derives from SZIP compression's use with image data, + where pixel referred to an image pixel. +

    + The SZIP bits_per_pixel value (see Notes, below) + is automatically set, based on the HDF5 datatype. + SZIP can be used with atomic datatypes that may have size + of 8, 16, 32, or 64 bits. + Specifically, a dataset with a dataype that is + 8-, 16-, 32-, or 64-bit + signed or unsigned integer; + char; or + 32- or 64-bit float + can be compressed with SZIP. + See Notes, below, for further discussion of the + the SZIP bits_per_pixel setting. + +

    SZIP compression cannot be applied to compound datatypes, - variable-length datatypes, or + array datatypes, + variable-length datatypes, + enumerations, or any other user-defined datatypes. If an SZIP filter is set up for a dataset containing a non-allowed - datatype, the subsequent call to H5Dcreate will fail. - (The pixel terminology derives from SZIP compression's - use with image data, where pixel referred to an image pixel.) + datatype, H5Pset_szip will succeed but the subsequent call + to H5Dcreate + will fail; + the conflict is detected only when the property list is used. +

    SZIP options are passed in an options mask, options_mask, @@ -8597,15 +8725,15 @@ END SUBROUTINE h5pset_sym_k_f which option to select:

    Other factors may affect results, but the above criteria - provides a good starting point for optimizing data storage. + provides a good starting point for optimizing data compression.

    SZIP compresses data block by block, with a user-tunable block size. @@ -8618,12 +8746,19 @@ END SUBROUTINE h5pset_sym_k_f achieve better performance.

    In HDF5, compression can be applied only to chunked datasets. - The subsequent call to H5Dcreate will fail if - pixels_per_block is bigger than - the total number of elements in a dataset chunk. + If pixels_per_block is bigger than the total + number of elements in a dataset chunk, + H5Pset_szip will succeed but the subsequent call to + H5Dcreate + will fail; the conflict is detected only when the property list + is used. +

    To achieve optimal performance for SZIP compression, it is recommended that a chunk's fastest-changing dimension - be equal to 128 times pixels_per_block. + be equal to N times pixels_per_block + where N is maximum number of blocks per scan line + allowed by the SZIP library. + In the current version of SZIP, N is set to 128.

    Parameters:
    @@ -8680,6 +8815,34 @@ END SUBROUTINE h5pset_sym_k_f the number elements in the chunk and 128 times pixels_per_block. + +

    + The HDF5 datatype may have precision that is less than the + full size of the data element, e.g., an 11-bit integer can be + defined using + H5Tset_precision. + To a certain extent, SZIP can take advantage of the + precision of the datatype to improve compression: +

    • + If the HDF5 datatype size is 24-bit or less and + the offset of the bits in the HDF5 datatype is zero + (see H5Tset_offset + or H5Tget_offset), + the data is the in lowest N bits of the data element. + In this case, the SZIP bits_per_pixel + is set to the precision + of the HDF5 datatype. +
    • + If the offset is not zero, the SZIP bits_per_pixel + will be set to the number of bits in the full size of the data + element. +
    • + If the HDF5 datatype precision is 25-bit to 32-bit, + the SZIP bits_per_pixel will be set to 32. +
    • + If the HDF5 datatype precision is 33-bit to 64-bit, + the SZIP bits_per_pixel will be set to 64. +

    HDF5 always modifies the options mask provided by the user @@ -9226,7 +9389,7 @@ And in this document, the Describes HDF5 Release 1.6.2, February 2004