From be8b1c059291f959477cd6c019a6b06ced3c1c35 Mon Sep 17 00:00:00 2001 From: Pedro Vicente Nunes Date: Tue, 27 Mar 2007 15:17:03 -0500 Subject: [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 --- hl/tools/gif2h5/Makefile.am | 6 ++- hl/tools/gif2h5/h52gifgentst.c | 104 +++++++++++++++++++++++++++++++++++++++++ hl/tools/gif2h5/h52giftest.sh | 46 ++++++++++++++++++ 3 files changed, 154 insertions(+), 2 deletions(-) create mode 100644 hl/tools/gif2h5/h52gifgentst.c create mode 100644 hl/tools/gif2h5/h52giftest.sh 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 +#include +#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