gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
gbdk-support/png2hicolorgb/src/hicolor/fsdither.h
1 /* The GIMP -- an image manipulation program
2 * Copyright (C) 1995 Spencer Kimball and Peter Mattis
3 */
4 #ifndef __FSDITHER_H__
5 #define __FSDITHER_H__
6
7 /* The following 5 arrays are used in performing floyd-steinberg
8 * error diffusion dithering. The range array allows the quick
9 * bounds checking of pixel values. The 4 error arrays contain
10 * the error computations for the east, south-east, south and
11 * south-west pixels surrounding the current pixel respectively.
12 */
13
14 //short
15 unsigned char
16 range_array[] = {
17 /*
18 1 2 3 4 5 6 7 8 9 0
19 */
20 0,0,0,0,0,0,0,0,0,0, // L20
21 0,0,0,0,0,0,0,0,0,0,
22 0,0,0,0,0,0,0,0,0,0,
23 0,0,0,0,0,0,0,0,0,0,
24 0,0,0,0,0,0,0,0,0,0,
25 0,0,0,0,0,0,0,0,0,0,
26 0,0,0,0,0,0,0,0,0,0,
27 0,0,0,0,0,0,0,0,0,0,
28 0,0,0,0,0,0,0,0,0,0,
29 0,0,0,0,0,0,0,0,0,0,
30 0,0,0,0,0,0,0,0,0,0,
31 0,0,0,0,0,0,0,0,0,0,
32 0,0,0,0,0,0,0,0,0,0,
33 0,0,0,0,0,0,0,0,0,0,
34 0,0,0,0,0,0,0,0,0,0,
35 0,0,0,0,0,0,0,0,0,0,
36 0,0,0,0,0,0,0,0,0,0,
37 0,0,0,0,0,0,0,0,0,0,
38 0,0,0,0,0,0,0,0,0,0,
39 0,0,0,0,0,0,0,0,0,0,
40 0,0,0,0,0,0,0,0,0,0,
41 0,0,0,0,0,0,0,0,0,0,
42 0,0,0,0,0,0,0,0,0,0,
43 0,0,0,0,0,0,0,0,0,0,
44 0,0,0,0,0,0,0,0,0,0,
45 0,0,0,0,0,0,0,1,2,3, // L45 (+25) 250 - 260-4=256
46 4,5,6,7,8,9,10,11,12,13,
47 14,15,16,17,18,19,20,21,22,23,
48 24,25,26,27,28,29,30,31,32,33,
49 34,35,36,37,38,39,40,41,42,43,
50 44,45,46,47,48,49,50,51,52,53,
51 54,55,56,57,58,59,60,61,62,63,
52 64,65,66,67,68,69,70,71,72,73,
53 74,75,76,77,78,79,80,81,82,83,
54 84,85,86,87,88,89,90,91,92,93,
55 94,95,96,97,98,99,100,101,102,103,
56 104,105,106,107,108,109,110,111,112,113,
57 114,115,116,117,118,119,120,121,122,123,
58 124,125,126,127,128,129,130,131,132,133,
59 134,135,136,137,138,139,140,141,142,143,
60 144,145,146,147,148,149,150,151,152,153,
61 154,155,156,157,158,159,160,161,162,163,
62 164,165,166,167,168,169,170,171,172,173,
63 174,175,176,177,178,179,180,181,182,183,
64 184,185,186,187,188,189,190,191,192,193,
65 194,195,196,197,198,199,200,201,202,203,
66 204,205,206,207,208,209,210,211,212,213,
67 214,215,216,217,218,219,220,221,222,223,
68 224,225,226,227,228,229,230,231,232,233,
69 234,235,236,237,238,239,240,241,242,243,
70 244,245,246,247,248,249,250,251,252,253,
71 254,255,255,255,255,255,255,255,255,255,
72 255,255,255,255,255,255,255,255,255,255,
73 255,255,255,255,255,255,255,255,255,255,
74 255,255,255,255,255,255,255,255,255,255,
75 255,255,255,255,255,255,255,255,255,255,
76 255,255,255,255,255,255,255,255,255,255,
77 255,255,255,255,255,255,255,255,255,255,
78 255,255,255,255,255,255,255,255,255,255,
79 255,255,255,255,255,255,255,255,255,255,
80 255,255,255,255,255,255,255,255,255,255,
81 255,255,255,255,255,255,255,255,255,255,
82 255,255,255,255,255,255,255,255,255,255,
83 255,255,255,255,255,255,255,255,255,255,
84 255,255,255,255,255,255,255,255,255,255,
85 255,255,255,255,255,255,255,255,255,255,
86 255,255,255,255,255,255,255,255,255,255,
87 255,255,255,255,255,255,255,255,255,255,
88 255,255,255,255,255,255,255,255,255,255,
89 255,255,255,255,255,255,255,255,255,255,
90 255,255,255,255,255,255,255,255,255,255,
91 255,255,255,255,255,255,255,255,255,255,
92 255,255,255,255,255,255,255,255,255,255,
93 255,255,255,255,255,255,255,255,255,255,
94 255,255,255,255,255,255,255,255,255,255,
95 255,255,255,255,255,255,255,255,255,255,
96 255,255,255,255,255,255,255,255,255,255,
97 255,255,255,255,255,255,255,255,255,255,
98 255,255,255,255,255,255,255,255,255,255,
99 255,255,255,255,255,255,255,255,255,255,
100 255,255,255,255,255,255,255,255,255,255,
101 255,255,255,255,255,255,255,255,255,255,
102 255,255,255,255,255,255,255,255,255,255,
103 255,255,255,255,255,255,255,255,255,255,
104 255,255,255,255,255,255,255,255,255,255,
105 255,255,255,255,255,255,255,255,255,255,
106 255,255,255,255,255,255,255,255,255,255,
107 255,255,255,255,255,255,255,255,255,255,
108 255,255,255,255,255,255,255,255,255,255,
109 255,255,255,255,255,255,255,255,255,255,
110 255,255,255,255,255,255,255,255,255,255,
111 255,255,255,255,255,255,255,255,255,255,
112 255,255,255,255,255,255,255,255,255,255,
113 255,255,255,255,255,255,255,255,255,255,
114 255,255,255,255,255,255,255,255,255,255,
115 255,255,255,255,255,255,255,255,255,255,
116 255,255,255,255,255,255,255,255,255,255,
117 255,255,255,255,255,255,255,255,255,255,
118 255,255,255,255,255,255,255,255,255,255,
119 255,255,255,255,255,255,255,255,255,255,
120 255,255,255,255,255,255,255,255,255,255,
121 255,255,255,255,255,255,255,255,255,255,
122 255,255,255,255,255, // L122 : 122-20=102
123 // 102*10-5 = 1015
124 };
125
126 short floyd_steinberg_error1[] = {
127 -223,-223,-222,-222,-221,-221,-220,-220,-220,-219,
128 -219,-218,-218,-217,-217,-217,-216,-216,-215,-215,
129 -214,-214,-213,-213,-213,-212,-212,-211,-211,-210,
130 -210,-210,-209,-209,-208,-208,-207,-207,-206,-206,
131 -206,-205,-205,-204,-204,-203,-203,-203,-202,-202,
132 -201,-201,-200,-200,-199,-199,-199,-198,-198,-197,
133 -197,-196,-196,-196,-195,-195,-194,-194,-193,-193,
134 -192,-192,-192,-191,-191,-190,-190,-189,-189,-189,
135 -188,-188,-187,-187,-186,-186,-185,-185,-185,-184,
136 -184,-183,-183,-182,-182,-182,-181,-181,-180,-180,
137 -179,-179,-178,-178,-178,-177,-177,-176,-176,-175,
138 -175,-175,-174,-174,-173,-173,-172,-172,-171,-171,
139 -171,-170,-170,-169,-169,-168,-168,-168,-167,-167,
140 -166,-166,-165,-165,-164,-164,-164,-163,-163,-162,
141 -162,-161,-161,-161,-160,-160,-159,-159,-158,-158,
142 -157,-157,-157,-156,-156,-155,-155,-154,-154,-154,
143 -153,-153,-152,-152,-151,-151,-150,-150,-150,-149,
144 -149,-148,-148,-147,-147,-147,-146,-146,-145,-145,
145 -144,-144,-143,-143,-143,-142,-142,-141,-141,-140,
146 -140,-140,-139,-139,-138,-138,-137,-137,-136,-136,
147 -136,-135,-135,-134,-134,-133,-133,-133,-132,-132,
148 -131,-131,-130,-130,-129,-129,-129,-128,-128,-127,
149 -127,-126,-126,-126,-125,-125,-124,-124,-123,-123,
150 -122,-122,-122,-121,-121,-120,-120,-119,-119,-119,
151 -118,-118,-117,-117,-116,-116,-115,-115,-115,-114,
152 -114,-113,-113,-112,-112,-112,-111,-111,-110,-110,
153 -109,-109,-108,-108,-108,-107,-107,-106,-106,-105,
154 -105,-105,-104,-104,-103,-103,-102,-102,-101,-101,
155 -101,-100,-100,-99,-99,-98,-98,-98,-97,-97,
156 -96,-96,-95,-95,-94,-94,-94,-93,-93,-92,
157 -92,-91,-91,-91,-90,-90,-89,-89,-88,-88,
158 -87,-87,-87,-86,-86,-85,-85,-84,-84,-84,
159 -83,-83,-82,-82,-81,-81,-80,-80,-80,-79,
160 -79,-78,-78,-77,-77,-77,-76,-76,-75,-75,
161 -74,-74,-73,-73,-73,-72,-72,-71,-71,-70,
162 -70,-70,-69,-69,-68,-68,-67,-67,-66,-66,
163 -66,-65,-65,-64,-64,-63,-63,-63,-62,-62,
164 -61,-61,-60,-60,-59,-59,-59,-58,-58,-57,
165 -57,-56,-56,-56,-55,-55,-54,-54,-53,-53,
166 -52,-52,-52,-51,-51,-50,-50,-49,-49,-49,
167 -48,-48,-47,-47,-46,-46,-45,-45,-45,-44,
168 -44,-43,-43,-42,-42,-42,-41,-41,-40,-40,
169 -39,-39,-38,-38,-38,-37,-37,-36,-36,-35,
170 -35,-35,-34,-34,-33,-33,-32,-32,-31,-31,
171 -31,-30,-30,-29,-29,-28,-28,-28,-27,-27,
172 -26,-26,-25,-25,-24,-24,-24,-23,-23,-22,
173 -22,-21,-21,-21,-20,-20,-19,-19,-18,-18,
174 -17,-17,-17,-16,-16,-15,-15,-14,-14,-14,
175 -13,-13,-12,-12,-11,-11,-10,-10,-10,-9,
176 -9,-8,-8,-7,-7,-7,-6,-6,-5,-5,
177 -4,-4,-3,-3,-3,-2,-2,-1,-1,
178 0,
179 0,0,0,0,1,1,2,2,3,3,
180 3,4,4,5,5,6,6,7,7,7,
181 8,8,9,9,10,10,10,11,11,12,
182 12,13,13,14,14,14,15,15,16,16,
183 17,17,17,18,18,19,19,20,20,21,
184 21,21,22,22,23,23,24,24,24,25,
185 25,26,26,27,27,28,28,28,29,29,
186 30,30,31,31,31,32,32,33,33,34,
187 34,35,35,35,36,36,37,37,38,38,
188 38,39,39,40,40,41,41,42,42,42,
189 43,43,44,44,45,45,45,46,46,47,
190 47,48,48,49,49,49,50,50,51,51,
191 52,52,52,53,53,54,54,55,55,56,
192 56,56,57,57,58,58,59,59,59,60,
193 60,61,61,62,62,63,63,63,64,64,
194 65,65,66,66,66,67,67,68,68,69,
195 69,70,70,70,71,71,72,72,73,73,
196 73,74,74,75,75,76,76,77,77,77,
197 78,78,79,79,80,80,80,81,81,82,
198 82,83,83,84,84,84,85,85,86,86,
199 87,87,87,88,88,89,89,90,90,91,
200 91,91,92,92,93,93,94,94,94,95,
201 95,96,96,97,97,98,98,98,99,99,
202 100,100,101,101,101,102,102,103,103,104,
203 104,105,105,105,106,106,107,107,108,108,
204 108,109,109,110,110,111,111,112,112,112,
205 113,113,114,114,115,115,115,116,116,117,
206 117,118,118,119,119,119,120,120,121,121,
207 122,122,122,123,123,124,124,125,125,126,
208 126,126,127,127,128,128,129,129,129,130,
209 130,131,131,132,132,133,133,133,134,134,
210 135,135,136,136,136,137,137,138,138,139,
211 139,140,140,140,141,141,142,142,143,143,
212 143,144,144,145,145,146,146,147,147,147,
213 148,148,149,149,150,150,150,151,151,152,
214 152,153,153,154,154,154,155,155,156,156,
215 157,157,157,158,158,159,159,160,160,161,
216 161,161,162,162,163,163,164,164,164,165,
217 165,166,166,167,167,168,168,168,169,169,
218 170,170,171,171,171,172,172,173,173,174,
219 174,175,175,175,176,176,177,177,178,178,
220 178,179,179,180,180,181,181,182,182,182,
221 183,183,184,184,185,185,185,186,186,187,
222 187,188,188,189,189,189,190,190,191,191,
223 192,192,192,193,193,194,194,195,195,196,
224 196,196,197,197,198,198,199,199,199,200,
225 200,201,201,202,202,203,203,203,204,204,
226 205,205,206,206,206,207,207,208,208,209,
227 209,210,210,210,211,211,212,212,213,213,
228 213,214,214,215,215,216,216,217,217,217,
229 218,218,219,219,220,220,220,221,221,222,
230 222,223,223,224,224,
231 };
232
233 short floyd_steinberg_error2[] = {
234 -95,-95,-95,-95,-95,-94,-94,-94,-94,-94,
235 -93,-93,-93,-93,-93,-93,-92,-92,-92,-92,
236 -92,-91,-91,-91,-91,-91,-90,-90,-90,-90,
237 -90,-90,-89,-89,-89,-89,-89,-88,-88,-88,
238 -88,-88,-87,-87,-87,-87,-87,-87,-86,-86,
239 -86,-86,-86,-85,-85,-85,-85,-85,-84,-84,
240 -84,-84,-84,-84,-83,-83,-83,-83,-83,-82,
241 -82,-82,-82,-82,-81,-81,-81,-81,-81,-81,
242 -80,-80,-80,-80,-80,-79,-79,-79,-79,-79,
243 -78,-78,-78,-78,-78,-78,-77,-77,-77,-77,
244 -77,-76,-76,-76,-76,-76,-75,-75,-75,-75,
245 -75,-75,-74,-74,-74,-74,-74,-73,-73,-73,
246 -73,-73,-72,-72,-72,-72,-72,-72,-71,-71,
247 -71,-71,-71,-70,-70,-70,-70,-70,-69,-69,
248 -69,-69,-69,-69,-68,-68,-68,-68,-68,-67,
249 -67,-67,-67,-67,-66,-66,-66,-66,-66,-66,
250 -65,-65,-65,-65,-65,-64,-64,-64,-64,-64,
251 -63,-63,-63,-63,-63,-63,-62,-62,-62,-62,
252 -62,-61,-61,-61,-61,-61,-60,-60,-60,-60,
253 -60,-60,-59,-59,-59,-59,-59,-58,-58,-58,
254 -58,-58,-57,-57,-57,-57,-57,-57,-56,-56,
255 -56,-56,-56,-55,-55,-55,-55,-55,-54,-54,
256 -54,-54,-54,-54,-53,-53,-53,-53,-53,-52,
257 -52,-52,-52,-52,-51,-51,-51,-51,-51,-51,
258 -50,-50,-50,-50,-50,-49,-49,-49,-49,-49,
259 -48,-48,-48,-48,-48,-48,-47,-47,-47,-47,
260 -47,-46,-46,-46,-46,-46,-45,-45,-45,-45,
261 -45,-45,-44,-44,-44,-44,-44,-43,-43,-43,
262 -43,-43,-42,-42,-42,-42,-42,-42,-41,-41,
263 -41,-41,-41,-40,-40,-40,-40,-40,-39,-39,
264 -39,-39,-39,-39,-38,-38,-38,-38,-38,-37,
265 -37,-37,-37,-37,-36,-36,-36,-36,-36,-36,
266 -35,-35,-35,-35,-35,-34,-34,-34,-34,-34,
267 -33,-33,-33,-33,-33,-33,-32,-32,-32,-32,
268 -32,-31,-31,-31,-31,-31,-30,-30,-30,-30,
269 -30,-30,-29,-29,-29,-29,-29,-28,-28,-28,
270 -28,-28,-27,-27,-27,-27,-27,-27,-26,-26,
271 -26,-26,-26,-25,-25,-25,-25,-25,-24,-24,
272 -24,-24,-24,-24,-23,-23,-23,-23,-23,-22,
273 -22,-22,-22,-22,-21,-21,-21,-21,-21,-21,
274 -20,-20,-20,-20,-20,-19,-19,-19,-19,-19,
275 -18,-18,-18,-18,-18,-18,-17,-17,-17,-17,
276 -17,-16,-16,-16,-16,-16,-15,-15,-15,-15,
277 -15,-15,-14,-14,-14,-14,-14,-13,-13,-13,
278 -13,-13,-12,-12,-12,-12,-12,-12,-11,-11,
279 -11,-11,-11,-10,-10,-10,-10,-10,-9,-9,
280 -9,-9,-9,-9,-8,-8,-8,-8,-8,-7,
281 -7,-7,-7,-7,-6,-6,-6,-6,-6,-6,
282 -5,-5,-5,-5,-5,-4,-4,-4,-4,-4,
283 -3,-3,-3,-3,-3,-3,-2,-2,-2,-2,
284 -2,-1,-1,-1,-1,-1,
285 0,0,0,0,
286 0,0,0,0,0,0,0,1,1,1,
287 1,1,2,2,2,2,2,3,3,3,
288 3,3,3,4,4,4,4,4,5,5,
289 5,5,5,6,6,6,6,6,6,7,
290 7,7,7,7,8,8,8,8,8,9,
291 9,9,9,9,9,10,10,10,10,10,
292 11,11,11,11,11,12,12,12,12,12,
293 12,13,13,13,13,13,14,14,14,14,
294 14,15,15,15,15,15,15,16,16,16,
295 16,16,17,17,17,17,17,18,18,18,
296 18,18,18,19,19,19,19,19,20,20,
297 20,20,20,21,21,21,21,21,21,22,
298 22,22,22,22,23,23,23,23,23,24,
299 24,24,24,24,24,25,25,25,25,25,
300 26,26,26,26,26,27,27,27,27,27,
301 27,28,28,28,28,28,29,29,29,29,
302 29,30,30,30,30,30,30,31,31,31,
303 31,31,32,32,32,32,32,33,33,33,
304 33,33,33,34,34,34,34,34,35,35,
305 35,35,35,36,36,36,36,36,36,37,
306 37,37,37,37,38,38,38,38,38,39,
307 39,39,39,39,39,40,40,40,40,40,
308 41,41,41,41,41,42,42,42,42,42,
309 42,43,43,43,43,43,44,44,44,44,
310 44,45,45,45,45,45,45,46,46,46,
311 46,46,47,47,47,47,47,48,48,48,
312 48,48,48,49,49,49,49,49,50,50,
313 50,50,50,51,51,51,51,51,51,52,
314 52,52,52,52,53,53,53,53,53,54,
315 54,54,54,54,54,55,55,55,55,55,
316 56,56,56,56,56,57,57,57,57,57,
317 57,58,58,58,58,58,59,59,59,59,
318 59,60,60,60,60,60,60,61,61,61,
319 61,61,62,62,62,62,62,63,63,63,
320 63,63,63,64,64,64,64,64,65,65,
321 65,65,65,66,66,66,66,66,66,67,
322 67,67,67,67,68,68,68,68,68,69,
323 69,69,69,69,69,70,70,70,70,70,
324 71,71,71,71,71,72,72,72,72,72,
325 72,73,73,73,73,73,74,74,74,74,
326 74,75,75,75,75,75,75,76,76,76,
327 76,76,77,77,77,77,77,78,78,78,
328 78,78,78,79,79,79,79,79,80,80,
329 80,80,80,81,81,81,81,81,81,82,
330 82,82,82,82,83,83,83,83,83,84,
331 84,84,84,84,84,85,85,85,85,85,
332 86,86,86,86,86,87,87,87,87,87,
333 87,88,88,88,88,88,89,89,89,89,
334 89,90,90,90,90,90,90,91,91,91,
335 91,91,92,92,92,92,92,93,93,93,
336 93,93,93,94,94,94,94,94,95,95,
337 95,95,95,96,96,
338 };
339
340 short floyd_steinberg_error3[] = {
341 -159,-159,-159,-158,-158,-158,-157,-157,-157,-156,
342 -156,-156,-155,-155,-155,-155,-154,-154,-154,-153,
343 -153,-153,-152,-152,-152,-151,-151,-151,-150,-150,
344 -150,-150,-149,-149,-149,-148,-148,-148,-147,-147,
345 -147,-146,-146,-146,-145,-145,-145,-145,-144,-144,
346 -144,-143,-143,-143,-142,-142,-142,-141,-141,-141,
347 -140,-140,-140,-140,-139,-139,-139,-138,-138,-138,
348 -137,-137,-137,-136,-136,-136,-135,-135,-135,-135,
349 -134,-134,-134,-133,-133,-133,-132,-132,-132,-131,
350 -131,-131,-130,-130,-130,-130,-129,-129,-129,-128,
351 -128,-128,-127,-127,-127,-126,-126,-126,-125,-125,
352 -125,-125,-124,-124,-124,-123,-123,-123,-122,-122,
353 -122,-121,-121,-121,-120,-120,-120,-120,-119,-119,
354 -119,-118,-118,-118,-117,-117,-117,-116,-116,-116,
355 -115,-115,-115,-115,-114,-114,-114,-113,-113,-113,
356 -112,-112,-112,-111,-111,-111,-110,-110,-110,-110,
357 -109,-109,-109,-108,-108,-108,-107,-107,-107,-106,
358 -106,-106,-105,-105,-105,-105,-104,-104,-104,-103,
359 -103,-103,-102,-102,-102,-101,-101,-101,-100,-100,
360 -100,-100,-99,-99,-99,-98,-98,-98,-97,-97,
361 -97,-96,-96,-96,-95,-95,-95,-95,-94,-94,
362 -94,-93,-93,-93,-92,-92,-92,-91,-91,-91,
363 -90,-90,-90,-90,-89,-89,-89,-88,-88,-88,
364 -87,-87,-87,-86,-86,-86,-85,-85,-85,-85,
365 -84,-84,-84,-83,-83,-83,-82,-82,-82,-81,
366 -81,-81,-80,-80,-80,-80,-79,-79,-79,-78,
367 -78,-78,-77,-77,-77,-76,-76,-76,-75,-75,
368 -75,-75,-74,-74,-74,-73,-73,-73,-72,-72,
369 -72,-71,-71,-71,-70,-70,-70,-70,-69,-69,
370 -69,-68,-68,-68,-67,-67,-67,-66,-66,-66,
371 -65,-65,-65,-65,-64,-64,-64,-63,-63,-63,
372 -62,-62,-62,-61,-61,-61,-60,-60,-60,-60,
373 -59,-59,-59,-58,-58,-58,-57,-57,-57,-56,
374 -56,-56,-55,-55,-55,-55,-54,-54,-54,-53,
375 -53,-53,-52,-52,-52,-51,-51,-51,-50,-50,
376 -50,-50,-49,-49,-49,-48,-48,-48,-47,-47,
377 -47,-46,-46,-46,-45,-45,-45,-45,-44,-44,
378 -44,-43,-43,-43,-42,-42,-42,-41,-41,-41,
379 -40,-40,-40,-40,-39,-39,-39,-38,-38,-38,
380 -37,-37,-37,-36,-36,-36,-35,-35,-35,-35,
381 -34,-34,-34,-33,-33,-33,-32,-32,-32,-31,
382 -31,-31,-30,-30,-30,-30,-29,-29,-29,-28,
383 -28,-28,-27,-27,-27,-26,-26,-26,-25,-25,
384 -25,-25,-24,-24,-24,-23,-23,-23,-22,-22,
385 -22,-21,-21,-21,-20,-20,-20,-20,-19,-19,
386 -19,-18,-18,-18,-17,-17,-17,-16,-16,-16,
387 -15,-15,-15,-15,-14,-14,-14,-13,-13,-13,
388 -12,-12,-12,-11,-11,-11,-10,-10,-10,-10,
389 -9,-9,-9,-8,-8,-8,-7,-7,-7,-6,
390 -6,-6,-5,-5,-5,-5,-4,-4,-4,-3,
391 -3,-3,-2,-2,-2,-1,-1,-1,
392 0,0,
393 0,0,0,0,0,1,1,1,2,2,
394 2,3,3,3,4,4,4,5,5,5,
395 5,6,6,6,7,7,7,8,8,8,
396 9,9,9,10,10,10,10,11,11,11,
397 12,12,12,13,13,13,14,14,14,15,
398 15,15,15,16,16,16,17,17,17,18,
399 18,18,19,19,19,20,20,20,20,21,
400 21,21,22,22,22,23,23,23,24,24,
401 24,25,25,25,25,26,26,26,27,27,
402 27,28,28,28,29,29,29,30,30,30,
403 30,31,31,31,32,32,32,33,33,33,
404 34,34,34,35,35,35,35,36,36,36,
405 37,37,37,38,38,38,39,39,39,40,
406 40,40,40,41,41,41,42,42,42,43,
407 43,43,44,44,44,45,45,45,45,46,
408 46,46,47,47,47,48,48,48,49,49,
409 49,50,50,50,50,51,51,51,52,52,
410 52,53,53,53,54,54,54,55,55,55,
411 55,56,56,56,57,57,57,58,58,58,
412 59,59,59,60,60,60,60,61,61,61,
413 62,62,62,63,63,63,64,64,64,65,
414 65,65,65,66,66,66,67,67,67,68,
415 68,68,69,69,69,70,70,70,70,71,
416 71,71,72,72,72,73,73,73,74,74,
417 74,75,75,75,75,76,76,76,77,77,
418 77,78,78,78,79,79,79,80,80,80,
419 80,81,81,81,82,82,82,83,83,83,
420 84,84,84,85,85,85,85,86,86,86,
421 87,87,87,88,88,88,89,89,89,90,
422 90,90,90,91,91,91,92,92,92,93,
423 93,93,94,94,94,95,95,95,95,96,
424 96,96,97,97,97,98,98,98,99,99,
425 99,100,100,100,100,101,101,101,102,102,
426 102,103,103,103,104,104,104,105,105,105,
427 105,106,106,106,107,107,107,108,108,108,
428 109,109,109,110,110,110,110,111,111,111,
429 112,112,112,113,113,113,114,114,114,115,
430 115,115,115,116,116,116,117,117,117,118,
431 118,118,119,119,119,120,120,120,120,121,
432 121,121,122,122,122,123,123,123,124,124,
433 124,125,125,125,125,126,126,126,127,127,
434 127,128,128,128,129,129,129,130,130,130,
435 130,131,131,131,132,132,132,133,133,133,
436 134,134,134,135,135,135,135,136,136,136,
437 137,137,137,138,138,138,139,139,139,140,
438 140,140,140,141,141,141,142,142,142,143,
439 143,143,144,144,144,145,145,145,145,146,
440 146,146,147,147,147,148,148,148,149,149,
441 149,150,150,150,150,151,151,151,152,152,
442 152,153,153,153,154,154,154,155,155,155,
443 155,156,156,156,157,157,157,158,158,158,
444 159,159,159,160,160,
445 };
446
447 short floyd_steinberg_error4[] = {
448 -34,-33,-33,-33,-33,-33,-34,-33,-32,-33,
449 -33,-33,-33,-33,-32,-31,-33,-32,-32,-32,
450 -32,-32,-33,-32,-31,-32,-32,-32,-32,-32,
451 -31,-30,-32,-31,-31,-31,-31,-31,-32,-31,
452 -30,-31,-31,-31,-31,-31,-30,-29,-31,-30,
453 -30,-30,-30,-30,-31,-30,-29,-30,-30,-30,
454 -30,-30,-29,-28,-30,-29,-29,-29,-29,-29,
455 -30,-29,-28,-29,-29,-29,-29,-29,-28,-27,
456 -29,-28,-28,-28,-28,-28,-29,-28,-27,-28,
457 -28,-28,-28,-28,-27,-26,-28,-27,-27,-27,
458 -27,-27,-28,-27,-26,-27,-27,-27,-27,-27,
459 -26,-25,-27,-26,-26,-26,-26,-26,-27,-26,
460 -25,-26,-26,-26,-26,-26,-25,-24,-26,-25,
461 -25,-25,-25,-25,-26,-25,-24,-25,-25,-25,
462 -25,-25,-24,-23,-25,-24,-24,-24,-24,-24,
463 -25,-24,-23,-24,-24,-24,-24,-24,-23,-22,
464 -24,-23,-23,-23,-23,-23,-24,-23,-22,-23,
465 -23,-23,-23,-23,-22,-21,-23,-22,-22,-22,
466 -22,-22,-23,-22,-21,-22,-22,-22,-22,-22,
467 -21,-20,-22,-21,-21,-21,-21,-21,-22,-21,
468 -20,-21,-21,-21,-21,-21,-20,-19,-21,-20,
469 -20,-20,-20,-20,-21,-20,-19,-20,-20,-20,
470 -20,-20,-19,-18,-20,-19,-19,-19,-19,-19,
471 -20,-19,-18,-19,-19,-19,-19,-19,-18,-17,
472 -19,-18,-18,-18,-18,-18,-19,-18,-17,-18,
473 -18,-18,-18,-18,-17,-16,-18,-17,-17,-17,
474 -17,-17,-18,-17,-16,-17,-17,-17,-17,-17,
475 -16,-15,-17,-16,-16,-16,-16,-16,-17,-16,
476 -15,-16,-16,-16,-16,-16,-15,-14,-16,-15,
477 -15,-15,-15,-15,-16,-15,-14,-15,-15,-15,
478 -15,-15,-14,-13,-15,-14,-14,-14,-14,-14,
479 -15,-14,-13,-14,-14,-14,-14,-14,-13,-12,
480 -14,-13,-13,-13,-13,-13,-14,-13,-12,-13,
481 -13,-13,-13,-13,-12,-11,-13,-12,-12,-12,
482 -12,-12,-13,-12,-11,-12,-12,-12,-12,-12,
483 -11,-10,-12,-11,-11,-11,-11,-11,-12,-11,
484 -10,-11,-11,-11,-11,-11,-10,-9,-11,-10,
485 -10,-10,-10,-10,-11,-10,-9,-10,-10,-10,
486 -10,-10,-9,-8,-10,-9,-9,-9,-9,-9,
487 -10,-9,-8,-9,-9,-9,-9,-9,-8,-7,
488 -9,-8,-8,-8,-8,-8,-9,-8,-7,-8,
489 -8,-8,-8,-8,-7,-6,-8,-7,-7,-7,
490 -7,-7,-8,-7,-6,-7,-7,-7,-7,-7,
491 -6,-5,-7,-6,-6,-6,-6,-6,-7,-6,
492 -5,-6,-6,-6,-6,-6,-5,-4,-6,-5,
493 -5,-5,-5,-5,-6,-5,-4,-5,-5,-5,
494 -5,-5,-4,-3,-5,-4,-4,-4,-4,-4,
495 -5,-4,-3,-4,-4,-4,-4,-4,-3,-2,
496 -4,-3,-3,-3,-3,-3,-4,-3,-2,-3,
497 -3,-3,-3,-3,-2,-1,-3,-2,-2,-2,
498 -2,-2,-3,-2,-1,-2,-2,-2,-2,-2,
499 -1,
500 0,1,2,2,2,2,2,1,2,
501 3,2,2,2,2,2,3,1,2,3,
502 3,3,3,3,2,3,4,3,3,3,
503 3,3,4,2,3,4,4,4,4,4,
504 3,4,5,4,4,4,4,4,5,3,
505 4,5,5,5,5,5,4,5,6,5,
506 5,5,5,5,6,4,5,6,6,6,
507 6,6,5,6,7,6,6,6,6,6,
508 7,5,6,7,7,7,7,7,6,7,
509 8,7,7,7,7,7,8,6,7,8,
510 8,8,8,8,7,8,9,8,8,8,
511 8,8,9,7,8,9,9,9,9,9,
512 8,9,10,9,9,9,9,9,10,8,
513 9,10,10,10,10,10,9,10,11,10,
514 10,10,10,10,11,9,10,11,11,11,
515 11,11,10,11,12,11,11,11,11,11,
516 12,10,11,12,12,12,12,12,11,12,
517 13,12,12,12,12,12,13,11,12,13,
518 13,13,13,13,12,13,14,13,13,13,
519 13,13,14,12,13,14,14,14,14,14,
520 13,14,15,14,14,14,14,14,15,13,
521 14,15,15,15,15,15,14,15,16,15,
522 15,15,15,15,16,14,15,16,16,16,
523 16,16,15,16,17,16,16,16,16,16,
524 17,15,16,17,17,17,17,17,16,17,
525 18,17,17,17,17,17,18,16,17,18,
526 18,18,18,18,17,18,19,18,18,18,
527 18,18,19,17,18,19,19,19,19,19,
528 18,19,20,19,19,19,19,19,20,18,
529 19,20,20,20,20,20,19,20,21,20,
530 20,20,20,20,21,19,20,21,21,21,
531 21,21,20,21,22,21,21,21,21,21,
532 22,20,21,22,22,22,22,22,21,22,
533 23,22,22,22,22,22,23,21,22,23,
534 23,23,23,23,22,23,24,23,23,23,
535 23,23,24,22,23,24,24,24,24,24,
536 23,24,25,24,24,24,24,24,25,23,
537 24,25,25,25,25,25,24,25,26,25,
538 25,25,25,25,26,24,25,26,26,26,
539 26,26,25,26,27,26,26,26,26,26,
540 27,25,26,27,27,27,27,27,26,27,
541 28,27,27,27,27,27,28,26,27,28,
542 28,28,28,28,27,28,29,28,28,28,
543 28,28,29,27,28,29,29,29,29,29,
544 28,29,30,29,29,29,29,29,30,28,
545 29,30,30,30,30,30,29,30,31,30,
546 30,30,30,30,31,29,30,31,31,31,
547 31,31,30,31,32,31,31,31,31,31,
548 32,30,31,32,32,32,32,32,31,32,
549 33,32,32,32,32,32,33,31,32,33,
550 33,33,33,33,32,33,34,33,33,33,
551 33,33,34,32,33,
552 };
553
554 #endif /* __FSDITHER_H__ */
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.