00001
00002 #include <stdlib.h>
00003
00004 typedef struct { int x, y; } xy;
00005 typedef unsigned char byte;
00006
00007 int fast9_corner_score(const byte* p, const int pixel[], int bstart)
00008 {
00009 int bmin = bstart;
00010 int bmax = 255;
00011 int b = (bmax + bmin)/2;
00012
00013
00014 for(;;)
00015 {
00016 int cb = *p + b;
00017 int c_b= *p - b;
00018
00019
00020 if( p[pixel[0]] > cb)
00021 if( p[pixel[1]] > cb)
00022 if( p[pixel[2]] > cb)
00023 if( p[pixel[3]] > cb)
00024 if( p[pixel[4]] > cb)
00025 if( p[pixel[5]] > cb)
00026 if( p[pixel[6]] > cb)
00027 if( p[pixel[7]] > cb)
00028 if( p[pixel[8]] > cb)
00029 goto is_a_corner;
00030 else
00031 if( p[pixel[15]] > cb)
00032 goto is_a_corner;
00033 else
00034 goto is_not_a_corner;
00035 else if( p[pixel[7]] < c_b)
00036 if( p[pixel[14]] > cb)
00037 if( p[pixel[15]] > cb)
00038 goto is_a_corner;
00039 else
00040 goto is_not_a_corner;
00041 else if( p[pixel[14]] < c_b)
00042 if( p[pixel[8]] < c_b)
00043 if( p[pixel[9]] < c_b)
00044 if( p[pixel[10]] < c_b)
00045 if( p[pixel[11]] < c_b)
00046 if( p[pixel[12]] < c_b)
00047 if( p[pixel[13]] < c_b)
00048 if( p[pixel[15]] < c_b)
00049 goto is_a_corner;
00050 else
00051 goto is_not_a_corner;
00052 else
00053 goto is_not_a_corner;
00054 else
00055 goto is_not_a_corner;
00056 else
00057 goto is_not_a_corner;
00058 else
00059 goto is_not_a_corner;
00060 else
00061 goto is_not_a_corner;
00062 else
00063 goto is_not_a_corner;
00064 else
00065 goto is_not_a_corner;
00066 else
00067 if( p[pixel[14]] > cb)
00068 if( p[pixel[15]] > cb)
00069 goto is_a_corner;
00070 else
00071 goto is_not_a_corner;
00072 else
00073 goto is_not_a_corner;
00074 else if( p[pixel[6]] < c_b)
00075 if( p[pixel[15]] > cb)
00076 if( p[pixel[13]] > cb)
00077 if( p[pixel[14]] > cb)
00078 goto is_a_corner;
00079 else
00080 goto is_not_a_corner;
00081 else if( p[pixel[13]] < c_b)
00082 if( p[pixel[7]] < c_b)
00083 if( p[pixel[8]] < c_b)
00084 if( p[pixel[9]] < c_b)
00085 if( p[pixel[10]] < c_b)
00086 if( p[pixel[11]] < c_b)
00087 if( p[pixel[12]] < c_b)
00088 if( p[pixel[14]] < c_b)
00089 goto is_a_corner;
00090 else
00091 goto is_not_a_corner;
00092 else
00093 goto is_not_a_corner;
00094 else
00095 goto is_not_a_corner;
00096 else
00097 goto is_not_a_corner;
00098 else
00099 goto is_not_a_corner;
00100 else
00101 goto is_not_a_corner;
00102 else
00103 goto is_not_a_corner;
00104 else
00105 goto is_not_a_corner;
00106 else
00107 if( p[pixel[7]] < c_b)
00108 if( p[pixel[8]] < c_b)
00109 if( p[pixel[9]] < c_b)
00110 if( p[pixel[10]] < c_b)
00111 if( p[pixel[11]] < c_b)
00112 if( p[pixel[12]] < c_b)
00113 if( p[pixel[13]] < c_b)
00114 if( p[pixel[14]] < c_b)
00115 goto is_a_corner;
00116 else
00117 goto is_not_a_corner;
00118 else
00119 goto is_not_a_corner;
00120 else
00121 goto is_not_a_corner;
00122 else
00123 goto is_not_a_corner;
00124 else
00125 goto is_not_a_corner;
00126 else
00127 goto is_not_a_corner;
00128 else
00129 goto is_not_a_corner;
00130 else
00131 goto is_not_a_corner;
00132 else
00133 if( p[pixel[13]] > cb)
00134 if( p[pixel[14]] > cb)
00135 if( p[pixel[15]] > cb)
00136 goto is_a_corner;
00137 else
00138 goto is_not_a_corner;
00139 else
00140 goto is_not_a_corner;
00141 else if( p[pixel[13]] < c_b)
00142 if( p[pixel[7]] < c_b)
00143 if( p[pixel[8]] < c_b)
00144 if( p[pixel[9]] < c_b)
00145 if( p[pixel[10]] < c_b)
00146 if( p[pixel[11]] < c_b)
00147 if( p[pixel[12]] < c_b)
00148 if( p[pixel[14]] < c_b)
00149 if( p[pixel[15]] < c_b)
00150 goto is_a_corner;
00151 else
00152 goto is_not_a_corner;
00153 else
00154 goto is_not_a_corner;
00155 else
00156 goto is_not_a_corner;
00157 else
00158 goto is_not_a_corner;
00159 else
00160 goto is_not_a_corner;
00161 else
00162 goto is_not_a_corner;
00163 else
00164 goto is_not_a_corner;
00165 else
00166 goto is_not_a_corner;
00167 else
00168 goto is_not_a_corner;
00169 else if( p[pixel[5]] < c_b)
00170 if( p[pixel[14]] > cb)
00171 if( p[pixel[12]] > cb)
00172 if( p[pixel[13]] > cb)
00173 if( p[pixel[15]] > cb)
00174 goto is_a_corner;
00175 else
00176 if( p[pixel[6]] > cb)
00177 if( p[pixel[7]] > cb)
00178 if( p[pixel[8]] > cb)
00179 if( p[pixel[9]] > cb)
00180 if( p[pixel[10]] > cb)
00181 if( p[pixel[11]] > cb)
00182 goto is_a_corner;
00183 else
00184 goto is_not_a_corner;
00185 else
00186 goto is_not_a_corner;
00187 else
00188 goto is_not_a_corner;
00189 else
00190 goto is_not_a_corner;
00191 else
00192 goto is_not_a_corner;
00193 else
00194 goto is_not_a_corner;
00195 else
00196 goto is_not_a_corner;
00197 else if( p[pixel[12]] < c_b)
00198 if( p[pixel[6]] < c_b)
00199 if( p[pixel[7]] < c_b)
00200 if( p[pixel[8]] < c_b)
00201 if( p[pixel[9]] < c_b)
00202 if( p[pixel[10]] < c_b)
00203 if( p[pixel[11]] < c_b)
00204 if( p[pixel[13]] < c_b)
00205 goto is_a_corner;
00206 else
00207 goto is_not_a_corner;
00208 else
00209 goto is_not_a_corner;
00210 else
00211 goto is_not_a_corner;
00212 else
00213 goto is_not_a_corner;
00214 else
00215 goto is_not_a_corner;
00216 else
00217 goto is_not_a_corner;
00218 else
00219 goto is_not_a_corner;
00220 else
00221 goto is_not_a_corner;
00222 else if( p[pixel[14]] < c_b)
00223 if( p[pixel[7]] < c_b)
00224 if( p[pixel[8]] < c_b)
00225 if( p[pixel[9]] < c_b)
00226 if( p[pixel[10]] < c_b)
00227 if( p[pixel[11]] < c_b)
00228 if( p[pixel[12]] < c_b)
00229 if( p[pixel[13]] < c_b)
00230 if( p[pixel[6]] < c_b)
00231 goto is_a_corner;
00232 else
00233 if( p[pixel[15]] < c_b)
00234 goto is_a_corner;
00235 else
00236 goto is_not_a_corner;
00237 else
00238 goto is_not_a_corner;
00239 else
00240 goto is_not_a_corner;
00241 else
00242 goto is_not_a_corner;
00243 else
00244 goto is_not_a_corner;
00245 else
00246 goto is_not_a_corner;
00247 else
00248 goto is_not_a_corner;
00249 else
00250 goto is_not_a_corner;
00251 else
00252 if( p[pixel[6]] < c_b)
00253 if( p[pixel[7]] < c_b)
00254 if( p[pixel[8]] < c_b)
00255 if( p[pixel[9]] < c_b)
00256 if( p[pixel[10]] < c_b)
00257 if( p[pixel[11]] < c_b)
00258 if( p[pixel[12]] < c_b)
00259 if( p[pixel[13]] < c_b)
00260 goto is_a_corner;
00261 else
00262 goto is_not_a_corner;
00263 else
00264 goto is_not_a_corner;
00265 else
00266 goto is_not_a_corner;
00267 else
00268 goto is_not_a_corner;
00269 else
00270 goto is_not_a_corner;
00271 else
00272 goto is_not_a_corner;
00273 else
00274 goto is_not_a_corner;
00275 else
00276 goto is_not_a_corner;
00277 else
00278 if( p[pixel[12]] > cb)
00279 if( p[pixel[13]] > cb)
00280 if( p[pixel[14]] > cb)
00281 if( p[pixel[15]] > cb)
00282 goto is_a_corner;
00283 else
00284 if( p[pixel[6]] > cb)
00285 if( p[pixel[7]] > cb)
00286 if( p[pixel[8]] > cb)
00287 if( p[pixel[9]] > cb)
00288 if( p[pixel[10]] > cb)
00289 if( p[pixel[11]] > cb)
00290 goto is_a_corner;
00291 else
00292 goto is_not_a_corner;
00293 else
00294 goto is_not_a_corner;
00295 else
00296 goto is_not_a_corner;
00297 else
00298 goto is_not_a_corner;
00299 else
00300 goto is_not_a_corner;
00301 else
00302 goto is_not_a_corner;
00303 else
00304 goto is_not_a_corner;
00305 else
00306 goto is_not_a_corner;
00307 else if( p[pixel[12]] < c_b)
00308 if( p[pixel[7]] < c_b)
00309 if( p[pixel[8]] < c_b)
00310 if( p[pixel[9]] < c_b)
00311 if( p[pixel[10]] < c_b)
00312 if( p[pixel[11]] < c_b)
00313 if( p[pixel[13]] < c_b)
00314 if( p[pixel[14]] < c_b)
00315 if( p[pixel[6]] < c_b)
00316 goto is_a_corner;
00317 else
00318 if( p[pixel[15]] < c_b)
00319 goto is_a_corner;
00320 else
00321 goto is_not_a_corner;
00322 else
00323 goto is_not_a_corner;
00324 else
00325 goto is_not_a_corner;
00326 else
00327 goto is_not_a_corner;
00328 else
00329 goto is_not_a_corner;
00330 else
00331 goto is_not_a_corner;
00332 else
00333 goto is_not_a_corner;
00334 else
00335 goto is_not_a_corner;
00336 else
00337 goto is_not_a_corner;
00338 else if( p[pixel[4]] < c_b)
00339 if( p[pixel[13]] > cb)
00340 if( p[pixel[11]] > cb)
00341 if( p[pixel[12]] > cb)
00342 if( p[pixel[14]] > cb)
00343 if( p[pixel[15]] > cb)
00344 goto is_a_corner;
00345 else
00346 if( p[pixel[6]] > cb)
00347 if( p[pixel[7]] > cb)
00348 if( p[pixel[8]] > cb)
00349 if( p[pixel[9]] > cb)
00350 if( p[pixel[10]] > cb)
00351 goto is_a_corner;
00352 else
00353 goto is_not_a_corner;
00354 else
00355 goto is_not_a_corner;
00356 else
00357 goto is_not_a_corner;
00358 else
00359 goto is_not_a_corner;
00360 else
00361 goto is_not_a_corner;
00362 else
00363 if( p[pixel[5]] > cb)
00364 if( p[pixel[6]] > cb)
00365 if( p[pixel[7]] > cb)
00366 if( p[pixel[8]] > cb)
00367 if( p[pixel[9]] > cb)
00368 if( p[pixel[10]] > cb)
00369 goto is_a_corner;
00370 else
00371 goto is_not_a_corner;
00372 else
00373 goto is_not_a_corner;
00374 else
00375 goto is_not_a_corner;
00376 else
00377 goto is_not_a_corner;
00378 else
00379 goto is_not_a_corner;
00380 else
00381 goto is_not_a_corner;
00382 else
00383 goto is_not_a_corner;
00384 else if( p[pixel[11]] < c_b)
00385 if( p[pixel[5]] < c_b)
00386 if( p[pixel[6]] < c_b)
00387 if( p[pixel[7]] < c_b)
00388 if( p[pixel[8]] < c_b)
00389 if( p[pixel[9]] < c_b)
00390 if( p[pixel[10]] < c_b)
00391 if( p[pixel[12]] < c_b)
00392 goto is_a_corner;
00393 else
00394 goto is_not_a_corner;
00395 else
00396 goto is_not_a_corner;
00397 else
00398 goto is_not_a_corner;
00399 else
00400 goto is_not_a_corner;
00401 else
00402 goto is_not_a_corner;
00403 else
00404 goto is_not_a_corner;
00405 else
00406 goto is_not_a_corner;
00407 else
00408 goto is_not_a_corner;
00409 else if( p[pixel[13]] < c_b)
00410 if( p[pixel[7]] < c_b)
00411 if( p[pixel[8]] < c_b)
00412 if( p[pixel[9]] < c_b)
00413 if( p[pixel[10]] < c_b)
00414 if( p[pixel[11]] < c_b)
00415 if( p[pixel[12]] < c_b)
00416 if( p[pixel[6]] < c_b)
00417 if( p[pixel[5]] < c_b)
00418 goto is_a_corner;
00419 else
00420 if( p[pixel[14]] < c_b)
00421 goto is_a_corner;
00422 else
00423 goto is_not_a_corner;
00424 else
00425 if( p[pixel[14]] < c_b)
00426 if( p[pixel[15]] < c_b)
00427 goto is_a_corner;
00428 else
00429 goto is_not_a_corner;
00430 else
00431 goto is_not_a_corner;
00432 else
00433 goto is_not_a_corner;
00434 else
00435 goto is_not_a_corner;
00436 else
00437 goto is_not_a_corner;
00438 else
00439 goto is_not_a_corner;
00440 else
00441 goto is_not_a_corner;
00442 else
00443 goto is_not_a_corner;
00444 else
00445 if( p[pixel[5]] < c_b)
00446 if( p[pixel[6]] < c_b)
00447 if( p[pixel[7]] < c_b)
00448 if( p[pixel[8]] < c_b)
00449 if( p[pixel[9]] < c_b)
00450 if( p[pixel[10]] < c_b)
00451 if( p[pixel[11]] < c_b)
00452 if( p[pixel[12]] < c_b)
00453 goto is_a_corner;
00454 else
00455 goto is_not_a_corner;
00456 else
00457 goto is_not_a_corner;
00458 else
00459 goto is_not_a_corner;
00460 else
00461 goto is_not_a_corner;
00462 else
00463 goto is_not_a_corner;
00464 else
00465 goto is_not_a_corner;
00466 else
00467 goto is_not_a_corner;
00468 else
00469 goto is_not_a_corner;
00470 else
00471 if( p[pixel[11]] > cb)
00472 if( p[pixel[12]] > cb)
00473 if( p[pixel[13]] > cb)
00474 if( p[pixel[14]] > cb)
00475 if( p[pixel[15]] > cb)
00476 goto is_a_corner;
00477 else
00478 if( p[pixel[6]] > cb)
00479 if( p[pixel[7]] > cb)
00480 if( p[pixel[8]] > cb)
00481 if( p[pixel[9]] > cb)
00482 if( p[pixel[10]] > cb)
00483 goto is_a_corner;
00484 else
00485 goto is_not_a_corner;
00486 else
00487 goto is_not_a_corner;
00488 else
00489 goto is_not_a_corner;
00490 else
00491 goto is_not_a_corner;
00492 else
00493 goto is_not_a_corner;
00494 else
00495 if( p[pixel[5]] > cb)
00496 if( p[pixel[6]] > cb)
00497 if( p[pixel[7]] > cb)
00498 if( p[pixel[8]] > cb)
00499 if( p[pixel[9]] > cb)
00500 if( p[pixel[10]] > cb)
00501 goto is_a_corner;
00502 else
00503 goto is_not_a_corner;
00504 else
00505 goto is_not_a_corner;
00506 else
00507 goto is_not_a_corner;
00508 else
00509 goto is_not_a_corner;
00510 else
00511 goto is_not_a_corner;
00512 else
00513 goto is_not_a_corner;
00514 else
00515 goto is_not_a_corner;
00516 else
00517 goto is_not_a_corner;
00518 else if( p[pixel[11]] < c_b)
00519 if( p[pixel[7]] < c_b)
00520 if( p[pixel[8]] < c_b)
00521 if( p[pixel[9]] < c_b)
00522 if( p[pixel[10]] < c_b)
00523 if( p[pixel[12]] < c_b)
00524 if( p[pixel[13]] < c_b)
00525 if( p[pixel[6]] < c_b)
00526 if( p[pixel[5]] < c_b)
00527 goto is_a_corner;
00528 else
00529 if( p[pixel[14]] < c_b)
00530 goto is_a_corner;
00531 else
00532 goto is_not_a_corner;
00533 else
00534 if( p[pixel[14]] < c_b)
00535 if( p[pixel[15]] < c_b)
00536 goto is_a_corner;
00537 else
00538 goto is_not_a_corner;
00539 else
00540 goto is_not_a_corner;
00541 else
00542 goto is_not_a_corner;
00543 else
00544 goto is_not_a_corner;
00545 else
00546 goto is_not_a_corner;
00547 else
00548 goto is_not_a_corner;
00549 else
00550 goto is_not_a_corner;
00551 else
00552 goto is_not_a_corner;
00553 else
00554 goto is_not_a_corner;
00555 else if( p[pixel[3]] < c_b)
00556 if( p[pixel[10]] > cb)
00557 if( p[pixel[11]] > cb)
00558 if( p[pixel[12]] > cb)
00559 if( p[pixel[13]] > cb)
00560 if( p[pixel[14]] > cb)
00561 if( p[pixel[15]] > cb)
00562 goto is_a_corner;
00563 else
00564 if( p[pixel[6]] > cb)
00565 if( p[pixel[7]] > cb)
00566 if( p[pixel[8]] > cb)
00567 if( p[pixel[9]] > cb)
00568 goto is_a_corner;
00569 else
00570 goto is_not_a_corner;
00571 else
00572 goto is_not_a_corner;
00573 else
00574 goto is_not_a_corner;
00575 else
00576 goto is_not_a_corner;
00577 else
00578 if( p[pixel[5]] > cb)
00579 if( p[pixel[6]] > cb)
00580 if( p[pixel[7]] > cb)
00581 if( p[pixel[8]] > cb)
00582 if( p[pixel[9]] > cb)
00583 goto is_a_corner;
00584 else
00585 goto is_not_a_corner;
00586 else
00587 goto is_not_a_corner;
00588 else
00589 goto is_not_a_corner;
00590 else
00591 goto is_not_a_corner;
00592 else
00593 goto is_not_a_corner;
00594 else
00595 if( p[pixel[4]] > cb)
00596 if( p[pixel[5]] > cb)
00597 if( p[pixel[6]] > cb)
00598 if( p[pixel[7]] > cb)
00599 if( p[pixel[8]] > cb)
00600 if( p[pixel[9]] > cb)
00601 goto is_a_corner;
00602 else
00603 goto is_not_a_corner;
00604 else
00605 goto is_not_a_corner;
00606 else
00607 goto is_not_a_corner;
00608 else
00609 goto is_not_a_corner;
00610 else
00611 goto is_not_a_corner;
00612 else
00613 goto is_not_a_corner;
00614 else
00615 goto is_not_a_corner;
00616 else
00617 goto is_not_a_corner;
00618 else if( p[pixel[10]] < c_b)
00619 if( p[pixel[7]] < c_b)
00620 if( p[pixel[8]] < c_b)
00621 if( p[pixel[9]] < c_b)
00622 if( p[pixel[11]] < c_b)
00623 if( p[pixel[6]] < c_b)
00624 if( p[pixel[5]] < c_b)
00625 if( p[pixel[4]] < c_b)
00626 goto is_a_corner;
00627 else
00628 if( p[pixel[12]] < c_b)
00629 if( p[pixel[13]] < c_b)
00630 goto is_a_corner;
00631 else
00632 goto is_not_a_corner;
00633 else
00634 goto is_not_a_corner;
00635 else
00636 if( p[pixel[12]] < c_b)
00637 if( p[pixel[13]] < c_b)
00638 if( p[pixel[14]] < c_b)
00639 goto is_a_corner;
00640 else
00641 goto is_not_a_corner;
00642 else
00643 goto is_not_a_corner;
00644 else
00645 goto is_not_a_corner;
00646 else
00647 if( p[pixel[12]] < c_b)
00648 if( p[pixel[13]] < c_b)
00649 if( p[pixel[14]] < c_b)
00650 if( p[pixel[15]] < c_b)
00651 goto is_a_corner;
00652 else
00653 goto is_not_a_corner;
00654 else
00655 goto is_not_a_corner;
00656 else
00657 goto is_not_a_corner;
00658 else
00659 goto is_not_a_corner;
00660 else
00661 goto is_not_a_corner;
00662 else
00663 goto is_not_a_corner;
00664 else
00665 goto is_not_a_corner;
00666 else
00667 goto is_not_a_corner;
00668 else
00669 goto is_not_a_corner;
00670 else
00671 if( p[pixel[10]] > cb)
00672 if( p[pixel[11]] > cb)
00673 if( p[pixel[12]] > cb)
00674 if( p[pixel[13]] > cb)
00675 if( p[pixel[14]] > cb)
00676 if( p[pixel[15]] > cb)
00677 goto is_a_corner;
00678 else
00679 if( p[pixel[6]] > cb)
00680 if( p[pixel[7]] > cb)
00681 if( p[pixel[8]] > cb)
00682 if( p[pixel[9]] > cb)
00683 goto is_a_corner;
00684 else
00685 goto is_not_a_corner;
00686 else
00687 goto is_not_a_corner;
00688 else
00689 goto is_not_a_corner;
00690 else
00691 goto is_not_a_corner;
00692 else
00693 if( p[pixel[5]] > cb)
00694 if( p[pixel[6]] > cb)
00695 if( p[pixel[7]] > cb)
00696 if( p[pixel[8]] > cb)
00697 if( p[pixel[9]] > cb)
00698 goto is_a_corner;
00699 else
00700 goto is_not_a_corner;
00701 else
00702 goto is_not_a_corner;
00703 else
00704 goto is_not_a_corner;
00705 else
00706 goto is_not_a_corner;
00707 else
00708 goto is_not_a_corner;
00709 else
00710 if( p[pixel[4]] > cb)
00711 if( p[pixel[5]] > cb)
00712 if( p[pixel[6]] > cb)
00713 if( p[pixel[7]] > cb)
00714 if( p[pixel[8]] > cb)
00715 if( p[pixel[9]] > cb)
00716 goto is_a_corner;
00717 else
00718 goto is_not_a_corner;
00719 else
00720 goto is_not_a_corner;
00721 else
00722 goto is_not_a_corner;
00723 else
00724 goto is_not_a_corner;
00725 else
00726 goto is_not_a_corner;
00727 else
00728 goto is_not_a_corner;
00729 else
00730 goto is_not_a_corner;
00731 else
00732 goto is_not_a_corner;
00733 else if( p[pixel[10]] < c_b)
00734 if( p[pixel[7]] < c_b)
00735 if( p[pixel[8]] < c_b)
00736 if( p[pixel[9]] < c_b)
00737 if( p[pixel[11]] < c_b)
00738 if( p[pixel[12]] < c_b)
00739 if( p[pixel[6]] < c_b)
00740 if( p[pixel[5]] < c_b)
00741 if( p[pixel[4]] < c_b)
00742 goto is_a_corner;
00743 else
00744 if( p[pixel[13]] < c_b)
00745 goto is_a_corner;
00746 else
00747 goto is_not_a_corner;
00748 else
00749 if( p[pixel[13]] < c_b)
00750 if( p[pixel[14]] < c_b)
00751 goto is_a_corner;
00752 else
00753 goto is_not_a_corner;
00754 else
00755 goto is_not_a_corner;
00756 else
00757 if( p[pixel[13]] < c_b)
00758 if( p[pixel[14]] < c_b)
00759 if( p[pixel[15]] < c_b)
00760 goto is_a_corner;
00761 else
00762 goto is_not_a_corner;
00763 else
00764 goto is_not_a_corner;
00765 else
00766 goto is_not_a_corner;
00767 else
00768 goto is_not_a_corner;
00769 else
00770 goto is_not_a_corner;
00771 else
00772 goto is_not_a_corner;
00773 else
00774 goto is_not_a_corner;
00775 else
00776 goto is_not_a_corner;
00777 else
00778 goto is_not_a_corner;
00779 else if( p[pixel[2]] < c_b)
00780 if( p[pixel[9]] > cb)
00781 if( p[pixel[10]] > cb)
00782 if( p[pixel[11]] > cb)
00783 if( p[pixel[12]] > cb)
00784 if( p[pixel[13]] > cb)
00785 if( p[pixel[14]] > cb)
00786 if( p[pixel[15]] > cb)
00787 goto is_a_corner;
00788 else
00789 if( p[pixel[6]] > cb)
00790 if( p[pixel[7]] > cb)
00791 if( p[pixel[8]] > cb)
00792 goto is_a_corner;
00793 else
00794 goto is_not_a_corner;
00795 else
00796 goto is_not_a_corner;
00797 else
00798 goto is_not_a_corner;
00799 else
00800 if( p[pixel[5]] > cb)
00801 if( p[pixel[6]] > cb)
00802 if( p[pixel[7]] > cb)
00803 if( p[pixel[8]] > cb)
00804 goto is_a_corner;
00805 else
00806 goto is_not_a_corner;
00807 else
00808 goto is_not_a_corner;
00809 else
00810 goto is_not_a_corner;
00811 else
00812 goto is_not_a_corner;
00813 else
00814 if( p[pixel[4]] > cb)
00815 if( p[pixel[5]] > cb)
00816 if( p[pixel[6]] > cb)
00817 if( p[pixel[7]] > cb)
00818 if( p[pixel[8]] > cb)
00819 goto is_a_corner;
00820 else
00821 goto is_not_a_corner;
00822 else
00823 goto is_not_a_corner;
00824 else
00825 goto is_not_a_corner;
00826 else
00827 goto is_not_a_corner;
00828 else
00829 goto is_not_a_corner;
00830 else
00831 if( p[pixel[3]] > cb)
00832 if( p[pixel[4]] > cb)
00833 if( p[pixel[5]] > cb)
00834 if( p[pixel[6]] > cb)
00835 if( p[pixel[7]] > cb)
00836 if( p[pixel[8]] > cb)
00837 goto is_a_corner;
00838 else
00839 goto is_not_a_corner;
00840 else
00841 goto is_not_a_corner;
00842 else
00843 goto is_not_a_corner;
00844 else
00845 goto is_not_a_corner;
00846 else
00847 goto is_not_a_corner;
00848 else
00849 goto is_not_a_corner;
00850 else
00851 goto is_not_a_corner;
00852 else
00853 goto is_not_a_corner;
00854 else if( p[pixel[9]] < c_b)
00855 if( p[pixel[7]] < c_b)
00856 if( p[pixel[8]] < c_b)
00857 if( p[pixel[10]] < c_b)
00858 if( p[pixel[6]] < c_b)
00859 if( p[pixel[5]] < c_b)
00860 if( p[pixel[4]] < c_b)
00861 if( p[pixel[3]] < c_b)
00862 goto is_a_corner;
00863 else
00864 if( p[pixel[11]] < c_b)
00865 if( p[pixel[12]] < c_b)
00866 goto is_a_corner;
00867 else
00868 goto is_not_a_corner;
00869 else
00870 goto is_not_a_corner;
00871 else
00872 if( p[pixel[11]] < c_b)
00873 if( p[pixel[12]] < c_b)
00874 if( p[pixel[13]] < c_b)
00875 goto is_a_corner;
00876 else
00877 goto is_not_a_corner;
00878 else
00879 goto is_not_a_corner;
00880 else
00881 goto is_not_a_corner;
00882 else
00883 if( p[pixel[11]] < c_b)
00884 if( p[pixel[12]] < c_b)
00885 if( p[pixel[13]] < c_b)
00886 if( p[pixel[14]] < c_b)
00887 goto is_a_corner;
00888 else
00889 goto is_not_a_corner;
00890 else
00891 goto is_not_a_corner;
00892 else
00893 goto is_not_a_corner;
00894 else
00895 goto is_not_a_corner;
00896 else
00897 if( p[pixel[11]] < c_b)
00898 if( p[pixel[12]] < c_b)
00899 if( p[pixel[13]] < c_b)
00900 if( p[pixel[14]] < c_b)
00901 if( p[pixel[15]] < c_b)
00902 goto is_a_corner;
00903 else
00904 goto is_not_a_corner;
00905 else
00906 goto is_not_a_corner;
00907 else
00908 goto is_not_a_corner;
00909 else
00910 goto is_not_a_corner;
00911 else
00912 goto is_not_a_corner;
00913 else
00914 goto is_not_a_corner;
00915 else
00916 goto is_not_a_corner;
00917 else
00918 goto is_not_a_corner;
00919 else
00920 goto is_not_a_corner;
00921 else
00922 if( p[pixel[9]] > cb)
00923 if( p[pixel[10]] > cb)
00924 if( p[pixel[11]] > cb)
00925 if( p[pixel[12]] > cb)
00926 if( p[pixel[13]] > cb)
00927 if( p[pixel[14]] > cb)
00928 if( p[pixel[15]] > cb)
00929 goto is_a_corner;
00930 else
00931 if( p[pixel[6]] > cb)
00932 if( p[pixel[7]] > cb)
00933 if( p[pixel[8]] > cb)
00934 goto is_a_corner;
00935 else
00936 goto is_not_a_corner;
00937 else
00938 goto is_not_a_corner;
00939 else
00940 goto is_not_a_corner;
00941 else
00942 if( p[pixel[5]] > cb)
00943 if( p[pixel[6]] > cb)
00944 if( p[pixel[7]] > cb)
00945 if( p[pixel[8]] > cb)
00946 goto is_a_corner;
00947 else
00948 goto is_not_a_corner;
00949 else
00950 goto is_not_a_corner;
00951 else
00952 goto is_not_a_corner;
00953 else
00954 goto is_not_a_corner;
00955 else
00956 if( p[pixel[4]] > cb)
00957 if( p[pixel[5]] > cb)
00958 if( p[pixel[6]] > cb)
00959 if( p[pixel[7]] > cb)
00960 if( p[pixel[8]] > cb)
00961 goto is_a_corner;
00962 else
00963 goto is_not_a_corner;
00964 else
00965 goto is_not_a_corner;
00966 else
00967 goto is_not_a_corner;
00968 else
00969 goto is_not_a_corner;
00970 else
00971 goto is_not_a_corner;
00972 else
00973 if( p[pixel[3]] > cb)
00974 if( p[pixel[4]] > cb)
00975 if( p[pixel[5]] > cb)
00976 if( p[pixel[6]] > cb)
00977 if( p[pixel[7]] > cb)
00978 if( p[pixel[8]] > cb)
00979 goto is_a_corner;
00980 else
00981 goto is_not_a_corner;
00982 else
00983 goto is_not_a_corner;
00984 else
00985 goto is_not_a_corner;
00986 else
00987 goto is_not_a_corner;
00988 else
00989 goto is_not_a_corner;
00990 else
00991 goto is_not_a_corner;
00992 else
00993 goto is_not_a_corner;
00994 else
00995 goto is_not_a_corner;
00996 else if( p[pixel[9]] < c_b)
00997 if( p[pixel[7]] < c_b)
00998 if( p[pixel[8]] < c_b)
00999 if( p[pixel[10]] < c_b)
01000 if( p[pixel[11]] < c_b)
01001 if( p[pixel[6]] < c_b)
01002 if( p[pixel[5]] < c_b)
01003 if( p[pixel[4]] < c_b)
01004 if( p[pixel[3]] < c_b)
01005 goto is_a_corner;
01006 else
01007 if( p[pixel[12]] < c_b)
01008 goto is_a_corner;
01009 else
01010 goto is_not_a_corner;
01011 else
01012 if( p[pixel[12]] < c_b)
01013 if( p[pixel[13]] < c_b)
01014 goto is_a_corner;
01015 else
01016 goto is_not_a_corner;
01017 else
01018 goto is_not_a_corner;
01019 else
01020 if( p[pixel[12]] < c_b)
01021 if( p[pixel[13]] < c_b)
01022 if( p[pixel[14]] < c_b)
01023 goto is_a_corner;
01024 else
01025 goto is_not_a_corner;
01026 else
01027 goto is_not_a_corner;
01028 else
01029 goto is_not_a_corner;
01030 else
01031 if( p[pixel[12]] < c_b)
01032 if( p[pixel[13]] < c_b)
01033 if( p[pixel[14]] < c_b)
01034 if( p[pixel[15]] < c_b)
01035 goto is_a_corner;
01036 else
01037 goto is_not_a_corner;
01038 else
01039 goto is_not_a_corner;
01040 else
01041 goto is_not_a_corner;
01042 else
01043 goto is_not_a_corner;
01044 else
01045 goto is_not_a_corner;
01046 else
01047 goto is_not_a_corner;
01048 else
01049 goto is_not_a_corner;
01050 else
01051 goto is_not_a_corner;
01052 else
01053 goto is_not_a_corner;
01054 else if( p[pixel[1]] < c_b)
01055 if( p[pixel[8]] > cb)
01056 if( p[pixel[9]] > cb)
01057 if( p[pixel[10]] > cb)
01058 if( p[pixel[11]] > cb)
01059 if( p[pixel[12]] > cb)
01060 if( p[pixel[13]] > cb)
01061 if( p[pixel[14]] > cb)
01062 if( p[pixel[15]] > cb)
01063 goto is_a_corner;
01064 else
01065 if( p[pixel[6]] > cb)
01066 if( p[pixel[7]] > cb)
01067 goto is_a_corner;
01068 else
01069 goto is_not_a_corner;
01070 else
01071 goto is_not_a_corner;
01072 else
01073 if( p[pixel[5]] > cb)
01074 if( p[pixel[6]] > cb)
01075 if( p[pixel[7]] > cb)
01076 goto is_a_corner;
01077 else
01078 goto is_not_a_corner;
01079 else
01080 goto is_not_a_corner;
01081 else
01082 goto is_not_a_corner;
01083 else
01084 if( p[pixel[4]] > cb)
01085 if( p[pixel[5]] > cb)
01086 if( p[pixel[6]] > cb)
01087 if( p[pixel[7]] > cb)
01088 goto is_a_corner;
01089 else
01090 goto is_not_a_corner;
01091 else
01092 goto is_not_a_corner;
01093 else
01094 goto is_not_a_corner;
01095 else
01096 goto is_not_a_corner;
01097 else
01098 if( p[pixel[3]] > cb)
01099 if( p[pixel[4]] > cb)
01100 if( p[pixel[5]] > cb)
01101 if( p[pixel[6]] > cb)
01102 if( p[pixel[7]] > cb)
01103 goto is_a_corner;
01104 else
01105 goto is_not_a_corner;
01106 else
01107 goto is_not_a_corner;
01108 else
01109 goto is_not_a_corner;
01110 else
01111 goto is_not_a_corner;
01112 else
01113 goto is_not_a_corner;
01114 else
01115 if( p[pixel[2]] > cb)
01116 if( p[pixel[3]] > cb)
01117 if( p[pixel[4]] > cb)
01118 if( p[pixel[5]] > cb)
01119 if( p[pixel[6]] > cb)
01120 if( p[pixel[7]] > cb)
01121 goto is_a_corner;
01122 else
01123 goto is_not_a_corner;
01124 else
01125 goto is_not_a_corner;
01126 else
01127 goto is_not_a_corner;
01128 else
01129 goto is_not_a_corner;
01130 else
01131 goto is_not_a_corner;
01132 else
01133 goto is_not_a_corner;
01134 else
01135 goto is_not_a_corner;
01136 else
01137 goto is_not_a_corner;
01138 else if( p[pixel[8]] < c_b)
01139 if( p[pixel[7]] < c_b)
01140 if( p[pixel[9]] < c_b)
01141 if( p[pixel[6]] < c_b)
01142 if( p[pixel[5]] < c_b)
01143 if( p[pixel[4]] < c_b)
01144 if( p[pixel[3]] < c_b)
01145 if( p[pixel[2]] < c_b)
01146 goto is_a_corner;
01147 else
01148 if( p[pixel[10]] < c_b)
01149 if( p[pixel[11]] < c_b)
01150 goto is_a_corner;
01151 else
01152 goto is_not_a_corner;
01153 else
01154 goto is_not_a_corner;
01155 else
01156 if( p[pixel[10]] < c_b)
01157 if( p[pixel[11]] < c_b)
01158 if( p[pixel[12]] < c_b)
01159 goto is_a_corner;
01160 else
01161 goto is_not_a_corner;
01162 else
01163 goto is_not_a_corner;
01164 else
01165 goto is_not_a_corner;
01166 else
01167 if( p[pixel[10]] < c_b)
01168 if( p[pixel[11]] < c_b)
01169 if( p[pixel[12]] < c_b)
01170 if( p[pixel[13]] < c_b)
01171 goto is_a_corner;
01172 else
01173 goto is_not_a_corner;
01174 else
01175 goto is_not_a_corner;
01176 else
01177 goto is_not_a_corner;
01178 else
01179 goto is_not_a_corner;
01180 else
01181 if( p[pixel[10]] < c_b)
01182 if( p[pixel[11]] < c_b)
01183 if( p[pixel[12]] < c_b)
01184 if( p[pixel[13]] < c_b)
01185 if( p[pixel[14]] < c_b)
01186 goto is_a_corner;
01187 else
01188 goto is_not_a_corner;
01189 else
01190 goto is_not_a_corner;
01191 else
01192 goto is_not_a_corner;
01193 else
01194 goto is_not_a_corner;
01195 else
01196 goto is_not_a_corner;
01197 else
01198 if( p[pixel[10]] < c_b)
01199 if( p[pixel[11]] < c_b)
01200 if( p[pixel[12]] < c_b)
01201 if( p[pixel[13]] < c_b)
01202 if( p[pixel[14]] < c_b)
01203 if( p[pixel[15]] < c_b)
01204 goto is_a_corner;
01205 else
01206 goto is_not_a_corner;
01207 else
01208 goto is_not_a_corner;
01209 else
01210 goto is_not_a_corner;
01211 else
01212 goto is_not_a_corner;
01213 else
01214 goto is_not_a_corner;
01215 else
01216 goto is_not_a_corner;
01217 else
01218 goto is_not_a_corner;
01219 else
01220 goto is_not_a_corner;
01221 else
01222 goto is_not_a_corner;
01223 else
01224 if( p[pixel[8]] > cb)
01225 if( p[pixel[9]] > cb)
01226 if( p[pixel[10]] > cb)
01227 if( p[pixel[11]] > cb)
01228 if( p[pixel[12]] > cb)
01229 if( p[pixel[13]] > cb)
01230 if( p[pixel[14]] > cb)
01231 if( p[pixel[15]] > cb)
01232 goto is_a_corner;
01233 else
01234 if( p[pixel[6]] > cb)
01235 if( p[pixel[7]] > cb)
01236 goto is_a_corner;
01237 else
01238 goto is_not_a_corner;
01239 else
01240 goto is_not_a_corner;
01241 else
01242 if( p[pixel[5]] > cb)
01243 if( p[pixel[6]] > cb)
01244 if( p[pixel[7]] > cb)
01245 goto is_a_corner;
01246 else
01247 goto is_not_a_corner;
01248 else
01249 goto is_not_a_corner;
01250 else
01251 goto is_not_a_corner;
01252 else
01253 if( p[pixel[4]] > cb)
01254 if( p[pixel[5]] > cb)
01255 if( p[pixel[6]] > cb)
01256 if( p[pixel[7]] > cb)
01257 goto is_a_corner;
01258 else
01259 goto is_not_a_corner;
01260 else
01261 goto is_not_a_corner;
01262 else
01263 goto is_not_a_corner;
01264 else
01265 goto is_not_a_corner;
01266 else
01267 if( p[pixel[3]] > cb)
01268 if( p[pixel[4]] > cb)
01269 if( p[pixel[5]] > cb)
01270 if( p[pixel[6]] > cb)
01271 if( p[pixel[7]] > cb)
01272 goto is_a_corner;
01273 else
01274 goto is_not_a_corner;
01275 else
01276 goto is_not_a_corner;
01277 else
01278 goto is_not_a_corner;
01279 else
01280 goto is_not_a_corner;
01281 else
01282 goto is_not_a_corner;
01283 else
01284 if( p[pixel[2]] > cb)
01285 if( p[pixel[3]] > cb)
01286 if( p[pixel[4]] > cb)
01287 if( p[pixel[5]] > cb)
01288 if( p[pixel[6]] > cb)
01289 if( p[pixel[7]] > cb)
01290 goto is_a_corner;
01291 else
01292 goto is_not_a_corner;
01293 else
01294 goto is_not_a_corner;
01295 else
01296 goto is_not_a_corner;
01297 else
01298 goto is_not_a_corner;
01299 else
01300 goto is_not_a_corner;
01301 else
01302 goto is_not_a_corner;
01303 else
01304 goto is_not_a_corner;
01305 else
01306 goto is_not_a_corner;
01307 else if( p[pixel[8]] < c_b)
01308 if( p[pixel[7]] < c_b)
01309 if( p[pixel[9]] < c_b)
01310 if( p[pixel[10]] < c_b)
01311 if( p[pixel[6]] < c_b)
01312 if( p[pixel[5]] < c_b)
01313 if( p[pixel[4]] < c_b)
01314 if( p[pixel[3]] < c_b)
01315 if( p[pixel[2]] < c_b)
01316 goto is_a_corner;
01317 else
01318 if( p[pixel[11]] < c_b)
01319 goto is_a_corner;
01320 else
01321 goto is_not_a_corner;
01322 else
01323 if( p[pixel[11]] < c_b)
01324 if( p[pixel[12]] < c_b)
01325 goto is_a_corner;
01326 else
01327 goto is_not_a_corner;
01328 else
01329 goto is_not_a_corner;
01330 else
01331 if( p[pixel[11]] < c_b)
01332 if( p[pixel[12]] < c_b)
01333 if( p[pixel[13]] < c_b)
01334 goto is_a_corner;
01335 else
01336 goto is_not_a_corner;
01337 else
01338 goto is_not_a_corner;
01339 else
01340 goto is_not_a_corner;
01341 else
01342 if( p[pixel[11]] < c_b)
01343 if( p[pixel[12]] < c_b)
01344 if( p[pixel[13]] < c_b)
01345 if( p[pixel[14]] < c_b)
01346 goto is_a_corner;
01347 else
01348 goto is_not_a_corner;
01349 else
01350 goto is_not_a_corner;
01351 else
01352 goto is_not_a_corner;
01353 else
01354 goto is_not_a_corner;
01355 else
01356 if( p[pixel[11]] < c_b)
01357 if( p[pixel[12]] < c_b)
01358 if( p[pixel[13]] < c_b)
01359 if( p[pixel[14]] < c_b)
01360 if( p[pixel[15]] < c_b)
01361 goto is_a_corner;
01362 else
01363 goto is_not_a_corner;
01364 else
01365 goto is_not_a_corner;
01366 else
01367 goto is_not_a_corner;
01368 else
01369 goto is_not_a_corner;
01370 else
01371 goto is_not_a_corner;
01372 else
01373 goto is_not_a_corner;
01374 else
01375 goto is_not_a_corner;
01376 else
01377 goto is_not_a_corner;
01378 else
01379 goto is_not_a_corner;
01380 else if( p[pixel[0]] < c_b)
01381 if( p[pixel[1]] > cb)
01382 if( p[pixel[8]] > cb)
01383 if( p[pixel[7]] > cb)
01384 if( p[pixel[9]] > cb)
01385 if( p[pixel[6]] > cb)
01386 if( p[pixel[5]] > cb)
01387 if( p[pixel[4]] > cb)
01388 if( p[pixel[3]] > cb)
01389 if( p[pixel[2]] > cb)
01390 goto is_a_corner;
01391 else
01392 if( p[pixel[10]] > cb)
01393 if( p[pixel[11]] > cb)
01394 goto is_a_corner;
01395 else
01396 goto is_not_a_corner;
01397 else
01398 goto is_not_a_corner;
01399 else
01400 if( p[pixel[10]] > cb)
01401 if( p[pixel[11]] > cb)
01402 if( p[pixel[12]] > cb)
01403 goto is_a_corner;
01404 else
01405 goto is_not_a_corner;
01406 else
01407 goto is_not_a_corner;
01408 else
01409 goto is_not_a_corner;
01410 else
01411 if( p[pixel[10]] > cb)
01412 if( p[pixel[11]] > cb)
01413 if( p[pixel[12]] > cb)
01414 if( p[pixel[13]] > cb)
01415 goto is_a_corner;
01416 else
01417 goto is_not_a_corner;
01418 else
01419 goto is_not_a_corner;
01420 else
01421 goto is_not_a_corner;
01422 else
01423 goto is_not_a_corner;
01424 else
01425 if( p[pixel[10]] > cb)
01426 if( p[pixel[11]] > cb)
01427 if( p[pixel[12]] > cb)
01428 if( p[pixel[13]] > cb)
01429 if( p[pixel[14]] > cb)
01430 goto is_a_corner;
01431 else
01432 goto is_not_a_corner;
01433 else
01434 goto is_not_a_corner;
01435 else
01436 goto is_not_a_corner;
01437 else
01438 goto is_not_a_corner;
01439 else
01440 goto is_not_a_corner;
01441 else
01442 if( p[pixel[10]] > cb)
01443 if( p[pixel[11]] > cb)
01444 if( p[pixel[12]] > cb)
01445 if( p[pixel[13]] > cb)
01446 if( p[pixel[14]] > cb)
01447 if( p[pixel[15]] > cb)
01448 goto is_a_corner;
01449 else
01450 goto is_not_a_corner;
01451 else
01452 goto is_not_a_corner;
01453 else
01454 goto is_not_a_corner;
01455 else
01456 goto is_not_a_corner;
01457 else
01458 goto is_not_a_corner;
01459 else
01460 goto is_not_a_corner;
01461 else
01462 goto is_not_a_corner;
01463 else
01464 goto is_not_a_corner;
01465 else if( p[pixel[8]] < c_b)
01466 if( p[pixel[9]] < c_b)
01467 if( p[pixel[10]] < c_b)
01468 if( p[pixel[11]] < c_b)
01469 if( p[pixel[12]] < c_b)
01470 if( p[pixel[13]] < c_b)
01471 if( p[pixel[14]] < c_b)
01472 if( p[pixel[15]] < c_b)
01473 goto is_a_corner;
01474 else
01475 if( p[pixel[6]] < c_b)
01476 if( p[pixel[7]] < c_b)
01477 goto is_a_corner;
01478 else
01479 goto is_not_a_corner;
01480 else
01481 goto is_not_a_corner;
01482 else
01483 if( p[pixel[5]] < c_b)
01484 if( p[pixel[6]] < c_b)
01485 if( p[pixel[7]] < c_b)
01486 goto is_a_corner;
01487 else
01488 goto is_not_a_corner;
01489 else
01490 goto is_not_a_corner;
01491 else
01492 goto is_not_a_corner;
01493 else
01494 if( p[pixel[4]] < c_b)
01495 if( p[pixel[5]] < c_b)
01496 if( p[pixel[6]] < c_b)
01497 if( p[pixel[7]] < c_b)
01498 goto is_a_corner;
01499 else
01500 goto is_not_a_corner;
01501 else
01502 goto is_not_a_corner;
01503 else
01504 goto is_not_a_corner;
01505 else
01506 goto is_not_a_corner;
01507 else
01508 if( p[pixel[3]] < c_b)
01509 if( p[pixel[4]] < c_b)
01510 if( p[pixel[5]] < c_b)
01511 if( p[pixel[6]] < c_b)
01512 if( p[pixel[7]] < c_b)
01513 goto is_a_corner;
01514 else
01515 goto is_not_a_corner;
01516 else
01517 goto is_not_a_corner;
01518 else
01519 goto is_not_a_corner;
01520 else
01521 goto is_not_a_corner;
01522 else
01523 goto is_not_a_corner;
01524 else
01525 if( p[pixel[2]] < c_b)
01526 if( p[pixel[3]] < c_b)
01527 if( p[pixel[4]] < c_b)
01528 if( p[pixel[5]] < c_b)
01529 if( p[pixel[6]] < c_b)
01530 if( p[pixel[7]] < c_b)
01531 goto is_a_corner;
01532 else
01533 goto is_not_a_corner;
01534 else
01535 goto is_not_a_corner;
01536 else
01537 goto is_not_a_corner;
01538 else
01539 goto is_not_a_corner;
01540 else
01541 goto is_not_a_corner;
01542 else
01543 goto is_not_a_corner;
01544 else
01545 goto is_not_a_corner;
01546 else
01547 goto is_not_a_corner;
01548 else
01549 goto is_not_a_corner;
01550 else if( p[pixel[1]] < c_b)
01551 if( p[pixel[2]] > cb)
01552 if( p[pixel[9]] > cb)
01553 if( p[pixel[7]] > cb)
01554 if( p[pixel[8]] > cb)
01555 if( p[pixel[10]] > cb)
01556 if( p[pixel[6]] > cb)
01557 if( p[pixel[5]] > cb)
01558 if( p[pixel[4]] > cb)
01559 if( p[pixel[3]] > cb)
01560 goto is_a_corner;
01561 else
01562 if( p[pixel[11]] > cb)
01563 if( p[pixel[12]] > cb)
01564 goto is_a_corner;
01565 else
01566 goto is_not_a_corner;
01567 else
01568 goto is_not_a_corner;
01569 else
01570 if( p[pixel[11]] > cb)
01571 if( p[pixel[12]] > cb)
01572 if( p[pixel[13]] > cb)
01573 goto is_a_corner;
01574 else
01575 goto is_not_a_corner;
01576 else
01577 goto is_not_a_corner;
01578 else
01579 goto is_not_a_corner;
01580 else
01581 if( p[pixel[11]] > cb)
01582 if( p[pixel[12]] > cb)
01583 if( p[pixel[13]] > cb)
01584 if( p[pixel[14]] > cb)
01585 goto is_a_corner;
01586 else
01587 goto is_not_a_corner;
01588 else
01589 goto is_not_a_corner;
01590 else
01591 goto is_not_a_corner;
01592 else
01593 goto is_not_a_corner;
01594 else
01595 if( p[pixel[11]] > cb)
01596 if( p[pixel[12]] > cb)
01597 if( p[pixel[13]] > cb)
01598 if( p[pixel[14]] > cb)
01599 if( p[pixel[15]] > cb)
01600 goto is_a_corner;
01601 else
01602 goto is_not_a_corner;
01603 else
01604 goto is_not_a_corner;
01605 else
01606 goto is_not_a_corner;
01607 else
01608 goto is_not_a_corner;
01609 else
01610 goto is_not_a_corner;
01611 else
01612 goto is_not_a_corner;
01613 else
01614 goto is_not_a_corner;
01615 else
01616 goto is_not_a_corner;
01617 else if( p[pixel[9]] < c_b)
01618 if( p[pixel[10]] < c_b)
01619 if( p[pixel[11]] < c_b)
01620 if( p[pixel[12]] < c_b)
01621 if( p[pixel[13]] < c_b)
01622 if( p[pixel[14]] < c_b)
01623 if( p[pixel[15]] < c_b)
01624 goto is_a_corner;
01625 else
01626 if( p[pixel[6]] < c_b)
01627 if( p[pixel[7]] < c_b)
01628 if( p[pixel[8]] < c_b)
01629 goto is_a_corner;
01630 else
01631 goto is_not_a_corner;
01632 else
01633 goto is_not_a_corner;
01634 else
01635 goto is_not_a_corner;
01636 else
01637 if( p[pixel[5]] < c_b)
01638 if( p[pixel[6]] < c_b)
01639 if( p[pixel[7]] < c_b)
01640 if( p[pixel[8]] < c_b)
01641 goto is_a_corner;
01642 else
01643 goto is_not_a_corner;
01644 else
01645 goto is_not_a_corner;
01646 else
01647 goto is_not_a_corner;
01648 else
01649 goto is_not_a_corner;
01650 else
01651 if( p[pixel[4]] < c_b)
01652 if( p[pixel[5]] < c_b)
01653 if( p[pixel[6]] < c_b)
01654 if( p[pixel[7]] < c_b)
01655 if( p[pixel[8]] < c_b)
01656 goto is_a_corner;
01657 else
01658 goto is_not_a_corner;
01659 else
01660 goto is_not_a_corner;
01661 else
01662 goto is_not_a_corner;
01663 else
01664 goto is_not_a_corner;
01665 else
01666 goto is_not_a_corner;
01667 else
01668 if( p[pixel[3]] < c_b)
01669 if( p[pixel[4]] < c_b)
01670 if( p[pixel[5]] < c_b)
01671 if( p[pixel[6]] < c_b)
01672 if( p[pixel[7]] < c_b)
01673 if( p[pixel[8]] < c_b)
01674 goto is_a_corner;
01675 else
01676 goto is_not_a_corner;
01677 else
01678 goto is_not_a_corner;
01679 else
01680 goto is_not_a_corner;
01681 else
01682 goto is_not_a_corner;
01683 else
01684 goto is_not_a_corner;
01685 else
01686 goto is_not_a_corner;
01687 else
01688 goto is_not_a_corner;
01689 else
01690 goto is_not_a_corner;
01691 else
01692 goto is_not_a_corner;
01693 else if( p[pixel[2]] < c_b)
01694 if( p[pixel[3]] > cb)
01695 if( p[pixel[10]] > cb)
01696 if( p[pixel[7]] > cb)
01697 if( p[pixel[8]] > cb)
01698 if( p[pixel[9]] > cb)
01699 if( p[pixel[11]] > cb)
01700 if( p[pixel[6]] > cb)
01701 if( p[pixel[5]] > cb)
01702 if( p[pixel[4]] > cb)
01703 goto is_a_corner;
01704 else
01705 if( p[pixel[12]] > cb)
01706 if( p[pixel[13]] > cb)
01707 goto is_a_corner;
01708 else
01709 goto is_not_a_corner;
01710 else
01711 goto is_not_a_corner;
01712 else
01713 if( p[pixel[12]] > cb)
01714 if( p[pixel[13]] > cb)
01715 if( p[pixel[14]] > cb)
01716 goto is_a_corner;
01717 else
01718 goto is_not_a_corner;
01719 else
01720 goto is_not_a_corner;
01721 else
01722 goto is_not_a_corner;
01723 else
01724 if( p[pixel[12]] > cb)
01725 if( p[pixel[13]] > cb)
01726 if( p[pixel[14]] > cb)
01727 if( p[pixel[15]] > cb)
01728 goto is_a_corner;
01729 else
01730 goto is_not_a_corner;
01731 else
01732 goto is_not_a_corner;
01733 else
01734 goto is_not_a_corner;
01735 else
01736 goto is_not_a_corner;
01737 else
01738 goto is_not_a_corner;
01739 else
01740 goto is_not_a_corner;
01741 else
01742 goto is_not_a_corner;
01743 else
01744 goto is_not_a_corner;
01745 else if( p[pixel[10]] < c_b)
01746 if( p[pixel[11]] < c_b)
01747 if( p[pixel[12]] < c_b)
01748 if( p[pixel[13]] < c_b)
01749 if( p[pixel[14]] < c_b)
01750 if( p[pixel[15]] < c_b)
01751 goto is_a_corner;
01752 else
01753 if( p[pixel[6]] < c_b)
01754 if( p[pixel[7]] < c_b)
01755 if( p[pixel[8]] < c_b)
01756 if( p[pixel[9]] < c_b)
01757 goto is_a_corner;
01758 else
01759 goto is_not_a_corner;
01760 else
01761 goto is_not_a_corner;
01762 else
01763 goto is_not_a_corner;
01764 else
01765 goto is_not_a_corner;
01766 else
01767 if( p[pixel[5]] < c_b)
01768 if( p[pixel[6]] < c_b)
01769 if( p[pixel[7]] < c_b)
01770 if( p[pixel[8]] < c_b)
01771 if( p[pixel[9]] < c_b)
01772 goto is_a_corner;
01773 else
01774 goto is_not_a_corner;
01775 else
01776 goto is_not_a_corner;
01777 else
01778 goto is_not_a_corner;
01779 else
01780 goto is_not_a_corner;
01781 else
01782 goto is_not_a_corner;
01783 else
01784 if( p[pixel[4]] < c_b)
01785 if( p[pixel[5]] < c_b)
01786 if( p[pixel[6]] < c_b)
01787 if( p[pixel[7]] < c_b)
01788 if( p[pixel[8]] < c_b)
01789 if( p[pixel[9]] < c_b)
01790 goto is_a_corner;
01791 else
01792 goto is_not_a_corner;
01793 else
01794 goto is_not_a_corner;
01795 else
01796 goto is_not_a_corner;
01797 else
01798 goto is_not_a_corner;
01799 else
01800 goto is_not_a_corner;
01801 else
01802 goto is_not_a_corner;
01803 else
01804 goto is_not_a_corner;
01805 else
01806 goto is_not_a_corner;
01807 else
01808 goto is_not_a_corner;
01809 else if( p[pixel[3]] < c_b)
01810 if( p[pixel[4]] > cb)
01811 if( p[pixel[13]] > cb)
01812 if( p[pixel[7]] > cb)
01813 if( p[pixel[8]] > cb)
01814 if( p[pixel[9]] > cb)
01815 if( p[pixel[10]] > cb)
01816 if( p[pixel[11]] > cb)
01817 if( p[pixel[12]] > cb)
01818 if( p[pixel[6]] > cb)
01819 if( p[pixel[5]] > cb)
01820 goto is_a_corner;
01821 else
01822 if( p[pixel[14]] > cb)
01823 goto is_a_corner;
01824 else
01825 goto is_not_a_corner;
01826 else
01827 if( p[pixel[14]] > cb)
01828 if( p[pixel[15]] > cb)
01829 goto is_a_corner;
01830 else
01831 goto is_not_a_corner;
01832 else
01833 goto is_not_a_corner;
01834 else
01835 goto is_not_a_corner;
01836 else
01837 goto is_not_a_corner;
01838 else
01839 goto is_not_a_corner;
01840 else
01841 goto is_not_a_corner;
01842 else
01843 goto is_not_a_corner;
01844 else
01845 goto is_not_a_corner;
01846 else if( p[pixel[13]] < c_b)
01847 if( p[pixel[11]] > cb)
01848 if( p[pixel[5]] > cb)
01849 if( p[pixel[6]] > cb)
01850 if( p[pixel[7]] > cb)
01851 if( p[pixel[8]] > cb)
01852 if( p[pixel[9]] > cb)
01853 if( p[pixel[10]] > cb)
01854 if( p[pixel[12]] > cb)
01855 goto is_a_corner;
01856 else
01857 goto is_not_a_corner;
01858 else
01859 goto is_not_a_corner;
01860 else
01861 goto is_not_a_corner;
01862 else
01863 goto is_not_a_corner;
01864 else
01865 goto is_not_a_corner;
01866 else
01867 goto is_not_a_corner;
01868 else
01869 goto is_not_a_corner;
01870 else if( p[pixel[11]] < c_b)
01871 if( p[pixel[12]] < c_b)
01872 if( p[pixel[14]] < c_b)
01873 if( p[pixel[15]] < c_b)
01874 goto is_a_corner;
01875 else
01876 if( p[pixel[6]] < c_b)
01877 if( p[pixel[7]] < c_b)
01878 if( p[pixel[8]] < c_b)
01879 if( p[pixel[9]] < c_b)
01880 if( p[pixel[10]] < c_b)
01881 goto is_a_corner;
01882 else
01883 goto is_not_a_corner;
01884 else
01885 goto is_not_a_corner;
01886 else
01887 goto is_not_a_corner;
01888 else
01889 goto is_not_a_corner;
01890 else
01891 goto is_not_a_corner;
01892 else
01893 if( p[pixel[5]] < c_b)
01894 if( p[pixel[6]] < c_b)
01895 if( p[pixel[7]] < c_b)
01896 if( p[pixel[8]] < c_b)
01897 if( p[pixel[9]] < c_b)
01898 if( p[pixel[10]] < c_b)
01899 goto is_a_corner;
01900 else
01901 goto is_not_a_corner;
01902 else
01903 goto is_not_a_corner;
01904 else
01905 goto is_not_a_corner;
01906 else
01907 goto is_not_a_corner;
01908 else
01909 goto is_not_a_corner;
01910 else
01911 goto is_not_a_corner;
01912 else
01913 goto is_not_a_corner;
01914 else
01915 goto is_not_a_corner;
01916 else
01917 if( p[pixel[5]] > cb)
01918 if( p[pixel[6]] > cb)
01919 if( p[pixel[7]] > cb)
01920 if( p[pixel[8]] > cb)
01921 if( p[pixel[9]] > cb)
01922 if( p[pixel[10]] > cb)
01923 if( p[pixel[11]] > cb)
01924 if( p[pixel[12]] > cb)
01925 goto is_a_corner;
01926 else
01927 goto is_not_a_corner;
01928 else
01929 goto is_not_a_corner;
01930 else
01931 goto is_not_a_corner;
01932 else
01933 goto is_not_a_corner;
01934 else
01935 goto is_not_a_corner;
01936 else
01937 goto is_not_a_corner;
01938 else
01939 goto is_not_a_corner;
01940 else
01941 goto is_not_a_corner;
01942 else if( p[pixel[4]] < c_b)
01943 if( p[pixel[5]] > cb)
01944 if( p[pixel[14]] > cb)
01945 if( p[pixel[7]] > cb)
01946 if( p[pixel[8]] > cb)
01947 if( p[pixel[9]] > cb)
01948 if( p[pixel[10]] > cb)
01949 if( p[pixel[11]] > cb)
01950 if( p[pixel[12]] > cb)
01951 if( p[pixel[13]] > cb)
01952 if( p[pixel[6]] > cb)
01953 goto is_a_corner;
01954 else
01955 if( p[pixel[15]] > cb)
01956 goto is_a_corner;
01957 else
01958 goto is_not_a_corner;
01959 else
01960 goto is_not_a_corner;
01961 else
01962 goto is_not_a_corner;
01963 else
01964 goto is_not_a_corner;
01965 else
01966 goto is_not_a_corner;
01967 else
01968 goto is_not_a_corner;
01969 else
01970 goto is_not_a_corner;
01971 else
01972 goto is_not_a_corner;
01973 else if( p[pixel[14]] < c_b)
01974 if( p[pixel[12]] > cb)
01975 if( p[pixel[6]] > cb)
01976 if( p[pixel[7]] > cb)
01977 if( p[pixel[8]] > cb)
01978 if( p[pixel[9]] > cb)
01979 if( p[pixel[10]] > cb)
01980 if( p[pixel[11]] > cb)
01981 if( p[pixel[13]] > cb)
01982 goto is_a_corner;
01983 else
01984 goto is_not_a_corner;
01985 else
01986 goto is_not_a_corner;
01987 else
01988 goto is_not_a_corner;
01989 else
01990 goto is_not_a_corner;
01991 else
01992 goto is_not_a_corner;
01993 else
01994 goto is_not_a_corner;
01995 else
01996 goto is_not_a_corner;
01997 else if( p[pixel[12]] < c_b)
01998 if( p[pixel[13]] < c_b)
01999 if( p[pixel[15]] < c_b)
02000 goto is_a_corner;
02001 else
02002 if( p[pixel[6]] < c_b)
02003 if( p[pixel[7]] < c_b)
02004 if( p[pixel[8]] < c_b)
02005 if( p[pixel[9]] < c_b)
02006 if( p[pixel[10]] < c_b)
02007 if( p[pixel[11]] < c_b)
02008 goto is_a_corner;
02009 else
02010 goto is_not_a_corner;
02011 else
02012 goto is_not_a_corner;
02013 else
02014 goto is_not_a_corner;
02015 else
02016 goto is_not_a_corner;
02017 else
02018 goto is_not_a_corner;
02019 else
02020 goto is_not_a_corner;
02021 else
02022 goto is_not_a_corner;
02023 else
02024 goto is_not_a_corner;
02025 else
02026 if( p[pixel[6]] > cb)
02027 if( p[pixel[7]] > cb)
02028 if( p[pixel[8]] > cb)
02029 if( p[pixel[9]] > cb)
02030 if( p[pixel[10]] > cb)
02031 if( p[pixel[11]] > cb)
02032 if( p[pixel[12]] > cb)
02033 if( p[pixel[13]] > cb)
02034 goto is_a_corner;
02035 else
02036 goto is_not_a_corner;
02037 else
02038 goto is_not_a_corner;
02039 else
02040 goto is_not_a_corner;
02041 else
02042 goto is_not_a_corner;
02043 else
02044 goto is_not_a_corner;
02045 else
02046 goto is_not_a_corner;
02047 else
02048 goto is_not_a_corner;
02049 else
02050 goto is_not_a_corner;
02051 else if( p[pixel[5]] < c_b)
02052 if( p[pixel[6]] > cb)
02053 if( p[pixel[15]] < c_b)
02054 if( p[pixel[13]] > cb)
02055 if( p[pixel[7]] > cb)
02056 if( p[pixel[8]] > cb)
02057 if( p[pixel[9]] > cb)
02058 if( p[pixel[10]] > cb)
02059 if( p[pixel[11]] > cb)
02060 if( p[pixel[12]] > cb)
02061 if( p[pixel[14]] > cb)
02062 goto is_a_corner;
02063 else
02064 goto is_not_a_corner;
02065 else
02066 goto is_not_a_corner;
02067 else
02068 goto is_not_a_corner;
02069 else
02070 goto is_not_a_corner;
02071 else
02072 goto is_not_a_corner;
02073 else
02074 goto is_not_a_corner;
02075 else
02076 goto is_not_a_corner;
02077 else if( p[pixel[13]] < c_b)
02078 if( p[pixel[14]] < c_b)
02079 goto is_a_corner;
02080 else
02081 goto is_not_a_corner;
02082 else
02083 goto is_not_a_corner;
02084 else
02085 if( p[pixel[7]] > cb)
02086 if( p[pixel[8]] > cb)
02087 if( p[pixel[9]] > cb)
02088 if( p[pixel[10]] > cb)
02089 if( p[pixel[11]] > cb)
02090 if( p[pixel[12]] > cb)
02091 if( p[pixel[13]] > cb)
02092 if( p[pixel[14]] > cb)
02093 goto is_a_corner;
02094 else
02095 goto is_not_a_corner;
02096 else
02097 goto is_not_a_corner;
02098 else
02099 goto is_not_a_corner;
02100 else
02101 goto is_not_a_corner;
02102 else
02103 goto is_not_a_corner;
02104 else
02105 goto is_not_a_corner;
02106 else
02107 goto is_not_a_corner;
02108 else
02109 goto is_not_a_corner;
02110 else if( p[pixel[6]] < c_b)
02111 if( p[pixel[7]] > cb)
02112 if( p[pixel[14]] > cb)
02113 if( p[pixel[8]] > cb)
02114 if( p[pixel[9]] > cb)
02115 if( p[pixel[10]] > cb)
02116 if( p[pixel[11]] > cb)
02117 if( p[pixel[12]] > cb)
02118 if( p[pixel[13]] > cb)
02119 if( p[pixel[15]] > cb)
02120 goto is_a_corner;
02121 else
02122 goto is_not_a_corner;
02123 else
02124 goto is_not_a_corner;
02125 else
02126 goto is_not_a_corner;
02127 else
02128 goto is_not_a_corner;
02129 else
02130 goto is_not_a_corner;
02131 else
02132 goto is_not_a_corner;
02133 else
02134 goto is_not_a_corner;
02135 else if( p[pixel[14]] < c_b)
02136 if( p[pixel[15]] < c_b)
02137 goto is_a_corner;
02138 else
02139 goto is_not_a_corner;
02140 else
02141 goto is_not_a_corner;
02142 else if( p[pixel[7]] < c_b)
02143 if( p[pixel[8]] < c_b)
02144 goto is_a_corner;
02145 else
02146 if( p[pixel[15]] < c_b)
02147 goto is_a_corner;
02148 else
02149 goto is_not_a_corner;
02150 else
02151 if( p[pixel[14]] < c_b)
02152 if( p[pixel[15]] < c_b)
02153 goto is_a_corner;
02154 else
02155 goto is_not_a_corner;
02156 else
02157 goto is_not_a_corner;
02158 else
02159 if( p[pixel[13]] > cb)
02160 if( p[pixel[7]] > cb)
02161 if( p[pixel[8]] > cb)
02162 if( p[pixel[9]] > cb)
02163 if( p[pixel[10]] > cb)
02164 if( p[pixel[11]] > cb)
02165 if( p[pixel[12]] > cb)
02166 if( p[pixel[14]] > cb)
02167 if( p[pixel[15]] > cb)
02168 goto is_a_corner;
02169 else
02170 goto is_not_a_corner;
02171 else
02172 goto is_not_a_corner;
02173 else
02174 goto is_not_a_corner;
02175 else
02176 goto is_not_a_corner;
02177 else
02178 goto is_not_a_corner;
02179 else
02180 goto is_not_a_corner;
02181 else
02182 goto is_not_a_corner;
02183 else
02184 goto is_not_a_corner;
02185 else if( p[pixel[13]] < c_b)
02186 if( p[pixel[14]] < c_b)
02187 if( p[pixel[15]] < c_b)
02188 goto is_a_corner;
02189 else
02190 goto is_not_a_corner;
02191 else
02192 goto is_not_a_corner;
02193 else
02194 goto is_not_a_corner;
02195 else
02196 if( p[pixel[12]] > cb)
02197 if( p[pixel[7]] > cb)
02198 if( p[pixel[8]] > cb)
02199 if( p[pixel[9]] > cb)
02200 if( p[pixel[10]] > cb)
02201 if( p[pixel[11]] > cb)
02202 if( p[pixel[13]] > cb)
02203 if( p[pixel[14]] > cb)
02204 if( p[pixel[6]] > cb)
02205 goto is_a_corner;
02206 else
02207 if( p[pixel[15]] > cb)
02208 goto is_a_corner;
02209 else
02210 goto is_not_a_corner;
02211 else
02212 goto is_not_a_corner;
02213 else
02214 goto is_not_a_corner;
02215 else
02216 goto is_not_a_corner;
02217 else
02218 goto is_not_a_corner;
02219 else
02220 goto is_not_a_corner;
02221 else
02222 goto is_not_a_corner;
02223 else
02224 goto is_not_a_corner;
02225 else if( p[pixel[12]] < c_b)
02226 if( p[pixel[13]] < c_b)
02227 if( p[pixel[14]] < c_b)
02228 if( p[pixel[15]] < c_b)
02229 goto is_a_corner;
02230 else
02231 if( p[pixel[6]] < c_b)
02232 if( p[pixel[7]] < c_b)
02233 if( p[pixel[8]] < c_b)
02234 if( p[pixel[9]] < c_b)
02235 if( p[pixel[10]] < c_b)
02236 if( p[pixel[11]] < c_b)
02237 goto is_a_corner;
02238 else
02239 goto is_not_a_corner;
02240 else
02241 goto is_not_a_corner;
02242 else
02243 goto is_not_a_corner;
02244 else
02245 goto is_not_a_corner;
02246 else
02247 goto is_not_a_corner;
02248 else
02249 goto is_not_a_corner;
02250 else
02251 goto is_not_a_corner;
02252 else
02253 goto is_not_a_corner;
02254 else
02255 goto is_not_a_corner;
02256 else
02257 if( p[pixel[11]] > cb)
02258 if( p[pixel[7]] > cb)
02259 if( p[pixel[8]] > cb)
02260 if( p[pixel[9]] > cb)
02261 if( p[pixel[10]] > cb)
02262 if( p[pixel[12]] > cb)
02263 if( p[pixel[13]] > cb)
02264 if( p[pixel[6]] > cb)
02265 if( p[pixel[5]] > cb)
02266 goto is_a_corner;
02267 else
02268 if( p[pixel[14]] > cb)
02269 goto is_a_corner;
02270 else
02271 goto is_not_a_corner;
02272 else
02273 if( p[pixel[14]] > cb)
02274 if( p[pixel[15]] > cb)
02275 goto is_a_corner;
02276 else
02277 goto is_not_a_corner;
02278 else
02279 goto is_not_a_corner;
02280 else
02281 goto is_not_a_corner;
02282 else
02283 goto is_not_a_corner;
02284 else
02285 goto is_not_a_corner;
02286 else
02287 goto is_not_a_corner;
02288 else
02289 goto is_not_a_corner;
02290 else
02291 goto is_not_a_corner;
02292 else if( p[pixel[11]] < c_b)
02293 if( p[pixel[12]] < c_b)
02294 if( p[pixel[13]] < c_b)
02295 if( p[pixel[14]] < c_b)
02296 if( p[pixel[15]] < c_b)
02297 goto is_a_corner;
02298 else
02299 if( p[pixel[6]] < c_b)
02300 if( p[pixel[7]] < c_b)
02301 if( p[pixel[8]] < c_b)
02302 if( p[pixel[9]] < c_b)
02303 if( p[pixel[10]] < c_b)
02304 goto is_a_corner;
02305 else
02306 goto is_not_a_corner;
02307 else
02308 goto is_not_a_corner;
02309 else
02310 goto is_not_a_corner;
02311 else
02312 goto is_not_a_corner;
02313 else
02314 goto is_not_a_corner;
02315 else
02316 if( p[pixel[5]] < c_b)
02317 if( p[pixel[6]] < c_b)
02318 if( p[pixel[7]] < c_b)
02319 if( p[pixel[8]] < c_b)
02320 if( p[pixel[9]] < c_b)
02321 if( p[pixel[10]] < c_b)
02322 goto is_a_corner;
02323 else
02324 goto is_not_a_corner;
02325 else
02326 goto is_not_a_corner;
02327 else
02328 goto is_not_a_corner;
02329 else
02330 goto is_not_a_corner;
02331 else
02332 goto is_not_a_corner;
02333 else
02334 goto is_not_a_corner;
02335 else
02336 goto is_not_a_corner;
02337 else
02338 goto is_not_a_corner;
02339 else
02340 goto is_not_a_corner;
02341 else
02342 if( p[pixel[10]] > cb)
02343 if( p[pixel[7]] > cb)
02344 if( p[pixel[8]] > cb)
02345 if( p[pixel[9]] > cb)
02346 if( p[pixel[11]] > cb)
02347 if( p[pixel[12]] > cb)
02348 if( p[pixel[6]] > cb)
02349 if( p[pixel[5]] > cb)
02350 if( p[pixel[4]] > cb)
02351 goto is_a_corner;
02352 else
02353 if( p[pixel[13]] > cb)
02354 goto is_a_corner;
02355 else
02356 goto is_not_a_corner;
02357 else
02358 if( p[pixel[13]] > cb)
02359 if( p[pixel[14]] > cb)
02360 goto is_a_corner;
02361 else
02362 goto is_not_a_corner;
02363 else
02364 goto is_not_a_corner;
02365 else
02366 if( p[pixel[13]] > cb)
02367 if( p[pixel[14]] > cb)
02368 if( p[pixel[15]] > cb)
02369 goto is_a_corner;
02370 else
02371 goto is_not_a_corner;
02372 else
02373 goto is_not_a_corner;
02374 else
02375 goto is_not_a_corner;
02376 else
02377 goto is_not_a_corner;
02378 else
02379 goto is_not_a_corner;
02380 else
02381 goto is_not_a_corner;
02382 else
02383 goto is_not_a_corner;
02384 else
02385 goto is_not_a_corner;
02386 else if( p[pixel[10]] < c_b)
02387 if( p[pixel[11]] < c_b)
02388 if( p[pixel[12]] < c_b)
02389 if( p[pixel[13]] < c_b)
02390 if( p[pixel[14]] < c_b)
02391 if( p[pixel[15]] < c_b)
02392 goto is_a_corner;
02393 else
02394 if( p[pixel[6]] < c_b)
02395 if( p[pixel[7]] < c_b)
02396 if( p[pixel[8]] < c_b)
02397 if( p[pixel[9]] < c_b)
02398 goto is_a_corner;
02399 else
02400 goto is_not_a_corner;
02401 else
02402 goto is_not_a_corner;
02403 else
02404 goto is_not_a_corner;
02405 else
02406 goto is_not_a_corner;
02407 else
02408 if( p[pixel[5]] < c_b)
02409 if( p[pixel[6]] < c_b)
02410 if( p[pixel[7]] < c_b)
02411 if( p[pixel[8]] < c_b)
02412 if( p[pixel[9]] < c_b)
02413 goto is_a_corner;
02414 else
02415 goto is_not_a_corner;
02416 else
02417 goto is_not_a_corner;
02418 else
02419 goto is_not_a_corner;
02420 else
02421 goto is_not_a_corner;
02422 else
02423 goto is_not_a_corner;
02424 else
02425 if( p[pixel[4]] < c_b)
02426 if( p[pixel[5]] < c_b)
02427 if( p[pixel[6]] < c_b)
02428 if( p[pixel[7]] < c_b)
02429 if( p[pixel[8]] < c_b)
02430 if( p[pixel[9]] < c_b)
02431 goto is_a_corner;
02432 else
02433 goto is_not_a_corner;
02434 else
02435 goto is_not_a_corner;
02436 else
02437 goto is_not_a_corner;
02438 else
02439 goto is_not_a_corner;
02440 else
02441 goto is_not_a_corner;
02442 else
02443 goto is_not_a_corner;
02444 else
02445 goto is_not_a_corner;
02446 else
02447 goto is_not_a_corner;
02448 else
02449 goto is_not_a_corner;
02450 else
02451 if( p[pixel[9]] > cb)
02452 if( p[pixel[7]] > cb)
02453 if( p[pixel[8]] > cb)
02454 if( p[pixel[10]] > cb)
02455 if( p[pixel[11]] > cb)
02456 if( p[pixel[6]] > cb)
02457 if( p[pixel[5]] > cb)
02458 if( p[pixel[4]] > cb)
02459 if( p[pixel[3]] > cb)
02460 goto is_a_corner;
02461 else
02462 if( p[pixel[12]] > cb)
02463 goto is_a_corner;
02464 else
02465 goto is_not_a_corner;
02466 else
02467 if( p[pixel[12]] > cb)
02468 if( p[pixel[13]] > cb)
02469 goto is_a_corner;
02470 else
02471 goto is_not_a_corner;
02472 else
02473 goto is_not_a_corner;
02474 else
02475 if( p[pixel[12]] > cb)
02476 if( p[pixel[13]] > cb)
02477 if( p[pixel[14]] > cb)
02478 goto is_a_corner;
02479 else
02480 goto is_not_a_corner;
02481 else
02482 goto is_not_a_corner;
02483 else
02484 goto is_not_a_corner;
02485 else
02486 if( p[pixel[12]] > cb)
02487 if( p[pixel[13]] > cb)
02488 if( p[pixel[14]] > cb)
02489 if( p[pixel[15]] > cb)
02490 goto is_a_corner;
02491 else
02492 goto is_not_a_corner;
02493 else
02494 goto is_not_a_corner;
02495 else
02496 goto is_not_a_corner;
02497 else
02498 goto is_not_a_corner;
02499 else
02500 goto is_not_a_corner;
02501 else
02502 goto is_not_a_corner;
02503 else
02504 goto is_not_a_corner;
02505 else
02506 goto is_not_a_corner;
02507 else if( p[pixel[9]] < c_b)
02508 if( p[pixel[10]] < c_b)
02509 if( p[pixel[11]] < c_b)
02510 if( p[pixel[12]] < c_b)
02511 if( p[pixel[13]] < c_b)
02512 if( p[pixel[14]] < c_b)
02513 if( p[pixel[15]] < c_b)
02514 goto is_a_corner;
02515 else
02516 if( p[pixel[6]] < c_b)
02517 if( p[pixel[7]] < c_b)
02518 if( p[pixel[8]] < c_b)
02519 goto is_a_corner;
02520 else
02521 goto is_not_a_corner;
02522 else
02523 goto is_not_a_corner;
02524 else
02525 goto is_not_a_corner;
02526 else
02527 if( p[pixel[5]] < c_b)
02528 if( p[pixel[6]] < c_b)
02529 if( p[pixel[7]] < c_b)
02530 if( p[pixel[8]] < c_b)
02531 goto is_a_corner;
02532 else
02533 goto is_not_a_corner;
02534 else
02535 goto is_not_a_corner;
02536 else
02537 goto is_not_a_corner;
02538 else
02539 goto is_not_a_corner;
02540 else
02541 if( p[pixel[4]] < c_b)
02542 if( p[pixel[5]] < c_b)
02543 if( p[pixel[6]] < c_b)
02544 if( p[pixel[7]] < c_b)
02545 if( p[pixel[8]] < c_b)
02546 goto is_a_corner;
02547 else
02548 goto is_not_a_corner;
02549 else
02550 goto is_not_a_corner;
02551 else
02552 goto is_not_a_corner;
02553 else
02554 goto is_not_a_corner;
02555 else
02556 goto is_not_a_corner;
02557 else
02558 if( p[pixel[3]] < c_b)
02559 if( p[pixel[4]] < c_b)
02560 if( p[pixel[5]] < c_b)
02561 if( p[pixel[6]] < c_b)
02562 if( p[pixel[7]] < c_b)
02563 if( p[pixel[8]] < c_b)
02564 goto is_a_corner;
02565 else
02566 goto is_not_a_corner;
02567 else
02568 goto is_not_a_corner;
02569 else
02570 goto is_not_a_corner;
02571 else
02572 goto is_not_a_corner;
02573 else
02574 goto is_not_a_corner;
02575 else
02576 goto is_not_a_corner;
02577 else
02578 goto is_not_a_corner;
02579 else
02580 goto is_not_a_corner;
02581 else
02582 goto is_not_a_corner;
02583 else
02584 if( p[pixel[8]] > cb)
02585 if( p[pixel[7]] > cb)
02586 if( p[pixel[9]] > cb)
02587 if( p[pixel[10]] > cb)
02588 if( p[pixel[6]] > cb)
02589 if( p[pixel[5]] > cb)
02590 if( p[pixel[4]] > cb)
02591 if( p[pixel[3]] > cb)
02592 if( p[pixel[2]] > cb)
02593 goto is_a_corner;
02594 else
02595 if( p[pixel[11]] > cb)
02596 goto is_a_corner;
02597 else
02598 goto is_not_a_corner;
02599 else
02600 if( p[pixel[11]] > cb)
02601 if( p[pixel[12]] > cb)
02602 goto is_a_corner;
02603 else
02604 goto is_not_a_corner;
02605 else
02606 goto is_not_a_corner;
02607 else
02608 if( p[pixel[11]] > cb)
02609 if( p[pixel[12]] > cb)
02610 if( p[pixel[13]] > cb)
02611 goto is_a_corner;
02612 else
02613 goto is_not_a_corner;
02614 else
02615 goto is_not_a_corner;
02616 else
02617 goto is_not_a_corner;
02618 else
02619 if( p[pixel[11]] > cb)
02620 if( p[pixel[12]] > cb)
02621 if( p[pixel[13]] > cb)
02622 if( p[pixel[14]] > cb)
02623 goto is_a_corner;
02624 else
02625 goto is_not_a_corner;
02626 else
02627 goto is_not_a_corner;
02628 else
02629 goto is_not_a_corner;
02630 else
02631 goto is_not_a_corner;
02632 else
02633 if( p[pixel[11]] > cb)
02634 if( p[pixel[12]] > cb)
02635 if( p[pixel[13]] > cb)
02636 if( p[pixel[14]] > cb)
02637 if( p[pixel[15]] > cb)
02638 goto is_a_corner;
02639 else
02640 goto is_not_a_corner;
02641 else
02642 goto is_not_a_corner;
02643 else
02644 goto is_not_a_corner;
02645 else
02646 goto is_not_a_corner;
02647 else
02648 goto is_not_a_corner;
02649 else
02650 goto is_not_a_corner;
02651 else
02652 goto is_not_a_corner;
02653 else
02654 goto is_not_a_corner;
02655 else if( p[pixel[8]] < c_b)
02656 if( p[pixel[9]] < c_b)
02657 if( p[pixel[10]] < c_b)
02658 if( p[pixel[11]] < c_b)
02659 if( p[pixel[12]] < c_b)
02660 if( p[pixel[13]] < c_b)
02661 if( p[pixel[14]] < c_b)
02662 if( p[pixel[15]] < c_b)
02663 goto is_a_corner;
02664 else
02665 if( p[pixel[6]] < c_b)
02666 if( p[pixel[7]] < c_b)
02667 goto is_a_corner;
02668 else
02669 goto is_not_a_corner;
02670 else
02671 goto is_not_a_corner;
02672 else
02673 if( p[pixel[5]] < c_b)
02674 if( p[pixel[6]] < c_b)
02675 if( p[pixel[7]] < c_b)
02676 goto is_a_corner;
02677 else
02678 goto is_not_a_corner;
02679 else
02680 goto is_not_a_corner;
02681 else
02682 goto is_not_a_corner;
02683 else
02684 if( p[pixel[4]] < c_b)
02685 if( p[pixel[5]] < c_b)
02686 if( p[pixel[6]] < c_b)
02687 if( p[pixel[7]] < c_b)
02688 goto is_a_corner;
02689 else
02690 goto is_not_a_corner;
02691 else
02692 goto is_not_a_corner;
02693 else
02694 goto is_not_a_corner;
02695 else
02696 goto is_not_a_corner;
02697 else
02698 if( p[pixel[3]] < c_b)
02699 if( p[pixel[4]] < c_b)
02700 if( p[pixel[5]] < c_b)
02701 if( p[pixel[6]] < c_b)
02702 if( p[pixel[7]] < c_b)
02703 goto is_a_corner;
02704 else
02705 goto is_not_a_corner;
02706 else
02707 goto is_not_a_corner;
02708 else
02709 goto is_not_a_corner;
02710 else
02711 goto is_not_a_corner;
02712 else
02713 goto is_not_a_corner;
02714 else
02715 if( p[pixel[2]] < c_b)
02716 if( p[pixel[3]] < c_b)
02717 if( p[pixel[4]] < c_b)
02718 if( p[pixel[5]] < c_b)
02719 if( p[pixel[6]] < c_b)
02720 if( p[pixel[7]] < c_b)
02721 goto is_a_corner;
02722 else
02723 goto is_not_a_corner;
02724 else
02725 goto is_not_a_corner;
02726 else
02727 goto is_not_a_corner;
02728 else
02729 goto is_not_a_corner;
02730 else
02731 goto is_not_a_corner;
02732 else
02733 goto is_not_a_corner;
02734 else
02735 goto is_not_a_corner;
02736 else
02737 goto is_not_a_corner;
02738 else
02739 goto is_not_a_corner;
02740 else
02741 if( p[pixel[7]] > cb)
02742 if( p[pixel[8]] > cb)
02743 if( p[pixel[9]] > cb)
02744 if( p[pixel[6]] > cb)
02745 if( p[pixel[5]] > cb)
02746 if( p[pixel[4]] > cb)
02747 if( p[pixel[3]] > cb)
02748 if( p[pixel[2]] > cb)
02749 if( p[pixel[1]] > cb)
02750 goto is_a_corner;
02751 else
02752 if( p[pixel[10]] > cb)
02753 goto is_a_corner;
02754 else
02755 goto is_not_a_corner;
02756 else
02757 if( p[pixel[10]] > cb)
02758 if( p[pixel[11]] > cb)
02759 goto is_a_corner;
02760 else
02761 goto is_not_a_corner;
02762 else
02763 goto is_not_a_corner;
02764 else
02765 if( p[pixel[10]] > cb)
02766 if( p[pixel[11]] > cb)
02767 if( p[pixel[12]] > cb)
02768 goto is_a_corner;
02769 else
02770 goto is_not_a_corner;
02771 else
02772 goto is_not_a_corner;
02773 else
02774 goto is_not_a_corner;
02775 else
02776 if( p[pixel[10]] > cb)
02777 if( p[pixel[11]] > cb)
02778 if( p[pixel[12]] > cb)
02779 if( p[pixel[13]] > cb)
02780 goto is_a_corner;
02781 else
02782 goto is_not_a_corner;
02783 else
02784 goto is_not_a_corner;
02785 else
02786 goto is_not_a_corner;
02787 else
02788 goto is_not_a_corner;
02789 else
02790 if( p[pixel[10]] > cb)
02791 if( p[pixel[11]] > cb)
02792 if( p[pixel[12]] > cb)
02793 if( p[pixel[13]] > cb)
02794 if( p[pixel[14]] > cb)
02795 goto is_a_corner;
02796 else
02797 goto is_not_a_corner;
02798 else
02799 goto is_not_a_corner;
02800 else
02801 goto is_not_a_corner;
02802 else
02803 goto is_not_a_corner;
02804 else
02805 goto is_not_a_corner;
02806 else
02807 if( p[pixel[10]] > cb)
02808 if( p[pixel[11]] > cb)
02809 if( p[pixel[12]] > cb)
02810 if( p[pixel[13]] > cb)
02811 if( p[pixel[14]] > cb)
02812 if( p[pixel[15]] > cb)
02813 goto is_a_corner;
02814 else
02815 goto is_not_a_corner;
02816 else
02817 goto is_not_a_corner;
02818 else
02819 goto is_not_a_corner;
02820 else
02821 goto is_not_a_corner;
02822 else
02823 goto is_not_a_corner;
02824 else
02825 goto is_not_a_corner;
02826 else
02827 goto is_not_a_corner;
02828 else
02829 goto is_not_a_corner;
02830 else if( p[pixel[7]] < c_b)
02831 if( p[pixel[8]] < c_b)
02832 if( p[pixel[9]] < c_b)
02833 if( p[pixel[6]] < c_b)
02834 if( p[pixel[5]] < c_b)
02835 if( p[pixel[4]] < c_b)
02836 if( p[pixel[3]] < c_b)
02837 if( p[pixel[2]] < c_b)
02838 if( p[pixel[1]] < c_b)
02839 goto is_a_corner;
02840 else
02841 if( p[pixel[10]] < c_b)
02842 goto is_a_corner;
02843 else
02844 goto is_not_a_corner;
02845 else
02846 if( p[pixel[10]] < c_b)
02847 if( p[pixel[11]] < c_b)
02848 goto is_a_corner;
02849 else
02850 goto is_not_a_corner;
02851 else
02852 goto is_not_a_corner;
02853 else
02854 if( p[pixel[10]] < c_b)
02855 if( p[pixel[11]] < c_b)
02856 if( p[pixel[12]] < c_b)
02857 goto is_a_corner;
02858 else
02859 goto is_not_a_corner;
02860 else
02861 goto is_not_a_corner;
02862 else
02863 goto is_not_a_corner;
02864 else
02865 if( p[pixel[10]] < c_b)
02866 if( p[pixel[11]] < c_b)
02867 if( p[pixel[12]] < c_b)
02868 if( p[pixel[13]] < c_b)
02869 goto is_a_corner;
02870 else
02871 goto is_not_a_corner;
02872 else
02873 goto is_not_a_corner;
02874 else
02875 goto is_not_a_corner;
02876 else
02877 goto is_not_a_corner;
02878 else
02879 if( p[pixel[10]] < c_b)
02880 if( p[pixel[11]] < c_b)
02881 if( p[pixel[12]] < c_b)
02882 if( p[pixel[13]] < c_b)
02883 if( p[pixel[14]] < c_b)
02884 goto is_a_corner;
02885 else
02886 goto is_not_a_corner;
02887 else
02888 goto is_not_a_corner;
02889 else
02890 goto is_not_a_corner;
02891 else
02892 goto is_not_a_corner;
02893 else
02894 goto is_not_a_corner;
02895 else
02896 if( p[pixel[10]] < c_b)
02897 if( p[pixel[11]] < c_b)
02898 if( p[pixel[12]] < c_b)
02899 if( p[pixel[13]] < c_b)
02900 if( p[pixel[14]] < c_b)
02901 if( p[pixel[15]] < c_b)
02902 goto is_a_corner;
02903 else
02904 goto is_not_a_corner;
02905 else
02906 goto is_not_a_corner;
02907 else
02908 goto is_not_a_corner;
02909 else
02910 goto is_not_a_corner;
02911 else
02912 goto is_not_a_corner;
02913 else
02914 goto is_not_a_corner;
02915 else
02916 goto is_not_a_corner;
02917 else
02918 goto is_not_a_corner;
02919 else
02920 goto is_not_a_corner;
02921
02922 is_a_corner:
02923 bmin=b;
02924 goto end_if;
02925
02926 is_not_a_corner:
02927 bmax=b;
02928 goto end_if;
02929
02930 end_if:
02931
02932 if(bmin == bmax - 1 || bmin == bmax)
02933 return bmin;
02934 b = (bmin + bmax) / 2;
02935 }
02936 }
02937
02938 static void make_offsets(int pixel[], int row_stride)
02939 {
02940 pixel[0] = 0 + row_stride * 3;
02941 pixel[1] = 1 + row_stride * 3;
02942 pixel[2] = 2 + row_stride * 2;
02943 pixel[3] = 3 + row_stride * 1;
02944 pixel[4] = 3 + row_stride * 0;
02945 pixel[5] = 3 + row_stride * -1;
02946 pixel[6] = 2 + row_stride * -2;
02947 pixel[7] = 1 + row_stride * -3;
02948 pixel[8] = 0 + row_stride * -3;
02949 pixel[9] = -1 + row_stride * -3;
02950 pixel[10] = -2 + row_stride * -2;
02951 pixel[11] = -3 + row_stride * -1;
02952 pixel[12] = -3 + row_stride * 0;
02953 pixel[13] = -3 + row_stride * 1;
02954 pixel[14] = -2 + row_stride * 2;
02955 pixel[15] = -1 + row_stride * 3;
02956 }
02957
02958
02959
02960 int* fast9_score(const byte* i, int stride, xy* corners, int num_corners, int b)
02961 {
02962 int* scores = (int*)malloc(sizeof(int)* num_corners);
02963 int n;
02964
02965 int pixel[16];
02966 make_offsets(pixel, stride);
02967
02968 for(n=0; n < num_corners; n++)
02969 scores[n] = fast9_corner_score(i + corners[n].y*stride + corners[n].x, pixel, b);
02970
02971 return scores;
02972 }
02973
02974
02975 xy* fast9_detect(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners)
02976 {
02977 int num_corners=0;
02978 xy* ret_corners;
02979 int rsize=512;
02980 int pixel[16];
02981 int x, y;
02982
02983 ret_corners = (xy*)malloc(sizeof(xy)*rsize);
02984 make_offsets(pixel, stride);
02985
02986 for(y=3; y < ysize - 3; y++)
02987 for(x=3; x < xsize - 3; x++)
02988 {
02989 const byte* p = im + y*stride + x;
02990
02991 int cb = *p + b;
02992 int c_b= *p - b;
02993 if(p[pixel[0]] > cb)
02994 if(p[pixel[1]] > cb)
02995 if(p[pixel[2]] > cb)
02996 if(p[pixel[3]] > cb)
02997 if(p[pixel[4]] > cb)
02998 if(p[pixel[5]] > cb)
02999 if(p[pixel[6]] > cb)
03000 if(p[pixel[7]] > cb)
03001 if(p[pixel[8]] > cb)
03002 {}
03003 else
03004 if(p[pixel[15]] > cb)
03005 {}
03006 else
03007 continue;
03008 else if(p[pixel[7]] < c_b)
03009 if(p[pixel[14]] > cb)
03010 if(p[pixel[15]] > cb)
03011 {}
03012 else
03013 continue;
03014 else if(p[pixel[14]] < c_b)
03015 if(p[pixel[8]] < c_b)
03016 if(p[pixel[9]] < c_b)
03017 if(p[pixel[10]] < c_b)
03018 if(p[pixel[11]] < c_b)
03019 if(p[pixel[12]] < c_b)
03020 if(p[pixel[13]] < c_b)
03021 if(p[pixel[15]] < c_b)
03022 {}
03023 else
03024 continue;
03025 else
03026 continue;
03027 else
03028 continue;
03029 else
03030 continue;
03031 else
03032 continue;
03033 else
03034 continue;
03035 else
03036 continue;
03037 else
03038 continue;
03039 else
03040 if(p[pixel[14]] > cb)
03041 if(p[pixel[15]] > cb)
03042 {}
03043 else
03044 continue;
03045 else
03046 continue;
03047 else if(p[pixel[6]] < c_b)
03048 if(p[pixel[15]] > cb)
03049 if(p[pixel[13]] > cb)
03050 if(p[pixel[14]] > cb)
03051 {}
03052 else
03053 continue;
03054 else if(p[pixel[13]] < c_b)
03055 if(p[pixel[7]] < c_b)
03056 if(p[pixel[8]] < c_b)
03057 if(p[pixel[9]] < c_b)
03058 if(p[pixel[10]] < c_b)
03059 if(p[pixel[11]] < c_b)
03060 if(p[pixel[12]] < c_b)
03061 if(p[pixel[14]] < c_b)
03062 {}
03063 else
03064 continue;
03065 else
03066 continue;
03067 else
03068 continue;
03069 else
03070 continue;
03071 else
03072 continue;
03073 else
03074 continue;
03075 else
03076 continue;
03077 else
03078 continue;
03079 else
03080 if(p[pixel[7]] < c_b)
03081 if(p[pixel[8]] < c_b)
03082 if(p[pixel[9]] < c_b)
03083 if(p[pixel[10]] < c_b)
03084 if(p[pixel[11]] < c_b)
03085 if(p[pixel[12]] < c_b)
03086 if(p[pixel[13]] < c_b)
03087 if(p[pixel[14]] < c_b)
03088 {}
03089 else
03090 continue;
03091 else
03092 continue;
03093 else
03094 continue;
03095 else
03096 continue;
03097 else
03098 continue;
03099 else
03100 continue;
03101 else
03102 continue;
03103 else
03104 continue;
03105 else
03106 if(p[pixel[13]] > cb)
03107 if(p[pixel[14]] > cb)
03108 if(p[pixel[15]] > cb)
03109 {}
03110 else
03111 continue;
03112 else
03113 continue;
03114 else if(p[pixel[13]] < c_b)
03115 if(p[pixel[7]] < c_b)
03116 if(p[pixel[8]] < c_b)
03117 if(p[pixel[9]] < c_b)
03118 if(p[pixel[10]] < c_b)
03119 if(p[pixel[11]] < c_b)
03120 if(p[pixel[12]] < c_b)
03121 if(p[pixel[14]] < c_b)
03122 if(p[pixel[15]] < c_b)
03123 {}
03124 else
03125 continue;
03126 else
03127 continue;
03128 else
03129 continue;
03130 else
03131 continue;
03132 else
03133 continue;
03134 else
03135 continue;
03136 else
03137 continue;
03138 else
03139 continue;
03140 else
03141 continue;
03142 else if(p[pixel[5]] < c_b)
03143 if(p[pixel[14]] > cb)
03144 if(p[pixel[12]] > cb)
03145 if(p[pixel[13]] > cb)
03146 if(p[pixel[15]] > cb)
03147 {}
03148 else
03149 if(p[pixel[6]] > cb)
03150 if(p[pixel[7]] > cb)
03151 if(p[pixel[8]] > cb)
03152 if(p[pixel[9]] > cb)
03153 if(p[pixel[10]] > cb)
03154 if(p[pixel[11]] > cb)
03155 {}
03156 else
03157 continue;
03158 else
03159 continue;
03160 else
03161 continue;
03162 else
03163 continue;
03164 else
03165 continue;
03166 else
03167 continue;
03168 else
03169 continue;
03170 else if(p[pixel[12]] < c_b)
03171 if(p[pixel[6]] < c_b)
03172 if(p[pixel[7]] < c_b)
03173 if(p[pixel[8]] < c_b)
03174 if(p[pixel[9]] < c_b)
03175 if(p[pixel[10]] < c_b)
03176 if(p[pixel[11]] < c_b)
03177 if(p[pixel[13]] < c_b)
03178 {}
03179 else
03180 continue;
03181 else
03182 continue;
03183 else
03184 continue;
03185 else
03186 continue;
03187 else
03188 continue;
03189 else
03190 continue;
03191 else
03192 continue;
03193 else
03194 continue;
03195 else if(p[pixel[14]] < c_b)
03196 if(p[pixel[7]] < c_b)
03197 if(p[pixel[8]] < c_b)
03198 if(p[pixel[9]] < c_b)
03199 if(p[pixel[10]] < c_b)
03200 if(p[pixel[11]] < c_b)
03201 if(p[pixel[12]] < c_b)
03202 if(p[pixel[13]] < c_b)
03203 if(p[pixel[6]] < c_b)
03204 {}
03205 else
03206 if(p[pixel[15]] < c_b)
03207 {}
03208 else
03209 continue;
03210 else
03211 continue;
03212 else
03213 continue;
03214 else
03215 continue;
03216 else
03217 continue;
03218 else
03219 continue;
03220 else
03221 continue;
03222 else
03223 continue;
03224 else
03225 if(p[pixel[6]] < c_b)
03226 if(p[pixel[7]] < c_b)
03227 if(p[pixel[8]] < c_b)
03228 if(p[pixel[9]] < c_b)
03229 if(p[pixel[10]] < c_b)
03230 if(p[pixel[11]] < c_b)
03231 if(p[pixel[12]] < c_b)
03232 if(p[pixel[13]] < c_b)
03233 {}
03234 else
03235 continue;
03236 else
03237 continue;
03238 else
03239 continue;
03240 else
03241 continue;
03242 else
03243 continue;
03244 else
03245 continue;
03246 else
03247 continue;
03248 else
03249 continue;
03250 else
03251 if(p[pixel[12]] > cb)
03252 if(p[pixel[13]] > cb)
03253 if(p[pixel[14]] > cb)
03254 if(p[pixel[15]] > cb)
03255 {}
03256 else
03257 if(p[pixel[6]] > cb)
03258 if(p[pixel[7]] > cb)
03259 if(p[pixel[8]] > cb)
03260 if(p[pixel[9]] > cb)
03261 if(p[pixel[10]] > cb)
03262 if(p[pixel[11]] > cb)
03263 {}
03264 else
03265 continue;
03266 else
03267 continue;
03268 else
03269 continue;
03270 else
03271 continue;
03272 else
03273 continue;
03274 else
03275 continue;
03276 else
03277 continue;
03278 else
03279 continue;
03280 else if(p[pixel[12]] < c_b)
03281 if(p[pixel[7]] < c_b)
03282 if(p[pixel[8]] < c_b)
03283 if(p[pixel[9]] < c_b)
03284 if(p[pixel[10]] < c_b)
03285 if(p[pixel[11]] < c_b)
03286 if(p[pixel[13]] < c_b)
03287 if(p[pixel[14]] < c_b)
03288 if(p[pixel[6]] < c_b)
03289 {}
03290 else
03291 if(p[pixel[15]] < c_b)
03292 {}
03293 else
03294 continue;
03295 else
03296 continue;
03297 else
03298 continue;
03299 else
03300 continue;
03301 else
03302 continue;
03303 else
03304 continue;
03305 else
03306 continue;
03307 else
03308 continue;
03309 else
03310 continue;
03311 else if(p[pixel[4]] < c_b)
03312 if(p[pixel[13]] > cb)
03313 if(p[pixel[11]] > cb)
03314 if(p[pixel[12]] > cb)
03315 if(p[pixel[14]] > cb)
03316 if(p[pixel[15]] > cb)
03317 {}
03318 else
03319 if(p[pixel[6]] > cb)
03320 if(p[pixel[7]] > cb)
03321 if(p[pixel[8]] > cb)
03322 if(p[pixel[9]] > cb)
03323 if(p[pixel[10]] > cb)
03324 {}
03325 else
03326 continue;
03327 else
03328 continue;
03329 else
03330 continue;
03331 else
03332 continue;
03333 else
03334 continue;
03335 else
03336 if(p[pixel[5]] > cb)
03337 if(p[pixel[6]] > cb)
03338 if(p[pixel[7]] > cb)
03339 if(p[pixel[8]] > cb)
03340 if(p[pixel[9]] > cb)
03341 if(p[pixel[10]] > cb)
03342 {}
03343 else
03344 continue;
03345 else
03346 continue;
03347 else
03348 continue;
03349 else
03350 continue;
03351 else
03352 continue;
03353 else
03354 continue;
03355 else
03356 continue;
03357 else if(p[pixel[11]] < c_b)
03358 if(p[pixel[5]] < c_b)
03359 if(p[pixel[6]] < c_b)
03360 if(p[pixel[7]] < c_b)
03361 if(p[pixel[8]] < c_b)
03362 if(p[pixel[9]] < c_b)
03363 if(p[pixel[10]] < c_b)
03364 if(p[pixel[12]] < c_b)
03365 {}
03366 else
03367 continue;
03368 else
03369 continue;
03370 else
03371 continue;
03372 else
03373 continue;
03374 else
03375 continue;
03376 else
03377 continue;
03378 else
03379 continue;
03380 else
03381 continue;
03382 else if(p[pixel[13]] < c_b)
03383 if(p[pixel[7]] < c_b)
03384 if(p[pixel[8]] < c_b)
03385 if(p[pixel[9]] < c_b)
03386 if(p[pixel[10]] < c_b)
03387 if(p[pixel[11]] < c_b)
03388 if(p[pixel[12]] < c_b)
03389 if(p[pixel[6]] < c_b)
03390 if(p[pixel[5]] < c_b)
03391 {}
03392 else
03393 if(p[pixel[14]] < c_b)
03394 {}
03395 else
03396 continue;
03397 else
03398 if(p[pixel[14]] < c_b)
03399 if(p[pixel[15]] < c_b)
03400 {}
03401 else
03402 continue;
03403 else
03404 continue;
03405 else
03406 continue;
03407 else
03408 continue;
03409 else
03410 continue;
03411 else
03412 continue;
03413 else
03414 continue;
03415 else
03416 continue;
03417 else
03418 if(p[pixel[5]] < c_b)
03419 if(p[pixel[6]] < c_b)
03420 if(p[pixel[7]] < c_b)
03421 if(p[pixel[8]] < c_b)
03422 if(p[pixel[9]] < c_b)
03423 if(p[pixel[10]] < c_b)
03424 if(p[pixel[11]] < c_b)
03425 if(p[pixel[12]] < c_b)
03426 {}
03427 else
03428 continue;
03429 else
03430 continue;
03431 else
03432 continue;
03433 else
03434 continue;
03435 else
03436 continue;
03437 else
03438 continue;
03439 else
03440 continue;
03441 else
03442 continue;
03443 else
03444 if(p[pixel[11]] > cb)
03445 if(p[pixel[12]] > cb)
03446 if(p[pixel[13]] > cb)
03447 if(p[pixel[14]] > cb)
03448 if(p[pixel[15]] > cb)
03449 {}
03450 else
03451 if(p[pixel[6]] > cb)
03452 if(p[pixel[7]] > cb)
03453 if(p[pixel[8]] > cb)
03454 if(p[pixel[9]] > cb)
03455 if(p[pixel[10]] > cb)
03456 {}
03457 else
03458 continue;
03459 else
03460 continue;
03461 else
03462 continue;
03463 else
03464 continue;
03465 else
03466 continue;
03467 else
03468 if(p[pixel[5]] > cb)
03469 if(p[pixel[6]] > cb)
03470 if(p[pixel[7]] > cb)
03471 if(p[pixel[8]] > cb)
03472 if(p[pixel[9]] > cb)
03473 if(p[pixel[10]] > cb)
03474 {}
03475 else
03476 continue;
03477 else
03478 continue;
03479 else
03480 continue;
03481 else
03482 continue;
03483 else
03484 continue;
03485 else
03486 continue;
03487 else
03488 continue;
03489 else
03490 continue;
03491 else if(p[pixel[11]] < c_b)
03492 if(p[pixel[7]] < c_b)
03493 if(p[pixel[8]] < c_b)
03494 if(p[pixel[9]] < c_b)
03495 if(p[pixel[10]] < c_b)
03496 if(p[pixel[12]] < c_b)
03497 if(p[pixel[13]] < c_b)
03498 if(p[pixel[6]] < c_b)
03499 if(p[pixel[5]] < c_b)
03500 {}
03501 else
03502 if(p[pixel[14]] < c_b)
03503 {}
03504 else
03505 continue;
03506 else
03507 if(p[pixel[14]] < c_b)
03508 if(p[pixel[15]] < c_b)
03509 {}
03510 else
03511 continue;
03512 else
03513 continue;
03514 else
03515 continue;
03516 else
03517 continue;
03518 else
03519 continue;
03520 else
03521 continue;
03522 else
03523 continue;
03524 else
03525 continue;
03526 else
03527 continue;
03528 else if(p[pixel[3]] < c_b)
03529 if(p[pixel[10]] > cb)
03530 if(p[pixel[11]] > cb)
03531 if(p[pixel[12]] > cb)
03532 if(p[pixel[13]] > cb)
03533 if(p[pixel[14]] > cb)
03534 if(p[pixel[15]] > cb)
03535 {}
03536 else
03537 if(p[pixel[6]] > cb)
03538 if(p[pixel[7]] > cb)
03539 if(p[pixel[8]] > cb)
03540 if(p[pixel[9]] > cb)
03541 {}
03542 else
03543 continue;
03544 else
03545 continue;
03546 else
03547 continue;
03548 else
03549 continue;
03550 else
03551 if(p[pixel[5]] > cb)
03552 if(p[pixel[6]] > cb)
03553 if(p[pixel[7]] > cb)
03554 if(p[pixel[8]] > cb)
03555 if(p[pixel[9]] > cb)
03556 {}
03557 else
03558 continue;
03559 else
03560 continue;
03561 else
03562 continue;
03563 else
03564 continue;
03565 else
03566 continue;
03567 else
03568 if(p[pixel[4]] > cb)
03569 if(p[pixel[5]] > cb)
03570 if(p[pixel[6]] > cb)
03571 if(p[pixel[7]] > cb)
03572 if(p[pixel[8]] > cb)
03573 if(p[pixel[9]] > cb)
03574 {}
03575 else
03576 continue;
03577 else
03578 continue;
03579 else
03580 continue;
03581 else
03582 continue;
03583 else
03584 continue;
03585 else
03586 continue;
03587 else
03588 continue;
03589 else
03590 continue;
03591 else if(p[pixel[10]] < c_b)
03592 if(p[pixel[7]] < c_b)
03593 if(p[pixel[8]] < c_b)
03594 if(p[pixel[9]] < c_b)
03595 if(p[pixel[11]] < c_b)
03596 if(p[pixel[6]] < c_b)
03597 if(p[pixel[5]] < c_b)
03598 if(p[pixel[4]] < c_b)
03599 {}
03600 else
03601 if(p[pixel[12]] < c_b)
03602 if(p[pixel[13]] < c_b)
03603 {}
03604 else
03605 continue;
03606 else
03607 continue;
03608 else
03609 if(p[pixel[12]] < c_b)
03610 if(p[pixel[13]] < c_b)
03611 if(p[pixel[14]] < c_b)
03612 {}
03613 else
03614 continue;
03615 else
03616 continue;
03617 else
03618 continue;
03619 else
03620 if(p[pixel[12]] < c_b)
03621 if(p[pixel[13]] < c_b)
03622 if(p[pixel[14]] < c_b)
03623 if(p[pixel[15]] < c_b)
03624 {}
03625 else
03626 continue;
03627 else
03628 continue;
03629 else
03630 continue;
03631 else
03632 continue;
03633 else
03634 continue;
03635 else
03636 continue;
03637 else
03638 continue;
03639 else
03640 continue;
03641 else
03642 continue;
03643 else
03644 if(p[pixel[10]] > cb)
03645 if(p[pixel[11]] > cb)
03646 if(p[pixel[12]] > cb)
03647 if(p[pixel[13]] > cb)
03648 if(p[pixel[14]] > cb)
03649 if(p[pixel[15]] > cb)
03650 {}
03651 else
03652 if(p[pixel[6]] > cb)
03653 if(p[pixel[7]] > cb)
03654 if(p[pixel[8]] > cb)
03655 if(p[pixel[9]] > cb)
03656 {}
03657 else
03658 continue;
03659 else
03660 continue;
03661 else
03662 continue;
03663 else
03664 continue;
03665 else
03666 if(p[pixel[5]] > cb)
03667 if(p[pixel[6]] > cb)
03668 if(p[pixel[7]] > cb)
03669 if(p[pixel[8]] > cb)
03670 if(p[pixel[9]] > cb)
03671 {}
03672 else
03673 continue;
03674 else
03675 continue;
03676 else
03677 continue;
03678 else
03679 continue;
03680 else
03681 continue;
03682 else
03683 if(p[pixel[4]] > cb)
03684 if(p[pixel[5]] > cb)
03685 if(p[pixel[6]] > cb)
03686 if(p[pixel[7]] > cb)
03687 if(p[pixel[8]] > cb)
03688 if(p[pixel[9]] > cb)
03689 {}
03690 else
03691 continue;
03692 else
03693 continue;
03694 else
03695 continue;
03696 else
03697 continue;
03698 else
03699 continue;
03700 else
03701 continue;
03702 else
03703 continue;
03704 else
03705 continue;
03706 else if(p[pixel[10]] < c_b)
03707 if(p[pixel[7]] < c_b)
03708 if(p[pixel[8]] < c_b)
03709 if(p[pixel[9]] < c_b)
03710 if(p[pixel[11]] < c_b)
03711 if(p[pixel[12]] < c_b)
03712 if(p[pixel[6]] < c_b)
03713 if(p[pixel[5]] < c_b)
03714 if(p[pixel[4]] < c_b)
03715 {}
03716 else
03717 if(p[pixel[13]] < c_b)
03718 {}
03719 else
03720 continue;
03721 else
03722 if(p[pixel[13]] < c_b)
03723 if(p[pixel[14]] < c_b)
03724 {}
03725 else
03726 continue;
03727 else
03728 continue;
03729 else
03730 if(p[pixel[13]] < c_b)
03731 if(p[pixel[14]] < c_b)
03732 if(p[pixel[15]] < c_b)
03733 {}
03734 else
03735 continue;
03736 else
03737 continue;
03738 else
03739 continue;
03740 else
03741 continue;
03742 else
03743 continue;
03744 else
03745 continue;
03746 else
03747 continue;
03748 else
03749 continue;
03750 else
03751 continue;
03752 else if(p[pixel[2]] < c_b)
03753 if(p[pixel[9]] > cb)
03754 if(p[pixel[10]] > cb)
03755 if(p[pixel[11]] > cb)
03756 if(p[pixel[12]] > cb)
03757 if(p[pixel[13]] > cb)
03758 if(p[pixel[14]] > cb)
03759 if(p[pixel[15]] > cb)
03760 {}
03761 else
03762 if(p[pixel[6]] > cb)
03763 if(p[pixel[7]] > cb)
03764 if(p[pixel[8]] > cb)
03765 {}
03766 else
03767 continue;
03768 else
03769 continue;
03770 else
03771 continue;
03772 else
03773 if(p[pixel[5]] > cb)
03774 if(p[pixel[6]] > cb)
03775 if(p[pixel[7]] > cb)
03776 if(p[pixel[8]] > cb)
03777 {}
03778 else
03779 continue;
03780 else
03781 continue;
03782 else
03783 continue;
03784 else
03785 continue;
03786 else
03787 if(p[pixel[4]] > cb)
03788 if(p[pixel[5]] > cb)
03789 if(p[pixel[6]] > cb)
03790 if(p[pixel[7]] > cb)
03791 if(p[pixel[8]] > cb)
03792 {}
03793 else
03794 continue;
03795 else
03796 continue;
03797 else
03798 continue;
03799 else
03800 continue;
03801 else
03802 continue;
03803 else
03804 if(p[pixel[3]] > cb)
03805 if(p[pixel[4]] > cb)
03806 if(p[pixel[5]] > cb)
03807 if(p[pixel[6]] > cb)
03808 if(p[pixel[7]] > cb)
03809 if(p[pixel[8]] > cb)
03810 {}
03811 else
03812 continue;
03813 else
03814 continue;
03815 else
03816 continue;
03817 else
03818 continue;
03819 else
03820 continue;
03821 else
03822 continue;
03823 else
03824 continue;
03825 else
03826 continue;
03827 else if(p[pixel[9]] < c_b)
03828 if(p[pixel[7]] < c_b)
03829 if(p[pixel[8]] < c_b)
03830 if(p[pixel[10]] < c_b)
03831 if(p[pixel[6]] < c_b)
03832 if(p[pixel[5]] < c_b)
03833 if(p[pixel[4]] < c_b)
03834 if(p[pixel[3]] < c_b)
03835 {}
03836 else
03837 if(p[pixel[11]] < c_b)
03838 if(p[pixel[12]] < c_b)
03839 {}
03840 else
03841 continue;
03842 else
03843 continue;
03844 else
03845 if(p[pixel[11]] < c_b)
03846 if(p[pixel[12]] < c_b)
03847 if(p[pixel[13]] < c_b)
03848 {}
03849 else
03850 continue;
03851 else
03852 continue;
03853 else
03854 continue;
03855 else
03856 if(p[pixel[11]] < c_b)
03857 if(p[pixel[12]] < c_b)
03858 if(p[pixel[13]] < c_b)
03859 if(p[pixel[14]] < c_b)
03860 {}
03861 else
03862 continue;
03863 else
03864 continue;
03865 else
03866 continue;
03867 else
03868 continue;
03869 else
03870 if(p[pixel[11]] < c_b)
03871 if(p[pixel[12]] < c_b)
03872 if(p[pixel[13]] < c_b)
03873 if(p[pixel[14]] < c_b)
03874 if(p[pixel[15]] < c_b)
03875 {}
03876 else
03877 continue;
03878 else
03879 continue;
03880 else
03881 continue;
03882 else
03883 continue;
03884 else
03885 continue;
03886 else
03887 continue;
03888 else
03889 continue;
03890 else
03891 continue;
03892 else
03893 continue;
03894 else
03895 if(p[pixel[9]] > cb)
03896 if(p[pixel[10]] > cb)
03897 if(p[pixel[11]] > cb)
03898 if(p[pixel[12]] > cb)
03899 if(p[pixel[13]] > cb)
03900 if(p[pixel[14]] > cb)
03901 if(p[pixel[15]] > cb)
03902 {}
03903 else
03904 if(p[pixel[6]] > cb)
03905 if(p[pixel[7]] > cb)
03906 if(p[pixel[8]] > cb)
03907 {}
03908 else
03909 continue;
03910 else
03911 continue;
03912 else
03913 continue;
03914 else
03915 if(p[pixel[5]] > cb)
03916 if(p[pixel[6]] > cb)
03917 if(p[pixel[7]] > cb)
03918 if(p[pixel[8]] > cb)
03919 {}
03920 else
03921 continue;
03922 else
03923 continue;
03924 else
03925 continue;
03926 else
03927 continue;
03928 else
03929 if(p[pixel[4]] > cb)
03930 if(p[pixel[5]] > cb)
03931 if(p[pixel[6]] > cb)
03932 if(p[pixel[7]] > cb)
03933 if(p[pixel[8]] > cb)
03934 {}
03935 else
03936 continue;
03937 else
03938 continue;
03939 else
03940 continue;
03941 else
03942 continue;
03943 else
03944 continue;
03945 else
03946 if(p[pixel[3]] > cb)
03947 if(p[pixel[4]] > cb)
03948 if(p[pixel[5]] > cb)
03949 if(p[pixel[6]] > cb)
03950 if(p[pixel[7]] > cb)
03951 if(p[pixel[8]] > cb)
03952 {}
03953 else
03954 continue;
03955 else
03956 continue;
03957 else
03958 continue;
03959 else
03960 continue;
03961 else
03962 continue;
03963 else
03964 continue;
03965 else
03966 continue;
03967 else
03968 continue;
03969 else if(p[pixel[9]] < c_b)
03970 if(p[pixel[7]] < c_b)
03971 if(p[pixel[8]] < c_b)
03972 if(p[pixel[10]] < c_b)
03973 if(p[pixel[11]] < c_b)
03974 if(p[pixel[6]] < c_b)
03975 if(p[pixel[5]] < c_b)
03976 if(p[pixel[4]] < c_b)
03977 if(p[pixel[3]] < c_b)
03978 {}
03979 else
03980 if(p[pixel[12]] < c_b)
03981 {}
03982 else
03983 continue;
03984 else
03985 if(p[pixel[12]] < c_b)
03986 if(p[pixel[13]] < c_b)
03987 {}
03988 else
03989 continue;
03990 else
03991 continue;
03992 else
03993 if(p[pixel[12]] < c_b)
03994 if(p[pixel[13]] < c_b)
03995 if(p[pixel[14]] < c_b)
03996 {}
03997 else
03998 continue;
03999 else
04000 continue;
04001 else
04002 continue;
04003 else
04004 if(p[pixel[12]] < c_b)
04005 if(p[pixel[13]] < c_b)
04006 if(p[pixel[14]] < c_b)
04007 if(p[pixel[15]] < c_b)
04008 {}
04009 else
04010 continue;
04011 else
04012 continue;
04013 else
04014 continue;
04015 else
04016 continue;
04017 else
04018 continue;
04019 else
04020 continue;
04021 else
04022 continue;
04023 else
04024 continue;
04025 else
04026 continue;
04027 else if(p[pixel[1]] < c_b)
04028 if(p[pixel[8]] > cb)
04029 if(p[pixel[9]] > cb)
04030 if(p[pixel[10]] > cb)
04031 if(p[pixel[11]] > cb)
04032 if(p[pixel[12]] > cb)
04033 if(p[pixel[13]] > cb)
04034 if(p[pixel[14]] > cb)
04035 if(p[pixel[15]] > cb)
04036 {}
04037 else
04038 if(p[pixel[6]] > cb)
04039 if(p[pixel[7]] > cb)
04040 {}
04041 else
04042 continue;
04043 else
04044 continue;
04045 else
04046 if(p[pixel[5]] > cb)
04047 if(p[pixel[6]] > cb)
04048 if(p[pixel[7]] > cb)
04049 {}
04050 else
04051 continue;
04052 else
04053 continue;
04054 else
04055 continue;
04056 else
04057 if(p[pixel[4]] > cb)
04058 if(p[pixel[5]] > cb)
04059 if(p[pixel[6]] > cb)
04060 if(p[pixel[7]] > cb)
04061 {}
04062 else
04063 continue;
04064 else
04065 continue;
04066 else
04067 continue;
04068 else
04069 continue;
04070 else
04071 if(p[pixel[3]] > cb)
04072 if(p[pixel[4]] > cb)
04073 if(p[pixel[5]] > cb)
04074 if(p[pixel[6]] > cb)
04075 if(p[pixel[7]] > cb)
04076 {}
04077 else
04078 continue;
04079 else
04080 continue;
04081 else
04082 continue;
04083 else
04084 continue;
04085 else
04086 continue;
04087 else
04088 if(p[pixel[2]] > cb)
04089 if(p[pixel[3]] > cb)
04090 if(p[pixel[4]] > cb)
04091 if(p[pixel[5]] > cb)
04092 if(p[pixel[6]] > cb)
04093 if(p[pixel[7]] > cb)
04094 {}
04095 else
04096 continue;
04097 else
04098 continue;
04099 else
04100 continue;
04101 else
04102 continue;
04103 else
04104 continue;
04105 else
04106 continue;
04107 else
04108 continue;
04109 else
04110 continue;
04111 else if(p[pixel[8]] < c_b)
04112 if(p[pixel[7]] < c_b)
04113 if(p[pixel[9]] < c_b)
04114 if(p[pixel[6]] < c_b)
04115 if(p[pixel[5]] < c_b)
04116 if(p[pixel[4]] < c_b)
04117 if(p[pixel[3]] < c_b)
04118 if(p[pixel[2]] < c_b)
04119 {}
04120 else
04121 if(p[pixel[10]] < c_b)
04122 if(p[pixel[11]] < c_b)
04123 {}
04124 else
04125 continue;
04126 else
04127 continue;
04128 else
04129 if(p[pixel[10]] < c_b)
04130 if(p[pixel[11]] < c_b)
04131 if(p[pixel[12]] < c_b)
04132 {}
04133 else
04134 continue;
04135 else
04136 continue;
04137 else
04138 continue;
04139 else
04140 if(p[pixel[10]] < c_b)
04141 if(p[pixel[11]] < c_b)
04142 if(p[pixel[12]] < c_b)
04143 if(p[pixel[13]] < c_b)
04144 {}
04145 else
04146 continue;
04147 else
04148 continue;
04149 else
04150 continue;
04151 else
04152 continue;
04153 else
04154 if(p[pixel[10]] < c_b)
04155 if(p[pixel[11]] < c_b)
04156 if(p[pixel[12]] < c_b)
04157 if(p[pixel[13]] < c_b)
04158 if(p[pixel[14]] < c_b)
04159 {}
04160 else
04161 continue;
04162 else
04163 continue;
04164 else
04165 continue;
04166 else
04167 continue;
04168 else
04169 continue;
04170 else
04171 if(p[pixel[10]] < c_b)
04172 if(p[pixel[11]] < c_b)
04173 if(p[pixel[12]] < c_b)
04174 if(p[pixel[13]] < c_b)
04175 if(p[pixel[14]] < c_b)
04176 if(p[pixel[15]] < c_b)
04177 {}
04178 else
04179 continue;
04180 else
04181 continue;
04182 else
04183 continue;
04184 else
04185 continue;
04186 else
04187 continue;
04188 else
04189 continue;
04190 else
04191 continue;
04192 else
04193 continue;
04194 else
04195 continue;
04196 else
04197 if(p[pixel[8]] > cb)
04198 if(p[pixel[9]] > cb)
04199 if(p[pixel[10]] > cb)
04200 if(p[pixel[11]] > cb)
04201 if(p[pixel[12]] > cb)
04202 if(p[pixel[13]] > cb)
04203 if(p[pixel[14]] > cb)
04204 if(p[pixel[15]] > cb)
04205 {}
04206 else
04207 if(p[pixel[6]] > cb)
04208 if(p[pixel[7]] > cb)
04209 {}
04210 else
04211 continue;
04212 else
04213 continue;
04214 else
04215 if(p[pixel[5]] > cb)
04216 if(p[pixel[6]] > cb)
04217 if(p[pixel[7]] > cb)
04218 {}
04219 else
04220 continue;
04221 else
04222 continue;
04223 else
04224 continue;
04225 else
04226 if(p[pixel[4]] > cb)
04227 if(p[pixel[5]] > cb)
04228 if(p[pixel[6]] > cb)
04229 if(p[pixel[7]] > cb)
04230 {}
04231 else
04232 continue;
04233 else
04234 continue;
04235 else
04236 continue;
04237 else
04238 continue;
04239 else
04240 if(p[pixel[3]] > cb)
04241 if(p[pixel[4]] > cb)
04242 if(p[pixel[5]] > cb)
04243 if(p[pixel[6]] > cb)
04244 if(p[pixel[7]] > cb)
04245 {}
04246 else
04247 continue;
04248 else
04249 continue;
04250 else
04251 continue;
04252 else
04253 continue;
04254 else
04255 continue;
04256 else
04257 if(p[pixel[2]] > cb)
04258 if(p[pixel[3]] > cb)
04259 if(p[pixel[4]] > cb)
04260 if(p[pixel[5]] > cb)
04261 if(p[pixel[6]] > cb)
04262 if(p[pixel[7]] > cb)
04263 {}
04264 else
04265 continue;
04266 else
04267 continue;
04268 else
04269 continue;
04270 else
04271 continue;
04272 else
04273 continue;
04274 else
04275 continue;
04276 else
04277 continue;
04278 else
04279 continue;
04280 else if(p[pixel[8]] < c_b)
04281 if(p[pixel[7]] < c_b)
04282 if(p[pixel[9]] < c_b)
04283 if(p[pixel[10]] < c_b)
04284 if(p[pixel[6]] < c_b)
04285 if(p[pixel[5]] < c_b)
04286 if(p[pixel[4]] < c_b)
04287 if(p[pixel[3]] < c_b)
04288 if(p[pixel[2]] < c_b)
04289 {}
04290 else
04291 if(p[pixel[11]] < c_b)
04292 {}
04293 else
04294 continue;
04295 else
04296 if(p[pixel[11]] < c_b)
04297 if(p[pixel[12]] < c_b)
04298 {}
04299 else
04300 continue;
04301 else
04302 continue;
04303 else
04304 if(p[pixel[11]] < c_b)
04305 if(p[pixel[12]] < c_b)
04306 if(p[pixel[13]] < c_b)
04307 {}
04308 else
04309 continue;
04310 else
04311 continue;
04312 else
04313 continue;
04314 else
04315 if(p[pixel[11]] < c_b)
04316 if(p[pixel[12]] < c_b)
04317 if(p[pixel[13]] < c_b)
04318 if(p[pixel[14]] < c_b)
04319 {}
04320 else
04321 continue;
04322 else
04323 continue;
04324 else
04325 continue;
04326 else
04327 continue;
04328 else
04329 if(p[pixel[11]] < c_b)
04330 if(p[pixel[12]] < c_b)
04331 if(p[pixel[13]] < c_b)
04332 if(p[pixel[14]] < c_b)
04333 if(p[pixel[15]] < c_b)
04334 {}
04335 else
04336 continue;
04337 else
04338 continue;
04339 else
04340 continue;
04341 else
04342 continue;
04343 else
04344 continue;
04345 else
04346 continue;
04347 else
04348 continue;
04349 else
04350 continue;
04351 else
04352 continue;
04353 else if(p[pixel[0]] < c_b)
04354 if(p[pixel[1]] > cb)
04355 if(p[pixel[8]] > cb)
04356 if(p[pixel[7]] > cb)
04357 if(p[pixel[9]] > cb)
04358 if(p[pixel[6]] > cb)
04359 if(p[pixel[5]] > cb)
04360 if(p[pixel[4]] > cb)
04361 if(p[pixel[3]] > cb)
04362 if(p[pixel[2]] > cb)
04363 {}
04364 else
04365 if(p[pixel[10]] > cb)
04366 if(p[pixel[11]] > cb)
04367 {}
04368 else
04369 continue;
04370 else
04371 continue;
04372 else
04373 if(p[pixel[10]] > cb)
04374 if(p[pixel[11]] > cb)
04375 if(p[pixel[12]] > cb)
04376 {}
04377 else
04378 continue;
04379 else
04380 continue;
04381 else
04382 continue;
04383 else
04384 if(p[pixel[10]] > cb)
04385 if(p[pixel[11]] > cb)
04386 if(p[pixel[12]] > cb)
04387 if(p[pixel[13]] > cb)
04388 {}
04389 else
04390 continue;
04391 else
04392 continue;
04393 else
04394 continue;
04395 else
04396 continue;
04397 else
04398 if(p[pixel[10]] > cb)
04399 if(p[pixel[11]] > cb)
04400 if(p[pixel[12]] > cb)
04401 if(p[pixel[13]] > cb)
04402 if(p[pixel[14]] > cb)
04403 {}
04404 else
04405 continue;
04406 else
04407 continue;
04408 else
04409 continue;
04410 else
04411 continue;
04412 else
04413 continue;
04414 else
04415 if(p[pixel[10]] > cb)
04416 if(p[pixel[11]] > cb)
04417 if(p[pixel[12]] > cb)
04418 if(p[pixel[13]] > cb)
04419 if(p[pixel[14]] > cb)
04420 if(p[pixel[15]] > cb)
04421 {}
04422 else
04423 continue;
04424 else
04425 continue;
04426 else
04427 continue;
04428 else
04429 continue;
04430 else
04431 continue;
04432 else
04433 continue;
04434 else
04435 continue;
04436 else
04437 continue;
04438 else if(p[pixel[8]] < c_b)
04439 if(p[pixel[9]] < c_b)
04440 if(p[pixel[10]] < c_b)
04441 if(p[pixel[11]] < c_b)
04442 if(p[pixel[12]] < c_b)
04443 if(p[pixel[13]] < c_b)
04444 if(p[pixel[14]] < c_b)
04445 if(p[pixel[15]] < c_b)
04446 {}
04447 else
04448 if(p[pixel[6]] < c_b)
04449 if(p[pixel[7]] < c_b)
04450 {}
04451 else
04452 continue;
04453 else
04454 continue;
04455 else
04456 if(p[pixel[5]] < c_b)
04457 if(p[pixel[6]] < c_b)
04458 if(p[pixel[7]] < c_b)
04459 {}
04460 else
04461 continue;
04462 else
04463 continue;
04464 else
04465 continue;
04466 else
04467 if(p[pixel[4]] < c_b)
04468 if(p[pixel[5]] < c_b)
04469 if(p[pixel[6]] < c_b)
04470 if(p[pixel[7]] < c_b)
04471 {}
04472 else
04473 continue;
04474 else
04475 continue;
04476 else
04477 continue;
04478 else
04479 continue;
04480 else
04481 if(p[pixel[3]] < c_b)
04482 if(p[pixel[4]] < c_b)
04483 if(p[pixel[5]] < c_b)
04484 if(p[pixel[6]] < c_b)
04485 if(p[pixel[7]] < c_b)
04486 {}
04487 else
04488 continue;
04489 else
04490 continue;
04491 else
04492 continue;
04493 else
04494 continue;
04495 else
04496 continue;
04497 else
04498 if(p[pixel[2]] < c_b)
04499 if(p[pixel[3]] < c_b)
04500 if(p[pixel[4]] < c_b)
04501 if(p[pixel[5]] < c_b)
04502 if(p[pixel[6]] < c_b)
04503 if(p[pixel[7]] < c_b)
04504 {}
04505 else
04506 continue;
04507 else
04508 continue;
04509 else
04510 continue;
04511 else
04512 continue;
04513 else
04514 continue;
04515 else
04516 continue;
04517 else
04518 continue;
04519 else
04520 continue;
04521 else
04522 continue;
04523 else if(p[pixel[1]] < c_b)
04524 if(p[pixel[2]] > cb)
04525 if(p[pixel[9]] > cb)
04526 if(p[pixel[7]] > cb)
04527 if(p[pixel[8]] > cb)
04528 if(p[pixel[10]] > cb)
04529 if(p[pixel[6]] > cb)
04530 if(p[pixel[5]] > cb)
04531 if(p[pixel[4]] > cb)
04532 if(p[pixel[3]] > cb)
04533 {}
04534 else
04535 if(p[pixel[11]] > cb)
04536 if(p[pixel[12]] > cb)
04537 {}
04538 else
04539 continue;
04540 else
04541 continue;
04542 else
04543 if(p[pixel[11]] > cb)
04544 if(p[pixel[12]] > cb)
04545 if(p[pixel[13]] > cb)
04546 {}
04547 else
04548 continue;
04549 else
04550 continue;
04551 else
04552 continue;
04553 else
04554 if(p[pixel[11]] > cb)
04555 if(p[pixel[12]] > cb)
04556 if(p[pixel[13]] > cb)
04557 if(p[pixel[14]] > cb)
04558 {}
04559 else
04560 continue;
04561 else
04562 continue;
04563 else
04564 continue;
04565 else
04566 continue;
04567 else
04568 if(p[pixel[11]] > cb)
04569 if(p[pixel[12]] > cb)
04570 if(p[pixel[13]] > cb)
04571 if(p[pixel[14]] > cb)
04572 if(p[pixel[15]] > cb)
04573 {}
04574 else
04575 continue;
04576 else
04577 continue;
04578 else
04579 continue;
04580 else
04581 continue;
04582 else
04583 continue;
04584 else
04585 continue;
04586 else
04587 continue;
04588 else
04589 continue;
04590 else if(p[pixel[9]] < c_b)
04591 if(p[pixel[10]] < c_b)
04592 if(p[pixel[11]] < c_b)
04593 if(p[pixel[12]] < c_b)
04594 if(p[pixel[13]] < c_b)
04595 if(p[pixel[14]] < c_b)
04596 if(p[pixel[15]] < c_b)
04597 {}
04598 else
04599 if(p[pixel[6]] < c_b)
04600 if(p[pixel[7]] < c_b)
04601 if(p[pixel[8]] < c_b)
04602 {}
04603 else
04604 continue;
04605 else
04606 continue;
04607 else
04608 continue;
04609 else
04610 if(p[pixel[5]] < c_b)
04611 if(p[pixel[6]] < c_b)
04612 if(p[pixel[7]] < c_b)
04613 if(p[pixel[8]] < c_b)
04614 {}
04615 else
04616 continue;
04617 else
04618 continue;
04619 else
04620 continue;
04621 else
04622 continue;
04623 else
04624 if(p[pixel[4]] < c_b)
04625 if(p[pixel[5]] < c_b)
04626 if(p[pixel[6]] < c_b)
04627 if(p[pixel[7]] < c_b)
04628 if(p[pixel[8]] < c_b)
04629 {}
04630 else
04631 continue;
04632 else
04633 continue;
04634 else
04635 continue;
04636 else
04637 continue;
04638 else
04639 continue;
04640 else
04641 if(p[pixel[3]] < c_b)
04642 if(p[pixel[4]] < c_b)
04643 if(p[pixel[5]] < c_b)
04644 if(p[pixel[6]] < c_b)
04645 if(p[pixel[7]] < c_b)
04646 if(p[pixel[8]] < c_b)
04647 {}
04648 else
04649 continue;
04650 else
04651 continue;
04652 else
04653 continue;
04654 else
04655 continue;
04656 else
04657 continue;
04658 else
04659 continue;
04660 else
04661 continue;
04662 else
04663 continue;
04664 else
04665 continue;
04666 else if(p[pixel[2]] < c_b)
04667 if(p[pixel[3]] > cb)
04668 if(p[pixel[10]] > cb)
04669 if(p[pixel[7]] > cb)
04670 if(p[pixel[8]] > cb)
04671 if(p[pixel[9]] > cb)
04672 if(p[pixel[11]] > cb)
04673 if(p[pixel[6]] > cb)
04674 if(p[pixel[5]] > cb)
04675 if(p[pixel[4]] > cb)
04676 {}
04677 else
04678 if(p[pixel[12]] > cb)
04679 if(p[pixel[13]] > cb)
04680 {}
04681 else
04682 continue;
04683 else
04684 continue;
04685 else
04686 if(p[pixel[12]] > cb)
04687 if(p[pixel[13]] > cb)
04688 if(p[pixel[14]] > cb)
04689 {}
04690 else
04691 continue;
04692 else
04693 continue;
04694 else
04695 continue;
04696 else
04697 if(p[pixel[12]] > cb)
04698 if(p[pixel[13]] > cb)
04699 if(p[pixel[14]] > cb)
04700 if(p[pixel[15]] > cb)
04701 {}
04702 else
04703 continue;
04704 else
04705 continue;
04706 else
04707 continue;
04708 else
04709 continue;
04710 else
04711 continue;
04712 else
04713 continue;
04714 else
04715 continue;
04716 else
04717 continue;
04718 else if(p[pixel[10]] < c_b)
04719 if(p[pixel[11]] < c_b)
04720 if(p[pixel[12]] < c_b)
04721 if(p[pixel[13]] < c_b)
04722 if(p[pixel[14]] < c_b)
04723 if(p[pixel[15]] < c_b)
04724 {}
04725 else
04726 if(p[pixel[6]] < c_b)
04727 if(p[pixel[7]] < c_b)
04728 if(p[pixel[8]] < c_b)
04729 if(p[pixel[9]] < c_b)
04730 {}
04731 else
04732 continue;
04733 else
04734 continue;
04735 else
04736 continue;
04737 else
04738 continue;
04739 else
04740 if(p[pixel[5]] < c_b)
04741 if(p[pixel[6]] < c_b)
04742 if(p[pixel[7]] < c_b)
04743 if(p[pixel[8]] < c_b)
04744 if(p[pixel[9]] < c_b)
04745 {}
04746 else
04747 continue;
04748 else
04749 continue;
04750 else
04751 continue;
04752 else
04753 continue;
04754 else
04755 continue;
04756 else
04757 if(p[pixel[4]] < c_b)
04758 if(p[pixel[5]] < c_b)
04759 if(p[pixel[6]] < c_b)
04760 if(p[pixel[7]] < c_b)
04761 if(p[pixel[8]] < c_b)
04762 if(p[pixel[9]] < c_b)
04763 {}
04764 else
04765 continue;
04766 else
04767 continue;
04768 else
04769 continue;
04770 else
04771 continue;
04772 else
04773 continue;
04774 else
04775 continue;
04776 else
04777 continue;
04778 else
04779 continue;
04780 else
04781 continue;
04782 else if(p[pixel[3]] < c_b)
04783 if(p[pixel[4]] > cb)
04784 if(p[pixel[13]] > cb)
04785 if(p[pixel[7]] > cb)
04786 if(p[pixel[8]] > cb)
04787 if(p[pixel[9]] > cb)
04788 if(p[pixel[10]] > cb)
04789 if(p[pixel[11]] > cb)
04790 if(p[pixel[12]] > cb)
04791 if(p[pixel[6]] > cb)
04792 if(p[pixel[5]] > cb)
04793 {}
04794 else
04795 if(p[pixel[14]] > cb)
04796 {}
04797 else
04798 continue;
04799 else
04800 if(p[pixel[14]] > cb)
04801 if(p[pixel[15]] > cb)
04802 {}
04803 else
04804 continue;
04805 else
04806 continue;
04807 else
04808 continue;
04809 else
04810 continue;
04811 else
04812 continue;
04813 else
04814 continue;
04815 else
04816 continue;
04817 else
04818 continue;
04819 else if(p[pixel[13]] < c_b)
04820 if(p[pixel[11]] > cb)
04821 if(p[pixel[5]] > cb)
04822 if(p[pixel[6]] > cb)
04823 if(p[pixel[7]] > cb)
04824 if(p[pixel[8]] > cb)
04825 if(p[pixel[9]] > cb)
04826 if(p[pixel[10]] > cb)
04827 if(p[pixel[12]] > cb)
04828 {}
04829 else
04830 continue;
04831 else
04832 continue;
04833 else
04834 continue;
04835 else
04836 continue;
04837 else
04838 continue;
04839 else
04840 continue;
04841 else
04842 continue;
04843 else if(p[pixel[11]] < c_b)
04844 if(p[pixel[12]] < c_b)
04845 if(p[pixel[14]] < c_b)
04846 if(p[pixel[15]] < c_b)
04847 {}
04848 else
04849 if(p[pixel[6]] < c_b)
04850 if(p[pixel[7]] < c_b)
04851 if(p[pixel[8]] < c_b)
04852 if(p[pixel[9]] < c_b)
04853 if(p[pixel[10]] < c_b)
04854 {}
04855 else
04856 continue;
04857 else
04858 continue;
04859 else
04860 continue;
04861 else
04862 continue;
04863 else
04864 continue;
04865 else
04866 if(p[pixel[5]] < c_b)
04867 if(p[pixel[6]] < c_b)
04868 if(p[pixel[7]] < c_b)
04869 if(p[pixel[8]] < c_b)
04870 if(p[pixel[9]] < c_b)
04871 if(p[pixel[10]] < c_b)
04872 {}
04873 else
04874 continue;
04875 else
04876 continue;
04877 else
04878 continue;
04879 else
04880 continue;
04881 else
04882 continue;
04883 else
04884 continue;
04885 else
04886 continue;
04887 else
04888 continue;
04889 else
04890 if(p[pixel[5]] > cb)
04891 if(p[pixel[6]] > cb)
04892 if(p[pixel[7]] > cb)
04893 if(p[pixel[8]] > cb)
04894 if(p[pixel[9]] > cb)
04895 if(p[pixel[10]] > cb)
04896 if(p[pixel[11]] > cb)
04897 if(p[pixel[12]] > cb)
04898 {}
04899 else
04900 continue;
04901 else
04902 continue;
04903 else
04904 continue;
04905 else
04906 continue;
04907 else
04908 continue;
04909 else
04910 continue;
04911 else
04912 continue;
04913 else
04914 continue;
04915 else if(p[pixel[4]] < c_b)
04916 if(p[pixel[5]] > cb)
04917 if(p[pixel[14]] > cb)
04918 if(p[pixel[7]] > cb)
04919 if(p[pixel[8]] > cb)
04920 if(p[pixel[9]] > cb)
04921 if(p[pixel[10]] > cb)
04922 if(p[pixel[11]] > cb)
04923 if(p[pixel[12]] > cb)
04924 if(p[pixel[13]] > cb)
04925 if(p[pixel[6]] > cb)
04926 {}
04927 else
04928 if(p[pixel[15]] > cb)
04929 {}
04930 else
04931 continue;
04932 else
04933 continue;
04934 else
04935 continue;
04936 else
04937 continue;
04938 else
04939 continue;
04940 else
04941 continue;
04942 else
04943 continue;
04944 else
04945 continue;
04946 else if(p[pixel[14]] < c_b)
04947 if(p[pixel[12]] > cb)
04948 if(p[pixel[6]] > cb)
04949 if(p[pixel[7]] > cb)
04950 if(p[pixel[8]] > cb)
04951 if(p[pixel[9]] > cb)
04952 if(p[pixel[10]] > cb)
04953 if(p[pixel[11]] > cb)
04954 if(p[pixel[13]] > cb)
04955 {}
04956 else
04957 continue;
04958 else
04959 continue;
04960 else
04961 continue;
04962 else
04963 continue;
04964 else
04965 continue;
04966 else
04967 continue;
04968 else
04969 continue;
04970 else if(p[pixel[12]] < c_b)
04971 if(p[pixel[13]] < c_b)
04972 if(p[pixel[15]] < c_b)
04973 {}
04974 else
04975 if(p[pixel[6]] < c_b)
04976 if(p[pixel[7]] < c_b)
04977 if(p[pixel[8]] < c_b)
04978 if(p[pixel[9]] < c_b)
04979 if(p[pixel[10]] < c_b)
04980 if(p[pixel[11]] < c_b)
04981 {}
04982 else
04983 continue;
04984 else
04985 continue;
04986 else
04987 continue;
04988 else
04989 continue;
04990 else
04991 continue;
04992 else
04993 continue;
04994 else
04995 continue;
04996 else
04997 continue;
04998 else
04999 if(p[pixel[6]] > cb)
05000 if(p[pixel[7]] > cb)
05001 if(p[pixel[8]] > cb)
05002 if(p[pixel[9]] > cb)
05003 if(p[pixel[10]] > cb)
05004 if(p[pixel[11]] > cb)
05005 if(p[pixel[12]] > cb)
05006 if(p[pixel[13]] > cb)
05007 {}
05008 else
05009 continue;
05010 else
05011 continue;
05012 else
05013 continue;
05014 else
05015 continue;
05016 else
05017 continue;
05018 else
05019 continue;
05020 else
05021 continue;
05022 else
05023 continue;
05024 else if(p[pixel[5]] < c_b)
05025 if(p[pixel[6]] > cb)
05026 if(p[pixel[15]] < c_b)
05027 if(p[pixel[13]] > cb)
05028 if(p[pixel[7]] > cb)
05029 if(p[pixel[8]] > cb)
05030 if(p[pixel[9]] > cb)
05031 if(p[pixel[10]] > cb)
05032 if(p[pixel[11]] > cb)
05033 if(p[pixel[12]] > cb)
05034 if(p[pixel[14]] > cb)
05035 {}
05036 else
05037 continue;
05038 else
05039 continue;
05040 else
05041 continue;
05042 else
05043 continue;
05044 else
05045 continue;
05046 else
05047 continue;
05048 else
05049 continue;
05050 else if(p[pixel[13]] < c_b)
05051 if(p[pixel[14]] < c_b)
05052 {}
05053 else
05054 continue;
05055 else
05056 continue;
05057 else
05058 if(p[pixel[7]] > cb)
05059 if(p[pixel[8]] > cb)
05060 if(p[pixel[9]] > cb)
05061 if(p[pixel[10]] > cb)
05062 if(p[pixel[11]] > cb)
05063 if(p[pixel[12]] > cb)
05064 if(p[pixel[13]] > cb)
05065 if(p[pixel[14]] > cb)
05066 {}
05067 else
05068 continue;
05069 else
05070 continue;
05071 else
05072 continue;
05073 else
05074 continue;
05075 else
05076 continue;
05077 else
05078 continue;
05079 else
05080 continue;
05081 else
05082 continue;
05083 else if(p[pixel[6]] < c_b)
05084 if(p[pixel[7]] > cb)
05085 if(p[pixel[14]] > cb)
05086 if(p[pixel[8]] > cb)
05087 if(p[pixel[9]] > cb)
05088 if(p[pixel[10]] > cb)
05089 if(p[pixel[11]] > cb)
05090 if(p[pixel[12]] > cb)
05091 if(p[pixel[13]] > cb)
05092 if(p[pixel[15]] > cb)
05093 {}
05094 else
05095 continue;
05096 else
05097 continue;
05098 else
05099 continue;
05100 else
05101 continue;
05102 else
05103 continue;
05104 else
05105 continue;
05106 else
05107 continue;
05108 else if(p[pixel[14]] < c_b)
05109 if(p[pixel[15]] < c_b)
05110 {}
05111 else
05112 continue;
05113 else
05114 continue;
05115 else if(p[pixel[7]] < c_b)
05116 if(p[pixel[8]] < c_b)
05117 {}
05118 else
05119 if(p[pixel[15]] < c_b)
05120 {}
05121 else
05122 continue;
05123 else
05124 if(p[pixel[14]] < c_b)
05125 if(p[pixel[15]] < c_b)
05126 {}
05127 else
05128 continue;
05129 else
05130 continue;
05131 else
05132 if(p[pixel[13]] > cb)
05133 if(p[pixel[7]] > cb)
05134 if(p[pixel[8]] > cb)
05135 if(p[pixel[9]] > cb)
05136 if(p[pixel[10]] > cb)
05137 if(p[pixel[11]] > cb)
05138 if(p[pixel[12]] > cb)
05139 if(p[pixel[14]] > cb)
05140 if(p[pixel[15]] > cb)
05141 {}
05142 else
05143 continue;
05144 else
05145 continue;
05146 else
05147 continue;
05148 else
05149 continue;
05150 else
05151 continue;
05152 else
05153 continue;
05154 else
05155 continue;
05156 else
05157 continue;
05158 else if(p[pixel[13]] < c_b)
05159 if(p[pixel[14]] < c_b)
05160 if(p[pixel[15]] < c_b)
05161 {}
05162 else
05163 continue;
05164 else
05165 continue;
05166 else
05167 continue;
05168 else
05169 if(p[pixel[12]] > cb)
05170 if(p[pixel[7]] > cb)
05171 if(p[pixel[8]] > cb)
05172 if(p[pixel[9]] > cb)
05173 if(p[pixel[10]] > cb)
05174 if(p[pixel[11]] > cb)
05175 if(p[pixel[13]] > cb)
05176 if(p[pixel[14]] > cb)
05177 if(p[pixel[6]] > cb)
05178 {}
05179 else
05180 if(p[pixel[15]] > cb)
05181 {}
05182 else
05183 continue;
05184 else
05185 continue;
05186 else
05187 continue;
05188 else
05189 continue;
05190 else
05191 continue;
05192 else
05193 continue;
05194 else
05195 continue;
05196 else
05197 continue;
05198 else if(p[pixel[12]] < c_b)
05199 if(p[pixel[13]] < c_b)
05200 if(p[pixel[14]] < c_b)
05201 if(p[pixel[15]] < c_b)
05202 {}
05203 else
05204 if(p[pixel[6]] < c_b)
05205 if(p[pixel[7]] < c_b)
05206 if(p[pixel[8]] < c_b)
05207 if(p[pixel[9]] < c_b)
05208 if(p[pixel[10]] < c_b)
05209 if(p[pixel[11]] < c_b)
05210 {}
05211 else
05212 continue;
05213 else
05214 continue;
05215 else
05216 continue;
05217 else
05218 continue;
05219 else
05220 continue;
05221 else
05222 continue;
05223 else
05224 continue;
05225 else
05226 continue;
05227 else
05228 continue;
05229 else
05230 if(p[pixel[11]] > cb)
05231 if(p[pixel[7]] > cb)
05232 if(p[pixel[8]] > cb)
05233 if(p[pixel[9]] > cb)
05234 if(p[pixel[10]] > cb)
05235 if(p[pixel[12]] > cb)
05236 if(p[pixel[13]] > cb)
05237 if(p[pixel[6]] > cb)
05238 if(p[pixel[5]] > cb)
05239 {}
05240 else
05241 if(p[pixel[14]] > cb)
05242 {}
05243 else
05244 continue;
05245 else
05246 if(p[pixel[14]] > cb)
05247 if(p[pixel[15]] > cb)
05248 {}
05249 else
05250 continue;
05251 else
05252 continue;
05253 else
05254 continue;
05255 else
05256 continue;
05257 else
05258 continue;
05259 else
05260 continue;
05261 else
05262 continue;
05263 else
05264 continue;
05265 else if(p[pixel[11]] < c_b)
05266 if(p[pixel[12]] < c_b)
05267 if(p[pixel[13]] < c_b)
05268 if(p[pixel[14]] < c_b)
05269 if(p[pixel[15]] < c_b)
05270 {}
05271 else
05272 if(p[pixel[6]] < c_b)
05273 if(p[pixel[7]] < c_b)
05274 if(p[pixel[8]] < c_b)
05275 if(p[pixel[9]] < c_b)
05276 if(p[pixel[10]] < c_b)
05277 {}
05278 else
05279 continue;
05280 else
05281 continue;
05282 else
05283 continue;
05284 else
05285 continue;
05286 else
05287 continue;
05288 else
05289 if(p[pixel[5]] < c_b)
05290 if(p[pixel[6]] < c_b)
05291 if(p[pixel[7]] < c_b)
05292 if(p[pixel[8]] < c_b)
05293 if(p[pixel[9]] < c_b)
05294 if(p[pixel[10]] < c_b)
05295 {}
05296 else
05297 continue;
05298 else
05299 continue;
05300 else
05301 continue;
05302 else
05303 continue;
05304 else
05305 continue;
05306 else
05307 continue;
05308 else
05309 continue;
05310 else
05311 continue;
05312 else
05313 continue;
05314 else
05315 if(p[pixel[10]] > cb)
05316 if(p[pixel[7]] > cb)
05317 if(p[pixel[8]] > cb)
05318 if(p[pixel[9]] > cb)
05319 if(p[pixel[11]] > cb)
05320 if(p[pixel[12]] > cb)
05321 if(p[pixel[6]] > cb)
05322 if(p[pixel[5]] > cb)
05323 if(p[pixel[4]] > cb)
05324 {}
05325 else
05326 if(p[pixel[13]] > cb)
05327 {}
05328 else
05329 continue;
05330 else
05331 if(p[pixel[13]] > cb)
05332 if(p[pixel[14]] > cb)
05333 {}
05334 else
05335 continue;
05336 else
05337 continue;
05338 else
05339 if(p[pixel[13]] > cb)
05340 if(p[pixel[14]] > cb)
05341 if(p[pixel[15]] > cb)
05342 {}
05343 else
05344 continue;
05345 else
05346 continue;
05347 else
05348 continue;
05349 else
05350 continue;
05351 else
05352 continue;
05353 else
05354 continue;
05355 else
05356 continue;
05357 else
05358 continue;
05359 else if(p[pixel[10]] < c_b)
05360 if(p[pixel[11]] < c_b)
05361 if(p[pixel[12]] < c_b)
05362 if(p[pixel[13]] < c_b)
05363 if(p[pixel[14]] < c_b)
05364 if(p[pixel[15]] < c_b)
05365 {}
05366 else
05367 if(p[pixel[6]] < c_b)
05368 if(p[pixel[7]] < c_b)
05369 if(p[pixel[8]] < c_b)
05370 if(p[pixel[9]] < c_b)
05371 {}
05372 else
05373 continue;
05374 else
05375 continue;
05376 else
05377 continue;
05378 else
05379 continue;
05380 else
05381 if(p[pixel[5]] < c_b)
05382 if(p[pixel[6]] < c_b)
05383 if(p[pixel[7]] < c_b)
05384 if(p[pixel[8]] < c_b)
05385 if(p[pixel[9]] < c_b)
05386 {}
05387 else
05388 continue;
05389 else
05390 continue;
05391 else
05392 continue;
05393 else
05394 continue;
05395 else
05396 continue;
05397 else
05398 if(p[pixel[4]] < c_b)
05399 if(p[pixel[5]] < c_b)
05400 if(p[pixel[6]] < c_b)
05401 if(p[pixel[7]] < c_b)
05402 if(p[pixel[8]] < c_b)
05403 if(p[pixel[9]] < c_b)
05404 {}
05405 else
05406 continue;
05407 else
05408 continue;
05409 else
05410 continue;
05411 else
05412 continue;
05413 else
05414 continue;
05415 else
05416 continue;
05417 else
05418 continue;
05419 else
05420 continue;
05421 else
05422 continue;
05423 else
05424 if(p[pixel[9]] > cb)
05425 if(p[pixel[7]] > cb)
05426 if(p[pixel[8]] > cb)
05427 if(p[pixel[10]] > cb)
05428 if(p[pixel[11]] > cb)
05429 if(p[pixel[6]] > cb)
05430 if(p[pixel[5]] > cb)
05431 if(p[pixel[4]] > cb)
05432 if(p[pixel[3]] > cb)
05433 {}
05434 else
05435 if(p[pixel[12]] > cb)
05436 {}
05437 else
05438 continue;
05439 else
05440 if(p[pixel[12]] > cb)
05441 if(p[pixel[13]] > cb)
05442 {}
05443 else
05444 continue;
05445 else
05446 continue;
05447 else
05448 if(p[pixel[12]] > cb)
05449 if(p[pixel[13]] > cb)
05450 if(p[pixel[14]] > cb)
05451 {}
05452 else
05453 continue;
05454 else
05455 continue;
05456 else
05457 continue;
05458 else
05459 if(p[pixel[12]] > cb)
05460 if(p[pixel[13]] > cb)
05461 if(p[pixel[14]] > cb)
05462 if(p[pixel[15]] > cb)
05463 {}
05464 else
05465 continue;
05466 else
05467 continue;
05468 else
05469 continue;
05470 else
05471 continue;
05472 else
05473 continue;
05474 else
05475 continue;
05476 else
05477 continue;
05478 else
05479 continue;
05480 else if(p[pixel[9]] < c_b)
05481 if(p[pixel[10]] < c_b)
05482 if(p[pixel[11]] < c_b)
05483 if(p[pixel[12]] < c_b)
05484 if(p[pixel[13]] < c_b)
05485 if(p[pixel[14]] < c_b)
05486 if(p[pixel[15]] < c_b)
05487 {}
05488 else
05489 if(p[pixel[6]] < c_b)
05490 if(p[pixel[7]] < c_b)
05491 if(p[pixel[8]] < c_b)
05492 {}
05493 else
05494 continue;
05495 else
05496 continue;
05497 else
05498 continue;
05499 else
05500 if(p[pixel[5]] < c_b)
05501 if(p[pixel[6]] < c_b)
05502 if(p[pixel[7]] < c_b)
05503 if(p[pixel[8]] < c_b)
05504 {}
05505 else
05506 continue;
05507 else
05508 continue;
05509 else
05510 continue;
05511 else
05512 continue;
05513 else
05514 if(p[pixel[4]] < c_b)
05515 if(p[pixel[5]] < c_b)
05516 if(p[pixel[6]] < c_b)
05517 if(p[pixel[7]] < c_b)
05518 if(p[pixel[8]] < c_b)
05519 {}
05520 else
05521 continue;
05522 else
05523 continue;
05524 else
05525 continue;
05526 else
05527 continue;
05528 else
05529 continue;
05530 else
05531 if(p[pixel[3]] < c_b)
05532 if(p[pixel[4]] < c_b)
05533 if(p[pixel[5]] < c_b)
05534 if(p[pixel[6]] < c_b)
05535 if(p[pixel[7]] < c_b)
05536 if(p[pixel[8]] < c_b)
05537 {}
05538 else
05539 continue;
05540 else
05541 continue;
05542 else
05543 continue;
05544 else
05545 continue;
05546 else
05547 continue;
05548 else
05549 continue;
05550 else
05551 continue;
05552 else
05553 continue;
05554 else
05555 continue;
05556 else
05557 if(p[pixel[8]] > cb)
05558 if(p[pixel[7]] > cb)
05559 if(p[pixel[9]] > cb)
05560 if(p[pixel[10]] > cb)
05561 if(p[pixel[6]] > cb)
05562 if(p[pixel[5]] > cb)
05563 if(p[pixel[4]] > cb)
05564 if(p[pixel[3]] > cb)
05565 if(p[pixel[2]] > cb)
05566 {}
05567 else
05568 if(p[pixel[11]] > cb)
05569 {}
05570 else
05571 continue;
05572 else
05573 if(p[pixel[11]] > cb)
05574 if(p[pixel[12]] > cb)
05575 {}
05576 else
05577 continue;
05578 else
05579 continue;
05580 else
05581 if(p[pixel[11]] > cb)
05582 if(p[pixel[12]] > cb)
05583 if(p[pixel[13]] > cb)
05584 {}
05585 else
05586 continue;
05587 else
05588 continue;
05589 else
05590 continue;
05591 else
05592 if(p[pixel[11]] > cb)
05593 if(p[pixel[12]] > cb)
05594 if(p[pixel[13]] > cb)
05595 if(p[pixel[14]] > cb)
05596 {}
05597 else
05598 continue;
05599 else
05600 continue;
05601 else
05602 continue;
05603 else
05604 continue;
05605 else
05606 if(p[pixel[11]] > cb)
05607 if(p[pixel[12]] > cb)
05608 if(p[pixel[13]] > cb)
05609 if(p[pixel[14]] > cb)
05610 if(p[pixel[15]] > cb)
05611 {}
05612 else
05613 continue;
05614 else
05615 continue;
05616 else
05617 continue;
05618 else
05619 continue;
05620 else
05621 continue;
05622 else
05623 continue;
05624 else
05625 continue;
05626 else
05627 continue;
05628 else if(p[pixel[8]] < c_b)
05629 if(p[pixel[9]] < c_b)
05630 if(p[pixel[10]] < c_b)
05631 if(p[pixel[11]] < c_b)
05632 if(p[pixel[12]] < c_b)
05633 if(p[pixel[13]] < c_b)
05634 if(p[pixel[14]] < c_b)
05635 if(p[pixel[15]] < c_b)
05636 {}
05637 else
05638 if(p[pixel[6]] < c_b)
05639 if(p[pixel[7]] < c_b)
05640 {}
05641 else
05642 continue;
05643 else
05644 continue;
05645 else
05646 if(p[pixel[5]] < c_b)
05647 if(p[pixel[6]] < c_b)
05648 if(p[pixel[7]] < c_b)
05649 {}
05650 else
05651 continue;
05652 else
05653 continue;
05654 else
05655 continue;
05656 else
05657 if(p[pixel[4]] < c_b)
05658 if(p[pixel[5]] < c_b)
05659 if(p[pixel[6]] < c_b)
05660 if(p[pixel[7]] < c_b)
05661 {}
05662 else
05663 continue;
05664 else
05665 continue;
05666 else
05667 continue;
05668 else
05669 continue;
05670 else
05671 if(p[pixel[3]] < c_b)
05672 if(p[pixel[4]] < c_b)
05673 if(p[pixel[5]] < c_b)
05674 if(p[pixel[6]] < c_b)
05675 if(p[pixel[7]] < c_b)
05676 {}
05677 else
05678 continue;
05679 else
05680 continue;
05681 else
05682 continue;
05683 else
05684 continue;
05685 else
05686 continue;
05687 else
05688 if(p[pixel[2]] < c_b)
05689 if(p[pixel[3]] < c_b)
05690 if(p[pixel[4]] < c_b)
05691 if(p[pixel[5]] < c_b)
05692 if(p[pixel[6]] < c_b)
05693 if(p[pixel[7]] < c_b)
05694 {}
05695 else
05696 continue;
05697 else
05698 continue;
05699 else
05700 continue;
05701 else
05702 continue;
05703 else
05704 continue;
05705 else
05706 continue;
05707 else
05708 continue;
05709 else
05710 continue;
05711 else
05712 continue;
05713 else
05714 if(p[pixel[7]] > cb)
05715 if(p[pixel[8]] > cb)
05716 if(p[pixel[9]] > cb)
05717 if(p[pixel[6]] > cb)
05718 if(p[pixel[5]] > cb)
05719 if(p[pixel[4]] > cb)
05720 if(p[pixel[3]] > cb)
05721 if(p[pixel[2]] > cb)
05722 if(p[pixel[1]] > cb)
05723 {}
05724 else
05725 if(p[pixel[10]] > cb)
05726 {}
05727 else
05728 continue;
05729 else
05730 if(p[pixel[10]] > cb)
05731 if(p[pixel[11]] > cb)
05732 {}
05733 else
05734 continue;
05735 else
05736 continue;
05737 else
05738 if(p[pixel[10]] > cb)
05739 if(p[pixel[11]] > cb)
05740 if(p[pixel[12]] > cb)
05741 {}
05742 else
05743 continue;
05744 else
05745 continue;
05746 else
05747 continue;
05748 else
05749 if(p[pixel[10]] > cb)
05750 if(p[pixel[11]] > cb)
05751 if(p[pixel[12]] > cb)
05752 if(p[pixel[13]] > cb)
05753 {}
05754 else
05755 continue;
05756 else
05757 continue;
05758 else
05759 continue;
05760 else
05761 continue;
05762 else
05763 if(p[pixel[10]] > cb)
05764 if(p[pixel[11]] > cb)
05765 if(p[pixel[12]] > cb)
05766 if(p[pixel[13]] > cb)
05767 if(p[pixel[14]] > cb)
05768 {}
05769 else
05770 continue;
05771 else
05772 continue;
05773 else
05774 continue;
05775 else
05776 continue;
05777 else
05778 continue;
05779 else
05780 if(p[pixel[10]] > cb)
05781 if(p[pixel[11]] > cb)
05782 if(p[pixel[12]] > cb)
05783 if(p[pixel[13]] > cb)
05784 if(p[pixel[14]] > cb)
05785 if(p[pixel[15]] > cb)
05786 {}
05787 else
05788 continue;
05789 else
05790 continue;
05791 else
05792 continue;
05793 else
05794 continue;
05795 else
05796 continue;
05797 else
05798 continue;
05799 else
05800 continue;
05801 else
05802 continue;
05803 else if(p[pixel[7]] < c_b)
05804 if(p[pixel[8]] < c_b)
05805 if(p[pixel[9]] < c_b)
05806 if(p[pixel[6]] < c_b)
05807 if(p[pixel[5]] < c_b)
05808 if(p[pixel[4]] < c_b)
05809 if(p[pixel[3]] < c_b)
05810 if(p[pixel[2]] < c_b)
05811 if(p[pixel[1]] < c_b)
05812 {}
05813 else
05814 if(p[pixel[10]] < c_b)
05815 {}
05816 else
05817 continue;
05818 else
05819 if(p[pixel[10]] < c_b)
05820 if(p[pixel[11]] < c_b)
05821 {}
05822 else
05823 continue;
05824 else
05825 continue;
05826 else
05827 if(p[pixel[10]] < c_b)
05828 if(p[pixel[11]] < c_b)
05829 if(p[pixel[12]] < c_b)
05830 {}
05831 else
05832 continue;
05833 else
05834 continue;
05835 else
05836 continue;
05837 else
05838 if(p[pixel[10]] < c_b)
05839 if(p[pixel[11]] < c_b)
05840 if(p[pixel[12]] < c_b)
05841 if(p[pixel[13]] < c_b)
05842 {}
05843 else
05844 continue;
05845 else
05846 continue;
05847 else
05848 continue;
05849 else
05850 continue;
05851 else
05852 if(p[pixel[10]] < c_b)
05853 if(p[pixel[11]] < c_b)
05854 if(p[pixel[12]] < c_b)
05855 if(p[pixel[13]] < c_b)
05856 if(p[pixel[14]] < c_b)
05857 {}
05858 else
05859 continue;
05860 else
05861 continue;
05862 else
05863 continue;
05864 else
05865 continue;
05866 else
05867 continue;
05868 else
05869 if(p[pixel[10]] < c_b)
05870 if(p[pixel[11]] < c_b)
05871 if(p[pixel[12]] < c_b)
05872 if(p[pixel[13]] < c_b)
05873 if(p[pixel[14]] < c_b)
05874 if(p[pixel[15]] < c_b)
05875 {}
05876 else
05877 continue;
05878 else
05879 continue;
05880 else
05881 continue;
05882 else
05883 continue;
05884 else
05885 continue;
05886 else
05887 continue;
05888 else
05889 continue;
05890 else
05891 continue;
05892 else
05893 continue;
05894 if(num_corners == rsize)
05895 {
05896 rsize*=2;
05897 ret_corners = (xy*)realloc(ret_corners, sizeof(xy)*rsize);
05898 }
05899 ret_corners[num_corners].x = x;
05900 ret_corners[num_corners].y = y;
05901 num_corners++;
05902
05903 }
05904
05905 *ret_num_corners = num_corners;
05906 return ret_corners;
05907
05908 }
05909
05910