From 6d4f2b509e81660cd391094502dce6cfaa6c3b20 Mon Sep 17 00:00:00 2001 From: Rackoon <32634987+WildRackoon@users.noreply.github.com> Date: Fri, 12 Dec 2025 20:23:41 +0100 Subject: [PATCH 1/4] Fix RGB Dithering error cache value at end of row --- src/libImaging/Convert.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libImaging/Convert.c b/src/libImaging/Convert.c index 330e5325c33..b04b9828ad9 100644 --- a/src/libImaging/Convert.c +++ b/src/libImaging/Convert.c @@ -1310,9 +1310,9 @@ topalette( e += 3; } - e[0] = b0; - e[1] = b1; - e[2] = b2; + e[0] = r0; + e[1] = g0; + e[2] = b0; } ImagingSectionLeave(&cookie); free(errors); From 9efd8a1aa518f5dfdf753e677731fb13985a2596 Mon Sep 17 00:00:00 2001 From: Rackoon <32634987+WildRackoon@users.noreply.github.com> Date: Fri, 12 Dec 2025 14:44:47 +0100 Subject: [PATCH 2/4] Improve Dither code readability --- src/libImaging/Convert.c | 77 +++++++++++++++------------------------- 1 file changed, 29 insertions(+), 48 deletions(-) diff --git a/src/libImaging/Convert.c b/src/libImaging/Convert.c index b04b9828ad9..d3221a6656c 100644 --- a/src/libImaging/Convert.c +++ b/src/libImaging/Convert.c @@ -1246,19 +1246,18 @@ topalette( /* Map each pixel to the nearest palette entry */ ImagingSectionEnter(&cookie); for (y = 0; y < imIn->ysize; y++) { - int r, r0, r1, r2; - int g, g0, g1, g2; - int b, b0, b1, b2; + int r, r0, r1; + int g, g0, g1; + int b, b0, b1; UINT8 *in = (UINT8 *)imIn->image[y]; UINT8 *out = alpha ? (UINT8 *)imOut->image32[y] : imOut->image8[y]; int *e = errors; r = r0 = r1 = 0; g = g0 = g1 = 0; - b = b0 = b1 = b2 = 0; + b = b0 = b1 = 0; for (x = 0; x < imIn->xsize; x++, in += 4) { - int d2; INT16 *cache; r = CLIP8(in[0] + (r + e[3 + 0]) / 16); @@ -1281,31 +1280,21 @@ topalette( g -= (int)palette->palette[cache[0] * 4 + 1]; b -= (int)palette->palette[cache[0] * 4 + 2]; - /* propagate errors (don't ask ;-) */ - r2 = r; - d2 = r + r; - r += d2; - e[0] = r + r0; - r += d2; - r0 = r + r1; - r1 = r2; - r += d2; - g2 = g; - d2 = g + g; - g += d2; - e[1] = g + g0; - g += d2; - g0 = g + g1; - g1 = g2; - g += d2; - b2 = b; - d2 = b + b; - b += d2; - e[2] = b + b0; - b += d2; - b0 = b + b1; - b1 = b2; - b += d2; + /* propagate errors */ + e[0] = 3*r + r0; + r0 = 5*r + r1; + r1 = r; + r = 7*r; + + e[1] = 3*g + g0; + g0 = 5*g + g1; + g1 = g; + g = 7*g; + + e[2] = 3*b + b0; + b0 = 5*b + b1; + b1 = b; + b = 7*b; e += 3; } @@ -1385,7 +1374,7 @@ tobilevel(Imaging imOut, Imaging imIn) { /* map each pixel to black or white, using error diffusion */ ImagingSectionEnter(&cookie); for (y = 0; y < imIn->ysize; y++) { - int l, l0, l1, l2, d2; + int l, l0, l1; UINT8 *in = (UINT8 *)imIn->image[y]; UINT8 *out = imOut->image8[y]; @@ -1398,14 +1387,10 @@ tobilevel(Imaging imOut, Imaging imIn) { /* propagate errors */ l -= (int)out[x]; - l2 = l; - d2 = l + l; - l += d2; - errors[x] = l + l0; - l += d2; - l0 = l + l1; - l1 = l2; - l += d2; + errors[x] = 3*l + l0; + l0 = 5*l + l1; + l1 = l; + l = 7*l; } errors[x] = l0; @@ -1416,7 +1401,7 @@ tobilevel(Imaging imOut, Imaging imIn) { /* map each pixel to black or white, using error diffusion */ ImagingSectionEnter(&cookie); for (y = 0; y < imIn->ysize; y++) { - int l, l0, l1, l2, d2; + int l, l0, l1; UINT8 *in = (UINT8 *)imIn->image[y]; UINT8 *out = imOut->image8[y]; @@ -1429,14 +1414,10 @@ tobilevel(Imaging imOut, Imaging imIn) { /* propagate errors */ l -= (int)out[x]; - l2 = l; - d2 = l + l; - l += d2; - errors[x] = l + l0; - l += d2; - l0 = l + l1; - l1 = l2; - l += d2; + errors[x] = 3*l + l0; + l0 = 5*l + l1; + l1 = l; + l = 7*l; } errors[x] = l0; From 364b58c75674074b6246a39293a1af97763d1c99 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 12 Dec 2025 20:51:12 +0000 Subject: [PATCH 3/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/libImaging/Convert.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/libImaging/Convert.c b/src/libImaging/Convert.c index d3221a6656c..0c99ae1ccaf 100644 --- a/src/libImaging/Convert.c +++ b/src/libImaging/Convert.c @@ -1281,20 +1281,20 @@ topalette( b -= (int)palette->palette[cache[0] * 4 + 2]; /* propagate errors */ - e[0] = 3*r + r0; - r0 = 5*r + r1; + e[0] = 3 * r + r0; + r0 = 5 * r + r1; r1 = r; - r = 7*r; + r = 7 * r; - e[1] = 3*g + g0; - g0 = 5*g + g1; + e[1] = 3 * g + g0; + g0 = 5 * g + g1; g1 = g; - g = 7*g; + g = 7 * g; - e[2] = 3*b + b0; - b0 = 5*b + b1; + e[2] = 3 * b + b0; + b0 = 5 * b + b1; b1 = b; - b = 7*b; + b = 7 * b; e += 3; } @@ -1387,10 +1387,10 @@ tobilevel(Imaging imOut, Imaging imIn) { /* propagate errors */ l -= (int)out[x]; - errors[x] = 3*l + l0; - l0 = 5*l + l1; + errors[x] = 3 * l + l0; + l0 = 5 * l + l1; l1 = l; - l = 7*l; + l = 7 * l; } errors[x] = l0; @@ -1414,10 +1414,10 @@ tobilevel(Imaging imOut, Imaging imIn) { /* propagate errors */ l -= (int)out[x]; - errors[x] = 3*l + l0; - l0 = 5*l + l1; + errors[x] = 3 * l + l0; + l0 = 5 * l + l1; l1 = l; - l = 7*l; + l = 7 * l; } errors[x] = l0; From 600dbc46890a62c11bd7bdf812381bb75e2c8e93 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 13 Dec 2025 09:26:47 +1100 Subject: [PATCH 4/4] Updated tests --- Tests/images/palette_negative.png | Bin 16984 -> 17031 bytes Tests/images/palette_sepia.png | Bin 20364 -> 20364 bytes Tests/images/palette_wedge.png | Bin 16984 -> 17020 bytes Tests/test_image_entropy.py | 2 +- Tests/test_image_histogram.py | 2 +- 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/images/palette_negative.png b/Tests/images/palette_negative.png index 7fcfd29a0db44940bf69e76a9aa4a06b8e39f660..2bce8d74952a34269944d4fda12ac314f2c6eca8 100644 GIT binary patch literal 17031 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�i8(H2WE)WEyW#bL`2xuYh zbVMEf%;H}&9EQgLl5RB&k*D@o2^_8DhD7V#JHS5SG#vcht+OM&sl@3QY57_@A+F;# z>ueT-YQuNwQTI-_*}K%YK%tjXCE5aYf`0t9>2EUb{cs1O;QjKy+cO+&BVAuoA~ndB zoX84fvn-F}!z71?xC-)q*7-uuD$~{HR$4!J1JVn2QQyMqYA!1MX~S{c*#u0+JanE0 z6$X*%AJiO(sj2B{W7ZpnYRVd5#?e9fDq`3}nUTar1Pp+@O}Xno%m3pecPCBh{ZpHj zu}gyq=zUH?Z?d9`Wr8aWXw%77lzhFs@GT3cNWEb7TBqzyJg@^TmvBT9>6a?{woAXO zDLXe7FMJ0^!8`?f=-40o$%tJ#km#dq98Frs_~AP>x~%}|_wxP$`~YEne^CyNw>r{m zCCrp23(y5xIyw|JxRUd6gxqGk=9WuEGMAY1YX3qlrDICmSruni8$Rg_A5-5CC!g{9 zwRVWz;xkMo1=n|p8&=@O{iO^}og0azRZ9m|iX0l5GG diff --git a/Tests/images/palette_sepia.png b/Tests/images/palette_sepia.png index 9e7d6b0345b2c9193b97d61c97a9dd4bdee668df..77cec03de61ef2744f88a4bb197c37cc560c5531 100644 GIT binary patch literal 20364 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 M07*qoM6N<$f@Pis-~a#s diff --git a/Tests/images/palette_wedge.png b/Tests/images/palette_wedge.png index 4b3d9ff3a219dea6f7ee2fb9fdc9382c341804bb..613c34daa77be35792041358aa625395b82a6d74 100644 GIT binary patch literal 17020 zcmX9`WmH^Cv&Eg@?ykXu2lwC(!QGufg1ZbhK!D(G!QI_La1ZVfEV#pW?t5n~X86N8 z-PK*Ys&?%nT2)yV9fcSL3JMBcUQS9K_zwE-2MGrFR5ZBDf`XEel$R3M^v-I^R&gNF z1D!i#S*1cZqcg=qK}#@0#mdN4FvWf(PFHHqaOy3=ZnUvjBlpl=ImF;_rAb;F9TjVD z7-Nf-C)GtZ`PD1e71cFG9jdDI2^j+OV+dMGsh${|4#L5T6`P+(nBaU<5EkpGAH2@QC#ep}5TEs;eSGxOR#I@7K ztd=4Fxn=bX)M3De5jpVa7XSh++VK22yGt_;&|}2? zd+Xbz{}C6Z`$AUD0vx^Ds>yu&{Mz$&(!+*}Qmj5^5D;!kD6K{qF-+LqKYrcmCo%@u!$lJTMrNzs|W%}ZNm;b{6<}r<`{P(HQzFtCZ;yB@{*a90K;>%4A zw6?E0nC%j{(!xju+Yyfhz}kXqDC^(vy&~E)ne*NKkU}WY1}?oFzyd--U-D;!G0Z8? zVt4uFA;5|Z*!aj3d=hq-@BPWSvX!R}ujl6G4A=^rWJJIk* zK+m);@{)dd-xYl`|MpEt9(!`nh$L>J0)7%dwL7Je?a^ZyUa2qfv8KV|Wy<Nb{ZGE>Pm=F~00 ztEi|vI)KGjR?qGZ4oWy9HlMaaF?jj-A_wv>o-rsy&_XC<3MM8dWD22+I(={LI0*Be z(IiE3WtXO>;m6v|F{RabGhZin)&GX8xh5Q4YcZsZ?|aX#I7GBp)JKSXf@zB;)y2*;Un48ckU0!SG)ohpl#`FZLq2?rwFu7Mj}H z+O5I%TU-uO50l&$4SF18FIeR;i-2p^=>j*T-xZm_BXjDoIwZ_=`QqNx9EtdPPw}^< zr{`^?=nK`uh6Arq_GGq@mqPLE;-YrBCSaQthwo>oGrPgtH6tSZ zl?^LDmrl?TU@7G`Qb$Zr-P_heLd=iK=rN9bw>$(t=64j$S%zlyW<0Uc1gi|;YuKC| z9MDVbjaX~WxlQWAcM>=jhiU`tE-Gyv7NVIt4{VR!qQr3~s;zM3*!jIr(!Ft< zSB>C;qJ*OX4&WTU9RjK~naM~=<@|T}>2+bBs6ISDKTn$>Na`Oy4bRv#c6WETwY6=z znQG{i&;0s@;?)uKT)R;D(}SP%3b(q&WgW^KmW*%M1ko8G=(%j^1bEm!pI6FBZ zhzIdcPEPU&|L3?AA0l5WI1w0eAfqtKDk_(J{gLYBHxHNQaDC2a7Z-({1KTbfgh4u{ zgd%}&24(1fwvYiJ@jKXjJKJo{=rai#YxhCA=d7c8A%fek7{`NR{6>`lNp;Pxkb!Z= zsG5EpGMgbYnS>_1dh}Dsui-q{9*7KLy25srZaTRY{2okQcpOtuhZpY5uf;@ZoRXx# zBl@z9@#srBat6xO9BiB+1YazJ2=^ z85v28Ol{$W5RyWRJg~JhCc!5DdsX+Rn_k9?(MB7TwPn+c#bFT_b4#vjDNRT8#IzuR1{hvWq+BDPB^@AG4 z>c?-d&lG_#u7nW{E2j?+geX%jV9r}#!(6H+2?i#sa!u;uUj)1S=eNF)fWn!Fe*+j} zq5Z#*%A+!^8i)#G@kG4;nK(PEsCC=>L8)QFQCb(y$U!Wutq-@hwjLhRS->Oarr{}u zNXI2!iDWYPf^DW{DT9Cid=`-rlWJFl=Aa^cd;F6S_+oCZ2%IN?SZrwnJb!PW-rl+k z9s$b@JgMno!eY^AM;YQuFWBKt>lzxK-TFcq*DOhj@ta1R-JPwT*Pm5K(kV7>KaJMT=-wcR02Z$3K@N0pKkm5p!Ki%5GgQ)(-ew# zcg?Y5|1*O~E(3*Dm9{4X5brH5_kkSr3`(vKRI6;ll^1!^A(6lOKZa9xiwLOk7-DUA?_+z-?X^F>$9` z?*U;_nP!Gkxf51xl$@+Bk#G?M+n)&7x*v8>ZEpQUDB@(qplOC_Tvb|}H@jO~gQ`d} zuYva{T=mjJlR8}nzTXGdk=Lr2WRF?sSK;d?k6G;SZ>+8sj=HNYv*_<$dRtnCzh6xB}+S}W6L>_ziy1CUiHu7XEC&b4C?-lVA%sy~y18ypF z>g3dvQ1%D;BJD~b8xiQc?$oZ_e|~#>Y(qhIB@KMsPji90@vyeGwznU@e+8bvhseO* zLDT!tzC88vtehO;Qj@W`ZHZ#eS-l~|Sy$}!E4XDK&S_|e@(_!xRms9sFj@ZibH=+M z#TdiYxPw613t(|`OUwP;U5c{z)6MZzz+J<@fTWEcTN+E+crP)5R0H9-Q%gsEeF(e@ z;@mNAwxN*`5XH*&W@oYU26LPA(Vxo}?69-uLz072)XRA?6p>bpdIGw-x?Z>XLQ7S0 ztr}L2J=!}vg|n3zlE;8zXn7exHo%x%87^e-UB@2!x29dJ`Xw~r3%Fm=A^+cvBa;?^mU4HX`H9GzJ9svAVD&})03qdAbQyPY9bGX)h3MW zHZ?UVm(u95v$LbdHmo?btnP=UrlwwcqbYa@W@}f5x1k|~#>JtlrXIm1gp>WOszQ$( z0RHCs`Wo=2n)jy~HQemn++DOd&cnmQR0a6Z&@x4O9E62?|G|oSM#OE=oI@ti5WR_q z3&~$)MiKL^KfxXpLUNF>KeWNRC{LCSP@ZmX5~me^pccIZ~zH(_pU0oj`2k+K`hhUW^vlu?q z!m$Te23l{p`GtpI@)+E>2{=havVYXGV|~n`U&ZF34yuz)}5fy>@ zgP;>r3^mVG6KnzEu(?QXsiui}o+dl}4&|ji7(g1hE@l~ZNklE&pUta|HV9EgB>ibS z-q4AFk;W{BcR5RH8yn}(Ktu_Jg)|26pTC&g{P{yXl`(agmX_AB&SnNvLztsTKag5p zvGbdV&?A<_WSNk>n@yYEmYF4M>d2YrVQE>sddBwgFQY8UV|fRS+DP)iX{iAxWhwRhAEmEY7B>-dkUdvM zuVtJPW1kb?&WnqS|9)3@kD~*Z%hX*SvL$@UQVrkQh#8E{=K`0hicb1YYp)x`6rDrE zv`ZU_w{8;3$ghTxH%x~R8Z5{Ult_-Ob_#>^M~#W_qgDC&qne+kIdCumuw+UeqnrS4 zsvxYF_Fcgq#4JKwqH=90>`@wEHL>ZVn~v zq~sDBrSb%X2d#Cm1{1nh1WOQ}MJi@cRhx%Ufs?3R_w-! zyK(QYeiVJiL|uNqilD89fmOH6P*OvWHhDOS$IWHsOl=wvAzb`*pq&_f$6MZ2tQ3m0 z<$Ls^q;=rqxba5UH!o*r3{P_oDE};4mp&m-m0fh^Uxln;A}kR;UKs{_;?Xsbd5plI zD@x}hj`OAsPs*^GV+MxD5v9RV#t%mUi2`X_a?>l%;x~EHve=BH!#H@Cd$Tw~XoA}; zx9U~%5OXNqOCnM=tkB#v_WqiXnVNskE373(NYFh{CsHESO4kuP9IovGALnQZ_)dV(Ja4LKk-a0W=9}5#++Eea;gaXRsvDsO5%=go#2c2XtA+?9*j}!(K0y!LbN;zT38_Hfq>{yu8D%D z?VGJHkjgIL5)nL;nk4VOz(4ePv+ElHk?U$N-}{iNwvJBVWvsDDnuln`aGo}WCJAuC zg~=1t{00#_2I%tSALPOY1ftKHX;^TU$t_ZUXaETX+oVF;qsBRm45^^fy&7&ldr)EB zcJ7bbI@lxbx=J497_`xUp1&&K*e%Q{>nqr(d}XrJGDC6BT`Sq~j*AKNjuH6})v>zOMkxs)HO1c`UUN@qGm#OfB3 zC2nUN2~uu$`HcX7aOAV2Po8m%f~Rt=R!ow_MJj`Gmk_!fZqN{=HJe{M6Wq_L*f~fu_mBYqU-Dcs{Dk zz7_lQJC9mPxVD`woV)u1r_WW16zmK8m<7ZqKRqpD1&`iMp^MJKVZKWN^-{lKrZI!9 z8XH%KufCRosS4p&rKF*~VX;WBnhH4Uyu1oa1K*nK?Hp7>A(qT0iJ}RoXt*t=68;#Y zNhw${Fq3(hF!<5rSTs&jQ%Bf5ayvWHb=dEkD+>d2x8{1BSeF70fyn zkH{7#sYZPnaz(oYSi#@7%j@foEvoa)xn} z{@Kw{RAm0f7wE76*6IY`f}TYE`ZaZ#8Em}pt-PdcpZtPM857`!o1K$A_v!}Jyrb!=89Md>1+4(Dx@T%Hxtd{){xnIk?zPtY@ z)&(M92G={h5`rQ)U?j_zP5_qo{aWa{2LQl* zuh^f`+kcEq(03afMiAO^O$CHLX_GDmyMkwMFpK@>WJ2;Fj?jQKatFNLb2HgsYDe|) z>sao~*ulZU=F7yUm=&gd&t~AuLmf8P!1lkD2J4F9vacbPc{vx|&*u!eepk0k#th9^ zKTzM60$+7Ra^L?})&!N;J4%kYU&T+%@}EDyU0&89C2#^IwxQ~7$;+C%x9c82|8zTk zQ>T(ks&X(68hfR2E#@_(x+--Of$;ZKUmMo_RgqtN{r*iKg)vBEjwH4npi`262eV3O zt)Fvv!eXG{bWm_qG&o=Pt`V5~oVl172|}TSIWK+9V6(n1YwHc7Op9;3 zVRS-nObsin@(}GxX>(K35h#0rm@HR?<3jgMD3JTSP~@Kyjf1*po1cUBx9V#PoPQ#| zdFff3zeygV7xe^6h>5*@Y!Lpyj?>uM43lCdcA%Si7SNh-T5An_W*T8$$Ui0kv2J1P;xd<{o5LXe;7;d`^g99ezCO*lIv=E#3jld{%!;xF%4Wt zY!?#qAoD2hU)6UK`v};pGWXk&6yy{XUV>y#w5q!13|v8@>hFv(0Np&X6Qz=U>q@%W z?N5@=0HWuEXx%A|$hQ*-p(ZQBZYDU}CqSOe;=ZQtJ)f=;g61 z^ymBcZie=OHi`4=qVvMZt@Tt6G?HKTyV(_o>%Ja5RsoUAAV3L41n<=fL7`+1o)92G zNN(C=#`rn0S&OebdY(JfS$A);J75-0m=9-=e+3!7F7@}}%E%t8cTG2}pb4s&A~|09 z2U=PVx%<+9If0b2aqch64|ZpV5tNW1EG8|nwIh5vd07^AxG|?JoN6E;p@f$od)Ho_YmivyiTAmbN4gsMVS+kiW2@#@J>s~lNg-EQ1|5$dC z^s0hZ6{cz#BQ=B(-Nw0p&97j4}ehWD_YJ!CK>AIjXncK6r8N>?} z>ZqgZKKhY2iv<;0hI=FUsxzw4D>E(MzXG}XQcF`4-XHm|IgS|g_XTNN{PNgM2{iHi z@zxDQTtuf0o*on$SmV^-oqG$uFEzT@nO3V_oY87_kC1De&h&Aye z3+zUp&4TjU4B3(JJL~FZ&OoWNoS^!8?DH!eVU^N3H8ZgurRV5nzG%ID0{>EMqCe8Z ziS#2G_x*9*eveoG{v}#zsLMNbR=CFOriW+QC^BHhHAEMTe%3(Pi=j^&$2&E6h7Z2d z)6Q8&FiII~sZ+K%6l*PU@#MglQ&Uh@lqjId!E z)fE?aX>k#Ad`B_fX35rAA(Qc7r(+5FE;G^iXvRsM*q4;)K!CUfh~Q%v@%tGPCrJd_ zhFC`hb7)2IZj3Fd(Su=lm~O(wP5;qM_Z-ZPHFLcA1p3vffio*qeutJfL|AIIBE0Y3 ze09O`)Zoy!E8zM-saVylbfdp=iHmnX(u9%lS6+>FD@d@pt#P+QQR*ld$V1PZCx$e(Y;4mgILCxZ@4pquKX?Z(NCH2 z`CzkIU~-wsJck>8gKi!ui4tL2u;8GRWsJLgwHR@`9}hBtEZ7?&1o!l>Aolmg zqU7*!kZS@!ES6W~^eHvrbTdMNq7gtLA@z$WRdLB{^f=rN*FKovyLY(!$p7~F`YOGC}@?+Nu7_EpaA918Hgnn#fU0*YO~V^=a|I03HK_E zn8T7Ua+2DFEm;1)ObSv8F0cXco|C5OKT^=oPcb@)W0_DAS4mhrW{6+eSv-x1xi3DJ zs;){LS@Fj7;5X8tii=8qZsS*Lx26jV4S7gsbXf6L_k|?I(&FNLaoiGwx6R(*7^x(C z!m3G|P&5?2tX5X}xPonvcis6^3J&k-QMG0XxktRM&jjk2XLu{)lea5r2l>~8Gv=mD zeZJv6pg+pyb@u1elr2RJJAsiw+X?SlGQs5INMj;B+xBuVM z)^=R7OuM;^zn?FrZg<>jZNHBOd76nU=2?5`*P*r^W8UQf85E~GiD><$SVm@jIrcG9 zXwsep$gOPULx4W4t<){s93(8n#at@>EtH`++NYLU^hx7@eFW7D%@LIY6Fk9$m^Uez z#fzX!t7ssDYS~v!1;2PA5Y0WES)bh2b+8w^>=hs$_>wf8`j4_gb^e}1IPrJj(C#m4{O7!sRQ$+ z(kT`W)N_QAVU|Z}UO%baN}_%_V4))vQA*+(slnKSM>B?he>o^Ph0jj>E6e+R?+A;Q zA2}`1b`P_x#PrfI4S$&Te%}`+;8KY+PnpF3V{L5e(E$=zT5Ok}-u~=agseuGoLiTc zX`ojPvCP>H+9c{VQ%1-!8r5d48C61lJ6^$0*Y|p=^ zmgw1K#2^#vX!eWWNdq2VH}|4Z@7D*--Xt%&m|wZS3vJPff@&d13}j%gx9 zTrY58h;?~ihHN|z>ba860Ij@P!mrKl)Bn(CUGqQIh1(!#aqAG_O`xA*cRhV97u6zT z?R6BrbiDrgZP4BKo;AjdY<5K+&n7og44 zb-(ci687f5W(3@1U-o_2Gc)F9l=F@G)m!fOV!sdZT;1p7#j z(OZNjt^JSV}B@79M zLFTQ|P*To^`sn1Frd_dSYxo)#(n|ow*i!INP0!kc03W z29{s6pe_y1XH_Pkudj|6u(eRBgLL`4`QA-?vLf<%YBD&k;D|5qnh%=pHlj=hVaFDc zWRr<%)N}_3(enofOwSc1iv<;x&wTeCXt z-syzx;Oj?W0qVs)wOEuJy-x!9Rii;dBMQ=lEj$q}w;wI`3P7YI#K@P7o4g;0A`KZk z#t4olBcACzC!U;Sme^3kjS&4n~} z2rC!26IwalP~KkyO)U=d?bYS}e7_XxPoJ%AbgaIka^lyFgQ7L@+%jrdx_I%Ake}kv z8@8#U4GTU9#^ONsZP!twH~8Ik)^yCg{9TJ}NnPgfaI@_Gf#VM23NKI%c(vV~Owu~2 z2pqwt`5gO>t(b2hN5?pDqIDXZS#O4gLh=Pn2Vb-8SRA>}2qdL3kA|@skA#yN*-(u~ z-K8?&uT9#{bs{1n;tp1qk;>WaTE2s29}?1^^&dYfA2w|fa~hOeToZpSc@be(Kf7r)r-$%PUN6Rx+hu{+NSs6@9LrG3nYi-XOTlPsA%ltb{}?jLKci4@jq60 z>pO(A3~+hsMfmV$a?+0KXNdC-%{q=!jUibuCe5k+9X_k$X7bxs*)0Faj_I04>Z^<= zxbL$uGlOMqU(PUCMbuN)Q&GQjwIiBXV8B)yzZ7ifZrDfA5;ee~Jm&Be^LlGX`2tlYjmqs)7e9m@04vD^bTD3dvtKtHJ2vZke~V;&f()T_8(_ zv@MAknfVFGkMY6zDs3YGR4huZ5AmWCx5^pkthtEN(YpDX{abBNJP9YZ=;Cn{3L2sf z-|5@dC@0|3k3D|H`)~`*eE41!zm;L=76A_bt|GB^1`=|ipR{ckEE-)#qD&sEB|UcF zHSaSoN7AQLp>aF@dkeEWFD{%2Bj%-vE711yMxD8TS<%gm;L++*xT@O{+;@_boxR=N zYFLI9%2WTfp7DC4<>Z@pGs%d-0d`}l{1Yp_l<0S7?hOt#e=-aeLj(l9(6`s zlzFAk9p{M`JR&o$120LSjw-vi{u@JgI>tHi^5$4WRH;SuU%2$+% zpbfEpQpq$h8>OZ4^-}X_eumy7)cqwbk~|py9X{IOkQEwN_wwTX?ZT9B)=Vj?=r>x4 zn6_+js#)EU(8Nh6p(l3KQQB85E@iE-{Z~NzQ>+fi@SZDso+{VZ*B{(28QRt$=j5)J zvfD*Mbh123=M=OZo4LDRAbQsvg%tY|>QX z=(;mpfKV|V&Xz4Lh;T{0T$2?az!b+CK*gCnmZ&Q%_}}yQ{`tQK>VsF{y;p9)Q~BZP zTr)@5@Ug}1>8#8F7pbA=IqG+ zTvK&cyeRt_lv%vuFf4*R_&QIb+a@-EJWZ6jP5cK>5TGO7L}E@kV6q2N>~&DOKmPfB zTD0lbcFH@2Al|FL4YY;z53)Y!)F&#Q|6^M+YCKKAU8_1LB2fkwfO?0u;yLC0GVdp1 z%^M^P-JT#Ty=H0MMR{-~4QkV!8ViyI`3jY)i4+}dT-=w=G1)gBA2wPP{X)Ck=f$5_ zdZZ)J8vF|WXz?_OCY{4wi=(`tFHQihP_iK76B$o3z5@b*j!;37eFk@kPP{_~AaX&( z!;6St`G#f)8eix@?Qn7uZkqh(EA&_sw^Tt8cR;3Tr*9=2vh5=01CV{Me|35kO6RJN z^p2BL4|F9_mEb}c7ur9DR~KshQNRA`g7$;Gq>b$_Lg6_hs@3+QLUDm5#4}9#wkaM^ zqiT{7BHRZUFq{TNu`i8-v%Qn}?SBp_?>w!Ff!A2iy)5o!2NUR;MLrbI{k3qR(&iTU z{FyEtI5*>fN4mwBwK&c;gAab@t{!5W_x{@bmNV0UgjA6pwuGC;z)&8gA&%R#af{WH z=J$59?HQ17IJE43T%mJ{;{>;dD78=P{w2%~`U>kmFPd&$+tKlSwg1H@4Spu}`NX)u z)GY(`GT7HbJ=&3AP~5guiLuc7-koE(6F@Uf>BO3dd!3#qpilex^XF{k(uc3wQIZXL zpMSMZ99{#Z+IKL|@HD;(BC}0HclTrj$2=5xqCz4djKldmvFq~o=t>@EW7Xg?4kn;c zA@ua1_!Vgg(CrF}vmQU3iaK3M0TFRm*Jm^{Zyzkdv}kH$OzQgazpsL~fjCh~n}_VI1VZO#qZl z9e29&X`CP@Bkd@U*a&;I4KE_UBvMMP$WVKRdkrH|E;<^cSY1B$Q2kOwP>@=U{l>iJ z)~aEQ-jWM`=`(95_g?p0&c~6&eur&|BMBP@v9>Yvu(t`mO^ymiA?AUYm!f(##&&%| zzmMwiob@(>ifIdy0z~Sg6Igywlrd;)^u}H3+IXv$=7#%bR+Yq?A22X7ru;lS24hb1 zFjtI8p}w3*vY~{-?AA3mBfwkJ7Ug;LQjn6Ko}L0KLaDEFt-JY|;*V=cdaV#_3Tl2H zUdIqh!pwl4KtI1uz*@DHGM8V3R>|dir?%y|tm?dW<1gu~Z`<#{iQ@D;$AC69$^0)6l`6?&XCF6fz2r_I%j zd7)XLYZpV80iCN}9u{YYuCO)Ys%RXJ66Hz?=w!ORFAG*2Lg;>c%kTKKNcG&EdnKH3 zOz7YwWlwGWpXRrb$!#u=q51T=`>toys=+}lL`T=i=)maH4A?eJk%j~0h52Y*oiLuS zlpsXkaAzHOXDw-+q)evM(qaR%b_xjX)s045>_w)mxCi4V@=+{EW~dl3#e=lXtSE4o zE97Q?y7JcutQiY97(~Va3RnPy*U1bjP-5X_-E(esVEJJGBZ5^KHG&p_zVjd!1FJ5;3>Hm3Yfw5)Y>7?}z-Nm4u zxLu$$VlRO&I3A{_%6s7t^f-EX$!gZrj4Mlj6lF!Fe4(0)Z2MRG_i&gCeh70ILJ*!D z60rZQ4kXd_9bn9hpd41sLJ~)yeWN5RE1MOxC6{f-N7EZAJA3D_M!f-ZhVTOuu`!_r z&`s3zyy-vU4+kClfKi~^o&cNE0+#Y3C`xF$_5I8{s;jSGPzYtZjkhK0P!LWwy{@!M z)LIeoP0UOrx6rT1BSqDWy#}~S4tdsf*~oQJuM)K>PcG4#_Dz4r#*pJ*QUzX07ht-Rgd`aH!ANpK%o^N zlFN=COF%#{l`FcrvGF#O5a8j70F;w}oMn7`+?z?wJ5OFgj54l9P(Wa1c^OJ8>{Nn0 z?{`Z_L*k%?JemWNGWgRVNQ3SHzINO2e1c1JP~rxRnDbXk8{<@>!alT;1JREJ zQXgS2O%t-y_0Y6M5sdT(t8hZ=Hu;vgA;N~Pu8ECA(T6?^Oy7nTi}z7L(X`bE+efbg zC|N@(`9(!_O1RM^UlMucH3v}*f+V6F@L4h#rJPw=ER9>PuiYm!2f4pBr;LBj&CRu+ zYIE*>w4yR3uH=lJ&h0AA)82}hrNn0Y7kRBlExo3k30rto{mo=k%ru3|%%M1DX@~_9 zL9@Nh`@zxK`QEn+kbSuw^g3Nk%=PC0GTKiF^CwL>)a;iI{|475@z>3IVXR@h+6=F< z#QRUM5p5*ZC{fM(yS4s_@poSY-mO>%ucyXjUM~EQd$sZO)Y_4WLNT84Xo(LVvi-u_ zN>02cs5Cq{3HAfQoYd0GIQwKxNi4f=0RiXFB4zL+TCktJ%0Twy9K|z? zEAYxQ+S8<*;>iNZVrj^8zw+G&_v_bqKA;=)6R!J{!oR+J@7(--9=@$WksoT3qAX7? zhI0822;TZt>+6P)2WnoA6-rfFw%IX4xir*piPAafIV>L2TF&7K$tZBW31Jkwt9aZr znzUc{Ma!zA?Ltd%I+Cpg11!-v<%%&p!zm1(yx$|#sL0~LW2+5brm6~z)m@c3F}46# zK%$On^@;FzL10NpRj1>uKz4OmiM*YW-HXe*`;y^l5W7MT^8scz;!}KUR1T9)hkYm;elbjFhg=PB zLNScoBhSo1B3)4xK`_*!xE^;(suZzuEu2LMsLl~XYI6Xc-USjrNk?PM0TR}TUq@01B&DrDV3iWl43J*@Pr^(BcmWjwZiwLZl@EtC87UvykNQL(fBN1*1A^l{Eq3 z*s(0ZzrnctR+UTJZOC8gGTwJ;tS~L;ol!DL>z7uT=pkT8MM)0Un;KzwLJM<$6puk3 za&^Xovfp_GSGByJm|6v=3pP}bO_b^w3sIvK;voWaegDv=TlAZ36DDe~oD;?+7vM=o z0X3A}lP&|+8XycC`vS8*c1Zv=64V^L92AiAr^Mq*G9n~S_Xn7cnp-{f6=&>4mxFt*d5nvYe@Q^1!Q#k2(CFENC<{!0Fb;^Z2 zGp|m>)iQW>dzu{*RiMWTjnJ9+{fY+?NL-SAdKUzH$}I_zqwj8ncEZy4>y~T$J*#IB zuYafNwoGRB=I%v2|0tDu^}|ukzb@}#+a3%RN_gXLGS6d=FubX^up`BrZugFW1}uH_ z(Ly*gC#-%`zAMjktbkDFx5ydMa$G_R3@n4CC>C5)ipH$t=z{TH+^o`$Mv^d_@{KCk zkPOF|2)`1QO#WC#zGYGZX{9I%cXoFE95ci10dp3xSbSOOqT?1eE8LLB}U9mi3P)`RUL z1r=rV#HMmyA^M1*i$LFR{S%#kyDf-jQk-h5$xe&!JfL53S_>n8wLVC9$cRu~S>wuw zpVZ9jS4ZDmFo7CVam1Pgrw{F<6rXE4zzW%so#eNn26nI?*prfzhwR4G23d8{82`iv zs}GQUnjh8stdUt=_(p0WEM*F~!|-Smqe^HMCG<_}>Y1HsEeD#0!c{p7Z~QJis>{Gu z*1DK3anT-k5n*C*4)KZH+IK%Fg>W-;h!svwZm#+Kk!HTCiKu{A{!*okSntnhj6MFL zz<*gU3cQ&MWr;JeI@{%xXc*O8>_p^FD$169!PkZS(%!NV+GUC#F_@G(YkMRVd7N7@ zPW6iAFybhG6!3CV__|UXL6_Gt0pSN|R9;Y{y&kTUPRH~heD~p{PsHdy{HnDL%{p$U z&d=H4)cg#X;D&<~KO&ByioevtdUNy042>(&7t*_UZTh%@R4D~qQhA|SOxZVg6g~8> zqinv(w`t55FjCX0);a#BCFkFfKzYO*&S*sI*3UpDO{x&IK{U|ahyItw={~@MAbH%A zvHs&is4p_36ljwdCl$Kb*UAIum z^r=I?VIxxm1^h8{77EtpkO(I6=PGy`<>opT(Mkhr2LqXic+|7g)3u(!_hc23$Nz>M zn=b$*5M4(D(qD{}HlCDKu4X*dx^M`E)Vv86CST^nsOiTWx?vE+sAlQp{uvj8CkdY& zrnN(y-FT4b$QY2vRY0AttPriw{3!#5HnEbJFiahkqi>jrWLQZoCG_IrNWe-Ou*Uz$ zFmHdbin$NZC>XE=#p^SfFW5Eh@Ryi|)o?s#;NJlQ0?VIdAKA|q_uU?I-yd^RIr`Lq znnp>UBw<8~MY03>=JC;oEv=)qHP6)Egbyz43kTFN8)eRfmDafV%4VO5Sa_tI)&#l} zOCcvc(6wy${4)1>!~fopBf}DP^V>yN%ZBes?%Q#$7}dsQR621mCrV>uV_0U@G6=;V zKv6V(vcXM#s0Uaz@x_Xh_BujsG?{Ct^FMIuc)H-#8~+}o8bF9C`VcDm-(ZS3?TfhC z;dr!h>|;3rdp!$J8+yPGazzrs76pm)NH}XXc<8RIe-6AS9)euuKml;)sIR97Xq-jg zAE%tx+X0pnXyJOEXk)@rS%86QpqtsJNtq7C3ag5_#YKGjVz&|@wP?)7)w2q2%#q)J}kqisxn6VfvKJ6tHk5jKxxiH^ro+WV6eZhSa_UPmkh2pLuqMIE9clN`8mcBqQ zCwQF=zOWQgc^uye=M8Y>o$$Rmc!FPdF39daX1I2QtK|#BlPt}uRVYk2A}oeAk+DL zqig((PTuYQ+;A(r+LV{uB!E=Nn7Khkqr)wWS)I9~nlad$x|Sq~R{n|}lLo5@`tsdo?BYJe@x}c2#mnTyTB~azFdMgvyb=t8@0E!${%eH}2(1 zt7L@#Ik^QYC(-wp>u{ghJm}HH<}VYw+v~bhgoTeue+{KhTx}HQUE;q}0SuFaZtS6s zpy5YaX3~Bnt$;qq$wT+WFatfkHsDq`5D2<2ZAT+VT!9wLzya z>n0ysW9YGX&C96^mr^2u!C%#YT}7wh<6Te`7dRV!DzNS{_x05J$J)>0Uho`TIZ<{r zcWxY3ctk&z7K@Iy=Q%6cq66=?M6{u4Hb2s$*o0xZ&nMCX^&CSN(%10F)AMskpYrKo z8_=gLVX`yw*mM$B`k1yxXS9C*O2BTk2FUAx@^-}mf0}nVaZr0LO}Uhb;oqpYn_h3G zZ_q#J1KOGC7POlFQda{LlooRo1nUaPBK7j=VaX5`f1Tly^wAh#?x79eTra4#CWagk zdD6w;biDG?sTW=FataMYq8hJHbGT*SMLGx+lq}KVEL!(C9 z;K68-?HBwKrt!kW@0_g_zf~1nLwKZ?Aule8!+bshb?8D0@bFT>+0zR2UsB4=tRWD5 ze8b@nQpHkisq~UA;+O^o22kk_sT^o}zktSDFx($8e8F)DZwL(^rEGZ5%hi`1sLk`T zP^>cEJbIyz@x2}~d^(Reb1I^bd&z(j-exh9GvXI1yLa`?kEtwqJjFH!6I%17K2^_o z{$$Fw?&^pkm#{C#ECvRFZuAo+f@P@fhc1=@YAtDX>~G^!#~%Pa2EVNA!^d@tD($&Y z){h^Lc@6Sir;vh;b!6Pc6;gqT>GGE|V4_nc@M$ik4pr3#zc6!}uesUfQ|X1a4ic7_ z=_GFWJ{f8vAn(Tj#hsx@_YPTbsg?bV_rW`=6Gp;A)Jla<8gyS%N0YY_lkCdDBrnjY z@*Sl0ln}sIQf)WZMjb~P;6NJya%0a!?nbA0U_zzL0je?rOPtTIBjqtu`gzMQ%*9E< z*yK#vUrhzYq(YIErjOFTn~+(|05}`1RnG6H6{cUf+$0~-J9@#ZA8j30#731dgLW6f z=9bxdrW&D45F-?r3s%p#4v|fy);zT7rV@^2H#0;J->h$xACsRZEzJ{10)g0lokL literal 16984 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 diff --git a/Tests/test_image_entropy.py b/Tests/test_image_entropy.py index c1dbb879b0b..a0230dff5c6 100644 --- a/Tests/test_image_entropy.py +++ b/Tests/test_image_entropy.py @@ -11,7 +11,7 @@ def entropy(mode: str) -> float: assert round(abs(entropy("L") - 7.063008716585465), 7) == 0 assert round(abs(entropy("I") - 7.063008716585465), 7) == 0 assert round(abs(entropy("F") - 7.063008716585465), 7) == 0 - assert round(abs(entropy("P") - 5.082506854662517), 7) == 0 + assert round(abs(entropy("P") - 5.085630558679487), 7) == 0 assert round(abs(entropy("RGB") - 8.821286587714319), 7) == 0 assert round(abs(entropy("RGBA") - 7.42724306524488), 7) == 0 assert round(abs(entropy("CMYK") - 7.4272430652448795), 7) == 0 diff --git a/Tests/test_image_histogram.py b/Tests/test_image_histogram.py index 436eb78a26e..864af4d8423 100644 --- a/Tests/test_image_histogram.py +++ b/Tests/test_image_histogram.py @@ -14,7 +14,7 @@ def histogram(mode: str) -> tuple[int, int, int]: assert histogram("La") == (512, 0, 16384) assert histogram("I") == (256, 0, 662) assert histogram("F") == (256, 0, 662) - assert histogram("P") == (256, 0, 1551) + assert histogram("P") == (256, 0, 1557) assert histogram("PA") == (512, 0, 16384) assert histogram("RGB") == (768, 4, 675) assert histogram("RGBA") == (1024, 0, 16384)