From 1d20056234d7bcfc64aa14e74fcf8e297ed51293 Mon Sep 17 00:00:00 2001 From: Daniel Plakhotich Date: Fri, 15 Jun 2018 23:01:06 +0300 Subject: [PATCH] TGA: Add support for writing RLE data --- Tests/images/tga/common/1x1_l.png | Bin 0 -> 67 bytes Tests/images/tga/common/1x1_l_bl_raw.tga | Bin 0 -> 45 bytes Tests/images/tga/common/1x1_l_bl_rle.tga | Bin 0 -> 46 bytes Tests/images/tga/common/1x1_l_tl_raw.tga | Bin 0 -> 45 bytes Tests/images/tga/common/1x1_l_tl_rle.tga | Bin 0 -> 46 bytes Tests/images/tga/common/200x32_l.png | Bin 0 -> 385 bytes Tests/images/tga/common/200x32_l_bl_raw.tga | Bin 0 -> 6444 bytes Tests/images/tga/common/200x32_l_bl_rle.tga | Bin 0 -> 2714 bytes Tests/images/tga/common/200x32_l_tl_raw.tga | Bin 0 -> 6444 bytes Tests/images/tga/common/200x32_l_tl_rle.tga | Bin 0 -> 2714 bytes Tests/images/tga/common/200x32_la.png | Bin 0 -> 2137 bytes Tests/images/tga/common/200x32_la_bl_raw.tga | Bin 0 -> 12844 bytes Tests/images/tga/common/200x32_la_bl_rle.tga | Bin 0 -> 12900 bytes Tests/images/tga/common/200x32_la_tl_raw.tga | Bin 0 -> 12844 bytes Tests/images/tga/common/200x32_la_tl_rle.tga | Bin 0 -> 12900 bytes Tests/images/tga/common/200x32_p.png | Bin 0 -> 4054 bytes Tests/images/tga/common/200x32_p_bl_raw.tga | Bin 0 -> 7212 bytes Tests/images/tga/common/200x32_p_bl_rle.tga | Bin 0 -> 7778 bytes Tests/images/tga/common/200x32_p_tl_raw.tga | Bin 0 -> 7212 bytes Tests/images/tga/common/200x32_p_tl_rle.tga | Bin 0 -> 7778 bytes Tests/images/tga/common/200x32_rgb.png | Bin 0 -> 5236 bytes Tests/images/tga/common/200x32_rgb_bl_raw.tga | Bin 0 -> 19244 bytes Tests/images/tga/common/200x32_rgb_bl_rle.tga | Bin 0 -> 19308 bytes Tests/images/tga/common/200x32_rgb_tl_raw.tga | Bin 0 -> 19308 bytes Tests/images/tga/common/200x32_rgb_tl_rle.tga | Bin 0 -> 19308 bytes Tests/images/tga/common/200x32_rgba.png | Bin 0 -> 6759 bytes .../images/tga/common/200x32_rgba_bl_raw.tga | Bin 0 -> 25644 bytes .../images/tga/common/200x32_rgba_bl_rle.tga | Bin 0 -> 25708 bytes .../images/tga/common/200x32_rgba_tl_raw.tga | Bin 0 -> 25644 bytes .../images/tga/common/200x32_rgba_tl_rle.tga | Bin 0 -> 25708 bytes Tests/images/tga/common/readme.txt | 12 ++ Tests/test_file_tga.py | 66 ++++++++ setup.py | 8 +- src/PIL/TgaImagePlugin.py | 15 +- src/_imaging.c | 2 + src/encode.c | 32 ++++ src/libImaging/Imaging.h | 2 + src/libImaging/TgaRleEncode.c | 153 ++++++++++++++++++ 38 files changed, 284 insertions(+), 6 deletions(-) create mode 100644 Tests/images/tga/common/1x1_l.png create mode 100644 Tests/images/tga/common/1x1_l_bl_raw.tga create mode 100644 Tests/images/tga/common/1x1_l_bl_rle.tga create mode 100644 Tests/images/tga/common/1x1_l_tl_raw.tga create mode 100644 Tests/images/tga/common/1x1_l_tl_rle.tga create mode 100644 Tests/images/tga/common/200x32_l.png create mode 100644 Tests/images/tga/common/200x32_l_bl_raw.tga create mode 100644 Tests/images/tga/common/200x32_l_bl_rle.tga create mode 100644 Tests/images/tga/common/200x32_l_tl_raw.tga create mode 100644 Tests/images/tga/common/200x32_l_tl_rle.tga create mode 100644 Tests/images/tga/common/200x32_la.png create mode 100644 Tests/images/tga/common/200x32_la_bl_raw.tga create mode 100644 Tests/images/tga/common/200x32_la_bl_rle.tga create mode 100644 Tests/images/tga/common/200x32_la_tl_raw.tga create mode 100644 Tests/images/tga/common/200x32_la_tl_rle.tga create mode 100644 Tests/images/tga/common/200x32_p.png create mode 100644 Tests/images/tga/common/200x32_p_bl_raw.tga create mode 100644 Tests/images/tga/common/200x32_p_bl_rle.tga create mode 100644 Tests/images/tga/common/200x32_p_tl_raw.tga create mode 100644 Tests/images/tga/common/200x32_p_tl_rle.tga create mode 100644 Tests/images/tga/common/200x32_rgb.png create mode 100644 Tests/images/tga/common/200x32_rgb_bl_raw.tga create mode 100644 Tests/images/tga/common/200x32_rgb_bl_rle.tga create mode 100644 Tests/images/tga/common/200x32_rgb_tl_raw.tga create mode 100644 Tests/images/tga/common/200x32_rgb_tl_rle.tga create mode 100644 Tests/images/tga/common/200x32_rgba.png create mode 100644 Tests/images/tga/common/200x32_rgba_bl_raw.tga create mode 100644 Tests/images/tga/common/200x32_rgba_bl_rle.tga create mode 100644 Tests/images/tga/common/200x32_rgba_tl_raw.tga create mode 100644 Tests/images/tga/common/200x32_rgba_tl_rle.tga create mode 100644 Tests/images/tga/common/readme.txt create mode 100644 src/libImaging/TgaRleEncode.c diff --git a/Tests/images/tga/common/1x1_l.png b/Tests/images/tga/common/1x1_l.png new file mode 100644 index 0000000000000000000000000000000000000000..d1a2cb813286e2f4a54d9b2f5d46c3a52af6b49a GIT binary patch literal 67 zcmeAS@N?(olHy`uVBq!ia0vp^j3CSbBp9sfW`_bPE>9Q75RU7~89;UuL*rfNtS=y0 MPgg&ebxsLQ0CxTj*#H0l literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/1x1_l_bl_raw.tga b/Tests/images/tga/common/1x1_l_bl_raw.tga new file mode 100644 index 0000000000000000000000000000000000000000..c79e125eaaafdfb6a3c4457fd0c6acfce6336408 GIT binary patch literal 45 ncmZQzU}k^;Mg~R(4u%F8HzX+3HOw>E)89`w!p+miRgVDxLW>1? literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/1x1_l_bl_rle.tga b/Tests/images/tga/common/1x1_l_bl_rle.tga new file mode 100644 index 0000000000000000000000000000000000000000..ee1a7d2d8b8e75e5ee8d607e2d4a56ecce5e45b1 GIT binary patch literal 46 ocmZQz;AVgUMg~R(4hDt>7(XN^)HTdA*wf!nH^R-+$5oF307Ll&fdBvi literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/1x1_l_tl_raw.tga b/Tests/images/tga/common/1x1_l_tl_raw.tga new file mode 100644 index 0000000000000000000000000000000000000000..6c99687582a1b99d1fec9db269c4e1aebe184051 GIT binary patch literal 45 ncmZQzU}k^-Mg|b%P-uYi8A5_WUBf(sJ^lT3BiuZFT=f_LMlJ=K literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/1x1_l_tl_rle.tga b/Tests/images/tga/common/1x1_l_tl_rle.tga new file mode 100644 index 0000000000000000000000000000000000000000..efd4e3af40a95146ee04fa632ae9beff9c4a3d18 GIT binary patch literal 46 pcmZQz;AVgTMg|b%P+(|)3NVBOg}R1$27CJZ=|;GD`nc*b002k51)=}| literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_l.png b/Tests/images/tga/common/200x32_l.png new file mode 100644 index 0000000000000000000000000000000000000000..ff37cbe30a9b570d6e02e37af8fee990e37679f3 GIT binary patch literal 385 zcmV-{0e=38P)+5Jt~f?%M~@_kS=<`VKW=dVzo_yY8-?q-kLi@#jKM&NnK;uN=B8%ks6vk>p}( zG#l}wDaeB=ZfGcNQG_HN(T5}>^JM$4bx*~)2F)7|I%2FchpCUs$g>)D&3(|Z21|s& zI#+d%oND0qTed(X9m5(d5g4p<)r{7jrR-=mwK64I`9RhdvCdVA)*Y5+oV1;(q+|7= fL;Q?*dk($<(#mIgWB9lR00000NkvXXu0mjfeTk}; literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_l_bl_raw.tga b/Tests/images/tga/common/200x32_l_bl_raw.tga new file mode 100644 index 0000000000000000000000000000000000000000..e629910a080db5a7657797196e4cdba8134a2b6f GIT binary patch literal 6444 zcmZQzU}k`U6ATIr91Kh>?3_G&0>YvaQnK<&D(ad#dWObk7FM?QPA=}AK7N70p%GEB z@kuFZnb~;-#iiv{HT8|nZ5`dc{gb9ln>l;#f<;S~tz5l!{iZG3cI?`-@4%rW$4;C& zbN2j&OP8-)yMFz~&6_um(E&jGAt)>+AuX$*q^ho^qYv_jwXK7btGkzve_(J}M09LI zQfhi;PF`VgSw&TCeN#(&XLsL(NmHlKnlo?V;-$-1ty#Bm^VaPaq7c^PTTd-*9@|A1WZ2(3GI8`CMapNY)7xy1LeE9g-szREAK4gE$$SEqTX=v*j z7@3+|+1NX}K>QIJ9u*Ux2+1BrknGU{${wI(H4~hyR;*gPej_kQAJHtTMyw6Pj9~fST+Y`4`4P& z${v%aLX#CRmv7j#1(G{J(E;_woxArRJbL`(>C*KimR*~ST+Y`kDmUCpi+0<0&r;sO;*4%7aAQ9Z#;hT?D@-AuU)&jI;kfwHLgI#)z01f4uG;b zBzu69)r(he-vhnz<0sG`v;|oFf!-`ZuFgsG$Fmo&-+uV?_507?k7?fCMUM{+E$aK@ z*B@ZZgx28L`#}l*|N8pj_0tEpuU$NI{Lr55o7S#aJa6WdzRs5Vs?vh&)P(4;Kp%G} z8*?LF4P`k=5k5|q`-2jY?vL|>5|HkX{eu#a?vM3@5|HkX`GXRW?vMUK2}t)x{h$P- z`y+o)0@D2vKPUm|{_r1^fOLP@4@y9~KlBGBAl)DGgA$PL5B@<3NcRVI2a~8}8u|VR W2?})$^9=U%_tTAV^Yn4mV*mg@ChqwF literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_l_bl_rle.tga b/Tests/images/tga/common/200x32_l_bl_rle.tga new file mode 100644 index 0000000000000000000000000000000000000000..2e6f9377b75185d286efbd3b11d33bcee62ce240 GIT binary patch literal 2714 zcmb`Jc~lcu7{y0+M8ySn1QZusfQk!^q9}@pBFGX%5ffxlM1{CkT;fEmYeQYeipnA) zLKH!2>n;@QXj>GaAt40FGVC!zIZ~_bIrP1mNfWgG;T+%p_x#TH-Fv_D5X1`6y{Cu+ zVu3^$nV4Jl>DPbI;9(<1*^e1JVd4~*snceDIctum*Fqm(KmWjBcG#*2&f4hMxcJS9 zTet5_+QUZ=e0})XHz_AipGiHRmYJ2ElXo@0py=k0x9{G6SW@~k{`A+fXXP&{e-}$o zDN-$v5jcm!3>Y+I*vL^1W5!LGG{qHSX3v@DwoXvri@+7aULriw*wmtT zU+aN3Lv<`?SGVczERVVK7c5%5blLKtkQFOeuZfI`T_3+GVav9iyY}ou4;(yvlwMwX zX4d5^dDpHNf~m;e=~2}(K&n?LQI!#ai|TkrLJ`i<<819lJC1jn?EHn>4EI?cp7R${ zIQEKFt2vRBS6e8rlA%{{iK*lgb4B?DH-J@eGSaE%FDk{7>Kb`ny;6m$1%weU63W@e zJiy}`n^{=(?LTnv&=I!wqsNY)IN3$d^Iht{T$c@K8pwu$X{RuHlOP&}MK>wW;B+*u zwoai`6AfsiX%iSv$dj>5*bo`{Kgek_4C6@UBwCk~-FpqpBhv^M3St7n2)qMXgw|C_ zW%4?OO5M=d)Qq;6l1R4H)|5p;xh7_oRv&f%hLi4qE}R=S>JkH8Jf3m_Rvo-;db^JvgW7>nftR)Q zN_9h1ORMH3sx_mrVq0^B=Ei+Gmufs!MYhE1~&#K3D^o|RS}KNtr~562ij>uQmfgt zuj|O$#*~?sk(Etl3AUxA6r{K8IovNu5?C)p{?Ylm3nFWHRC;4SGY}domdND5&&KAq zm#;cHU;p_A0BeP0KVv?Q`|up->q#9t*cEtEVQlZ*dsqVVL-|Oqw53hk4rqV9CGdI? zJU-Fy!`?r2hPUU_U`;I=ZAWL6*G|)USnJebXL}riK kGm%+i)=XpwhA@!n{+=O0Z0}ItVBY|L=deY-e%>y~zm+&J82|tP literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_l_tl_raw.tga b/Tests/images/tga/common/200x32_l_tl_raw.tga new file mode 100644 index 0000000000000000000000000000000000000000..f9ed8b9c2248cad9d81f3a9dc6672b2a14ae3ef6 GIT binary patch literal 6444 zcmZQzU}k^-1%?w03Je?yQ0^e3{{Q;=;q}u8x3671bNtYr?VHxFSUhj$l)lcE`l`}` z?9_zlus|PoCmVAkT@7V9NfACy7XCpANcV^Qpai7*Lw`^L(*0pSC;{pI@E??bbbrJT zNRX5|HkX{y_;y_s9G}2}t+H`auau_s9N02}t+H`9TRt_s9J~2}t+H z`#}jv_Xi6*Cl8;Xu$Y9jtb&rNhL*0rk%_sbjh&;jn}@e=Ku~CSR7`wgN?K-iUO{nb zMOAHmQ%ieiPv6AJ(`L+`yI|4M<*U}L-?(Ml&fWVC96oyD)YJN1q_~YmA$H!<5R$=%fz<<9~2TE855V7oR*QDTToP5UR6`y*wWV7-8W(K)ETqp&R?`-`N}ox zHg4XwWB1+zhmIaUb>{rVE7xw`zW3nK)90_=y!!z3$akPW`e+FXsqc@IXU<)`eC@{V zyZ0YGdG_-4+xH(oefbLVMGmGk@WdWh+;&+pu}-j$M2AA3AdEQV z3zX5HJ_mW^!>3PRe}vKsSVH{4#>vemAS@~&B`dF_qOPf?($wj*!2VdVdhLcyTet7pv;W}XV<%2S3as0A z9{?ld#jDqE-@X3;@rNaCfDF0*XlQQj=<4mCG-dkCIrA1SUbbS@+Vz{ZY~Q&DQt$#Z z2ryv*BLwV`m#^QveGB!63@rcyL4UZod;0hV28TsN$0j7Drf22k7nYP&R@Z_3(bGS1 z%CwoY=Pg(at3bdR{m5}p!UEMGz#Q`M@snrIU%q zuc)G?sjX*VY-(X;Ywv{OkCgPxoV>!~vWn{3hNjl`E<{BLEwF$Y1d_0THQ_~I4gq`Q z(UYgop1*hj@dqtp17s#7U19Nuk*T?rjlH9bo2R#5KyYY8RBU__*dIt0I=tWoXLMi& zfg~(o$qR`PP|CV{|G}fjPo6$~2KEPSatFv%a6V^d<>2Dw7ZMSdl#x?ZR@2bdHGumA zqhSKCK%f~NoI#d?G6=9`0!&!@4<0#o;?x;X$^v@i_T76A9zJ>mY?J`YU0Rh^Aag!dxMW8=WDiC;q1pIXYH*eCqwF@#IR;Y&rg}R1$27CJZ=|;GD`nc*b002+??>PVf literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_l_tl_rle.tga b/Tests/images/tga/common/200x32_l_tl_rle.tga new file mode 100644 index 0000000000000000000000000000000000000000..03c797e537c7868b9ecb4d48961c52f88251e5f1 GIT binary patch literal 2714 zcmcJRd00$)9LA6KL|L*#DssuCQkD!6U6n{_nM5*^HVHMzk|ifuvP_l^vJ|ppNJO$k zR8C1(TBm86r8!O8NZlS?mwTV5`#X!NuKaP2d(Z#x^Lf7C@B6;L13@|v`I$h4kO`z^ z(gh)qRo9o!c7Ci`o?p z#~z3~!aaTpIeYG6@|CMMZr;9g@BYI_PoKTWeN|9YTvA$5B@l|GGI?Xm`w#7a_6b9I zwOmyWz=izBxYxyROUtXOg(8WpzM)ys+V)$=$4-Fb)^OCAIMDxxfESW4U%h_w)}6ce zGao&9mXn*0zJBxeU3n$H26u?O5hu389cnm{Q_WOo5X?|D4Q(CWK|_a)95u#x-1v!; zrdU`_n>lOF-1+tnPK#aK+`YV4_^xIL1g%}SA$-%8Z98`Df%hFabmZ9algOEK1T*zk z+TD!ItS8wyFZ0mCH>4|tA}N@%sYTKHp{<=jGOHLGh9uPg-$VEA+kfcrvG|h-XA&t&l%O^%-ovdLB$ZKNs0mSA_V>99ot#}<-95d1eEryK zffRUqm4{V`)Jf2 zg`hMq)7j0{+{e+`#lZsl8>dn* ASpWb4 literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_la.png b/Tests/images/tga/common/200x32_la.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c4f274f8598cbcc69d8d59984fa4bfa3d0e503 GIT binary patch literal 2137 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�%>GWEEstEK88^?90rADgo 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 Y#EfFXV~33%Mvn{}J7ic?cn{?N0X1EqLjV8( literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_la_tl_raw.tga b/Tests/images/tga/common/200x32_la_tl_raw.tga new file mode 100644 index 0000000000000000000000000000000000000000..6af1fa053b0b157f46e0e2c3cfecfa7a2cda2523 GIT binary patch literal 12844 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 NXym}bu~FTT{|93ljuij^ literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_la_tl_rle.tga b/Tests/images/tga/common/200x32_la_tl_rle.tga new file mode 100644 index 0000000000000000000000000000000000000000..fce83e3cf010cb970a3dfc557bdced122794d775 GIT binary patch literal 12900 zcmaKzeOyoX|Nl=kt!W)inm9VqN?1;d=tMg-i56$k$yMtxX5h1&N0?T`1Z_xpX$>-9Xh`yS8d^YMJY zAV_nh=09KLDB_E>2o#X#$TQ>#@(6i|*vNh44ssi*LM-GOQh{7T%8_$O8FC6aiIgJ8 z5FI&$96&T=FR~liffOS}$QEQ1q9BFHI%F*(BP)>tWEql=EJ79{dB}WZ9x@x5h0H*v zBh!#ikSt^p!Xq3q0ZBztkYr>G!Xk;t2xJ(-AVUxu8HB_j1CS^r66u3PAmK<)qz4j$ z1S3I67bFk~K>U#Qh!4^h@kU-pJP{8BMcj~A5EsN5X@WSxYcs?Zp3WUk!%P*2OeV9qko}K(I@C*^db5Hy^r2SZ=+RcC3+35Krf-?=sC0u zJ%ye`OVMMfj+USY(0%A0bT_&K-G&ySD!K_(&_Z+_x)xoHu0#varD#677+r|wp$pJ? z=p1wwIs?r?r=i(s7CH&#(R6eInu?~N$>3?S%THerS8t2gOit)C=`QJy3Vl4SfZ5L7iu!PRVFfv>ECOpSYtf z;9D=asx8_M^@Y3q(Ll5_tU{n6Xm_+H8jkjc9r~jEV7D09bub!-#-j-k$tZ|uG&&Zd z8;_=;6VVJb6P=7sf#`GKDRR*|AQAvsQVV2NBOpZpWXG!A{{mv9odF;h8Ugv)0py_r z$W!mLCzk}bxt8fdyhF9R1@N)bdUWT8>PvWKcF+#7!#_ryJLciatk#a(b`yb11vH-*1mhELq#o0hm2-Wsm-!F}-#cmUkp z84tnk_aJF^k{ z@Y#RQbx5R|NVP-?Kq8HaeE;n>AW|ohgAR!tcSxj$$Yqd-Su2qmBGnRk;!{oJ?;42+ z#9zcS;t%36@sO~Id&C{$7Ewi164!_d;xciOI8T%jr-_q9DRGq0i9^HzVjr=W*iGyp ziixd+N^BxF5{1NiVl5#PD~JMODUnYsCKeKT#C&2NF`LLGW)RbfX+$=WMPw2@kxrx$ zsYD8qOpGB|B9RzD3?mp~2tgBrh!|o35k*82eTWF67ZFDEAVP>>B8cch1QG#+AJLxh zA=(n&gcspScn~PzMz|8q2xp=R;Y2irzg&stggeoKXbD%ehAZ0Qhj5Z0tg#SYDukI%WDp+{lOgnJL=HSgE>T0| ziw8ACzN$@HYawZEfTZ;uB(0)GL`pu>Ym?Rsja1YVX_&O0zDQaE^_+T2J)s^^4=J0v zPu-zzQ&p5jnN$UJnJTBwQ)Sd?>LgW49i?=tggQWJ)Lv>gwUa8QiYS%ZOes_$wT@a# zt)^B|1=Lb1pISsMr1Gfw)I4eqHH(@-O{b<&*;E#lN%0g%rBSI=3YAQap^~UXY9uv` zil^czni@pKPy?ubR3t@F5mY!8Muk!#R4^4pb)f>O0O}2@J>^5SrMxLG%9HY-P|A&Z zg=$7QQ%xu*cx^_#44=4DEvS}og*RO3L-|sElt0|v8CD@+weD0;Sh+Xs5D7c=rv_57 z(bQmS2sISK7y;oVQKPA`5Z-tQGabUsq$We?)2JLufJdn&^7-Q$BGp-|S|jpLYma>6 zAW~gMYKT;4tslkxjmk(})~X>=RbNJ`vsSf6>dS~gKc}D3f6$NVhx7ybK7EJ2MOV?4 z^fkJIzD!@F&(mk<)AUKYls-o5bP0Wc-be4DchfuQVtOmRh2BJOqzmcw^jcb`SJDOa zQaYbrOfRJK=mqpVdNw_aoag$|?xXg|6=?L%X1Ob*IqgojfNxvTt?9OOJK7iS@`t-S(?PIO2pvlIgq3^K6zmd3N5hV>(KHR) z$3qw+Aer_wp_7`gOkwS~Q|j?`tX8X_+=Qd39jh#a4M z5(@hZBL7v`8`cr_Is24-!aimnvJcq%>>c(tdy}nXudx;EWwx9>$Ck0D*b{6idz97L z67~SQkKN1u!0u#=*&~#lFM#VI$aHY#1BLc4LFt zu51@Jko9NZV0~F17Gu5H*I7^YH5O&vSXZ_g`x4uPbz+_2FIToX>&~`dTe7X#)@)n0 z9o*pucLuVZ*&vo+Ltw=)Hk|FvQfyzg9~;dMWMiY*!E78mluckqu%p-{b~HN{!W$1^ zrn4DrCWM_0;peado6COIppLxINOh}KowZ(Qq^6F%AX43GRTHUhwQ4j{-D*|WkzZD&Y^mHUuO=04z(xI}IQH;iMrIF9CGxfpH$*N=&kWEI&lG< zALq;YaBVqn&WrQpJUEnd<6hxhxR+*fPRX1z*Nk)Jnse@43$7(x(HgF72X}Pf{JB7` zGZ(}WTnMb#lMCm1!w!96r~ceP*mW@M9?vB}B#98wXoxHYB20rwGa%wDE}NSQPawdP z)U;YJ%1BMpS_4U|VeebhYW?WweRbi;)E9;Q1(52b)wr<#Szp+N=fX4LiSSr>C_E7E z3wMRvLX}_%*Mth;vQRFZ7s`ZF!bzc2I3^qsN`wQ#K4Gu$gRoO57Pbniut`vaLSenI zR#+{p6bgi;LcXwASSaKP3xs*XY+;r#Lzpg16S9RYAyeRmbRkVh6;gy`;RAsc5`_`M zFd<$TBGAGhAx4N6qJ&6+65bZVg)pIq5F!K%K|&WHPzVs-5PSt60Ta9hFTqpr5Znbf z!Bub(oP{QWlh9OXCcG>(hfh6(mO?AIs;$rt?&u)+3mt{duu3qj7Ao|Fl_Ow>NTDC> z79+$)3xkC?VW^M*p(F}P!WdyJgqI3orVAMmau$R>Rmg$I$Q2qE_PXY`VHr`ujWlev zUbvC}tFZrvL!r2QYH6iZAT5>hrA3k?BHQmE8T3YLPT zE>fTrAo)q{B_9csyrtJAPsu}am)s;*$whieY9cvFO{He=t~q?#LTV|sl3Gh`;c8#F z%U|j!b(Y?g2q^?s>?wsyyPL~21{`eLV`2`!by@wOJgCt@et-jDMR`g z!p@eaN;&Wtxl+UCcgeN7R_jI5Qvbh&{j9@|R41+L4uAO1q*d4a%74kv;$jP@XRR7LQtjCPt&y7!$No#uzYU`Lm-S}d`TA(gd^VLP_ zLRD1ftMk;^YOXp%ovuz(v(+qhlA58Wt7&Sg`k|VvexS1I`|1dFn98U_R9YRR#;60- zDD@qcQX|xGHB9ZHc2k4ZAhnCyNexi_)b^^6imBeJm+Gl{sHp0ux~eYfOKKC#A!?}FQzc<_N{v+esnO~{_1$Q7uo|bv zs|gUwC^bnPqmETm)bSAJLr@YvtNGtxP+uozzOTW16lV z(hg{vwny8o?bM33B2CpcYl>E=t=HCStF@Kd*V(5uwUOE|EnXX<(ORq)qYcoaw0E>VT7(v^g=wK$H!WBT z(zMLbUE$PguFPMrn~+KP_4tsKrLZ)^XZUEkPThjna}Jtg#SYs+Oir)H1Y> zwaF0rR4qpnv|Q~)9eJUV8Y0z|y{7rCn`-@EcBJuCtEP@Lwj;)0#xvs&@j{Yb{fS-k+H?tY$!&dvCdd) z$i_HDz;!Szs1Vb#eN4>sHoZ(w^EK1mbTeNuUCftenoh~4 zv)Rmi*=!DquuDI)zd6v1H3yq< z5J3V&GRjOc$CzUwy73TYx|v~Snv=~b=2SDs6wF++8puDBR?Xn|#SEoRBKsVUy$(oC z8F|tC*13_o!EZx1V*h17v!B?H?T7XQ`@VhGzGYY0mG(9Js(slmx6j*U_9^?MU1}e* zb^DNgz}D=&_HKKJU2GTGs=dkHXcyY+?6vl4dxc$KFSYaSMYd#%_5%BJdyYNJo?%b7 zr`g$dmYr$ycDg;mPPJ3)WP6OAWGC7q?O}GjJ;bK%L3WHiz>cybZOV?Yd)Z-jsNKyD zw!7M0>_9ufe#35W``DQ6ZF||Cwug<{uiCD*i|stqc1pIL?Pl=K&33n2*e&f=a8(<- zo$YIPu>Ilg&UO&26k>O`d)nc4Z`dKy?q~Oh9b@gmcAP!bPOwKnH1FG^A+mAycstFW zXlFpglkF)GeGWWDuHCS%H=e|A*!ykmBz{}%B))OZ`mehFPdDu1^HRK4xWdLCUh!{Io^s3p4UE7fha)J!k5y9B?DK(?0uTZr10M zzTidf%L$89zxr@l^4DWlva1u;$yT#EvqIO5_>9a3le|SmQ;n1Vq zjt8FzGP;}zJR5M~jf=ile6C{Gy{*@8dftBRuKRtr2d_MIdHm87r)S9XrdBh{)pE05 zwOUxOSzcCatF6_}^0hix{#Hk;vlV0oTOn4c)zc!a-WFv=T2WSiYoHa|&l+sSS@Bka zHNr}?lB_Y-SS!U!wLY>YS{YWRm1SjHQ>`3JuyU>0)?Djz>kCV=zO?eKrPgw5g(X{S ztaa7~>s#wPYm4>0wawaL?Y8z&a)H-gRuufTLtaH`{>ylMrnO3EB!@6bt zY~8bL>sRYH>v!v^_1ya3OzUq%|66c=4n+O{BELC^+--g91(A;BozK-0`KjkI@<{Iz zAhORvWCsu_au8956^>l@FCrok`5cJk0+Adbk_|*Mfk^t7Y4t>s{y`+BctAaoUO=Qr zJ&{g8#P4GJS|VOITi*6?5OD<}&QF>=b^6oUYNosDZo0ePLT{;i>8sK-X@gY`IlsGgvY&=d9d^)dQbJw+d{r|A>* z4EC5#M`YL^`zE0nuZ`3#GTlDYsZTb#< zm%c~;QQxnZ=(>JXKdzt94ZTc1r(e)7=~r}9zpmfVZ|Ohl_w--%U-jSgC;C(Ux&A-> zZ{_bgA~hPZ8)>A%|1uCc|7IC+>MhVnk7K0X3pCP4duLCrMyiQyVycPMY2<5%Mizrc z#LW4ik=dY;nGTI)&z%B9GJr_6Mp9}u@_xNW-UE%)5ux_Iy}vP$8jVyFX$uSPL5*w`yR^pU+B|#aXj8c-6(aKmQMH#Q8Dd|dvlBrBqvX!Yyjv^?z z%4f=4Wxn!-A}L=gOO&sa0%e6FD{GW>N};k*`A*rQ6e-)39m;NHkFrnMuaqdda#T64 zoK#LJXOweFxpGOlqL@mhaznYP{H)wlY~@$wH|2Nbsq&}tKe3j`i>y^mmX#UBapRzf==snr?dX& zK_izTYhClMe7(x^77)4T_KWKSmxs=en*8qc#Gw(Tx#%u>h%H4gv9;JnY$y7P9YlXI zQ0y!QiG=u;*j?-?l45U>5+lWaVt;X<_-?c~Sd0_n#RPGLI7&{apHI}O`Isg z|5xHy=(7T1X1h#SO>;wEv6_`SGI+%E1C z_lQtO#1iqactk7}Pl%_)GvYb%f_O=+5KZyActgA;{w&@Te-VEbABj)Ir{bUdzli+i z(O4r_9U7@7a{8?k4KxB-D{A+E9WmP-L^k~gkwp$7pphxFr{;bNb>tsJQtOGlzjkCJ zB9OHj5b1HG+p)KP3OWfy$^y>&l>?Cq=(H-mZnV7V@iThY?Y^ts>{sW9PLG@(S8L?u zY9hP`-;(#@Tk~!Cc0A7e@&0@u--Qq2gZU6Xl<&!td~crOBl&)Oe|{hz8_m;v96yv# z;79PI_#}QbKbBA7$Mb3YL_UMh-0af77(e{2>duQq#=eryX$)2#eV5QlZQ?ZYqOU4D&K->$+TixGi{l6j4#uH z@n-^=&di%kFcZRrGCi4arZ@986Up>rqM3nAY&0{NiDTlK1ZD)2$Rsgin6b<_W;~O| zOk^^ckC`kco0-bwFandy%x2~>^O-zGViqw=n6H@S%nD`|vxZs6z%wwLm@P~ZvyIu# z>}K{b`=ImcXJE-@91$y72`%uVKJ<{tA4^N@MO{7yb)8fv5& z^jgiK*J=U1Rx9YW+ElfJAK5!xeFL&qC(uY&s3YB=j)XxSiGZvX30W%|h{SHC)i}sn z3Ez%bH)?It>d`C5em!pK`23H62nR$afkr-=_34c1ppjXh%*mPuSt}2+)}oK{Qni@!t;l?!C=GWNY;HsGX5NPuxM2;rMk||^=nMO_|GssMGGMP*Njc7I}xfNB%i8Ry*5cva${04pe{Z^n6AW{iL zDr$+G?Ft&{_7e~}(yIiB>;odZ9Ymmx#DPW<3jaX_>PRCZIWvIB?5ug2^ZC4VX~Lq^ zB_A$LUJgW7fkwV@5K-vOFxA>Rpg3yhJG=Yrjo8;~e^^QAVIXom=qDg@I-u;0^XwK@teW&|%MBJ-2LV97Xv9?${497ZP{#YQ^84JP) zEClP0^~6Z5H%4K7v3^*8ECzcw8XJtoVewc3HUdk;lCUw@SS$rg#nP~eSO%7fO~$5R z)36*&z-D2yvANiMEDw{gFR>-qSJ-lF1-1%XgRR3hU>mVb*cPk^+lKAHc42$4AF=&d z38rI5vE$eY>=bqeJBwYwE@6;&u}bU)b_=_M-NSyt9wNVCPa0}uwDVuJL~1lrL!??G zHAJA-s@F&j5zt6K(8$2z*dmzFZ63NYp>X*6QET6qN3Z;#VBE3~zxrs=1R%nLMzTO7 z(?BD&L?%HF=A;Q<0+FwP$k#w*^@wkVt!D~{DD);EQWRYrwd0*#)SieRd+jF=_Bhn- zNbs?s(k>@EoeDVPch>iU&&9Tvy(_@6U-z)k8?WAUz2)+=^UOO=$#?52`>VW1H4(>I zt#%0RIIGpM{;XDaI006DR_krYS*`xnXSI;Qa8zq3k^ra1Mj`Jzj%tmAqgo$1j%sB( zj%rOsK1Bp17fzndg%fCbh=hEJEJ2nc%aIkxDr60uRNH`j3#Zn$Am1a~;1t^~WDoKq zvL88!9EKBdrN{}yfD>=$;N;sSI00uO*O42@E#zn99-NN*6@dIs{?Q<5H3c9qL(+N` zfV>70dHr^qn;1x>JtVDw@=oWwlyyBF3`r{#BoYo1feGE7ejt&0ARv(!K$4ezn4h|M z!oqX_k~uGHPBs9^nLgvwT#(3I2M`f}ECwLUKKPnlnYeo7+TrT}$VLFNC8lV=wy5oq zyZZbPvA35NcA!T|H$C`h*W+)VfT7lDzq0n{d@f)Y+gyIV0!Ap;(aKkExK_E`eCd|c zZKvB!t(WQwJM$XWs#YSt4vBOGiM$CCc?%1zmq?^TA_KA5XpF|*1Bna+iHrh?j0TB} z!^Ss|NVY>FGq7BTL_Wv9sFlc4te}xZzH20reISv8*kO=JDM-WsiJbcniP+e$ST&J` zWu)ozdLlLuxdTM197I4OK;&Evk&x2Rqu{MddLN+n_1)WVcmEv&x4#P#d2iEDh52^) z`jKnjU(JFF=7mXR@z zGBO^@NP43(GNZnXd;w+TODH2>k;|cstb#J~O???DBDaw{>dVMMQg2X3&XE_Oj8s4w zsjM#}Hk6Uy$VN#^X!_SnppjP|y$Z(}U%T&l=k;6Opb;O?h~MRai-ABS=v45@ke@=2 z0g*#ML~{_?IiUF6t%HEb5QQlm21F89vn$2`krdEK8fYYA!N>C^&z>@C>da543!lye zB6Bk50g=233qM)}M3#iZz@i~i~_b&IkR#JwQA}S)s})n%Y7J$EL8~>YQLB~CaL{T^ZqRCd#>{0tXTGRywU*Ym zTHipc^)2%qv|8UotF?pK1+CVPj#le%eXCX0pw+t0+<;c=4zyY}^DDGkPngCUX+#9F zmUmTKAmUr$ciI19;Q7u#gg6;e+WlD1BP3|#ZP3U&pb;Qa1VlCuQQ`}Sts4PEl2(rS zdhF7a{PBy@7Ea9LfXJjdQ)YcKY|h-$zOf2oc%g+)yUPu z*T%0OQuyA+L7QT>4ER23+dJF)?2Py!d~evk9{al;3_jfT$eYJHl?I%EQT%DVtnFFv z^Iqki7hk)KUU92<<*JM6e67iKr|Y$4ga?h(+L1Q@upF4?9u_c4U*ojue9(*#&lFAJ~x+haEW%cEqT+BNdJ8 z$S)2%@`QiNzi73ZfJR(EBW}N;4?I94Ubnq(HXw4YbJ?44p7E{H?nis*WJxa|(r52G zKSY5>Vt@z@8i_AV03z^n=*rOrW0#G~AHVn`2N52KWPSF@jA_%Se>&rnTp$AWD*cNI zV(OP4E*|&Q2g}%k#FZoEVQb>o4cS0{JLtQ2H^UEzTO*76?09=uuRUQu_RzW=2rlV* zxXY1F#{x?IPWT%5X{^lq?Ca+}FL+!;FTHx%^@>Y{^VKF-ovu2Fh;^2|RU^yZ(P7zx z#Sn*O4|iDhzF^s-!LrBJSoWdymVFFZ_7sO@PY28XF|Z!6`x3D1 z%fYg*0?WQmEUdNcMPjkIL)_iKvL6+XH?Zs%#VcUhE9))04VL{kuTro1(Ww6-93Avpr&GuiasLd+h7B|E+^v4|UNy9Su0{ z_fz{5xPhJaKI3)P^PI;8wA}5Y>m`@VFI{%Jf?R>DrGRBu+?5vp8fyi@SnEy4SgSjX zwMfTUE7CF68mPS6PoZnaTEmsZ+OgI+$5?A(?O1C{qp{ZKj=w)2>3R}~90MYU!hr|{MEdQF-aZhB40aG<)(>Ah za`pQw*{?rXmYkmgMACpr1`wG%YYGtgbeizV%&b|H=J4~<7fi^5gD8uVmwfOQyFBsh zkt>I|oL_> literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_p.png b/Tests/images/tga/common/200x32_p.png new file mode 100644 index 0000000000000000000000000000000000000000..a57a8a22af2d8ca4a146b40b3c83492be09c36ff GIT binary patch literal 4054 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 IM6N<$f;7npkpKVy literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_p_bl_raw.tga b/Tests/images/tga/common/200x32_p_bl_raw.tga new file mode 100644 index 0000000000000000000000000000000000000000..89145aa8141d2fddc997ea3f265ae222c295e424 GIT binary patch literal 7212 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_p_bl_rle.tga b/Tests/images/tga/common/200x32_p_bl_rle.tga new file mode 100644 index 0000000000000000000000000000000000000000..bc53f2f9346cf1f8533bd1a3d2f10c5ae70e26c1 GIT binary patch literal 7778 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_p_tl_rle.tga b/Tests/images/tga/common/200x32_p_tl_rle.tga new file mode 100644 index 0000000000000000000000000000000000000000..3092ff9236efe749fd2bb747d85eee6a958570a2 GIT binary patch literal 7778 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_rgb.png b/Tests/images/tga/common/200x32_rgb.png new file mode 100644 index 0000000000000000000000000000000000000000..6614141a5c0202d51007469059d6b9dbb6ef1ea4 GIT binary patch literal 5236 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_rgb_tl_raw.tga b/Tests/images/tga/common/200x32_rgb_tl_raw.tga new file mode 100644 index 0000000000000000000000000000000000000000..2122ffa1038703ff27f3c11645380976d3207ccd GIT binary patch literal 19308 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_rgba_bl_rle.tga b/Tests/images/tga/common/200x32_rgba_bl_rle.tga new file mode 100644 index 0000000000000000000000000000000000000000..1727fe338fc0bb705f6d340c969567c76e618fe9 GIT binary patch literal 25708 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ν+XfPJX_?GSD8Sy9)@^Ap*1`BTq~qI^2BYIP_9AZk2qPS=8!*0|Zs>ixbF<#}rQT-{4aVU# z7)SF4<3AYR$rxWh-e3%dkO+KM46l^N=MN8>jn7(u@m)$kYb8EwJwA)HPDd*uavyIn z9%d(U0^@s@S4uDC&S!JDIQDLKQtU&F?{kdr8ybusF}@iz7&Ez9&o6wXRQjwU##g;r zS6?YTMaNgZ!MIgxFse7}UyZNv9bXrP5Vhm0HW;~CmlwH`5Z*nhEqxZRI#@%9`Ua!= ms)O=MsqzM6KVkfT6Y1QsOWUsPJGJ*P*mrkruWRd2?Ee6lU+@V4 literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/200x32_rgba_tl_raw.tga b/Tests/images/tga/common/200x32_rgba_tl_raw.tga new file mode 100644 index 0000000000000000000000000000000000000000..92ab8940d4fb368eef467932fcf4e06c1a69bdb3 GIT binary patch literal 25644 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 U?$)7m2X}*g50?%)=Q_pyAK3@+NdN!< literal 0 HcmV?d00001 diff --git a/Tests/images/tga/common/readme.txt b/Tests/images/tga/common/readme.txt new file mode 100644 index 000000000..4535d7fe6 --- /dev/null +++ b/Tests/images/tga/common/readme.txt @@ -0,0 +1,12 @@ +Images in this directory were created with GIMP. + +TGAs have names in the following format: + + {width}x{height}_{mode}_{origin}_{compression}.tga + +Where: + mode is PIL mode in lower case (L, P, RGB, etc.) + origin: + "bl" - bottom left + "tl" - top left + compression is either "raw" or "rle" diff --git a/Tests/test_file_tga.py b/Tests/test_file_tga.py index ef3acfe65..9f6bee67d 100644 --- a/Tests/test_file_tga.py +++ b/Tests/test_file_tga.py @@ -1,10 +1,76 @@ +import os +from glob import glob +from itertools import product + from helper import unittest, PillowTestCase from PIL import Image +_TGA_DIR = os.path.join("Tests", "images", "tga") +_TGA_DIR_COMMON = os.path.join(_TGA_DIR, "common") + + class TestFileTga(PillowTestCase): + _MODES = ("L", "P", "RGB", "RGBA") + _ORIGINS = ("tl", "bl") + + _ORIGIN_TO_ORIENTATION = { + "tl": 1, + "bl": -1 + } + + def test_sanity(self): + for mode in self._MODES: + png_paths = glob( + os.path.join( + _TGA_DIR_COMMON, "*x*_{}.png".format(mode.lower()))) + + for png_path in png_paths: + reference_im = Image.open(png_path) + self.assertEqual(reference_im.mode, mode) + + path_no_ext = os.path.splitext(png_path)[0] + for origin, rle in product(self._ORIGINS, (True, False)): + tga_path = "{}_{}_{}.tga".format( + path_no_ext, origin, "rle" if rle else "raw") + + original_im = Image.open(tga_path) + if rle: + self.assertEqual( + original_im.info["compression"], "tga_rle") + self.assertEqual( + original_im.info["orientation"], + self._ORIGIN_TO_ORIENTATION[origin]) + if mode == "P": + self.assertEqual( + original_im.getpalette(), + reference_im.getpalette()) + + self.assert_image_equal(original_im, reference_im) + + # Generate a new test name every time so the + # test will not fail with permission error + # on Windows. + test_file = self.tempfile("temp.tga") + + original_im.save(test_file, rle=rle) + saved_im = Image.open(test_file) + if rle: + self.assertEqual( + saved_im.info["compression"], + original_im.info["compression"]) + self.assertEqual( + saved_im.info["orientation"], + original_im.info["orientation"]) + if mode == "P": + self.assertEqual( + saved_im.getpalette(), + original_im.getpalette()) + + self.assert_image_equal(saved_im, original_im) + def test_id_field(self): # tga file with id field test_file = "Tests/images/tga_id_field.tga" diff --git a/setup.py b/setup.py index 2e630f24a..761d552cc 100755 --- a/setup.py +++ b/setup.py @@ -46,10 +46,10 @@ _LIB_IMAGING = ( "Negative", "Offset", "Pack", "PackDecode", "Palette", "Paste", "Quant", "QuantOctree", "QuantHash", "QuantHeap", "PcdDecode", "PcxDecode", "PcxEncode", "Point", "RankFilter", "RawDecode", "RawEncode", "Storage", - "SgiRleDecode", "SunRleDecode", "TgaRleDecode", "Unpack", "UnpackYCC", - "UnsharpMask", "XbmDecode", "XbmEncode", "ZipDecode", "ZipEncode", - "TiffDecode", "Jpeg2KDecode", "Jpeg2KEncode", "BoxBlur", "QuantPngQuant", - "codec_fd") + "SgiRleDecode", "SunRleDecode", "TgaRleDecode", "TgaRleEncode", "Unpack", + "UnpackYCC", "UnsharpMask", "XbmDecode", "XbmEncode", "ZipDecode", + "ZipEncode", "TiffDecode", "Jpeg2KDecode", "Jpeg2KEncode", "BoxBlur", + "QuantPngQuant", "codec_fd") DEBUG = False diff --git a/src/PIL/TgaImagePlugin.py b/src/PIL/TgaImagePlugin.py index 76d9ba8de..7a6fb82ae 100644 --- a/src/PIL/TgaImagePlugin.py +++ b/src/PIL/TgaImagePlugin.py @@ -147,6 +147,11 @@ def _save(im, fp, filename): except KeyError: raise IOError("cannot write mode %s as TGA" % im.mode) + rle = im.encoderinfo.get("rle", False) + + if rle: + imagetype += 8 + if colormaptype: colormapfirst, colormaplength, colormapentry = 0, 256, 24 else: @@ -177,8 +182,14 @@ def _save(im, fp, filename): if colormaptype: fp.write(im.im.getpalette("RGB", "BGR")) - ImageFile._save( - im, fp, [("raw", (0, 0) + im.size, 0, (rawmode, 0, orientation))]) + if rle: + ImageFile._save( + im, + fp, + [("tga_rle", (0, 0) + im.size, 0, (rawmode, orientation))]) + else: + ImageFile._save( + im, fp, [("raw", (0, 0) + im.size, 0, (rawmode, 0, orientation))]) # write targa version 2 footer fp.write(b"\000" * 8 + b"TRUEVISION-XFILE." + b"\000") diff --git a/src/_imaging.c b/src/_imaging.c index 922c7bb8c..1fbd367d2 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -3594,6 +3594,7 @@ extern PyObject* PyImaging_JpegEncoderNew(PyObject* self, PyObject* args); extern PyObject* PyImaging_Jpeg2KEncoderNew(PyObject* self, PyObject* args); extern PyObject* PyImaging_PcxEncoderNew(PyObject* self, PyObject* args); extern PyObject* PyImaging_RawEncoderNew(PyObject* self, PyObject* args); +extern PyObject* PyImaging_TgaRleEncoderNew(PyObject* self, PyObject* args); extern PyObject* PyImaging_XbmEncoderNew(PyObject* self, PyObject* args); extern PyObject* PyImaging_ZipEncoderNew(PyObject* self, PyObject* args); extern PyObject* PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args); @@ -3661,6 +3662,7 @@ static PyMethodDef functions[] = { {"sgi_rle_decoder", (PyCFunction)PyImaging_SgiRleDecoderNew, 1}, {"sun_rle_decoder", (PyCFunction)PyImaging_SunRleDecoderNew, 1}, {"tga_rle_decoder", (PyCFunction)PyImaging_TgaRleDecoderNew, 1}, + {"tga_rle_encoder", (PyCFunction)PyImaging_TgaRleEncoderNew, 1}, {"xbm_decoder", (PyCFunction)PyImaging_XbmDecoderNew, 1}, {"xbm_encoder", (PyCFunction)PyImaging_XbmEncoderNew, 1}, #ifdef HAVE_LIBZ diff --git a/src/encode.c b/src/encode.c index ae4277c04..c60048c41 100644 --- a/src/encode.c +++ b/src/encode.c @@ -492,6 +492,38 @@ PyImaging_RawEncoderNew(PyObject* self, PyObject* args) } +/* -------------------------------------------------------------------- */ +/* TGA */ +/* -------------------------------------------------------------------- */ + +PyObject* +PyImaging_TgaRleEncoderNew(PyObject* self, PyObject* args) +{ + ImagingEncoderObject* encoder; + + char *mode; + char *rawmode; + int ystep = 1; + + if (!PyArg_ParseTuple(args, "ss|i", &mode, &rawmode, &ystep)) + return NULL; + + encoder = PyImaging_EncoderNew(0); + if (encoder == NULL) + return NULL; + + if (get_packer(encoder, mode, rawmode) < 0) + return NULL; + + encoder->encode = ImagingTgaRleEncode; + + encoder->state.ystep = ystep; + + return (PyObject*) encoder; +} + + + /* -------------------------------------------------------------------- */ /* XBM */ /* -------------------------------------------------------------------- */ diff --git a/src/libImaging/Imaging.h b/src/libImaging/Imaging.h index 8c3ad65c3..6b553c928 100644 --- a/src/libImaging/Imaging.h +++ b/src/libImaging/Imaging.h @@ -473,6 +473,8 @@ extern int ImagingSunRleDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int bytes); extern int ImagingTgaRleDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int bytes); +extern int ImagingTgaRleEncode(Imaging im, ImagingCodecState state, + UINT8* buffer, int bytes); extern int ImagingXbmDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int bytes); extern int ImagingXbmEncode(Imaging im, ImagingCodecState state, diff --git a/src/libImaging/TgaRleEncode.c b/src/libImaging/TgaRleEncode.c new file mode 100644 index 000000000..2fb831e6b --- /dev/null +++ b/src/libImaging/TgaRleEncode.c @@ -0,0 +1,153 @@ + +#include "Imaging.h" + +#include +#include + + +static int comparePixels(const UINT8* buf, int x, int bytesPerPixel) +{ + buf += x * bytesPerPixel; + return memcmp(buf, buf + bytesPerPixel, bytesPerPixel) == 0; +} + + +int +ImagingTgaRleEncode(Imaging im, ImagingCodecState state, UINT8* buf, int bytes) +{ + UINT8* dst; + int bytesPerPixel; + + if (state->state == 0) { + if (state->ystep < 0) { + state->ystep = -1; + state->y = state->ysize - 1; + } else + state->ystep = 1; + + state->state = 1; + } + + dst = buf; + bytesPerPixel = (state->bits + 7) / 8; + + while (1) { + int flushCount; + + /* + * state->count is the numbers of bytes in the packet, + * excluding the 1-byte descriptor. + */ + if (state->count == 0) { + UINT8* row; + UINT8 descriptor; + int startX; + + assert(state->x <= state->xsize); + + /* Make sure we have space for the descriptor. */ + if (bytes < 1) + break; + + if (state->x == state->xsize) { + state->x = 0; + + state->y += state->ystep; + if (state->y < 0 || state->y >= state->ysize) { + state->errcode = IMAGING_CODEC_END; + break; + } + } + + if (state->x == 0) + state->shuffle( + state->buffer, + (UINT8*)im->image[state->y + state->yoff] + + state->xoff * im->pixelsize, + state->xsize); + + row = state->buffer; + + /* Start with a raw packet for 1 px. */ + descriptor = 0; + startX = state->x; + state->count = bytesPerPixel; + + if (state->x + 1 < state->xsize) { + int maxLookup; + int isRaw; + + isRaw = !comparePixels(row, state->x, bytesPerPixel); + ++state->x; + + /* + * A packet can contain up to 128 pixels; + * 2 are already behind (state->x points to + * the second one). + */ + maxLookup = state->x + 126; + /* A packet must not span multiple rows. */ + if (maxLookup > state->xsize - 1) + maxLookup = state->xsize - 1; + + if (isRaw) { + while (state->x < maxLookup) + if (!comparePixels(row, state->x, bytesPerPixel)) + ++state->x; + else { + /* Two identical pixels will go to RLE packet. */ + --state->x; + break; + } + + state->count += (state->x - startX) * bytesPerPixel; + } else { + descriptor |= 0x80; + + while (state->x < maxLookup) + if (comparePixels(row, state->x, bytesPerPixel)) + ++state->x; + else + break; + } + } + + /* + * state->x currently points to the last pixel to be + * included in the packet. The pixel count in the + * descriptor is 1 less than actual number of pixels in + * the packet, that is, state->x == startX if we encode + * only 1 pixel. + */ + descriptor += state->x - startX; + *dst++ = descriptor; + --bytes; + + /* Advance to past-the-last encoded pixel. */ + ++state->x; + } + + assert(bytes >= 0); + assert(state->count > 0); + assert(state->x > 0); + assert(state->count <= state->x * bytesPerPixel); + + if (bytes == 0) + break; + + flushCount = state->count; + if (flushCount > bytes) + flushCount = bytes; + + memcpy( + dst, + state->buffer + (state->x * bytesPerPixel - state->count), + flushCount); + dst += flushCount; + bytes -= flushCount; + + state->count -= flushCount; + } + + return dst - buf; +}