diff --git a/stb_image.h b/stb_image.h index 771ba15..14804d8 100644 --- a/stb_image.h +++ b/stb_image.h @@ -2487,133 +2487,184 @@ static int stbi__paeth(int a, int b, int c) #define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings +static stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; + // create the png data from post-deflated data static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) { stbi__context *s = a->s; stbi__uint32 i,j,stride = x*out_n; - stbi__uint32 img_len; + stbi__uint32 img_len, img_width_bytes; int k; int img_n = s->img_n; // copy it into a local for later - stbi_uc* line8 = NULL; // point into raw when depth==8 else temporary local buffer STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); - a->out = (stbi_uc *) stbi__malloc(x * y * out_n); + a->out = (stbi_uc *) stbi__malloc(x * y * out_n); // extra bytes to write off the end into if (!a->out) return stbi__err("outofmem", "Out of memory"); - img_len = ((((img_n * x * depth) + 7) >> 3) + 1) * y; + img_width_bytes = (((img_n * x * depth) + 7) >> 3); + img_len = (img_width_bytes + 1) * y; if (s->img_x == x && s->img_y == y) { if (raw_len != img_len) return stbi__err("not enough pixels","Corrupt PNG"); } else { // interlaced: if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); } - if (depth != 8) { - line8 = (stbi_uc *) stbi__malloc((x+7) * out_n); // allocate buffer for one scanline - if (!line8) return stbi__err("outofmem", "Out of memory"); - } - for (j=0; j < y; ++j) { - stbi_uc *in; stbi_uc *cur = a->out + stride*j; stbi_uc *prior = cur - stride; int filter = *raw++; - if (filter > 4) { - if (depth != 8) free(line8); + int filter_bytes = img_n; + int width = x; + if (filter > 4) return stbi__err("invalid filter","Corrupt PNG"); - } - if (depth == 8) { - in = raw; - raw += x*img_n; - } - else { - // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit - // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop - stbi_uc * decode_out = line8; - stbi_uc scale = (color == 0) ? 0xFF/((1<= 1; k-=2, raw++) { - *decode_out++ = scale * ((*raw >> 4) ); - *decode_out++ = scale * ((*raw ) & 0x0f); - } - } else if (depth == 2) { - for (k=x*img_n; k >= 1; k-=4, raw++) { - *decode_out++ = scale * ((*raw >> 6) ); - *decode_out++ = scale * ((*raw >> 4) & 0x03); - *decode_out++ = scale * ((*raw >> 2) & 0x03); - *decode_out++ = scale * ((*raw ) & 0x03); - } - } else if (depth == 1) { - for (k=x*img_n; k >= 1; k-=8, raw++) { - *decode_out++ = scale * ((*raw >> 7) ); - *decode_out++ = scale * ((*raw >> 6) & 0x01); - *decode_out++ = scale * ((*raw >> 5) & 0x01); - *decode_out++ = scale * ((*raw >> 4) & 0x01); - *decode_out++ = scale * ((*raw >> 3) & 0x01); - *decode_out++ = scale * ((*raw >> 2) & 0x01); - *decode_out++ = scale * ((*raw >> 1) & 0x01); - *decode_out++ = scale * ((*raw ) & 0x01); - } - } + if (depth < 8) { + assert(img_width_bytes <= x); + cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place + filter_bytes = 1; + width = img_width_bytes; } // if first row, use special filter that doesn't sample previous row if (j == 0) filter = first_row_filter[filter]; - // handle first pixel explicitly - for (k=0; k < img_n; ++k) { + // handle first byte explicitly + for (k=0; k < filter_bytes; ++k) { switch (filter) { - case STBI__F_none : cur[k] = in[k]; break; - case STBI__F_sub : cur[k] = in[k]; break; - case STBI__F_up : cur[k] = STBI__BYTECAST(in[k] + prior[k]); break; - case STBI__F_avg : cur[k] = STBI__BYTECAST(in[k] + (prior[k]>>1)); break; - case STBI__F_paeth : cur[k] = STBI__BYTECAST(in[k] + stbi__paeth(0,prior[k],0)); break; - case STBI__F_avg_first : cur[k] = in[k]; break; - case STBI__F_paeth_first: cur[k] = in[k]; break; + case STBI__F_none : cur[k] = raw[k]; break; + case STBI__F_sub : cur[k] = raw[k]; break; + case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; + case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; + case STBI__F_avg_first : cur[k] = raw[k]; break; + case STBI__F_paeth_first: cur[k] = raw[k]; break; } } - if (img_n != out_n) cur[img_n] = 255; - in += img_n; - cur += out_n; - prior += out_n; + + if (depth == 8) { + if (img_n != out_n) + cur[img_n] = 255; // first pixel + raw += img_n; + cur += out_n; + prior += out_n; + } else { + raw += 1; + cur += 1; + prior += 1; + } + + // @TODO: special case filter_bytes = 1, or just rewrite whole thing to not use a nested loop + // this is a little gross, so that we don't switch per-pixel or per-component - if (img_n == out_n) { + if (depth < 8 || img_n == out_n) { #define CASE(f) \ case f: \ - for (i=x-1; i >= 1; --i, in+=img_n,cur+=img_n,prior+=img_n) \ - for (k=0; k < img_n; ++k) + for (i=width-1; i >= 1; --i, raw+=filter_bytes,cur+=filter_bytes,prior+=filter_bytes) \ + for (k=0; k < filter_bytes; ++k) switch (filter) { - CASE(STBI__F_none) cur[k] = in[k]; break; - CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(in[k] + cur[k-img_n]); break; - CASE(STBI__F_up) cur[k] = STBI__BYTECAST(in[k] + prior[k]); break; - CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(in[k] + ((prior[k] + cur[k-img_n])>>1)); break; - CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(in[k] + stbi__paeth(cur[k-img_n],prior[k],prior[k-img_n])); break; - CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(in[k] + (cur[k-img_n] >> 1)); break; - CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(in[k] + stbi__paeth(cur[k-img_n],0,0)); break; + CASE(STBI__F_none) cur[k] = raw[k]; break; + CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break; + CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break; + CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break; + CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break; + CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break; } #undef CASE } else { STBI_ASSERT(img_n+1 == out_n); #define CASE(f) \ case f: \ - for (i=x-1; i >= 1; --i, cur[img_n]=255,in+=img_n,cur+=out_n,prior+=out_n) \ + for (i=x-1; i >= 1; --i, cur[img_n]=255,raw+=img_n,cur+=out_n,prior+=out_n) \ for (k=0; k < img_n; ++k) switch (filter) { - CASE(STBI__F_none) cur[k] = in[k]; break; - CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(in[k] + cur[k-out_n]); break; - CASE(STBI__F_up) cur[k] = STBI__BYTECAST(in[k] + prior[k]); break; - CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(in[k] + ((prior[k] + cur[k-out_n])>>1)); break; - CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(in[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break; - CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(in[k] + (cur[k-out_n] >> 1)); break; - CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(in[k] + stbi__paeth(cur[k-out_n],0,0)); break; + CASE(STBI__F_none) cur[k] = raw[k]; break; + CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break; + CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break; + CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break; + CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break; + CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break; } #undef CASE } } - if (depth != 8) free(line8); + // we make a separate pass to expand bits to pixels; for performance, + // this could run two scanlines behind the above code, so it won't + // intefere with filtering but will still be in the cache. + if (depth < 8) { + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; + // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit + // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop + stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range + + // note that the final byte might overshoot and write more data than desired. + // we can allocate enough data that this never writes out of memory, but it + // could also overwrite the next scanline. can it overwrite non-empty data + // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. + // so we need to explicitly clamp the final ones + + if (depth == 4) { + for (k=x*img_n; k >= 2; k-=2, ++in) { + *cur++ = scale * ((*in >> 4) ); + *cur++ = scale * ((*in ) & 0x0f); + } + if (k > 0) *cur++ = scale * ((*in >> 4) ); + } else if (depth == 2) { + for (k=x*img_n; k >= 4; k-=4, ++in) { + *cur++ = scale * ((*in >> 6) ); + *cur++ = scale * ((*in >> 4) & 0x03); + *cur++ = scale * ((*in >> 2) & 0x03); + *cur++ = scale * ((*in ) & 0x03); + } + if (k > 0) *cur++ = scale * ((*in >> 6) ); + if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); + if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); + } else if (depth == 1) { + for (k=x*img_n; k >= 8; k-=8, ++in) { + *cur++ = scale * ((*in >> 7) ); + *cur++ = scale * ((*in >> 6) & 0x01); + *cur++ = scale * ((*in >> 5) & 0x01); + *cur++ = scale * ((*in >> 4) & 0x01); + *cur++ = scale * ((*in >> 3) & 0x01); + *cur++ = scale * ((*in >> 2) & 0x01); + *cur++ = scale * ((*in >> 1) & 0x01); + *cur++ = scale * ((*in ) & 0x01); + } + if (k > 0) *cur++ = scale * ((*in >> 7) ); + if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); + if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); + if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); + if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); + if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); + if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); + } + if (img_n != out_n) { + // insert alpha = 255 + stbi_uc *cur = a->out + stride*j; + int i; + if (img_n == 1) { + for (i=x-1; i >= 0; --i) { + cur[i*2+1] = 255; + cur[i*2+0] = cur[i]; + } + } else { + assert(img_n == 3); + for (i=x-1; i >= 0; --i) { + cur[i*4+3] = 255; + cur[i*4+2] = cur[i*3+2]; + cur[i*4+1] = cur[i*3+1]; + cur[i*4+0] = cur[i*3+0]; + } + } + } + } + } + return 1; } @@ -2856,7 +2907,7 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); has_trans = 1; for (k=0; k < s->img_n; ++k) - tc[k] = (stbi_uc) (stbi__get16be(s) & 255); // non 8-bit images will be larger + tc[k] = (stbi_uc) (stbi__get16be(s) & 255) * stbi__depth_scale_table[depth]; // non 8-bit images will be larger } break; } diff --git a/tests/image_test.c b/tests/image_test.c index c1115f4..ad0641e 100644 --- a/tests/image_test.c +++ b/tests/image_test.c @@ -7,7 +7,7 @@ #define STB_DEFINE #include "stb.h" -#define PART1 +#define PNGSUITE_PRIMARY int main(int argc, char **argv) { @@ -34,8 +34,8 @@ int main(int argc, char **argv) } } else { int i, nope=0; - #ifdef PART1 - char **files = stb_readdir_files("pngsuite/part1"); + #ifdef PNGSUITE_PRIMARY + char **files = stb_readdir_files("pngsuite/primary"); #else char **files = stb_readdir_files("images"); #endif @@ -43,7 +43,7 @@ int main(int argc, char **argv) int n; char **failed = NULL; unsigned char *data; - //printf("%s\n", files[i]); + printf("%s\n", files[i]); data = stbi_load(files[i], &w, &h, &n, 0); if (data) free(data); else stb_arr_push(failed, "&n"); data = stbi_load(files[i], &w, &h, 0, 1); if (data) free(data); else stb_arr_push(failed, "1"); data = stbi_load(files[i], &w, &h, 0, 2); if (data) free(data); else stb_arr_push(failed, "2"); @@ -52,16 +52,22 @@ int main(int argc, char **argv) if (data) { char fname[512]; - #ifdef PART1 + #ifdef PNGSUITE_PRIMARY int w2,h2; unsigned char *data2; stb_splitpath(fname, files[i], STB_FILE_EXT); - data2 = stbi_load(stb_sprintf("pngsuite/part1_check/%s", fname), &w2, &h2, 0, 4); + data2 = stbi_load(stb_sprintf("pngsuite/primary_check/%s", fname), &w2, &h2, 0, 4); if (!data2) - printf("FAILED: couldn't load 'pngsuite/part1_check/%s\n", fname); + printf("FAILED: couldn't load 'pngsuite/primary_check/%s\n", fname); else { if (w != w2 || h != w2 || 0 != memcmp(data, data2, w*h*4)) { - printf("FAILED: %s loaded but didn't match part1_check 32-bit version\n", files[i]); + int x,y,c; + if (w == w2 && h == h2) + for (y=0; y < h; ++y) + for (x=0; x < w; ++x) + for (c=0; c < 4; ++c) + assert(data[y*w*4+x*4+c] == data2[y*w*4+x*4+c]); + printf("FAILED: %s loaded but didn't match PRIMARY_check 32-bit version\n", files[i]); } free(data2); } diff --git a/tests/pngsuite/16bit/basi0g16.png b/tests/pngsuite/16bit/basi0g16.png new file mode 100644 index 0000000..a9f2816 Binary files /dev/null and b/tests/pngsuite/16bit/basi0g16.png differ diff --git a/tests/pngsuite/16bit/basi2c16.png b/tests/pngsuite/16bit/basi2c16.png new file mode 100644 index 0000000..cd7e50f Binary files /dev/null and b/tests/pngsuite/16bit/basi2c16.png differ diff --git a/tests/pngsuite/16bit/basi4a16.png b/tests/pngsuite/16bit/basi4a16.png new file mode 100644 index 0000000..51192e7 Binary files /dev/null and b/tests/pngsuite/16bit/basi4a16.png differ diff --git a/tests/pngsuite/16bit/basi6a16.png b/tests/pngsuite/16bit/basi6a16.png new file mode 100644 index 0000000..4181533 Binary files /dev/null and b/tests/pngsuite/16bit/basi6a16.png differ diff --git a/tests/pngsuite/16bit/basn0g16.png b/tests/pngsuite/16bit/basn0g16.png new file mode 100644 index 0000000..e7c82f7 Binary files /dev/null and b/tests/pngsuite/16bit/basn0g16.png differ diff --git a/tests/pngsuite/16bit/basn2c16.png b/tests/pngsuite/16bit/basn2c16.png new file mode 100644 index 0000000..50c1cb9 Binary files /dev/null and b/tests/pngsuite/16bit/basn2c16.png differ diff --git a/tests/pngsuite/16bit/basn4a16.png b/tests/pngsuite/16bit/basn4a16.png new file mode 100644 index 0000000..8243644 Binary files /dev/null and b/tests/pngsuite/16bit/basn4a16.png differ diff --git a/tests/pngsuite/16bit/basn6a16.png b/tests/pngsuite/16bit/basn6a16.png new file mode 100644 index 0000000..984a995 Binary files /dev/null and b/tests/pngsuite/16bit/basn6a16.png differ diff --git a/tests/pngsuite/16bit/bgai4a16.png b/tests/pngsuite/16bit/bgai4a16.png new file mode 100644 index 0000000..51192e7 Binary files /dev/null and b/tests/pngsuite/16bit/bgai4a16.png differ diff --git a/tests/pngsuite/16bit/bgan6a16.png b/tests/pngsuite/16bit/bgan6a16.png new file mode 100644 index 0000000..984a995 Binary files /dev/null and b/tests/pngsuite/16bit/bgan6a16.png differ diff --git a/tests/pngsuite/16bit/bggn4a16.png b/tests/pngsuite/16bit/bggn4a16.png new file mode 100644 index 0000000..13fd85b Binary files /dev/null and b/tests/pngsuite/16bit/bggn4a16.png differ diff --git a/tests/pngsuite/16bit/bgyn6a16.png b/tests/pngsuite/16bit/bgyn6a16.png new file mode 100644 index 0000000..ae3e9be Binary files /dev/null and b/tests/pngsuite/16bit/bgyn6a16.png differ diff --git a/tests/pngsuite/16bit/oi1n0g16.png b/tests/pngsuite/16bit/oi1n0g16.png new file mode 100644 index 0000000..e7c82f7 Binary files /dev/null and b/tests/pngsuite/16bit/oi1n0g16.png differ diff --git a/tests/pngsuite/16bit/oi1n2c16.png b/tests/pngsuite/16bit/oi1n2c16.png new file mode 100644 index 0000000..50c1cb9 Binary files /dev/null and b/tests/pngsuite/16bit/oi1n2c16.png differ diff --git a/tests/pngsuite/16bit/oi2n0g16.png b/tests/pngsuite/16bit/oi2n0g16.png new file mode 100644 index 0000000..14d64c5 Binary files /dev/null and b/tests/pngsuite/16bit/oi2n0g16.png differ diff --git a/tests/pngsuite/16bit/oi2n2c16.png b/tests/pngsuite/16bit/oi2n2c16.png new file mode 100644 index 0000000..4c2e3e3 Binary files /dev/null and b/tests/pngsuite/16bit/oi2n2c16.png differ diff --git a/tests/pngsuite/16bit/oi4n0g16.png b/tests/pngsuite/16bit/oi4n0g16.png new file mode 100644 index 0000000..69e73ed Binary files /dev/null and b/tests/pngsuite/16bit/oi4n0g16.png differ diff --git a/tests/pngsuite/16bit/oi4n2c16.png b/tests/pngsuite/16bit/oi4n2c16.png new file mode 100644 index 0000000..93691e3 Binary files /dev/null and b/tests/pngsuite/16bit/oi4n2c16.png differ diff --git a/tests/pngsuite/16bit/oi9n0g16.png b/tests/pngsuite/16bit/oi9n0g16.png new file mode 100644 index 0000000..9248413 Binary files /dev/null and b/tests/pngsuite/16bit/oi9n0g16.png differ diff --git a/tests/pngsuite/16bit/oi9n2c16.png b/tests/pngsuite/16bit/oi9n2c16.png new file mode 100644 index 0000000..f0512e4 Binary files /dev/null and b/tests/pngsuite/16bit/oi9n2c16.png differ diff --git a/tests/pngsuite/16bit/tbbn2c16.png b/tests/pngsuite/16bit/tbbn2c16.png new file mode 100644 index 0000000..dd3168e Binary files /dev/null and b/tests/pngsuite/16bit/tbbn2c16.png differ diff --git a/tests/pngsuite/16bit/tbgn2c16.png b/tests/pngsuite/16bit/tbgn2c16.png new file mode 100644 index 0000000..85cec39 Binary files /dev/null and b/tests/pngsuite/16bit/tbgn2c16.png differ diff --git a/tests/pngsuite/16bit/tbwn0g16.png b/tests/pngsuite/16bit/tbwn0g16.png new file mode 100644 index 0000000..99bdeed Binary files /dev/null and b/tests/pngsuite/16bit/tbwn0g16.png differ diff --git a/tests/pngsuite/PngSuite.LICENSE b/tests/pngsuite/PngSuite.LICENSE new file mode 100644 index 0000000..8d4d1d0 --- /dev/null +++ b/tests/pngsuite/PngSuite.LICENSE @@ -0,0 +1,9 @@ +PngSuite +-------- + +Permission to use, copy, modify and distribute these images for any +purpose and without fee is hereby granted. + + +(c) Willem van Schaik, 1996, 2011 + diff --git a/tests/pngsuite/corrupt/xc1n0g08.png b/tests/pngsuite/corrupt/xc1n0g08.png new file mode 100644 index 0000000..9404227 Binary files /dev/null and b/tests/pngsuite/corrupt/xc1n0g08.png differ diff --git a/tests/pngsuite/corrupt/xc9n2c08.png b/tests/pngsuite/corrupt/xc9n2c08.png new file mode 100644 index 0000000..b11c2a7 Binary files /dev/null and b/tests/pngsuite/corrupt/xc9n2c08.png differ diff --git a/tests/pngsuite/corrupt/xcrn0g04.png b/tests/pngsuite/corrupt/xcrn0g04.png new file mode 100644 index 0000000..48abba1 Binary files /dev/null and b/tests/pngsuite/corrupt/xcrn0g04.png differ diff --git a/tests/pngsuite/corrupt/xcsn0g01.png b/tests/pngsuite/corrupt/xcsn0g01.png new file mode 100644 index 0000000..9863a26 Binary files /dev/null and b/tests/pngsuite/corrupt/xcsn0g01.png differ diff --git a/tests/pngsuite/corrupt/xd0n2c08.png b/tests/pngsuite/corrupt/xd0n2c08.png new file mode 100644 index 0000000..2f00161 Binary files /dev/null and b/tests/pngsuite/corrupt/xd0n2c08.png differ diff --git a/tests/pngsuite/corrupt/xd3n2c08.png b/tests/pngsuite/corrupt/xd3n2c08.png new file mode 100644 index 0000000..9e4a3ff Binary files /dev/null and b/tests/pngsuite/corrupt/xd3n2c08.png differ diff --git a/tests/pngsuite/corrupt/xd9n2c08.png b/tests/pngsuite/corrupt/xd9n2c08.png new file mode 100644 index 0000000..2c3b91a Binary files /dev/null and b/tests/pngsuite/corrupt/xd9n2c08.png differ diff --git a/tests/pngsuite/corrupt/xdtn0g01.png b/tests/pngsuite/corrupt/xdtn0g01.png new file mode 100644 index 0000000..1a81abe Binary files /dev/null and b/tests/pngsuite/corrupt/xdtn0g01.png differ diff --git a/tests/pngsuite/corrupt/xhdn0g08.png b/tests/pngsuite/corrupt/xhdn0g08.png new file mode 100644 index 0000000..fcb8737 Binary files /dev/null and b/tests/pngsuite/corrupt/xhdn0g08.png differ diff --git a/tests/pngsuite/corrupt/xlfn0g04.png b/tests/pngsuite/corrupt/xlfn0g04.png new file mode 100644 index 0000000..d9ec53e Binary files /dev/null and b/tests/pngsuite/corrupt/xlfn0g04.png differ diff --git a/tests/pngsuite/corrupt/xs1n0g01.png b/tests/pngsuite/corrupt/xs1n0g01.png new file mode 100644 index 0000000..1817c51 Binary files /dev/null and b/tests/pngsuite/corrupt/xs1n0g01.png differ diff --git a/tests/pngsuite/corrupt/xs2n0g01.png b/tests/pngsuite/corrupt/xs2n0g01.png new file mode 100644 index 0000000..b8147f2 Binary files /dev/null and b/tests/pngsuite/corrupt/xs2n0g01.png differ diff --git a/tests/pngsuite/corrupt/xs4n0g01.png b/tests/pngsuite/corrupt/xs4n0g01.png new file mode 100644 index 0000000..45237a1 Binary files /dev/null and b/tests/pngsuite/corrupt/xs4n0g01.png differ diff --git a/tests/pngsuite/corrupt/xs7n0g01.png b/tests/pngsuite/corrupt/xs7n0g01.png new file mode 100644 index 0000000..3f307f1 Binary files /dev/null and b/tests/pngsuite/corrupt/xs7n0g01.png differ diff --git a/tests/pngsuite/primary/basi0g01.png b/tests/pngsuite/primary/basi0g01.png new file mode 100644 index 0000000..556fa72 Binary files /dev/null and b/tests/pngsuite/primary/basi0g01.png differ diff --git a/tests/pngsuite/primary/basi0g02.png b/tests/pngsuite/primary/basi0g02.png new file mode 100644 index 0000000..ce09821 Binary files /dev/null and b/tests/pngsuite/primary/basi0g02.png differ diff --git a/tests/pngsuite/primary/basi0g04.png b/tests/pngsuite/primary/basi0g04.png new file mode 100644 index 0000000..3853273 Binary files /dev/null and b/tests/pngsuite/primary/basi0g04.png differ diff --git a/tests/pngsuite/primary/basi0g08.png b/tests/pngsuite/primary/basi0g08.png new file mode 100644 index 0000000..faed8be Binary files /dev/null and b/tests/pngsuite/primary/basi0g08.png differ diff --git a/tests/pngsuite/primary/basi2c08.png b/tests/pngsuite/primary/basi2c08.png new file mode 100644 index 0000000..2aab44d Binary files /dev/null and b/tests/pngsuite/primary/basi2c08.png differ diff --git a/tests/pngsuite/primary/basi3p01.png b/tests/pngsuite/primary/basi3p01.png new file mode 100644 index 0000000..00a7cea Binary files /dev/null and b/tests/pngsuite/primary/basi3p01.png differ diff --git a/tests/pngsuite/primary/basi3p02.png b/tests/pngsuite/primary/basi3p02.png new file mode 100644 index 0000000..bb16b44 Binary files /dev/null and b/tests/pngsuite/primary/basi3p02.png differ diff --git a/tests/pngsuite/primary/basi3p04.png b/tests/pngsuite/primary/basi3p04.png new file mode 100644 index 0000000..b4e888e Binary files /dev/null and b/tests/pngsuite/primary/basi3p04.png differ diff --git a/tests/pngsuite/primary/basi3p08.png b/tests/pngsuite/primary/basi3p08.png new file mode 100644 index 0000000..50a6d1c Binary files /dev/null and b/tests/pngsuite/primary/basi3p08.png differ diff --git a/tests/pngsuite/primary/basi4a08.png b/tests/pngsuite/primary/basi4a08.png new file mode 100644 index 0000000..398132b Binary files /dev/null and b/tests/pngsuite/primary/basi4a08.png differ diff --git a/tests/pngsuite/primary/basi6a08.png b/tests/pngsuite/primary/basi6a08.png new file mode 100644 index 0000000..aecb32e Binary files /dev/null and b/tests/pngsuite/primary/basi6a08.png differ diff --git a/tests/pngsuite/primary/basn0g01.png b/tests/pngsuite/primary/basn0g01.png new file mode 100644 index 0000000..1d72242 Binary files /dev/null and b/tests/pngsuite/primary/basn0g01.png differ diff --git a/tests/pngsuite/primary/basn0g02.png b/tests/pngsuite/primary/basn0g02.png new file mode 100644 index 0000000..5083324 Binary files /dev/null and b/tests/pngsuite/primary/basn0g02.png differ diff --git a/tests/pngsuite/primary/basn0g04.png b/tests/pngsuite/primary/basn0g04.png new file mode 100644 index 0000000..0bf3687 Binary files /dev/null and b/tests/pngsuite/primary/basn0g04.png differ diff --git a/tests/pngsuite/primary/basn0g08.png b/tests/pngsuite/primary/basn0g08.png new file mode 100644 index 0000000..23c8237 Binary files /dev/null and b/tests/pngsuite/primary/basn0g08.png differ diff --git a/tests/pngsuite/primary/basn2c08.png b/tests/pngsuite/primary/basn2c08.png new file mode 100644 index 0000000..db5ad15 Binary files /dev/null and b/tests/pngsuite/primary/basn2c08.png differ diff --git a/tests/pngsuite/primary/basn3p01.png b/tests/pngsuite/primary/basn3p01.png new file mode 100644 index 0000000..b145c2b Binary files /dev/null and b/tests/pngsuite/primary/basn3p01.png differ diff --git a/tests/pngsuite/primary/basn3p02.png b/tests/pngsuite/primary/basn3p02.png new file mode 100644 index 0000000..8985b3d Binary files /dev/null and b/tests/pngsuite/primary/basn3p02.png differ diff --git a/tests/pngsuite/primary/basn3p04.png b/tests/pngsuite/primary/basn3p04.png new file mode 100644 index 0000000..0fbf9e8 Binary files /dev/null and b/tests/pngsuite/primary/basn3p04.png differ diff --git a/tests/pngsuite/primary/basn3p08.png b/tests/pngsuite/primary/basn3p08.png new file mode 100644 index 0000000..0ddad07 Binary files /dev/null and b/tests/pngsuite/primary/basn3p08.png differ diff --git a/tests/pngsuite/primary/basn4a08.png b/tests/pngsuite/primary/basn4a08.png new file mode 100644 index 0000000..3e13052 Binary files /dev/null and b/tests/pngsuite/primary/basn4a08.png differ diff --git a/tests/pngsuite/primary/basn6a08.png b/tests/pngsuite/primary/basn6a08.png new file mode 100644 index 0000000..e608738 Binary files /dev/null and b/tests/pngsuite/primary/basn6a08.png differ diff --git a/tests/pngsuite/primary/bgai4a08.png b/tests/pngsuite/primary/bgai4a08.png new file mode 100644 index 0000000..398132b Binary files /dev/null and b/tests/pngsuite/primary/bgai4a08.png differ diff --git a/tests/pngsuite/primary/bgan6a08.png b/tests/pngsuite/primary/bgan6a08.png new file mode 100644 index 0000000..e608738 Binary files /dev/null and b/tests/pngsuite/primary/bgan6a08.png differ diff --git a/tests/pngsuite/primary/bgbn4a08.png b/tests/pngsuite/primary/bgbn4a08.png new file mode 100644 index 0000000..7cbefc3 Binary files /dev/null and b/tests/pngsuite/primary/bgbn4a08.png differ diff --git a/tests/pngsuite/primary/bgwn6a08.png b/tests/pngsuite/primary/bgwn6a08.png new file mode 100644 index 0000000..a67ff20 Binary files /dev/null and b/tests/pngsuite/primary/bgwn6a08.png differ diff --git a/tests/pngsuite/primary/s01i3p01.png b/tests/pngsuite/primary/s01i3p01.png new file mode 100644 index 0000000..6c0fad1 Binary files /dev/null and b/tests/pngsuite/primary/s01i3p01.png differ diff --git a/tests/pngsuite/primary/s01n3p01.png b/tests/pngsuite/primary/s01n3p01.png new file mode 100644 index 0000000..cb2c8c7 Binary files /dev/null and b/tests/pngsuite/primary/s01n3p01.png differ diff --git a/tests/pngsuite/primary/s02i3p01.png b/tests/pngsuite/primary/s02i3p01.png new file mode 100644 index 0000000..2defaed Binary files /dev/null and b/tests/pngsuite/primary/s02i3p01.png differ diff --git a/tests/pngsuite/primary/s02n3p01.png b/tests/pngsuite/primary/s02n3p01.png new file mode 100644 index 0000000..2b1b669 Binary files /dev/null and b/tests/pngsuite/primary/s02n3p01.png differ diff --git a/tests/pngsuite/primary/s03i3p01.png b/tests/pngsuite/primary/s03i3p01.png new file mode 100644 index 0000000..c23fdc4 Binary files /dev/null and b/tests/pngsuite/primary/s03i3p01.png differ diff --git a/tests/pngsuite/primary/s03n3p01.png b/tests/pngsuite/primary/s03n3p01.png new file mode 100644 index 0000000..6d96ee4 Binary files /dev/null and b/tests/pngsuite/primary/s03n3p01.png differ diff --git a/tests/pngsuite/primary/s04i3p01.png b/tests/pngsuite/primary/s04i3p01.png new file mode 100644 index 0000000..0e710c2 Binary files /dev/null and b/tests/pngsuite/primary/s04i3p01.png differ diff --git a/tests/pngsuite/primary/s04n3p01.png b/tests/pngsuite/primary/s04n3p01.png new file mode 100644 index 0000000..956396c Binary files /dev/null and b/tests/pngsuite/primary/s04n3p01.png differ diff --git a/tests/pngsuite/primary/s05i3p02.png b/tests/pngsuite/primary/s05i3p02.png new file mode 100644 index 0000000..d14cbd3 Binary files /dev/null and b/tests/pngsuite/primary/s05i3p02.png differ diff --git a/tests/pngsuite/primary/s05n3p02.png b/tests/pngsuite/primary/s05n3p02.png new file mode 100644 index 0000000..bf940f0 Binary files /dev/null and b/tests/pngsuite/primary/s05n3p02.png differ diff --git a/tests/pngsuite/primary/s06i3p02.png b/tests/pngsuite/primary/s06i3p02.png new file mode 100644 index 0000000..456ada3 Binary files /dev/null and b/tests/pngsuite/primary/s06i3p02.png differ diff --git a/tests/pngsuite/primary/s06n3p02.png b/tests/pngsuite/primary/s06n3p02.png new file mode 100644 index 0000000..501064d Binary files /dev/null and b/tests/pngsuite/primary/s06n3p02.png differ diff --git a/tests/pngsuite/primary/s07i3p02.png b/tests/pngsuite/primary/s07i3p02.png new file mode 100644 index 0000000..44b66ba Binary files /dev/null and b/tests/pngsuite/primary/s07i3p02.png differ diff --git a/tests/pngsuite/primary/s07n3p02.png b/tests/pngsuite/primary/s07n3p02.png new file mode 100644 index 0000000..6a58259 Binary files /dev/null and b/tests/pngsuite/primary/s07n3p02.png differ diff --git a/tests/pngsuite/primary/s08i3p02.png b/tests/pngsuite/primary/s08i3p02.png new file mode 100644 index 0000000..acf74f3 Binary files /dev/null and b/tests/pngsuite/primary/s08i3p02.png differ diff --git a/tests/pngsuite/primary/s08n3p02.png b/tests/pngsuite/primary/s08n3p02.png new file mode 100644 index 0000000..b7094e1 Binary files /dev/null and b/tests/pngsuite/primary/s08n3p02.png differ diff --git a/tests/pngsuite/primary/s09i3p02.png b/tests/pngsuite/primary/s09i3p02.png new file mode 100644 index 0000000..0bfae8e Binary files /dev/null and b/tests/pngsuite/primary/s09i3p02.png differ diff --git a/tests/pngsuite/primary/s09n3p02.png b/tests/pngsuite/primary/s09n3p02.png new file mode 100644 index 0000000..711ab82 Binary files /dev/null and b/tests/pngsuite/primary/s09n3p02.png differ diff --git a/tests/pngsuite/primary/s32i3p04.png b/tests/pngsuite/primary/s32i3p04.png new file mode 100644 index 0000000..0841910 Binary files /dev/null and b/tests/pngsuite/primary/s32i3p04.png differ diff --git a/tests/pngsuite/primary/s32n3p04.png b/tests/pngsuite/primary/s32n3p04.png new file mode 100644 index 0000000..fa58e3e Binary files /dev/null and b/tests/pngsuite/primary/s32n3p04.png differ diff --git a/tests/pngsuite/primary/s33i3p04.png b/tests/pngsuite/primary/s33i3p04.png new file mode 100644 index 0000000..ab0dc14 Binary files /dev/null and b/tests/pngsuite/primary/s33i3p04.png differ diff --git a/tests/pngsuite/primary/s33n3p04.png b/tests/pngsuite/primary/s33n3p04.png new file mode 100644 index 0000000..764f1a3 Binary files /dev/null and b/tests/pngsuite/primary/s33n3p04.png differ diff --git a/tests/pngsuite/primary/s34i3p04.png b/tests/pngsuite/primary/s34i3p04.png new file mode 100644 index 0000000..bd99039 Binary files /dev/null and b/tests/pngsuite/primary/s34i3p04.png differ diff --git a/tests/pngsuite/primary/s34n3p04.png b/tests/pngsuite/primary/s34n3p04.png new file mode 100644 index 0000000..9cbc68b Binary files /dev/null and b/tests/pngsuite/primary/s34n3p04.png differ diff --git a/tests/pngsuite/primary/s35i3p04.png b/tests/pngsuite/primary/s35i3p04.png new file mode 100644 index 0000000..e2a5e0a Binary files /dev/null and b/tests/pngsuite/primary/s35i3p04.png differ diff --git a/tests/pngsuite/primary/s35n3p04.png b/tests/pngsuite/primary/s35n3p04.png new file mode 100644 index 0000000..90b892e Binary files /dev/null and b/tests/pngsuite/primary/s35n3p04.png differ diff --git a/tests/pngsuite/primary/s36i3p04.png b/tests/pngsuite/primary/s36i3p04.png new file mode 100644 index 0000000..eb61b6f Binary files /dev/null and b/tests/pngsuite/primary/s36i3p04.png differ diff --git a/tests/pngsuite/primary/s36n3p04.png b/tests/pngsuite/primary/s36n3p04.png new file mode 100644 index 0000000..b38d179 Binary files /dev/null and b/tests/pngsuite/primary/s36n3p04.png differ diff --git a/tests/pngsuite/primary/s37i3p04.png b/tests/pngsuite/primary/s37i3p04.png new file mode 100644 index 0000000..6e2b1e9 Binary files /dev/null and b/tests/pngsuite/primary/s37i3p04.png differ diff --git a/tests/pngsuite/primary/s37n3p04.png b/tests/pngsuite/primary/s37n3p04.png new file mode 100644 index 0000000..4d3054d Binary files /dev/null and b/tests/pngsuite/primary/s37n3p04.png differ diff --git a/tests/pngsuite/primary/s38i3p04.png b/tests/pngsuite/primary/s38i3p04.png new file mode 100644 index 0000000..a0a8a14 Binary files /dev/null and b/tests/pngsuite/primary/s38i3p04.png differ diff --git a/tests/pngsuite/primary/s38n3p04.png b/tests/pngsuite/primary/s38n3p04.png new file mode 100644 index 0000000..1233ed0 Binary files /dev/null and b/tests/pngsuite/primary/s38n3p04.png differ diff --git a/tests/pngsuite/primary/s39i3p04.png b/tests/pngsuite/primary/s39i3p04.png new file mode 100644 index 0000000..04fee93 Binary files /dev/null and b/tests/pngsuite/primary/s39i3p04.png differ diff --git a/tests/pngsuite/primary/s39n3p04.png b/tests/pngsuite/primary/s39n3p04.png new file mode 100644 index 0000000..c750100 Binary files /dev/null and b/tests/pngsuite/primary/s39n3p04.png differ diff --git a/tests/pngsuite/primary/s40i3p04.png b/tests/pngsuite/primary/s40i3p04.png new file mode 100644 index 0000000..68f358b Binary files /dev/null and b/tests/pngsuite/primary/s40i3p04.png differ diff --git a/tests/pngsuite/primary/s40n3p04.png b/tests/pngsuite/primary/s40n3p04.png new file mode 100644 index 0000000..864b6b9 Binary files /dev/null and b/tests/pngsuite/primary/s40n3p04.png differ diff --git a/tests/pngsuite/primary/tbbn0g04.png b/tests/pngsuite/primary/tbbn0g04.png new file mode 100644 index 0000000..39a7050 Binary files /dev/null and b/tests/pngsuite/primary/tbbn0g04.png differ diff --git a/tests/pngsuite/primary/tbbn3p08.png b/tests/pngsuite/primary/tbbn3p08.png new file mode 100644 index 0000000..0ede357 Binary files /dev/null and b/tests/pngsuite/primary/tbbn3p08.png differ diff --git a/tests/pngsuite/primary/tbgn3p08.png b/tests/pngsuite/primary/tbgn3p08.png new file mode 100644 index 0000000..8cf2e6f Binary files /dev/null and b/tests/pngsuite/primary/tbgn3p08.png differ diff --git a/tests/pngsuite/primary/tbrn2c08.png b/tests/pngsuite/primary/tbrn2c08.png new file mode 100644 index 0000000..5cca0d6 Binary files /dev/null and b/tests/pngsuite/primary/tbrn2c08.png differ diff --git a/tests/pngsuite/primary/tbwn3p08.png b/tests/pngsuite/primary/tbwn3p08.png new file mode 100644 index 0000000..eacab7a Binary files /dev/null and b/tests/pngsuite/primary/tbwn3p08.png differ diff --git a/tests/pngsuite/primary/tbyn3p08.png b/tests/pngsuite/primary/tbyn3p08.png new file mode 100644 index 0000000..656db09 Binary files /dev/null and b/tests/pngsuite/primary/tbyn3p08.png differ diff --git a/tests/pngsuite/primary/tm3n3p02.png b/tests/pngsuite/primary/tm3n3p02.png new file mode 100644 index 0000000..fb3ef1d Binary files /dev/null and b/tests/pngsuite/primary/tm3n3p02.png differ diff --git a/tests/pngsuite/primary/tp0n0g08.png b/tests/pngsuite/primary/tp0n0g08.png new file mode 100644 index 0000000..333465f Binary files /dev/null and b/tests/pngsuite/primary/tp0n0g08.png differ diff --git a/tests/pngsuite/primary/tp0n2c08.png b/tests/pngsuite/primary/tp0n2c08.png new file mode 100644 index 0000000..fc6e42c Binary files /dev/null and b/tests/pngsuite/primary/tp0n2c08.png differ diff --git a/tests/pngsuite/primary/tp0n3p08.png b/tests/pngsuite/primary/tp0n3p08.png new file mode 100644 index 0000000..69a69e5 Binary files /dev/null and b/tests/pngsuite/primary/tp0n3p08.png differ diff --git a/tests/pngsuite/primary/tp1n3p08.png b/tests/pngsuite/primary/tp1n3p08.png new file mode 100644 index 0000000..a6c9f35 Binary files /dev/null and b/tests/pngsuite/primary/tp1n3p08.png differ diff --git a/tests/pngsuite/primary/z00n2c08.png b/tests/pngsuite/primary/z00n2c08.png new file mode 100644 index 0000000..7669eb8 Binary files /dev/null and b/tests/pngsuite/primary/z00n2c08.png differ diff --git a/tests/pngsuite/primary/z03n2c08.png b/tests/pngsuite/primary/z03n2c08.png new file mode 100644 index 0000000..bfb10de Binary files /dev/null and b/tests/pngsuite/primary/z03n2c08.png differ diff --git a/tests/pngsuite/primary/z06n2c08.png b/tests/pngsuite/primary/z06n2c08.png new file mode 100644 index 0000000..b90ebc1 Binary files /dev/null and b/tests/pngsuite/primary/z06n2c08.png differ diff --git a/tests/pngsuite/primary/z09n2c08.png b/tests/pngsuite/primary/z09n2c08.png new file mode 100644 index 0000000..5f191a7 Binary files /dev/null and b/tests/pngsuite/primary/z09n2c08.png differ diff --git a/tests/pngsuite/primary_check/basi0g01.png b/tests/pngsuite/primary_check/basi0g01.png new file mode 100644 index 0000000..96ed62d Binary files /dev/null and b/tests/pngsuite/primary_check/basi0g01.png differ diff --git a/tests/pngsuite/primary_check/basi0g02.png b/tests/pngsuite/primary_check/basi0g02.png new file mode 100644 index 0000000..bb53098 Binary files /dev/null and b/tests/pngsuite/primary_check/basi0g02.png differ diff --git a/tests/pngsuite/primary_check/basi0g04.png b/tests/pngsuite/primary_check/basi0g04.png new file mode 100644 index 0000000..2efd487 Binary files /dev/null and b/tests/pngsuite/primary_check/basi0g04.png differ diff --git a/tests/pngsuite/primary_check/basi0g08.png b/tests/pngsuite/primary_check/basi0g08.png new file mode 100644 index 0000000..2395213 Binary files /dev/null and b/tests/pngsuite/primary_check/basi0g08.png differ diff --git a/tests/pngsuite/primary_check/basi2c08.png b/tests/pngsuite/primary_check/basi2c08.png new file mode 100644 index 0000000..64ef3f8 Binary files /dev/null and b/tests/pngsuite/primary_check/basi2c08.png differ diff --git a/tests/pngsuite/primary_check/basi3p01.png b/tests/pngsuite/primary_check/basi3p01.png new file mode 100644 index 0000000..a8599e9 Binary files /dev/null and b/tests/pngsuite/primary_check/basi3p01.png differ diff --git a/tests/pngsuite/primary_check/basi3p02.png b/tests/pngsuite/primary_check/basi3p02.png new file mode 100644 index 0000000..c911ea9 Binary files /dev/null and b/tests/pngsuite/primary_check/basi3p02.png differ diff --git a/tests/pngsuite/primary_check/basi3p04.png b/tests/pngsuite/primary_check/basi3p04.png new file mode 100644 index 0000000..750ef69 Binary files /dev/null and b/tests/pngsuite/primary_check/basi3p04.png differ diff --git a/tests/pngsuite/primary_check/basi3p08.png b/tests/pngsuite/primary_check/basi3p08.png new file mode 100644 index 0000000..39272c3 Binary files /dev/null and b/tests/pngsuite/primary_check/basi3p08.png differ diff --git a/tests/pngsuite/primary_check/basi4a08.png b/tests/pngsuite/primary_check/basi4a08.png new file mode 100644 index 0000000..1b7b3a5 Binary files /dev/null and b/tests/pngsuite/primary_check/basi4a08.png differ diff --git a/tests/pngsuite/primary_check/basi6a08.png b/tests/pngsuite/primary_check/basi6a08.png new file mode 100644 index 0000000..c12484f Binary files /dev/null and b/tests/pngsuite/primary_check/basi6a08.png differ diff --git a/tests/pngsuite/primary_check/basn0g01.png b/tests/pngsuite/primary_check/basn0g01.png new file mode 100644 index 0000000..20f6404 Binary files /dev/null and b/tests/pngsuite/primary_check/basn0g01.png differ diff --git a/tests/pngsuite/primary_check/basn0g02.png b/tests/pngsuite/primary_check/basn0g02.png new file mode 100644 index 0000000..c4fae00 Binary files /dev/null and b/tests/pngsuite/primary_check/basn0g02.png differ diff --git a/tests/pngsuite/primary_check/basn0g04.png b/tests/pngsuite/primary_check/basn0g04.png new file mode 100644 index 0000000..166e7db Binary files /dev/null and b/tests/pngsuite/primary_check/basn0g04.png differ diff --git a/tests/pngsuite/primary_check/basn0g08.png b/tests/pngsuite/primary_check/basn0g08.png new file mode 100644 index 0000000..192c792 Binary files /dev/null and b/tests/pngsuite/primary_check/basn0g08.png differ diff --git a/tests/pngsuite/primary_check/basn2c08.png b/tests/pngsuite/primary_check/basn2c08.png new file mode 100644 index 0000000..d774b80 Binary files /dev/null and b/tests/pngsuite/primary_check/basn2c08.png differ diff --git a/tests/pngsuite/primary_check/basn3p01.png b/tests/pngsuite/primary_check/basn3p01.png new file mode 100644 index 0000000..77c580b Binary files /dev/null and b/tests/pngsuite/primary_check/basn3p01.png differ diff --git a/tests/pngsuite/primary_check/basn3p02.png b/tests/pngsuite/primary_check/basn3p02.png new file mode 100644 index 0000000..8427124 Binary files /dev/null and b/tests/pngsuite/primary_check/basn3p02.png differ diff --git a/tests/pngsuite/primary_check/basn3p04.png b/tests/pngsuite/primary_check/basn3p04.png new file mode 100644 index 0000000..f08c6e9 Binary files /dev/null and b/tests/pngsuite/primary_check/basn3p04.png differ diff --git a/tests/pngsuite/primary_check/basn3p08.png b/tests/pngsuite/primary_check/basn3p08.png new file mode 100644 index 0000000..0fa8195 Binary files /dev/null and b/tests/pngsuite/primary_check/basn3p08.png differ diff --git a/tests/pngsuite/primary_check/basn4a08.png b/tests/pngsuite/primary_check/basn4a08.png new file mode 100644 index 0000000..d4e0a72 Binary files /dev/null and b/tests/pngsuite/primary_check/basn4a08.png differ diff --git a/tests/pngsuite/primary_check/basn6a08.png b/tests/pngsuite/primary_check/basn6a08.png new file mode 100644 index 0000000..1f54e56 Binary files /dev/null and b/tests/pngsuite/primary_check/basn6a08.png differ diff --git a/tests/pngsuite/primary_check/bgai4a08.png b/tests/pngsuite/primary_check/bgai4a08.png new file mode 100644 index 0000000..23ec6ae Binary files /dev/null and b/tests/pngsuite/primary_check/bgai4a08.png differ diff --git a/tests/pngsuite/primary_check/bgan6a08.png b/tests/pngsuite/primary_check/bgan6a08.png new file mode 100644 index 0000000..6cb76f2 Binary files /dev/null and b/tests/pngsuite/primary_check/bgan6a08.png differ diff --git a/tests/pngsuite/primary_check/bgbn4a08.png b/tests/pngsuite/primary_check/bgbn4a08.png new file mode 100644 index 0000000..1086ccc Binary files /dev/null and b/tests/pngsuite/primary_check/bgbn4a08.png differ diff --git a/tests/pngsuite/primary_check/bgwn6a08.png b/tests/pngsuite/primary_check/bgwn6a08.png new file mode 100644 index 0000000..03a0a30 Binary files /dev/null and b/tests/pngsuite/primary_check/bgwn6a08.png differ diff --git a/tests/pngsuite/primary_check/s01i3p01.png b/tests/pngsuite/primary_check/s01i3p01.png new file mode 100644 index 0000000..45f8c61 Binary files /dev/null and b/tests/pngsuite/primary_check/s01i3p01.png differ diff --git a/tests/pngsuite/primary_check/s01n3p01.png b/tests/pngsuite/primary_check/s01n3p01.png new file mode 100644 index 0000000..a79ac1b Binary files /dev/null and b/tests/pngsuite/primary_check/s01n3p01.png differ diff --git a/tests/pngsuite/primary_check/s02i3p01.png b/tests/pngsuite/primary_check/s02i3p01.png new file mode 100644 index 0000000..d84f406 Binary files /dev/null and b/tests/pngsuite/primary_check/s02i3p01.png differ diff --git a/tests/pngsuite/primary_check/s02n3p01.png b/tests/pngsuite/primary_check/s02n3p01.png new file mode 100644 index 0000000..3b813c4 Binary files /dev/null and b/tests/pngsuite/primary_check/s02n3p01.png differ diff --git a/tests/pngsuite/primary_check/s03i3p01.png b/tests/pngsuite/primary_check/s03i3p01.png new file mode 100644 index 0000000..51367f7 Binary files /dev/null and b/tests/pngsuite/primary_check/s03i3p01.png differ diff --git a/tests/pngsuite/primary_check/s03n3p01.png b/tests/pngsuite/primary_check/s03n3p01.png new file mode 100644 index 0000000..7c44b73 Binary files /dev/null and b/tests/pngsuite/primary_check/s03n3p01.png differ diff --git a/tests/pngsuite/primary_check/s04i3p01.png b/tests/pngsuite/primary_check/s04i3p01.png new file mode 100644 index 0000000..ae326c1 Binary files /dev/null and b/tests/pngsuite/primary_check/s04i3p01.png differ diff --git a/tests/pngsuite/primary_check/s04n3p01.png b/tests/pngsuite/primary_check/s04n3p01.png new file mode 100644 index 0000000..55c63df Binary files /dev/null and b/tests/pngsuite/primary_check/s04n3p01.png differ diff --git a/tests/pngsuite/primary_check/s05i3p02.png b/tests/pngsuite/primary_check/s05i3p02.png new file mode 100644 index 0000000..fd41d1d Binary files /dev/null and b/tests/pngsuite/primary_check/s05i3p02.png differ diff --git a/tests/pngsuite/primary_check/s05n3p02.png b/tests/pngsuite/primary_check/s05n3p02.png new file mode 100644 index 0000000..d6ab572 Binary files /dev/null and b/tests/pngsuite/primary_check/s05n3p02.png differ diff --git a/tests/pngsuite/primary_check/s06i3p02.png b/tests/pngsuite/primary_check/s06i3p02.png new file mode 100644 index 0000000..73a7b0c Binary files /dev/null and b/tests/pngsuite/primary_check/s06i3p02.png differ diff --git a/tests/pngsuite/primary_check/s06n3p02.png b/tests/pngsuite/primary_check/s06n3p02.png new file mode 100644 index 0000000..e85eac8 Binary files /dev/null and b/tests/pngsuite/primary_check/s06n3p02.png differ diff --git a/tests/pngsuite/primary_check/s07i3p02.png b/tests/pngsuite/primary_check/s07i3p02.png new file mode 100644 index 0000000..08f6180 Binary files /dev/null and b/tests/pngsuite/primary_check/s07i3p02.png differ diff --git a/tests/pngsuite/primary_check/s07n3p02.png b/tests/pngsuite/primary_check/s07n3p02.png new file mode 100644 index 0000000..029bc29 Binary files /dev/null and b/tests/pngsuite/primary_check/s07n3p02.png differ diff --git a/tests/pngsuite/primary_check/s08i3p02.png b/tests/pngsuite/primary_check/s08i3p02.png new file mode 100644 index 0000000..23d16c7 Binary files /dev/null and b/tests/pngsuite/primary_check/s08i3p02.png differ diff --git a/tests/pngsuite/primary_check/s08n3p02.png b/tests/pngsuite/primary_check/s08n3p02.png new file mode 100644 index 0000000..4a46016 Binary files /dev/null and b/tests/pngsuite/primary_check/s08n3p02.png differ diff --git a/tests/pngsuite/primary_check/s09i3p02.png b/tests/pngsuite/primary_check/s09i3p02.png new file mode 100644 index 0000000..ea14f9b Binary files /dev/null and b/tests/pngsuite/primary_check/s09i3p02.png differ diff --git a/tests/pngsuite/primary_check/s09n3p02.png b/tests/pngsuite/primary_check/s09n3p02.png new file mode 100644 index 0000000..7a82253 Binary files /dev/null and b/tests/pngsuite/primary_check/s09n3p02.png differ diff --git a/tests/pngsuite/primary_check/s32i3p04.png b/tests/pngsuite/primary_check/s32i3p04.png new file mode 100644 index 0000000..db4bef7 Binary files /dev/null and b/tests/pngsuite/primary_check/s32i3p04.png differ diff --git a/tests/pngsuite/primary_check/s32n3p04.png b/tests/pngsuite/primary_check/s32n3p04.png new file mode 100644 index 0000000..c250971 Binary files /dev/null and b/tests/pngsuite/primary_check/s32n3p04.png differ diff --git a/tests/pngsuite/primary_check/s33i3p04.png b/tests/pngsuite/primary_check/s33i3p04.png new file mode 100644 index 0000000..0faaa74 Binary files /dev/null and b/tests/pngsuite/primary_check/s33i3p04.png differ diff --git a/tests/pngsuite/primary_check/s33n3p04.png b/tests/pngsuite/primary_check/s33n3p04.png new file mode 100644 index 0000000..599171c Binary files /dev/null and b/tests/pngsuite/primary_check/s33n3p04.png differ diff --git a/tests/pngsuite/primary_check/s34i3p04.png b/tests/pngsuite/primary_check/s34i3p04.png new file mode 100644 index 0000000..ca0e5eb Binary files /dev/null and b/tests/pngsuite/primary_check/s34i3p04.png differ diff --git a/tests/pngsuite/primary_check/s34n3p04.png b/tests/pngsuite/primary_check/s34n3p04.png new file mode 100644 index 0000000..b175f59 Binary files /dev/null and b/tests/pngsuite/primary_check/s34n3p04.png differ diff --git a/tests/pngsuite/primary_check/s35i3p04.png b/tests/pngsuite/primary_check/s35i3p04.png new file mode 100644 index 0000000..ccb1b8a Binary files /dev/null and b/tests/pngsuite/primary_check/s35i3p04.png differ diff --git a/tests/pngsuite/primary_check/s35n3p04.png b/tests/pngsuite/primary_check/s35n3p04.png new file mode 100644 index 0000000..2c7219f Binary files /dev/null and b/tests/pngsuite/primary_check/s35n3p04.png differ diff --git a/tests/pngsuite/primary_check/s36i3p04.png b/tests/pngsuite/primary_check/s36i3p04.png new file mode 100644 index 0000000..d61491f Binary files /dev/null and b/tests/pngsuite/primary_check/s36i3p04.png differ diff --git a/tests/pngsuite/primary_check/s36n3p04.png b/tests/pngsuite/primary_check/s36n3p04.png new file mode 100644 index 0000000..1f50479 Binary files /dev/null and b/tests/pngsuite/primary_check/s36n3p04.png differ diff --git a/tests/pngsuite/primary_check/s37i3p04.png b/tests/pngsuite/primary_check/s37i3p04.png new file mode 100644 index 0000000..2906fa3 Binary files /dev/null and b/tests/pngsuite/primary_check/s37i3p04.png differ diff --git a/tests/pngsuite/primary_check/s37n3p04.png b/tests/pngsuite/primary_check/s37n3p04.png new file mode 100644 index 0000000..8931b85 Binary files /dev/null and b/tests/pngsuite/primary_check/s37n3p04.png differ diff --git a/tests/pngsuite/primary_check/s38i3p04.png b/tests/pngsuite/primary_check/s38i3p04.png new file mode 100644 index 0000000..becf5a1 Binary files /dev/null and b/tests/pngsuite/primary_check/s38i3p04.png differ diff --git a/tests/pngsuite/primary_check/s38n3p04.png b/tests/pngsuite/primary_check/s38n3p04.png new file mode 100644 index 0000000..43f8c98 Binary files /dev/null and b/tests/pngsuite/primary_check/s38n3p04.png differ diff --git a/tests/pngsuite/primary_check/s39i3p04.png b/tests/pngsuite/primary_check/s39i3p04.png new file mode 100644 index 0000000..b045ad5 Binary files /dev/null and b/tests/pngsuite/primary_check/s39i3p04.png differ diff --git a/tests/pngsuite/primary_check/s39n3p04.png b/tests/pngsuite/primary_check/s39n3p04.png new file mode 100644 index 0000000..d37d66d Binary files /dev/null and b/tests/pngsuite/primary_check/s39n3p04.png differ diff --git a/tests/pngsuite/primary_check/s40i3p04.png b/tests/pngsuite/primary_check/s40i3p04.png new file mode 100644 index 0000000..dd2f7a1 Binary files /dev/null and b/tests/pngsuite/primary_check/s40i3p04.png differ diff --git a/tests/pngsuite/primary_check/s40n3p04.png b/tests/pngsuite/primary_check/s40n3p04.png new file mode 100644 index 0000000..6f8596c Binary files /dev/null and b/tests/pngsuite/primary_check/s40n3p04.png differ diff --git a/tests/pngsuite/primary_check/tbbn0g04.png b/tests/pngsuite/primary_check/tbbn0g04.png new file mode 100644 index 0000000..8d9f7d5 Binary files /dev/null and b/tests/pngsuite/primary_check/tbbn0g04.png differ diff --git a/tests/pngsuite/primary_check/tbbn3p08.png b/tests/pngsuite/primary_check/tbbn3p08.png new file mode 100644 index 0000000..706e6c4 Binary files /dev/null and b/tests/pngsuite/primary_check/tbbn3p08.png differ diff --git a/tests/pngsuite/primary_check/tbgn3p08.png b/tests/pngsuite/primary_check/tbgn3p08.png new file mode 100644 index 0000000..fa5cdbc Binary files /dev/null and b/tests/pngsuite/primary_check/tbgn3p08.png differ diff --git a/tests/pngsuite/primary_check/tbrn2c08.png b/tests/pngsuite/primary_check/tbrn2c08.png new file mode 100644 index 0000000..bbe748f Binary files /dev/null and b/tests/pngsuite/primary_check/tbrn2c08.png differ diff --git a/tests/pngsuite/primary_check/tbwn3p08.png b/tests/pngsuite/primary_check/tbwn3p08.png new file mode 100644 index 0000000..9ecd404 Binary files /dev/null and b/tests/pngsuite/primary_check/tbwn3p08.png differ diff --git a/tests/pngsuite/primary_check/tbyn3p08.png b/tests/pngsuite/primary_check/tbyn3p08.png new file mode 100644 index 0000000..4fbdb36 Binary files /dev/null and b/tests/pngsuite/primary_check/tbyn3p08.png differ diff --git a/tests/pngsuite/primary_check/tm3n3p02.png b/tests/pngsuite/primary_check/tm3n3p02.png new file mode 100644 index 0000000..babdebe Binary files /dev/null and b/tests/pngsuite/primary_check/tm3n3p02.png differ diff --git a/tests/pngsuite/primary_check/tp0n0g08.png b/tests/pngsuite/primary_check/tp0n0g08.png new file mode 100644 index 0000000..96dd89c Binary files /dev/null and b/tests/pngsuite/primary_check/tp0n0g08.png differ diff --git a/tests/pngsuite/primary_check/tp0n2c08.png b/tests/pngsuite/primary_check/tp0n2c08.png new file mode 100644 index 0000000..364e97e Binary files /dev/null and b/tests/pngsuite/primary_check/tp0n2c08.png differ diff --git a/tests/pngsuite/primary_check/tp0n3p08.png b/tests/pngsuite/primary_check/tp0n3p08.png new file mode 100644 index 0000000..e5a29d6 Binary files /dev/null and b/tests/pngsuite/primary_check/tp0n3p08.png differ diff --git a/tests/pngsuite/primary_check/tp1n3p08.png b/tests/pngsuite/primary_check/tp1n3p08.png new file mode 100644 index 0000000..9ecd404 Binary files /dev/null and b/tests/pngsuite/primary_check/tp1n3p08.png differ diff --git a/tests/pngsuite/primary_check/z00n2c08.png b/tests/pngsuite/primary_check/z00n2c08.png new file mode 100644 index 0000000..ecaa0d8 Binary files /dev/null and b/tests/pngsuite/primary_check/z00n2c08.png differ diff --git a/tests/pngsuite/primary_check/z03n2c08.png b/tests/pngsuite/primary_check/z03n2c08.png new file mode 100644 index 0000000..ecaa0d8 Binary files /dev/null and b/tests/pngsuite/primary_check/z03n2c08.png differ diff --git a/tests/pngsuite/primary_check/z06n2c08.png b/tests/pngsuite/primary_check/z06n2c08.png new file mode 100644 index 0000000..ecaa0d8 Binary files /dev/null and b/tests/pngsuite/primary_check/z06n2c08.png differ diff --git a/tests/pngsuite/primary_check/z09n2c08.png b/tests/pngsuite/primary_check/z09n2c08.png new file mode 100644 index 0000000..d869f99 Binary files /dev/null and b/tests/pngsuite/primary_check/z09n2c08.png differ diff --git a/tests/pngsuite/unused/ccwn2c08.png b/tests/pngsuite/unused/ccwn2c08.png new file mode 100644 index 0000000..47c2481 Binary files /dev/null and b/tests/pngsuite/unused/ccwn2c08.png differ diff --git a/tests/pngsuite/unused/ccwn3p08.png b/tests/pngsuite/unused/ccwn3p08.png new file mode 100644 index 0000000..8bb2c10 Binary files /dev/null and b/tests/pngsuite/unused/ccwn3p08.png differ diff --git a/tests/pngsuite/unused/cdfn2c08.png b/tests/pngsuite/unused/cdfn2c08.png new file mode 100644 index 0000000..559e526 Binary files /dev/null and b/tests/pngsuite/unused/cdfn2c08.png differ diff --git a/tests/pngsuite/unused/cdhn2c08.png b/tests/pngsuite/unused/cdhn2c08.png new file mode 100644 index 0000000..3e07e8e Binary files /dev/null and b/tests/pngsuite/unused/cdhn2c08.png differ diff --git a/tests/pngsuite/unused/cdsn2c08.png b/tests/pngsuite/unused/cdsn2c08.png new file mode 100644 index 0000000..076c32c Binary files /dev/null and b/tests/pngsuite/unused/cdsn2c08.png differ diff --git a/tests/pngsuite/unused/cdun2c08.png b/tests/pngsuite/unused/cdun2c08.png new file mode 100644 index 0000000..846033b Binary files /dev/null and b/tests/pngsuite/unused/cdun2c08.png differ diff --git a/tests/pngsuite/unused/ch1n3p04.png b/tests/pngsuite/unused/ch1n3p04.png new file mode 100644 index 0000000..17cd12d Binary files /dev/null and b/tests/pngsuite/unused/ch1n3p04.png differ diff --git a/tests/pngsuite/unused/ch2n3p08.png b/tests/pngsuite/unused/ch2n3p08.png new file mode 100644 index 0000000..25c1798 Binary files /dev/null and b/tests/pngsuite/unused/ch2n3p08.png differ diff --git a/tests/pngsuite/unused/cm0n0g04.png b/tests/pngsuite/unused/cm0n0g04.png new file mode 100644 index 0000000..9fba5db Binary files /dev/null and b/tests/pngsuite/unused/cm0n0g04.png differ diff --git a/tests/pngsuite/unused/cm7n0g04.png b/tests/pngsuite/unused/cm7n0g04.png new file mode 100644 index 0000000..f7dc46e Binary files /dev/null and b/tests/pngsuite/unused/cm7n0g04.png differ diff --git a/tests/pngsuite/unused/cm9n0g04.png b/tests/pngsuite/unused/cm9n0g04.png new file mode 100644 index 0000000..dd70911 Binary files /dev/null and b/tests/pngsuite/unused/cm9n0g04.png differ diff --git a/tests/pngsuite/unused/cs3n2c16.png b/tests/pngsuite/unused/cs3n2c16.png new file mode 100644 index 0000000..bf5fd20 Binary files /dev/null and b/tests/pngsuite/unused/cs3n2c16.png differ diff --git a/tests/pngsuite/unused/cs3n3p08.png b/tests/pngsuite/unused/cs3n3p08.png new file mode 100644 index 0000000..f4a6623 Binary files /dev/null and b/tests/pngsuite/unused/cs3n3p08.png differ diff --git a/tests/pngsuite/unused/cs5n2c08.png b/tests/pngsuite/unused/cs5n2c08.png new file mode 100644 index 0000000..40f947c Binary files /dev/null and b/tests/pngsuite/unused/cs5n2c08.png differ diff --git a/tests/pngsuite/unused/cs5n3p08.png b/tests/pngsuite/unused/cs5n3p08.png new file mode 100644 index 0000000..dfd6e6e Binary files /dev/null and b/tests/pngsuite/unused/cs5n3p08.png differ diff --git a/tests/pngsuite/unused/cs8n2c08.png b/tests/pngsuite/unused/cs8n2c08.png new file mode 100644 index 0000000..8e01d32 Binary files /dev/null and b/tests/pngsuite/unused/cs8n2c08.png differ diff --git a/tests/pngsuite/unused/cs8n3p08.png b/tests/pngsuite/unused/cs8n3p08.png new file mode 100644 index 0000000..a44066e Binary files /dev/null and b/tests/pngsuite/unused/cs8n3p08.png differ diff --git a/tests/pngsuite/unused/ct0n0g04.png b/tests/pngsuite/unused/ct0n0g04.png new file mode 100644 index 0000000..40d1e06 Binary files /dev/null and b/tests/pngsuite/unused/ct0n0g04.png differ diff --git a/tests/pngsuite/unused/ct1n0g04.png b/tests/pngsuite/unused/ct1n0g04.png new file mode 100644 index 0000000..3ba110a Binary files /dev/null and b/tests/pngsuite/unused/ct1n0g04.png differ diff --git a/tests/pngsuite/unused/cten0g04.png b/tests/pngsuite/unused/cten0g04.png new file mode 100644 index 0000000..a6a56fa Binary files /dev/null and b/tests/pngsuite/unused/cten0g04.png differ diff --git a/tests/pngsuite/unused/ctfn0g04.png b/tests/pngsuite/unused/ctfn0g04.png new file mode 100644 index 0000000..353873e Binary files /dev/null and b/tests/pngsuite/unused/ctfn0g04.png differ diff --git a/tests/pngsuite/unused/ctgn0g04.png b/tests/pngsuite/unused/ctgn0g04.png new file mode 100644 index 0000000..453f2b0 Binary files /dev/null and b/tests/pngsuite/unused/ctgn0g04.png differ diff --git a/tests/pngsuite/unused/cthn0g04.png b/tests/pngsuite/unused/cthn0g04.png new file mode 100644 index 0000000..8fce253 Binary files /dev/null and b/tests/pngsuite/unused/cthn0g04.png differ diff --git a/tests/pngsuite/unused/ctjn0g04.png b/tests/pngsuite/unused/ctjn0g04.png new file mode 100644 index 0000000..a77b8d2 Binary files /dev/null and b/tests/pngsuite/unused/ctjn0g04.png differ diff --git a/tests/pngsuite/unused/ctzn0g04.png b/tests/pngsuite/unused/ctzn0g04.png new file mode 100644 index 0000000..b4401c9 Binary files /dev/null and b/tests/pngsuite/unused/ctzn0g04.png differ diff --git a/tests/pngsuite/unused/f00n0g08.png b/tests/pngsuite/unused/f00n0g08.png new file mode 100644 index 0000000..45a0075 Binary files /dev/null and b/tests/pngsuite/unused/f00n0g08.png differ diff --git a/tests/pngsuite/unused/f00n2c08.png b/tests/pngsuite/unused/f00n2c08.png new file mode 100644 index 0000000..d6a1fff Binary files /dev/null and b/tests/pngsuite/unused/f00n2c08.png differ diff --git a/tests/pngsuite/unused/f01n0g08.png b/tests/pngsuite/unused/f01n0g08.png new file mode 100644 index 0000000..4a1107b Binary files /dev/null and b/tests/pngsuite/unused/f01n0g08.png differ diff --git a/tests/pngsuite/unused/f01n2c08.png b/tests/pngsuite/unused/f01n2c08.png new file mode 100644 index 0000000..26fee95 Binary files /dev/null and b/tests/pngsuite/unused/f01n2c08.png differ diff --git a/tests/pngsuite/unused/f02n0g08.png b/tests/pngsuite/unused/f02n0g08.png new file mode 100644 index 0000000..bfe410c Binary files /dev/null and b/tests/pngsuite/unused/f02n0g08.png differ diff --git a/tests/pngsuite/unused/f02n2c08.png b/tests/pngsuite/unused/f02n2c08.png new file mode 100644 index 0000000..e590f12 Binary files /dev/null and b/tests/pngsuite/unused/f02n2c08.png differ diff --git a/tests/pngsuite/unused/f03n0g08.png b/tests/pngsuite/unused/f03n0g08.png new file mode 100644 index 0000000..ed01e29 Binary files /dev/null and b/tests/pngsuite/unused/f03n0g08.png differ diff --git a/tests/pngsuite/unused/f03n2c08.png b/tests/pngsuite/unused/f03n2c08.png new file mode 100644 index 0000000..7581150 Binary files /dev/null and b/tests/pngsuite/unused/f03n2c08.png differ diff --git a/tests/pngsuite/unused/f04n0g08.png b/tests/pngsuite/unused/f04n0g08.png new file mode 100644 index 0000000..663fdae Binary files /dev/null and b/tests/pngsuite/unused/f04n0g08.png differ diff --git a/tests/pngsuite/unused/f04n2c08.png b/tests/pngsuite/unused/f04n2c08.png new file mode 100644 index 0000000..3c8b511 Binary files /dev/null and b/tests/pngsuite/unused/f04n2c08.png differ diff --git a/tests/pngsuite/unused/f99n0g04.png b/tests/pngsuite/unused/f99n0g04.png new file mode 100644 index 0000000..0b521c1 Binary files /dev/null and b/tests/pngsuite/unused/f99n0g04.png differ diff --git a/tests/pngsuite/unused/g03n0g16.png b/tests/pngsuite/unused/g03n0g16.png new file mode 100644 index 0000000..41083ca Binary files /dev/null and b/tests/pngsuite/unused/g03n0g16.png differ diff --git a/tests/pngsuite/unused/g03n2c08.png b/tests/pngsuite/unused/g03n2c08.png new file mode 100644 index 0000000..a9354db Binary files /dev/null and b/tests/pngsuite/unused/g03n2c08.png differ diff --git a/tests/pngsuite/unused/g03n3p04.png b/tests/pngsuite/unused/g03n3p04.png new file mode 100644 index 0000000..60396c9 Binary files /dev/null and b/tests/pngsuite/unused/g03n3p04.png differ diff --git a/tests/pngsuite/unused/g04n0g16.png b/tests/pngsuite/unused/g04n0g16.png new file mode 100644 index 0000000..32395b7 Binary files /dev/null and b/tests/pngsuite/unused/g04n0g16.png differ diff --git a/tests/pngsuite/unused/g04n2c08.png b/tests/pngsuite/unused/g04n2c08.png new file mode 100644 index 0000000..a652b0c Binary files /dev/null and b/tests/pngsuite/unused/g04n2c08.png differ diff --git a/tests/pngsuite/unused/g04n3p04.png b/tests/pngsuite/unused/g04n3p04.png new file mode 100644 index 0000000..5661cc3 Binary files /dev/null and b/tests/pngsuite/unused/g04n3p04.png differ diff --git a/tests/pngsuite/unused/g05n0g16.png b/tests/pngsuite/unused/g05n0g16.png new file mode 100644 index 0000000..70b37f0 Binary files /dev/null and b/tests/pngsuite/unused/g05n0g16.png differ diff --git a/tests/pngsuite/unused/g05n2c08.png b/tests/pngsuite/unused/g05n2c08.png new file mode 100644 index 0000000..932c136 Binary files /dev/null and b/tests/pngsuite/unused/g05n2c08.png differ diff --git a/tests/pngsuite/unused/g05n3p04.png b/tests/pngsuite/unused/g05n3p04.png new file mode 100644 index 0000000..9619930 Binary files /dev/null and b/tests/pngsuite/unused/g05n3p04.png differ diff --git a/tests/pngsuite/unused/g07n0g16.png b/tests/pngsuite/unused/g07n0g16.png new file mode 100644 index 0000000..d6a47c2 Binary files /dev/null and b/tests/pngsuite/unused/g07n0g16.png differ diff --git a/tests/pngsuite/unused/g07n2c08.png b/tests/pngsuite/unused/g07n2c08.png new file mode 100644 index 0000000..5973464 Binary files /dev/null and b/tests/pngsuite/unused/g07n2c08.png differ diff --git a/tests/pngsuite/unused/g07n3p04.png b/tests/pngsuite/unused/g07n3p04.png new file mode 100644 index 0000000..c73fb61 Binary files /dev/null and b/tests/pngsuite/unused/g07n3p04.png differ diff --git a/tests/pngsuite/unused/g10n0g16.png b/tests/pngsuite/unused/g10n0g16.png new file mode 100644 index 0000000..85f2c95 Binary files /dev/null and b/tests/pngsuite/unused/g10n0g16.png differ diff --git a/tests/pngsuite/unused/g10n2c08.png b/tests/pngsuite/unused/g10n2c08.png new file mode 100644 index 0000000..b303997 Binary files /dev/null and b/tests/pngsuite/unused/g10n2c08.png differ diff --git a/tests/pngsuite/unused/g10n3p04.png b/tests/pngsuite/unused/g10n3p04.png new file mode 100644 index 0000000..1b6a6be Binary files /dev/null and b/tests/pngsuite/unused/g10n3p04.png differ diff --git a/tests/pngsuite/unused/g25n0g16.png b/tests/pngsuite/unused/g25n0g16.png new file mode 100644 index 0000000..a9f6787 Binary files /dev/null and b/tests/pngsuite/unused/g25n0g16.png differ diff --git a/tests/pngsuite/unused/g25n2c08.png b/tests/pngsuite/unused/g25n2c08.png new file mode 100644 index 0000000..03f505a Binary files /dev/null and b/tests/pngsuite/unused/g25n2c08.png differ diff --git a/tests/pngsuite/unused/g25n3p04.png b/tests/pngsuite/unused/g25n3p04.png new file mode 100644 index 0000000..4f943c6 Binary files /dev/null and b/tests/pngsuite/unused/g25n3p04.png differ diff --git a/tests/pngsuite/unused/pp0n2c16.png b/tests/pngsuite/unused/pp0n2c16.png new file mode 100644 index 0000000..8f2aad7 Binary files /dev/null and b/tests/pngsuite/unused/pp0n2c16.png differ diff --git a/tests/pngsuite/unused/pp0n6a08.png b/tests/pngsuite/unused/pp0n6a08.png new file mode 100644 index 0000000..4ed7a30 Binary files /dev/null and b/tests/pngsuite/unused/pp0n6a08.png differ diff --git a/tests/pngsuite/unused/ps1n0g08.png b/tests/pngsuite/unused/ps1n0g08.png new file mode 100644 index 0000000..99625fa Binary files /dev/null and b/tests/pngsuite/unused/ps1n0g08.png differ diff --git a/tests/pngsuite/unused/ps1n2c16.png b/tests/pngsuite/unused/ps1n2c16.png new file mode 100644 index 0000000..0c7a6b3 Binary files /dev/null and b/tests/pngsuite/unused/ps1n2c16.png differ diff --git a/tests/pngsuite/unused/ps2n0g08.png b/tests/pngsuite/unused/ps2n0g08.png new file mode 100644 index 0000000..90b2979 Binary files /dev/null and b/tests/pngsuite/unused/ps2n0g08.png differ diff --git a/tests/pngsuite/unused/ps2n2c16.png b/tests/pngsuite/unused/ps2n2c16.png new file mode 100644 index 0000000..a4a181e Binary files /dev/null and b/tests/pngsuite/unused/ps2n2c16.png differ