Paparazzi UAS v7.1_unstable
Paparazzi is a free software Unmanned Aircraft System.
Loading...
Searching...
No Matches
fast_rosten.c
Go to the documentation of this file.
1/*
2Copyright (c) 2006, 2008 Edward Rosten
3All rights reserved.
4
5Redistribution and use in source and binary forms, with or without
6modification, are permitted provided that the following conditions
7are met:
8
9
10 *Redistributions of source code must retain the above copyright
11 notice, this list of conditions and the following disclaimer.
12
13 *Redistributions in binary form must reproduce the above copyright
14 notice, this list of conditions and the following disclaimer in the
15 documentation and/or other materials provided with the distribution.
16
17 *Neither the name of the University of Cambridge nor the names of
18 its contributors may be used to endorse or promote products derived
19 from this software without specific prior written permission.
20
21THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32*/
33
34#include <stdlib.h>
35#include "fast_rosten.h"
36
37static void fast_make_offsets(int32_t *pixel, uint16_t row_stride, uint8_t pixel_size);
38
52void fast9_detect(struct image_t *img, uint8_t threshold, uint16_t min_dist, uint16_t x_padding, uint16_t y_padding, uint16_t *num_corners, uint16_t *ret_corners_length, struct point_t **ret_corners, uint16_t *roi)
53{
54
55 uint16_t corner_cnt = *num_corners;
56 int pixel[16];
57 int16_t i;
58 uint16_t x, y, x_min, x_max, x_start, x_end, y_start, y_end;
59 uint16_t y_min = 0; // only set and used when min_dist > 0
60 uint8_t need_skip;
61 // Set the pixel size
62 uint8_t pixel_size = 1;
63 if (img->type == IMAGE_YUV422) {
64 pixel_size = 2;
65 }
66
67 if(x_padding < min_dist) x_padding = min_dist;
68 if(y_padding < min_dist) y_padding = min_dist;
69
70 if (!roi) {
71 x_start = 3 + x_padding;
72 y_start = 3 + y_padding;
73 x_end = img->w - 3 - x_padding;
74 y_end = img->h - 3 - y_padding;
75 } else {
76 x_start = roi[0] > 0 ? roi[0] : 3 + x_padding;
77 y_start = roi[1] > 0 ? roi[1] : 3 + y_padding;
78 x_end = roi[2] < (img->w - 3 - x_padding) ? roi[2] : img->w - 3 - x_padding;
79 y_end = roi[3] < (img->h - 3 - y_padding) ? roi[3] : img->h - 3 - y_padding;
80
81 }
82
83 // Calculate the pixel offsets
84 fast_make_offsets(pixel, img->w, pixel_size);
85
86 // Go trough all the pixels (minus the borders and inside the requested roi)
87 for (y = y_start; y < y_end; y++) {
88
89 if (min_dist > 0) { y_min = y - min_dist; }
90
91 for (x = x_start; x < x_end; x++) {
92 // First check if we aren't in range vertical (TODO: fix less intensive way)
93 if (min_dist > 0) {
94
95 need_skip = 0;
96
97 x_min = x - min_dist;
98 x_max = x + min_dist;
99
100
101 // Go through the previous corners until y goes out of range
102 i = corner_cnt - 1;
103 while (i >= 0) {
104
105 // corners are stored with increasing y,
106 // so if we go from the last to the first, then their y-coordinate will go out of range
107 if ((*ret_corners)[i].y < y_min) {
108 break;
109 }
110
111 if (x_min < (*ret_corners)[i].x && (*ret_corners)[i].x < x_max) {
112 need_skip = 1;
113 break;
114 }
115
116 i--;
117 }
118
119 // Skip the box if we found a pixel nearby
120 if (need_skip) {
121 x += min_dist;
122 continue;
123 }
124 }
125
126 // Calculate the threshold values
127 const uint8_t *p = ((uint8_t *)img->buf) + y * img->w * pixel_size + x * pixel_size + pixel_size / 2;
128 int16_t cb = *p + threshold;
129 int16_t c_b = *p - threshold;
130
131 // Do the checks if it is a corner
132 if (p[pixel[0]] > cb)
133 if (p[pixel[1]] > cb)
134 if (p[pixel[2]] > cb)
135 if (p[pixel[3]] > cb)
136 if (p[pixel[4]] > cb)
137 if (p[pixel[5]] > cb)
138 if (p[pixel[6]] > cb)
139 if (p[pixel[7]] > cb)
140 if (p[pixel[8]] > cb)
141 {}
142 else if (p[pixel[15]] > cb)
143 {}
144 else {
145 continue;
146 }
147 else if (p[pixel[7]] < c_b)
148 if (p[pixel[14]] > cb)
149 if (p[pixel[15]] > cb)
150 {}
151 else {
152 continue;
153 }
154 else if (p[pixel[14]] < c_b)
155 if (p[pixel[8]] < c_b)
156 if (p[pixel[9]] < c_b)
157 if (p[pixel[10]] < c_b)
158 if (p[pixel[11]] < c_b)
159 if (p[pixel[12]] < c_b)
160 if (p[pixel[13]] < c_b)
161 if (p[pixel[15]] < c_b)
162 {}
163 else {
164 continue;
165 }
166 else {
167 continue;
168 }
169 else {
170 continue;
171 }
172 else {
173 continue;
174 }
175 else {
176 continue;
177 }
178 else {
179 continue;
180 }
181 else {
182 continue;
183 }
184 else {
185 continue;
186 }
187 else if (p[pixel[14]] > cb)
188 if (p[pixel[15]] > cb)
189 {}
190 else {
191 continue;
192 }
193 else {
194 continue;
195 }
196 else if (p[pixel[6]] < c_b)
197 if (p[pixel[15]] > cb)
198 if (p[pixel[13]] > cb)
199 if (p[pixel[14]] > cb)
200 {}
201 else {
202 continue;
203 }
204 else if (p[pixel[13]] < c_b)
205 if (p[pixel[7]] < c_b)
206 if (p[pixel[8]] < c_b)
207 if (p[pixel[9]] < c_b)
208 if (p[pixel[10]] < c_b)
209 if (p[pixel[11]] < c_b)
210 if (p[pixel[12]] < c_b)
211 if (p[pixel[14]] < c_b)
212 {}
213 else {
214 continue;
215 }
216 else {
217 continue;
218 }
219 else {
220 continue;
221 }
222 else {
223 continue;
224 }
225 else {
226 continue;
227 }
228 else {
229 continue;
230 }
231 else {
232 continue;
233 }
234 else {
235 continue;
236 }
237 else if (p[pixel[7]] < c_b)
238 if (p[pixel[8]] < c_b)
239 if (p[pixel[9]] < c_b)
240 if (p[pixel[10]] < c_b)
241 if (p[pixel[11]] < c_b)
242 if (p[pixel[12]] < c_b)
243 if (p[pixel[13]] < c_b)
244 if (p[pixel[14]] < c_b)
245 {}
246 else {
247 continue;
248 }
249 else {
250 continue;
251 }
252 else {
253 continue;
254 }
255 else {
256 continue;
257 }
258 else {
259 continue;
260 }
261 else {
262 continue;
263 }
264 else {
265 continue;
266 }
267 else {
268 continue;
269 }
270 else if (p[pixel[13]] > cb)
271 if (p[pixel[14]] > cb)
272 if (p[pixel[15]] > cb)
273 {}
274 else {
275 continue;
276 }
277 else {
278 continue;
279 }
280 else if (p[pixel[13]] < c_b)
281 if (p[pixel[7]] < c_b)
282 if (p[pixel[8]] < c_b)
283 if (p[pixel[9]] < c_b)
284 if (p[pixel[10]] < c_b)
285 if (p[pixel[11]] < c_b)
286 if (p[pixel[12]] < c_b)
287 if (p[pixel[14]] < c_b)
288 if (p[pixel[15]] < c_b)
289 {}
290 else {
291 continue;
292 }
293 else {
294 continue;
295 }
296 else {
297 continue;
298 }
299 else {
300 continue;
301 }
302 else {
303 continue;
304 }
305 else {
306 continue;
307 }
308 else {
309 continue;
310 }
311 else {
312 continue;
313 }
314 else {
315 continue;
316 }
317 else if (p[pixel[5]] < c_b)
318 if (p[pixel[14]] > cb)
319 if (p[pixel[12]] > cb)
320 if (p[pixel[13]] > cb)
321 if (p[pixel[15]] > cb)
322 {}
323 else if (p[pixel[6]] > cb)
324 if (p[pixel[7]] > cb)
325 if (p[pixel[8]] > cb)
326 if (p[pixel[9]] > cb)
327 if (p[pixel[10]] > cb)
328 if (p[pixel[11]] > cb)
329 {}
330 else {
331 continue;
332 }
333 else {
334 continue;
335 }
336 else {
337 continue;
338 }
339 else {
340 continue;
341 }
342 else {
343 continue;
344 }
345 else {
346 continue;
347 }
348 else {
349 continue;
350 }
351 else if (p[pixel[12]] < c_b)
352 if (p[pixel[6]] < c_b)
353 if (p[pixel[7]] < c_b)
354 if (p[pixel[8]] < c_b)
355 if (p[pixel[9]] < c_b)
356 if (p[pixel[10]] < c_b)
357 if (p[pixel[11]] < c_b)
358 if (p[pixel[13]] < c_b)
359 {}
360 else {
361 continue;
362 }
363 else {
364 continue;
365 }
366 else {
367 continue;
368 }
369 else {
370 continue;
371 }
372 else {
373 continue;
374 }
375 else {
376 continue;
377 }
378 else {
379 continue;
380 }
381 else {
382 continue;
383 }
384 else if (p[pixel[14]] < c_b)
385 if (p[pixel[7]] < c_b)
386 if (p[pixel[8]] < c_b)
387 if (p[pixel[9]] < c_b)
388 if (p[pixel[10]] < c_b)
389 if (p[pixel[11]] < c_b)
390 if (p[pixel[12]] < c_b)
391 if (p[pixel[13]] < c_b)
392 if (p[pixel[6]] < c_b)
393 {}
394 else if (p[pixel[15]] < c_b)
395 {}
396 else {
397 continue;
398 }
399 else {
400 continue;
401 }
402 else {
403 continue;
404 }
405 else {
406 continue;
407 }
408 else {
409 continue;
410 }
411 else {
412 continue;
413 }
414 else {
415 continue;
416 }
417 else {
418 continue;
419 }
420 else if (p[pixel[6]] < c_b)
421 if (p[pixel[7]] < c_b)
422 if (p[pixel[8]] < c_b)
423 if (p[pixel[9]] < c_b)
424 if (p[pixel[10]] < c_b)
425 if (p[pixel[11]] < c_b)
426 if (p[pixel[12]] < c_b)
427 if (p[pixel[13]] < c_b)
428 {}
429 else {
430 continue;
431 }
432 else {
433 continue;
434 }
435 else {
436 continue;
437 }
438 else {
439 continue;
440 }
441 else {
442 continue;
443 }
444 else {
445 continue;
446 }
447 else {
448 continue;
449 }
450 else {
451 continue;
452 }
453 else if (p[pixel[12]] > cb)
454 if (p[pixel[13]] > cb)
455 if (p[pixel[14]] > cb)
456 if (p[pixel[15]] > cb)
457 {}
458 else if (p[pixel[6]] > cb)
459 if (p[pixel[7]] > cb)
460 if (p[pixel[8]] > cb)
461 if (p[pixel[9]] > cb)
462 if (p[pixel[10]] > cb)
463 if (p[pixel[11]] > cb)
464 {}
465 else {
466 continue;
467 }
468 else {
469 continue;
470 }
471 else {
472 continue;
473 }
474 else {
475 continue;
476 }
477 else {
478 continue;
479 }
480 else {
481 continue;
482 }
483 else {
484 continue;
485 }
486 else {
487 continue;
488 }
489 else if (p[pixel[12]] < c_b)
490 if (p[pixel[7]] < c_b)
491 if (p[pixel[8]] < c_b)
492 if (p[pixel[9]] < c_b)
493 if (p[pixel[10]] < c_b)
494 if (p[pixel[11]] < c_b)
495 if (p[pixel[13]] < c_b)
496 if (p[pixel[14]] < c_b)
497 if (p[pixel[6]] < c_b)
498 {}
499 else if (p[pixel[15]] < c_b)
500 {}
501 else {
502 continue;
503 }
504 else {
505 continue;
506 }
507 else {
508 continue;
509 }
510 else {
511 continue;
512 }
513 else {
514 continue;
515 }
516 else {
517 continue;
518 }
519 else {
520 continue;
521 }
522 else {
523 continue;
524 }
525 else {
526 continue;
527 }
528 else if (p[pixel[4]] < c_b)
529 if (p[pixel[13]] > cb)
530 if (p[pixel[11]] > cb)
531 if (p[pixel[12]] > cb)
532 if (p[pixel[14]] > cb)
533 if (p[pixel[15]] > cb)
534 {}
535 else if (p[pixel[6]] > cb)
536 if (p[pixel[7]] > cb)
537 if (p[pixel[8]] > cb)
538 if (p[pixel[9]] > cb)
539 if (p[pixel[10]] > cb)
540 {}
541 else {
542 continue;
543 }
544 else {
545 continue;
546 }
547 else {
548 continue;
549 }
550 else {
551 continue;
552 }
553 else {
554 continue;
555 }
556 else if (p[pixel[5]] > cb)
557 if (p[pixel[6]] > cb)
558 if (p[pixel[7]] > cb)
559 if (p[pixel[8]] > cb)
560 if (p[pixel[9]] > cb)
561 if (p[pixel[10]] > cb)
562 {}
563 else {
564 continue;
565 }
566 else {
567 continue;
568 }
569 else {
570 continue;
571 }
572 else {
573 continue;
574 }
575 else {
576 continue;
577 }
578 else {
579 continue;
580 }
581 else {
582 continue;
583 }
584 else if (p[pixel[11]] < c_b)
585 if (p[pixel[5]] < c_b)
586 if (p[pixel[6]] < c_b)
587 if (p[pixel[7]] < c_b)
588 if (p[pixel[8]] < c_b)
589 if (p[pixel[9]] < c_b)
590 if (p[pixel[10]] < c_b)
591 if (p[pixel[12]] < c_b)
592 {}
593 else {
594 continue;
595 }
596 else {
597 continue;
598 }
599 else {
600 continue;
601 }
602 else {
603 continue;
604 }
605 else {
606 continue;
607 }
608 else {
609 continue;
610 }
611 else {
612 continue;
613 }
614 else {
615 continue;
616 }
617 else if (p[pixel[13]] < c_b)
618 if (p[pixel[7]] < c_b)
619 if (p[pixel[8]] < c_b)
620 if (p[pixel[9]] < c_b)
621 if (p[pixel[10]] < c_b)
622 if (p[pixel[11]] < c_b)
623 if (p[pixel[12]] < c_b)
624 if (p[pixel[6]] < c_b)
625 if (p[pixel[5]] < c_b)
626 {}
627 else if (p[pixel[14]] < c_b)
628 {}
629 else {
630 continue;
631 }
632 else if (p[pixel[14]] < c_b)
633 if (p[pixel[15]] < c_b)
634 {}
635 else {
636 continue;
637 }
638 else {
639 continue;
640 }
641 else {
642 continue;
643 }
644 else {
645 continue;
646 }
647 else {
648 continue;
649 }
650 else {
651 continue;
652 }
653 else {
654 continue;
655 }
656 else {
657 continue;
658 }
659 else if (p[pixel[5]] < c_b)
660 if (p[pixel[6]] < c_b)
661 if (p[pixel[7]] < c_b)
662 if (p[pixel[8]] < c_b)
663 if (p[pixel[9]] < c_b)
664 if (p[pixel[10]] < c_b)
665 if (p[pixel[11]] < c_b)
666 if (p[pixel[12]] < c_b)
667 {}
668 else {
669 continue;
670 }
671 else {
672 continue;
673 }
674 else {
675 continue;
676 }
677 else {
678 continue;
679 }
680 else {
681 continue;
682 }
683 else {
684 continue;
685 }
686 else {
687 continue;
688 }
689 else {
690 continue;
691 }
692 else if (p[pixel[11]] > cb)
693 if (p[pixel[12]] > cb)
694 if (p[pixel[13]] > cb)
695 if (p[pixel[14]] > cb)
696 if (p[pixel[15]] > cb)
697 {}
698 else if (p[pixel[6]] > cb)
699 if (p[pixel[7]] > cb)
700 if (p[pixel[8]] > cb)
701 if (p[pixel[9]] > cb)
702 if (p[pixel[10]] > cb)
703 {}
704 else {
705 continue;
706 }
707 else {
708 continue;
709 }
710 else {
711 continue;
712 }
713 else {
714 continue;
715 }
716 else {
717 continue;
718 }
719 else if (p[pixel[5]] > cb)
720 if (p[pixel[6]] > cb)
721 if (p[pixel[7]] > cb)
722 if (p[pixel[8]] > cb)
723 if (p[pixel[9]] > cb)
724 if (p[pixel[10]] > cb)
725 {}
726 else {
727 continue;
728 }
729 else {
730 continue;
731 }
732 else {
733 continue;
734 }
735 else {
736 continue;
737 }
738 else {
739 continue;
740 }
741 else {
742 continue;
743 }
744 else {
745 continue;
746 }
747 else {
748 continue;
749 }
750 else if (p[pixel[11]] < c_b)
751 if (p[pixel[7]] < c_b)
752 if (p[pixel[8]] < c_b)
753 if (p[pixel[9]] < c_b)
754 if (p[pixel[10]] < c_b)
755 if (p[pixel[12]] < c_b)
756 if (p[pixel[13]] < c_b)
757 if (p[pixel[6]] < c_b)
758 if (p[pixel[5]] < c_b)
759 {}
760 else if (p[pixel[14]] < c_b)
761 {}
762 else {
763 continue;
764 }
765 else if (p[pixel[14]] < c_b)
766 if (p[pixel[15]] < c_b)
767 {}
768 else {
769 continue;
770 }
771 else {
772 continue;
773 }
774 else {
775 continue;
776 }
777 else {
778 continue;
779 }
780 else {
781 continue;
782 }
783 else {
784 continue;
785 }
786 else {
787 continue;
788 }
789 else {
790 continue;
791 }
792 else {
793 continue;
794 }
795 else if (p[pixel[3]] < c_b)
796 if (p[pixel[10]] > cb)
797 if (p[pixel[11]] > cb)
798 if (p[pixel[12]] > cb)
799 if (p[pixel[13]] > cb)
800 if (p[pixel[14]] > cb)
801 if (p[pixel[15]] > cb)
802 {}
803 else if (p[pixel[6]] > cb)
804 if (p[pixel[7]] > cb)
805 if (p[pixel[8]] > cb)
806 if (p[pixel[9]] > cb)
807 {}
808 else {
809 continue;
810 }
811 else {
812 continue;
813 }
814 else {
815 continue;
816 }
817 else {
818 continue;
819 }
820 else if (p[pixel[5]] > cb)
821 if (p[pixel[6]] > cb)
822 if (p[pixel[7]] > cb)
823 if (p[pixel[8]] > cb)
824 if (p[pixel[9]] > cb)
825 {}
826 else {
827 continue;
828 }
829 else {
830 continue;
831 }
832 else {
833 continue;
834 }
835 else {
836 continue;
837 }
838 else {
839 continue;
840 }
841 else if (p[pixel[4]] > cb)
842 if (p[pixel[5]] > cb)
843 if (p[pixel[6]] > cb)
844 if (p[pixel[7]] > cb)
845 if (p[pixel[8]] > cb)
846 if (p[pixel[9]] > cb)
847 {}
848 else {
849 continue;
850 }
851 else {
852 continue;
853 }
854 else {
855 continue;
856 }
857 else {
858 continue;
859 }
860 else {
861 continue;
862 }
863 else {
864 continue;
865 }
866 else {
867 continue;
868 }
869 else {
870 continue;
871 }
872 else if (p[pixel[10]] < c_b)
873 if (p[pixel[7]] < c_b)
874 if (p[pixel[8]] < c_b)
875 if (p[pixel[9]] < c_b)
876 if (p[pixel[11]] < c_b)
877 if (p[pixel[6]] < c_b)
878 if (p[pixel[5]] < c_b)
879 if (p[pixel[4]] < c_b)
880 {}
881 else if (p[pixel[12]] < c_b)
882 if (p[pixel[13]] < c_b)
883 {}
884 else {
885 continue;
886 }
887 else {
888 continue;
889 }
890 else if (p[pixel[12]] < c_b)
891 if (p[pixel[13]] < c_b)
892 if (p[pixel[14]] < c_b)
893 {}
894 else {
895 continue;
896 }
897 else {
898 continue;
899 }
900 else {
901 continue;
902 }
903 else if (p[pixel[12]] < c_b)
904 if (p[pixel[13]] < c_b)
905 if (p[pixel[14]] < c_b)
906 if (p[pixel[15]] < c_b)
907 {}
908 else {
909 continue;
910 }
911 else {
912 continue;
913 }
914 else {
915 continue;
916 }
917 else {
918 continue;
919 }
920 else {
921 continue;
922 }
923 else {
924 continue;
925 }
926 else {
927 continue;
928 }
929 else {
930 continue;
931 }
932 else {
933 continue;
934 }
935 else if (p[pixel[10]] > cb)
936 if (p[pixel[11]] > cb)
937 if (p[pixel[12]] > cb)
938 if (p[pixel[13]] > cb)
939 if (p[pixel[14]] > cb)
940 if (p[pixel[15]] > cb)
941 {}
942 else if (p[pixel[6]] > cb)
943 if (p[pixel[7]] > cb)
944 if (p[pixel[8]] > cb)
945 if (p[pixel[9]] > cb)
946 {}
947 else {
948 continue;
949 }
950 else {
951 continue;
952 }
953 else {
954 continue;
955 }
956 else {
957 continue;
958 }
959 else if (p[pixel[5]] > cb)
960 if (p[pixel[6]] > cb)
961 if (p[pixel[7]] > cb)
962 if (p[pixel[8]] > cb)
963 if (p[pixel[9]] > cb)
964 {}
965 else {
966 continue;
967 }
968 else {
969 continue;
970 }
971 else {
972 continue;
973 }
974 else {
975 continue;
976 }
977 else {
978 continue;
979 }
980 else if (p[pixel[4]] > cb)
981 if (p[pixel[5]] > cb)
982 if (p[pixel[6]] > cb)
983 if (p[pixel[7]] > cb)
984 if (p[pixel[8]] > cb)
985 if (p[pixel[9]] > cb)
986 {}
987 else {
988 continue;
989 }
990 else {
991 continue;
992 }
993 else {
994 continue;
995 }
996 else {
997 continue;
998 }
999 else {
1000 continue;
1001 }
1002 else {
1003 continue;
1004 }
1005 else {
1006 continue;
1007 }
1008 else {
1009 continue;
1010 }
1011 else if (p[pixel[10]] < c_b)
1012 if (p[pixel[7]] < c_b)
1013 if (p[pixel[8]] < c_b)
1014 if (p[pixel[9]] < c_b)
1015 if (p[pixel[11]] < c_b)
1016 if (p[pixel[12]] < c_b)
1017 if (p[pixel[6]] < c_b)
1018 if (p[pixel[5]] < c_b)
1019 if (p[pixel[4]] < c_b)
1020 {}
1021 else if (p[pixel[13]] < c_b)
1022 {}
1023 else {
1024 continue;
1025 }
1026 else if (p[pixel[13]] < c_b)
1027 if (p[pixel[14]] < c_b)
1028 {}
1029 else {
1030 continue;
1031 }
1032 else {
1033 continue;
1034 }
1035 else if (p[pixel[13]] < c_b)
1036 if (p[pixel[14]] < c_b)
1037 if (p[pixel[15]] < c_b)
1038 {}
1039 else {
1040 continue;
1041 }
1042 else {
1043 continue;
1044 }
1045 else {
1046 continue;
1047 }
1048 else {
1049 continue;
1050 }
1051 else {
1052 continue;
1053 }
1054 else {
1055 continue;
1056 }
1057 else {
1058 continue;
1059 }
1060 else {
1061 continue;
1062 }
1063 else {
1064 continue;
1065 }
1066 else if (p[pixel[2]] < c_b)
1067 if (p[pixel[9]] > cb)
1068 if (p[pixel[10]] > cb)
1069 if (p[pixel[11]] > cb)
1070 if (p[pixel[12]] > cb)
1071 if (p[pixel[13]] > cb)
1072 if (p[pixel[14]] > cb)
1073 if (p[pixel[15]] > cb)
1074 {}
1075 else if (p[pixel[6]] > cb)
1076 if (p[pixel[7]] > cb)
1077 if (p[pixel[8]] > cb)
1078 {}
1079 else {
1080 continue;
1081 }
1082 else {
1083 continue;
1084 }
1085 else {
1086 continue;
1087 }
1088 else if (p[pixel[5]] > cb)
1089 if (p[pixel[6]] > cb)
1090 if (p[pixel[7]] > cb)
1091 if (p[pixel[8]] > cb)
1092 {}
1093 else {
1094 continue;
1095 }
1096 else {
1097 continue;
1098 }
1099 else {
1100 continue;
1101 }
1102 else {
1103 continue;
1104 }
1105 else if (p[pixel[4]] > cb)
1106 if (p[pixel[5]] > cb)
1107 if (p[pixel[6]] > cb)
1108 if (p[pixel[7]] > cb)
1109 if (p[pixel[8]] > cb)
1110 {}
1111 else {
1112 continue;
1113 }
1114 else {
1115 continue;
1116 }
1117 else {
1118 continue;
1119 }
1120 else {
1121 continue;
1122 }
1123 else {
1124 continue;
1125 }
1126 else if (p[pixel[3]] > cb)
1127 if (p[pixel[4]] > cb)
1128 if (p[pixel[5]] > cb)
1129 if (p[pixel[6]] > cb)
1130 if (p[pixel[7]] > cb)
1131 if (p[pixel[8]] > cb)
1132 {}
1133 else {
1134 continue;
1135 }
1136 else {
1137 continue;
1138 }
1139 else {
1140 continue;
1141 }
1142 else {
1143 continue;
1144 }
1145 else {
1146 continue;
1147 }
1148 else {
1149 continue;
1150 }
1151 else {
1152 continue;
1153 }
1154 else {
1155 continue;
1156 }
1157 else if (p[pixel[9]] < c_b)
1158 if (p[pixel[7]] < c_b)
1159 if (p[pixel[8]] < c_b)
1160 if (p[pixel[10]] < c_b)
1161 if (p[pixel[6]] < c_b)
1162 if (p[pixel[5]] < c_b)
1163 if (p[pixel[4]] < c_b)
1164 if (p[pixel[3]] < c_b)
1165 {}
1166 else if (p[pixel[11]] < c_b)
1167 if (p[pixel[12]] < c_b)
1168 {}
1169 else {
1170 continue;
1171 }
1172 else {
1173 continue;
1174 }
1175 else if (p[pixel[11]] < c_b)
1176 if (p[pixel[12]] < c_b)
1177 if (p[pixel[13]] < c_b)
1178 {}
1179 else {
1180 continue;
1181 }
1182 else {
1183 continue;
1184 }
1185 else {
1186 continue;
1187 }
1188 else if (p[pixel[11]] < c_b)
1189 if (p[pixel[12]] < c_b)
1190 if (p[pixel[13]] < c_b)
1191 if (p[pixel[14]] < c_b)
1192 {}
1193 else {
1194 continue;
1195 }
1196 else {
1197 continue;
1198 }
1199 else {
1200 continue;
1201 }
1202 else {
1203 continue;
1204 }
1205 else if (p[pixel[11]] < c_b)
1206 if (p[pixel[12]] < c_b)
1207 if (p[pixel[13]] < c_b)
1208 if (p[pixel[14]] < c_b)
1209 if (p[pixel[15]] < c_b)
1210 {}
1211 else {
1212 continue;
1213 }
1214 else {
1215 continue;
1216 }
1217 else {
1218 continue;
1219 }
1220 else {
1221 continue;
1222 }
1223 else {
1224 continue;
1225 }
1226 else {
1227 continue;
1228 }
1229 else {
1230 continue;
1231 }
1232 else {
1233 continue;
1234 }
1235 else {
1236 continue;
1237 }
1238 else if (p[pixel[9]] > cb)
1239 if (p[pixel[10]] > cb)
1240 if (p[pixel[11]] > cb)
1241 if (p[pixel[12]] > cb)
1242 if (p[pixel[13]] > cb)
1243 if (p[pixel[14]] > cb)
1244 if (p[pixel[15]] > cb)
1245 {}
1246 else if (p[pixel[6]] > cb)
1247 if (p[pixel[7]] > cb)
1248 if (p[pixel[8]] > cb)
1249 {}
1250 else {
1251 continue;
1252 }
1253 else {
1254 continue;
1255 }
1256 else {
1257 continue;
1258 }
1259 else if (p[pixel[5]] > cb)
1260 if (p[pixel[6]] > cb)
1261 if (p[pixel[7]] > cb)
1262 if (p[pixel[8]] > cb)
1263 {}
1264 else {
1265 continue;
1266 }
1267 else {
1268 continue;
1269 }
1270 else {
1271 continue;
1272 }
1273 else {
1274 continue;
1275 }
1276 else if (p[pixel[4]] > cb)
1277 if (p[pixel[5]] > cb)
1278 if (p[pixel[6]] > cb)
1279 if (p[pixel[7]] > cb)
1280 if (p[pixel[8]] > cb)
1281 {}
1282 else {
1283 continue;
1284 }
1285 else {
1286 continue;
1287 }
1288 else {
1289 continue;
1290 }
1291 else {
1292 continue;
1293 }
1294 else {
1295 continue;
1296 }
1297 else if (p[pixel[3]] > cb)
1298 if (p[pixel[4]] > cb)
1299 if (p[pixel[5]] > cb)
1300 if (p[pixel[6]] > cb)
1301 if (p[pixel[7]] > cb)
1302 if (p[pixel[8]] > cb)
1303 {}
1304 else {
1305 continue;
1306 }
1307 else {
1308 continue;
1309 }
1310 else {
1311 continue;
1312 }
1313 else {
1314 continue;
1315 }
1316 else {
1317 continue;
1318 }
1319 else {
1320 continue;
1321 }
1322 else {
1323 continue;
1324 }
1325 else {
1326 continue;
1327 }
1328 else if (p[pixel[9]] < c_b)
1329 if (p[pixel[7]] < c_b)
1330 if (p[pixel[8]] < c_b)
1331 if (p[pixel[10]] < c_b)
1332 if (p[pixel[11]] < c_b)
1333 if (p[pixel[6]] < c_b)
1334 if (p[pixel[5]] < c_b)
1335 if (p[pixel[4]] < c_b)
1336 if (p[pixel[3]] < c_b)
1337 {}
1338 else if (p[pixel[12]] < c_b)
1339 {}
1340 else {
1341 continue;
1342 }
1343 else if (p[pixel[12]] < c_b)
1344 if (p[pixel[13]] < c_b)
1345 {}
1346 else {
1347 continue;
1348 }
1349 else {
1350 continue;
1351 }
1352 else if (p[pixel[12]] < c_b)
1353 if (p[pixel[13]] < c_b)
1354 if (p[pixel[14]] < c_b)
1355 {}
1356 else {
1357 continue;
1358 }
1359 else {
1360 continue;
1361 }
1362 else {
1363 continue;
1364 }
1365 else if (p[pixel[12]] < c_b)
1366 if (p[pixel[13]] < c_b)
1367 if (p[pixel[14]] < c_b)
1368 if (p[pixel[15]] < c_b)
1369 {}
1370 else {
1371 continue;
1372 }
1373 else {
1374 continue;
1375 }
1376 else {
1377 continue;
1378 }
1379 else {
1380 continue;
1381 }
1382 else {
1383 continue;
1384 }
1385 else {
1386 continue;
1387 }
1388 else {
1389 continue;
1390 }
1391 else {
1392 continue;
1393 }
1394 else {
1395 continue;
1396 }
1397 else if (p[pixel[1]] < c_b)
1398 if (p[pixel[8]] > cb)
1399 if (p[pixel[9]] > cb)
1400 if (p[pixel[10]] > cb)
1401 if (p[pixel[11]] > cb)
1402 if (p[pixel[12]] > cb)
1403 if (p[pixel[13]] > cb)
1404 if (p[pixel[14]] > cb)
1405 if (p[pixel[15]] > cb)
1406 {}
1407 else if (p[pixel[6]] > cb)
1408 if (p[pixel[7]] > cb)
1409 {}
1410 else {
1411 continue;
1412 }
1413 else {
1414 continue;
1415 }
1416 else if (p[pixel[5]] > cb)
1417 if (p[pixel[6]] > cb)
1418 if (p[pixel[7]] > cb)
1419 {}
1420 else {
1421 continue;
1422 }
1423 else {
1424 continue;
1425 }
1426 else {
1427 continue;
1428 }
1429 else if (p[pixel[4]] > cb)
1430 if (p[pixel[5]] > cb)
1431 if (p[pixel[6]] > cb)
1432 if (p[pixel[7]] > cb)
1433 {}
1434 else {
1435 continue;
1436 }
1437 else {
1438 continue;
1439 }
1440 else {
1441 continue;
1442 }
1443 else {
1444 continue;
1445 }
1446 else if (p[pixel[3]] > cb)
1447 if (p[pixel[4]] > cb)
1448 if (p[pixel[5]] > cb)
1449 if (p[pixel[6]] > cb)
1450 if (p[pixel[7]] > cb)
1451 {}
1452 else {
1453 continue;
1454 }
1455 else {
1456 continue;
1457 }
1458 else {
1459 continue;
1460 }
1461 else {
1462 continue;
1463 }
1464 else {
1465 continue;
1466 }
1467 else if (p[pixel[2]] > cb)
1468 if (p[pixel[3]] > cb)
1469 if (p[pixel[4]] > cb)
1470 if (p[pixel[5]] > cb)
1471 if (p[pixel[6]] > cb)
1472 if (p[pixel[7]] > cb)
1473 {}
1474 else {
1475 continue;
1476 }
1477 else {
1478 continue;
1479 }
1480 else {
1481 continue;
1482 }
1483 else {
1484 continue;
1485 }
1486 else {
1487 continue;
1488 }
1489 else {
1490 continue;
1491 }
1492 else {
1493 continue;
1494 }
1495 else {
1496 continue;
1497 }
1498 else if (p[pixel[8]] < c_b)
1499 if (p[pixel[7]] < c_b)
1500 if (p[pixel[9]] < c_b)
1501 if (p[pixel[6]] < c_b)
1502 if (p[pixel[5]] < c_b)
1503 if (p[pixel[4]] < c_b)
1504 if (p[pixel[3]] < c_b)
1505 if (p[pixel[2]] < c_b)
1506 {}
1507 else if (p[pixel[10]] < c_b)
1508 if (p[pixel[11]] < c_b)
1509 {}
1510 else {
1511 continue;
1512 }
1513 else {
1514 continue;
1515 }
1516 else if (p[pixel[10]] < c_b)
1517 if (p[pixel[11]] < c_b)
1518 if (p[pixel[12]] < c_b)
1519 {}
1520 else {
1521 continue;
1522 }
1523 else {
1524 continue;
1525 }
1526 else {
1527 continue;
1528 }
1529 else if (p[pixel[10]] < c_b)
1530 if (p[pixel[11]] < c_b)
1531 if (p[pixel[12]] < c_b)
1532 if (p[pixel[13]] < c_b)
1533 {}
1534 else {
1535 continue;
1536 }
1537 else {
1538 continue;
1539 }
1540 else {
1541 continue;
1542 }
1543 else {
1544 continue;
1545 }
1546 else if (p[pixel[10]] < c_b)
1547 if (p[pixel[11]] < c_b)
1548 if (p[pixel[12]] < c_b)
1549 if (p[pixel[13]] < c_b)
1550 if (p[pixel[14]] < c_b)
1551 {}
1552 else {
1553 continue;
1554 }
1555 else {
1556 continue;
1557 }
1558 else {
1559 continue;
1560 }
1561 else {
1562 continue;
1563 }
1564 else {
1565 continue;
1566 }
1567 else if (p[pixel[10]] < c_b)
1568 if (p[pixel[11]] < c_b)
1569 if (p[pixel[12]] < c_b)
1570 if (p[pixel[13]] < c_b)
1571 if (p[pixel[14]] < c_b)
1572 if (p[pixel[15]] < c_b)
1573 {}
1574 else {
1575 continue;
1576 }
1577 else {
1578 continue;
1579 }
1580 else {
1581 continue;
1582 }
1583 else {
1584 continue;
1585 }
1586 else {
1587 continue;
1588 }
1589 else {
1590 continue;
1591 }
1592 else {
1593 continue;
1594 }
1595 else {
1596 continue;
1597 }
1598 else {
1599 continue;
1600 }
1601 else if (p[pixel[8]] > cb)
1602 if (p[pixel[9]] > cb)
1603 if (p[pixel[10]] > cb)
1604 if (p[pixel[11]] > cb)
1605 if (p[pixel[12]] > cb)
1606 if (p[pixel[13]] > cb)
1607 if (p[pixel[14]] > cb)
1608 if (p[pixel[15]] > cb)
1609 {}
1610 else if (p[pixel[6]] > cb)
1611 if (p[pixel[7]] > cb)
1612 {}
1613 else {
1614 continue;
1615 }
1616 else {
1617 continue;
1618 }
1619 else if (p[pixel[5]] > cb)
1620 if (p[pixel[6]] > cb)
1621 if (p[pixel[7]] > cb)
1622 {}
1623 else {
1624 continue;
1625 }
1626 else {
1627 continue;
1628 }
1629 else {
1630 continue;
1631 }
1632 else if (p[pixel[4]] > cb)
1633 if (p[pixel[5]] > cb)
1634 if (p[pixel[6]] > cb)
1635 if (p[pixel[7]] > cb)
1636 {}
1637 else {
1638 continue;
1639 }
1640 else {
1641 continue;
1642 }
1643 else {
1644 continue;
1645 }
1646 else {
1647 continue;
1648 }
1649 else if (p[pixel[3]] > cb)
1650 if (p[pixel[4]] > cb)
1651 if (p[pixel[5]] > cb)
1652 if (p[pixel[6]] > cb)
1653 if (p[pixel[7]] > cb)
1654 {}
1655 else {
1656 continue;
1657 }
1658 else {
1659 continue;
1660 }
1661 else {
1662 continue;
1663 }
1664 else {
1665 continue;
1666 }
1667 else {
1668 continue;
1669 }
1670 else if (p[pixel[2]] > cb)
1671 if (p[pixel[3]] > cb)
1672 if (p[pixel[4]] > cb)
1673 if (p[pixel[5]] > cb)
1674 if (p[pixel[6]] > cb)
1675 if (p[pixel[7]] > cb)
1676 {}
1677 else {
1678 continue;
1679 }
1680 else {
1681 continue;
1682 }
1683 else {
1684 continue;
1685 }
1686 else {
1687 continue;
1688 }
1689 else {
1690 continue;
1691 }
1692 else {
1693 continue;
1694 }
1695 else {
1696 continue;
1697 }
1698 else {
1699 continue;
1700 }
1701 else if (p[pixel[8]] < c_b)
1702 if (p[pixel[7]] < c_b)
1703 if (p[pixel[9]] < c_b)
1704 if (p[pixel[10]] < c_b)
1705 if (p[pixel[6]] < c_b)
1706 if (p[pixel[5]] < c_b)
1707 if (p[pixel[4]] < c_b)
1708 if (p[pixel[3]] < c_b)
1709 if (p[pixel[2]] < c_b)
1710 {}
1711 else if (p[pixel[11]] < c_b)
1712 {}
1713 else {
1714 continue;
1715 }
1716 else if (p[pixel[11]] < c_b)
1717 if (p[pixel[12]] < c_b)
1718 {}
1719 else {
1720 continue;
1721 }
1722 else {
1723 continue;
1724 }
1725 else if (p[pixel[11]] < c_b)
1726 if (p[pixel[12]] < c_b)
1727 if (p[pixel[13]] < c_b)
1728 {}
1729 else {
1730 continue;
1731 }
1732 else {
1733 continue;
1734 }
1735 else {
1736 continue;
1737 }
1738 else if (p[pixel[11]] < c_b)
1739 if (p[pixel[12]] < c_b)
1740 if (p[pixel[13]] < c_b)
1741 if (p[pixel[14]] < c_b)
1742 {}
1743 else {
1744 continue;
1745 }
1746 else {
1747 continue;
1748 }
1749 else {
1750 continue;
1751 }
1752 else {
1753 continue;
1754 }
1755 else if (p[pixel[11]] < c_b)
1756 if (p[pixel[12]] < c_b)
1757 if (p[pixel[13]] < c_b)
1758 if (p[pixel[14]] < c_b)
1759 if (p[pixel[15]] < c_b)
1760 {}
1761 else {
1762 continue;
1763 }
1764 else {
1765 continue;
1766 }
1767 else {
1768 continue;
1769 }
1770 else {
1771 continue;
1772 }
1773 else {
1774 continue;
1775 }
1776 else {
1777 continue;
1778 }
1779 else {
1780 continue;
1781 }
1782 else {
1783 continue;
1784 }
1785 else {
1786 continue;
1787 }
1788 else if (p[pixel[0]] < c_b)
1789 if (p[pixel[1]] > cb)
1790 if (p[pixel[8]] > cb)
1791 if (p[pixel[7]] > cb)
1792 if (p[pixel[9]] > cb)
1793 if (p[pixel[6]] > cb)
1794 if (p[pixel[5]] > cb)
1795 if (p[pixel[4]] > cb)
1796 if (p[pixel[3]] > cb)
1797 if (p[pixel[2]] > cb)
1798 {}
1799 else if (p[pixel[10]] > cb)
1800 if (p[pixel[11]] > cb)
1801 {}
1802 else {
1803 continue;
1804 }
1805 else {
1806 continue;
1807 }
1808 else if (p[pixel[10]] > cb)
1809 if (p[pixel[11]] > cb)
1810 if (p[pixel[12]] > cb)
1811 {}
1812 else {
1813 continue;
1814 }
1815 else {
1816 continue;
1817 }
1818 else {
1819 continue;
1820 }
1821 else if (p[pixel[10]] > cb)
1822 if (p[pixel[11]] > cb)
1823 if (p[pixel[12]] > cb)
1824 if (p[pixel[13]] > cb)
1825 {}
1826 else {
1827 continue;
1828 }
1829 else {
1830 continue;
1831 }
1832 else {
1833 continue;
1834 }
1835 else {
1836 continue;
1837 }
1838 else if (p[pixel[10]] > cb)
1839 if (p[pixel[11]] > cb)
1840 if (p[pixel[12]] > cb)
1841 if (p[pixel[13]] > cb)
1842 if (p[pixel[14]] > cb)
1843 {}
1844 else {
1845 continue;
1846 }
1847 else {
1848 continue;
1849 }
1850 else {
1851 continue;
1852 }
1853 else {
1854 continue;
1855 }
1856 else {
1857 continue;
1858 }
1859 else if (p[pixel[10]] > cb)
1860 if (p[pixel[11]] > cb)
1861 if (p[pixel[12]] > cb)
1862 if (p[pixel[13]] > cb)
1863 if (p[pixel[14]] > cb)
1864 if (p[pixel[15]] > cb)
1865 {}
1866 else {
1867 continue;
1868 }
1869 else {
1870 continue;
1871 }
1872 else {
1873 continue;
1874 }
1875 else {
1876 continue;
1877 }
1878 else {
1879 continue;
1880 }
1881 else {
1882 continue;
1883 }
1884 else {
1885 continue;
1886 }
1887 else {
1888 continue;
1889 }
1890 else if (p[pixel[8]] < c_b)
1891 if (p[pixel[9]] < c_b)
1892 if (p[pixel[10]] < c_b)
1893 if (p[pixel[11]] < c_b)
1894 if (p[pixel[12]] < c_b)
1895 if (p[pixel[13]] < c_b)
1896 if (p[pixel[14]] < c_b)
1897 if (p[pixel[15]] < c_b)
1898 {}
1899 else if (p[pixel[6]] < c_b)
1900 if (p[pixel[7]] < c_b)
1901 {}
1902 else {
1903 continue;
1904 }
1905 else {
1906 continue;
1907 }
1908 else if (p[pixel[5]] < c_b)
1909 if (p[pixel[6]] < c_b)
1910 if (p[pixel[7]] < c_b)
1911 {}
1912 else {
1913 continue;
1914 }
1915 else {
1916 continue;
1917 }
1918 else {
1919 continue;
1920 }
1921 else if (p[pixel[4]] < c_b)
1922 if (p[pixel[5]] < c_b)
1923 if (p[pixel[6]] < c_b)
1924 if (p[pixel[7]] < c_b)
1925 {}
1926 else {
1927 continue;
1928 }
1929 else {
1930 continue;
1931 }
1932 else {
1933 continue;
1934 }
1935 else {
1936 continue;
1937 }
1938 else if (p[pixel[3]] < c_b)
1939 if (p[pixel[4]] < c_b)
1940 if (p[pixel[5]] < c_b)
1941 if (p[pixel[6]] < c_b)
1942 if (p[pixel[7]] < c_b)
1943 {}
1944 else {
1945 continue;
1946 }
1947 else {
1948 continue;
1949 }
1950 else {
1951 continue;
1952 }
1953 else {
1954 continue;
1955 }
1956 else {
1957 continue;
1958 }
1959 else if (p[pixel[2]] < c_b)
1960 if (p[pixel[3]] < c_b)
1961 if (p[pixel[4]] < c_b)
1962 if (p[pixel[5]] < c_b)
1963 if (p[pixel[6]] < c_b)
1964 if (p[pixel[7]] < c_b)
1965 {}
1966 else {
1967 continue;
1968 }
1969 else {
1970 continue;
1971 }
1972 else {
1973 continue;
1974 }
1975 else {
1976 continue;
1977 }
1978 else {
1979 continue;
1980 }
1981 else {
1982 continue;
1983 }
1984 else {
1985 continue;
1986 }
1987 else {
1988 continue;
1989 }
1990 else {
1991 continue;
1992 }
1993 else if (p[pixel[1]] < c_b)
1994 if (p[pixel[2]] > cb)
1995 if (p[pixel[9]] > cb)
1996 if (p[pixel[7]] > cb)
1997 if (p[pixel[8]] > cb)
1998 if (p[pixel[10]] > cb)
1999 if (p[pixel[6]] > cb)
2000 if (p[pixel[5]] > cb)
2001 if (p[pixel[4]] > cb)
2002 if (p[pixel[3]] > cb)
2003 {}
2004 else if (p[pixel[11]] > cb)
2005 if (p[pixel[12]] > cb)
2006 {}
2007 else {
2008 continue;
2009 }
2010 else {
2011 continue;
2012 }
2013 else if (p[pixel[11]] > cb)
2014 if (p[pixel[12]] > cb)
2015 if (p[pixel[13]] > cb)
2016 {}
2017 else {
2018 continue;
2019 }
2020 else {
2021 continue;
2022 }
2023 else {
2024 continue;
2025 }
2026 else if (p[pixel[11]] > cb)
2027 if (p[pixel[12]] > cb)
2028 if (p[pixel[13]] > cb)
2029 if (p[pixel[14]] > cb)
2030 {}
2031 else {
2032 continue;
2033 }
2034 else {
2035 continue;
2036 }
2037 else {
2038 continue;
2039 }
2040 else {
2041 continue;
2042 }
2043 else if (p[pixel[11]] > cb)
2044 if (p[pixel[12]] > cb)
2045 if (p[pixel[13]] > cb)
2046 if (p[pixel[14]] > cb)
2047 if (p[pixel[15]] > cb)
2048 {}
2049 else {
2050 continue;
2051 }
2052 else {
2053 continue;
2054 }
2055 else {
2056 continue;
2057 }
2058 else {
2059 continue;
2060 }
2061 else {
2062 continue;
2063 }
2064 else {
2065 continue;
2066 }
2067 else {
2068 continue;
2069 }
2070 else {
2071 continue;
2072 }
2073 else if (p[pixel[9]] < c_b)
2074 if (p[pixel[10]] < c_b)
2075 if (p[pixel[11]] < c_b)
2076 if (p[pixel[12]] < c_b)
2077 if (p[pixel[13]] < c_b)
2078 if (p[pixel[14]] < c_b)
2079 if (p[pixel[15]] < c_b)
2080 {}
2081 else if (p[pixel[6]] < c_b)
2082 if (p[pixel[7]] < c_b)
2083 if (p[pixel[8]] < c_b)
2084 {}
2085 else {
2086 continue;
2087 }
2088 else {
2089 continue;
2090 }
2091 else {
2092 continue;
2093 }
2094 else if (p[pixel[5]] < c_b)
2095 if (p[pixel[6]] < c_b)
2096 if (p[pixel[7]] < c_b)
2097 if (p[pixel[8]] < c_b)
2098 {}
2099 else {
2100 continue;
2101 }
2102 else {
2103 continue;
2104 }
2105 else {
2106 continue;
2107 }
2108 else {
2109 continue;
2110 }
2111 else if (p[pixel[4]] < c_b)
2112 if (p[pixel[5]] < c_b)
2113 if (p[pixel[6]] < c_b)
2114 if (p[pixel[7]] < c_b)
2115 if (p[pixel[8]] < c_b)
2116 {}
2117 else {
2118 continue;
2119 }
2120 else {
2121 continue;
2122 }
2123 else {
2124 continue;
2125 }
2126 else {
2127 continue;
2128 }
2129 else {
2130 continue;
2131 }
2132 else if (p[pixel[3]] < c_b)
2133 if (p[pixel[4]] < c_b)
2134 if (p[pixel[5]] < c_b)
2135 if (p[pixel[6]] < c_b)
2136 if (p[pixel[7]] < c_b)
2137 if (p[pixel[8]] < c_b)
2138 {}
2139 else {
2140 continue;
2141 }
2142 else {
2143 continue;
2144 }
2145 else {
2146 continue;
2147 }
2148 else {
2149 continue;
2150 }
2151 else {
2152 continue;
2153 }
2154 else {
2155 continue;
2156 }
2157 else {
2158 continue;
2159 }
2160 else {
2161 continue;
2162 }
2163 else {
2164 continue;
2165 }
2166 else if (p[pixel[2]] < c_b)
2167 if (p[pixel[3]] > cb)
2168 if (p[pixel[10]] > cb)
2169 if (p[pixel[7]] > cb)
2170 if (p[pixel[8]] > cb)
2171 if (p[pixel[9]] > cb)
2172 if (p[pixel[11]] > cb)
2173 if (p[pixel[6]] > cb)
2174 if (p[pixel[5]] > cb)
2175 if (p[pixel[4]] > cb)
2176 {}
2177 else if (p[pixel[12]] > cb)
2178 if (p[pixel[13]] > cb)
2179 {}
2180 else {
2181 continue;
2182 }
2183 else {
2184 continue;
2185 }
2186 else if (p[pixel[12]] > cb)
2187 if (p[pixel[13]] > cb)
2188 if (p[pixel[14]] > cb)
2189 {}
2190 else {
2191 continue;
2192 }
2193 else {
2194 continue;
2195 }
2196 else {
2197 continue;
2198 }
2199 else if (p[pixel[12]] > cb)
2200 if (p[pixel[13]] > cb)
2201 if (p[pixel[14]] > cb)
2202 if (p[pixel[15]] > cb)
2203 {}
2204 else {
2205 continue;
2206 }
2207 else {
2208 continue;
2209 }
2210 else {
2211 continue;
2212 }
2213 else {
2214 continue;
2215 }
2216 else {
2217 continue;
2218 }
2219 else {
2220 continue;
2221 }
2222 else {
2223 continue;
2224 }
2225 else {
2226 continue;
2227 }
2228 else if (p[pixel[10]] < c_b)
2229 if (p[pixel[11]] < c_b)
2230 if (p[pixel[12]] < c_b)
2231 if (p[pixel[13]] < c_b)
2232 if (p[pixel[14]] < c_b)
2233 if (p[pixel[15]] < c_b)
2234 {}
2235 else if (p[pixel[6]] < c_b)
2236 if (p[pixel[7]] < c_b)
2237 if (p[pixel[8]] < c_b)
2238 if (p[pixel[9]] < c_b)
2239 {}
2240 else {
2241 continue;
2242 }
2243 else {
2244 continue;
2245 }
2246 else {
2247 continue;
2248 }
2249 else {
2250 continue;
2251 }
2252 else if (p[pixel[5]] < c_b)
2253 if (p[pixel[6]] < c_b)
2254 if (p[pixel[7]] < c_b)
2255 if (p[pixel[8]] < c_b)
2256 if (p[pixel[9]] < c_b)
2257 {}
2258 else {
2259 continue;
2260 }
2261 else {
2262 continue;
2263 }
2264 else {
2265 continue;
2266 }
2267 else {
2268 continue;
2269 }
2270 else {
2271 continue;
2272 }
2273 else if (p[pixel[4]] < c_b)
2274 if (p[pixel[5]] < c_b)
2275 if (p[pixel[6]] < c_b)
2276 if (p[pixel[7]] < c_b)
2277 if (p[pixel[8]] < c_b)
2278 if (p[pixel[9]] < c_b)
2279 {}
2280 else {
2281 continue;
2282 }
2283 else {
2284 continue;
2285 }
2286 else {
2287 continue;
2288 }
2289 else {
2290 continue;
2291 }
2292 else {
2293 continue;
2294 }
2295 else {
2296 continue;
2297 }
2298 else {
2299 continue;
2300 }
2301 else {
2302 continue;
2303 }
2304 else {
2305 continue;
2306 }
2307 else if (p[pixel[3]] < c_b)
2308 if (p[pixel[4]] > cb)
2309 if (p[pixel[13]] > cb)
2310 if (p[pixel[7]] > cb)
2311 if (p[pixel[8]] > cb)
2312 if (p[pixel[9]] > cb)
2313 if (p[pixel[10]] > cb)
2314 if (p[pixel[11]] > cb)
2315 if (p[pixel[12]] > cb)
2316 if (p[pixel[6]] > cb)
2317 if (p[pixel[5]] > cb)
2318 {}
2319 else if (p[pixel[14]] > cb)
2320 {}
2321 else {
2322 continue;
2323 }
2324 else if (p[pixel[14]] > cb)
2325 if (p[pixel[15]] > cb)
2326 {}
2327 else {
2328 continue;
2329 }
2330 else {
2331 continue;
2332 }
2333 else {
2334 continue;
2335 }
2336 else {
2337 continue;
2338 }
2339 else {
2340 continue;
2341 }
2342 else {
2343 continue;
2344 }
2345 else {
2346 continue;
2347 }
2348 else {
2349 continue;
2350 }
2351 else if (p[pixel[13]] < c_b)
2352 if (p[pixel[11]] > cb)
2353 if (p[pixel[5]] > cb)
2354 if (p[pixel[6]] > cb)
2355 if (p[pixel[7]] > cb)
2356 if (p[pixel[8]] > cb)
2357 if (p[pixel[9]] > cb)
2358 if (p[pixel[10]] > cb)
2359 if (p[pixel[12]] > cb)
2360 {}
2361 else {
2362 continue;
2363 }
2364 else {
2365 continue;
2366 }
2367 else {
2368 continue;
2369 }
2370 else {
2371 continue;
2372 }
2373 else {
2374 continue;
2375 }
2376 else {
2377 continue;
2378 }
2379 else {
2380 continue;
2381 }
2382 else if (p[pixel[11]] < c_b)
2383 if (p[pixel[12]] < c_b)
2384 if (p[pixel[14]] < c_b)
2385 if (p[pixel[15]] < c_b)
2386 {}
2387 else if (p[pixel[6]] < c_b)
2388 if (p[pixel[7]] < c_b)
2389 if (p[pixel[8]] < c_b)
2390 if (p[pixel[9]] < c_b)
2391 if (p[pixel[10]] < c_b)
2392 {}
2393 else {
2394 continue;
2395 }
2396 else {
2397 continue;
2398 }
2399 else {
2400 continue;
2401 }
2402 else {
2403 continue;
2404 }
2405 else {
2406 continue;
2407 }
2408 else if (p[pixel[5]] < c_b)
2409 if (p[pixel[6]] < c_b)
2410 if (p[pixel[7]] < c_b)
2411 if (p[pixel[8]] < c_b)
2412 if (p[pixel[9]] < c_b)
2413 if (p[pixel[10]] < c_b)
2414 {}
2415 else {
2416 continue;
2417 }
2418 else {
2419 continue;
2420 }
2421 else {
2422 continue;
2423 }
2424 else {
2425 continue;
2426 }
2427 else {
2428 continue;
2429 }
2430 else {
2431 continue;
2432 }
2433 else {
2434 continue;
2435 }
2436 else {
2437 continue;
2438 }
2439 else if (p[pixel[5]] > cb)
2440 if (p[pixel[6]] > cb)
2441 if (p[pixel[7]] > cb)
2442 if (p[pixel[8]] > cb)
2443 if (p[pixel[9]] > cb)
2444 if (p[pixel[10]] > cb)
2445 if (p[pixel[11]] > cb)
2446 if (p[pixel[12]] > cb)
2447 {}
2448 else {
2449 continue;
2450 }
2451 else {
2452 continue;
2453 }
2454 else {
2455 continue;
2456 }
2457 else {
2458 continue;
2459 }
2460 else {
2461 continue;
2462 }
2463 else {
2464 continue;
2465 }
2466 else {
2467 continue;
2468 }
2469 else {
2470 continue;
2471 }
2472 else if (p[pixel[4]] < c_b)
2473 if (p[pixel[5]] > cb)
2474 if (p[pixel[14]] > cb)
2475 if (p[pixel[7]] > cb)
2476 if (p[pixel[8]] > cb)
2477 if (p[pixel[9]] > cb)
2478 if (p[pixel[10]] > cb)
2479 if (p[pixel[11]] > cb)
2480 if (p[pixel[12]] > cb)
2481 if (p[pixel[13]] > cb)
2482 if (p[pixel[6]] > cb)
2483 {}
2484 else if (p[pixel[15]] > cb)
2485 {}
2486 else {
2487 continue;
2488 }
2489 else {
2490 continue;
2491 }
2492 else {
2493 continue;
2494 }
2495 else {
2496 continue;
2497 }
2498 else {
2499 continue;
2500 }
2501 else {
2502 continue;
2503 }
2504 else {
2505 continue;
2506 }
2507 else {
2508 continue;
2509 }
2510 else if (p[pixel[14]] < c_b)
2511 if (p[pixel[12]] > cb)
2512 if (p[pixel[6]] > cb)
2513 if (p[pixel[7]] > cb)
2514 if (p[pixel[8]] > cb)
2515 if (p[pixel[9]] > cb)
2516 if (p[pixel[10]] > cb)
2517 if (p[pixel[11]] > cb)
2518 if (p[pixel[13]] > cb)
2519 {}
2520 else {
2521 continue;
2522 }
2523 else {
2524 continue;
2525 }
2526 else {
2527 continue;
2528 }
2529 else {
2530 continue;
2531 }
2532 else {
2533 continue;
2534 }
2535 else {
2536 continue;
2537 }
2538 else {
2539 continue;
2540 }
2541 else if (p[pixel[12]] < c_b)
2542 if (p[pixel[13]] < c_b)
2543 if (p[pixel[15]] < c_b)
2544 {}
2545 else if (p[pixel[6]] < c_b)
2546 if (p[pixel[7]] < c_b)
2547 if (p[pixel[8]] < c_b)
2548 if (p[pixel[9]] < c_b)
2549 if (p[pixel[10]] < c_b)
2550 if (p[pixel[11]] < c_b)
2551 {}
2552 else {
2553 continue;
2554 }
2555 else {
2556 continue;
2557 }
2558 else {
2559 continue;
2560 }
2561 else {
2562 continue;
2563 }
2564 else {
2565 continue;
2566 }
2567 else {
2568 continue;
2569 }
2570 else {
2571 continue;
2572 }
2573 else {
2574 continue;
2575 }
2576 else if (p[pixel[6]] > cb)
2577 if (p[pixel[7]] > cb)
2578 if (p[pixel[8]] > cb)
2579 if (p[pixel[9]] > cb)
2580 if (p[pixel[10]] > cb)
2581 if (p[pixel[11]] > cb)
2582 if (p[pixel[12]] > cb)
2583 if (p[pixel[13]] > cb)
2584 {}
2585 else {
2586 continue;
2587 }
2588 else {
2589 continue;
2590 }
2591 else {
2592 continue;
2593 }
2594 else {
2595 continue;
2596 }
2597 else {
2598 continue;
2599 }
2600 else {
2601 continue;
2602 }
2603 else {
2604 continue;
2605 }
2606 else {
2607 continue;
2608 }
2609 else if (p[pixel[5]] < c_b)
2610 if (p[pixel[6]] > cb)
2611 if (p[pixel[15]] < c_b)
2612 if (p[pixel[13]] > cb)
2613 if (p[pixel[7]] > cb)
2614 if (p[pixel[8]] > cb)
2615 if (p[pixel[9]] > cb)
2616 if (p[pixel[10]] > cb)
2617 if (p[pixel[11]] > cb)
2618 if (p[pixel[12]] > cb)
2619 if (p[pixel[14]] > cb)
2620 {}
2621 else {
2622 continue;
2623 }
2624 else {
2625 continue;
2626 }
2627 else {
2628 continue;
2629 }
2630 else {
2631 continue;
2632 }
2633 else {
2634 continue;
2635 }
2636 else {
2637 continue;
2638 }
2639 else {
2640 continue;
2641 }
2642 else if (p[pixel[13]] < c_b)
2643 if (p[pixel[14]] < c_b)
2644 {}
2645 else {
2646 continue;
2647 }
2648 else {
2649 continue;
2650 }
2651 else if (p[pixel[7]] > cb)
2652 if (p[pixel[8]] > cb)
2653 if (p[pixel[9]] > cb)
2654 if (p[pixel[10]] > cb)
2655 if (p[pixel[11]] > cb)
2656 if (p[pixel[12]] > cb)
2657 if (p[pixel[13]] > cb)
2658 if (p[pixel[14]] > cb)
2659 {}
2660 else {
2661 continue;
2662 }
2663 else {
2664 continue;
2665 }
2666 else {
2667 continue;
2668 }
2669 else {
2670 continue;
2671 }
2672 else {
2673 continue;
2674 }
2675 else {
2676 continue;
2677 }
2678 else {
2679 continue;
2680 }
2681 else {
2682 continue;
2683 }
2684 else if (p[pixel[6]] < c_b)
2685 if (p[pixel[7]] > cb)
2686 if (p[pixel[14]] > cb)
2687 if (p[pixel[8]] > cb)
2688 if (p[pixel[9]] > cb)
2689 if (p[pixel[10]] > cb)
2690 if (p[pixel[11]] > cb)
2691 if (p[pixel[12]] > cb)
2692 if (p[pixel[13]] > cb)
2693 if (p[pixel[15]] > cb)
2694 {}
2695 else {
2696 continue;
2697 }
2698 else {
2699 continue;
2700 }
2701 else {
2702 continue;
2703 }
2704 else {
2705 continue;
2706 }
2707 else {
2708 continue;
2709 }
2710 else {
2711 continue;
2712 }
2713 else {
2714 continue;
2715 }
2716 else if (p[pixel[14]] < c_b)
2717 if (p[pixel[15]] < c_b)
2718 {}
2719 else {
2720 continue;
2721 }
2722 else {
2723 continue;
2724 }
2725 else if (p[pixel[7]] < c_b)
2726 if (p[pixel[8]] < c_b)
2727 {}
2728 else if (p[pixel[15]] < c_b)
2729 {}
2730 else {
2731 continue;
2732 }
2733 else if (p[pixel[14]] < c_b)
2734 if (p[pixel[15]] < c_b)
2735 {}
2736 else {
2737 continue;
2738 }
2739 else {
2740 continue;
2741 }
2742 else if (p[pixel[13]] > cb)
2743 if (p[pixel[7]] > cb)
2744 if (p[pixel[8]] > cb)
2745 if (p[pixel[9]] > cb)
2746 if (p[pixel[10]] > cb)
2747 if (p[pixel[11]] > cb)
2748 if (p[pixel[12]] > cb)
2749 if (p[pixel[14]] > cb)
2750 if (p[pixel[15]] > cb)
2751 {}
2752 else {
2753 continue;
2754 }
2755 else {
2756 continue;
2757 }
2758 else {
2759 continue;
2760 }
2761 else {
2762 continue;
2763 }
2764 else {
2765 continue;
2766 }
2767 else {
2768 continue;
2769 }
2770 else {
2771 continue;
2772 }
2773 else {
2774 continue;
2775 }
2776 else if (p[pixel[13]] < c_b)
2777 if (p[pixel[14]] < c_b)
2778 if (p[pixel[15]] < c_b)
2779 {}
2780 else {
2781 continue;
2782 }
2783 else {
2784 continue;
2785 }
2786 else {
2787 continue;
2788 }
2789 else if (p[pixel[12]] > cb)
2790 if (p[pixel[7]] > cb)
2791 if (p[pixel[8]] > cb)
2792 if (p[pixel[9]] > cb)
2793 if (p[pixel[10]] > cb)
2794 if (p[pixel[11]] > cb)
2795 if (p[pixel[13]] > cb)
2796 if (p[pixel[14]] > cb)
2797 if (p[pixel[6]] > cb)
2798 {}
2799 else if (p[pixel[15]] > cb)
2800 {}
2801 else {
2802 continue;
2803 }
2804 else {
2805 continue;
2806 }
2807 else {
2808 continue;
2809 }
2810 else {
2811 continue;
2812 }
2813 else {
2814 continue;
2815 }
2816 else {
2817 continue;
2818 }
2819 else {
2820 continue;
2821 }
2822 else {
2823 continue;
2824 }
2825 else if (p[pixel[12]] < c_b)
2826 if (p[pixel[13]] < c_b)
2827 if (p[pixel[14]] < c_b)
2828 if (p[pixel[15]] < c_b)
2829 {}
2830 else if (p[pixel[6]] < c_b)
2831 if (p[pixel[7]] < c_b)
2832 if (p[pixel[8]] < c_b)
2833 if (p[pixel[9]] < c_b)
2834 if (p[pixel[10]] < c_b)
2835 if (p[pixel[11]] < c_b)
2836 {}
2837 else {
2838 continue;
2839 }
2840 else {
2841 continue;
2842 }
2843 else {
2844 continue;
2845 }
2846 else {
2847 continue;
2848 }
2849 else {
2850 continue;
2851 }
2852 else {
2853 continue;
2854 }
2855 else {
2856 continue;
2857 }
2858 else {
2859 continue;
2860 }
2861 else {
2862 continue;
2863 }
2864 else if (p[pixel[11]] > cb)
2865 if (p[pixel[7]] > cb)
2866 if (p[pixel[8]] > cb)
2867 if (p[pixel[9]] > cb)
2868 if (p[pixel[10]] > cb)
2869 if (p[pixel[12]] > cb)
2870 if (p[pixel[13]] > cb)
2871 if (p[pixel[6]] > cb)
2872 if (p[pixel[5]] > cb)
2873 {}
2874 else if (p[pixel[14]] > cb)
2875 {}
2876 else {
2877 continue;
2878 }
2879 else if (p[pixel[14]] > cb)
2880 if (p[pixel[15]] > cb)
2881 {}
2882 else {
2883 continue;
2884 }
2885 else {
2886 continue;
2887 }
2888 else {
2889 continue;
2890 }
2891 else {
2892 continue;
2893 }
2894 else {
2895 continue;
2896 }
2897 else {
2898 continue;
2899 }
2900 else {
2901 continue;
2902 }
2903 else {
2904 continue;
2905 }
2906 else if (p[pixel[11]] < c_b)
2907 if (p[pixel[12]] < c_b)
2908 if (p[pixel[13]] < c_b)
2909 if (p[pixel[14]] < c_b)
2910 if (p[pixel[15]] < c_b)
2911 {}
2912 else if (p[pixel[6]] < c_b)
2913 if (p[pixel[7]] < c_b)
2914 if (p[pixel[8]] < c_b)
2915 if (p[pixel[9]] < c_b)
2916 if (p[pixel[10]] < c_b)
2917 {}
2918 else {
2919 continue;
2920 }
2921 else {
2922 continue;
2923 }
2924 else {
2925 continue;
2926 }
2927 else {
2928 continue;
2929 }
2930 else {
2931 continue;
2932 }
2933 else if (p[pixel[5]] < c_b)
2934 if (p[pixel[6]] < c_b)
2935 if (p[pixel[7]] < c_b)
2936 if (p[pixel[8]] < c_b)
2937 if (p[pixel[9]] < c_b)
2938 if (p[pixel[10]] < c_b)
2939 {}
2940 else {
2941 continue;
2942 }
2943 else {
2944 continue;
2945 }
2946 else {
2947 continue;
2948 }
2949 else {
2950 continue;
2951 }
2952 else {
2953 continue;
2954 }
2955 else {
2956 continue;
2957 }
2958 else {
2959 continue;
2960 }
2961 else {
2962 continue;
2963 }
2964 else {
2965 continue;
2966 }
2967 else if (p[pixel[10]] > cb)
2968 if (p[pixel[7]] > cb)
2969 if (p[pixel[8]] > cb)
2970 if (p[pixel[9]] > cb)
2971 if (p[pixel[11]] > cb)
2972 if (p[pixel[12]] > cb)
2973 if (p[pixel[6]] > cb)
2974 if (p[pixel[5]] > cb)
2975 if (p[pixel[4]] > cb)
2976 {}
2977 else if (p[pixel[13]] > cb)
2978 {}
2979 else {
2980 continue;
2981 }
2982 else if (p[pixel[13]] > cb)
2983 if (p[pixel[14]] > cb)
2984 {}
2985 else {
2986 continue;
2987 }
2988 else {
2989 continue;
2990 }
2991 else if (p[pixel[13]] > cb)
2992 if (p[pixel[14]] > cb)
2993 if (p[pixel[15]] > cb)
2994 {}
2995 else {
2996 continue;
2997 }
2998 else {
2999 continue;
3000 }
3001 else {
3002 continue;
3003 }
3004 else {
3005 continue;
3006 }
3007 else {
3008 continue;
3009 }
3010 else {
3011 continue;
3012 }
3013 else {
3014 continue;
3015 }
3016 else {
3017 continue;
3018 }
3019 else if (p[pixel[10]] < c_b)
3020 if (p[pixel[11]] < c_b)
3021 if (p[pixel[12]] < c_b)
3022 if (p[pixel[13]] < c_b)
3023 if (p[pixel[14]] < c_b)
3024 if (p[pixel[15]] < c_b)
3025 {}
3026 else if (p[pixel[6]] < c_b)
3027 if (p[pixel[7]] < c_b)
3028 if (p[pixel[8]] < c_b)
3029 if (p[pixel[9]] < c_b)
3030 {}
3031 else {
3032 continue;
3033 }
3034 else {
3035 continue;
3036 }
3037 else {
3038 continue;
3039 }
3040 else {
3041 continue;
3042 }
3043 else if (p[pixel[5]] < c_b)
3044 if (p[pixel[6]] < c_b)
3045 if (p[pixel[7]] < c_b)
3046 if (p[pixel[8]] < c_b)
3047 if (p[pixel[9]] < c_b)
3048 {}
3049 else {
3050 continue;
3051 }
3052 else {
3053 continue;
3054 }
3055 else {
3056 continue;
3057 }
3058 else {
3059 continue;
3060 }
3061 else {
3062 continue;
3063 }
3064 else if (p[pixel[4]] < c_b)
3065 if (p[pixel[5]] < c_b)
3066 if (p[pixel[6]] < c_b)
3067 if (p[pixel[7]] < c_b)
3068 if (p[pixel[8]] < c_b)
3069 if (p[pixel[9]] < c_b)
3070 {}
3071 else {
3072 continue;
3073 }
3074 else {
3075 continue;
3076 }
3077 else {
3078 continue;
3079 }
3080 else {
3081 continue;
3082 }
3083 else {
3084 continue;
3085 }
3086 else {
3087 continue;
3088 }
3089 else {
3090 continue;
3091 }
3092 else {
3093 continue;
3094 }
3095 else {
3096 continue;
3097 }
3098 else if (p[pixel[9]] > cb)
3099 if (p[pixel[7]] > cb)
3100 if (p[pixel[8]] > cb)
3101 if (p[pixel[10]] > cb)
3102 if (p[pixel[11]] > cb)
3103 if (p[pixel[6]] > cb)
3104 if (p[pixel[5]] > cb)
3105 if (p[pixel[4]] > cb)
3106 if (p[pixel[3]] > cb)
3107 {}
3108 else if (p[pixel[12]] > cb)
3109 {}
3110 else {
3111 continue;
3112 }
3113 else if (p[pixel[12]] > cb)
3114 if (p[pixel[13]] > cb)
3115 {}
3116 else {
3117 continue;
3118 }
3119 else {
3120 continue;
3121 }
3122 else if (p[pixel[12]] > cb)
3123 if (p[pixel[13]] > cb)
3124 if (p[pixel[14]] > cb)
3125 {}
3126 else {
3127 continue;
3128 }
3129 else {
3130 continue;
3131 }
3132 else {
3133 continue;
3134 }
3135 else if (p[pixel[12]] > cb)
3136 if (p[pixel[13]] > cb)
3137 if (p[pixel[14]] > cb)
3138 if (p[pixel[15]] > cb)
3139 {}
3140 else {
3141 continue;
3142 }
3143 else {
3144 continue;
3145 }
3146 else {
3147 continue;
3148 }
3149 else {
3150 continue;
3151 }
3152 else {
3153 continue;
3154 }
3155 else {
3156 continue;
3157 }
3158 else {
3159 continue;
3160 }
3161 else {
3162 continue;
3163 }
3164 else if (p[pixel[9]] < c_b)
3165 if (p[pixel[10]] < c_b)
3166 if (p[pixel[11]] < c_b)
3167 if (p[pixel[12]] < c_b)
3168 if (p[pixel[13]] < c_b)
3169 if (p[pixel[14]] < c_b)
3170 if (p[pixel[15]] < c_b)
3171 {}
3172 else if (p[pixel[6]] < c_b)
3173 if (p[pixel[7]] < c_b)
3174 if (p[pixel[8]] < c_b)
3175 {}
3176 else {
3177 continue;
3178 }
3179 else {
3180 continue;
3181 }
3182 else {
3183 continue;
3184 }
3185 else if (p[pixel[5]] < c_b)
3186 if (p[pixel[6]] < c_b)
3187 if (p[pixel[7]] < c_b)
3188 if (p[pixel[8]] < c_b)
3189 {}
3190 else {
3191 continue;
3192 }
3193 else {
3194 continue;
3195 }
3196 else {
3197 continue;
3198 }
3199 else {
3200 continue;
3201 }
3202 else if (p[pixel[4]] < c_b)
3203 if (p[pixel[5]] < c_b)
3204 if (p[pixel[6]] < c_b)
3205 if (p[pixel[7]] < c_b)
3206 if (p[pixel[8]] < c_b)
3207 {}
3208 else {
3209 continue;
3210 }
3211 else {
3212 continue;
3213 }
3214 else {
3215 continue;
3216 }
3217 else {
3218 continue;
3219 }
3220 else {
3221 continue;
3222 }
3223 else if (p[pixel[3]] < c_b)
3224 if (p[pixel[4]] < c_b)
3225 if (p[pixel[5]] < c_b)
3226 if (p[pixel[6]] < c_b)
3227 if (p[pixel[7]] < c_b)
3228 if (p[pixel[8]] < c_b)
3229 {}
3230 else {
3231 continue;
3232 }
3233 else {
3234 continue;
3235 }
3236 else {
3237 continue;
3238 }
3239 else {
3240 continue;
3241 }
3242 else {
3243 continue;
3244 }
3245 else {
3246 continue;
3247 }
3248 else {
3249 continue;
3250 }
3251 else {
3252 continue;
3253 }
3254 else {
3255 continue;
3256 }
3257 else if (p[pixel[8]] > cb)
3258 if (p[pixel[7]] > cb)
3259 if (p[pixel[9]] > cb)
3260 if (p[pixel[10]] > cb)
3261 if (p[pixel[6]] > cb)
3262 if (p[pixel[5]] > cb)
3263 if (p[pixel[4]] > cb)
3264 if (p[pixel[3]] > cb)
3265 if (p[pixel[2]] > cb)
3266 {}
3267 else if (p[pixel[11]] > cb)
3268 {}
3269 else {
3270 continue;
3271 }
3272 else if (p[pixel[11]] > cb)
3273 if (p[pixel[12]] > cb)
3274 {}
3275 else {
3276 continue;
3277 }
3278 else {
3279 continue;
3280 }
3281 else if (p[pixel[11]] > cb)
3282 if (p[pixel[12]] > cb)
3283 if (p[pixel[13]] > cb)
3284 {}
3285 else {
3286 continue;
3287 }
3288 else {
3289 continue;
3290 }
3291 else {
3292 continue;
3293 }
3294 else if (p[pixel[11]] > cb)
3295 if (p[pixel[12]] > cb)
3296 if (p[pixel[13]] > cb)
3297 if (p[pixel[14]] > cb)
3298 {}
3299 else {
3300 continue;
3301 }
3302 else {
3303 continue;
3304 }
3305 else {
3306 continue;
3307 }
3308 else {
3309 continue;
3310 }
3311 else if (p[pixel[11]] > cb)
3312 if (p[pixel[12]] > cb)
3313 if (p[pixel[13]] > cb)
3314 if (p[pixel[14]] > cb)
3315 if (p[pixel[15]] > cb)
3316 {}
3317 else {
3318 continue;
3319 }
3320 else {
3321 continue;
3322 }
3323 else {
3324 continue;
3325 }
3326 else {
3327 continue;
3328 }
3329 else {
3330 continue;
3331 }
3332 else {
3333 continue;
3334 }
3335 else {
3336 continue;
3337 }
3338 else {
3339 continue;
3340 }
3341 else if (p[pixel[8]] < c_b)
3342 if (p[pixel[9]] < c_b)
3343 if (p[pixel[10]] < c_b)
3344 if (p[pixel[11]] < c_b)
3345 if (p[pixel[12]] < c_b)
3346 if (p[pixel[13]] < c_b)
3347 if (p[pixel[14]] < c_b)
3348 if (p[pixel[15]] < c_b)
3349 {}
3350 else if (p[pixel[6]] < c_b)
3351 if (p[pixel[7]] < c_b)
3352 {}
3353 else {
3354 continue;
3355 }
3356 else {
3357 continue;
3358 }
3359 else if (p[pixel[5]] < c_b)
3360 if (p[pixel[6]] < c_b)
3361 if (p[pixel[7]] < c_b)
3362 {}
3363 else {
3364 continue;
3365 }
3366 else {
3367 continue;
3368 }
3369 else {
3370 continue;
3371 }
3372 else if (p[pixel[4]] < c_b)
3373 if (p[pixel[5]] < c_b)
3374 if (p[pixel[6]] < c_b)
3375 if (p[pixel[7]] < c_b)
3376 {}
3377 else {
3378 continue;
3379 }
3380 else {
3381 continue;
3382 }
3383 else {
3384 continue;
3385 }
3386 else {
3387 continue;
3388 }
3389 else if (p[pixel[3]] < c_b)
3390 if (p[pixel[4]] < c_b)
3391 if (p[pixel[5]] < c_b)
3392 if (p[pixel[6]] < c_b)
3393 if (p[pixel[7]] < c_b)
3394 {}
3395 else {
3396 continue;
3397 }
3398 else {
3399 continue;
3400 }
3401 else {
3402 continue;
3403 }
3404 else {
3405 continue;
3406 }
3407 else {
3408 continue;
3409 }
3410 else if (p[pixel[2]] < c_b)
3411 if (p[pixel[3]] < c_b)
3412 if (p[pixel[4]] < c_b)
3413 if (p[pixel[5]] < c_b)
3414 if (p[pixel[6]] < c_b)
3415 if (p[pixel[7]] < c_b)
3416 {}
3417 else {
3418 continue;
3419 }
3420 else {
3421 continue;
3422 }
3423 else {
3424 continue;
3425 }
3426 else {
3427 continue;
3428 }
3429 else {
3430 continue;
3431 }
3432 else {
3433 continue;
3434 }
3435 else {
3436 continue;
3437 }
3438 else {
3439 continue;
3440 }
3441 else {
3442 continue;
3443 }
3444 else if (p[pixel[7]] > cb)
3445 if (p[pixel[8]] > cb)
3446 if (p[pixel[9]] > cb)
3447 if (p[pixel[6]] > cb)
3448 if (p[pixel[5]] > cb)
3449 if (p[pixel[4]] > cb)
3450 if (p[pixel[3]] > cb)
3451 if (p[pixel[2]] > cb)
3452 if (p[pixel[1]] > cb)
3453 {}
3454 else if (p[pixel[10]] > cb)
3455 {}
3456 else {
3457 continue;
3458 }
3459 else if (p[pixel[10]] > cb)
3460 if (p[pixel[11]] > cb)
3461 {}
3462 else {
3463 continue;
3464 }
3465 else {
3466 continue;
3467 }
3468 else if (p[pixel[10]] > cb)
3469 if (p[pixel[11]] > cb)
3470 if (p[pixel[12]] > cb)
3471 {}
3472 else {
3473 continue;
3474 }
3475 else {
3476 continue;
3477 }
3478 else {
3479 continue;
3480 }
3481 else if (p[pixel[10]] > cb)
3482 if (p[pixel[11]] > cb)
3483 if (p[pixel[12]] > cb)
3484 if (p[pixel[13]] > cb)
3485 {}
3486 else {
3487 continue;
3488 }
3489 else {
3490 continue;
3491 }
3492 else {
3493 continue;
3494 }
3495 else {
3496 continue;
3497 }
3498 else if (p[pixel[10]] > cb)
3499 if (p[pixel[11]] > cb)
3500 if (p[pixel[12]] > cb)
3501 if (p[pixel[13]] > cb)
3502 if (p[pixel[14]] > cb)
3503 {}
3504 else {
3505 continue;
3506 }
3507 else {
3508 continue;
3509 }
3510 else {
3511 continue;
3512 }
3513 else {
3514 continue;
3515 }
3516 else {
3517 continue;
3518 }
3519 else if (p[pixel[10]] > cb)
3520 if (p[pixel[11]] > cb)
3521 if (p[pixel[12]] > cb)
3522 if (p[pixel[13]] > cb)
3523 if (p[pixel[14]] > cb)
3524 if (p[pixel[15]] > cb)
3525 {}
3526 else {
3527 continue;
3528 }
3529 else {
3530 continue;
3531 }
3532 else {
3533 continue;
3534 }
3535 else {
3536 continue;
3537 }
3538 else {
3539 continue;
3540 }
3541 else {
3542 continue;
3543 }
3544 else {
3545 continue;
3546 }
3547 else {
3548 continue;
3549 }
3550 else if (p[pixel[7]] < c_b)
3551 if (p[pixel[8]] < c_b)
3552 if (p[pixel[9]] < c_b)
3553 if (p[pixel[6]] < c_b)
3554 if (p[pixel[5]] < c_b)
3555 if (p[pixel[4]] < c_b)
3556 if (p[pixel[3]] < c_b)
3557 if (p[pixel[2]] < c_b)
3558 if (p[pixel[1]] < c_b)
3559 {}
3560 else if (p[pixel[10]] < c_b)
3561 {}
3562 else {
3563 continue;
3564 }
3565 else if (p[pixel[10]] < c_b)
3566 if (p[pixel[11]] < c_b)
3567 {}
3568 else {
3569 continue;
3570 }
3571 else {
3572 continue;
3573 }
3574 else if (p[pixel[10]] < c_b)
3575 if (p[pixel[11]] < c_b)
3576 if (p[pixel[12]] < c_b)
3577 {}
3578 else {
3579 continue;
3580 }
3581 else {
3582 continue;
3583 }
3584 else {
3585 continue;
3586 }
3587 else if (p[pixel[10]] < c_b)
3588 if (p[pixel[11]] < c_b)
3589 if (p[pixel[12]] < c_b)
3590 if (p[pixel[13]] < c_b)
3591 {}
3592 else {
3593 continue;
3594 }
3595 else {
3596 continue;
3597 }
3598 else {
3599 continue;
3600 }
3601 else {
3602 continue;
3603 }
3604 else if (p[pixel[10]] < c_b)
3605 if (p[pixel[11]] < c_b)
3606 if (p[pixel[12]] < c_b)
3607 if (p[pixel[13]] < c_b)
3608 if (p[pixel[14]] < c_b)
3609 {}
3610 else {
3611 continue;
3612 }
3613 else {
3614 continue;
3615 }
3616 else {
3617 continue;
3618 }
3619 else {
3620 continue;
3621 }
3622 else {
3623 continue;
3624 }
3625 else if (p[pixel[10]] < c_b)
3626 if (p[pixel[11]] < c_b)
3627 if (p[pixel[12]] < c_b)
3628 if (p[pixel[13]] < c_b)
3629 if (p[pixel[14]] < c_b)
3630 if (p[pixel[15]] < c_b)
3631 {}
3632 else {
3633 continue;
3634 }
3635 else {
3636 continue;
3637 }
3638 else {
3639 continue;
3640 }
3641 else {
3642 continue;
3643 }
3644 else {
3645 continue;
3646 }
3647 else {
3648 continue;
3649 }
3650 else {
3651 continue;
3652 }
3653 else {
3654 continue;
3655 }
3656 else {
3657 continue;
3658 }
3659
3660 // When we have more corner than allocted space reallocate
3661 if (corner_cnt >= *ret_corners_length) {
3662 *ret_corners_length *= 2;
3663 *ret_corners = realloc(*ret_corners, sizeof(struct point_t) * (*ret_corners_length));
3664 }
3665
3666 (*ret_corners)[corner_cnt].x = x;
3667 (*ret_corners)[corner_cnt].y = y;
3668 corner_cnt++;
3669
3670 // Skip some in the width direction
3671 x += min_dist;
3672 }
3673 }
3674 *num_corners = corner_cnt;
3675}
3676
3682static void fast_make_offsets(int32_t *pixel, uint16_t row_stride, uint8_t pixel_size)
3683{
3684 pixel[0] = 0 * pixel_size + row_stride * 3 * pixel_size;
3685 pixel[1] = 1 * pixel_size + row_stride * 3 * pixel_size;
3686 pixel[2] = 2 * pixel_size + row_stride * 2 * pixel_size;
3687 pixel[3] = 3 * pixel_size + row_stride * 1 * pixel_size;
3688 pixel[4] = 3 * pixel_size + row_stride * 0 * pixel_size;
3689 pixel[5] = 3 * pixel_size + row_stride * -1 * pixel_size;
3690 pixel[6] = 2 * pixel_size + row_stride * -2 * pixel_size;
3691 pixel[7] = 1 * pixel_size + row_stride * -3 * pixel_size;
3692 pixel[8] = 0 * pixel_size + row_stride * -3 * pixel_size;
3693 pixel[9] = -1 * pixel_size + row_stride * -3 * pixel_size;
3694 pixel[10] = -2 * pixel_size + row_stride * -2 * pixel_size;
3695 pixel[11] = -3 * pixel_size + row_stride * -1 * pixel_size;
3696 pixel[12] = -3 * pixel_size + row_stride * 0 * pixel_size;
3697 pixel[13] = -3 * pixel_size + row_stride * 1 * pixel_size;
3698 pixel[14] = -2 * pixel_size + row_stride * 2 * pixel_size;
3699 pixel[15] = -1 * pixel_size + row_stride * 3 * pixel_size;
3700}
3701
3702
3710int fast9_detect_pixel(struct image_t *img, uint8_t threshold, uint16_t x, uint16_t y) {
3711
3712 // Set the pixel size
3713 uint8_t pixel_size = 1;
3714 if (img->type == IMAGE_YUV422) {
3715 pixel_size = 2;
3716 }
3717
3718 int pixel[16];
3719 // Calculate the pixel offsets: not efficient to do this every time:
3720 fast_make_offsets(pixel, img->w, pixel_size);
3721
3722 uint16_t border = 4;
3723 if(x < border || x > img->w - border || y < border || y > img->h - border) {
3724 return 0;
3725 }
3726 else {
3727 // Calculate the threshold values
3728 const uint8_t *p = ((uint8_t *)img->buf) + y * img->w * pixel_size + x * pixel_size + pixel_size / 2;
3729 int16_t cb = *p + threshold;
3730 int16_t c_b = *p - threshold;
3731
3732 // Do the checks if it is a corner
3733 if (p[pixel[0]] > cb)
3734 if (p[pixel[1]] > cb)
3735 if (p[pixel[2]] > cb)
3736 if (p[pixel[3]] > cb)
3737 if (p[pixel[4]] > cb)
3738 if (p[pixel[5]] > cb)
3739 if (p[pixel[6]] > cb)
3740 if (p[pixel[7]] > cb)
3741 if (p[pixel[8]] > cb)
3742 {}
3743 else if (p[pixel[15]] > cb)
3744 {}
3745 else {
3746 return 0;
3747 }
3748 else if (p[pixel[7]] < c_b)
3749 if (p[pixel[14]] > cb)
3750 if (p[pixel[15]] > cb)
3751 {}
3752 else {
3753 return 0;
3754 }
3755 else if (p[pixel[14]] < c_b)
3756 if (p[pixel[8]] < c_b)
3757 if (p[pixel[9]] < c_b)
3758 if (p[pixel[10]] < c_b)
3759 if (p[pixel[11]] < c_b)
3760 if (p[pixel[12]] < c_b)
3761 if (p[pixel[13]] < c_b)
3762 if (p[pixel[15]] < c_b)
3763 {}
3764 else {
3765 return 0;
3766 }
3767 else {
3768 return 0;
3769 }
3770 else {
3771 return 0;
3772 }
3773 else {
3774 return 0;
3775 }
3776 else {
3777 return 0;
3778 }
3779 else {
3780 return 0;
3781 }
3782 else {
3783 return 0;
3784 }
3785 else {
3786 return 0;
3787 }
3788 else if (p[pixel[14]] > cb)
3789 if (p[pixel[15]] > cb)
3790 {}
3791 else {
3792 return 0;
3793 }
3794 else {
3795 return 0;
3796 }
3797 else if (p[pixel[6]] < c_b)
3798 if (p[pixel[15]] > cb)
3799 if (p[pixel[13]] > cb)
3800 if (p[pixel[14]] > cb)
3801 {}
3802 else {
3803 return 0;
3804 }
3805 else if (p[pixel[13]] < c_b)
3806 if (p[pixel[7]] < c_b)
3807 if (p[pixel[8]] < c_b)
3808 if (p[pixel[9]] < c_b)
3809 if (p[pixel[10]] < c_b)
3810 if (p[pixel[11]] < c_b)
3811 if (p[pixel[12]] < c_b)
3812 if (p[pixel[14]] < c_b)
3813 {}
3814 else {
3815 return 0;
3816 }
3817 else {
3818 return 0;
3819 }
3820 else {
3821 return 0;
3822 }
3823 else {
3824 return 0;
3825 }
3826 else {
3827 return 0;
3828 }
3829 else {
3830 return 0;
3831 }
3832 else {
3833 return 0;
3834 }
3835 else {
3836 return 0;
3837 }
3838 else if (p[pixel[7]] < c_b)
3839 if (p[pixel[8]] < c_b)
3840 if (p[pixel[9]] < c_b)
3841 if (p[pixel[10]] < c_b)
3842 if (p[pixel[11]] < c_b)
3843 if (p[pixel[12]] < c_b)
3844 if (p[pixel[13]] < c_b)
3845 if (p[pixel[14]] < c_b)
3846 {}
3847 else {
3848 return 0;
3849 }
3850 else {
3851 return 0;
3852 }
3853 else {
3854 return 0;
3855 }
3856 else {
3857 return 0;
3858 }
3859 else {
3860 return 0;
3861 }
3862 else {
3863 return 0;
3864 }
3865 else {
3866 return 0;
3867 }
3868 else {
3869 return 0;
3870 }
3871 else if (p[pixel[13]] > cb)
3872 if (p[pixel[14]] > cb)
3873 if (p[pixel[15]] > cb)
3874 {}
3875 else {
3876 return 0;
3877 }
3878 else {
3879 return 0;
3880 }
3881 else if (p[pixel[13]] < c_b)
3882 if (p[pixel[7]] < c_b)
3883 if (p[pixel[8]] < c_b)
3884 if (p[pixel[9]] < c_b)
3885 if (p[pixel[10]] < c_b)
3886 if (p[pixel[11]] < c_b)
3887 if (p[pixel[12]] < c_b)
3888 if (p[pixel[14]] < c_b)
3889 if (p[pixel[15]] < c_b)
3890 {}
3891 else {
3892 return 0;
3893 }
3894 else {
3895 return 0;
3896 }
3897 else {
3898 return 0;
3899 }
3900 else {
3901 return 0;
3902 }
3903 else {
3904 return 0;
3905 }
3906 else {
3907 return 0;
3908 }
3909 else {
3910 return 0;
3911 }
3912 else {
3913 return 0;
3914 }
3915 else {
3916 return 0;
3917 }
3918 else if (p[pixel[5]] < c_b)
3919 if (p[pixel[14]] > cb)
3920 if (p[pixel[12]] > cb)
3921 if (p[pixel[13]] > cb)
3922 if (p[pixel[15]] > cb)
3923 {}
3924 else if (p[pixel[6]] > cb)
3925 if (p[pixel[7]] > cb)
3926 if (p[pixel[8]] > cb)
3927 if (p[pixel[9]] > cb)
3928 if (p[pixel[10]] > cb)
3929 if (p[pixel[11]] > cb)
3930 {}
3931 else {
3932 return 0;
3933 }
3934 else {
3935 return 0;
3936 }
3937 else {
3938 return 0;
3939 }
3940 else {
3941 return 0;
3942 }
3943 else {
3944 return 0;
3945 }
3946 else {
3947 return 0;
3948 }
3949 else {
3950 return 0;
3951 }
3952 else if (p[pixel[12]] < c_b)
3953 if (p[pixel[6]] < c_b)
3954 if (p[pixel[7]] < c_b)
3955 if (p[pixel[8]] < c_b)
3956 if (p[pixel[9]] < c_b)
3957 if (p[pixel[10]] < c_b)
3958 if (p[pixel[11]] < c_b)
3959 if (p[pixel[13]] < c_b)
3960 {}
3961 else {
3962 return 0;
3963 }
3964 else {
3965 return 0;
3966 }
3967 else {
3968 return 0;
3969 }
3970 else {
3971 return 0;
3972 }
3973 else {
3974 return 0;
3975 }
3976 else {
3977 return 0;
3978 }
3979 else {
3980 return 0;
3981 }
3982 else {
3983 return 0;
3984 }
3985 else if (p[pixel[14]] < c_b)
3986 if (p[pixel[7]] < c_b)
3987 if (p[pixel[8]] < c_b)
3988 if (p[pixel[9]] < c_b)
3989 if (p[pixel[10]] < c_b)
3990 if (p[pixel[11]] < c_b)
3991 if (p[pixel[12]] < c_b)
3992 if (p[pixel[13]] < c_b)
3993 if (p[pixel[6]] < c_b)
3994 {}
3995 else if (p[pixel[15]] < c_b)
3996 {}
3997 else {
3998 return 0;
3999 }
4000 else {
4001 return 0;
4002 }
4003 else {
4004 return 0;
4005 }
4006 else {
4007 return 0;
4008 }
4009 else {
4010 return 0;
4011 }
4012 else {
4013 return 0;
4014 }
4015 else {
4016 return 0;
4017 }
4018 else {
4019 return 0;
4020 }
4021 else if (p[pixel[6]] < c_b)
4022 if (p[pixel[7]] < c_b)
4023 if (p[pixel[8]] < c_b)
4024 if (p[pixel[9]] < c_b)
4025 if (p[pixel[10]] < c_b)
4026 if (p[pixel[11]] < c_b)
4027 if (p[pixel[12]] < c_b)
4028 if (p[pixel[13]] < c_b)
4029 {}
4030 else {
4031 return 0;
4032 }
4033 else {
4034 return 0;
4035 }
4036 else {
4037 return 0;
4038 }
4039 else {
4040 return 0;
4041 }
4042 else {
4043 return 0;
4044 }
4045 else {
4046 return 0;
4047 }
4048 else {
4049 return 0;
4050 }
4051 else {
4052 return 0;
4053 }
4054 else if (p[pixel[12]] > cb)
4055 if (p[pixel[13]] > cb)
4056 if (p[pixel[14]] > cb)
4057 if (p[pixel[15]] > cb)
4058 {}
4059 else if (p[pixel[6]] > cb)
4060 if (p[pixel[7]] > cb)
4061 if (p[pixel[8]] > cb)
4062 if (p[pixel[9]] > cb)
4063 if (p[pixel[10]] > cb)
4064 if (p[pixel[11]] > cb)
4065 {}
4066 else {
4067 return 0;
4068 }
4069 else {
4070 return 0;
4071 }
4072 else {
4073 return 0;
4074 }
4075 else {
4076 return 0;
4077 }
4078 else {
4079 return 0;
4080 }
4081 else {
4082 return 0;
4083 }
4084 else {
4085 return 0;
4086 }
4087 else {
4088 return 0;
4089 }
4090 else if (p[pixel[12]] < c_b)
4091 if (p[pixel[7]] < c_b)
4092 if (p[pixel[8]] < c_b)
4093 if (p[pixel[9]] < c_b)
4094 if (p[pixel[10]] < c_b)
4095 if (p[pixel[11]] < c_b)
4096 if (p[pixel[13]] < c_b)
4097 if (p[pixel[14]] < c_b)
4098 if (p[pixel[6]] < c_b)
4099 {}
4100 else if (p[pixel[15]] < c_b)
4101 {}
4102 else {
4103 return 0;
4104 }
4105 else {
4106 return 0;
4107 }
4108 else {
4109 return 0;
4110 }
4111 else {
4112 return 0;
4113 }
4114 else {
4115 return 0;
4116 }
4117 else {
4118 return 0;
4119 }
4120 else {
4121 return 0;
4122 }
4123 else {
4124 return 0;
4125 }
4126 else {
4127 return 0;
4128 }
4129 else if (p[pixel[4]] < c_b)
4130 if (p[pixel[13]] > cb)
4131 if (p[pixel[11]] > cb)
4132 if (p[pixel[12]] > cb)
4133 if (p[pixel[14]] > cb)
4134 if (p[pixel[15]] > cb)
4135 {}
4136 else if (p[pixel[6]] > cb)
4137 if (p[pixel[7]] > cb)
4138 if (p[pixel[8]] > cb)
4139 if (p[pixel[9]] > cb)
4140 if (p[pixel[10]] > cb)
4141 {}
4142 else {
4143 return 0;
4144 }
4145 else {
4146 return 0;
4147 }
4148 else {
4149 return 0;
4150 }
4151 else {
4152 return 0;
4153 }
4154 else {
4155 return 0;
4156 }
4157 else if (p[pixel[5]] > cb)
4158 if (p[pixel[6]] > cb)
4159 if (p[pixel[7]] > cb)
4160 if (p[pixel[8]] > cb)
4161 if (p[pixel[9]] > cb)
4162 if (p[pixel[10]] > cb)
4163 {}
4164 else {
4165 return 0;
4166 }
4167 else {
4168 return 0;
4169 }
4170 else {
4171 return 0;
4172 }
4173 else {
4174 return 0;
4175 }
4176 else {
4177 return 0;
4178 }
4179 else {
4180 return 0;
4181 }
4182 else {
4183 return 0;
4184 }
4185 else if (p[pixel[11]] < c_b)
4186 if (p[pixel[5]] < c_b)
4187 if (p[pixel[6]] < c_b)
4188 if (p[pixel[7]] < c_b)
4189 if (p[pixel[8]] < c_b)
4190 if (p[pixel[9]] < c_b)
4191 if (p[pixel[10]] < c_b)
4192 if (p[pixel[12]] < c_b)
4193 {}
4194 else {
4195 return 0;
4196 }
4197 else {
4198 return 0;
4199 }
4200 else {
4201 return 0;
4202 }
4203 else {
4204 return 0;
4205 }
4206 else {
4207 return 0;
4208 }
4209 else {
4210 return 0;
4211 }
4212 else {
4213 return 0;
4214 }
4215 else {
4216 return 0;
4217 }
4218 else if (p[pixel[13]] < c_b)
4219 if (p[pixel[7]] < c_b)
4220 if (p[pixel[8]] < c_b)
4221 if (p[pixel[9]] < c_b)
4222 if (p[pixel[10]] < c_b)
4223 if (p[pixel[11]] < c_b)
4224 if (p[pixel[12]] < c_b)
4225 if (p[pixel[6]] < c_b)
4226 if (p[pixel[5]] < c_b)
4227 {}
4228 else if (p[pixel[14]] < c_b)
4229 {}
4230 else {
4231 return 0;
4232 }
4233 else if (p[pixel[14]] < c_b)
4234 if (p[pixel[15]] < c_b)
4235 {}
4236 else {
4237 return 0;
4238 }
4239 else {
4240 return 0;
4241 }
4242 else {
4243 return 0;
4244 }
4245 else {
4246 return 0;
4247 }
4248 else {
4249 return 0;
4250 }
4251 else {
4252 return 0;
4253 }
4254 else {
4255 return 0;
4256 }
4257 else {
4258 return 0;
4259 }
4260 else if (p[pixel[5]] < c_b)
4261 if (p[pixel[6]] < c_b)
4262 if (p[pixel[7]] < c_b)
4263 if (p[pixel[8]] < c_b)
4264 if (p[pixel[9]] < c_b)
4265 if (p[pixel[10]] < c_b)
4266 if (p[pixel[11]] < c_b)
4267 if (p[pixel[12]] < c_b)
4268 {}
4269 else {
4270 return 0;
4271 }
4272 else {
4273 return 0;
4274 }
4275 else {
4276 return 0;
4277 }
4278 else {
4279 return 0;
4280 }
4281 else {
4282 return 0;
4283 }
4284 else {
4285 return 0;
4286 }
4287 else {
4288 return 0;
4289 }
4290 else {
4291 return 0;
4292 }
4293 else if (p[pixel[11]] > cb)
4294 if (p[pixel[12]] > cb)
4295 if (p[pixel[13]] > cb)
4296 if (p[pixel[14]] > cb)
4297 if (p[pixel[15]] > cb)
4298 {}
4299 else if (p[pixel[6]] > cb)
4300 if (p[pixel[7]] > cb)
4301 if (p[pixel[8]] > cb)
4302 if (p[pixel[9]] > cb)
4303 if (p[pixel[10]] > cb)
4304 {}
4305 else {
4306 return 0;
4307 }
4308 else {
4309 return 0;
4310 }
4311 else {
4312 return 0;
4313 }
4314 else {
4315 return 0;
4316 }
4317 else {
4318 return 0;
4319 }
4320 else if (p[pixel[5]] > cb)
4321 if (p[pixel[6]] > cb)
4322 if (p[pixel[7]] > cb)
4323 if (p[pixel[8]] > cb)
4324 if (p[pixel[9]] > cb)
4325 if (p[pixel[10]] > cb)
4326 {}
4327 else {
4328 return 0;
4329 }
4330 else {
4331 return 0;
4332 }
4333 else {
4334 return 0;
4335 }
4336 else {
4337 return 0;
4338 }
4339 else {
4340 return 0;
4341 }
4342 else {
4343 return 0;
4344 }
4345 else {
4346 return 0;
4347 }
4348 else {
4349 return 0;
4350 }
4351 else if (p[pixel[11]] < c_b)
4352 if (p[pixel[7]] < c_b)
4353 if (p[pixel[8]] < c_b)
4354 if (p[pixel[9]] < c_b)
4355 if (p[pixel[10]] < c_b)
4356 if (p[pixel[12]] < c_b)
4357 if (p[pixel[13]] < c_b)
4358 if (p[pixel[6]] < c_b)
4359 if (p[pixel[5]] < c_b)
4360 {}
4361 else if (p[pixel[14]] < c_b)
4362 {}
4363 else {
4364 return 0;
4365 }
4366 else if (p[pixel[14]] < c_b)
4367 if (p[pixel[15]] < c_b)
4368 {}
4369 else {
4370 return 0;
4371 }
4372 else {
4373 return 0;
4374 }
4375 else {
4376 return 0;
4377 }
4378 else {
4379 return 0;
4380 }
4381 else {
4382 return 0;
4383 }
4384 else {
4385 return 0;
4386 }
4387 else {
4388 return 0;
4389 }
4390 else {
4391 return 0;
4392 }
4393 else {
4394 return 0;
4395 }
4396 else if (p[pixel[3]] < c_b)
4397 if (p[pixel[10]] > cb)
4398 if (p[pixel[11]] > cb)
4399 if (p[pixel[12]] > cb)
4400 if (p[pixel[13]] > cb)
4401 if (p[pixel[14]] > cb)
4402 if (p[pixel[15]] > cb)
4403 {}
4404 else if (p[pixel[6]] > cb)
4405 if (p[pixel[7]] > cb)
4406 if (p[pixel[8]] > cb)
4407 if (p[pixel[9]] > cb)
4408 {}
4409 else {
4410 return 0;
4411 }
4412 else {
4413 return 0;
4414 }
4415 else {
4416 return 0;
4417 }
4418 else {
4419 return 0;
4420 }
4421 else if (p[pixel[5]] > cb)
4422 if (p[pixel[6]] > cb)
4423 if (p[pixel[7]] > cb)
4424 if (p[pixel[8]] > cb)
4425 if (p[pixel[9]] > cb)
4426 {}
4427 else {
4428 return 0;
4429 }
4430 else {
4431 return 0;
4432 }
4433 else {
4434 return 0;
4435 }
4436 else {
4437 return 0;
4438 }
4439 else {
4440 return 0;
4441 }
4442 else if (p[pixel[4]] > cb)
4443 if (p[pixel[5]] > cb)
4444 if (p[pixel[6]] > cb)
4445 if (p[pixel[7]] > cb)
4446 if (p[pixel[8]] > cb)
4447 if (p[pixel[9]] > cb)
4448 {}
4449 else {
4450 return 0;
4451 }
4452 else {
4453 return 0;
4454 }
4455 else {
4456 return 0;
4457 }
4458 else {
4459 return 0;
4460 }
4461 else {
4462 return 0;
4463 }
4464 else {
4465 return 0;
4466 }
4467 else {
4468 return 0;
4469 }
4470 else {
4471 return 0;
4472 }
4473 else if (p[pixel[10]] < c_b)
4474 if (p[pixel[7]] < c_b)
4475 if (p[pixel[8]] < c_b)
4476 if (p[pixel[9]] < c_b)
4477 if (p[pixel[11]] < c_b)
4478 if (p[pixel[6]] < c_b)
4479 if (p[pixel[5]] < c_b)
4480 if (p[pixel[4]] < c_b)
4481 {}
4482 else if (p[pixel[12]] < c_b)
4483 if (p[pixel[13]] < c_b)
4484 {}
4485 else {
4486 return 0;
4487 }
4488 else {
4489 return 0;
4490 }
4491 else if (p[pixel[12]] < c_b)
4492 if (p[pixel[13]] < c_b)
4493 if (p[pixel[14]] < c_b)
4494 {}
4495 else {
4496 return 0;
4497 }
4498 else {
4499 return 0;
4500 }
4501 else {
4502 return 0;
4503 }
4504 else if (p[pixel[12]] < c_b)
4505 if (p[pixel[13]] < c_b)
4506 if (p[pixel[14]] < c_b)
4507 if (p[pixel[15]] < c_b)
4508 {}
4509 else {
4510 return 0;
4511 }
4512 else {
4513 return 0;
4514 }
4515 else {
4516 return 0;
4517 }
4518 else {
4519 return 0;
4520 }
4521 else {
4522 return 0;
4523 }
4524 else {
4525 return 0;
4526 }
4527 else {
4528 return 0;
4529 }
4530 else {
4531 return 0;
4532 }
4533 else {
4534 return 0;
4535 }
4536 else if (p[pixel[10]] > cb)
4537 if (p[pixel[11]] > cb)
4538 if (p[pixel[12]] > cb)
4539 if (p[pixel[13]] > cb)
4540 if (p[pixel[14]] > cb)
4541 if (p[pixel[15]] > cb)
4542 {}
4543 else if (p[pixel[6]] > cb)
4544 if (p[pixel[7]] > cb)
4545 if (p[pixel[8]] > cb)
4546 if (p[pixel[9]] > cb)
4547 {}
4548 else {
4549 return 0;
4550 }
4551 else {
4552 return 0;
4553 }
4554 else {
4555 return 0;
4556 }
4557 else {
4558 return 0;
4559 }
4560 else if (p[pixel[5]] > cb)
4561 if (p[pixel[6]] > cb)
4562 if (p[pixel[7]] > cb)
4563 if (p[pixel[8]] > cb)
4564 if (p[pixel[9]] > cb)
4565 {}
4566 else {
4567 return 0;
4568 }
4569 else {
4570 return 0;
4571 }
4572 else {
4573 return 0;
4574 }
4575 else {
4576 return 0;
4577 }
4578 else {
4579 return 0;
4580 }
4581 else if (p[pixel[4]] > cb)
4582 if (p[pixel[5]] > cb)
4583 if (p[pixel[6]] > cb)
4584 if (p[pixel[7]] > cb)
4585 if (p[pixel[8]] > cb)
4586 if (p[pixel[9]] > cb)
4587 {}
4588 else {
4589 return 0;
4590 }
4591 else {
4592 return 0;
4593 }
4594 else {
4595 return 0;
4596 }
4597 else {
4598 return 0;
4599 }
4600 else {
4601 return 0;
4602 }
4603 else {
4604 return 0;
4605 }
4606 else {
4607 return 0;
4608 }
4609 else {
4610 return 0;
4611 }
4612 else if (p[pixel[10]] < c_b)
4613 if (p[pixel[7]] < c_b)
4614 if (p[pixel[8]] < c_b)
4615 if (p[pixel[9]] < c_b)
4616 if (p[pixel[11]] < c_b)
4617 if (p[pixel[12]] < c_b)
4618 if (p[pixel[6]] < c_b)
4619 if (p[pixel[5]] < c_b)
4620 if (p[pixel[4]] < c_b)
4621 {}
4622 else if (p[pixel[13]] < c_b)
4623 {}
4624 else {
4625 return 0;
4626 }
4627 else if (p[pixel[13]] < c_b)
4628 if (p[pixel[14]] < c_b)
4629 {}
4630 else {
4631 return 0;
4632 }
4633 else {
4634 return 0;
4635 }
4636 else if (p[pixel[13]] < c_b)
4637 if (p[pixel[14]] < c_b)
4638 if (p[pixel[15]] < c_b)
4639 {}
4640 else {
4641 return 0;
4642 }
4643 else {
4644 return 0;
4645 }
4646 else {
4647 return 0;
4648 }
4649 else {
4650 return 0;
4651 }
4652 else {
4653 return 0;
4654 }
4655 else {
4656 return 0;
4657 }
4658 else {
4659 return 0;
4660 }
4661 else {
4662 return 0;
4663 }
4664 else {
4665 return 0;
4666 }
4667 else if (p[pixel[2]] < c_b)
4668 if (p[pixel[9]] > cb)
4669 if (p[pixel[10]] > cb)
4670 if (p[pixel[11]] > cb)
4671 if (p[pixel[12]] > cb)
4672 if (p[pixel[13]] > cb)
4673 if (p[pixel[14]] > cb)
4674 if (p[pixel[15]] > cb)
4675 {}
4676 else if (p[pixel[6]] > cb)
4677 if (p[pixel[7]] > cb)
4678 if (p[pixel[8]] > cb)
4679 {}
4680 else {
4681 return 0;
4682 }
4683 else {
4684 return 0;
4685 }
4686 else {
4687 return 0;
4688 }
4689 else if (p[pixel[5]] > cb)
4690 if (p[pixel[6]] > cb)
4691 if (p[pixel[7]] > cb)
4692 if (p[pixel[8]] > cb)
4693 {}
4694 else {
4695 return 0;
4696 }
4697 else {
4698 return 0;
4699 }
4700 else {
4701 return 0;
4702 }
4703 else {
4704 return 0;
4705 }
4706 else if (p[pixel[4]] > cb)
4707 if (p[pixel[5]] > cb)
4708 if (p[pixel[6]] > cb)
4709 if (p[pixel[7]] > cb)
4710 if (p[pixel[8]] > cb)
4711 {}
4712 else {
4713 return 0;
4714 }
4715 else {
4716 return 0;
4717 }
4718 else {
4719 return 0;
4720 }
4721 else {
4722 return 0;
4723 }
4724 else {
4725 return 0;
4726 }
4727 else if (p[pixel[3]] > cb)
4728 if (p[pixel[4]] > cb)
4729 if (p[pixel[5]] > cb)
4730 if (p[pixel[6]] > cb)
4731 if (p[pixel[7]] > cb)
4732 if (p[pixel[8]] > cb)
4733 {}
4734 else {
4735 return 0;
4736 }
4737 else {
4738 return 0;
4739 }
4740 else {
4741 return 0;
4742 }
4743 else {
4744 return 0;
4745 }
4746 else {
4747 return 0;
4748 }
4749 else {
4750 return 0;
4751 }
4752 else {
4753 return 0;
4754 }
4755 else {
4756 return 0;
4757 }
4758 else if (p[pixel[9]] < c_b)
4759 if (p[pixel[7]] < c_b)
4760 if (p[pixel[8]] < c_b)
4761 if (p[pixel[10]] < c_b)
4762 if (p[pixel[6]] < c_b)
4763 if (p[pixel[5]] < c_b)
4764 if (p[pixel[4]] < c_b)
4765 if (p[pixel[3]] < c_b)
4766 {}
4767 else if (p[pixel[11]] < c_b)
4768 if (p[pixel[12]] < c_b)
4769 {}
4770 else {
4771 return 0;
4772 }
4773 else {
4774 return 0;
4775 }
4776 else if (p[pixel[11]] < c_b)
4777 if (p[pixel[12]] < c_b)
4778 if (p[pixel[13]] < c_b)
4779 {}
4780 else {
4781 return 0;
4782 }
4783 else {
4784 return 0;
4785 }
4786 else {
4787 return 0;
4788 }
4789 else if (p[pixel[11]] < c_b)
4790 if (p[pixel[12]] < c_b)
4791 if (p[pixel[13]] < c_b)
4792 if (p[pixel[14]] < c_b)
4793 {}
4794 else {
4795 return 0;
4796 }
4797 else {
4798 return 0;
4799 }
4800 else {
4801 return 0;
4802 }
4803 else {
4804 return 0;
4805 }
4806 else if (p[pixel[11]] < c_b)
4807 if (p[pixel[12]] < c_b)
4808 if (p[pixel[13]] < c_b)
4809 if (p[pixel[14]] < c_b)
4810 if (p[pixel[15]] < c_b)
4811 {}
4812 else {
4813 return 0;
4814 }
4815 else {
4816 return 0;
4817 }
4818 else {
4819 return 0;
4820 }
4821 else {
4822 return 0;
4823 }
4824 else {
4825 return 0;
4826 }
4827 else {
4828 return 0;
4829 }
4830 else {
4831 return 0;
4832 }
4833 else {
4834 return 0;
4835 }
4836 else {
4837 return 0;
4838 }
4839 else if (p[pixel[9]] > cb)
4840 if (p[pixel[10]] > cb)
4841 if (p[pixel[11]] > cb)
4842 if (p[pixel[12]] > cb)
4843 if (p[pixel[13]] > cb)
4844 if (p[pixel[14]] > cb)
4845 if (p[pixel[15]] > cb)
4846 {}
4847 else if (p[pixel[6]] > cb)
4848 if (p[pixel[7]] > cb)
4849 if (p[pixel[8]] > cb)
4850 {}
4851 else {
4852 return 0;
4853 }
4854 else {
4855 return 0;
4856 }
4857 else {
4858 return 0;
4859 }
4860 else if (p[pixel[5]] > cb)
4861 if (p[pixel[6]] > cb)
4862 if (p[pixel[7]] > cb)
4863 if (p[pixel[8]] > cb)
4864 {}
4865 else {
4866 return 0;
4867 }
4868 else {
4869 return 0;
4870 }
4871 else {
4872 return 0;
4873 }
4874 else {
4875 return 0;
4876 }
4877 else if (p[pixel[4]] > cb)
4878 if (p[pixel[5]] > cb)
4879 if (p[pixel[6]] > cb)
4880 if (p[pixel[7]] > cb)
4881 if (p[pixel[8]] > cb)
4882 {}
4883 else {
4884 return 0;
4885 }
4886 else {
4887 return 0;
4888 }
4889 else {
4890 return 0;
4891 }
4892 else {
4893 return 0;
4894 }
4895 else {
4896 return 0;
4897 }
4898 else if (p[pixel[3]] > cb)
4899 if (p[pixel[4]] > cb)
4900 if (p[pixel[5]] > cb)
4901 if (p[pixel[6]] > cb)
4902 if (p[pixel[7]] > cb)
4903 if (p[pixel[8]] > cb)
4904 {}
4905 else {
4906 return 0;
4907 }
4908 else {
4909 return 0;
4910 }
4911 else {
4912 return 0;
4913 }
4914 else {
4915 return 0;
4916 }
4917 else {
4918 return 0;
4919 }
4920 else {
4921 return 0;
4922 }
4923 else {
4924 return 0;
4925 }
4926 else {
4927 return 0;
4928 }
4929 else if (p[pixel[9]] < c_b)
4930 if (p[pixel[7]] < c_b)
4931 if (p[pixel[8]] < c_b)
4932 if (p[pixel[10]] < c_b)
4933 if (p[pixel[11]] < c_b)
4934 if (p[pixel[6]] < c_b)
4935 if (p[pixel[5]] < c_b)
4936 if (p[pixel[4]] < c_b)
4937 if (p[pixel[3]] < c_b)
4938 {}
4939 else if (p[pixel[12]] < c_b)
4940 {}
4941 else {
4942 return 0;
4943 }
4944 else if (p[pixel[12]] < c_b)
4945 if (p[pixel[13]] < c_b)
4946 {}
4947 else {
4948 return 0;
4949 }
4950 else {
4951 return 0;
4952 }
4953 else if (p[pixel[12]] < c_b)
4954 if (p[pixel[13]] < c_b)
4955 if (p[pixel[14]] < c_b)
4956 {}
4957 else {
4958 return 0;
4959 }
4960 else {
4961 return 0;
4962 }
4963 else {
4964 return 0;
4965 }
4966 else if (p[pixel[12]] < c_b)
4967 if (p[pixel[13]] < c_b)
4968 if (p[pixel[14]] < c_b)
4969 if (p[pixel[15]] < c_b)
4970 {}
4971 else {
4972 return 0;
4973 }
4974 else {
4975 return 0;
4976 }
4977 else {
4978 return 0;
4979 }
4980 else {
4981 return 0;
4982 }
4983 else {
4984 return 0;
4985 }
4986 else {
4987 return 0;
4988 }
4989 else {
4990 return 0;
4991 }
4992 else {
4993 return 0;
4994 }
4995 else {
4996 return 0;
4997 }
4998 else if (p[pixel[1]] < c_b)
4999 if (p[pixel[8]] > cb)
5000 if (p[pixel[9]] > cb)
5001 if (p[pixel[10]] > cb)
5002 if (p[pixel[11]] > cb)
5003 if (p[pixel[12]] > cb)
5004 if (p[pixel[13]] > cb)
5005 if (p[pixel[14]] > cb)
5006 if (p[pixel[15]] > cb)
5007 {}
5008 else if (p[pixel[6]] > cb)
5009 if (p[pixel[7]] > cb)
5010 {}
5011 else {
5012 return 0;
5013 }
5014 else {
5015 return 0;
5016 }
5017 else if (p[pixel[5]] > cb)
5018 if (p[pixel[6]] > cb)
5019 if (p[pixel[7]] > cb)
5020 {}
5021 else {
5022 return 0;
5023 }
5024 else {
5025 return 0;
5026 }
5027 else {
5028 return 0;
5029 }
5030 else if (p[pixel[4]] > cb)
5031 if (p[pixel[5]] > cb)
5032 if (p[pixel[6]] > cb)
5033 if (p[pixel[7]] > cb)
5034 {}
5035 else {
5036 return 0;
5037 }
5038 else {
5039 return 0;
5040 }
5041 else {
5042 return 0;
5043 }
5044 else {
5045 return 0;
5046 }
5047 else if (p[pixel[3]] > cb)
5048 if (p[pixel[4]] > cb)
5049 if (p[pixel[5]] > cb)
5050 if (p[pixel[6]] > cb)
5051 if (p[pixel[7]] > cb)
5052 {}
5053 else {
5054 return 0;
5055 }
5056 else {
5057 return 0;
5058 }
5059 else {
5060 return 0;
5061 }
5062 else {
5063 return 0;
5064 }
5065 else {
5066 return 0;
5067 }
5068 else if (p[pixel[2]] > cb)
5069 if (p[pixel[3]] > cb)
5070 if (p[pixel[4]] > cb)
5071 if (p[pixel[5]] > cb)
5072 if (p[pixel[6]] > cb)
5073 if (p[pixel[7]] > cb)
5074 {}
5075 else {
5076 return 0;
5077 }
5078 else {
5079 return 0;
5080 }
5081 else {
5082 return 0;
5083 }
5084 else {
5085 return 0;
5086 }
5087 else {
5088 return 0;
5089 }
5090 else {
5091 return 0;
5092 }
5093 else {
5094 return 0;
5095 }
5096 else {
5097 return 0;
5098 }
5099 else if (p[pixel[8]] < c_b)
5100 if (p[pixel[7]] < c_b)
5101 if (p[pixel[9]] < c_b)
5102 if (p[pixel[6]] < c_b)
5103 if (p[pixel[5]] < c_b)
5104 if (p[pixel[4]] < c_b)
5105 if (p[pixel[3]] < c_b)
5106 if (p[pixel[2]] < c_b)
5107 {}
5108 else if (p[pixel[10]] < c_b)
5109 if (p[pixel[11]] < c_b)
5110 {}
5111 else {
5112 return 0;
5113 }
5114 else {
5115 return 0;
5116 }
5117 else if (p[pixel[10]] < c_b)
5118 if (p[pixel[11]] < c_b)
5119 if (p[pixel[12]] < c_b)
5120 {}
5121 else {
5122 return 0;
5123 }
5124 else {
5125 return 0;
5126 }
5127 else {
5128 return 0;
5129 }
5130 else if (p[pixel[10]] < c_b)
5131 if (p[pixel[11]] < c_b)
5132 if (p[pixel[12]] < c_b)
5133 if (p[pixel[13]] < c_b)
5134 {}
5135 else {
5136 return 0;
5137 }
5138 else {
5139 return 0;
5140 }
5141 else {
5142 return 0;
5143 }
5144 else {
5145 return 0;
5146 }
5147 else if (p[pixel[10]] < c_b)
5148 if (p[pixel[11]] < c_b)
5149 if (p[pixel[12]] < c_b)
5150 if (p[pixel[13]] < c_b)
5151 if (p[pixel[14]] < c_b)
5152 {}
5153 else {
5154 return 0;
5155 }
5156 else {
5157 return 0;
5158 }
5159 else {
5160 return 0;
5161 }
5162 else {
5163 return 0;
5164 }
5165 else {
5166 return 0;
5167 }
5168 else if (p[pixel[10]] < c_b)
5169 if (p[pixel[11]] < c_b)
5170 if (p[pixel[12]] < c_b)
5171 if (p[pixel[13]] < c_b)
5172 if (p[pixel[14]] < c_b)
5173 if (p[pixel[15]] < c_b)
5174 {}
5175 else {
5176 return 0;
5177 }
5178 else {
5179 return 0;
5180 }
5181 else {
5182 return 0;
5183 }
5184 else {
5185 return 0;
5186 }
5187 else {
5188 return 0;
5189 }
5190 else {
5191 return 0;
5192 }
5193 else {
5194 return 0;
5195 }
5196 else {
5197 return 0;
5198 }
5199 else {
5200 return 0;
5201 }
5202 else if (p[pixel[8]] > cb)
5203 if (p[pixel[9]] > cb)
5204 if (p[pixel[10]] > cb)
5205 if (p[pixel[11]] > cb)
5206 if (p[pixel[12]] > cb)
5207 if (p[pixel[13]] > cb)
5208 if (p[pixel[14]] > cb)
5209 if (p[pixel[15]] > cb)
5210 {}
5211 else if (p[pixel[6]] > cb)
5212 if (p[pixel[7]] > cb)
5213 {}
5214 else {
5215 return 0;
5216 }
5217 else {
5218 return 0;
5219 }
5220 else if (p[pixel[5]] > cb)
5221 if (p[pixel[6]] > cb)
5222 if (p[pixel[7]] > cb)
5223 {}
5224 else {
5225 return 0;
5226 }
5227 else {
5228 return 0;
5229 }
5230 else {
5231 return 0;
5232 }
5233 else if (p[pixel[4]] > cb)
5234 if (p[pixel[5]] > cb)
5235 if (p[pixel[6]] > cb)
5236 if (p[pixel[7]] > cb)
5237 {}
5238 else {
5239 return 0;
5240 }
5241 else {
5242 return 0;
5243 }
5244 else {
5245 return 0;
5246 }
5247 else {
5248 return 0;
5249 }
5250 else if (p[pixel[3]] > cb)
5251 if (p[pixel[4]] > cb)
5252 if (p[pixel[5]] > cb)
5253 if (p[pixel[6]] > cb)
5254 if (p[pixel[7]] > cb)
5255 {}
5256 else {
5257 return 0;
5258 }
5259 else {
5260 return 0;
5261 }
5262 else {
5263 return 0;
5264 }
5265 else {
5266 return 0;
5267 }
5268 else {
5269 return 0;
5270 }
5271 else if (p[pixel[2]] > cb)
5272 if (p[pixel[3]] > cb)
5273 if (p[pixel[4]] > cb)
5274 if (p[pixel[5]] > cb)
5275 if (p[pixel[6]] > cb)
5276 if (p[pixel[7]] > cb)
5277 {}
5278 else {
5279 return 0;
5280 }
5281 else {
5282 return 0;
5283 }
5284 else {
5285 return 0;
5286 }
5287 else {
5288 return 0;
5289 }
5290 else {
5291 return 0;
5292 }
5293 else {
5294 return 0;
5295 }
5296 else {
5297 return 0;
5298 }
5299 else {
5300 return 0;
5301 }
5302 else if (p[pixel[8]] < c_b)
5303 if (p[pixel[7]] < c_b)
5304 if (p[pixel[9]] < c_b)
5305 if (p[pixel[10]] < c_b)
5306 if (p[pixel[6]] < c_b)
5307 if (p[pixel[5]] < c_b)
5308 if (p[pixel[4]] < c_b)
5309 if (p[pixel[3]] < c_b)
5310 if (p[pixel[2]] < c_b)
5311 {}
5312 else if (p[pixel[11]] < c_b)
5313 {}
5314 else {
5315 return 0;
5316 }
5317 else if (p[pixel[11]] < c_b)
5318 if (p[pixel[12]] < c_b)
5319 {}
5320 else {
5321 return 0;
5322 }
5323 else {
5324 return 0;
5325 }
5326 else if (p[pixel[11]] < c_b)
5327 if (p[pixel[12]] < c_b)
5328 if (p[pixel[13]] < c_b)
5329 {}
5330 else {
5331 return 0;
5332 }
5333 else {
5334 return 0;
5335 }
5336 else {
5337 return 0;
5338 }
5339 else if (p[pixel[11]] < c_b)
5340 if (p[pixel[12]] < c_b)
5341 if (p[pixel[13]] < c_b)
5342 if (p[pixel[14]] < c_b)
5343 {}
5344 else {
5345 return 0;
5346 }
5347 else {
5348 return 0;
5349 }
5350 else {
5351 return 0;
5352 }
5353 else {
5354 return 0;
5355 }
5356 else if (p[pixel[11]] < c_b)
5357 if (p[pixel[12]] < c_b)
5358 if (p[pixel[13]] < c_b)
5359 if (p[pixel[14]] < c_b)
5360 if (p[pixel[15]] < c_b)
5361 {}
5362 else {
5363 return 0;
5364 }
5365 else {
5366 return 0;
5367 }
5368 else {
5369 return 0;
5370 }
5371 else {
5372 return 0;
5373 }
5374 else {
5375 return 0;
5376 }
5377 else {
5378 return 0;
5379 }
5380 else {
5381 return 0;
5382 }
5383 else {
5384 return 0;
5385 }
5386 else {
5387 return 0;
5388 }
5389 else if (p[pixel[0]] < c_b)
5390 if (p[pixel[1]] > cb)
5391 if (p[pixel[8]] > cb)
5392 if (p[pixel[7]] > cb)
5393 if (p[pixel[9]] > cb)
5394 if (p[pixel[6]] > cb)
5395 if (p[pixel[5]] > cb)
5396 if (p[pixel[4]] > cb)
5397 if (p[pixel[3]] > cb)
5398 if (p[pixel[2]] > cb)
5399 {}
5400 else if (p[pixel[10]] > cb)
5401 if (p[pixel[11]] > cb)
5402 {}
5403 else {
5404 return 0;
5405 }
5406 else {
5407 return 0;
5408 }
5409 else if (p[pixel[10]] > cb)
5410 if (p[pixel[11]] > cb)
5411 if (p[pixel[12]] > cb)
5412 {}
5413 else {
5414 return 0;
5415 }
5416 else {
5417 return 0;
5418 }
5419 else {
5420 return 0;
5421 }
5422 else if (p[pixel[10]] > cb)
5423 if (p[pixel[11]] > cb)
5424 if (p[pixel[12]] > cb)
5425 if (p[pixel[13]] > cb)
5426 {}
5427 else {
5428 return 0;
5429 }
5430 else {
5431 return 0;
5432 }
5433 else {
5434 return 0;
5435 }
5436 else {
5437 return 0;
5438 }
5439 else if (p[pixel[10]] > cb)
5440 if (p[pixel[11]] > cb)
5441 if (p[pixel[12]] > cb)
5442 if (p[pixel[13]] > cb)
5443 if (p[pixel[14]] > cb)
5444 {}
5445 else {
5446 return 0;
5447 }
5448 else {
5449 return 0;
5450 }
5451 else {
5452 return 0;
5453 }
5454 else {
5455 return 0;
5456 }
5457 else {
5458 return 0;
5459 }
5460 else if (p[pixel[10]] > cb)
5461 if (p[pixel[11]] > cb)
5462 if (p[pixel[12]] > cb)
5463 if (p[pixel[13]] > cb)
5464 if (p[pixel[14]] > cb)
5465 if (p[pixel[15]] > cb)
5466 {}
5467 else {
5468 return 0;
5469 }
5470 else {
5471 return 0;
5472 }
5473 else {
5474 return 0;
5475 }
5476 else {
5477 return 0;
5478 }
5479 else {
5480 return 0;
5481 }
5482 else {
5483 return 0;
5484 }
5485 else {
5486 return 0;
5487 }
5488 else {
5489 return 0;
5490 }
5491 else if (p[pixel[8]] < c_b)
5492 if (p[pixel[9]] < c_b)
5493 if (p[pixel[10]] < c_b)
5494 if (p[pixel[11]] < c_b)
5495 if (p[pixel[12]] < c_b)
5496 if (p[pixel[13]] < c_b)
5497 if (p[pixel[14]] < c_b)
5498 if (p[pixel[15]] < c_b)
5499 {}
5500 else if (p[pixel[6]] < c_b)
5501 if (p[pixel[7]] < c_b)
5502 {}
5503 else {
5504 return 0;
5505 }
5506 else {
5507 return 0;
5508 }
5509 else if (p[pixel[5]] < c_b)
5510 if (p[pixel[6]] < c_b)
5511 if (p[pixel[7]] < c_b)
5512 {}
5513 else {
5514 return 0;
5515 }
5516 else {
5517 return 0;
5518 }
5519 else {
5520 return 0;
5521 }
5522 else if (p[pixel[4]] < c_b)
5523 if (p[pixel[5]] < c_b)
5524 if (p[pixel[6]] < c_b)
5525 if (p[pixel[7]] < c_b)
5526 {}
5527 else {
5528 return 0;
5529 }
5530 else {
5531 return 0;
5532 }
5533 else {
5534 return 0;
5535 }
5536 else {
5537 return 0;
5538 }
5539 else if (p[pixel[3]] < c_b)
5540 if (p[pixel[4]] < c_b)
5541 if (p[pixel[5]] < c_b)
5542 if (p[pixel[6]] < c_b)
5543 if (p[pixel[7]] < c_b)
5544 {}
5545 else {
5546 return 0;
5547 }
5548 else {
5549 return 0;
5550 }
5551 else {
5552 return 0;
5553 }
5554 else {
5555 return 0;
5556 }
5557 else {
5558 return 0;
5559 }
5560 else if (p[pixel[2]] < c_b)
5561 if (p[pixel[3]] < c_b)
5562 if (p[pixel[4]] < c_b)
5563 if (p[pixel[5]] < c_b)
5564 if (p[pixel[6]] < c_b)
5565 if (p[pixel[7]] < c_b)
5566 {}
5567 else {
5568 return 0;
5569 }
5570 else {
5571 return 0;
5572 }
5573 else {
5574 return 0;
5575 }
5576 else {
5577 return 0;
5578 }
5579 else {
5580 return 0;
5581 }
5582 else {
5583 return 0;
5584 }
5585 else {
5586 return 0;
5587 }
5588 else {
5589 return 0;
5590 }
5591 else {
5592 return 0;
5593 }
5594 else if (p[pixel[1]] < c_b)
5595 if (p[pixel[2]] > cb)
5596 if (p[pixel[9]] > cb)
5597 if (p[pixel[7]] > cb)
5598 if (p[pixel[8]] > cb)
5599 if (p[pixel[10]] > cb)
5600 if (p[pixel[6]] > cb)
5601 if (p[pixel[5]] > cb)
5602 if (p[pixel[4]] > cb)
5603 if (p[pixel[3]] > cb)
5604 {}
5605 else if (p[pixel[11]] > cb)
5606 if (p[pixel[12]] > cb)
5607 {}
5608 else {
5609 return 0;
5610 }
5611 else {
5612 return 0;
5613 }
5614 else if (p[pixel[11]] > cb)
5615 if (p[pixel[12]] > cb)
5616 if (p[pixel[13]] > cb)
5617 {}
5618 else {
5619 return 0;
5620 }
5621 else {
5622 return 0;
5623 }
5624 else {
5625 return 0;
5626 }
5627 else if (p[pixel[11]] > cb)
5628 if (p[pixel[12]] > cb)
5629 if (p[pixel[13]] > cb)
5630 if (p[pixel[14]] > cb)
5631 {}
5632 else {
5633 return 0;
5634 }
5635 else {
5636 return 0;
5637 }
5638 else {
5639 return 0;
5640 }
5641 else {
5642 return 0;
5643 }
5644 else if (p[pixel[11]] > cb)
5645 if (p[pixel[12]] > cb)
5646 if (p[pixel[13]] > cb)
5647 if (p[pixel[14]] > cb)
5648 if (p[pixel[15]] > cb)
5649 {}
5650 else {
5651 return 0;
5652 }
5653 else {
5654 return 0;
5655 }
5656 else {
5657 return 0;
5658 }
5659 else {
5660 return 0;
5661 }
5662 else {
5663 return 0;
5664 }
5665 else {
5666 return 0;
5667 }
5668 else {
5669 return 0;
5670 }
5671 else {
5672 return 0;
5673 }
5674 else if (p[pixel[9]] < c_b)
5675 if (p[pixel[10]] < c_b)
5676 if (p[pixel[11]] < c_b)
5677 if (p[pixel[12]] < c_b)
5678 if (p[pixel[13]] < c_b)
5679 if (p[pixel[14]] < c_b)
5680 if (p[pixel[15]] < c_b)
5681 {}
5682 else if (p[pixel[6]] < c_b)
5683 if (p[pixel[7]] < c_b)
5684 if (p[pixel[8]] < c_b)
5685 {}
5686 else {
5687 return 0;
5688 }
5689 else {
5690 return 0;
5691 }
5692 else {
5693 return 0;
5694 }
5695 else if (p[pixel[5]] < c_b)
5696 if (p[pixel[6]] < c_b)
5697 if (p[pixel[7]] < c_b)
5698 if (p[pixel[8]] < c_b)
5699 {}
5700 else {
5701 return 0;
5702 }
5703 else {
5704 return 0;
5705 }
5706 else {
5707 return 0;
5708 }
5709 else {
5710 return 0;
5711 }
5712 else if (p[pixel[4]] < c_b)
5713 if (p[pixel[5]] < c_b)
5714 if (p[pixel[6]] < c_b)
5715 if (p[pixel[7]] < c_b)
5716 if (p[pixel[8]] < c_b)
5717 {}
5718 else {
5719 return 0;
5720 }
5721 else {
5722 return 0;
5723 }
5724 else {
5725 return 0;
5726 }
5727 else {
5728 return 0;
5729 }
5730 else {
5731 return 0;
5732 }
5733 else if (p[pixel[3]] < c_b)
5734 if (p[pixel[4]] < c_b)
5735 if (p[pixel[5]] < c_b)
5736 if (p[pixel[6]] < c_b)
5737 if (p[pixel[7]] < c_b)
5738 if (p[pixel[8]] < c_b)
5739 {}
5740 else {
5741 return 0;
5742 }
5743 else {
5744 return 0;
5745 }
5746 else {
5747 return 0;
5748 }
5749 else {
5750 return 0;
5751 }
5752 else {
5753 return 0;
5754 }
5755 else {
5756 return 0;
5757 }
5758 else {
5759 return 0;
5760 }
5761 else {
5762 return 0;
5763 }
5764 else {
5765 return 0;
5766 }
5767 else if (p[pixel[2]] < c_b)
5768 if (p[pixel[3]] > cb)
5769 if (p[pixel[10]] > cb)
5770 if (p[pixel[7]] > cb)
5771 if (p[pixel[8]] > cb)
5772 if (p[pixel[9]] > cb)
5773 if (p[pixel[11]] > cb)
5774 if (p[pixel[6]] > cb)
5775 if (p[pixel[5]] > cb)
5776 if (p[pixel[4]] > cb)
5777 {}
5778 else if (p[pixel[12]] > cb)
5779 if (p[pixel[13]] > cb)
5780 {}
5781 else {
5782 return 0;
5783 }
5784 else {
5785 return 0;
5786 }
5787 else if (p[pixel[12]] > cb)
5788 if (p[pixel[13]] > cb)
5789 if (p[pixel[14]] > cb)
5790 {}
5791 else {
5792 return 0;
5793 }
5794 else {
5795 return 0;
5796 }
5797 else {
5798 return 0;
5799 }
5800 else if (p[pixel[12]] > cb)
5801 if (p[pixel[13]] > cb)
5802 if (p[pixel[14]] > cb)
5803 if (p[pixel[15]] > cb)
5804 {}
5805 else {
5806 return 0;
5807 }
5808 else {
5809 return 0;
5810 }
5811 else {
5812 return 0;
5813 }
5814 else {
5815 return 0;
5816 }
5817 else {
5818 return 0;
5819 }
5820 else {
5821 return 0;
5822 }
5823 else {
5824 return 0;
5825 }
5826 else {
5827 return 0;
5828 }
5829 else if (p[pixel[10]] < c_b)
5830 if (p[pixel[11]] < c_b)
5831 if (p[pixel[12]] < c_b)
5832 if (p[pixel[13]] < c_b)
5833 if (p[pixel[14]] < c_b)
5834 if (p[pixel[15]] < c_b)
5835 {}
5836 else if (p[pixel[6]] < c_b)
5837 if (p[pixel[7]] < c_b)
5838 if (p[pixel[8]] < c_b)
5839 if (p[pixel[9]] < c_b)
5840 {}
5841 else {
5842 return 0;
5843 }
5844 else {
5845 return 0;
5846 }
5847 else {
5848 return 0;
5849 }
5850 else {
5851 return 0;
5852 }
5853 else if (p[pixel[5]] < c_b)
5854 if (p[pixel[6]] < c_b)
5855 if (p[pixel[7]] < c_b)
5856 if (p[pixel[8]] < c_b)
5857 if (p[pixel[9]] < c_b)
5858 {}
5859 else {
5860 return 0;
5861 }
5862 else {
5863 return 0;
5864 }
5865 else {
5866 return 0;
5867 }
5868 else {
5869 return 0;
5870 }
5871 else {
5872 return 0;
5873 }
5874 else if (p[pixel[4]] < c_b)
5875 if (p[pixel[5]] < c_b)
5876 if (p[pixel[6]] < c_b)
5877 if (p[pixel[7]] < c_b)
5878 if (p[pixel[8]] < c_b)
5879 if (p[pixel[9]] < c_b)
5880 {}
5881 else {
5882 return 0;
5883 }
5884 else {
5885 return 0;
5886 }
5887 else {
5888 return 0;
5889 }
5890 else {
5891 return 0;
5892 }
5893 else {
5894 return 0;
5895 }
5896 else {
5897 return 0;
5898 }
5899 else {
5900 return 0;
5901 }
5902 else {
5903 return 0;
5904 }
5905 else {
5906 return 0;
5907 }
5908 else if (p[pixel[3]] < c_b)
5909 if (p[pixel[4]] > cb)
5910 if (p[pixel[13]] > cb)
5911 if (p[pixel[7]] > cb)
5912 if (p[pixel[8]] > cb)
5913 if (p[pixel[9]] > cb)
5914 if (p[pixel[10]] > cb)
5915 if (p[pixel[11]] > cb)
5916 if (p[pixel[12]] > cb)
5917 if (p[pixel[6]] > cb)
5918 if (p[pixel[5]] > cb)
5919 {}
5920 else if (p[pixel[14]] > cb)
5921 {}
5922 else {
5923 return 0;
5924 }
5925 else if (p[pixel[14]] > cb)
5926 if (p[pixel[15]] > cb)
5927 {}
5928 else {
5929 return 0;
5930 }
5931 else {
5932 return 0;
5933 }
5934 else {
5935 return 0;
5936 }
5937 else {
5938 return 0;
5939 }
5940 else {
5941 return 0;
5942 }
5943 else {
5944 return 0;
5945 }
5946 else {
5947 return 0;
5948 }
5949 else {
5950 return 0;
5951 }
5952 else if (p[pixel[13]] < c_b)
5953 if (p[pixel[11]] > cb)
5954 if (p[pixel[5]] > cb)
5955 if (p[pixel[6]] > cb)
5956 if (p[pixel[7]] > cb)
5957 if (p[pixel[8]] > cb)
5958 if (p[pixel[9]] > cb)
5959 if (p[pixel[10]] > cb)
5960 if (p[pixel[12]] > cb)
5961 {}
5962 else {
5963 return 0;
5964 }
5965 else {
5966 return 0;
5967 }
5968 else {
5969 return 0;
5970 }
5971 else {
5972 return 0;
5973 }
5974 else {
5975 return 0;
5976 }
5977 else {
5978 return 0;
5979 }
5980 else {
5981 return 0;
5982 }
5983 else if (p[pixel[11]] < c_b)
5984 if (p[pixel[12]] < c_b)
5985 if (p[pixel[14]] < c_b)
5986 if (p[pixel[15]] < c_b)
5987 {}
5988 else if (p[pixel[6]] < c_b)
5989 if (p[pixel[7]] < c_b)
5990 if (p[pixel[8]] < c_b)
5991 if (p[pixel[9]] < c_b)
5992 if (p[pixel[10]] < c_b)
5993 {}
5994 else {
5995 return 0;
5996 }
5997 else {
5998 return 0;
5999 }
6000 else {
6001 return 0;
6002 }
6003 else {
6004 return 0;
6005 }
6006 else {
6007 return 0;
6008 }
6009 else if (p[pixel[5]] < c_b)
6010 if (p[pixel[6]] < c_b)
6011 if (p[pixel[7]] < c_b)
6012 if (p[pixel[8]] < c_b)
6013 if (p[pixel[9]] < c_b)
6014 if (p[pixel[10]] < c_b)
6015 {}
6016 else {
6017 return 0;
6018 }
6019 else {
6020 return 0;
6021 }
6022 else {
6023 return 0;
6024 }
6025 else {
6026 return 0;
6027 }
6028 else {
6029 return 0;
6030 }
6031 else {
6032 return 0;
6033 }
6034 else {
6035 return 0;
6036 }
6037 else {
6038 return 0;
6039 }
6040 else if (p[pixel[5]] > cb)
6041 if (p[pixel[6]] > cb)
6042 if (p[pixel[7]] > cb)
6043 if (p[pixel[8]] > cb)
6044 if (p[pixel[9]] > cb)
6045 if (p[pixel[10]] > cb)
6046 if (p[pixel[11]] > cb)
6047 if (p[pixel[12]] > cb)
6048 {}
6049 else {
6050 return 0;
6051 }
6052 else {
6053 return 0;
6054 }
6055 else {
6056 return 0;
6057 }
6058 else {
6059 return 0;
6060 }
6061 else {
6062 return 0;
6063 }
6064 else {
6065 return 0;
6066 }
6067 else {
6068 return 0;
6069 }
6070 else {
6071 return 0;
6072 }
6073 else if (p[pixel[4]] < c_b)
6074 if (p[pixel[5]] > cb)
6075 if (p[pixel[14]] > cb)
6076 if (p[pixel[7]] > cb)
6077 if (p[pixel[8]] > cb)
6078 if (p[pixel[9]] > cb)
6079 if (p[pixel[10]] > cb)
6080 if (p[pixel[11]] > cb)
6081 if (p[pixel[12]] > cb)
6082 if (p[pixel[13]] > cb)
6083 if (p[pixel[6]] > cb)
6084 {}
6085 else if (p[pixel[15]] > cb)
6086 {}
6087 else {
6088 return 0;
6089 }
6090 else {
6091 return 0;
6092 }
6093 else {
6094 return 0;
6095 }
6096 else {
6097 return 0;
6098 }
6099 else {
6100 return 0;
6101 }
6102 else {
6103 return 0;
6104 }
6105 else {
6106 return 0;
6107 }
6108 else {
6109 return 0;
6110 }
6111 else if (p[pixel[14]] < c_b)
6112 if (p[pixel[12]] > cb)
6113 if (p[pixel[6]] > cb)
6114 if (p[pixel[7]] > cb)
6115 if (p[pixel[8]] > cb)
6116 if (p[pixel[9]] > cb)
6117 if (p[pixel[10]] > cb)
6118 if (p[pixel[11]] > cb)
6119 if (p[pixel[13]] > cb)
6120 {}
6121 else {
6122 return 0;
6123 }
6124 else {
6125 return 0;
6126 }
6127 else {
6128 return 0;
6129 }
6130 else {
6131 return 0;
6132 }
6133 else {
6134 return 0;
6135 }
6136 else {
6137 return 0;
6138 }
6139 else {
6140 return 0;
6141 }
6142 else if (p[pixel[12]] < c_b)
6143 if (p[pixel[13]] < c_b)
6144 if (p[pixel[15]] < c_b)
6145 {}
6146 else if (p[pixel[6]] < c_b)
6147 if (p[pixel[7]] < c_b)
6148 if (p[pixel[8]] < c_b)
6149 if (p[pixel[9]] < c_b)
6150 if (p[pixel[10]] < c_b)
6151 if (p[pixel[11]] < c_b)
6152 {}
6153 else {
6154 return 0;
6155 }
6156 else {
6157 return 0;
6158 }
6159 else {
6160 return 0;
6161 }
6162 else {
6163 return 0;
6164 }
6165 else {
6166 return 0;
6167 }
6168 else {
6169 return 0;
6170 }
6171 else {
6172 return 0;
6173 }
6174 else {
6175 return 0;
6176 }
6177 else if (p[pixel[6]] > cb)
6178 if (p[pixel[7]] > cb)
6179 if (p[pixel[8]] > cb)
6180 if (p[pixel[9]] > cb)
6181 if (p[pixel[10]] > cb)
6182 if (p[pixel[11]] > cb)
6183 if (p[pixel[12]] > cb)
6184 if (p[pixel[13]] > cb)
6185 {}
6186 else {
6187 return 0;
6188 }
6189 else {
6190 return 0;
6191 }
6192 else {
6193 return 0;
6194 }
6195 else {
6196 return 0;
6197 }
6198 else {
6199 return 0;
6200 }
6201 else {
6202 return 0;
6203 }
6204 else {
6205 return 0;
6206 }
6207 else {
6208 return 0;
6209 }
6210 else if (p[pixel[5]] < c_b)
6211 if (p[pixel[6]] > cb)
6212 if (p[pixel[15]] < c_b)
6213 if (p[pixel[13]] > cb)
6214 if (p[pixel[7]] > cb)
6215 if (p[pixel[8]] > cb)
6216 if (p[pixel[9]] > cb)
6217 if (p[pixel[10]] > cb)
6218 if (p[pixel[11]] > cb)
6219 if (p[pixel[12]] > cb)
6220 if (p[pixel[14]] > cb)
6221 {}
6222 else {
6223 return 0;
6224 }
6225 else {
6226 return 0;
6227 }
6228 else {
6229 return 0;
6230 }
6231 else {
6232 return 0;
6233 }
6234 else {
6235 return 0;
6236 }
6237 else {
6238 return 0;
6239 }
6240 else {
6241 return 0;
6242 }
6243 else if (p[pixel[13]] < c_b)
6244 if (p[pixel[14]] < c_b)
6245 {}
6246 else {
6247 return 0;
6248 }
6249 else {
6250 return 0;
6251 }
6252 else if (p[pixel[7]] > cb)
6253 if (p[pixel[8]] > cb)
6254 if (p[pixel[9]] > cb)
6255 if (p[pixel[10]] > cb)
6256 if (p[pixel[11]] > cb)
6257 if (p[pixel[12]] > cb)
6258 if (p[pixel[13]] > cb)
6259 if (p[pixel[14]] > cb)
6260 {}
6261 else {
6262 return 0;
6263 }
6264 else {
6265 return 0;
6266 }
6267 else {
6268 return 0;
6269 }
6270 else {
6271 return 0;
6272 }
6273 else {
6274 return 0;
6275 }
6276 else {
6277 return 0;
6278 }
6279 else {
6280 return 0;
6281 }
6282 else {
6283 return 0;
6284 }
6285 else if (p[pixel[6]] < c_b)
6286 if (p[pixel[7]] > cb)
6287 if (p[pixel[14]] > cb)
6288 if (p[pixel[8]] > cb)
6289 if (p[pixel[9]] > cb)
6290 if (p[pixel[10]] > cb)
6291 if (p[pixel[11]] > cb)
6292 if (p[pixel[12]] > cb)
6293 if (p[pixel[13]] > cb)
6294 if (p[pixel[15]] > cb)
6295 {}
6296 else {
6297 return 0;
6298 }
6299 else {
6300 return 0;
6301 }
6302 else {
6303 return 0;
6304 }
6305 else {
6306 return 0;
6307 }
6308 else {
6309 return 0;
6310 }
6311 else {
6312 return 0;
6313 }
6314 else {
6315 return 0;
6316 }
6317 else if (p[pixel[14]] < c_b)
6318 if (p[pixel[15]] < c_b)
6319 {}
6320 else {
6321 return 0;
6322 }
6323 else {
6324 return 0;
6325 }
6326 else if (p[pixel[7]] < c_b)
6327 if (p[pixel[8]] < c_b)
6328 {}
6329 else if (p[pixel[15]] < c_b)
6330 {}
6331 else {
6332 return 0;
6333 }
6334 else if (p[pixel[14]] < c_b)
6335 if (p[pixel[15]] < c_b)
6336 {}
6337 else {
6338 return 0;
6339 }
6340 else {
6341 return 0;
6342 }
6343 else if (p[pixel[13]] > cb)
6344 if (p[pixel[7]] > cb)
6345 if (p[pixel[8]] > cb)
6346 if (p[pixel[9]] > cb)
6347 if (p[pixel[10]] > cb)
6348 if (p[pixel[11]] > cb)
6349 if (p[pixel[12]] > cb)
6350 if (p[pixel[14]] > cb)
6351 if (p[pixel[15]] > cb)
6352 {}
6353 else {
6354 return 0;
6355 }
6356 else {
6357 return 0;
6358 }
6359 else {
6360 return 0;
6361 }
6362 else {
6363 return 0;
6364 }
6365 else {
6366 return 0;
6367 }
6368 else {
6369 return 0;
6370 }
6371 else {
6372 return 0;
6373 }
6374 else {
6375 return 0;
6376 }
6377 else if (p[pixel[13]] < c_b)
6378 if (p[pixel[14]] < c_b)
6379 if (p[pixel[15]] < c_b)
6380 {}
6381 else {
6382 return 0;
6383 }
6384 else {
6385 return 0;
6386 }
6387 else {
6388 return 0;
6389 }
6390 else if (p[pixel[12]] > cb)
6391 if (p[pixel[7]] > cb)
6392 if (p[pixel[8]] > cb)
6393 if (p[pixel[9]] > cb)
6394 if (p[pixel[10]] > cb)
6395 if (p[pixel[11]] > cb)
6396 if (p[pixel[13]] > cb)
6397 if (p[pixel[14]] > cb)
6398 if (p[pixel[6]] > cb)
6399 {}
6400 else if (p[pixel[15]] > cb)
6401 {}
6402 else {
6403 return 0;
6404 }
6405 else {
6406 return 0;
6407 }
6408 else {
6409 return 0;
6410 }
6411 else {
6412 return 0;
6413 }
6414 else {
6415 return 0;
6416 }
6417 else {
6418 return 0;
6419 }
6420 else {
6421 return 0;
6422 }
6423 else {
6424 return 0;
6425 }
6426 else if (p[pixel[12]] < c_b)
6427 if (p[pixel[13]] < c_b)
6428 if (p[pixel[14]] < c_b)
6429 if (p[pixel[15]] < c_b)
6430 {}
6431 else if (p[pixel[6]] < c_b)
6432 if (p[pixel[7]] < c_b)
6433 if (p[pixel[8]] < c_b)
6434 if (p[pixel[9]] < c_b)
6435 if (p[pixel[10]] < c_b)
6436 if (p[pixel[11]] < c_b)
6437 {}
6438 else {
6439 return 0;
6440 }
6441 else {
6442 return 0;
6443 }
6444 else {
6445 return 0;
6446 }
6447 else {
6448 return 0;
6449 }
6450 else {
6451 return 0;
6452 }
6453 else {
6454 return 0;
6455 }
6456 else {
6457 return 0;
6458 }
6459 else {
6460 return 0;
6461 }
6462 else {
6463 return 0;
6464 }
6465 else if (p[pixel[11]] > cb)
6466 if (p[pixel[7]] > cb)
6467 if (p[pixel[8]] > cb)
6468 if (p[pixel[9]] > cb)
6469 if (p[pixel[10]] > cb)
6470 if (p[pixel[12]] > cb)
6471 if (p[pixel[13]] > cb)
6472 if (p[pixel[6]] > cb)
6473 if (p[pixel[5]] > cb)
6474 {}
6475 else if (p[pixel[14]] > cb)
6476 {}
6477 else {
6478 return 0;
6479 }
6480 else if (p[pixel[14]] > cb)
6481 if (p[pixel[15]] > cb)
6482 {}
6483 else {
6484 return 0;
6485 }
6486 else {
6487 return 0;
6488 }
6489 else {
6490 return 0;
6491 }
6492 else {
6493 return 0;
6494 }
6495 else {
6496 return 0;
6497 }
6498 else {
6499 return 0;
6500 }
6501 else {
6502 return 0;
6503 }
6504 else {
6505 return 0;
6506 }
6507 else if (p[pixel[11]] < c_b)
6508 if (p[pixel[12]] < c_b)
6509 if (p[pixel[13]] < c_b)
6510 if (p[pixel[14]] < c_b)
6511 if (p[pixel[15]] < c_b)
6512 {}
6513 else if (p[pixel[6]] < c_b)
6514 if (p[pixel[7]] < c_b)
6515 if (p[pixel[8]] < c_b)
6516 if (p[pixel[9]] < c_b)
6517 if (p[pixel[10]] < c_b)
6518 {}
6519 else {
6520 return 0;
6521 }
6522 else {
6523 return 0;
6524 }
6525 else {
6526 return 0;
6527 }
6528 else {
6529 return 0;
6530 }
6531 else {
6532 return 0;
6533 }
6534 else if (p[pixel[5]] < c_b)
6535 if (p[pixel[6]] < c_b)
6536 if (p[pixel[7]] < c_b)
6537 if (p[pixel[8]] < c_b)
6538 if (p[pixel[9]] < c_b)
6539 if (p[pixel[10]] < c_b)
6540 {}
6541 else {
6542 return 0;
6543 }
6544 else {
6545 return 0;
6546 }
6547 else {
6548 return 0;
6549 }
6550 else {
6551 return 0;
6552 }
6553 else {
6554 return 0;
6555 }
6556 else {
6557 return 0;
6558 }
6559 else {
6560 return 0;
6561 }
6562 else {
6563 return 0;
6564 }
6565 else {
6566 return 0;
6567 }
6568 else if (p[pixel[10]] > cb)
6569 if (p[pixel[7]] > cb)
6570 if (p[pixel[8]] > cb)
6571 if (p[pixel[9]] > cb)
6572 if (p[pixel[11]] > cb)
6573 if (p[pixel[12]] > cb)
6574 if (p[pixel[6]] > cb)
6575 if (p[pixel[5]] > cb)
6576 if (p[pixel[4]] > cb)
6577 {}
6578 else if (p[pixel[13]] > cb)
6579 {}
6580 else {
6581 return 0;
6582 }
6583 else if (p[pixel[13]] > cb)
6584 if (p[pixel[14]] > cb)
6585 {}
6586 else {
6587 return 0;
6588 }
6589 else {
6590 return 0;
6591 }
6592 else if (p[pixel[13]] > cb)
6593 if (p[pixel[14]] > cb)
6594 if (p[pixel[15]] > cb)
6595 {}
6596 else {
6597 return 0;
6598 }
6599 else {
6600 return 0;
6601 }
6602 else {
6603 return 0;
6604 }
6605 else {
6606 return 0;
6607 }
6608 else {
6609 return 0;
6610 }
6611 else {
6612 return 0;
6613 }
6614 else {
6615 return 0;
6616 }
6617 else {
6618 return 0;
6619 }
6620 else if (p[pixel[10]] < c_b)
6621 if (p[pixel[11]] < c_b)
6622 if (p[pixel[12]] < c_b)
6623 if (p[pixel[13]] < c_b)
6624 if (p[pixel[14]] < c_b)
6625 if (p[pixel[15]] < c_b)
6626 {}
6627 else if (p[pixel[6]] < c_b)
6628 if (p[pixel[7]] < c_b)
6629 if (p[pixel[8]] < c_b)
6630 if (p[pixel[9]] < c_b)
6631 {}
6632 else {
6633 return 0;
6634 }
6635 else {
6636 return 0;
6637 }
6638 else {
6639 return 0;
6640 }
6641 else {
6642 return 0;
6643 }
6644 else if (p[pixel[5]] < c_b)
6645 if (p[pixel[6]] < c_b)
6646 if (p[pixel[7]] < c_b)
6647 if (p[pixel[8]] < c_b)
6648 if (p[pixel[9]] < c_b)
6649 {}
6650 else {
6651 return 0;
6652 }
6653 else {
6654 return 0;
6655 }
6656 else {
6657 return 0;
6658 }
6659 else {
6660 return 0;
6661 }
6662 else {
6663 return 0;
6664 }
6665 else if (p[pixel[4]] < c_b)
6666 if (p[pixel[5]] < c_b)
6667 if (p[pixel[6]] < c_b)
6668 if (p[pixel[7]] < c_b)
6669 if (p[pixel[8]] < c_b)
6670 if (p[pixel[9]] < c_b)
6671 {}
6672 else {
6673 return 0;
6674 }
6675 else {
6676 return 0;
6677 }
6678 else {
6679 return 0;
6680 }
6681 else {
6682 return 0;
6683 }
6684 else {
6685 return 0;
6686 }
6687 else {
6688 return 0;
6689 }
6690 else {
6691 return 0;
6692 }
6693 else {
6694 return 0;
6695 }
6696 else {
6697 return 0;
6698 }
6699 else if (p[pixel[9]] > cb)
6700 if (p[pixel[7]] > cb)
6701 if (p[pixel[8]] > cb)
6702 if (p[pixel[10]] > cb)
6703 if (p[pixel[11]] > cb)
6704 if (p[pixel[6]] > cb)
6705 if (p[pixel[5]] > cb)
6706 if (p[pixel[4]] > cb)
6707 if (p[pixel[3]] > cb)
6708 {}
6709 else if (p[pixel[12]] > cb)
6710 {}
6711 else {
6712 return 0;
6713 }
6714 else if (p[pixel[12]] > cb)
6715 if (p[pixel[13]] > cb)
6716 {}
6717 else {
6718 return 0;
6719 }
6720 else {
6721 return 0;
6722 }
6723 else if (p[pixel[12]] > cb)
6724 if (p[pixel[13]] > cb)
6725 if (p[pixel[14]] > cb)
6726 {}
6727 else {
6728 return 0;
6729 }
6730 else {
6731 return 0;
6732 }
6733 else {
6734 return 0;
6735 }
6736 else if (p[pixel[12]] > cb)
6737 if (p[pixel[13]] > cb)
6738 if (p[pixel[14]] > cb)
6739 if (p[pixel[15]] > cb)
6740 {}
6741 else {
6742 return 0;
6743 }
6744 else {
6745 return 0;
6746 }
6747 else {
6748 return 0;
6749 }
6750 else {
6751 return 0;
6752 }
6753 else {
6754 return 0;
6755 }
6756 else {
6757 return 0;
6758 }
6759 else {
6760 return 0;
6761 }
6762 else {
6763 return 0;
6764 }
6765 else if (p[pixel[9]] < c_b)
6766 if (p[pixel[10]] < c_b)
6767 if (p[pixel[11]] < c_b)
6768 if (p[pixel[12]] < c_b)
6769 if (p[pixel[13]] < c_b)
6770 if (p[pixel[14]] < c_b)
6771 if (p[pixel[15]] < c_b)
6772 {}
6773 else if (p[pixel[6]] < c_b)
6774 if (p[pixel[7]] < c_b)
6775 if (p[pixel[8]] < c_b)
6776 {}
6777 else {
6778 return 0;
6779 }
6780 else {
6781 return 0;
6782 }
6783 else {
6784 return 0;
6785 }
6786 else if (p[pixel[5]] < c_b)
6787 if (p[pixel[6]] < c_b)
6788 if (p[pixel[7]] < c_b)
6789 if (p[pixel[8]] < c_b)
6790 {}
6791 else {
6792 return 0;
6793 }
6794 else {
6795 return 0;
6796 }
6797 else {
6798 return 0;
6799 }
6800 else {
6801 return 0;
6802 }
6803 else if (p[pixel[4]] < c_b)
6804 if (p[pixel[5]] < c_b)
6805 if (p[pixel[6]] < c_b)
6806 if (p[pixel[7]] < c_b)
6807 if (p[pixel[8]] < c_b)
6808 {}
6809 else {
6810 return 0;
6811 }
6812 else {
6813 return 0;
6814 }
6815 else {
6816 return 0;
6817 }
6818 else {
6819 return 0;
6820 }
6821 else {
6822 return 0;
6823 }
6824 else if (p[pixel[3]] < c_b)
6825 if (p[pixel[4]] < c_b)
6826 if (p[pixel[5]] < c_b)
6827 if (p[pixel[6]] < c_b)
6828 if (p[pixel[7]] < c_b)
6829 if (p[pixel[8]] < c_b)
6830 {}
6831 else {
6832 return 0;
6833 }
6834 else {
6835 return 0;
6836 }
6837 else {
6838 return 0;
6839 }
6840 else {
6841 return 0;
6842 }
6843 else {
6844 return 0;
6845 }
6846 else {
6847 return 0;
6848 }
6849 else {
6850 return 0;
6851 }
6852 else {
6853 return 0;
6854 }
6855 else {
6856 return 0;
6857 }
6858 else if (p[pixel[8]] > cb)
6859 if (p[pixel[7]] > cb)
6860 if (p[pixel[9]] > cb)
6861 if (p[pixel[10]] > cb)
6862 if (p[pixel[6]] > cb)
6863 if (p[pixel[5]] > cb)
6864 if (p[pixel[4]] > cb)
6865 if (p[pixel[3]] > cb)
6866 if (p[pixel[2]] > cb)
6867 {}
6868 else if (p[pixel[11]] > cb)
6869 {}
6870 else {
6871 return 0;
6872 }
6873 else if (p[pixel[11]] > cb)
6874 if (p[pixel[12]] > cb)
6875 {}
6876 else {
6877 return 0;
6878 }
6879 else {
6880 return 0;
6881 }
6882 else if (p[pixel[11]] > cb)
6883 if (p[pixel[12]] > cb)
6884 if (p[pixel[13]] > cb)
6885 {}
6886 else {
6887 return 0;
6888 }
6889 else {
6890 return 0;
6891 }
6892 else {
6893 return 0;
6894 }
6895 else if (p[pixel[11]] > cb)
6896 if (p[pixel[12]] > cb)
6897 if (p[pixel[13]] > cb)
6898 if (p[pixel[14]] > cb)
6899 {}
6900 else {
6901 return 0;
6902 }
6903 else {
6904 return 0;
6905 }
6906 else {
6907 return 0;
6908 }
6909 else {
6910 return 0;
6911 }
6912 else if (p[pixel[11]] > cb)
6913 if (p[pixel[12]] > cb)
6914 if (p[pixel[13]] > cb)
6915 if (p[pixel[14]] > cb)
6916 if (p[pixel[15]] > cb)
6917 {}
6918 else {
6919 return 0;
6920 }
6921 else {
6922 return 0;
6923 }
6924 else {
6925 return 0;
6926 }
6927 else {
6928 return 0;
6929 }
6930 else {
6931 return 0;
6932 }
6933 else {
6934 return 0;
6935 }
6936 else {
6937 return 0;
6938 }
6939 else {
6940 return 0;
6941 }
6942 else if (p[pixel[8]] < c_b)
6943 if (p[pixel[9]] < c_b)
6944 if (p[pixel[10]] < c_b)
6945 if (p[pixel[11]] < c_b)
6946 if (p[pixel[12]] < c_b)
6947 if (p[pixel[13]] < c_b)
6948 if (p[pixel[14]] < c_b)
6949 if (p[pixel[15]] < c_b)
6950 {}
6951 else if (p[pixel[6]] < c_b)
6952 if (p[pixel[7]] < c_b)
6953 {}
6954 else {
6955 return 0;
6956 }
6957 else {
6958 return 0;
6959 }
6960 else if (p[pixel[5]] < c_b)
6961 if (p[pixel[6]] < c_b)
6962 if (p[pixel[7]] < c_b)
6963 {}
6964 else {
6965 return 0;
6966 }
6967 else {
6968 return 0;
6969 }
6970 else {
6971 return 0;
6972 }
6973 else if (p[pixel[4]] < c_b)
6974 if (p[pixel[5]] < c_b)
6975 if (p[pixel[6]] < c_b)
6976 if (p[pixel[7]] < c_b)
6977 {}
6978 else {
6979 return 0;
6980 }
6981 else {
6982 return 0;
6983 }
6984 else {
6985 return 0;
6986 }
6987 else {
6988 return 0;
6989 }
6990 else if (p[pixel[3]] < c_b)
6991 if (p[pixel[4]] < c_b)
6992 if (p[pixel[5]] < c_b)
6993 if (p[pixel[6]] < c_b)
6994 if (p[pixel[7]] < c_b)
6995 {}
6996 else {
6997 return 0;
6998 }
6999 else {
7000 return 0;
7001 }
7002 else {
7003 return 0;
7004 }
7005 else {
7006 return 0;
7007 }
7008 else {
7009 return 0;
7010 }
7011 else if (p[pixel[2]] < c_b)
7012 if (p[pixel[3]] < c_b)
7013 if (p[pixel[4]] < c_b)
7014 if (p[pixel[5]] < c_b)
7015 if (p[pixel[6]] < c_b)
7016 if (p[pixel[7]] < c_b)
7017 {}
7018 else {
7019 return 0;
7020 }
7021 else {
7022 return 0;
7023 }
7024 else {
7025 return 0;
7026 }
7027 else {
7028 return 0;
7029 }
7030 else {
7031 return 0;
7032 }
7033 else {
7034 return 0;
7035 }
7036 else {
7037 return 0;
7038 }
7039 else {
7040 return 0;
7041 }
7042 else {
7043 return 0;
7044 }
7045 else if (p[pixel[7]] > cb)
7046 if (p[pixel[8]] > cb)
7047 if (p[pixel[9]] > cb)
7048 if (p[pixel[6]] > cb)
7049 if (p[pixel[5]] > cb)
7050 if (p[pixel[4]] > cb)
7051 if (p[pixel[3]] > cb)
7052 if (p[pixel[2]] > cb)
7053 if (p[pixel[1]] > cb)
7054 {}
7055 else if (p[pixel[10]] > cb)
7056 {}
7057 else {
7058 return 0;
7059 }
7060 else if (p[pixel[10]] > cb)
7061 if (p[pixel[11]] > cb)
7062 {}
7063 else {
7064 return 0;
7065 }
7066 else {
7067 return 0;
7068 }
7069 else if (p[pixel[10]] > cb)
7070 if (p[pixel[11]] > cb)
7071 if (p[pixel[12]] > cb)
7072 {}
7073 else {
7074 return 0;
7075 }
7076 else {
7077 return 0;
7078 }
7079 else {
7080 return 0;
7081 }
7082 else if (p[pixel[10]] > cb)
7083 if (p[pixel[11]] > cb)
7084 if (p[pixel[12]] > cb)
7085 if (p[pixel[13]] > cb)
7086 {}
7087 else {
7088 return 0;
7089 }
7090 else {
7091 return 0;
7092 }
7093 else {
7094 return 0;
7095 }
7096 else {
7097 return 0;
7098 }
7099 else if (p[pixel[10]] > cb)
7100 if (p[pixel[11]] > cb)
7101 if (p[pixel[12]] > cb)
7102 if (p[pixel[13]] > cb)
7103 if (p[pixel[14]] > cb)
7104 {}
7105 else {
7106 return 0;
7107 }
7108 else {
7109 return 0;
7110 }
7111 else {
7112 return 0;
7113 }
7114 else {
7115 return 0;
7116 }
7117 else {
7118 return 0;
7119 }
7120 else if (p[pixel[10]] > cb)
7121 if (p[pixel[11]] > cb)
7122 if (p[pixel[12]] > cb)
7123 if (p[pixel[13]] > cb)
7124 if (p[pixel[14]] > cb)
7125 if (p[pixel[15]] > cb)
7126 {}
7127 else {
7128 return 0;
7129 }
7130 else {
7131 return 0;
7132 }
7133 else {
7134 return 0;
7135 }
7136 else {
7137 return 0;
7138 }
7139 else {
7140 return 0;
7141 }
7142 else {
7143 return 0;
7144 }
7145 else {
7146 return 0;
7147 }
7148 else {
7149 return 0;
7150 }
7151 else if (p[pixel[7]] < c_b)
7152 if (p[pixel[8]] < c_b)
7153 if (p[pixel[9]] < c_b)
7154 if (p[pixel[6]] < c_b)
7155 if (p[pixel[5]] < c_b)
7156 if (p[pixel[4]] < c_b)
7157 if (p[pixel[3]] < c_b)
7158 if (p[pixel[2]] < c_b)
7159 if (p[pixel[1]] < c_b)
7160 {}
7161 else if (p[pixel[10]] < c_b)
7162 {}
7163 else {
7164 return 0;
7165 }
7166 else if (p[pixel[10]] < c_b)
7167 if (p[pixel[11]] < c_b)
7168 {}
7169 else {
7170 return 0;
7171 }
7172 else {
7173 return 0;
7174 }
7175 else if (p[pixel[10]] < c_b)
7176 if (p[pixel[11]] < c_b)
7177 if (p[pixel[12]] < c_b)
7178 {}
7179 else {
7180 return 0;
7181 }
7182 else {
7183 return 0;
7184 }
7185 else {
7186 return 0;
7187 }
7188 else if (p[pixel[10]] < c_b)
7189 if (p[pixel[11]] < c_b)
7190 if (p[pixel[12]] < c_b)
7191 if (p[pixel[13]] < c_b)
7192 {}
7193 else {
7194 return 0;
7195 }
7196 else {
7197 return 0;
7198 }
7199 else {
7200 return 0;
7201 }
7202 else {
7203 return 0;
7204 }
7205 else if (p[pixel[10]] < c_b)
7206 if (p[pixel[11]] < c_b)
7207 if (p[pixel[12]] < c_b)
7208 if (p[pixel[13]] < c_b)
7209 if (p[pixel[14]] < c_b)
7210 {}
7211 else {
7212 return 0;
7213 }
7214 else {
7215 return 0;
7216 }
7217 else {
7218 return 0;
7219 }
7220 else {
7221 return 0;
7222 }
7223 else {
7224 return 0;
7225 }
7226 else if (p[pixel[10]] < c_b)
7227 if (p[pixel[11]] < c_b)
7228 if (p[pixel[12]] < c_b)
7229 if (p[pixel[13]] < c_b)
7230 if (p[pixel[14]] < c_b)
7231 if (p[pixel[15]] < c_b)
7232 {}
7233 else {
7234 return 0;
7235 }
7236 else {
7237 return 0;
7238 }
7239 else {
7240 return 0;
7241 }
7242 else {
7243 return 0;
7244 }
7245 else {
7246 return 0;
7247 }
7248 else {
7249 return 0;
7250 }
7251 else {
7252 return 0;
7253 }
7254 else {
7255 return 0;
7256 }
7257 else {
7258 return 0;
7259 }
7260 // if not returned yet, it is a corner:
7261 return 1;
7262 }
7263}
void fast9_detect(struct image_t *img, uint8_t threshold, uint16_t min_dist, uint16_t x_padding, uint16_t y_padding, uint16_t *num_corners, uint16_t *ret_corners_length, struct point_t **ret_corners, uint16_t *roi)
Do a FAST9 corner detection.
Definition fast_rosten.c:52
int fast9_detect_pixel(struct image_t *img, uint8_t threshold, uint16_t x, uint16_t y)
Do a FAST9 corner detection for a single pixel.
static void fast_make_offsets(int32_t *pixel, uint16_t row_stride, uint8_t pixel_size)
Make offsets for FAST9 calculation.
void * buf
Image buffer (depending on the image_type).
Definition image.h:54
uint16_t h
Image height.
Definition image.h:47
uint16_t w
Image width.
Definition image.h:46
enum image_type type
The image type.
Definition image.h:45
@ IMAGE_YUV422
UYVY format (uint16 per pixel).
Definition image.h:36
static float p[2][2]
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.
int int32_t
Typedef defining 32 bit int type.
short int16_t
Typedef defining 16 bit short type.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.