X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=drivers%2Fgp2x%2Freadpng.c;fp=drivers%2Fgp2x%2Freadpng.c;h=0000000000000000000000000000000000000000;hp=e6e127f2c7e75a6aad34258548d82e4c92dd818c;hb=396c448eb538587248ddbf586a90371c71b48183;hpb=0ab4d38fa6197f853b9111104948df09996aa5dc diff --git a/drivers/gp2x/readpng.c b/drivers/gp2x/readpng.c deleted file mode 100644 index e6e127f..0000000 --- a/drivers/gp2x/readpng.c +++ /dev/null @@ -1,72 +0,0 @@ -#include -#include -#include - -void readpng(unsigned short *dest, const char *fname) -{ - FILE *fp; - png_structp png_ptr = NULL; - png_infop info_ptr = NULL; - png_bytepp row_ptr = NULL; - int height, width, h; - - if (dest == NULL || fname == NULL) - { - return; - } - - fp = fopen(fname, "rb"); - if (fp == NULL) - { - printf(__FILE__ ": failed to open: %s\n", fname); - return; - } - - png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - if (!png_ptr) - { - printf(__FILE__ ": png_create_read_struct() failed\n"); - fclose(fp); - return; - } - - info_ptr = png_create_info_struct(png_ptr); - if (!info_ptr) - { - printf(__FILE__ ": png_create_info_struct() failed\n"); - goto done; - } - - // Start reading - png_init_io(png_ptr, fp); - png_read_png(png_ptr, info_ptr, PNG_TRANSFORM_STRIP_16 | PNG_TRANSFORM_STRIP_ALPHA | PNG_TRANSFORM_PACKING, NULL); - row_ptr = png_get_rows(png_ptr, info_ptr); - if (row_ptr == NULL) - { - printf(__FILE__ ": png_get_rows() failed\n"); - goto done; - } - - height = info_ptr->height; - if (height > 240) height = 240; - width = info_ptr->width; - if (width > 320) width = 320; - - for (h = 0; h < height; h++) - { - unsigned char *src = row_ptr[h]; - int len = width; - while (len--) - { - *dest++ = ((src[0]&0xf8)<<8) | ((src[1]&0xf8)<<3) | (src[2] >> 3); - src += 3; - } - dest += 320 - width; - } - - -done: - png_destroy_read_struct(&png_ptr, info_ptr ? &info_ptr : NULL, (png_infopp)NULL); - fclose(fp); -} -