New comit of SDL2
[supertux.git] / src / SDL2 / external / tiff-4.0.3 / test / strip_rw.c
1 /* $Id: strip_rw.c,v 1.6 2008/03/28 01:42:07 bfriesen Exp $ */
2
3 /*
4  * Copyright (c) 2004, Andrey Kiselev  <dron@ak4719.spb.edu>
5  *
6  * Permission to use, copy, modify, distribute, and sell this software and 
7  * its documentation for any purpose is hereby granted without fee, provided
8  * that (i) the above copyright notices and this permission notice appear in
9  * all copies of the software and related documentation, and (ii) the names of
10  * Sam Leffler and Silicon Graphics may not be used in any advertising or
11  * publicity relating to the software without the specific, prior written
12  * permission of Sam Leffler and Silicon Graphics.
13  * 
14  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
15  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
16  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
17  * 
18  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
19  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
20  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
21  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
22  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
23  * OF THIS SOFTWARE.
24  */
25
26 /*
27  * TIFF Library
28  *
29  * Test libtiff input/output routines.
30  */
31
32 #include "tif_config.h"
33
34 #include <stdio.h>
35
36 #ifdef HAVE_UNISTD_H 
37 # include <unistd.h> 
38 #endif 
39
40 #include "tiffio.h"
41 #include "test_arrays.h"
42
43 extern int
44 create_image_striped(const char *, uint32, uint32, uint32, uint16, uint16,
45                      uint16, uint16, uint16, uint16, const tdata_t,
46                      const tsize_t);
47 extern int
48 read_image_striped(const char *, uint32, uint32, uint32, uint16, uint16,
49                    uint16, uint16, uint16, uint16, const tdata_t,
50                    const tsize_t);
51
52 const char      *filename = "strip_test.tiff";
53
54 int
55 main(int argc, char **argv)
56 {
57         uint32          rowsperstrip;
58         uint16          compression;
59         uint16          spp, bps, photometric, sampleformat, planarconfig;
60         (void) argc;
61         (void) argv;
62
63         /* 
64          * Test two special cases: image consisting from single line and image
65          * consisting from single column.
66          */
67         rowsperstrip = 1;
68         compression = COMPRESSION_NONE;
69         spp = 1;
70         bps = 8;
71         photometric = PHOTOMETRIC_MINISBLACK;
72         sampleformat = SAMPLEFORMAT_UINT;
73         planarconfig = PLANARCONFIG_CONTIG;
74
75         if (create_image_striped(filename, XSIZE * YSIZE, 1, rowsperstrip,
76                                   compression, spp, bps, photometric,
77                                   sampleformat, planarconfig,
78                                   (const tdata_t) byte_array1, byte_array1_size) < 0) {
79                 fprintf (stderr, "Can't create TIFF file %s.\n", filename);
80                 goto failure;
81         }
82         if (read_image_striped(filename, XSIZE * YSIZE, 1, rowsperstrip,
83                                 compression, spp, bps, photometric,
84                                 sampleformat, planarconfig,
85                                 (const tdata_t) byte_array1, byte_array1_size) < 0) {
86                 fprintf (stderr, "Can't read TIFF file %s.\n", filename);
87                 goto failure;
88         }
89         unlink(filename);
90                 
91         if (create_image_striped(filename, 1, XSIZE * YSIZE, rowsperstrip,
92                                   compression, spp, bps, photometric,
93                                   sampleformat, planarconfig,
94                                   (const tdata_t) byte_array1, byte_array1_size) < 0) {
95                 fprintf (stderr, "Can't create TIFF file %s.\n", filename);
96                 goto failure;
97         }
98         if (read_image_striped(filename, 1, XSIZE * YSIZE, rowsperstrip,
99                                 compression, spp, bps, photometric,
100                                 sampleformat, planarconfig,
101                                 (const tdata_t) byte_array1, byte_array1_size) < 0) {
102                 fprintf (stderr, "Can't read TIFF file %s.\n", filename);
103                 goto failure;
104         }
105         unlink(filename);
106                 
107         /* 
108          * Test one-channel image with different parameters.
109          */
110         rowsperstrip = 1;
111         spp = 1;
112         bps = 8;
113         photometric = PHOTOMETRIC_MINISBLACK;
114         sampleformat = SAMPLEFORMAT_UINT;
115         planarconfig = PLANARCONFIG_CONTIG;
116
117         if (create_image_striped(filename, XSIZE, YSIZE, rowsperstrip,
118                                   compression, spp, bps, photometric,
119                                   sampleformat, planarconfig,
120                                   (const tdata_t) byte_array1, byte_array1_size) < 0) {
121                 fprintf (stderr, "Can't create TIFF file %s.\n", filename);
122                 goto failure;
123         }
124         if (read_image_striped(filename, XSIZE, YSIZE, rowsperstrip,
125                                 compression, spp, bps, photometric,
126                                 sampleformat, planarconfig,
127                                 (const tdata_t) byte_array1, byte_array1_size) < 0) {
128                 fprintf (stderr, "Can't read TIFF file %s.\n", filename);
129                 goto failure;
130         }
131         unlink(filename);
132         
133         rowsperstrip = YSIZE;
134         if (create_image_striped(filename, XSIZE, YSIZE, rowsperstrip,
135                                   compression, spp, bps, photometric,
136                                   sampleformat, planarconfig,
137                                   (const tdata_t) byte_array1, byte_array1_size) < 0) {
138                 fprintf (stderr, "Can't create TIFF file %s.\n", filename);
139                 goto failure;
140         }
141         if (read_image_striped(filename, XSIZE, YSIZE, rowsperstrip,
142                                 compression, spp, bps, photometric,
143                                 sampleformat, planarconfig,
144                                 (const tdata_t) byte_array1, byte_array1_size) < 0) {
145                 fprintf (stderr, "Can't read TIFF file %s.\n", filename);
146                 goto failure;
147         }
148         unlink(filename);
149
150         return 0;
151
152 failure:
153         unlink(filename);
154         return 1;
155 }
156
157 /* vim: set ts=8 sts=8 sw=8 noet: */