summaryrefslogtreecommitdiffstats
path: root/tools/h5repack/h5repack_filters.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge/align with trunkAllen Byrne2016-09-281-7/+7
|
* [svn-r24205] Merge HDFFV-8513/8522 from trunk (via cmake branch), h5repack ↵Allen Byrne2013-09-261-4/+17
| | | | | | | | UD plugins. Also warning session fixes. Tested: CMake local linux
* [svn-r22013] HDFFV-7560:Allen Byrne2012-03-021-1/+2
| | | | | | | | | | Merge 1.8 and h5dump/tools and tests based on tools library from trunk. Reduced warnings. HDFFV-7949: Remove duplicated functions in h5ls Tested: local linux,h5committest
* [svn-r20104] Purpose:Jonathan Kim2011-02-141-2/+2
| | | | | | | | | | | | | Change to use HDxxx macros. Description: Merged from hdf5 trunk r20103. Originally this started for fixing incorrect pointer usage. But that got fixed through coverity merge. So this is mainly changing to use HDxxx macros and clean up some related code. Tested: jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
* [svn-r20007] Purpose:Jonathan Kim2011-01-261-1/+8
| | | | | | | | Clean up tool code. Remove "h5test.h" from tool code. Currently only in h5repack. Tested: jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), linew (solaris-BE), tejeda (mac32-LE)
* [svn-r18198] Description:Quincey Koziol2010-01-301-8/+8
| | | | | | | | | Trim trailing whitespace from source code files, with following command: find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//' Tested on: None - eyeballed only
* [svn-r17266] Description:Quincey Koziol2009-07-301-1/+1
| | | | | | | | | Clean up various compiler warnings from IRIX64 build Tested on: Mac OS X/32 (amazon) debug & production (yes, I know it's not an IRIX64 system :-) Too minor to require h5committest
* [svn-r17077] merge 17076 from trunkPedro Vicente Nunes2009-06-171-49/+57
| | | | | | | bug fix: h5repack was not applying a requested contiguous layout for a dataset with filters added a test to the C program test (not to the script), that verifies the layout and filters tested: linux
* [svn-r16664] merge 16663 from trunkPedro Vicente Nunes2009-04-031-0/+15
| | | | | | | | note : lots of weird warnings of the type ../../../../hdf5/tools/h5repack/h5repacktst.c:3919: warning: will never be executed appear on the same code as 1.9 for the 1.8 branch tested: linux
* [svn-r16641] merge from trunk revs 16614, 16629Pedro Vicente Nunes2009-04-011-2/+7
| | | | | | | | | | | 1. #1501 (B1) tools bug if dataset is larger than H5TOOLS_BUFSIZE limit. ISSUE : the tools use the following formula to read by hyperslabs: hyperslab_size[i] = MIN( dim_size[i], H5TOOLS_BUFSIZE / datum_size) where H5TOOLS_BUFSIZE is a constant defined of 1024K. This is OK as long as the datum_size does not exceed 1024K, otherwise we have a hyperslab size of 0 (since 1024K/(greater than 1024K) = 0). This affects h5dump. h5repack, h5diff SOLUTION: add a check for a 0 size and define as 1 if so. TEST FOR H5DUMP: Defined a case in the h5dump test generator program of such a type (an array type of doubles with a large array dimension, that was the case the user reported). Since the written file commited in svn would be around 1024K, opted for not writing the data (the part of the code where the hyperslab is defined is executed, since h5dump always reads the files). Defined a macro WRITE_ARRAY to enable such writing if needed. Added a run on the h5dump shell script. Added 2 new files to svn: tools/testfiles/tarray8.ddl, tools/testfiles/tarray8.h5. NOTE: while doing this I thought of adding this dataset case to an existing file, but that would add the large array output to those files (the ddls). The issue is that the file list is increasing. TEST FOR H5DIFF: for h5diff the check for reading by hyperslabs is H5TOOLS_MALLOCSIZE (128 * H5TOOLS_BUFSIZE) or 128 Mb. This makes it not possible to add such a file to svn, so used the same method as h5dump (only write the dataset if WRITE_ARRAY is defined). As opposed to h5dump, the hyperslab code is NOT executed when the dataset is empty (dataset is not read). Added the new dataset to existing files and shell run (tools/h5diff/testfiles/h5diff_dset1.h5 and tools/h5diff/testfiles/h5diff_dset2.h5 and output in tools/h5diff/testfiles/h5diff_80.txt). TEST FOR H5REPACK: similar issue as h5diff with the difference that the hyperslab code is run. Added a run to the shell script (with a filter, otherwise the code uses H5Ocopy). FURTHER ISSUES: the type in question ("double") has a different output cross platforms (e.g on liberty some garbage number is printed at some array locations) SOLUTION: defined an "int" type for this test. However the printing of such an array has a bogus output at least in one platform (FreeBsd), so eliminated the test run altogether and filed a bug report on this
* [svn-r16115] #1375. Define a default chunk whose size is manageable. Defined ↵Pedro Vicente Nunes2008-11-211-7/+32
| | | | | | currently as the same size of hyperslab (that compares the dimension sizes against a predefined constant size and chooses the minimum between the two) Tested : linux, windows
* [svn-r15662] Cleaned compiler warnings Pedro Vicente Nunes2008-09-191-47/+47
| | | | | | | | Bug fixes: change the options block size variable from int to hsize_t, to match the H5Pset_userblock call, do not print print compression ratio when the requested filter is NONE Tested: windows, linux
* [svn-r15629] Description:Quincey Koziol2008-09-161-47/+47
| | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* [svn-r14368] clean code and reshufle functions between modules, remove ↵Pedro Vicente Nunes2008-01-031-48/+2
| | | | | | unused functions tested: windows, linux
* [svn-r14320] Added a function that matches the filters on the dataset's DCPL ↵Pedro Vicente Nunes2007-12-041-8/+8
| | | | | | | | and in the requested list Used to verify if the filters requested are present in the output dataset tested: windows, linux, solaris
* [svn-r14299] new feature: add support for h5repack to handle several global ↵Pedro Vicente Nunes2007-11-281-35/+38
| | | | | | | | filters usage is to repeat the -f option tested: windows, linux, solaris
* [svn-r14206] Description:Quincey Koziol2007-10-171-30/+6
| | | | | | | | | | | | | | | | | | | | Make H5Pget_filter API versioned and switch internal usage to H5Pget_filter2. Add regression test for H5Pget_filter1. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
* [svn-r13810] Pedro Vicente Nunes2007-05-241-4/+12
| | | | | | | | Minor tunings to output verbose messages: 1)when there is not a filter request do not print a message saying the filter was not apllied when the dataset was too small 2) avoid printing the message that has a list of objects to modify when there is none Tested:linux
* [svn-r13589] Pedro Vicente Nunes2007-04-041-2/+1
| | | | | | h5repack code cleaning (required reconfigure) tested: linux (32, 64, parallel), solaris
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r12936] Pedro Vicente Nunes2006-11-171-322/+321
| | | | make h5repacktst clean a big file which name was changed to "h5repack_big_out.h5", do not use H5Ocopy only when the original DCPL has filters or a request is made for such, more code cleaning
* [svn-r12928] code revisionPedro Vicente Nunes2006-11-161-1/+1
|
* [svn-r12736] Description:Quincey Koziol2006-10-091-1/+0
| | | | | | | | | | | | | | | | | | | Add "use the latest format" support for dataspace object header encode/ decode routines and clean up format a bit for the latest format (new to 1.8.x releases) Remove storing 'perm' parameter for array datatypes in memory and the file, and add test to make certain that if any user applications are attempting to store them, we get some reports back. (Should be unlikely, since the RefMan says that the parameter is not implemented and is unsupported). Carry those changes into the tests, etc. Clean up a bunch more compiler warnings. Tested on: FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/FORTRAN & C++ Linux/64 2.4 (mir) w/enable-1.6-compat
* [svn-r12440] Purpose:Quincey Koziol2006-06-271-9/+9
| | | | | | | | | | | Code cleanup Description: Trim trailing whitespace in Makefile.am and C/C++ source files to make diffing changes easier. Platforms tested: None necessary, whitespace only change
* [svn-r12211] Purpose:Pedro Vicente Nunes2006-04-071-6/+3
| | | | | | | | | | | | | | | | new feature Description some more check in related to the print of compression ratios: print warning messages after the print of the dataset name and compression: Solution: Platforms tested: linux solaris AIX Misc. update:
* [svn-r12208] Purpose:Pedro Vicente Nunes2006-04-061-2/+10
| | | | | | | | | | | | | | | | new feature Description: some more formatting for the new printout of compression ratios Solution: Platforms tested: linux solaris AIX Misc. update:
* [svn-r12205] Purpose:Pedro Vicente Nunes2006-04-061-23/+0
| | | | | | | | | | | | | | | | new feature Description: added the printout of the compression ratio for filters in h5repack, after the filter name, obtained with H5Dget_storage_size, before and after applying the filter Solution: Platforms tested: linux solaris AIX Misc. update:
* [svn-r12159] Purpose:Pedro Vicente Nunes2006-03-271-13/+11
| | | | | | | | | | | | | | | | | bug fix Description: h5repack was not dealing with family files Solution: use the toolslib function h5tools_open to open the file instead of H5Fopen in h5repack Platforms tested: linux solaris AIX Misc. update:
* [svn-r11443] Purpose:Pedro Vicente Nunes2005-09-191-30/+27
| | | | | | | | | | | | | | | | | | | | | | new features Description: added support for the scale/offset filter there is a new filter symbol 'SOFF' -f SOFF=<scale_factor,scale_type> scale_factor = integer scale_type = 'IN' or 'DS' Solution: Platforms tested: Linux SunOS Misc. update:
* [svn-r11337] Purpose:Quincey Koziol2005-09-011-1/+1
| | | | | | | | | | | | Code cleanup Description: Changed some scale+offset filter symbols from H5_SO_... -> H5Z_SO_... to indicate that they are in the H5Z package. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11327] Purpose:MuQun Yang2005-08-311-1/+4
| | | | | | | | | | | | | Updating the filter based on H5Pset_scaleoffset API change. Description: Still more changes are needed for the filter for floating-point. Solution: Platforms tested: Misc. update:
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-93/+93
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10679] Purpose:MuQun Yang2005-04-271-1/+1
| | | | | | | | | | | | | | H5Pset_scaleoffset API is changed due to addition of the floating-point filter. Description: Only add a parameter, nothing should change for the tool. Solution: Platforms tested: Linux 2.4 Misc. update:
* [svn-r10067] Purpose:Robert E. McGrath2005-02-231-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | feature Description: h5repack support for scaleoffset compression Checking in early to help debug the filter. Solution: Added messages and command line to handle new scale offset filter. Note: TESTS ARE DISABLED FOR NOW. The filter is not complete, repack tests may fail due to know problems. PLEASE DO NOT MESS WITH THE SCALEOFFSET TESTS AT THIS TIME. They will be enabled when the filter is ready. Platforms tested: verbena,copper,shanti Misc. update: MANIFEST
* [svn-r10009] Purpose:Robert E. McGrath2005-02-151-0/+11
| | | | | | | | | | | | | | | feature Description: support for nbit compression in h5repack Solution: Platforms tested: verbena,copper,shanti Misc. update: manifest
* [svn-r10000] Purpose:Pedro Vicente Nunes2005-02-141-0/+28
| | | | | | | | | | | | | | bug fix Description: in 1 case when there was not a requested layout, the original chunk was not preserved Solution: Platforms tested: linux (small change) Misc. update:
* [svn-r9727] Purpose:Quincey Koziol2004-12-291-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-) Description: Generally speaking, this is the "signed->unsigned" change to selections. However, in the process of merging code back, things got stickier and stickier until I ended up doing a big "sync the two branches up" operation. So... I brought back all the "infrastructure" fixes from the development branch to the release branch (which I think were actually making some improvement in performance) as well as fixed several bugs which had been fixed in one branch, but not the other. I've also tagged the repository before making this checkin with the label "before_signed_unsigned_changes". Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & fphdf5 FreeBSD 4.10 (sleipnir) w/threadsafe FreeBSD 4.10 (sleipnir) w/backward compatibility Solaris 2.7 (arabica) w/"purify options" Solaris 2.8 (sol) w/FORTRAN & C++ AIX 5.x (copper) w/parallel & FORTRAN IRIX64 6.5 (modi4) w/FORTRAN Linux 2.4 (heping) w/FORTRAN & C++ Misc. update:
* [svn-r9572] Purpose:Pedro Vicente Nunes2004-11-241-112/+112
| | | | | | | | | | | | | | | | | bug fix Description: the routine for applying the layout for the new file of h5repack was not handling the logic correctly in cases where an input layout was not set Solution: changed the logic so that the original layout is preserved (this bug was introduced in the last change, October 19 04) Platforms tested: linux (small change) Misc. update:
* [svn-r9436] Purpose:Pedro Vicente Nunes2004-10-191-91/+202
| | | | | | | | | | | | | | | | | | | | | bug fix Description: Description: one case was not handled in the combination of input options (layout and filters) Solution: redo the algorythm that handles all cases Solution: Platforms tested: linux Misc. update:
* [svn-r9428] Purpose:Pedro Vicente Nunes2004-10-181-10/+19
| | | | | | | | | | | | | | | | | bug fix Description: when specifying both an input object e.g -f mydset:GZIP=1 and a defined chunk -l CHUNK=20x20 the filter used a defined default chunk instead Solution: add a check for the input chunk Platforms tested: linux (small change) Misc. update:
* [svn-r9121] Purpose:Pedro Vicente Nunes2004-08-191-249/+0
| | | | | | | | | | | | | | | | | | | | new feature Description: added a check that the chunk size must be smaller than pixels per block in SZIP request prints a message and exits, if not met Solution: Platforms tested: linux aix solaris Misc. update:
* [svn-r8904] Purpose:Pedro Vicente Nunes2004-07-201-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | h5diff and h5repack changes Description: h5diff introduced the following four modes of output: Normal mode: print the number of differences found and where they occured Report mode: print the above plus the differences Verbose mode: print the above plus a list of objects and warnings Quiet mode: do not print output (h5diff always returns an exit code of 1 when differences are found) h5repack added an extra parameter for SZIP filter (coding method) the new syntax is -f SZIP=<pixels per block,coding> (pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN') Example of use: ./h5repack -i file1 -o file2 -f SZIP=8,NN -v updated usage messages, test scripts and files accordingly Solution: Platforms tested: linux AIX solaris Misc. update:
* [svn-r8882] Purpose:Pedro Vicente Nunes2004-07-151-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | bug fix, new feature Description: fixed bug in the parse function: cases where we have an already inserted name but there is a new name also example: -f dset1:GZIP=1 -l dset1,dset2:CHUNK=20x20 dset1 is already inserted, but dset2 must also be (it was not) added a CHECK_SZIP symbol to enable/disable checking of library related szip parameters added the print of the filter name in verbose mode (confirms visually that the filter was applied ) Solution: Platforms tested: linux solaris AIX Misc. update:
* [svn-r8869] Purpose:Pedro Vicente Nunes2004-07-131-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | h5repack changes Description: there were some requests to change some minor h5repack features h5repack only made a warning about a non available filter in verbose mode ( -v ) without -v it kept silent, and users sometimes missed this warning the request was that it should print this warning always. so, the new format, is e.g ./h5repack -i test_szip.h5 -o out.h5 Warning: dataset </dset_szip> cannot be read, SZIP filter is not available due to this, and to avoid a lot of these messages in the shell test script, I modified the script h5repack.sh so that it detects the presence of all filters in the environment (previously it only detected SZIP) the test files were also divided in more files , to make the script code easier to follow Solution: Platforms tested: linux AIX (no szip) solaris (no szip, no gzip ) Misc. update:
* [svn-r8781] James Laird2004-07-011-0/+11
| | | | | | | | | | | | | | | | Purpose: HDF5 now supports SZIP with no encoder. Description: SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled. Solution: Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC. Platforms tested: Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++) Misc. update:
* [svn-r8383] Purpose:Quincey Koziol2004-04-181-4/+3
| | | | | | | | | | | | | Code cleanup Description: Clean up lots of warnings based on those reported from the SGI compilers as well as gcc. Platforms tested: SGI O3900, IRIX64 6.5 (Cheryl's SGI machine) FreeBSD 4.9 (sleipnir) w/ & w/o parallel h5committest
* [svn-r8229] Purpose:Pedro Vicente Nunes2004-03-021-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) new function for tools library 2) new test script for h5repack Description: 1) currently all the tools (h5dump, h5diff, etc) do not check if a filter is available for reading some dataset that might have a filter not available on the current configuration (the behaviour of the tools until now was to trigger a library error, saying that the dataset cannot be read due to the lack of the filter) Solution: 1) added a new function h5tools_canreadf that checks if a dataset can be read depending on the availability of filters. this function was added in calls for h5diff and h5repack. instead of triggering the library error, a message is printed, saying that the dataset cannot be read (the print is optional, it is on on verbose mode) 2) added a shell script that tests the commannd line tool behaviour of h5repack the script does a series of runs of h5repack with several options on the same file (this file test4.h5 was added to the testfiles dir). then, it runs the h5diff tool, with the input and output files , in each run. the goal of the test is also to check item 1) . the binary file was saved with filters that might not be available on other configurations Platforms tested: linux (all filters enabled) linux (some filters disabled) solaris (some filters disabled) AIX (some filters disabled) windows (all filters on and off ) Misc. update:
* [svn-r8218] Purpose:Pedro Vicente Nunes2004-02-231-22/+0
| | | | | | | | | | | | | | | | | | | | | | | | bug fix in H5Zshuffle.c add more tests to h5repack that exposed the bug Description: when creating a dataset with the shuffle filter and duplicating it in a new dataset (file) the call to H5Z_set_local_shuffle failed. this is because the value of cd_nelmts of the filter structure is set to 1 (H5Z_SHUFFLE_TOTAL_NPARMS) when the original dataset is created, but when the new dataset is created there is a checking instruction that fails if the value of cd_nelmts is not 0 (its original value, H5Z_SHUFFLE_USER_NPARMS) Solution: just remove that check condition, since the value of cd_nelmts is not used anyway. if we decide that the value of cd_nelmts is necessary, then the H5O_pline_copy function must be changed to update this value (a different update for each filter) Platforms tested: linux solaris AIX Misc. update:
* [svn-r8176] Purpose:Pedro Vicente Nunes2004-02-101-69/+133
| | | | | | | | | | | | | | | | | | | new feature, bug fix, changed function Description: 1) implemented the option that says if the dataset is too small , do not compress it 2) bug fix in the SZIP checking . only apply szip to atomic datatypes 3) made the apply_filters function more compact Solution: Platforms tested: linux AIX solaris Misc. update:
* [svn-r8150] Purpose:Pedro Vicente Nunes2004-02-041-1/+1
| | | | | | | | | | | | | introduced the constant H5Z_FILTER_ALL, used to remove all filters in H5Premove_filter Description: Solution: Platforms tested: linux Misc. update: