Paparazzi UAS v7.0_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
38
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, y_min, x_start, x_end, y_start, y_end;
60 // Set the pixel size
62 if (img->type == IMAGE_YUV422) {
63 pixel_size = 2;
64 }
65
68
69 if (!roi) {
70 x_start = 3 + x_padding;
71 y_start = 3 + y_padding;
72 x_end = img->w - 3 - x_padding;
73 y_end = img->h - 3 - y_padding;
74 } else {
75 x_start = roi[0] > 0 ? roi[0] : 3 + x_padding;
76 y_start = roi[1] > 0 ? roi[1] : 3 + y_padding;
77 x_end = roi[2] < (img->w - 3 - x_padding) ? roi[2] : img->w - 3 - x_padding;
78 y_end = roi[3] < (img->h - 3 - y_padding) ? roi[3] : img->h - 3 - y_padding;
79
80 }
81
82 // Calculate the pixel offsets
84
85 // Go trough all the pixels (minus the borders and inside the requested roi)
86 for (y = y_start; y < y_end; y++) {
87
88 if (min_dist > 0) { y_min = y - min_dist; }
89
90 for (x = x_start; x < x_end; x++) {
91 // First check if we aren't in range vertical (TODO: fix less intensive way)
92 if (min_dist > 0) {
93
94 need_skip = 0;
95
96 x_min = x - min_dist;
97 x_max = x + min_dist;
98
99
100 // Go through the previous corners until y goes out of range
101 i = corner_cnt - 1;
102 while (i >= 0) {
103
104 // corners are stored with increasing y,
105 // so if we go from the last to the first, then their y-coordinate will go out of range
106 if ((*ret_corners)[i].y < y_min) {
107 break;
108 }
109
110 if (x_min < (*ret_corners)[i].x && (*ret_corners)[i].x < x_max) {
111 need_skip = 1;
112 break;
113 }
114
115 i--;
116 }
117
118 // Skip the box if we found a pixel nearby
119 if (need_skip) {
120 x += min_dist;
121 continue;
122 }
123 }
124
125 // Calculate the threshold values
126 const uint8_t *p = ((uint8_t *)img->buf) + y * img->w * pixel_size + x * pixel_size + pixel_size / 2;
127 int16_t cb = *p + threshold;
128 int16_t c_b = *p - threshold;
129
130 // Do the checks if it is a corner
131 if (p[pixel[0]] > cb)
132 if (p[pixel[1]] > cb)
133 if (p[pixel[2]] > cb)
134 if (p[pixel[3]] > cb)
135 if (p[pixel[4]] > cb)
136 if (p[pixel[5]] > cb)
137 if (p[pixel[6]] > cb)
138 if (p[pixel[7]] > cb)
139 if (p[pixel[8]] > cb)
140 {}
141 else if (p[pixel[15]] > cb)
142 {}
143 else {
144 continue;
145 }
146 else if (p[pixel[7]] < c_b)
147 if (p[pixel[14]] > cb)
148 if (p[pixel[15]] > cb)
149 {}
150 else {
151 continue;
152 }
153 else if (p[pixel[14]] < c_b)
154 if (p[pixel[8]] < c_b)
155 if (p[pixel[9]] < c_b)
156 if (p[pixel[10]] < c_b)
157 if (p[pixel[11]] < c_b)
158 if (p[pixel[12]] < c_b)
159 if (p[pixel[13]] < c_b)
160 if (p[pixel[15]] < c_b)
161 {}
162 else {
163 continue;
164 }
165 else {
166 continue;
167 }
168 else {
169 continue;
170 }
171 else {
172 continue;
173 }
174 else {
175 continue;
176 }
177 else {
178 continue;
179 }
180 else {
181 continue;
182 }
183 else {
184 continue;
185 }
186 else if (p[pixel[14]] > cb)
187 if (p[pixel[15]] > cb)
188 {}
189 else {
190 continue;
191 }
192 else {
193 continue;
194 }
195 else if (p[pixel[6]] < c_b)
196 if (p[pixel[15]] > cb)
197 if (p[pixel[13]] > cb)
198 if (p[pixel[14]] > cb)
199 {}
200 else {
201 continue;
202 }
203 else if (p[pixel[13]] < c_b)
204 if (p[pixel[7]] < c_b)
205 if (p[pixel[8]] < c_b)
206 if (p[pixel[9]] < c_b)
207 if (p[pixel[10]] < c_b)
208 if (p[pixel[11]] < c_b)
209 if (p[pixel[12]] < c_b)
210 if (p[pixel[14]] < c_b)
211 {}
212 else {
213 continue;
214 }
215 else {
216 continue;
217 }
218 else {
219 continue;
220 }
221 else {
222 continue;
223 }
224 else {
225 continue;
226 }
227 else {
228 continue;
229 }
230 else {
231 continue;
232 }
233 else {
234 continue;
235 }
236 else if (p[pixel[7]] < c_b)
237 if (p[pixel[8]] < c_b)
238 if (p[pixel[9]] < c_b)
239 if (p[pixel[10]] < c_b)
240 if (p[pixel[11]] < c_b)
241 if (p[pixel[12]] < c_b)
242 if (p[pixel[13]] < c_b)
243 if (p[pixel[14]] < c_b)
244 {}
245 else {
246 continue;
247 }
248 else {
249 continue;
250 }
251 else {
252 continue;
253 }
254 else {
255 continue;
256 }
257 else {
258 continue;
259 }
260 else {
261 continue;
262 }
263 else {
264 continue;
265 }
266 else {
267 continue;
268 }
269 else if (p[pixel[13]] > cb)
270 if (p[pixel[14]] > cb)
271 if (p[pixel[15]] > cb)
272 {}
273 else {
274 continue;
275 }
276 else {
277 continue;
278 }
279 else if (p[pixel[13]] < c_b)
280 if (p[pixel[7]] < c_b)
281 if (p[pixel[8]] < c_b)
282 if (p[pixel[9]] < c_b)
283 if (p[pixel[10]] < c_b)
284 if (p[pixel[11]] < c_b)
285 if (p[pixel[12]] < c_b)
286 if (p[pixel[14]] < c_b)
287 if (p[pixel[15]] < c_b)
288 {}
289 else {
290 continue;
291 }
292 else {
293 continue;
294 }
295 else {
296 continue;
297 }
298 else {
299 continue;
300 }
301 else {
302 continue;
303 }
304 else {
305 continue;
306 }
307 else {
308 continue;
309 }
310 else {
311 continue;
312 }
313 else {
314 continue;
315 }
316 else if (p[pixel[5]] < c_b)
317 if (p[pixel[14]] > cb)
318 if (p[pixel[12]] > cb)
319 if (p[pixel[13]] > cb)
320 if (p[pixel[15]] > cb)
321 {}
322 else if (p[pixel[6]] > cb)
323 if (p[pixel[7]] > cb)
324 if (p[pixel[8]] > cb)
325 if (p[pixel[9]] > cb)
326 if (p[pixel[10]] > cb)
327 if (p[pixel[11]] > cb)
328 {}
329 else {
330 continue;
331 }
332 else {
333 continue;
334 }
335 else {
336 continue;
337 }
338 else {
339 continue;
340 }
341 else {
342 continue;
343 }
344 else {
345 continue;
346 }
347 else {
348 continue;
349 }
350 else if (p[pixel[12]] < c_b)
351 if (p[pixel[6]] < c_b)
352 if (p[pixel[7]] < c_b)
353 if (p[pixel[8]] < c_b)
354 if (p[pixel[9]] < c_b)
355 if (p[pixel[10]] < c_b)
356 if (p[pixel[11]] < c_b)
357 if (p[pixel[13]] < c_b)
358 {}
359 else {
360 continue;
361 }
362 else {
363 continue;
364 }
365 else {
366 continue;
367 }
368 else {
369 continue;
370 }
371 else {
372 continue;
373 }
374 else {
375 continue;
376 }
377 else {
378 continue;
379 }
380 else {
381 continue;
382 }
383 else if (p[pixel[14]] < c_b)
384 if (p[pixel[7]] < c_b)
385 if (p[pixel[8]] < c_b)
386 if (p[pixel[9]] < c_b)
387 if (p[pixel[10]] < c_b)
388 if (p[pixel[11]] < c_b)
389 if (p[pixel[12]] < c_b)
390 if (p[pixel[13]] < c_b)
391 if (p[pixel[6]] < c_b)
392 {}
393 else if (p[pixel[15]] < c_b)
394 {}
395 else {
396 continue;
397 }
398 else {
399 continue;
400 }
401 else {
402 continue;
403 }
404 else {
405 continue;
406 }
407 else {
408 continue;
409 }
410 else {
411 continue;
412 }
413 else {
414 continue;
415 }
416 else {
417 continue;
418 }
419 else if (p[pixel[6]] < c_b)
420 if (p[pixel[7]] < c_b)
421 if (p[pixel[8]] < c_b)
422 if (p[pixel[9]] < c_b)
423 if (p[pixel[10]] < c_b)
424 if (p[pixel[11]] < c_b)
425 if (p[pixel[12]] < c_b)
426 if (p[pixel[13]] < c_b)
427 {}
428 else {
429 continue;
430 }
431 else {
432 continue;
433 }
434 else {
435 continue;
436 }
437 else {
438 continue;
439 }
440 else {
441 continue;
442 }
443 else {
444 continue;
445 }
446 else {
447 continue;
448 }
449 else {
450 continue;
451 }
452 else if (p[pixel[12]] > cb)
453 if (p[pixel[13]] > cb)
454 if (p[pixel[14]] > cb)
455 if (p[pixel[15]] > cb)
456 {}
457 else if (p[pixel[6]] > cb)
458 if (p[pixel[7]] > cb)
459 if (p[pixel[8]] > cb)
460 if (p[pixel[9]] > cb)
461 if (p[pixel[10]] > cb)
462 if (p[pixel[11]] > cb)
463 {}
464 else {
465 continue;
466 }
467 else {
468 continue;
469 }
470 else {
471 continue;
472 }
473 else {
474 continue;
475 }
476 else {
477 continue;
478 }
479 else {
480 continue;
481 }
482 else {
483 continue;
484 }
485 else {
486 continue;
487 }
488 else if (p[pixel[12]] < c_b)
489 if (p[pixel[7]] < c_b)
490 if (p[pixel[8]] < c_b)
491 if (p[pixel[9]] < c_b)
492 if (p[pixel[10]] < c_b)
493 if (p[pixel[11]] < c_b)
494 if (p[pixel[13]] < c_b)
495 if (p[pixel[14]] < c_b)
496 if (p[pixel[6]] < c_b)
497 {}
498 else if (p[pixel[15]] < c_b)
499 {}
500 else {
501 continue;
502 }
503 else {
504 continue;
505 }
506 else {
507 continue;
508 }
509 else {
510 continue;
511 }
512 else {
513 continue;
514 }
515 else {
516 continue;
517 }
518 else {
519 continue;
520 }
521 else {
522 continue;
523 }
524 else {
525 continue;
526 }
527 else if (p[pixel[4]] < c_b)
528 if (p[pixel[13]] > cb)
529 if (p[pixel[11]] > cb)
530 if (p[pixel[12]] > cb)
531 if (p[pixel[14]] > cb)
532 if (p[pixel[15]] > cb)
533 {}
534 else if (p[pixel[6]] > cb)
535 if (p[pixel[7]] > cb)
536 if (p[pixel[8]] > cb)
537 if (p[pixel[9]] > cb)
538 if (p[pixel[10]] > cb)
539 {}
540 else {
541 continue;
542 }
543 else {
544 continue;
545 }
546 else {
547 continue;
548 }
549 else {
550 continue;
551 }
552 else {
553 continue;
554 }
555 else if (p[pixel[5]] > cb)
556 if (p[pixel[6]] > cb)
557 if (p[pixel[7]] > cb)
558 if (p[pixel[8]] > cb)
559 if (p[pixel[9]] > cb)
560 if (p[pixel[10]] > cb)
561 {}
562 else {
563 continue;
564 }
565 else {
566 continue;
567 }
568 else {
569 continue;
570 }
571 else {
572 continue;
573 }
574 else {
575 continue;
576 }
577 else {
578 continue;
579 }
580 else {
581 continue;
582 }
583 else if (p[pixel[11]] < c_b)
584 if (p[pixel[5]] < c_b)
585 if (p[pixel[6]] < c_b)
586 if (p[pixel[7]] < c_b)
587 if (p[pixel[8]] < c_b)
588 if (p[pixel[9]] < c_b)
589 if (p[pixel[10]] < c_b)
590 if (p[pixel[12]] < c_b)
591 {}
592 else {
593 continue;
594 }
595 else {
596 continue;
597 }
598 else {
599 continue;
600 }
601 else {
602 continue;
603 }
604 else {
605 continue;
606 }
607 else {
608 continue;
609 }
610 else {
611 continue;
612 }
613 else {
614 continue;
615 }
616 else if (p[pixel[13]] < c_b)
617 if (p[pixel[7]] < c_b)
618 if (p[pixel[8]] < c_b)
619 if (p[pixel[9]] < c_b)
620 if (p[pixel[10]] < c_b)
621 if (p[pixel[11]] < c_b)
622 if (p[pixel[12]] < c_b)
623 if (p[pixel[6]] < c_b)
624 if (p[pixel[5]] < c_b)
625 {}
626 else if (p[pixel[14]] < c_b)
627 {}
628 else {
629 continue;
630 }
631 else if (p[pixel[14]] < c_b)
632 if (p[pixel[15]] < c_b)
633 {}
634 else {
635 continue;
636 }
637 else {
638 continue;
639 }
640 else {
641 continue;
642 }
643 else {
644 continue;
645 }
646 else {
647 continue;
648 }
649 else {
650 continue;
651 }
652 else {
653 continue;
654 }
655 else {
656 continue;
657 }
658 else if (p[pixel[5]] < c_b)
659 if (p[pixel[6]] < c_b)
660 if (p[pixel[7]] < c_b)
661 if (p[pixel[8]] < c_b)
662 if (p[pixel[9]] < c_b)
663 if (p[pixel[10]] < c_b)
664 if (p[pixel[11]] < c_b)
665 if (p[pixel[12]] < c_b)
666 {}
667 else {
668 continue;
669 }
670 else {
671 continue;
672 }
673 else {
674 continue;
675 }
676 else {
677 continue;
678 }
679 else {
680 continue;
681 }
682 else {
683 continue;
684 }
685 else {
686 continue;
687 }
688 else {
689 continue;
690 }
691 else if (p[pixel[11]] > cb)
692 if (p[pixel[12]] > cb)
693 if (p[pixel[13]] > cb)
694 if (p[pixel[14]] > cb)
695 if (p[pixel[15]] > cb)
696 {}
697 else if (p[pixel[6]] > cb)
698 if (p[pixel[7]] > cb)
699 if (p[pixel[8]] > cb)
700 if (p[pixel[9]] > cb)
701 if (p[pixel[10]] > cb)
702 {}
703 else {
704 continue;
705 }
706 else {
707 continue;
708 }
709 else {
710 continue;
711 }
712 else {
713 continue;
714 }
715 else {
716 continue;
717 }
718 else if (p[pixel[5]] > cb)
719 if (p[pixel[6]] > cb)
720 if (p[pixel[7]] > cb)
721 if (p[pixel[8]] > cb)
722 if (p[pixel[9]] > cb)
723 if (p[pixel[10]] > cb)
724 {}
725 else {
726 continue;
727 }
728 else {
729 continue;
730 }
731 else {
732 continue;
733 }
734 else {
735 continue;
736 }
737 else {
738 continue;
739 }
740 else {
741 continue;
742 }
743 else {
744 continue;
745 }
746 else {
747 continue;
748 }
749 else if (p[pixel[11]] < c_b)
750 if (p[pixel[7]] < c_b)
751 if (p[pixel[8]] < c_b)
752 if (p[pixel[9]] < c_b)
753 if (p[pixel[10]] < c_b)
754 if (p[pixel[12]] < c_b)
755 if (p[pixel[13]] < c_b)
756 if (p[pixel[6]] < c_b)
757 if (p[pixel[5]] < c_b)
758 {}
759 else if (p[pixel[14]] < c_b)
760 {}
761 else {
762 continue;
763 }
764 else if (p[pixel[14]] < c_b)
765 if (p[pixel[15]] < c_b)
766 {}
767 else {
768 continue;
769 }
770 else {
771 continue;
772 }
773 else {
774 continue;
775 }
776 else {
777 continue;
778 }
779 else {
780 continue;
781 }
782 else {
783 continue;
784 }
785 else {
786 continue;
787 }
788 else {
789 continue;
790 }
791 else {
792 continue;
793 }
794 else if (p[pixel[3]] < c_b)
795 if (p[pixel[10]] > cb)
796 if (p[pixel[11]] > cb)
797 if (p[pixel[12]] > cb)
798 if (p[pixel[13]] > cb)
799 if (p[pixel[14]] > cb)
800 if (p[pixel[15]] > cb)
801 {}
802 else if (p[pixel[6]] > cb)
803 if (p[pixel[7]] > cb)
804 if (p[pixel[8]] > cb)
805 if (p[pixel[9]] > cb)
806 {}
807 else {
808 continue;
809 }
810 else {
811 continue;
812 }
813 else {
814 continue;
815 }
816 else {
817 continue;
818 }
819 else if (p[pixel[5]] > cb)
820 if (p[pixel[6]] > cb)
821 if (p[pixel[7]] > cb)
822 if (p[pixel[8]] > cb)
823 if (p[pixel[9]] > cb)
824 {}
825 else {
826 continue;
827 }
828 else {
829 continue;
830 }
831 else {
832 continue;
833 }
834 else {
835 continue;
836 }
837 else {
838 continue;
839 }
840 else if (p[pixel[4]] > cb)
841 if (p[pixel[5]] > cb)
842 if (p[pixel[6]] > cb)
843 if (p[pixel[7]] > cb)
844 if (p[pixel[8]] > cb)
845 if (p[pixel[9]] > cb)
846 {}
847 else {
848 continue;
849 }
850 else {
851 continue;
852 }
853 else {
854 continue;
855 }
856 else {
857 continue;
858 }
859 else {
860 continue;
861 }
862 else {
863 continue;
864 }
865 else {
866 continue;
867 }
868 else {
869 continue;
870 }
871 else if (p[pixel[10]] < c_b)
872 if (p[pixel[7]] < c_b)
873 if (p[pixel[8]] < c_b)
874 if (p[pixel[9]] < c_b)
875 if (p[pixel[11]] < c_b)
876 if (p[pixel[6]] < c_b)
877 if (p[pixel[5]] < c_b)
878 if (p[pixel[4]] < c_b)
879 {}
880 else if (p[pixel[12]] < c_b)
881 if (p[pixel[13]] < c_b)
882 {}
883 else {
884 continue;
885 }
886 else {
887 continue;
888 }
889 else if (p[pixel[12]] < c_b)
890 if (p[pixel[13]] < c_b)
891 if (p[pixel[14]] < c_b)
892 {}
893 else {
894 continue;
895 }
896 else {
897 continue;
898 }
899 else {
900 continue;
901 }
902 else if (p[pixel[12]] < c_b)
903 if (p[pixel[13]] < c_b)
904 if (p[pixel[14]] < c_b)
905 if (p[pixel[15]] < c_b)
906 {}
907 else {
908 continue;
909 }
910 else {
911 continue;
912 }
913 else {
914 continue;
915 }
916 else {
917 continue;
918 }
919 else {
920 continue;
921 }
922 else {
923 continue;
924 }
925 else {
926 continue;
927 }
928 else {
929 continue;
930 }
931 else {
932 continue;
933 }
934 else if (p[pixel[10]] > cb)
935 if (p[pixel[11]] > cb)
936 if (p[pixel[12]] > cb)
937 if (p[pixel[13]] > cb)
938 if (p[pixel[14]] > cb)
939 if (p[pixel[15]] > cb)
940 {}
941 else if (p[pixel[6]] > cb)
942 if (p[pixel[7]] > cb)
943 if (p[pixel[8]] > cb)
944 if (p[pixel[9]] > cb)
945 {}
946 else {
947 continue;
948 }
949 else {
950 continue;
951 }
952 else {
953 continue;
954 }
955 else {
956 continue;
957 }
958 else if (p[pixel[5]] > cb)
959 if (p[pixel[6]] > cb)
960 if (p[pixel[7]] > cb)
961 if (p[pixel[8]] > cb)
962 if (p[pixel[9]] > cb)
963 {}
964 else {
965 continue;
966 }
967 else {
968 continue;
969 }
970 else {
971 continue;
972 }
973 else {
974 continue;
975 }
976 else {
977 continue;
978 }
979 else if (p[pixel[4]] > cb)
980 if (p[pixel[5]] > cb)
981 if (p[pixel[6]] > cb)
982 if (p[pixel[7]] > cb)
983 if (p[pixel[8]] > cb)
984 if (p[pixel[9]] > cb)
985 {}
986 else {
987 continue;
988 }
989 else {
990 continue;
991 }
992 else {
993 continue;
994 }
995 else {
996 continue;
997 }
998 else {
999 continue;
1000 }
1001 else {
1002 continue;
1003 }
1004 else {
1005 continue;
1006 }
1007 else {
1008 continue;
1009 }
1010 else if (p[pixel[10]] < c_b)
1011 if (p[pixel[7]] < c_b)
1012 if (p[pixel[8]] < c_b)
1013 if (p[pixel[9]] < c_b)
1014 if (p[pixel[11]] < c_b)
1015 if (p[pixel[12]] < c_b)
1016 if (p[pixel[6]] < c_b)
1017 if (p[pixel[5]] < c_b)
1018 if (p[pixel[4]] < c_b)
1019 {}
1020 else if (p[pixel[13]] < c_b)
1021 {}
1022 else {
1023 continue;
1024 }
1025 else if (p[pixel[13]] < c_b)
1026 if (p[pixel[14]] < c_b)
1027 {}
1028 else {
1029 continue;
1030 }
1031 else {
1032 continue;
1033 }
1034 else if (p[pixel[13]] < c_b)
1035 if (p[pixel[14]] < c_b)
1036 if (p[pixel[15]] < c_b)
1037 {}
1038 else {
1039 continue;
1040 }
1041 else {
1042 continue;
1043 }
1044 else {
1045 continue;
1046 }
1047 else {
1048 continue;
1049 }
1050 else {
1051 continue;
1052 }
1053 else {
1054 continue;
1055 }
1056 else {
1057 continue;
1058 }
1059 else {
1060 continue;
1061 }
1062 else {
1063 continue;
1064 }
1065 else if (p[pixel[2]] < c_b)
1066 if (p[pixel[9]] > cb)
1067 if (p[pixel[10]] > cb)
1068 if (p[pixel[11]] > cb)
1069 if (p[pixel[12]] > cb)
1070 if (p[pixel[13]] > cb)
1071 if (p[pixel[14]] > cb)
1072 if (p[pixel[15]] > cb)
1073 {}
1074 else if (p[pixel[6]] > cb)
1075 if (p[pixel[7]] > cb)
1076 if (p[pixel[8]] > cb)
1077 {}
1078 else {
1079 continue;
1080 }
1081 else {
1082 continue;
1083 }
1084 else {
1085 continue;
1086 }
1087 else if (p[pixel[5]] > cb)
1088 if (p[pixel[6]] > cb)
1089 if (p[pixel[7]] > cb)
1090 if (p[pixel[8]] > cb)
1091 {}
1092 else {
1093 continue;
1094 }
1095 else {
1096 continue;
1097 }
1098 else {
1099 continue;
1100 }
1101 else {
1102 continue;
1103 }
1104 else if (p[pixel[4]] > cb)
1105 if (p[pixel[5]] > cb)
1106 if (p[pixel[6]] > cb)
1107 if (p[pixel[7]] > cb)
1108 if (p[pixel[8]] > cb)
1109 {}
1110 else {
1111 continue;
1112 }
1113 else {
1114 continue;
1115 }
1116 else {
1117 continue;
1118 }
1119 else {
1120 continue;
1121 }
1122 else {
1123 continue;
1124 }
1125 else if (p[pixel[3]] > cb)
1126 if (p[pixel[4]] > cb)
1127 if (p[pixel[5]] > cb)
1128 if (p[pixel[6]] > cb)
1129 if (p[pixel[7]] > cb)
1130 if (p[pixel[8]] > cb)
1131 {}
1132 else {
1133 continue;
1134 }
1135 else {
1136 continue;
1137 }
1138 else {
1139 continue;
1140 }
1141 else {
1142 continue;
1143 }
1144 else {
1145 continue;
1146 }
1147 else {
1148 continue;
1149 }
1150 else {
1151 continue;
1152 }
1153 else {
1154 continue;
1155 }
1156 else if (p[pixel[9]] < c_b)
1157 if (p[pixel[7]] < c_b)
1158 if (p[pixel[8]] < c_b)
1159 if (p[pixel[10]] < c_b)
1160 if (p[pixel[6]] < c_b)
1161 if (p[pixel[5]] < c_b)
1162 if (p[pixel[4]] < c_b)
1163 if (p[pixel[3]] < c_b)
1164 {}
1165 else if (p[pixel[11]] < c_b)
1166 if (p[pixel[12]] < c_b)
1167 {}
1168 else {
1169 continue;
1170 }
1171 else {
1172 continue;
1173 }
1174 else if (p[pixel[11]] < c_b)
1175 if (p[pixel[12]] < c_b)
1176 if (p[pixel[13]] < c_b)
1177 {}
1178 else {
1179 continue;
1180 }
1181 else {
1182 continue;
1183 }
1184 else {
1185 continue;
1186 }
1187 else if (p[pixel[11]] < c_b)
1188 if (p[pixel[12]] < c_b)
1189 if (p[pixel[13]] < c_b)
1190 if (p[pixel[14]] < c_b)
1191 {}
1192 else {
1193 continue;
1194 }
1195 else {
1196 continue;
1197 }
1198 else {
1199 continue;
1200 }
1201 else {
1202 continue;
1203 }
1204 else if (p[pixel[11]] < c_b)
1205 if (p[pixel[12]] < c_b)
1206 if (p[pixel[13]] < c_b)
1207 if (p[pixel[14]] < c_b)
1208 if (p[pixel[15]] < c_b)
1209 {}
1210 else {
1211 continue;
1212 }
1213 else {
1214 continue;
1215 }
1216 else {
1217 continue;
1218 }
1219 else {
1220 continue;
1221 }
1222 else {
1223 continue;
1224 }
1225 else {
1226 continue;
1227 }
1228 else {
1229 continue;
1230 }
1231 else {
1232 continue;
1233 }
1234 else {
1235 continue;
1236 }
1237 else if (p[pixel[9]] > cb)
1238 if (p[pixel[10]] > cb)
1239 if (p[pixel[11]] > cb)
1240 if (p[pixel[12]] > cb)
1241 if (p[pixel[13]] > cb)
1242 if (p[pixel[14]] > cb)
1243 if (p[pixel[15]] > cb)
1244 {}
1245 else if (p[pixel[6]] > cb)
1246 if (p[pixel[7]] > cb)
1247 if (p[pixel[8]] > cb)
1248 {}
1249 else {
1250 continue;
1251 }
1252 else {
1253 continue;
1254 }
1255 else {
1256 continue;
1257 }
1258 else if (p[pixel[5]] > cb)
1259 if (p[pixel[6]] > cb)
1260 if (p[pixel[7]] > cb)
1261 if (p[pixel[8]] > cb)
1262 {}
1263 else {
1264 continue;
1265 }
1266 else {
1267 continue;
1268 }
1269 else {
1270 continue;
1271 }
1272 else {
1273 continue;
1274 }
1275 else if (p[pixel[4]] > cb)
1276 if (p[pixel[5]] > cb)
1277 if (p[pixel[6]] > cb)
1278 if (p[pixel[7]] > cb)
1279 if (p[pixel[8]] > cb)
1280 {}
1281 else {
1282 continue;
1283 }
1284 else {
1285 continue;
1286 }
1287 else {
1288 continue;
1289 }
1290 else {
1291 continue;
1292 }
1293 else {
1294 continue;
1295 }
1296 else if (p[pixel[3]] > cb)
1297 if (p[pixel[4]] > cb)
1298 if (p[pixel[5]] > cb)
1299 if (p[pixel[6]] > cb)
1300 if (p[pixel[7]] > cb)
1301 if (p[pixel[8]] > cb)
1302 {}
1303 else {
1304 continue;
1305 }
1306 else {
1307 continue;
1308 }
1309 else {
1310 continue;
1311 }
1312 else {
1313 continue;
1314 }
1315 else {
1316 continue;
1317 }
1318 else {
1319 continue;
1320 }
1321 else {
1322 continue;
1323 }
1324 else {
1325 continue;
1326 }
1327 else if (p[pixel[9]] < c_b)
1328 if (p[pixel[7]] < c_b)
1329 if (p[pixel[8]] < c_b)
1330 if (p[pixel[10]] < c_b)
1331 if (p[pixel[11]] < c_b)
1332 if (p[pixel[6]] < c_b)
1333 if (p[pixel[5]] < c_b)
1334 if (p[pixel[4]] < c_b)
1335 if (p[pixel[3]] < c_b)
1336 {}
1337 else if (p[pixel[12]] < c_b)
1338 {}
1339 else {
1340 continue;
1341 }
1342 else if (p[pixel[12]] < c_b)
1343 if (p[pixel[13]] < c_b)
1344 {}
1345 else {
1346 continue;
1347 }
1348 else {
1349 continue;
1350 }
1351 else if (p[pixel[12]] < c_b)
1352 if (p[pixel[13]] < c_b)
1353 if (p[pixel[14]] < c_b)
1354 {}
1355 else {
1356 continue;
1357 }
1358 else {
1359 continue;
1360 }
1361 else {
1362 continue;
1363 }
1364 else if (p[pixel[12]] < c_b)
1365 if (p[pixel[13]] < c_b)
1366 if (p[pixel[14]] < c_b)
1367 if (p[pixel[15]] < c_b)
1368 {}
1369 else {
1370 continue;
1371 }
1372 else {
1373 continue;
1374 }
1375 else {
1376 continue;
1377 }
1378 else {
1379 continue;
1380 }
1381 else {
1382 continue;
1383 }
1384 else {
1385 continue;
1386 }
1387 else {
1388 continue;
1389 }
1390 else {
1391 continue;
1392 }
1393 else {
1394 continue;
1395 }
1396 else if (p[pixel[1]] < c_b)
1397 if (p[pixel[8]] > cb)
1398 if (p[pixel[9]] > cb)
1399 if (p[pixel[10]] > cb)
1400 if (p[pixel[11]] > cb)
1401 if (p[pixel[12]] > cb)
1402 if (p[pixel[13]] > cb)
1403 if (p[pixel[14]] > cb)
1404 if (p[pixel[15]] > cb)
1405 {}
1406 else if (p[pixel[6]] > cb)
1407 if (p[pixel[7]] > cb)
1408 {}
1409 else {
1410 continue;
1411 }
1412 else {
1413 continue;
1414 }
1415 else if (p[pixel[5]] > cb)
1416 if (p[pixel[6]] > cb)
1417 if (p[pixel[7]] > cb)
1418 {}
1419 else {
1420 continue;
1421 }
1422 else {
1423 continue;
1424 }
1425 else {
1426 continue;
1427 }
1428 else if (p[pixel[4]] > cb)
1429 if (p[pixel[5]] > cb)
1430 if (p[pixel[6]] > cb)
1431 if (p[pixel[7]] > cb)
1432 {}
1433 else {
1434 continue;
1435 }
1436 else {
1437 continue;
1438 }
1439 else {
1440 continue;
1441 }
1442 else {
1443 continue;
1444 }
1445 else if (p[pixel[3]] > cb)
1446 if (p[pixel[4]] > cb)
1447 if (p[pixel[5]] > cb)
1448 if (p[pixel[6]] > cb)
1449 if (p[pixel[7]] > cb)
1450 {}
1451 else {
1452 continue;
1453 }
1454 else {
1455 continue;
1456 }
1457 else {
1458 continue;
1459 }
1460 else {
1461 continue;
1462 }
1463 else {
1464 continue;
1465 }
1466 else if (p[pixel[2]] > cb)
1467 if (p[pixel[3]] > cb)
1468 if (p[pixel[4]] > cb)
1469 if (p[pixel[5]] > cb)
1470 if (p[pixel[6]] > cb)
1471 if (p[pixel[7]] > cb)
1472 {}
1473 else {
1474 continue;
1475 }
1476 else {
1477 continue;
1478 }
1479 else {
1480 continue;
1481 }
1482 else {
1483 continue;
1484 }
1485 else {
1486 continue;
1487 }
1488 else {
1489 continue;
1490 }
1491 else {
1492 continue;
1493 }
1494 else {
1495 continue;
1496 }
1497 else if (p[pixel[8]] < c_b)
1498 if (p[pixel[7]] < c_b)
1499 if (p[pixel[9]] < c_b)
1500 if (p[pixel[6]] < c_b)
1501 if (p[pixel[5]] < c_b)
1502 if (p[pixel[4]] < c_b)
1503 if (p[pixel[3]] < c_b)
1504 if (p[pixel[2]] < c_b)
1505 {}
1506 else if (p[pixel[10]] < c_b)
1507 if (p[pixel[11]] < c_b)
1508 {}
1509 else {
1510 continue;
1511 }
1512 else {
1513 continue;
1514 }
1515 else if (p[pixel[10]] < c_b)
1516 if (p[pixel[11]] < c_b)
1517 if (p[pixel[12]] < c_b)
1518 {}
1519 else {
1520 continue;
1521 }
1522 else {
1523 continue;
1524 }
1525 else {
1526 continue;
1527 }
1528 else if (p[pixel[10]] < c_b)
1529 if (p[pixel[11]] < c_b)
1530 if (p[pixel[12]] < c_b)
1531 if (p[pixel[13]] < c_b)
1532 {}
1533 else {
1534 continue;
1535 }
1536 else {
1537 continue;
1538 }
1539 else {
1540 continue;
1541 }
1542 else {
1543 continue;
1544 }
1545 else if (p[pixel[10]] < c_b)
1546 if (p[pixel[11]] < c_b)
1547 if (p[pixel[12]] < c_b)
1548 if (p[pixel[13]] < c_b)
1549 if (p[pixel[14]] < c_b)
1550 {}
1551 else {
1552 continue;
1553 }
1554 else {
1555 continue;
1556 }
1557 else {
1558 continue;
1559 }
1560 else {
1561 continue;
1562 }
1563 else {
1564 continue;
1565 }
1566 else if (p[pixel[10]] < c_b)
1567 if (p[pixel[11]] < c_b)
1568 if (p[pixel[12]] < c_b)
1569 if (p[pixel[13]] < c_b)
1570 if (p[pixel[14]] < c_b)
1571 if (p[pixel[15]] < c_b)
1572 {}
1573 else {
1574 continue;
1575 }
1576 else {
1577 continue;
1578 }
1579 else {
1580 continue;
1581 }
1582 else {
1583 continue;
1584 }
1585 else {
1586 continue;
1587 }
1588 else {
1589 continue;
1590 }
1591 else {
1592 continue;
1593 }
1594 else {
1595 continue;
1596 }
1597 else {
1598 continue;
1599 }
1600 else if (p[pixel[8]] > cb)
1601 if (p[pixel[9]] > cb)
1602 if (p[pixel[10]] > cb)
1603 if (p[pixel[11]] > cb)
1604 if (p[pixel[12]] > cb)
1605 if (p[pixel[13]] > cb)
1606 if (p[pixel[14]] > cb)
1607 if (p[pixel[15]] > cb)
1608 {}
1609 else if (p[pixel[6]] > cb)
1610 if (p[pixel[7]] > cb)
1611 {}
1612 else {
1613 continue;
1614 }
1615 else {
1616 continue;
1617 }
1618 else if (p[pixel[5]] > cb)
1619 if (p[pixel[6]] > cb)
1620 if (p[pixel[7]] > cb)
1621 {}
1622 else {
1623 continue;
1624 }
1625 else {
1626 continue;
1627 }
1628 else {
1629 continue;
1630 }
1631 else if (p[pixel[4]] > cb)
1632 if (p[pixel[5]] > cb)
1633 if (p[pixel[6]] > cb)
1634 if (p[pixel[7]] > cb)
1635 {}
1636 else {
1637 continue;
1638 }
1639 else {
1640 continue;
1641 }
1642 else {
1643 continue;
1644 }
1645 else {
1646 continue;
1647 }
1648 else if (p[pixel[3]] > cb)
1649 if (p[pixel[4]] > cb)
1650 if (p[pixel[5]] > cb)
1651 if (p[pixel[6]] > cb)
1652 if (p[pixel[7]] > cb)
1653 {}
1654 else {
1655 continue;
1656 }
1657 else {
1658 continue;
1659 }
1660 else {
1661 continue;
1662 }
1663 else {
1664 continue;
1665 }
1666 else {
1667 continue;
1668 }
1669 else if (p[pixel[2]] > cb)
1670 if (p[pixel[3]] > cb)
1671 if (p[pixel[4]] > cb)
1672 if (p[pixel[5]] > cb)
1673 if (p[pixel[6]] > cb)
1674 if (p[pixel[7]] > cb)
1675 {}
1676 else {
1677 continue;
1678 }
1679 else {
1680 continue;
1681 }
1682 else {
1683 continue;
1684 }
1685 else {
1686 continue;
1687 }
1688 else {
1689 continue;
1690 }
1691 else {
1692 continue;
1693 }
1694 else {
1695 continue;
1696 }
1697 else {
1698 continue;
1699 }
1700 else if (p[pixel[8]] < c_b)
1701 if (p[pixel[7]] < c_b)
1702 if (p[pixel[9]] < c_b)
1703 if (p[pixel[10]] < c_b)
1704 if (p[pixel[6]] < c_b)
1705 if (p[pixel[5]] < c_b)
1706 if (p[pixel[4]] < c_b)
1707 if (p[pixel[3]] < c_b)
1708 if (p[pixel[2]] < c_b)
1709 {}
1710 else if (p[pixel[11]] < c_b)
1711 {}
1712 else {
1713 continue;
1714 }
1715 else if (p[pixel[11]] < c_b)
1716 if (p[pixel[12]] < c_b)
1717 {}
1718 else {
1719 continue;
1720 }
1721 else {
1722 continue;
1723 }
1724 else if (p[pixel[11]] < c_b)
1725 if (p[pixel[12]] < c_b)
1726 if (p[pixel[13]] < c_b)
1727 {}
1728 else {
1729 continue;
1730 }
1731 else {
1732 continue;
1733 }
1734 else {
1735 continue;
1736 }
1737 else if (p[pixel[11]] < c_b)
1738 if (p[pixel[12]] < c_b)
1739 if (p[pixel[13]] < c_b)
1740 if (p[pixel[14]] < c_b)
1741 {}
1742 else {
1743 continue;
1744 }
1745 else {
1746 continue;
1747 }
1748 else {
1749 continue;
1750 }
1751 else {
1752 continue;
1753 }
1754 else if (p[pixel[11]] < c_b)
1755 if (p[pixel[12]] < c_b)
1756 if (p[pixel[13]] < c_b)
1757 if (p[pixel[14]] < c_b)
1758 if (p[pixel[15]] < c_b)
1759 {}
1760 else {
1761 continue;
1762 }
1763 else {
1764 continue;
1765 }
1766 else {
1767 continue;
1768 }
1769 else {
1770 continue;
1771 }
1772 else {
1773 continue;
1774 }
1775 else {
1776 continue;
1777 }
1778 else {
1779 continue;
1780 }
1781 else {
1782 continue;
1783 }
1784 else {
1785 continue;
1786 }
1787 else if (p[pixel[0]] < c_b)
1788 if (p[pixel[1]] > cb)
1789 if (p[pixel[8]] > cb)
1790 if (p[pixel[7]] > cb)
1791 if (p[pixel[9]] > cb)
1792 if (p[pixel[6]] > cb)
1793 if (p[pixel[5]] > cb)
1794 if (p[pixel[4]] > cb)
1795 if (p[pixel[3]] > cb)
1796 if (p[pixel[2]] > cb)
1797 {}
1798 else if (p[pixel[10]] > cb)
1799 if (p[pixel[11]] > cb)
1800 {}
1801 else {
1802 continue;
1803 }
1804 else {
1805 continue;
1806 }
1807 else if (p[pixel[10]] > cb)
1808 if (p[pixel[11]] > cb)
1809 if (p[pixel[12]] > cb)
1810 {}
1811 else {
1812 continue;
1813 }
1814 else {
1815 continue;
1816 }
1817 else {
1818 continue;
1819 }
1820 else if (p[pixel[10]] > cb)
1821 if (p[pixel[11]] > cb)
1822 if (p[pixel[12]] > cb)
1823 if (p[pixel[13]] > cb)
1824 {}
1825 else {
1826 continue;
1827 }
1828 else {
1829 continue;
1830 }
1831 else {
1832 continue;
1833 }
1834 else {
1835 continue;
1836 }
1837 else if (p[pixel[10]] > cb)
1838 if (p[pixel[11]] > cb)
1839 if (p[pixel[12]] > cb)
1840 if (p[pixel[13]] > cb)
1841 if (p[pixel[14]] > cb)
1842 {}
1843 else {
1844 continue;
1845 }
1846 else {
1847 continue;
1848 }
1849 else {
1850 continue;
1851 }
1852 else {
1853 continue;
1854 }
1855 else {
1856 continue;
1857 }
1858 else if (p[pixel[10]] > cb)
1859 if (p[pixel[11]] > cb)
1860 if (p[pixel[12]] > cb)
1861 if (p[pixel[13]] > cb)
1862 if (p[pixel[14]] > cb)
1863 if (p[pixel[15]] > cb)
1864 {}
1865 else {
1866 continue;
1867 }
1868 else {
1869 continue;
1870 }
1871 else {
1872 continue;
1873 }
1874 else {
1875 continue;
1876 }
1877 else {
1878 continue;
1879 }
1880 else {
1881 continue;
1882 }
1883 else {
1884 continue;
1885 }
1886 else {
1887 continue;
1888 }
1889 else if (p[pixel[8]] < c_b)
1890 if (p[pixel[9]] < c_b)
1891 if (p[pixel[10]] < c_b)
1892 if (p[pixel[11]] < c_b)
1893 if (p[pixel[12]] < c_b)
1894 if (p[pixel[13]] < c_b)
1895 if (p[pixel[14]] < c_b)
1896 if (p[pixel[15]] < c_b)
1897 {}
1898 else if (p[pixel[6]] < c_b)
1899 if (p[pixel[7]] < c_b)
1900 {}
1901 else {
1902 continue;
1903 }
1904 else {
1905 continue;
1906 }
1907 else if (p[pixel[5]] < c_b)
1908 if (p[pixel[6]] < c_b)
1909 if (p[pixel[7]] < c_b)
1910 {}
1911 else {
1912 continue;
1913 }
1914 else {
1915 continue;
1916 }
1917 else {
1918 continue;
1919 }
1920 else if (p[pixel[4]] < c_b)
1921 if (p[pixel[5]] < c_b)
1922 if (p[pixel[6]] < c_b)
1923 if (p[pixel[7]] < c_b)
1924 {}
1925 else {
1926 continue;
1927 }
1928 else {
1929 continue;
1930 }
1931 else {
1932 continue;
1933 }
1934 else {
1935 continue;
1936 }
1937 else if (p[pixel[3]] < c_b)
1938 if (p[pixel[4]] < c_b)
1939 if (p[pixel[5]] < c_b)
1940 if (p[pixel[6]] < c_b)
1941 if (p[pixel[7]] < c_b)
1942 {}
1943 else {
1944 continue;
1945 }
1946 else {
1947 continue;
1948 }
1949 else {
1950 continue;
1951 }
1952 else {
1953 continue;
1954 }
1955 else {
1956 continue;
1957 }
1958 else if (p[pixel[2]] < c_b)
1959 if (p[pixel[3]] < c_b)
1960 if (p[pixel[4]] < c_b)
1961 if (p[pixel[5]] < c_b)
1962 if (p[pixel[6]] < c_b)
1963 if (p[pixel[7]] < c_b)
1964 {}
1965 else {
1966 continue;
1967 }
1968 else {
1969 continue;
1970 }
1971 else {
1972 continue;
1973 }
1974 else {
1975 continue;
1976 }
1977 else {
1978 continue;
1979 }
1980 else {
1981 continue;
1982 }
1983 else {
1984 continue;
1985 }
1986 else {
1987 continue;
1988 }
1989 else {
1990 continue;
1991 }
1992 else if (p[pixel[1]] < c_b)
1993 if (p[pixel[2]] > cb)
1994 if (p[pixel[9]] > cb)
1995 if (p[pixel[7]] > cb)
1996 if (p[pixel[8]] > cb)
1997 if (p[pixel[10]] > cb)
1998 if (p[pixel[6]] > cb)
1999 if (p[pixel[5]] > cb)
2000 if (p[pixel[4]] > cb)
2001 if (p[pixel[3]] > cb)
2002 {}
2003 else if (p[pixel[11]] > cb)
2004 if (p[pixel[12]] > cb)
2005 {}
2006 else {
2007 continue;
2008 }
2009 else {
2010 continue;
2011 }
2012 else if (p[pixel[11]] > cb)
2013 if (p[pixel[12]] > cb)
2014 if (p[pixel[13]] > cb)
2015 {}
2016 else {
2017 continue;
2018 }
2019 else {
2020 continue;
2021 }
2022 else {
2023 continue;
2024 }
2025 else if (p[pixel[11]] > cb)
2026 if (p[pixel[12]] > cb)
2027 if (p[pixel[13]] > cb)
2028 if (p[pixel[14]] > cb)
2029 {}
2030 else {
2031 continue;
2032 }
2033 else {
2034 continue;
2035 }
2036 else {
2037 continue;
2038 }
2039 else {
2040 continue;
2041 }
2042 else if (p[pixel[11]] > cb)
2043 if (p[pixel[12]] > cb)
2044 if (p[pixel[13]] > cb)
2045 if (p[pixel[14]] > cb)
2046 if (p[pixel[15]] > cb)
2047 {}
2048 else {
2049 continue;
2050 }
2051 else {
2052 continue;
2053 }
2054 else {
2055 continue;
2056 }
2057 else {
2058 continue;
2059 }
2060 else {
2061 continue;
2062 }
2063 else {
2064 continue;
2065 }
2066 else {
2067 continue;
2068 }
2069 else {
2070 continue;
2071 }
2072 else if (p[pixel[9]] < c_b)
2073 if (p[pixel[10]] < c_b)
2074 if (p[pixel[11]] < c_b)
2075 if (p[pixel[12]] < c_b)
2076 if (p[pixel[13]] < c_b)
2077 if (p[pixel[14]] < c_b)
2078 if (p[pixel[15]] < c_b)
2079 {}
2080 else if (p[pixel[6]] < c_b)
2081 if (p[pixel[7]] < c_b)
2082 if (p[pixel[8]] < c_b)
2083 {}
2084 else {
2085 continue;
2086 }
2087 else {
2088 continue;
2089 }
2090 else {
2091 continue;
2092 }
2093 else if (p[pixel[5]] < c_b)
2094 if (p[pixel[6]] < c_b)
2095 if (p[pixel[7]] < c_b)
2096 if (p[pixel[8]] < c_b)
2097 {}
2098 else {
2099 continue;
2100 }
2101 else {
2102 continue;
2103 }
2104 else {
2105 continue;
2106 }
2107 else {
2108 continue;
2109 }
2110 else if (p[pixel[4]] < c_b)
2111 if (p[pixel[5]] < c_b)
2112 if (p[pixel[6]] < c_b)
2113 if (p[pixel[7]] < c_b)
2114 if (p[pixel[8]] < c_b)
2115 {}
2116 else {
2117 continue;
2118 }
2119 else {
2120 continue;
2121 }
2122 else {
2123 continue;
2124 }
2125 else {
2126 continue;
2127 }
2128 else {
2129 continue;
2130 }
2131 else if (p[pixel[3]] < c_b)
2132 if (p[pixel[4]] < c_b)
2133 if (p[pixel[5]] < c_b)
2134 if (p[pixel[6]] < c_b)
2135 if (p[pixel[7]] < c_b)
2136 if (p[pixel[8]] < c_b)
2137 {}
2138 else {
2139 continue;
2140 }
2141 else {
2142 continue;
2143 }
2144 else {
2145 continue;
2146 }
2147 else {
2148 continue;
2149 }
2150 else {
2151 continue;
2152 }
2153 else {
2154 continue;
2155 }
2156 else {
2157 continue;
2158 }
2159 else {
2160 continue;
2161 }
2162 else {
2163 continue;
2164 }
2165 else if (p[pixel[2]] < c_b)
2166 if (p[pixel[3]] > cb)
2167 if (p[pixel[10]] > cb)
2168 if (p[pixel[7]] > cb)
2169 if (p[pixel[8]] > cb)
2170 if (p[pixel[9]] > cb)
2171 if (p[pixel[11]] > cb)
2172 if (p[pixel[6]] > cb)
2173 if (p[pixel[5]] > cb)
2174 if (p[pixel[4]] > cb)
2175 {}
2176 else if (p[pixel[12]] > cb)
2177 if (p[pixel[13]] > cb)
2178 {}
2179 else {
2180 continue;
2181 }
2182 else {
2183 continue;
2184 }
2185 else if (p[pixel[12]] > cb)
2186 if (p[pixel[13]] > cb)
2187 if (p[pixel[14]] > cb)
2188 {}
2189 else {
2190 continue;
2191 }
2192 else {
2193 continue;
2194 }
2195 else {
2196 continue;
2197 }
2198 else if (p[pixel[12]] > cb)
2199 if (p[pixel[13]] > cb)
2200 if (p[pixel[14]] > cb)
2201 if (p[pixel[15]] > cb)
2202 {}
2203 else {
2204 continue;
2205 }
2206 else {
2207 continue;
2208 }
2209 else {
2210 continue;
2211 }
2212 else {
2213 continue;
2214 }
2215 else {
2216 continue;
2217 }
2218 else {
2219 continue;
2220 }
2221 else {
2222 continue;
2223 }
2224 else {
2225 continue;
2226 }
2227 else if (p[pixel[10]] < c_b)
2228 if (p[pixel[11]] < c_b)
2229 if (p[pixel[12]] < c_b)
2230 if (p[pixel[13]] < c_b)
2231 if (p[pixel[14]] < c_b)
2232 if (p[pixel[15]] < c_b)
2233 {}
2234 else if (p[pixel[6]] < c_b)
2235 if (p[pixel[7]] < c_b)
2236 if (p[pixel[8]] < c_b)
2237 if (p[pixel[9]] < c_b)
2238 {}
2239 else {
2240 continue;
2241 }
2242 else {
2243 continue;
2244 }
2245 else {
2246 continue;
2247 }
2248 else {
2249 continue;
2250 }
2251 else if (p[pixel[5]] < c_b)
2252 if (p[pixel[6]] < c_b)
2253 if (p[pixel[7]] < c_b)
2254 if (p[pixel[8]] < c_b)
2255 if (p[pixel[9]] < c_b)
2256 {}
2257 else {
2258 continue;
2259 }
2260 else {
2261 continue;
2262 }
2263 else {
2264 continue;
2265 }
2266 else {
2267 continue;
2268 }
2269 else {
2270 continue;
2271 }
2272 else if (p[pixel[4]] < c_b)
2273 if (p[pixel[5]] < c_b)
2274 if (p[pixel[6]] < c_b)
2275 if (p[pixel[7]] < c_b)
2276 if (p[pixel[8]] < c_b)
2277 if (p[pixel[9]] < c_b)
2278 {}
2279 else {
2280 continue;
2281 }
2282 else {
2283 continue;
2284 }
2285 else {
2286 continue;
2287 }
2288 else {
2289 continue;
2290 }
2291 else {
2292 continue;
2293 }
2294 else {
2295 continue;
2296 }
2297 else {
2298 continue;
2299 }
2300 else {
2301 continue;
2302 }
2303 else {
2304 continue;
2305 }
2306 else if (p[pixel[3]] < c_b)
2307 if (p[pixel[4]] > cb)
2308 if (p[pixel[13]] > cb)
2309 if (p[pixel[7]] > cb)
2310 if (p[pixel[8]] > cb)
2311 if (p[pixel[9]] > cb)
2312 if (p[pixel[10]] > cb)
2313 if (p[pixel[11]] > cb)
2314 if (p[pixel[12]] > cb)
2315 if (p[pixel[6]] > cb)
2316 if (p[pixel[5]] > cb)
2317 {}
2318 else if (p[pixel[14]] > cb)
2319 {}
2320 else {
2321 continue;
2322 }
2323 else if (p[pixel[14]] > cb)
2324 if (p[pixel[15]] > cb)
2325 {}
2326 else {
2327 continue;
2328 }
2329 else {
2330 continue;
2331 }
2332 else {
2333 continue;
2334 }
2335 else {
2336 continue;
2337 }
2338 else {
2339 continue;
2340 }
2341 else {
2342 continue;
2343 }
2344 else {
2345 continue;
2346 }
2347 else {
2348 continue;
2349 }
2350 else if (p[pixel[13]] < c_b)
2351 if (p[pixel[11]] > cb)
2352 if (p[pixel[5]] > cb)
2353 if (p[pixel[6]] > cb)
2354 if (p[pixel[7]] > cb)
2355 if (p[pixel[8]] > cb)
2356 if (p[pixel[9]] > cb)
2357 if (p[pixel[10]] > cb)
2358 if (p[pixel[12]] > cb)
2359 {}
2360 else {
2361 continue;
2362 }
2363 else {
2364 continue;
2365 }
2366 else {
2367 continue;
2368 }
2369 else {
2370 continue;
2371 }
2372 else {
2373 continue;
2374 }
2375 else {
2376 continue;
2377 }
2378 else {
2379 continue;
2380 }
2381 else if (p[pixel[11]] < c_b)
2382 if (p[pixel[12]] < c_b)
2383 if (p[pixel[14]] < c_b)
2384 if (p[pixel[15]] < c_b)
2385 {}
2386 else if (p[pixel[6]] < c_b)
2387 if (p[pixel[7]] < c_b)
2388 if (p[pixel[8]] < c_b)
2389 if (p[pixel[9]] < c_b)
2390 if (p[pixel[10]] < c_b)
2391 {}
2392 else {
2393 continue;
2394 }
2395 else {
2396 continue;
2397 }
2398 else {
2399 continue;
2400 }
2401 else {
2402 continue;
2403 }
2404 else {
2405 continue;
2406 }
2407 else if (p[pixel[5]] < c_b)
2408 if (p[pixel[6]] < c_b)
2409 if (p[pixel[7]] < c_b)
2410 if (p[pixel[8]] < c_b)
2411 if (p[pixel[9]] < c_b)
2412 if (p[pixel[10]] < c_b)
2413 {}
2414 else {
2415 continue;
2416 }
2417 else {
2418 continue;
2419 }
2420 else {
2421 continue;
2422 }
2423 else {
2424 continue;
2425 }
2426 else {
2427 continue;
2428 }
2429 else {
2430 continue;
2431 }
2432 else {
2433 continue;
2434 }
2435 else {
2436 continue;
2437 }
2438 else if (p[pixel[5]] > cb)
2439 if (p[pixel[6]] > cb)
2440 if (p[pixel[7]] > cb)
2441 if (p[pixel[8]] > cb)
2442 if (p[pixel[9]] > cb)
2443 if (p[pixel[10]] > cb)
2444 if (p[pixel[11]] > cb)
2445 if (p[pixel[12]] > cb)
2446 {}
2447 else {
2448 continue;
2449 }
2450 else {
2451 continue;
2452 }
2453 else {
2454 continue;
2455 }
2456 else {
2457 continue;
2458 }
2459 else {
2460 continue;
2461 }
2462 else {
2463 continue;
2464 }
2465 else {
2466 continue;
2467 }
2468 else {
2469 continue;
2470 }
2471 else if (p[pixel[4]] < c_b)
2472 if (p[pixel[5]] > cb)
2473 if (p[pixel[14]] > cb)
2474 if (p[pixel[7]] > cb)
2475 if (p[pixel[8]] > cb)
2476 if (p[pixel[9]] > cb)
2477 if (p[pixel[10]] > cb)
2478 if (p[pixel[11]] > cb)
2479 if (p[pixel[12]] > cb)
2480 if (p[pixel[13]] > cb)
2481 if (p[pixel[6]] > cb)
2482 {}
2483 else if (p[pixel[15]] > cb)
2484 {}
2485 else {
2486 continue;
2487 }
2488 else {
2489 continue;
2490 }
2491 else {
2492 continue;
2493 }
2494 else {
2495 continue;
2496 }
2497 else {
2498 continue;
2499 }
2500 else {
2501 continue;
2502 }
2503 else {
2504 continue;
2505 }
2506 else {
2507 continue;
2508 }
2509 else if (p[pixel[14]] < c_b)
2510 if (p[pixel[12]] > cb)
2511 if (p[pixel[6]] > cb)
2512 if (p[pixel[7]] > cb)
2513 if (p[pixel[8]] > cb)
2514 if (p[pixel[9]] > cb)
2515 if (p[pixel[10]] > cb)
2516 if (p[pixel[11]] > cb)
2517 if (p[pixel[13]] > cb)
2518 {}
2519 else {
2520 continue;
2521 }
2522 else {
2523 continue;
2524 }
2525 else {
2526 continue;
2527 }
2528 else {
2529 continue;
2530 }
2531 else {
2532 continue;
2533 }
2534 else {
2535 continue;
2536 }
2537 else {
2538 continue;
2539 }
2540 else if (p[pixel[12]] < c_b)
2541 if (p[pixel[13]] < c_b)
2542 if (p[pixel[15]] < c_b)
2543 {}
2544 else if (p[pixel[6]] < c_b)
2545 if (p[pixel[7]] < c_b)
2546 if (p[pixel[8]] < c_b)
2547 if (p[pixel[9]] < c_b)
2548 if (p[pixel[10]] < c_b)
2549 if (p[pixel[11]] < c_b)
2550 {}
2551 else {
2552 continue;
2553 }
2554 else {
2555 continue;
2556 }
2557 else {
2558 continue;
2559 }
2560 else {
2561 continue;
2562 }
2563 else {
2564 continue;
2565 }
2566 else {
2567 continue;
2568 }
2569 else {
2570 continue;
2571 }
2572 else {
2573 continue;
2574 }
2575 else if (p[pixel[6]] > cb)
2576 if (p[pixel[7]] > cb)
2577 if (p[pixel[8]] > cb)
2578 if (p[pixel[9]] > cb)
2579 if (p[pixel[10]] > cb)
2580 if (p[pixel[11]] > cb)
2581 if (p[pixel[12]] > cb)
2582 if (p[pixel[13]] > cb)
2583 {}
2584 else {
2585 continue;
2586 }
2587 else {
2588 continue;
2589 }
2590 else {
2591 continue;
2592 }
2593 else {
2594 continue;
2595 }
2596 else {
2597 continue;
2598 }
2599 else {
2600 continue;
2601 }
2602 else {
2603 continue;
2604 }
2605 else {
2606 continue;
2607 }
2608 else if (p[pixel[5]] < c_b)
2609 if (p[pixel[6]] > cb)
2610 if (p[pixel[15]] < c_b)
2611 if (p[pixel[13]] > cb)
2612 if (p[pixel[7]] > cb)
2613 if (p[pixel[8]] > cb)
2614 if (p[pixel[9]] > cb)
2615 if (p[pixel[10]] > cb)
2616 if (p[pixel[11]] > cb)
2617 if (p[pixel[12]] > cb)
2618 if (p[pixel[14]] > cb)
2619 {}
2620 else {
2621 continue;
2622 }
2623 else {
2624 continue;
2625 }
2626 else {
2627 continue;
2628 }
2629 else {
2630 continue;
2631 }
2632 else {
2633 continue;
2634 }
2635 else {
2636 continue;
2637 }
2638 else {
2639 continue;
2640 }
2641 else if (p[pixel[13]] < c_b)
2642 if (p[pixel[14]] < c_b)
2643 {}
2644 else {
2645 continue;
2646 }
2647 else {
2648 continue;
2649 }
2650 else if (p[pixel[7]] > cb)
2651 if (p[pixel[8]] > cb)
2652 if (p[pixel[9]] > cb)
2653 if (p[pixel[10]] > cb)
2654 if (p[pixel[11]] > cb)
2655 if (p[pixel[12]] > cb)
2656 if (p[pixel[13]] > cb)
2657 if (p[pixel[14]] > cb)
2658 {}
2659 else {
2660 continue;
2661 }
2662 else {
2663 continue;
2664 }
2665 else {
2666 continue;
2667 }
2668 else {
2669 continue;
2670 }
2671 else {
2672 continue;
2673 }
2674 else {
2675 continue;
2676 }
2677 else {
2678 continue;
2679 }
2680 else {
2681 continue;
2682 }
2683 else if (p[pixel[6]] < c_b)
2684 if (p[pixel[7]] > cb)
2685 if (p[pixel[14]] > cb)
2686 if (p[pixel[8]] > cb)
2687 if (p[pixel[9]] > cb)
2688 if (p[pixel[10]] > cb)
2689 if (p[pixel[11]] > cb)
2690 if (p[pixel[12]] > cb)
2691 if (p[pixel[13]] > cb)
2692 if (p[pixel[15]] > cb)
2693 {}
2694 else {
2695 continue;
2696 }
2697 else {
2698 continue;
2699 }
2700 else {
2701 continue;
2702 }
2703 else {
2704 continue;
2705 }
2706 else {
2707 continue;
2708 }
2709 else {
2710 continue;
2711 }
2712 else {
2713 continue;
2714 }
2715 else if (p[pixel[14]] < c_b)
2716 if (p[pixel[15]] < c_b)
2717 {}
2718 else {
2719 continue;
2720 }
2721 else {
2722 continue;
2723 }
2724 else if (p[pixel[7]] < c_b)
2725 if (p[pixel[8]] < c_b)
2726 {}
2727 else if (p[pixel[15]] < c_b)
2728 {}
2729 else {
2730 continue;
2731 }
2732 else if (p[pixel[14]] < c_b)
2733 if (p[pixel[15]] < c_b)
2734 {}
2735 else {
2736 continue;
2737 }
2738 else {
2739 continue;
2740 }
2741 else if (p[pixel[13]] > cb)
2742 if (p[pixel[7]] > cb)
2743 if (p[pixel[8]] > cb)
2744 if (p[pixel[9]] > cb)
2745 if (p[pixel[10]] > cb)
2746 if (p[pixel[11]] > cb)
2747 if (p[pixel[12]] > cb)
2748 if (p[pixel[14]] > cb)
2749 if (p[pixel[15]] > cb)
2750 {}
2751 else {
2752 continue;
2753 }
2754 else {
2755 continue;
2756 }
2757 else {
2758 continue;
2759 }
2760 else {
2761 continue;
2762 }
2763 else {
2764 continue;
2765 }
2766 else {
2767 continue;
2768 }
2769 else {
2770 continue;
2771 }
2772 else {
2773 continue;
2774 }
2775 else if (p[pixel[13]] < c_b)
2776 if (p[pixel[14]] < c_b)
2777 if (p[pixel[15]] < c_b)
2778 {}
2779 else {
2780 continue;
2781 }
2782 else {
2783 continue;
2784 }
2785 else {
2786 continue;
2787 }
2788 else if (p[pixel[12]] > cb)
2789 if (p[pixel[7]] > cb)
2790 if (p[pixel[8]] > cb)
2791 if (p[pixel[9]] > cb)
2792 if (p[pixel[10]] > cb)
2793 if (p[pixel[11]] > cb)
2794 if (p[pixel[13]] > cb)
2795 if (p[pixel[14]] > cb)
2796 if (p[pixel[6]] > cb)
2797 {}
2798 else if (p[pixel[15]] > cb)
2799 {}
2800 else {
2801 continue;
2802 }
2803 else {
2804 continue;
2805 }
2806 else {
2807 continue;
2808 }
2809 else {
2810 continue;
2811 }
2812 else {
2813 continue;
2814 }
2815 else {
2816 continue;
2817 }
2818 else {
2819 continue;
2820 }
2821 else {
2822 continue;
2823 }
2824 else if (p[pixel[12]] < c_b)
2825 if (p[pixel[13]] < c_b)
2826 if (p[pixel[14]] < c_b)
2827 if (p[pixel[15]] < c_b)
2828 {}
2829 else if (p[pixel[6]] < c_b)
2830 if (p[pixel[7]] < c_b)
2831 if (p[pixel[8]] < c_b)
2832 if (p[pixel[9]] < c_b)
2833 if (p[pixel[10]] < c_b)
2834 if (p[pixel[11]] < c_b)
2835 {}
2836 else {
2837 continue;
2838 }
2839 else {
2840 continue;
2841 }
2842 else {
2843 continue;
2844 }
2845 else {
2846 continue;
2847 }
2848 else {
2849 continue;
2850 }
2851 else {
2852 continue;
2853 }
2854 else {
2855 continue;
2856 }
2857 else {
2858 continue;
2859 }
2860 else {
2861 continue;
2862 }
2863 else if (p[pixel[11]] > cb)
2864 if (p[pixel[7]] > cb)
2865 if (p[pixel[8]] > cb)
2866 if (p[pixel[9]] > cb)
2867 if (p[pixel[10]] > cb)
2868 if (p[pixel[12]] > cb)
2869 if (p[pixel[13]] > cb)
2870 if (p[pixel[6]] > cb)
2871 if (p[pixel[5]] > cb)
2872 {}
2873 else if (p[pixel[14]] > cb)
2874 {}
2875 else {
2876 continue;
2877 }
2878 else if (p[pixel[14]] > cb)
2879 if (p[pixel[15]] > cb)
2880 {}
2881 else {
2882 continue;
2883 }
2884 else {
2885 continue;
2886 }
2887 else {
2888 continue;
2889 }
2890 else {
2891 continue;
2892 }
2893 else {
2894 continue;
2895 }
2896 else {
2897 continue;
2898 }
2899 else {
2900 continue;
2901 }
2902 else {
2903 continue;
2904 }
2905 else if (p[pixel[11]] < c_b)
2906 if (p[pixel[12]] < c_b)
2907 if (p[pixel[13]] < c_b)
2908 if (p[pixel[14]] < c_b)
2909 if (p[pixel[15]] < c_b)
2910 {}
2911 else if (p[pixel[6]] < c_b)
2912 if (p[pixel[7]] < c_b)
2913 if (p[pixel[8]] < c_b)
2914 if (p[pixel[9]] < c_b)
2915 if (p[pixel[10]] < c_b)
2916 {}
2917 else {
2918 continue;
2919 }
2920 else {
2921 continue;
2922 }
2923 else {
2924 continue;
2925 }
2926 else {
2927 continue;
2928 }
2929 else {
2930 continue;
2931 }
2932 else if (p[pixel[5]] < c_b)
2933 if (p[pixel[6]] < c_b)
2934 if (p[pixel[7]] < c_b)
2935 if (p[pixel[8]] < c_b)
2936 if (p[pixel[9]] < c_b)
2937 if (p[pixel[10]] < c_b)
2938 {}
2939 else {
2940 continue;
2941 }
2942 else {
2943 continue;
2944 }
2945 else {
2946 continue;
2947 }
2948 else {
2949 continue;
2950 }
2951 else {
2952 continue;
2953 }
2954 else {
2955 continue;
2956 }
2957 else {
2958 continue;
2959 }
2960 else {
2961 continue;
2962 }
2963 else {
2964 continue;
2965 }
2966 else if (p[pixel[10]] > cb)
2967 if (p[pixel[7]] > cb)
2968 if (p[pixel[8]] > cb)
2969 if (p[pixel[9]] > cb)
2970 if (p[pixel[11]] > cb)
2971 if (p[pixel[12]] > cb)
2972 if (p[pixel[6]] > cb)
2973 if (p[pixel[5]] > cb)
2974 if (p[pixel[4]] > cb)
2975 {}
2976 else if (p[pixel[13]] > cb)
2977 {}
2978 else {
2979 continue;
2980 }
2981 else if (p[pixel[13]] > cb)
2982 if (p[pixel[14]] > cb)
2983 {}
2984 else {
2985 continue;
2986 }
2987 else {
2988 continue;
2989 }
2990 else if (p[pixel[13]] > cb)
2991 if (p[pixel[14]] > cb)
2992 if (p[pixel[15]] > cb)
2993 {}
2994 else {
2995 continue;
2996 }
2997 else {
2998 continue;
2999 }
3000 else {
3001 continue;
3002 }
3003 else {
3004 continue;
3005 }
3006 else {
3007 continue;
3008 }
3009 else {
3010 continue;
3011 }
3012 else {
3013 continue;
3014 }
3015 else {
3016 continue;
3017 }
3018 else if (p[pixel[10]] < c_b)
3019 if (p[pixel[11]] < c_b)
3020 if (p[pixel[12]] < c_b)
3021 if (p[pixel[13]] < c_b)
3022 if (p[pixel[14]] < c_b)
3023 if (p[pixel[15]] < c_b)
3024 {}
3025 else if (p[pixel[6]] < c_b)
3026 if (p[pixel[7]] < c_b)
3027 if (p[pixel[8]] < c_b)
3028 if (p[pixel[9]] < c_b)
3029 {}
3030 else {
3031 continue;
3032 }
3033 else {
3034 continue;
3035 }
3036 else {
3037 continue;
3038 }
3039 else {
3040 continue;
3041 }
3042 else if (p[pixel[5]] < c_b)
3043 if (p[pixel[6]] < c_b)
3044 if (p[pixel[7]] < c_b)
3045 if (p[pixel[8]] < c_b)
3046 if (p[pixel[9]] < c_b)
3047 {}
3048 else {
3049 continue;
3050 }
3051 else {
3052 continue;
3053 }
3054 else {
3055 continue;
3056 }
3057 else {
3058 continue;
3059 }
3060 else {
3061 continue;
3062 }
3063 else if (p[pixel[4]] < c_b)
3064 if (p[pixel[5]] < c_b)
3065 if (p[pixel[6]] < c_b)
3066 if (p[pixel[7]] < c_b)
3067 if (p[pixel[8]] < c_b)
3068 if (p[pixel[9]] < c_b)
3069 {}
3070 else {
3071 continue;
3072 }
3073 else {
3074 continue;
3075 }
3076 else {
3077 continue;
3078 }
3079 else {
3080 continue;
3081 }
3082 else {
3083 continue;
3084 }
3085 else {
3086 continue;
3087 }
3088 else {
3089 continue;
3090 }
3091 else {
3092 continue;
3093 }
3094 else {
3095 continue;
3096 }
3097 else if (p[pixel[9]] > cb)
3098 if (p[pixel[7]] > cb)
3099 if (p[pixel[8]] > cb)
3100 if (p[pixel[10]] > cb)
3101 if (p[pixel[11]] > cb)
3102 if (p[pixel[6]] > cb)
3103 if (p[pixel[5]] > cb)
3104 if (p[pixel[4]] > cb)
3105 if (p[pixel[3]] > cb)
3106 {}
3107 else if (p[pixel[12]] > cb)
3108 {}
3109 else {
3110 continue;
3111 }
3112 else if (p[pixel[12]] > cb)
3113 if (p[pixel[13]] > cb)
3114 {}
3115 else {
3116 continue;
3117 }
3118 else {
3119 continue;
3120 }
3121 else if (p[pixel[12]] > cb)
3122 if (p[pixel[13]] > cb)
3123 if (p[pixel[14]] > cb)
3124 {}
3125 else {
3126 continue;
3127 }
3128 else {
3129 continue;
3130 }
3131 else {
3132 continue;
3133 }
3134 else if (p[pixel[12]] > cb)
3135 if (p[pixel[13]] > cb)
3136 if (p[pixel[14]] > cb)
3137 if (p[pixel[15]] > cb)
3138 {}
3139 else {
3140 continue;
3141 }
3142 else {
3143 continue;
3144 }
3145 else {
3146 continue;
3147 }
3148 else {
3149 continue;
3150 }
3151 else {
3152 continue;
3153 }
3154 else {
3155 continue;
3156 }
3157 else {
3158 continue;
3159 }
3160 else {
3161 continue;
3162 }
3163 else if (p[pixel[9]] < c_b)
3164 if (p[pixel[10]] < c_b)
3165 if (p[pixel[11]] < c_b)
3166 if (p[pixel[12]] < c_b)
3167 if (p[pixel[13]] < c_b)
3168 if (p[pixel[14]] < c_b)
3169 if (p[pixel[15]] < c_b)
3170 {}
3171 else if (p[pixel[6]] < c_b)
3172 if (p[pixel[7]] < c_b)
3173 if (p[pixel[8]] < c_b)
3174 {}
3175 else {
3176 continue;
3177 }
3178 else {
3179 continue;
3180 }
3181 else {
3182 continue;
3183 }
3184 else if (p[pixel[5]] < c_b)
3185 if (p[pixel[6]] < c_b)
3186 if (p[pixel[7]] < c_b)
3187 if (p[pixel[8]] < c_b)
3188 {}
3189 else {
3190 continue;
3191 }
3192 else {
3193 continue;
3194 }
3195 else {
3196 continue;
3197 }
3198 else {
3199 continue;
3200 }
3201 else if (p[pixel[4]] < c_b)
3202 if (p[pixel[5]] < c_b)
3203 if (p[pixel[6]] < c_b)
3204 if (p[pixel[7]] < c_b)
3205 if (p[pixel[8]] < c_b)
3206 {}
3207 else {
3208 continue;
3209 }
3210 else {
3211 continue;
3212 }
3213 else {
3214 continue;
3215 }
3216 else {
3217 continue;
3218 }
3219 else {
3220 continue;
3221 }
3222 else if (p[pixel[3]] < c_b)
3223 if (p[pixel[4]] < c_b)
3224 if (p[pixel[5]] < c_b)
3225 if (p[pixel[6]] < c_b)
3226 if (p[pixel[7]] < c_b)
3227 if (p[pixel[8]] < c_b)
3228 {}
3229 else {
3230 continue;
3231 }
3232 else {
3233 continue;
3234 }
3235 else {
3236 continue;
3237 }
3238 else {
3239 continue;
3240 }
3241 else {
3242 continue;
3243 }
3244 else {
3245 continue;
3246 }
3247 else {
3248 continue;
3249 }
3250 else {
3251 continue;
3252 }
3253 else {
3254 continue;
3255 }
3256 else if (p[pixel[8]] > cb)
3257 if (p[pixel[7]] > cb)
3258 if (p[pixel[9]] > cb)
3259 if (p[pixel[10]] > cb)
3260 if (p[pixel[6]] > cb)
3261 if (p[pixel[5]] > cb)
3262 if (p[pixel[4]] > cb)
3263 if (p[pixel[3]] > cb)
3264 if (p[pixel[2]] > cb)
3265 {}
3266 else if (p[pixel[11]] > cb)
3267 {}
3268 else {
3269 continue;
3270 }
3271 else if (p[pixel[11]] > cb)
3272 if (p[pixel[12]] > cb)
3273 {}
3274 else {
3275 continue;
3276 }
3277 else {
3278 continue;
3279 }
3280 else if (p[pixel[11]] > cb)
3281 if (p[pixel[12]] > cb)
3282 if (p[pixel[13]] > cb)
3283 {}
3284 else {
3285 continue;
3286 }
3287 else {
3288 continue;
3289 }
3290 else {
3291 continue;
3292 }
3293 else if (p[pixel[11]] > cb)
3294 if (p[pixel[12]] > cb)
3295 if (p[pixel[13]] > cb)
3296 if (p[pixel[14]] > cb)
3297 {}
3298 else {
3299 continue;
3300 }
3301 else {
3302 continue;
3303 }
3304 else {
3305 continue;
3306 }
3307 else {
3308 continue;
3309 }
3310 else if (p[pixel[11]] > cb)
3311 if (p[pixel[12]] > cb)
3312 if (p[pixel[13]] > cb)
3313 if (p[pixel[14]] > cb)
3314 if (p[pixel[15]] > cb)
3315 {}
3316 else {
3317 continue;
3318 }
3319 else {
3320 continue;
3321 }
3322 else {
3323 continue;
3324 }
3325 else {
3326 continue;
3327 }
3328 else {
3329 continue;
3330 }
3331 else {
3332 continue;
3333 }
3334 else {
3335 continue;
3336 }
3337 else {
3338 continue;
3339 }
3340 else if (p[pixel[8]] < c_b)
3341 if (p[pixel[9]] < c_b)
3342 if (p[pixel[10]] < c_b)
3343 if (p[pixel[11]] < c_b)
3344 if (p[pixel[12]] < c_b)
3345 if (p[pixel[13]] < c_b)
3346 if (p[pixel[14]] < c_b)
3347 if (p[pixel[15]] < c_b)
3348 {}
3349 else if (p[pixel[6]] < c_b)
3350 if (p[pixel[7]] < c_b)
3351 {}
3352 else {
3353 continue;
3354 }
3355 else {
3356 continue;
3357 }
3358 else if (p[pixel[5]] < c_b)
3359 if (p[pixel[6]] < c_b)
3360 if (p[pixel[7]] < c_b)
3361 {}
3362 else {
3363 continue;
3364 }
3365 else {
3366 continue;
3367 }
3368 else {
3369 continue;
3370 }
3371 else if (p[pixel[4]] < c_b)
3372 if (p[pixel[5]] < c_b)
3373 if (p[pixel[6]] < c_b)
3374 if (p[pixel[7]] < c_b)
3375 {}
3376 else {
3377 continue;
3378 }
3379 else {
3380 continue;
3381 }
3382 else {
3383 continue;
3384 }
3385 else {
3386 continue;
3387 }
3388 else if (p[pixel[3]] < c_b)
3389 if (p[pixel[4]] < c_b)
3390 if (p[pixel[5]] < c_b)
3391 if (p[pixel[6]] < c_b)
3392 if (p[pixel[7]] < c_b)
3393 {}
3394 else {
3395 continue;
3396 }
3397 else {
3398 continue;
3399 }
3400 else {
3401 continue;
3402 }
3403 else {
3404 continue;
3405 }
3406 else {
3407 continue;
3408 }
3409 else if (p[pixel[2]] < c_b)
3410 if (p[pixel[3]] < c_b)
3411 if (p[pixel[4]] < c_b)
3412 if (p[pixel[5]] < c_b)
3413 if (p[pixel[6]] < c_b)
3414 if (p[pixel[7]] < c_b)
3415 {}
3416 else {
3417 continue;
3418 }
3419 else {
3420 continue;
3421 }
3422 else {
3423 continue;
3424 }
3425 else {
3426 continue;
3427 }
3428 else {
3429 continue;
3430 }
3431 else {
3432 continue;
3433 }
3434 else {
3435 continue;
3436 }
3437 else {
3438 continue;
3439 }
3440 else {
3441 continue;
3442 }
3443 else if (p[pixel[7]] > cb)
3444 if (p[pixel[8]] > cb)
3445 if (p[pixel[9]] > cb)
3446 if (p[pixel[6]] > cb)
3447 if (p[pixel[5]] > cb)
3448 if (p[pixel[4]] > cb)
3449 if (p[pixel[3]] > cb)
3450 if (p[pixel[2]] > cb)
3451 if (p[pixel[1]] > cb)
3452 {}
3453 else if (p[pixel[10]] > cb)
3454 {}
3455 else {
3456 continue;
3457 }
3458 else if (p[pixel[10]] > cb)
3459 if (p[pixel[11]] > cb)
3460 {}
3461 else {
3462 continue;
3463 }
3464 else {
3465 continue;
3466 }
3467 else if (p[pixel[10]] > cb)
3468 if (p[pixel[11]] > cb)
3469 if (p[pixel[12]] > cb)
3470 {}
3471 else {
3472 continue;
3473 }
3474 else {
3475 continue;
3476 }
3477 else {
3478 continue;
3479 }
3480 else if (p[pixel[10]] > cb)
3481 if (p[pixel[11]] > cb)
3482 if (p[pixel[12]] > cb)
3483 if (p[pixel[13]] > cb)
3484 {}
3485 else {
3486 continue;
3487 }
3488 else {
3489 continue;
3490 }
3491 else {
3492 continue;
3493 }
3494 else {
3495 continue;
3496 }
3497 else if (p[pixel[10]] > cb)
3498 if (p[pixel[11]] > cb)
3499 if (p[pixel[12]] > cb)
3500 if (p[pixel[13]] > cb)
3501 if (p[pixel[14]] > cb)
3502 {}
3503 else {
3504 continue;
3505 }
3506 else {
3507 continue;
3508 }
3509 else {
3510 continue;
3511 }
3512 else {
3513 continue;
3514 }
3515 else {
3516 continue;
3517 }
3518 else if (p[pixel[10]] > cb)
3519 if (p[pixel[11]] > cb)
3520 if (p[pixel[12]] > cb)
3521 if (p[pixel[13]] > cb)
3522 if (p[pixel[14]] > cb)
3523 if (p[pixel[15]] > cb)
3524 {}
3525 else {
3526 continue;
3527 }
3528 else {
3529 continue;
3530 }
3531 else {
3532 continue;
3533 }
3534 else {
3535 continue;
3536 }
3537 else {
3538 continue;
3539 }
3540 else {
3541 continue;
3542 }
3543 else {
3544 continue;
3545 }
3546 else {
3547 continue;
3548 }
3549 else if (p[pixel[7]] < c_b)
3550 if (p[pixel[8]] < c_b)
3551 if (p[pixel[9]] < c_b)
3552 if (p[pixel[6]] < c_b)
3553 if (p[pixel[5]] < c_b)
3554 if (p[pixel[4]] < c_b)
3555 if (p[pixel[3]] < c_b)
3556 if (p[pixel[2]] < c_b)
3557 if (p[pixel[1]] < c_b)
3558 {}
3559 else if (p[pixel[10]] < c_b)
3560 {}
3561 else {
3562 continue;
3563 }
3564 else if (p[pixel[10]] < c_b)
3565 if (p[pixel[11]] < c_b)
3566 {}
3567 else {
3568 continue;
3569 }
3570 else {
3571 continue;
3572 }
3573 else if (p[pixel[10]] < c_b)
3574 if (p[pixel[11]] < c_b)
3575 if (p[pixel[12]] < c_b)
3576 {}
3577 else {
3578 continue;
3579 }
3580 else {
3581 continue;
3582 }
3583 else {
3584 continue;
3585 }
3586 else if (p[pixel[10]] < c_b)
3587 if (p[pixel[11]] < c_b)
3588 if (p[pixel[12]] < c_b)
3589 if (p[pixel[13]] < c_b)
3590 {}
3591 else {
3592 continue;
3593 }
3594 else {
3595 continue;
3596 }
3597 else {
3598 continue;
3599 }
3600 else {
3601 continue;
3602 }
3603 else if (p[pixel[10]] < c_b)
3604 if (p[pixel[11]] < c_b)
3605 if (p[pixel[12]] < c_b)
3606 if (p[pixel[13]] < c_b)
3607 if (p[pixel[14]] < c_b)
3608 {}
3609 else {
3610 continue;
3611 }
3612 else {
3613 continue;
3614 }
3615 else {
3616 continue;
3617 }
3618 else {
3619 continue;
3620 }
3621 else {
3622 continue;
3623 }
3624 else if (p[pixel[10]] < c_b)
3625 if (p[pixel[11]] < c_b)
3626 if (p[pixel[12]] < c_b)
3627 if (p[pixel[13]] < c_b)
3628 if (p[pixel[14]] < c_b)
3629 if (p[pixel[15]] < c_b)
3630 {}
3631 else {
3632 continue;
3633 }
3634 else {
3635 continue;
3636 }
3637 else {
3638 continue;
3639 }
3640 else {
3641 continue;
3642 }
3643 else {
3644 continue;
3645 }
3646 else {
3647 continue;
3648 }
3649 else {
3650 continue;
3651 }
3652 else {
3653 continue;
3654 }
3655 else {
3656 continue;
3657 }
3658
3659 // When we have more corner than allocted space reallocate
3660 if (corner_cnt >= *ret_corners_length) {
3661 *ret_corners_length *= 2;
3662 *ret_corners = realloc(*ret_corners, sizeof(struct point_t) * (*ret_corners_length));
3663 }
3664
3665 (*ret_corners)[corner_cnt].x = x;
3666 (*ret_corners)[corner_cnt].y = y;
3667 corner_cnt++;
3668
3669 // Skip some in the width direction
3670 x += min_dist;
3671 }
3672 }
3673 *num_corners = corner_cnt;
3674}
3675
3682{
3683 pixel[0] = 0 * pixel_size + row_stride * 3 * pixel_size;
3684 pixel[1] = 1 * pixel_size + row_stride * 3 * pixel_size;
3685 pixel[2] = 2 * pixel_size + row_stride * 2 * pixel_size;
3686 pixel[3] = 3 * pixel_size + row_stride * 1 * pixel_size;
3687 pixel[4] = 3 * pixel_size + row_stride * 0 * pixel_size;
3688 pixel[5] = 3 * pixel_size + row_stride * -1 * pixel_size;
3689 pixel[6] = 2 * pixel_size + row_stride * -2 * pixel_size;
3690 pixel[7] = 1 * pixel_size + row_stride * -3 * pixel_size;
3691 pixel[8] = 0 * pixel_size + row_stride * -3 * pixel_size;
3692 pixel[9] = -1 * pixel_size + row_stride * -3 * pixel_size;
3693 pixel[10] = -2 * pixel_size + row_stride * -2 * pixel_size;
3694 pixel[11] = -3 * pixel_size + row_stride * -1 * pixel_size;
3695 pixel[12] = -3 * pixel_size + row_stride * 0 * pixel_size;
3696 pixel[13] = -3 * pixel_size + row_stride * 1 * pixel_size;
3697 pixel[14] = -2 * pixel_size + row_stride * 2 * pixel_size;
3698 pixel[15] = -1 * pixel_size + row_stride * 3 * pixel_size;
3699}
3700
3701
3710
3711 // Set the pixel size
3712 uint8_t pixel_size = 1;
3713 if (img->type == IMAGE_YUV422) {
3714 pixel_size = 2;
3715 }
3716
3717 int pixel[16];
3718 // Calculate the pixel offsets: not efficient to do this every time:
3720
3721 uint16_t border = 4;
3723 return 0;
3724 }
3725 else {
3726 // Calculate the threshold values
3727 const uint8_t *p = ((uint8_t *)img->buf) + y * img->w * pixel_size + x * pixel_size + pixel_size / 2;
3728 int16_t cb = *p + threshold;
3729 int16_t c_b = *p - threshold;
3730
3731 // Do the checks if it is a corner
3732 if (p[pixel[0]] > cb)
3733 if (p[pixel[1]] > cb)
3734 if (p[pixel[2]] > cb)
3735 if (p[pixel[3]] > cb)
3736 if (p[pixel[4]] > cb)
3737 if (p[pixel[5]] > cb)
3738 if (p[pixel[6]] > cb)
3739 if (p[pixel[7]] > cb)
3740 if (p[pixel[8]] > cb)
3741 {}
3742 else if (p[pixel[15]] > cb)
3743 {}
3744 else {
3745 return 0;
3746 }
3747 else if (p[pixel[7]] < c_b)
3748 if (p[pixel[14]] > cb)
3749 if (p[pixel[15]] > cb)
3750 {}
3751 else {
3752 return 0;
3753 }
3754 else if (p[pixel[14]] < c_b)
3755 if (p[pixel[8]] < c_b)
3756 if (p[pixel[9]] < c_b)
3757 if (p[pixel[10]] < c_b)
3758 if (p[pixel[11]] < c_b)
3759 if (p[pixel[12]] < c_b)
3760 if (p[pixel[13]] < c_b)
3761 if (p[pixel[15]] < c_b)
3762 {}
3763 else {
3764 return 0;
3765 }
3766 else {
3767 return 0;
3768 }
3769 else {
3770 return 0;
3771 }
3772 else {
3773 return 0;
3774 }
3775 else {
3776 return 0;
3777 }
3778 else {
3779 return 0;
3780 }
3781 else {
3782 return 0;
3783 }
3784 else {
3785 return 0;
3786 }
3787 else if (p[pixel[14]] > cb)
3788 if (p[pixel[15]] > cb)
3789 {}
3790 else {
3791 return 0;
3792 }
3793 else {
3794 return 0;
3795 }
3796 else if (p[pixel[6]] < c_b)
3797 if (p[pixel[15]] > cb)
3798 if (p[pixel[13]] > cb)
3799 if (p[pixel[14]] > cb)
3800 {}
3801 else {
3802 return 0;
3803 }
3804 else if (p[pixel[13]] < c_b)
3805 if (p[pixel[7]] < c_b)
3806 if (p[pixel[8]] < c_b)
3807 if (p[pixel[9]] < c_b)
3808 if (p[pixel[10]] < c_b)
3809 if (p[pixel[11]] < c_b)
3810 if (p[pixel[12]] < c_b)
3811 if (p[pixel[14]] < c_b)
3812 {}
3813 else {
3814 return 0;
3815 }
3816 else {
3817 return 0;
3818 }
3819 else {
3820 return 0;
3821 }
3822 else {
3823 return 0;
3824 }
3825 else {
3826 return 0;
3827 }
3828 else {
3829 return 0;
3830 }
3831 else {
3832 return 0;
3833 }
3834 else {
3835 return 0;
3836 }
3837 else if (p[pixel[7]] < c_b)
3838 if (p[pixel[8]] < c_b)
3839 if (p[pixel[9]] < c_b)
3840 if (p[pixel[10]] < c_b)
3841 if (p[pixel[11]] < c_b)
3842 if (p[pixel[12]] < c_b)
3843 if (p[pixel[13]] < c_b)
3844 if (p[pixel[14]] < c_b)
3845 {}
3846 else {
3847 return 0;
3848 }
3849 else {
3850 return 0;
3851 }
3852 else {
3853 return 0;
3854 }
3855 else {
3856 return 0;
3857 }
3858 else {
3859 return 0;
3860 }
3861 else {
3862 return 0;
3863 }
3864 else {
3865 return 0;
3866 }
3867 else {
3868 return 0;
3869 }
3870 else if (p[pixel[13]] > cb)
3871 if (p[pixel[14]] > cb)
3872 if (p[pixel[15]] > cb)
3873 {}
3874 else {
3875 return 0;
3876 }
3877 else {
3878 return 0;
3879 }
3880 else if (p[pixel[13]] < c_b)
3881 if (p[pixel[7]] < c_b)
3882 if (p[pixel[8]] < c_b)
3883 if (p[pixel[9]] < c_b)
3884 if (p[pixel[10]] < c_b)
3885 if (p[pixel[11]] < c_b)
3886 if (p[pixel[12]] < c_b)
3887 if (p[pixel[14]] < c_b)
3888 if (p[pixel[15]] < c_b)
3889 {}
3890 else {
3891 return 0;
3892 }
3893 else {
3894 return 0;
3895 }
3896 else {
3897 return 0;
3898 }
3899 else {
3900 return 0;
3901 }
3902 else {
3903 return 0;
3904 }
3905 else {
3906 return 0;
3907 }
3908 else {
3909 return 0;
3910 }
3911 else {
3912 return 0;
3913 }
3914 else {
3915 return 0;
3916 }
3917 else if (p[pixel[5]] < c_b)
3918 if (p[pixel[14]] > cb)
3919 if (p[pixel[12]] > cb)
3920 if (p[pixel[13]] > cb)
3921 if (p[pixel[15]] > cb)
3922 {}
3923 else if (p[pixel[6]] > cb)
3924 if (p[pixel[7]] > cb)
3925 if (p[pixel[8]] > cb)
3926 if (p[pixel[9]] > cb)
3927 if (p[pixel[10]] > cb)
3928 if (p[pixel[11]] > cb)
3929 {}
3930 else {
3931 return 0;
3932 }
3933 else {
3934 return 0;
3935 }
3936 else {
3937 return 0;
3938 }
3939 else {
3940 return 0;
3941 }
3942 else {
3943 return 0;
3944 }
3945 else {
3946 return 0;
3947 }
3948 else {
3949 return 0;
3950 }
3951 else if (p[pixel[12]] < c_b)
3952 if (p[pixel[6]] < c_b)
3953 if (p[pixel[7]] < c_b)
3954 if (p[pixel[8]] < c_b)
3955 if (p[pixel[9]] < c_b)
3956 if (p[pixel[10]] < c_b)
3957 if (p[pixel[11]] < c_b)
3958 if (p[pixel[13]] < c_b)
3959 {}
3960 else {
3961 return 0;
3962 }
3963 else {
3964 return 0;
3965 }
3966 else {
3967 return 0;
3968 }
3969 else {
3970 return 0;
3971 }
3972 else {
3973 return 0;
3974 }
3975 else {
3976 return 0;
3977 }
3978 else {
3979 return 0;
3980 }
3981 else {
3982 return 0;
3983 }
3984 else if (p[pixel[14]] < c_b)
3985 if (p[pixel[7]] < c_b)
3986 if (p[pixel[8]] < c_b)
3987 if (p[pixel[9]] < c_b)
3988 if (p[pixel[10]] < c_b)
3989 if (p[pixel[11]] < c_b)
3990 if (p[pixel[12]] < c_b)
3991 if (p[pixel[13]] < c_b)
3992 if (p[pixel[6]] < c_b)
3993 {}
3994 else if (p[pixel[15]] < c_b)
3995 {}
3996 else {
3997 return 0;
3998 }
3999 else {
4000 return 0;
4001 }
4002 else {
4003 return 0;
4004 }
4005 else {
4006 return 0;
4007 }
4008 else {
4009 return 0;
4010 }
4011 else {
4012 return 0;
4013 }
4014 else {
4015 return 0;
4016 }
4017 else {
4018 return 0;
4019 }
4020 else if (p[pixel[6]] < c_b)
4021 if (p[pixel[7]] < c_b)
4022 if (p[pixel[8]] < c_b)
4023 if (p[pixel[9]] < c_b)
4024 if (p[pixel[10]] < c_b)
4025 if (p[pixel[11]] < c_b)
4026 if (p[pixel[12]] < c_b)
4027 if (p[pixel[13]] < c_b)
4028 {}
4029 else {
4030 return 0;
4031 }
4032 else {
4033 return 0;
4034 }
4035 else {
4036 return 0;
4037 }
4038 else {
4039 return 0;
4040 }
4041 else {
4042 return 0;
4043 }
4044 else {
4045 return 0;
4046 }
4047 else {
4048 return 0;
4049 }
4050 else {
4051 return 0;
4052 }
4053 else if (p[pixel[12]] > cb)
4054 if (p[pixel[13]] > cb)
4055 if (p[pixel[14]] > cb)
4056 if (p[pixel[15]] > cb)
4057 {}
4058 else if (p[pixel[6]] > cb)
4059 if (p[pixel[7]] > cb)
4060 if (p[pixel[8]] > cb)
4061 if (p[pixel[9]] > cb)
4062 if (p[pixel[10]] > cb)
4063 if (p[pixel[11]] > cb)
4064 {}
4065 else {
4066 return 0;
4067 }
4068 else {
4069 return 0;
4070 }
4071 else {
4072 return 0;
4073 }
4074 else {
4075 return 0;
4076 }
4077 else {
4078 return 0;
4079 }
4080 else {
4081 return 0;
4082 }
4083 else {
4084 return 0;
4085 }
4086 else {
4087 return 0;
4088 }
4089 else if (p[pixel[12]] < c_b)
4090 if (p[pixel[7]] < c_b)
4091 if (p[pixel[8]] < c_b)
4092 if (p[pixel[9]] < c_b)
4093 if (p[pixel[10]] < c_b)
4094 if (p[pixel[11]] < c_b)
4095 if (p[pixel[13]] < c_b)
4096 if (p[pixel[14]] < c_b)
4097 if (p[pixel[6]] < c_b)
4098 {}
4099 else if (p[pixel[15]] < c_b)
4100 {}
4101 else {
4102 return 0;
4103 }
4104 else {
4105 return 0;
4106 }
4107 else {
4108 return 0;
4109 }
4110 else {
4111 return 0;
4112 }
4113 else {
4114 return 0;
4115 }
4116 else {
4117 return 0;
4118 }
4119 else {
4120 return 0;
4121 }
4122 else {
4123 return 0;
4124 }
4125 else {
4126 return 0;
4127 }
4128 else if (p[pixel[4]] < c_b)
4129 if (p[pixel[13]] > cb)
4130 if (p[pixel[11]] > cb)
4131 if (p[pixel[12]] > cb)
4132 if (p[pixel[14]] > cb)
4133 if (p[pixel[15]] > cb)
4134 {}
4135 else if (p[pixel[6]] > cb)
4136 if (p[pixel[7]] > cb)
4137 if (p[pixel[8]] > cb)
4138 if (p[pixel[9]] > cb)
4139 if (p[pixel[10]] > cb)
4140 {}
4141 else {
4142 return 0;
4143 }
4144 else {
4145 return 0;
4146 }
4147 else {
4148 return 0;
4149 }
4150 else {
4151 return 0;
4152 }
4153 else {
4154 return 0;
4155 }
4156 else if (p[pixel[5]] > cb)
4157 if (p[pixel[6]] > cb)
4158 if (p[pixel[7]] > cb)
4159 if (p[pixel[8]] > cb)
4160 if (p[pixel[9]] > cb)
4161 if (p[pixel[10]] > cb)
4162 {}
4163 else {
4164 return 0;
4165 }
4166 else {
4167 return 0;
4168 }
4169 else {
4170 return 0;
4171 }
4172 else {
4173 return 0;
4174 }
4175 else {
4176 return 0;
4177 }
4178 else {
4179 return 0;
4180 }
4181 else {
4182 return 0;
4183 }
4184 else if (p[pixel[11]] < c_b)
4185 if (p[pixel[5]] < c_b)
4186 if (p[pixel[6]] < c_b)
4187 if (p[pixel[7]] < c_b)
4188 if (p[pixel[8]] < c_b)
4189 if (p[pixel[9]] < c_b)
4190 if (p[pixel[10]] < c_b)
4191 if (p[pixel[12]] < c_b)
4192 {}
4193 else {
4194 return 0;
4195 }
4196 else {
4197 return 0;
4198 }
4199 else {
4200 return 0;
4201 }
4202 else {
4203 return 0;
4204 }
4205 else {
4206 return 0;
4207 }
4208 else {
4209 return 0;
4210 }
4211 else {
4212 return 0;
4213 }
4214 else {
4215 return 0;
4216 }
4217 else if (p[pixel[13]] < c_b)
4218 if (p[pixel[7]] < c_b)
4219 if (p[pixel[8]] < c_b)
4220 if (p[pixel[9]] < c_b)
4221 if (p[pixel[10]] < c_b)
4222 if (p[pixel[11]] < c_b)
4223 if (p[pixel[12]] < c_b)
4224 if (p[pixel[6]] < c_b)
4225 if (p[pixel[5]] < c_b)
4226 {}
4227 else if (p[pixel[14]] < c_b)
4228 {}
4229 else {
4230 return 0;
4231 }
4232 else if (p[pixel[14]] < c_b)
4233 if (p[pixel[15]] < c_b)
4234 {}
4235 else {
4236 return 0;
4237 }
4238 else {
4239 return 0;
4240 }
4241 else {
4242 return 0;
4243 }
4244 else {
4245 return 0;
4246 }
4247 else {
4248 return 0;
4249 }
4250 else {
4251 return 0;
4252 }
4253 else {
4254 return 0;
4255 }
4256 else {
4257 return 0;
4258 }
4259 else if (p[pixel[5]] < c_b)
4260 if (p[pixel[6]] < c_b)
4261 if (p[pixel[7]] < c_b)
4262 if (p[pixel[8]] < c_b)
4263 if (p[pixel[9]] < c_b)
4264 if (p[pixel[10]] < c_b)
4265 if (p[pixel[11]] < c_b)
4266 if (p[pixel[12]] < c_b)
4267 {}
4268 else {
4269 return 0;
4270 }
4271 else {
4272 return 0;
4273 }
4274 else {
4275 return 0;
4276 }
4277 else {
4278 return 0;
4279 }
4280 else {
4281 return 0;
4282 }
4283 else {
4284 return 0;
4285 }
4286 else {
4287 return 0;
4288 }
4289 else {
4290 return 0;
4291 }
4292 else if (p[pixel[11]] > cb)
4293 if (p[pixel[12]] > cb)
4294 if (p[pixel[13]] > cb)
4295 if (p[pixel[14]] > cb)
4296 if (p[pixel[15]] > cb)
4297 {}
4298 else if (p[pixel[6]] > cb)
4299 if (p[pixel[7]] > cb)
4300 if (p[pixel[8]] > cb)
4301 if (p[pixel[9]] > cb)
4302 if (p[pixel[10]] > cb)
4303 {}
4304 else {
4305 return 0;
4306 }
4307 else {
4308 return 0;
4309 }
4310 else {
4311 return 0;
4312 }
4313 else {
4314 return 0;
4315 }
4316 else {
4317 return 0;
4318 }
4319 else if (p[pixel[5]] > cb)
4320 if (p[pixel[6]] > cb)
4321 if (p[pixel[7]] > cb)
4322 if (p[pixel[8]] > cb)
4323 if (p[pixel[9]] > cb)
4324 if (p[pixel[10]] > cb)
4325 {}
4326 else {
4327 return 0;
4328 }
4329 else {
4330 return 0;
4331 }
4332 else {
4333 return 0;
4334 }
4335 else {
4336 return 0;
4337 }
4338 else {
4339 return 0;
4340 }
4341 else {
4342 return 0;
4343 }
4344 else {
4345 return 0;
4346 }
4347 else {
4348 return 0;
4349 }
4350 else if (p[pixel[11]] < c_b)
4351 if (p[pixel[7]] < c_b)
4352 if (p[pixel[8]] < c_b)
4353 if (p[pixel[9]] < c_b)
4354 if (p[pixel[10]] < c_b)
4355 if (p[pixel[12]] < c_b)
4356 if (p[pixel[13]] < c_b)
4357 if (p[pixel[6]] < c_b)
4358 if (p[pixel[5]] < c_b)
4359 {}
4360 else if (p[pixel[14]] < c_b)
4361 {}
4362 else {
4363 return 0;
4364 }
4365 else if (p[pixel[14]] < c_b)
4366 if (p[pixel[15]] < c_b)
4367 {}
4368 else {
4369 return 0;
4370 }
4371 else {
4372 return 0;
4373 }
4374 else {
4375 return 0;
4376 }
4377 else {
4378 return 0;
4379 }
4380 else {
4381 return 0;
4382 }
4383 else {
4384 return 0;
4385 }
4386 else {
4387 return 0;
4388 }
4389 else {
4390 return 0;
4391 }
4392 else {
4393 return 0;
4394 }
4395 else if (p[pixel[3]] < c_b)
4396 if (p[pixel[10]] > cb)
4397 if (p[pixel[11]] > cb)
4398 if (p[pixel[12]] > cb)
4399 if (p[pixel[13]] > cb)
4400 if (p[pixel[14]] > cb)
4401 if (p[pixel[15]] > cb)
4402 {}
4403 else if (p[pixel[6]] > cb)
4404 if (p[pixel[7]] > cb)
4405 if (p[pixel[8]] > cb)
4406 if (p[pixel[9]] > cb)
4407 {}
4408 else {
4409 return 0;
4410 }
4411 else {
4412 return 0;
4413 }
4414 else {
4415 return 0;
4416 }
4417 else {
4418 return 0;
4419 }
4420 else if (p[pixel[5]] > cb)
4421 if (p[pixel[6]] > cb)
4422 if (p[pixel[7]] > cb)
4423 if (p[pixel[8]] > cb)
4424 if (p[pixel[9]] > cb)
4425 {}
4426 else {
4427 return 0;
4428 }
4429 else {
4430 return 0;
4431 }
4432 else {
4433 return 0;
4434 }
4435 else {
4436 return 0;
4437 }
4438 else {
4439 return 0;
4440 }
4441 else if (p[pixel[4]] > cb)
4442 if (p[pixel[5]] > cb)
4443 if (p[pixel[6]] > cb)
4444 if (p[pixel[7]] > cb)
4445 if (p[pixel[8]] > cb)
4446 if (p[pixel[9]] > cb)
4447 {}
4448 else {
4449 return 0;
4450 }
4451 else {
4452 return 0;
4453 }
4454 else {
4455 return 0;
4456 }
4457 else {
4458 return 0;
4459 }
4460 else {
4461 return 0;
4462 }
4463 else {
4464 return 0;
4465 }
4466 else {
4467 return 0;
4468 }
4469 else {
4470 return 0;
4471 }
4472 else if (p[pixel[10]] < c_b)
4473 if (p[pixel[7]] < c_b)
4474 if (p[pixel[8]] < c_b)
4475 if (p[pixel[9]] < c_b)
4476 if (p[pixel[11]] < c_b)
4477 if (p[pixel[6]] < c_b)
4478 if (p[pixel[5]] < c_b)
4479 if (p[pixel[4]] < c_b)
4480 {}
4481 else if (p[pixel[12]] < c_b)
4482 if (p[pixel[13]] < c_b)
4483 {}
4484 else {
4485 return 0;
4486 }
4487 else {
4488 return 0;
4489 }
4490 else if (p[pixel[12]] < c_b)
4491 if (p[pixel[13]] < c_b)
4492 if (p[pixel[14]] < c_b)
4493 {}
4494 else {
4495 return 0;
4496 }
4497 else {
4498 return 0;
4499 }
4500 else {
4501 return 0;
4502 }
4503 else if (p[pixel[12]] < c_b)
4504 if (p[pixel[13]] < c_b)
4505 if (p[pixel[14]] < c_b)
4506 if (p[pixel[15]] < c_b)
4507 {}
4508 else {
4509 return 0;
4510 }
4511 else {
4512 return 0;
4513 }
4514 else {
4515 return 0;
4516 }
4517 else {
4518 return 0;
4519 }
4520 else {
4521 return 0;
4522 }
4523 else {
4524 return 0;
4525 }
4526 else {
4527 return 0;
4528 }
4529 else {
4530 return 0;
4531 }
4532 else {
4533 return 0;
4534 }
4535 else if (p[pixel[10]] > cb)
4536 if (p[pixel[11]] > cb)
4537 if (p[pixel[12]] > cb)
4538 if (p[pixel[13]] > cb)
4539 if (p[pixel[14]] > cb)
4540 if (p[pixel[15]] > cb)
4541 {}
4542 else if (p[pixel[6]] > cb)
4543 if (p[pixel[7]] > cb)
4544 if (p[pixel[8]] > cb)
4545 if (p[pixel[9]] > cb)
4546 {}
4547 else {
4548 return 0;
4549 }
4550 else {
4551 return 0;
4552 }
4553 else {
4554 return 0;
4555 }
4556 else {
4557 return 0;
4558 }
4559 else if (p[pixel[5]] > cb)
4560 if (p[pixel[6]] > cb)
4561 if (p[pixel[7]] > cb)
4562 if (p[pixel[8]] > cb)
4563 if (p[pixel[9]] > cb)
4564 {}
4565 else {
4566 return 0;
4567 }
4568 else {
4569 return 0;
4570 }
4571 else {
4572 return 0;
4573 }
4574 else {
4575 return 0;
4576 }
4577 else {
4578 return 0;
4579 }
4580 else if (p[pixel[4]] > cb)
4581 if (p[pixel[5]] > cb)
4582 if (p[pixel[6]] > cb)
4583 if (p[pixel[7]] > cb)
4584 if (p[pixel[8]] > cb)
4585 if (p[pixel[9]] > cb)
4586 {}
4587 else {
4588 return 0;
4589 }
4590 else {
4591 return 0;
4592 }
4593 else {
4594 return 0;
4595 }
4596 else {
4597 return 0;
4598 }
4599 else {
4600 return 0;
4601 }
4602 else {
4603 return 0;
4604 }
4605 else {
4606 return 0;
4607 }
4608 else {
4609 return 0;
4610 }
4611 else if (p[pixel[10]] < c_b)
4612 if (p[pixel[7]] < c_b)
4613 if (p[pixel[8]] < c_b)
4614 if (p[pixel[9]] < c_b)
4615 if (p[pixel[11]] < c_b)
4616 if (p[pixel[12]] < c_b)
4617 if (p[pixel[6]] < c_b)
4618 if (p[pixel[5]] < c_b)
4619 if (p[pixel[4]] < c_b)
4620 {}
4621 else if (p[pixel[13]] < c_b)
4622 {}
4623 else {
4624 return 0;
4625 }
4626 else if (p[pixel[13]] < c_b)
4627 if (p[pixel[14]] < c_b)
4628 {}
4629 else {
4630 return 0;
4631 }
4632 else {
4633 return 0;
4634 }
4635 else if (p[pixel[13]] < c_b)
4636 if (p[pixel[14]] < c_b)
4637 if (p[pixel[15]] < c_b)
4638 {}
4639 else {
4640 return 0;
4641 }
4642 else {
4643 return 0;
4644 }
4645 else {
4646 return 0;
4647 }
4648 else {
4649 return 0;
4650 }
4651 else {
4652 return 0;
4653 }
4654 else {
4655 return 0;
4656 }
4657 else {
4658 return 0;
4659 }
4660 else {
4661 return 0;
4662 }
4663 else {
4664 return 0;
4665 }
4666 else if (p[pixel[2]] < c_b)
4667 if (p[pixel[9]] > cb)
4668 if (p[pixel[10]] > cb)
4669 if (p[pixel[11]] > cb)
4670 if (p[pixel[12]] > cb)
4671 if (p[pixel[13]] > cb)
4672 if (p[pixel[14]] > cb)
4673 if (p[pixel[15]] > cb)
4674 {}
4675 else if (p[pixel[6]] > cb)
4676 if (p[pixel[7]] > cb)
4677 if (p[pixel[8]] > cb)
4678 {}
4679 else {
4680 return 0;
4681 }
4682 else {
4683 return 0;
4684 }
4685 else {
4686 return 0;
4687 }
4688 else if (p[pixel[5]] > cb)
4689 if (p[pixel[6]] > cb)
4690 if (p[pixel[7]] > cb)
4691 if (p[pixel[8]] > cb)
4692 {}
4693 else {
4694 return 0;
4695 }
4696 else {
4697 return 0;
4698 }
4699 else {
4700 return 0;
4701 }
4702 else {
4703 return 0;
4704 }
4705 else if (p[pixel[4]] > cb)
4706 if (p[pixel[5]] > cb)
4707 if (p[pixel[6]] > cb)
4708 if (p[pixel[7]] > cb)
4709 if (p[pixel[8]] > cb)
4710 {}
4711 else {
4712 return 0;
4713 }
4714 else {
4715 return 0;
4716 }
4717 else {
4718 return 0;
4719 }
4720 else {
4721 return 0;
4722 }
4723 else {
4724 return 0;
4725 }
4726 else if (p[pixel[3]] > cb)
4727 if (p[pixel[4]] > cb)
4728 if (p[pixel[5]] > cb)
4729 if (p[pixel[6]] > cb)
4730 if (p[pixel[7]] > cb)
4731 if (p[pixel[8]] > cb)
4732 {}
4733 else {
4734 return 0;
4735 }
4736 else {
4737 return 0;
4738 }
4739 else {
4740 return 0;
4741 }
4742 else {
4743 return 0;
4744 }
4745 else {
4746 return 0;
4747 }
4748 else {
4749 return 0;
4750 }
4751 else {
4752 return 0;
4753 }
4754 else {
4755 return 0;
4756 }
4757 else if (p[pixel[9]] < c_b)
4758 if (p[pixel[7]] < c_b)
4759