Mercurial > mplayer.hg
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 |
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 } |