@@ -45,6 +45,9 @@ typedef unsigned long int uint64_t;
4545#ifndef Z_BEST_COMPRESSION
4646#define Z_BEST_COMPRESSION 9
4747#endif
48+ #ifndef Z_NO_COMPRESSION
49+ #define Z_NO_COMPRESSION 0
50+ #endif
4851
4952/* Table of CRCs of all 8-bit messages. */
5053#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
@@ -410,6 +413,9 @@ mapcache_buffer* _mapcache_imageio_png_encode(mapcache_context *ctx, mapcache_im
410413 png_set_compression_level (png_ptr , Z_BEST_COMPRESSION );
411414 else if (compression == MAPCACHE_COMPRESSION_FAST )
412415 png_set_compression_level (png_ptr , Z_BEST_SPEED );
416+ else if (compression == MAPCACHE_COMPRESSION_DISABLE )
417+ png_set_compression_level (png_ptr , Z_NO_COMPRESSION );
418+
413419 png_set_filter (png_ptr ,0 ,PNG_FILTER_NONE );
414420
415421 info_ptr = png_create_info_struct (png_ptr );
@@ -1314,6 +1320,8 @@ mapcache_buffer* _mapcache_imageio_png_q_encode( mapcache_context *ctx, mapcache
13141320 png_set_compression_level (png_ptr , Z_BEST_COMPRESSION );
13151321 else if (compression == MAPCACHE_COMPRESSION_FAST )
13161322 png_set_compression_level (png_ptr , Z_BEST_SPEED );
1323+ else if (compression == MAPCACHE_COMPRESSION_DISABLE )
1324+ png_set_compression_level (png_ptr , Z_NO_COMPRESSION );
13171325 png_set_filter (png_ptr ,0 ,PNG_FILTER_NONE );
13181326 info_ptr = png_create_info_struct (png_ptr );
13191327 if (!info_ptr ) {
0 commit comments