Image-PNG-Simple
view release on metacpan or search on metacpan
libpng-1.6.17/contrib/libtests/pngvalid.c view on Meta::CPAN
width &= 7;
++pass;
for (x=0; x<8; ++x) for (y=0; y<8; ++y) if (adam7[y][x] == pass)
{
cols += tiles;
if (x < width) ++cols;
break; /* i.e. break the 'y', row, loop. */
}
return cols;
}
static void
perform_interlace_macro_validation(void)
{
/* The macros to validate, first those that depend only on pass:
*
* PNG_PASS_START_ROW(pass)
* PNG_PASS_START_COL(pass)
* PNG_PASS_ROW_SHIFT(pass)
* PNG_PASS_COL_SHIFT(pass)
*/
int pass;
for (pass=0; pass<7; ++pass)
{
png_uint_32 m, f, v;
m = PNG_PASS_START_ROW(pass);
f = png_pass_start_row(pass);
if (m != f)
{
fprintf(stderr, "PNG_PASS_START_ROW(%d) = %u != %x\n", pass, m, f);
exit(99);
}
m = PNG_PASS_START_COL(pass);
f = png_pass_start_col(pass);
if (m != f)
{
fprintf(stderr, "PNG_PASS_START_COL(%d) = %u != %x\n", pass, m, f);
exit(99);
}
m = PNG_PASS_ROW_SHIFT(pass);
f = png_pass_row_shift(pass);
if (m != f)
{
fprintf(stderr, "PNG_PASS_ROW_SHIFT(%d) = %u != %x\n", pass, m, f);
exit(99);
}
m = PNG_PASS_COL_SHIFT(pass);
f = png_pass_col_shift(pass);
if (m != f)
{
fprintf(stderr, "PNG_PASS_COL_SHIFT(%d) = %u != %x\n", pass, m, f);
exit(99);
}
/* Macros that depend on the image or sub-image height too:
*
* PNG_PASS_ROWS(height, pass)
* PNG_PASS_COLS(width, pass)
* PNG_ROW_FROM_PASS_ROW(yIn, pass)
* PNG_COL_FROM_PASS_COL(xIn, pass)
* PNG_ROW_IN_INTERLACE_PASS(y, pass)
* PNG_COL_IN_INTERLACE_PASS(x, pass)
*/
for (v=0;;)
{
/* First the base 0 stuff: */
m = PNG_ROW_FROM_PASS_ROW(v, pass);
f = png_row_from_pass_row(v, pass);
if (m != f)
{
fprintf(stderr, "PNG_ROW_FROM_PASS_ROW(%u, %d) = %u != %x\n",
v, pass, m, f);
exit(99);
}
m = PNG_COL_FROM_PASS_COL(v, pass);
f = png_col_from_pass_col(v, pass);
if (m != f)
{
fprintf(stderr, "PNG_COL_FROM_PASS_COL(%u, %d) = %u != %x\n",
v, pass, m, f);
exit(99);
}
m = PNG_ROW_IN_INTERLACE_PASS(v, pass);
f = png_row_in_interlace_pass(v, pass);
if (m != f)
{
fprintf(stderr, "PNG_ROW_IN_INTERLACE_PASS(%u, %d) = %u != %x\n",
v, pass, m, f);
exit(99);
}
m = PNG_COL_IN_INTERLACE_PASS(v, pass);
f = png_col_in_interlace_pass(v, pass);
if (m != f)
{
fprintf(stderr, "PNG_COL_IN_INTERLACE_PASS(%u, %d) = %u != %x\n",
v, pass, m, f);
exit(99);
}
/* Then the base 1 stuff: */
++v;
m = PNG_PASS_ROWS(v, pass);
f = png_pass_rows(v, pass);
if (m != f)
{
fprintf(stderr, "PNG_PASS_ROWS(%u, %d) = %u != %x\n",
v, pass, m, f);
exit(99);
}
m = PNG_PASS_COLS(v, pass);
f = png_pass_cols(v, pass);
( run in 2.313 seconds using v1.01-cache-2.11-cpan-df04353d9ac )