annotate postproc/cs_test.c @ 6603:6eab60ea6c11

colorspace converter tests (memory corruption tests at different width/src/dst) quite impressive results only 1 of the 13 rgb->rgb converters fails for the c versions ... sadly only 1 of the mmx converters passes though :( ... i feared allready that last mplayerxp merge reversed the bugfixes :((((
author michael
date Sat, 29 Jun 2002 15:01:23 +0000
parents
children e3a8a030c27a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6603
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
1 /*
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
2 Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
3
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
4 This program is free software; you can redistribute it and/or modify
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
5 it under the terms of the GNU General Public License as published by
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
6 the Free Software Foundation; either version 2 of the License, or
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
7 (at your option) any later version.
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
8
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
12 GNU General Public License for more details.
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
13
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
14 You should have received a copy of the GNU General Public License
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
15 along with this program; if not, write to the Free Software
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
17 */
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
18
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
19 #include <stdio.h>
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
20 #include <stdlib.h>
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
21 #include <inttypes.h>
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
22
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
23 #include "rgb2rgb.h"
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
24 #include "../cpudetect.h"
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
25
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
26 #define SIZE 1000
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
27 #define srcByte 0x55
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
28 #define dstByte 0xBB
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
29
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
30 main(int argc, char **argv)
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
31 {
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
32 int i, funcNum;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
33 uint8_t *srcBuffer= (uint8_t*)memalign(128, SIZE);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
34 uint8_t *dstBuffer= (uint8_t*)memalign(128, SIZE);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
35 int failedNum=0;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
36 int passedNum=0;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
37
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
38 printf("memory corruption test ...\n");
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
39
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
40 if(argc==2){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
41 GetCpuCaps(&gCpuCaps);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
42 printf("testing mmx\n");
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
43 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
44
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
45 for(funcNum=0; funcNum<100; funcNum++){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
46 int width;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
47 int failed=0;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
48 int srcBpp=0;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
49 int dstBpp=0;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
50
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
51 printf("."); fflush(stdout);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
52 memset(srcBuffer, srcByte, SIZE);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
53
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
54 for(width=32; width<64; width++){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
55 int dstOffset;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
56 for(dstOffset=128; dstOffset<196; dstOffset++){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
57 int srcOffset;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
58 memset(dstBuffer, dstByte, SIZE);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
59
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
60 for(srcOffset=128; srcOffset<196; srcOffset++){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
61 uint8_t *src= srcBuffer+srcOffset;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
62 uint8_t *dst= dstBuffer+dstOffset;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
63 char *name=NULL;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
64
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
65 if(failed) break; //dont fill the screen with shit ...
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
66
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
67 switch(funcNum){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
68 case 0:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
69 srcBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
70 dstBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
71 name="rgb15to16";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
72 rgb15to16(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
73 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
74 case 1:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
75 srcBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
76 dstBpp=3;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
77 name="rgb15to24";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
78 rgb15to24(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
79 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
80 case 2:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
81 srcBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
82 dstBpp=4;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
83 name="rgb15to32";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
84 rgb15to32(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
85 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
86 case 3:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
87 srcBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
88 dstBpp=3;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
89 name="rgb16to24";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
90 rgb16to24(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
91 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
92 case 4:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
93 srcBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
94 dstBpp=4;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
95 name="rgb16to32";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
96 rgb16to32(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
97 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
98 case 5:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
99 srcBpp=3;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
100 dstBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
101 name="rgb24to15";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
102 rgb24to15(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
103 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
104 case 6:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
105 srcBpp=3;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
106 dstBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
107 name="rgb24to16";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
108 rgb24to16(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
109 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
110 case 7:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
111 srcBpp=3;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
112 dstBpp=4;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
113 name="rgb24to32";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
114 rgb24to32(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
115 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
116 case 8:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
117 srcBpp=4;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
118 dstBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
119 name="rgb32to15";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
120 rgb32to15(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
121 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
122 case 9:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
123 srcBpp=4;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
124 dstBpp=2;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
125 name="rgb32to16";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
126 rgb32to16(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
127 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
128 case 10:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
129 srcBpp=4;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
130 dstBpp=3;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
131 name="rgb32to24";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
132 rgb32to24(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
133 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
134 case 11:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
135 srcBpp=3;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
136 dstBpp=3;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
137 name="rgb24tobgr24";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
138 rgb24tobgr24(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
139 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
140 case 12:
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
141 srcBpp=4;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
142 dstBpp=4;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
143 name="rgb32tobgr32";
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
144 rgb32tobgr32(src, dst, width*srcBpp);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
145 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
146 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
147 if(!srcBpp) break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
148
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
149 for(i=0; i<SIZE; i++){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
150 if(srcBuffer[i]!=srcByte){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
151 printf("src damaged at %d w:%d src:%d dst:%d %s\n",
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
152 i, width, srcOffset, dstOffset, name);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
153 failed=1;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
154 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
155 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
156 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
157 for(i=0; i<dstOffset; i++){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
158 if(dstBuffer[i]!=dstByte){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
159 printf("dst damaged at %d w:%d src:%d dst:%d %s\n",
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
160 i, width, srcOffset, dstOffset, name);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
161 failed=1;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
162 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
163 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
164 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
165 for(i=dstOffset + width*dstBpp; i<SIZE; i++){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
166 if(dstBuffer[i]!=dstByte){
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
167 printf("dst damaged at %d w:%d src:%d dst:%d %s\n",
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
168 i, width, srcOffset, dstOffset, name);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
169 failed=1;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
170 break;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
171 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
172 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
173 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
174 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
175 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
176 if(failed) failedNum++;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
177 else if(srcBpp) passedNum++;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
178 }
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
179
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
180 printf("%d converters passed, %d converters randomly overwrote memory\n", passedNum, failedNum);
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
181 return failedNum;
6eab60ea6c11 colorspace converter tests (memory corruption tests at different width/src/dst)
michael
parents:
diff changeset
182 }