summaryrefslogtreecommitdiffstats
path: root/hl/tools/gif2h5
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2007-03-27 20:17:03 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2007-03-27 20:17:03 (GMT)
commitbe8b1c059291f959477cd6c019a6b06ced3c1c35 (patch)
tree4baf34fb77d1913a3d3a1c0cdc97319baa014166 /hl/tools/gif2h5
parentc64ac252cdd9fe40b96313e2435551f16428b9d6 (diff)
downloadhdf5-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.am6
-rw-r--r--hl/tools/gif2h5/h52gifgentst.c104
-rw-r--r--hl/tools/gif2h5/h52giftest.sh46
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