From 60a5755478b4a8a564e20948daf926a1bb0a1d74 Mon Sep 17 00:00:00 2001 From: jarnoh Date: Thu, 26 Jul 2018 17:37:50 +0300 Subject: [PATCH] use simple memcpy if png filter=0 --- stb_image_write.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/stb_image_write.h b/stb_image_write.h index 78a02aa..08c1f67 100644 --- a/stb_image_write.h +++ b/stb_image_write.h @@ -998,6 +998,14 @@ static void stbiw__encode_png_line(unsigned char *pixels, int stride_bytes, int int type = mymap[filter_type]; unsigned char *z = pixels + stride_bytes * (stbi__flip_vertically_on_write ? height-1-y : y); int signed_stride = stbi__flip_vertically_on_write ? -stride_bytes : stride_bytes; + + // sorry for not optimizing the other paths + if(type==0) + { + memcpy(line_buffer, z, width*n); + return; + } + for (i = 0; i < n; ++i) { switch (type) { case 0: line_buffer[i] = z[i]; break;