diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2007-03-27 20:17:03 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2007-03-27 20:17:03 (GMT) |
commit | be8b1c059291f959477cd6c019a6b06ced3c1c35 (patch) | |
tree | 4baf34fb77d1913a3d3a1c0cdc97319baa014166 /hl/tools/gif2h5 | |
parent | c64ac252cdd9fe40b96313e2435551f16428b9d6 (diff) | |
download | hdf5-be8b1c059291f959477cd6c019a6b06ced3c1c35.zip hdf5-be8b1c059291f959477cd6c019a6b06ced3c1c35.tar.gz hdf5-be8b1c059291f959477cd6c019a6b06ced3c1c35.tar.bz2 |
[svn-r13553]
New feature
Add a tests script for h52gif tool. A simple script that just runs the
tool from a pre-saved HDF5 file and produces a gif file. A HDF5 test
generator program is also added
Note: the .am file needs further development, right now it is not
producing the test
Diffstat (limited to 'hl/tools/gif2h5')
-rw-r--r-- | hl/tools/gif2h5/Makefile.am | 6 | ||||
-rw-r--r-- | hl/tools/gif2h5/h52gifgentst.c | 104 | ||||
-rw-r--r-- | hl/tools/gif2h5/h52giftest.sh | 46 |
3 files changed, 154 insertions, 2 deletions
diff --git a/hl/tools/gif2h5/Makefile.am b/hl/tools/gif2h5/Makefile.am index 3d1e56a..a17c6ca 100644 --- a/hl/tools/gif2h5/Makefile.am +++ b/hl/tools/gif2h5/Makefile.am @@ -25,12 +25,14 @@ INCLUDES=-I$(top_srcdir)/src -I$(top_srcdir)/tools/lib -I$(top_srcdir)/hl/src # These are our main targets, the tools -bin_PROGRAMS=gif2h5 h52gif +bin_PROGRAMS=gif2h5 h52gif h52gifgentst -gif2h5_SOURCES=gif2hdf.c gif2mem.c decompress.c gifread.c writehdf.c +gif2h5_SOURCES=gif2hdf.c gif2mem.c decompress.c gifread.c writehdf.c h52gif_SOURCES=hdf2gif.c hdfgifwr.c readhdf.c +h52gifgentst_SOURCES=h52gifgentst.c + # Programs all depend on the hdf5 library, the tools library, and the HL # library. LDADD=$(LIBH5_HL) $(LIBH5TOOLS) $(LIBHDF5) diff --git a/hl/tools/gif2h5/h52gifgentst.c b/hl/tools/gif2h5/h52gifgentst.c new file mode 100644 index 0000000..717f9aa --- /dev/null +++ b/hl/tools/gif2h5/h52gifgentst.c @@ -0,0 +1,104 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#include <stdio.h> +#include <stdlib.h> +#include "hdf5.h" +#include "H5IM.h" + + + +/*------------------------------------------------------------------------- + * Program: h52giftst + * + * Purpose: generate files for h52gif testing + * + * Programmer: Pedro Vicente, pvn@hdfgroup.org + * + * Date: March 15, 2007 + * + *------------------------------------------------------------------------- + */ + +#define FILENAME "h52giftst.h5" +#define WIDTH (hsize_t)400 +#define HEIGHT (hsize_t)200 +#define PAL_ENTRIES 256 +#define IMAGE1_NAME "1234567" +#define PAL_NAME "palette" + +/*------------------------------------------------------------------------- + * Function: main + * + * Purpose: main program + * + *------------------------------------------------------------------------- + */ + +int main(void) +{ + hid_t fid; + int i, j, n, space; + unsigned char buf [ WIDTH*HEIGHT ]; + unsigned char pal[ PAL_ENTRIES * 3 ]; /* palette array */ + hsize_t pal_dims[2] = {PAL_ENTRIES,3}; /* palette dimensions */ + + + /* create a file */ + if ((fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0) + return 1; + + /* create an image */ + space = WIDTH*HEIGHT / PAL_ENTRIES; + for (i=0, j=0, n=0; i < WIDTH*HEIGHT; i++, j++ ) + { + buf[i] = n; + if ( j > space ) + { + n++; + j=0; + } + if (n>PAL_ENTRIES-1) n=0; + } + + /* make the image */ + if (H5IMmake_image_8bit( fid, IMAGE1_NAME, WIDTH, HEIGHT, buf )<0) + return 1; + + /*------------------------------------------------------------------------- + * define a palette, blue to red tones + *------------------------------------------------------------------------- + */ + for ( i=0, n=0; i<PAL_ENTRIES*3; i+=3, n++) + { + pal[i] =n; /* red */ + pal[i+1]=0; /* green */ + pal[i+2]=255-n; /* blue */ + } + + /* make a palette */ + if (H5IMmake_palette( fid, PAL_NAME, pal_dims, pal )<0) + return 1; + + /* attach the palette to the image */ + if (H5IMlink_palette( fid, IMAGE1_NAME, PAL_NAME )<0) + return 1; + + if(H5Fclose(fid)<0) + return 1; + + return 0; +} + diff --git a/hl/tools/gif2h5/h52giftest.sh b/hl/tools/gif2h5/h52giftest.sh new file mode 100644 index 0000000..b07ec90 --- /dev/null +++ b/hl/tools/gif2h5/h52giftest.sh @@ -0,0 +1,46 @@ +#!/bin/sh +# +# Copyright by The HDF Group. +# Copyright by the Board of Trustees of the University of Illinois. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the files COPYING and Copyright.html. COPYING can be found at the root +# of the source code distribution tree; Copyright.html can be found at the +# root level of an installed copy of the electronic HDF5 document set and +# is linked from the top-level documents page. It can also be found at +# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +# access to either file, you may request a copy from help@hdfgroup.org. +# +# HDF Utilities Test script + +# initialize errors variable +errors=0 + +TESTING() { + SPACES=" " + echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012' +} + +TOOLTEST() +{ +err=0 +$RUNSERIAL ./h52gif $* + + +if [ $err -eq 1 ]; then +errors="` expr $errors + 1 `"; + echo "*FAILED*" +else + echo " PASSED" +fi +} + + + +TESTING "h52giftst.h5 image1.gif -i 1234567 -p palette" ; +TOOLTEST h52giftst.h5 image1.gif -i 1234567 -p palette + + +exit $errors |