From 6eb087c87296db257fc26be37713cb807241b801 Mon Sep 17 00:00:00 2001 From: glennrp Date: Tue, 16 Nov 2010 00:49:07 +0000 Subject: [PATCH] Simplify palette-entry swapping in PNG encoder. --- coders/png.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/coders/png.c b/coders/png.c index e41f4bf0e..62e0095fa 100644 --- a/coders/png.c +++ b/coders/png.c @@ -6364,7 +6364,7 @@ static MagickBooleanType OptimizePNGColormap(Image *image, IndexPacket if (have_transparency && (image->colormap[0].opacity != (Quantum) TransparentOpacity)) - { + { /* Move the first transparent color to palette entry 0. */ @@ -6373,15 +6373,14 @@ static MagickBooleanType OptimizePNGColormap(Image *image, IndexPacket if (marker[i] && image->colormap[i].opacity == (Quantum) TransparentOpacity) { - for (j=0; j < number_colors; j++) - { - if (ping_plte_map[j] == 0) - ping_plte_map[j]=ping_plte_map[i]; - - else if (ping_plte_map[j] == ping_plte_map[i]) - ping_plte_map[j]=0; + IndexPacket + swap; - } + swap=ping_plte_map[0]; + ping_plte_map[0]=ping_plte_map[i]; + ping_plte_map[i]=swap; + marker[i]=marker[0]; + marker[0]=MagickTrue; remap_needed=MagickTrue; break; } -- 2.40.0