diff options
Diffstat (limited to 'community/metapixel/metapixel-1.0.2-libpng-1.5.patch')
-rw-r--r-- | community/metapixel/metapixel-1.0.2-libpng-1.5.patch | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/community/metapixel/metapixel-1.0.2-libpng-1.5.patch b/community/metapixel/metapixel-1.0.2-libpng-1.5.patch deleted file mode 100644 index ed787452f..000000000 --- a/community/metapixel/metapixel-1.0.2-libpng-1.5.patch +++ /dev/null @@ -1,174 +0,0 @@ ---- metapixel-1.0.2.orig/rwimg/rwpng.c -+++ metapixel-1.0.2/rwimg/rwpng.c -@@ -57,19 +57,39 @@ - data->end_info = png_create_info_struct(data->png_ptr); - assert(data->end_info != 0); - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ if (setjmp(png_jmpbuf((data->png_ptr)))) -+#else - if (setjmp(data->png_ptr->jmpbuf)) -+#endif - assert(0); - -- png_init_io(data->png_ptr, data->file); -- -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ png_init_io(data->png_ptr, data->file); -+ png_read_info(data->png_ptr, data->info_ptr); -+#else -+ png_init_io(data->png_ptr, data->file); - png_read_info(data->png_ptr, data->info_ptr); -+#endif - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ *width = png_get_image_width(data->png_ptr, data->info_ptr); -+ *height = png_get_image_height(data->png_ptr, data->info_ptr); -+ { -+ png_byte value = png_get_bit_depth(data->png_ptr, data->info_ptr); -+ assert(value == 8 || value == 16); -+ value = png_get_color_type(data->png_ptr, data->info_ptr); -+ assert(value == PNG_COLOR_TYPE_RGB || value == PNG_COLOR_TYPE_RGB_ALPHA); -+ value = png_get_interlace_type(data->png_ptr, data->info_ptr); -+ assert(value == PNG_INTERLACE_NONE); -+ } -+#else - *width = data->info_ptr->width; - *height = data->info_ptr->height; -- - assert(data->info_ptr->bit_depth == 8 || data->info_ptr->bit_depth == 16); - assert(data->info_ptr->color_type == PNG_COLOR_TYPE_RGB || data->info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA); - assert(data->info_ptr->interlace_type == PNG_INTERLACE_NONE); -+#endif - - data->have_read = 0; - -@@ -81,32 +101,51 @@ - { - png_data_t *data = (png_data_t*)_data; - int i; -- int bps, spp; -+ int bps, spp, width; - unsigned char *row; - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ -+ if (setjmp(png_jmpbuf((data->png_ptr)))) -+#else - if (setjmp(data->png_ptr->jmpbuf)) -+#endif - assert(0); - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ if(png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_RGB) -+#else - if (data->info_ptr->color_type == PNG_COLOR_TYPE_RGB) -+#endif - spp = 3; - else - spp = 4; - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ if(png_get_bit_depth(data->png_ptr, data->info_ptr) == 16) -+#else - if (data->info_ptr->bit_depth == 16) -+#endif - bps = 2; - else - bps = 1; - -- row = (unsigned char*)malloc(data->info_ptr->width * spp * bps); -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ width = png_get_image_width(data->png_ptr, data->info_ptr); -+#else -+ width = data->info_ptr->width: -+#endif -+ -+ row = (unsigned char*)malloc(width * spp * bps); - - for (i = 0; i < num_lines; ++i) - { - int j, channel; - - png_read_row(data->png_ptr, (png_bytep)row, 0); -- for (j = 0; j < data->info_ptr->width; ++j) -+ for (j = 0; j < width; ++j) - for (channel = 0; channel < 3; ++channel) -- lines[i * data->info_ptr->width * 3 + j * 3 + channel] = row[j * spp * bps + channel * bps]; -+ lines[i * width * 3 + j * 3 + channel] = row[j * spp * bps + channel * bps]; - } - - free(row); -@@ -119,7 +158,11 @@ - { - png_data_t *data = (png_data_t*)_data; - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ if (setjmp(png_jmpbuf((data->png_ptr)))) -+#else - if (setjmp(data->png_ptr->jmpbuf)) -+#endif - assert(0); - - if (data->have_read) -@@ -148,7 +191,11 @@ - data->info_ptr = png_create_info_struct(data->png_ptr); - assert(data->info_ptr != 0); - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ if (setjmp(png_jmpbuf((data->png_ptr)))) -+#else - if (setjmp(data->png_ptr->jmpbuf)) -+#endif - assert(0); - - if (pixel_stride == 4) -@@ -156,6 +203,16 @@ - - png_init_io(data->png_ptr, data->file); - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ png_set_IHDR(data->png_ptr, data->info_ptr, -+ width, height, 8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE, -+ PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); -+ -+ /* Maybe does not need following. */ -+ png_set_tRNS(data->png_ptr, data->info_ptr, NULL, 0, NULL); -+ png_set_PLTE(data->png_ptr, data->info_ptr, NULL, 0); -+ png_set_invalid(data->png_ptr, data->info_ptr, 0); -+#else - data->info_ptr->width = width; - data->info_ptr->height = height; - data->info_ptr->valid = 0; -@@ -168,6 +225,7 @@ - data->info_ptr->compression_type = PNG_COMPRESSION_TYPE_DEFAULT; - data->info_ptr->filter_type = PNG_FILTER_TYPE_DEFAULT; - data->info_ptr->interlace_type = PNG_INTERLACE_NONE; -+#endif - - png_write_info(data->png_ptr, data->info_ptr); - -@@ -182,7 +240,11 @@ - png_data_t *data = (png_data_t*)_data; - int i; - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ if (setjmp(png_jmpbuf((data->png_ptr)))) -+#else - if (setjmp(data->png_ptr->jmpbuf)) -+#endif - assert(0); - - for (i = 0; i < num_lines; ++i) -@@ -194,7 +256,11 @@ - { - png_data_t *data = (png_data_t*)_data; - -+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ if (setjmp(png_jmpbuf((data->png_ptr)))) -+#else - if (setjmp(data->png_ptr->jmpbuf)) -+#endif - assert(0); - - png_write_end(data->png_ptr, data->info_ptr); |