static GLboolean check_results(GLboolean has_alpha, int x, int y, int w, int h) { GLboolean pass = GL_TRUE; pass &= check_pixel(has_alpha, tex_data[0], x + w * 1 / 4, y + h * 1 / 4); pass &= check_pixel(has_alpha, tex_data[1], x + w * 3 / 4, y + h * 1 / 4); pass &= check_pixel(has_alpha, tex_data[2], x + w * 1 / 4, y + h * 3 / 4); pass &= check_pixel(has_alpha, tex_data[3], x + w * 3 / 4, y + h * 3 / 4); return pass; }
static int check_all_funcs( int cpu_ref, int cpu_new ) { return check_pixel( cpu_ref, cpu_new ) + check_dct( cpu_ref, cpu_new ) + check_mc( cpu_ref, cpu_new ) + check_intra( cpu_ref, cpu_new ) + check_deblock( cpu_ref, cpu_new ) + check_quant( cpu_ref, cpu_new ) + check_cabac( cpu_ref, cpu_new ); }
void tracking_findConnectedness(image_t image, trackedObject_t * objects) { pixel_t cp; unsigned char i; unsigned short currLineStart = 0; unsigned short currLineFinish = 0; unsigned char lastLineXStart = 0; unsigned char lastLineXFinish = 255; unsigned short runLength[7] = {1,1,1,1,1,1,1}; unsigned short currPixel; unsigned char start_detect[7] = {0,0,0,0,0,0,0}; bool_t colorConnected; for(trackedLineCount = 0; trackedLineCount < 251; trackedLineCount++){ currLineStart = 0; currLineFinish = 0; start_detect[0] = 0; start_detect[1] = 0; runLength[0] = 1; runLength[1] = 1; for(currPixel = 0; currPixel < ACTUAL_NUM_PIXELS_IN_A_LINE; currPixel++){ colorConnected = FALSE; get_pixel(&image, currPixel, trackedLineCount, &cp); for (i=0; i<2; i++){ if( (check_pixel( &objects[i], cp ) == 1 ) ) { //&& ( (objects[i].y1 == (trackedLineCount - 1) ) ) runLength[i]++; if(runLength[i] > MIN_OBJECT_TRACKING_WIDTH){ if(start_detect[i] == 0){ currLineStart = currPixel; currLineFinish = currPixel; } else currLineFinish = currPixel; if ( ( (currLineStart >= lastLineXStart) && (currLineStart <= lastLineXFinish) ) || // I. ( (currLineFinish >= lastLineXStart) && (currLineFinish <= lastLineXFinish) ) || // II. ( (currLineStart <= lastLineXStart) && (currLineFinish >= lastLineXFinish) ) ) // III. { objects[i].lastLineXStart = currLineStart; objects[i].lastLineXFinish = currLineFinish; /* check if the bounding box needs to be updated */ if( (objects[i].x0) > currLineStart){ objects[i].x0 = currLineStart; } if( ( objects[i].x1) < currLineFinish){ objects[i].x1 = currLineFinish; } if( (objects[i].y0) > trackedLineCount){ objects[i].y0 = trackedLineCount; } if( ( objects[i].y1) < trackedLineCount){ objects[i].y1 = trackedLineCount; } colorConnected = TRUE; } start_detect[i] = 1; } if(colorConnected = FALSE){ } } } } } }