5945 lines
225 KiB
C
5945 lines
225 KiB
C
|
|
// Copyright (c) 2006, 2008 Edward Rosten
|
||
|
|
// All rights reserved.
|
||
|
|
//
|
||
|
|
// Redistribution and use in source and binary forms, with or without
|
||
|
|
// modification, are permitted provided that the following conditions
|
||
|
|
// are met:
|
||
|
|
//
|
||
|
|
// *Redistributions of source code must retain the above copyright
|
||
|
|
// notice, this list of conditions and the following disclaimer.
|
||
|
|
//
|
||
|
|
// *Redistributions in binary form must reproduce the above copyright
|
||
|
|
// notice, this list of conditions and the following disclaimer in the
|
||
|
|
// documentation and/or other materials provided with the distribution.
|
||
|
|
//
|
||
|
|
// *Neither the name of the University of Cambridge nor the names of
|
||
|
|
// its contributors may be used to endorse or promote products derived
|
||
|
|
// from this software without specific prior written permission.
|
||
|
|
//
|
||
|
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||
|
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||
|
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||
|
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
|
||
|
|
// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||
|
|
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||
|
|
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||
|
|
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||
|
|
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||
|
|
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||
|
|
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
|
|
||
|
|
// clang-format off
|
||
|
|
/*This is mechanically generated code*/
|
||
|
|
#include <stdlib.h>
|
||
|
|
|
||
|
|
typedef struct { int x, y; } xy;
|
||
|
|
typedef unsigned char byte;
|
||
|
|
|
||
|
|
int aom_fast9_corner_score(const byte* p, const int pixel[], int bstart)
|
||
|
|
{
|
||
|
|
int bmin = bstart;
|
||
|
|
int bmax = 255;
|
||
|
|
int b = (bmax + bmin)/2;
|
||
|
|
|
||
|
|
/*Compute the score using binary search*/
|
||
|
|
for(;;)
|
||
|
|
{
|
||
|
|
int cb = *p + b;
|
||
|
|
int c_b= *p - b;
|
||
|
|
|
||
|
|
|
||
|
|
if( p[pixel[0]] > cb)
|
||
|
|
if( p[pixel[1]] > cb)
|
||
|
|
if( p[pixel[2]] > cb)
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[2]] < c_b)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[1]] < c_b)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[2]] > cb)
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[2]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[2]] > cb)
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[2]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[0]] < c_b)
|
||
|
|
if( p[pixel[1]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[2]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[2]] < c_b)
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[1]] < c_b)
|
||
|
|
if( p[pixel[2]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[2]] < c_b)
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[2]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[2]] < c_b)
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[7]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[7]] > cb)
|
||
|
|
if( p[pixel[8]] > cb)
|
||
|
|
if( p[pixel[9]] > cb)
|
||
|
|
if( p[pixel[6]] > cb)
|
||
|
|
if( p[pixel[5]] > cb)
|
||
|
|
if( p[pixel[4]] > cb)
|
||
|
|
if( p[pixel[3]] > cb)
|
||
|
|
if( p[pixel[2]] > cb)
|
||
|
|
if( p[pixel[1]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] > cb)
|
||
|
|
if( p[pixel[11]] > cb)
|
||
|
|
if( p[pixel[12]] > cb)
|
||
|
|
if( p[pixel[13]] > cb)
|
||
|
|
if( p[pixel[14]] > cb)
|
||
|
|
if( p[pixel[15]] > cb)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else if( p[pixel[7]] < c_b)
|
||
|
|
if( p[pixel[8]] < c_b)
|
||
|
|
if( p[pixel[9]] < c_b)
|
||
|
|
if( p[pixel[6]] < c_b)
|
||
|
|
if( p[pixel[5]] < c_b)
|
||
|
|
if( p[pixel[4]] < c_b)
|
||
|
|
if( p[pixel[3]] < c_b)
|
||
|
|
if( p[pixel[2]] < c_b)
|
||
|
|
if( p[pixel[1]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
if( p[pixel[10]] < c_b)
|
||
|
|
if( p[pixel[11]] < c_b)
|
||
|
|
if( p[pixel[12]] < c_b)
|
||
|
|
if( p[pixel[13]] < c_b)
|
||
|
|
if( p[pixel[14]] < c_b)
|
||
|
|
if( p[pixel[15]] < c_b)
|
||
|
|
goto is_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
else
|
||
|
|
goto is_not_a_corner;
|
||
|
|
|
||
|
|
is_a_corner:
|
||
|
|
bmin=b;
|
||
|
|
goto end_if;
|
||
|
|
|
||
|
|
is_not_a_corner:
|
||
|
|
bmax=b;
|
||
|
|
goto end_if;
|
||
|
|
|
||
|
|
end_if:
|
||
|
|
|
||
|
|
if(bmin == bmax - 1 || bmin == bmax)
|
||
|
|
return bmin;
|
||
|
|
b = (bmin + bmax) / 2;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
static void make_offsets(int pixel[], int row_stride)
|
||
|
|
{
|
||
|
|
pixel[0] = 0 + row_stride * 3;
|
||
|
|
pixel[1] = 1 + row_stride * 3;
|
||
|
|
pixel[2] = 2 + row_stride * 2;
|
||
|
|
pixel[3] = 3 + row_stride * 1;
|
||
|
|
pixel[4] = 3 + row_stride * 0;
|
||
|
|
pixel[5] = 3 + row_stride * -1;
|
||
|
|
pixel[6] = 2 + row_stride * -2;
|
||
|
|
pixel[7] = 1 + row_stride * -3;
|
||
|
|
pixel[8] = 0 + row_stride * -3;
|
||
|
|
pixel[9] = -1 + row_stride * -3;
|
||
|
|
pixel[10] = -2 + row_stride * -2;
|
||
|
|
pixel[11] = -3 + row_stride * -1;
|
||
|
|
pixel[12] = -3 + row_stride * 0;
|
||
|
|
pixel[13] = -3 + row_stride * 1;
|
||
|
|
pixel[14] = -2 + row_stride * 2;
|
||
|
|
pixel[15] = -1 + row_stride * 3;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
int* aom_fast9_score(const byte* i, int stride, xy* corners, int num_corners, int b)
|
||
|
|
{
|
||
|
|
int* scores = (int*)malloc(sizeof(int)* num_corners);
|
||
|
|
int n;
|
||
|
|
|
||
|
|
int pixel[16];
|
||
|
|
if(!scores) return NULL;
|
||
|
|
make_offsets(pixel, stride);
|
||
|
|
|
||
|
|
for(n=0; n < num_corners; n++)
|
||
|
|
scores[n] = aom_fast9_corner_score(i + corners[n].y*stride + corners[n].x, pixel, b);
|
||
|
|
|
||
|
|
return scores;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
xy* aom_fast9_detect(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners)
|
||
|
|
{
|
||
|
|
int num_corners=0;
|
||
|
|
xy* ret_corners;
|
||
|
|
int rsize=512;
|
||
|
|
int pixel[16];
|
||
|
|
int x, y;
|
||
|
|
|
||
|
|
ret_corners = (xy*)malloc(sizeof(xy)*rsize);
|
||
|
|
if(!ret_corners) return NULL;
|
||
|
|
make_offsets(pixel, stride);
|
||
|
|
|
||
|
|
for(y=3; y < ysize - 3; y++)
|
||
|
|
for(x=3; x < xsize - 3; x++)
|
||
|
|
{
|
||
|
|
const byte* p = im + y*stride + x;
|
||
|
|
|
||
|
|
int cb = *p + b;
|
||
|
|
int c_b= *p - b;
|
||
|
|
if(p[pixel[0]] > cb)
|
||
|
|
if(p[pixel[1]] > cb)
|
||
|
|
if(p[pixel[2]] > cb)
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[2]] < c_b)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[1]] < c_b)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[2]] > cb)
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[2]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[2]] > cb)
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[2]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[0]] < c_b)
|
||
|
|
if(p[pixel[1]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[2]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[2]] < c_b)
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[1]] < c_b)
|
||
|
|
if(p[pixel[2]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[2]] < c_b)
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[2]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[2]] < c_b)
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[7]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[7]] > cb)
|
||
|
|
if(p[pixel[8]] > cb)
|
||
|
|
if(p[pixel[9]] > cb)
|
||
|
|
if(p[pixel[6]] > cb)
|
||
|
|
if(p[pixel[5]] > cb)
|
||
|
|
if(p[pixel[4]] > cb)
|
||
|
|
if(p[pixel[3]] > cb)
|
||
|
|
if(p[pixel[2]] > cb)
|
||
|
|
if(p[pixel[1]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] > cb)
|
||
|
|
if(p[pixel[11]] > cb)
|
||
|
|
if(p[pixel[12]] > cb)
|
||
|
|
if(p[pixel[13]] > cb)
|
||
|
|
if(p[pixel[14]] > cb)
|
||
|
|
if(p[pixel[15]] > cb)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else if(p[pixel[7]] < c_b)
|
||
|
|
if(p[pixel[8]] < c_b)
|
||
|
|
if(p[pixel[9]] < c_b)
|
||
|
|
if(p[pixel[6]] < c_b)
|
||
|
|
if(p[pixel[5]] < c_b)
|
||
|
|
if(p[pixel[4]] < c_b)
|
||
|
|
if(p[pixel[3]] < c_b)
|
||
|
|
if(p[pixel[2]] < c_b)
|
||
|
|
if(p[pixel[1]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
if(p[pixel[10]] < c_b)
|
||
|
|
if(p[pixel[11]] < c_b)
|
||
|
|
if(p[pixel[12]] < c_b)
|
||
|
|
if(p[pixel[13]] < c_b)
|
||
|
|
if(p[pixel[14]] < c_b)
|
||
|
|
if(p[pixel[15]] < c_b)
|
||
|
|
{}
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
else
|
||
|
|
continue;
|
||
|
|
if(num_corners == rsize)
|
||
|
|
{
|
||
|
|
rsize*=2;
|
||
|
|
ret_corners = (xy*)realloc(ret_corners, sizeof(xy)*rsize);
|
||
|
|
if(!ret_corners) return NULL;
|
||
|
|
}
|
||
|
|
ret_corners[num_corners].x = x;
|
||
|
|
ret_corners[num_corners].y = y;
|
||
|
|
num_corners++;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
*ret_num_corners = num_corners;
|
||
|
|
return ret_corners;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
// clang-format on
|