10 #if GFX_USE_GMISC && GMISC_NEED_ARRAYOPS
23 case ARRAY_DATA_4BITUNSIGNED:
25 case ARRAY_DATA_4BITUNSIGNED:
if (dst != src)
while(cnt--) { *dst8++ = *src8++; }
break;
26 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst8++ = (*src8++ ^ 8); }
break;
27 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst8++ = *src8++ >> 4; }
break;
28 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst8++ = (*src8++ ^ 128) >> 4; }
break;
29 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 6; }
break;
30 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 6; }
break;
31 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 8; }
break;
32 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 8; }
break;
33 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 10; }
break;
34 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 10; }
break;
35 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 12; }
break;
36 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 12; }
break;
39 case ARRAY_DATA_4BITSIGNED:
41 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst8++ = (*src8++ ^ 8); }
break;
42 case ARRAY_DATA_4BITSIGNED:
if (dst != src)
while(cnt--) { *dst8++ = *src8++; }
break;
43 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst8++ = (*src8++ ^ 128) >> 4; }
break;
44 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst8++ = *src8++ >> 4; }
break;
45 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 6; }
break;
46 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 6; }
break;
47 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 8; }
break;
48 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 8; }
break;
49 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 10; }
break;
50 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 10; }
break;
51 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 12; }
break;
52 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 12; }
break;
55 case ARRAY_DATA_8BITUNSIGNED:
57 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst8++ = *src8++ << 4; }
break;
58 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst8++ = (*src8++ ^ 8) << 4; }
break;
59 case ARRAY_DATA_8BITUNSIGNED:
if (dst != src)
while(cnt--) { *dst8++ = *src8++; }
break;
60 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst8++ = (*src8++ ^ 128); }
break;
61 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 2; }
break;
62 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 2; }
break;
63 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 4; }
break;
64 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 4; }
break;
65 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 6; }
break;
66 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 6; }
break;
67 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 8; }
break;
68 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 8; }
break;
71 case ARRAY_DATA_8BITSIGNED:
73 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst8++ = (*src8++ ^ 8) << 4; }
break;
74 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst8++ = *src8++ << 4; }
break;
75 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst8++ = (*src8++ ^ 128); }
break;
76 case ARRAY_DATA_8BITSIGNED:
if (dst != src)
while(cnt--) { *dst8++ = *src8++; }
break;
77 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 512) >> 2; }
break;
78 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 2; }
break;
79 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 2048) >> 4; }
break;
80 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 4; }
break;
81 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 8192) >> 6; }
break;
82 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 6; }
break;
83 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst8++ = (*src16++ ^ 32768) >> 8; }
break;
84 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst8++ = *src16++ >> 8; }
break;
87 case ARRAY_DATA_10BITUNSIGNED:
89 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst16++ = *src8++ << 6; }
break;
90 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 8) << 6; }
break;
91 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst16++ = *src8++ << 2; }
break;
92 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 128) << 2; }
break;
93 case ARRAY_DATA_10BITUNSIGNED:
if (dst != src)
while(cnt--) { *dst16++ = *src16++; }
break;
94 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 512); }
break;
95 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 2; }
break;
96 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 2; }
break;
97 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 4; }
break;
98 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 4; }
break;
99 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 6; }
break;
100 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 6; }
break;
103 case ARRAY_DATA_10BITSIGNED:
105 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 8) << 6; }
break;
106 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst16++ = *src8++ << 6; }
break;
107 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 128) << 2; }
break;
108 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst16++ = *src8++ << 2; }
break;
109 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 512); }
break;
110 case ARRAY_DATA_10BITSIGNED:
if (dst != src)
while(cnt--) { *dst16++ = *src16++; }
break;
111 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 2; }
break;
112 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 2; }
break;
113 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 4; }
break;
114 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 4; }
break;
115 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 6; }
break;
116 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 6; }
break;
119 case ARRAY_DATA_12BITUNSIGNED:
121 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst16++ = *src8++ << 8; }
break;
122 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 8) << 8; }
break;
123 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst16++ = *src8++ << 4; }
break;
124 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 128) << 4; }
break;
125 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ << 2; }
break;
126 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 512) << 2; }
break;
127 case ARRAY_DATA_12BITUNSIGNED:
if (dst != src)
while(cnt--) { *dst16++ = *src16++; }
break;
128 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 2048); }
break;
129 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 2; }
break;
130 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 2; }
break;
131 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 4; }
break;
132 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 4; }
break;
135 case ARRAY_DATA_12BITSIGNED:
137 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 8) << 8; }
break;
138 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst16++ = *src8++ << 8; }
break;
139 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 128) << 4; }
break;
140 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst16++ = *src8++ << 4; }
break;
141 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 512) << 2; }
break;
142 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst16++ = *src16++ << 2; }
break;
143 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 2048); }
break;
144 case ARRAY_DATA_12BITSIGNED:
if (dst != src)
while(cnt--) { *dst16++ = *src16++; }
break;
145 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 2; }
break;
146 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 2; }
break;
147 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 4; }
break;
148 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 4; }
break;
151 case ARRAY_DATA_14BITUNSIGNED:
153 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst16++ = *src8++ << 10; }
break;
154 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 8) << 10; }
break;
155 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst16++ = *src8++ << 6; }
break;
156 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 128) << 6; }
break;
157 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ << 4; }
break;
158 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 512) << 4; }
break;
159 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ << 2; }
break;
160 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 2; }
break;
161 case ARRAY_DATA_14BITUNSIGNED:
if (dst != src)
while(cnt--) { *dst16++ = *src16++; }
break;
162 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 8192); }
break;
163 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 2; }
break;
164 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 2; }
break;
167 case ARRAY_DATA_14BITSIGNED:
169 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 8) << 10; }
break;
170 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst16++ = *src8++ << 10; }
break;
171 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 128) << 6; }
break;
172 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst16++ = *src8++ << 6; }
break;
173 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 512) << 4; }
break;
174 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst16++ = *src16++ << 4; }
break;
175 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 2048) << 2; }
break;
176 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst16++ = *src16++ << 2; }
break;
177 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 8192); }
break;
178 case ARRAY_DATA_14BITSIGNED:
if (dst != src)
while(cnt--) { *dst16++ = *src16++; }
break;
179 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 32768) >> 2; }
break;
180 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 2; }
break;
183 case ARRAY_DATA_16BITUNSIGNED:
185 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst16++ = *src8++ << 12; }
break;
186 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 8) << 12; }
break;
187 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst16++ = *src8++ << 8; }
break;
188 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 128) << 8; }
break;
189 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ << 6; }
break;
190 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 512) << 6; }
break;
191 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ << 4; }
break;
192 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 2048) >> 4; }
break;
193 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 2; }
break;
194 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 8192) >> 2; }
break;
195 case ARRAY_DATA_16BITUNSIGNED:
if (dst != src)
while(cnt--) { *dst16++ = *src16++; }
break;
196 case ARRAY_DATA_16BITSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 32768); }
break;
199 case ARRAY_DATA_16BITSIGNED:
201 case ARRAY_DATA_4BITUNSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 8) << 12; }
break;
202 case ARRAY_DATA_4BITSIGNED:
while(cnt--) { *dst16++ = *src8++ << 12; }
break;
203 case ARRAY_DATA_8BITUNSIGNED:
while(cnt--) { *dst16++ = (*src8++ ^ 128) << 8; }
break;
204 case ARRAY_DATA_8BITSIGNED:
while(cnt--) { *dst16++ = *src8++ << 8; }
break;
205 case ARRAY_DATA_10BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 512) << 6; }
break;
206 case ARRAY_DATA_10BITSIGNED:
while(cnt--) { *dst16++ = *src16++ << 6; }
break;
207 case ARRAY_DATA_12BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 2048) << 4; }
break;
208 case ARRAY_DATA_12BITSIGNED:
while(cnt--) { *dst16++ = *src16++ << 4; }
break;
209 case ARRAY_DATA_14BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 8192) << 2; }
break;
210 case ARRAY_DATA_14BITSIGNED:
while(cnt--) { *dst16++ = *src16++ >> 2; }
break;
211 case ARRAY_DATA_16BITUNSIGNED:
while(cnt--) { *dst16++ = (*src16++ ^ 32768); }
break;
212 case ARRAY_DATA_16BITSIGNED:
if (dst != src)
while(cnt--) { *dst16++ = *src16++; }
break;
void gmiscArrayConvert(ArrayDataFormat srcfmt, void *src, ArrayDataFormat dstfmt, void *dst, gMemSize cnt)
Convert from one array format to another array format.
enum ArrayDataFormat_e ArrayDataFormat
Sample data formats.