From cbc9984a17b3452da4fee397aac912f1e9f7a4c3 Mon Sep 17 00:00:00 2001 From: Joseph Redmon <pjreddie@gmail.com> Date: Wed, 10 Jun 2015 00:11:41 -0700 Subject: [PATCH] NIPS --- Makefile | 19 +- cfg/detection.cfg | 204 -- cfg/{rescore.cfg => yolo.cfg} | 9 +- data/dog.jpg | Bin 0 -> 162407 bytes data/eagle.jpg | Bin 0 -> 141886 bytes data/horses.jpg | Bin 0 -> 133495 bytes data/person.jpg | Bin 0 -> 113880 bytes src/captcha.c | 2 + src/convolutional_layer.c | 9 + src/crop_layer_kernels.cu | 8 +- src/darknet.c | 24 + src/data.c | 2 +- src/detection.c | 428 +-- src/detection_layer.c | 69 +- src/detection_layer.h | 2 +- src/image.c | 206 +- src/image.h | 14 +- src/layer.h | 4 +- src/parser.c | 7 +- src/stb_image.h | 6437 +++++++++++++++++++++++++++++++++ src/stb_image_write.h | 730 ++++ 21 files changed, 7422 insertions(+), 752 deletions(-) delete mode 100644 cfg/detection.cfg rename cfg/{rescore.cfg => yolo.cfg} (97%) create mode 100644 data/dog.jpg create mode 100644 data/eagle.jpg create mode 100644 data/horses.jpg create mode 100644 data/person.jpg create mode 100644 src/stb_image.h create mode 100644 src/stb_image_write.h diff --git a/Makefile b/Makefile index 4ebac6d..bc3b9bf 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ GPU=1 +OPENCV=1 DEBUG=0 + ARCH= -arch=sm_52 VPATH=./src/ @@ -9,9 +11,9 @@ OBJDIR=./obj/ CC=gcc NVCC=nvcc OPTS=-Ofast -LDFLAGS=`pkg-config --libs opencv` -lm -pthread -lstdc++ -COMMON=`pkg-config --cflags opencv` -I/usr/local/cuda/include/ -CFLAGS=-Wall -Wfatal-errors +LDFLAGS= -lm -pthread -lstdc++ +COMMON= -I/usr/local/cuda/include/ +CFLAGS=-Wall -Wfatal-errors ifeq ($(DEBUG), 1) OPTS=-O0 -g @@ -19,9 +21,16 @@ endif CFLAGS+=$(OPTS) +ifeq ($(OPENCV), 1) +COMMON+= -DOPENCV +CFLAGS+= -DOPENCV +LDFLAGS+= `pkg-config --libs opencv` +COMMON+= `pkg-config --cflags opencv` +endif + ifeq ($(GPU), 1) -COMMON+=-DGPU -CFLAGS+=-DGPU +COMMON+= -DGPU +CFLAGS+= -DGPU LDFLAGS+= -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand endif diff --git a/cfg/detection.cfg b/cfg/detection.cfg deleted file mode 100644 index 3f3b50e..0000000 --- a/cfg/detection.cfg +++ /dev/null @@ -1,204 +0,0 @@ -[net] -batch=64 -subdivisions=4 -height=448 -width=448 -channels=3 -learning_rate=0.01 -momentum=0.9 -decay=0.0005 -seen = 0 - -[crop] -crop_width=448 -crop_height=448 -flip=0 -angle=0 -saturation = 2 -exposure = 2 - -[convolutional] -filters=64 -size=7 -stride=2 -pad=1 -activation=ramp - -[convolutional] -filters=192 -size=3 -stride=2 -pad=1 -activation=ramp - -[convolutional] -filters=128 -size=1 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=256 -size=3 -stride=2 -pad=1 -activation=ramp - -[convolutional] -filters=128 -size=1 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=256 -size=3 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=128 -size=1 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=512 -size=3 -stride=2 -pad=1 -activation=ramp - -[convolutional] -filters=256 -size=1 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=512 -size=3 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=256 -size=1 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=512 -size=3 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=256 -size=1 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=512 -size=3 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=256 -size=1 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=512 -size=3 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=256 -size=1 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=1024 -size=3 -stride=2 -pad=1 -activation=ramp - -[convolutional] -filters=512 -size=1 -stride=1 -pad=1 -activation=ramp - -[convolutional] -filters=1024 -size=3 -stride=1 -pad=1 -activation=ramp - -[convolutional] -size=3 -stride=1 -pad=1 -filters=1024 -activation=ramp - -[convolutional] -size=3 -stride=2 -pad=1 -filters=1024 -activation=ramp - -[convolutional] -size=3 -stride=1 -pad=1 -filters=1024 -activation=ramp - -[convolutional] -size=3 -stride=1 -pad=1 -filters=1024 -activation=ramp - -[connected] -output=4096 -activation=ramp - -[dropout] -probability=.5 - -[connected] -output=1225 -activation=logistic - -[detection] -classes=20 -coords=4 -rescore=0 -nuisance = 1 -background=1 diff --git a/cfg/rescore.cfg b/cfg/yolo.cfg similarity index 97% rename from cfg/rescore.cfg rename to cfg/yolo.cfg index 954c158..8426bf9 100644 --- a/cfg/rescore.cfg +++ b/cfg/yolo.cfg @@ -1,6 +1,6 @@ [net] -batch=64 -subdivisions=4 +batch=1 +subdivisions=1 height=448 width=448 channels=3 @@ -199,6 +199,7 @@ activation=logistic [detection] classes=20 coords=4 -rescore=1 -nuisance = 0 +rescore=0 +joint=1 +objectness = 0 background=0 diff --git a/data/dog.jpg b/data/dog.jpg new file mode 100644 index 0000000000000000000000000000000000000000..deadd795870e92cadb443f1793750522832e6583 GIT binary patch literal 162407 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 X=a57QZMfaWN%X}gbW+3fCeQ!b&a5oT literal 0 HcmV?d00001 diff --git a/data/eagle.jpg b/data/eagle.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8b7509505b01a766bbf637dcbb1e2c5f24903ac5 GIT binary patch literal 141886 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 X$xsGJ9{%-|uyT5)jbl<9JD>mABxdr5 literal 0 HcmV?d00001 diff --git a/data/horses.jpg b/data/horses.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a761f46ba08ed459af026b59f6b91b6fa597dd1 GIT binary patch literal 133495 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	j`h%HPf?GiIOe8@u` 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�!nQVmgH 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 C;nJ-D literal 0 HcmV?d00001 diff --git a/data/person.jpg b/data/person.jpg new file mode 100644 index 0000000000000000000000000000000000000000..61d377fff94d48c365b0cf18edcd4de38b229465 GIT binary patch literal 113880 zcmeFYbzEHA(k9%EJHg%E-7UDgyEKh^;}8fCAOV7FLvYvN5+o!L+%;Hmf?I$PAekoT z+}tzsd*7M)=HKrw(%nzjepaojT5IoJwRY#%;;(hU6BPwz1pp8T1SrA&0KYci{N?=} z?EnCEbpR^>06+nt0<i&bFoX|#1p=S^!SO&`06a_vg#7`4qyWU<7yu{)lKsJzK<2+W zFbzPS-+j?xyapieA3fdCjsS$e`%c3?0b24JdeTPJ|7`z~sd5PX5kFF47C(;u*Qb_) zySF=pnun7c0N~~3;S=TN7v<rj=HV9=5E11Q1OUjxq5rZBjye3zAI$xd_HQd;{=8)R z8xH~ii2wjHOgjQMFE4i@{J$)Q6HY|<gVmCNe{q0t@PK3l0NP&`!C56E|E&iWmt@qx z@e>$E`!lXX{=f9|aC7Ga|K`B_$%p$_MBtw1!~Y8d%L|GA=D?y^^jBZt;}jJAWdm#y z0f6Fv>3PI(fAb$P{68?_-&hqUNBV~x<!=nrU;HndAN!*HLyqw`ejNC(_Bd=l?1cq; z0spJW|5q{?_pv?p<$e78wSjKy;O*@p%Ejdd;k34Ow*hm4++Df+tv$G4Q_2Mpm-6?p z204Shscpdaj&2gPr|)`bsU2-4XblC_xz#;n!48f}fnH$UKn*=mpfgCsmR3rVTHIgM z-_^qv>}^f$@9N?P5%rg#{jFRSh9AXTwA8;T-p&%VM(SGBvhH4BY5`7uPHtLQZ!cRr zQ5`vjzx%?zNzndnq@SN3ryn1uyO%u|kBEo}7dI~#FE0m-!2t<y^S1WqaD&kOOM@I3 z0`hY7@OE@}qkhzAZR76aEkO$#`L{{dJ}{&HE8oGeGx4|cFvg>uzuC5+KV%OdFPGmI z*n+sgE?`%%n>Pf;=lR2hx&DXzUq<y`N<Ds`I}Yyu4gJsI-`3Dl!|V}N1G_<#<s@i% zd4)y(Es>ywxPqwvI)yppq*<v2xH)+E1YBLI6?i#?spaLUO_deQsdeSl|LUU)_Hwj# z(eQD#0eeZ%3JM7D2|U{5Au8(yw)O_g!CtT-U}rN2H$O~~-oMV~zewutwvKiI{|C}< zP3~TL?(QxUwEw<H&{F^LO7u~~UjxFH(|<J@Y$@1+L_v=>xqJP+E_A`3e<K%1E*Ro^ zoZ7#HT>ldp_QlK5-oYF4H(lDr`%lNmNfmXmcC(kD_2;k!+gba#c+>vT_80R}+aCqL zNBPHs`q#j)Rr(13EO*I27s~&D|3u(F5%^C8{u6=!MBqOW`2SA?{+%#`-C${rA1oaP z{5l5s|CIv4ay@E3Sg9l|qpXhbSbqTkQsh7r06ZCkA~`JohXcTo!$|^A9<w2CejYw@ zI4J-U55Is2pCCD$&_Ctk|C0Zui{ZDfCo%<q=;=7eP;@x|FFwrE?7ucKjFe?%Ewyws z6_nNFVI?O3fT5)3=;jUwtBPFRyuEZ3WvGpeO{kH_VS}RrkN`XYfHer>p{}c-_o!1@ zUX~gHBmLI@=k0p_cMSoU;ZV||rv4-TzXLcR4=-<6@u3By^V!0(bQpdC!!CZ_9*^=f z7{<48e#CH(F~awP83@C~kJ$b%%>JA67k>JPZC%}LVVp;sJ#1ZVA8{WHzx4G1!!W!W z3`hAog8g847KZ6vd|Vx2_&W^ayMnDDu!0lgQSJ=}IXo7hFpS})ry~o);;@1o!~P%G z<{#J_><_aO0FZU}2>6{YQZs{CsA0v4Ftrlc&jsx5&7lP=psc-YVMUIshqYS(0PvU3 zkG%l6kFlkO1zC_sL{N}}mlGELKka{e@DJ;M4<6_CFUF<z?>Pe!j{aNr@4o+*xfcQe z!dI}^B>r1wlLY{@MgjoDOaGS9=K}!PF93j+iGTP*__$vFQLH(FL7a~P{nP%Bgg?yx z9{giG&d2fo#Ex3-uUww`F{mJS7k3{oY6z@;1yghUuZ#Hqx#K^~`iC9tI$%4n7uXFp zlmTp&Il9@yrrXWd@ptv<==R^u@c(1Cf7tK{|612DfLHtzfN#kOcrt+xfIl7uAmE_` z;LUPjM}U9kO%2rm@Ob7KQtkb<?qL{q{P+9+^ahsz`w9nfw5NU)%j)P+gM7SvA2IBl zczi>I?Ym&ZcBn`IlmI#aGk^oOryv9n13U%D15^N-06l;)zybgQH~?G$UI0HpFdz&N z1&D=h@T38tfIL7kpaM_}XaKYVIsv_aPk<4?Bw!A(3|I&301g3XfNQ`VY>NyThzZ04 zk^rfI3_vy@FHjgL36uw_0d;`JKr5g<&<*GV3<gF3V}Z#)D6jxn0jvkM1ABo(z$xHo z;0ACXcmezY2M>n<hYv>q#|Xy-Ck!VIrwXSBXAWl%=Lr`G_W~{+E)%X0t{Scdt`}|u zZVql8?hx(@wsnIJPY6!~&jBwCFAJ{;Zvt-z?*$(M9|NBbUkG0d-vK`WKLfuGe*}Mv zfP{dDK#jnGAcmlXppO7T@I(kfh(mxPlq0kt^dZb3Y#^K={6xe=Bu8XJ6h%}<G(xmT z^h1n7Oh+t5Y)0%yoI~6}yhcJoB1B?B5<*f!GDdPj3POrQdV^Gl^d4ynX$$EJ85x-b znGIP2SrgeB*&8_uISaWOxd(X~c?bDB3OWiE3NMNRiV2DvN;pb7N+n7+$~4Lz${p$x zR0dR0R83S{)Bw~3)MC^Q)Ctrb)H^gBG$u3&G(9vYv@o<xv|6-&v=y{VbaZrDbP;rI zbVu~(=$Ytm(Ff5t&~GttF<3EVG0ZT0Fyb-FFy3Q)#<;}9#AL*LifMxBjTw(wf%y@0 z4f8t|9u_B-GL|h?C{{LB3)VE&2{tM=1GY4_1$H2II(8%W1oqJr)F+HjWS>|+33-zJ zr2WallPerN93C7^99Nt;oJyP_oUgdZxQw{+xVE@2aEow1;%?!=<I&;C;(_oY@QU&J z@pkZ$@R{(H@tyEv@oVtM@y`fw3HS*N2>c1M3AzZ@3E>GD36%+52one!2<HiZ5K$0G z6M>0d5!Dh+6WtJ#5kDmc6UPwO5zi6-AfYCaCvhf8B55UAB}E`*CDkVNBh4l4Cp{v= zClezBk;RZTkS&qJk+YKPkOz?$k&lvJQBYDSQg~2gQGBF0q9mkzO6f$IO4&`hPlZP% zN##hDO4UPkKutg`P3=ORN!>?%Mng`cMB_tKKr>ErN6SR3Pa95KN4rXgMkh>XN0&<X zf$of+ie8;Qn7)dBi2;>Cn8AS|gJFQ-hLMTUkTIIEmGLVRF_SV=AX6373Nt3N6tgFD zA@eK?5{od4Gs_#6Nme*k0agdrY}N@jI5t5xN47U?Q|yTBBJ6JLh3pF)7#z|Zz8qB? z8=QokYMkMmt(+%Z^js!fNn8V5Ke+|CUAT+6mw9k`RCvO9I(RO4S$RRc*}SuSn0yL+ zp?qz8=lpE^VE$bGMFBhkb%AJs4+0N@LV{j`wSxOX^g>obIYJA<_`+Jkal(Tlh$1o~ zp(33kx1xfg-l7enr(zsp&SI5fU&Wck!Q#c@TN1Pq))EC0>yp%xR+9OW>rymQ)>4I1 zn@{PU+CD9Px+l#d?Ic|-eImmx<0aE9b0aG%`%Lz|9K4*OT#VefJg&UHJXC&7fmXp@ zp-SOQQ9v<B@x2nFlB!aY(t<LDGDx{X`AkJf<(W#KDu$}ADpYk-jaAJ{twSA7T}3@b zeMN&o!%d@A6QHTAnWDL>#iZq_^-dc}TT44zdsl}?Cs=1d7f;txw^H|7Pew06Z&{yN z-$(z00k(meL50DMp`2l|;kpr*(KDkFV^U*B<2Dmy69bb{lPgns(=^i^GXb+Gvw3qS zbAR(83sMUgi!MuSOKZzUD?}?pt4gbTYfbAy>nj^&n;e@nkSr(zbZGn3Hq~|?ECEgi z@7YP%CEI<qm#|N<-*=F5NOw4Lly!tUo;xWy<vHCrYdV)X|8g;OsdGhfwQ_BD!*z3Z z>vN}c_jjN2VDpIbSoak5O!GYRQuQi@03qg(Hg9}bGBxVM>=Ws;;VbEz?fc!&z^~CC z$KTC=G=MeWRlr`LLSRV{LJ%nELoiKnSn$R(>1PEYzz~~|5219SFG6>oD?Tp|Lkn{b z8w=+SPY(YUVHnZzg5t&V7h92vkyTMxQC?9C(PGhgFA-ikz8rtW_bThv&lua7;aKk2 z^w|42P~7lqp4XYLf5qFyk0%Hw<R&5|x+TshNhOsh<0J<rZ>6ZGw4_p}#-x5rvrHRG z=TFbeK+EvSSkF|;Y|En0O3b>4IzZ>LWwPsX$a7xh+`O@UGoAZ1w>FO=FE;N-zGMDk zfnq^RA!A{B5mJ$F(QdIp@j!`iNku7XX>933nOoU<xlVasg-}IBC3$5+6<n21)qb^E z^<<4)O<OHTZ9yGjUF=)HTc5WF^;Y%s4XO<v8igBcn;4pMn(>-rT7WG9EoZF`t?O;Z zZBy+k?H@YCI-1{czANjb>CEmT=t}5D>weMwt0%DM>b=MNqh9;otq+zTmOmPOobA)@ z8}C=`AN-{7>EnR(K+mAWVCRtNQ2Vg(aO;TRNXw|eX!DrBSo65xc*}&)MBAjuWXF{F zRQI&hbnlGZ%%@r9*^xPoxv6>m`NajZh4n?-#jl@TKA$i7F5N9ZUqM`nS$(pazDB-Q z_=V+5-MZj<*M{82=%()G@)l_8a2v9Hzw=@jb2ojDYOmre@7K<Kh5g9`(}SHukHfp8 zsAHVtoD=4grqidVqi05EJLg{Kzb@h~NiNI2@qhbprFFG-?RtH86Z4(qd-<*K?Z6Mi zAA5Ix_sI8|4=fKIKUIIO{Br&E>(_e#4hpaw?m0Z{i4+_T5FQ8ks}Dd0%OntCH*HvZ z%n%+M>=6wDA`&tRDjGVB&<uN&1%!u(Lx4v_d@O)~&mJG)AmAY4((p(l;b~hV(|Y3b zh9woC(8<*I66j2w(ev4Og`=Vo5)qS-GB7eRv#|0D2nq>{h|0>zD<~={tLW<K8yLdU z8xU+G*WSU=3F7VJ>*pU381W)9D*ENCnB<hywDgS3ENEd-aY<=ec|~PIV^ecWYg>EA zhmU>zp9ThphNov{=jIm{KQC=;Zf)=E?tR@qIKR03c6EL8{r1PBU$Eypf4TL?v;V~} z9GG8l2ng^9$d7&j;rt#Q$3Z}(;X%Tc)<(AW#G~a6L&29xDyZ*8rQ_2%Be3zBLL;Q- z-(Wa@bnUli|96gs|37*5$FYC=wG5C2!2NFUaB%R5@bK`6NQkh8gaXS%kdRQ&P<}VG zzZ=HyhV|I6|FmB)B|w-C1Ox<R*uN*}sOV4rKeu12u#8gc*Af5&9tc}Z@HhY|zymEG zbc~nu!Cdavo=$FL%<h!`77?O2W;XA;HJ?G<9{bZPB5pn;V2r!~qBLBI&hx&yosSll z8h9a&>8BaF=_Urvn?3Cd1C|Vue`<wFIE%3lz>balbf<92;P;9g>GshFzAQ@RG{v*2 z*eKsY8rcjih<fZzBPef=ISZqH0_jf+y2-O)1gU9~RHV-)L2;kTPz(;3Oox9qOy-ky zM2w+jvCOY2(JBV;sb-3(m9*GxR9S!ae9kQ|_SRv{R7y9dVSwUNei0{DFJDQ)@jwC@ zU4IKI%@jP{h{L)RHdHh*Sg^uRsc+aN->$qpqYWoJgZ~SV3eXI6M6q>Ht}u8?HeD_^ z6-Sj_B2cXTr9}ONub?r8k-Cm)y3+9`i4Cwv5GgmTPVqsmiunC|iFz&h0Q`JbLH{~I z?X)XVT>}~iS+L<*S$YkgZIhL`!ql7U5T|$EQzBv=-)hU1ulO8>6{+E&@(I+N)pExk z{(HieZrPd=`$n7=ME>gr)~sbvcEn!*@rO-knjH!;-M3~l&N;U8G%3xJ+GMKU>Y!I2 z;?-gCw;kR)HDEIj=Ycw5a5`pZ;ctl>z^^3x3lx^hCbcbCVRbGD+f4-a*hY@KO6&&B zqhv#S?9|6&Sd540n(d`UnRiPHO5LB1?V{Bne58(mj)RK|gvD|6i!!NdApH8Tg=vuY zRh_vv-&TGuw&@`CWJCfCRnU2$^m`69g7L9Y4-`#;+A3l}I|{bv#21TI)dlq(Ew2@4 zqc!U-gmL9K+T8k09a8KJV={Ej;XmiZ*V}p_1gDrwx5R4{mH24)U!2&p8VVbEi^N1* zd8h{pqa_{D#ZZF9zD8g9fMU&Y;4v0d*_ikH(Fp{(Y?D+lY4JBgY(iBgqvWkh;@L>% z^9=N?qWg<zKo_1S^D}878qV=0f$1wt{G0l*a*+vYHmz#!y=(1XRsMhmF<<kIXSq_H ze2AONDn*gCOSRX&A`3r)Kx;FTSo{YBy6EeNU$oM8Fx%J@RpjiK)$gPzjD6%%IpX9f zbcuxP@(1CJurlS2-8F`pW3Huj?kH%M_<Y16YR`@kDM{<dO{@N4_Rim=$B}Z|t0CFU zwZi0sp4k?^1$$s}%>;#0L_e+XZZrZB_|o4n+?k^9Meytc6ff!7DXJ99W<xeBYZ^T# zBtK>ylwvm3VO!x%M%AR~kWz*$(AQF~<x}o&r&}IBSDWgA>490vM;@W~w%THjA~nN! z9lAMQXk<m%G*1${^oD#v#b02Q<a1k<p0W?7Zw_9+9V#k?QyM=fNZDSy-!`4DqF_dP z)b%9prdQx)<F*Gx^>aez5}EXnK+KFFix>B<C=M?Z^@6}&E9?leNDsrV2E>Tcv+O8x z+?k{S0v)<k*C}O#u7!4iNKE3Nw!d}bS*!oZgMW(*F+HZdiZ}kcO)%!(1f0C8em1sN zm1rn1HqZrTVS<Xl?Uv<Y(^k+nlI!lk|C)Rtxq!T{p@<VjdvMKT)K!&{cN|DsDl}x1 zNmzuKWL;P6f*SZjK4sRxp&qMdg{99|<+4c^@t@E!zpwftP|ZQIAbhCEU2VIL1?YDa zctyg068^~wUPJ(L#B29vl0X)yBaw3us81j1E8po;a>qU(uAT2B<bSN<T1??sg|>+b zC=I}c*BCV9pl|CpxY#CNpWcz(<)8N;BFIe|9(e9#M!2P8*D;P9ICfD+ek>qf?q}Dr z65kwe06t*3<K7j-7<9%MqV*}Qcr`eati9BrwtZEpg_o3Xw^<$#UX^OrU$ZApTDNNx z`J~-}kF;V>X9qn4D6&1LEmHWgy{hXird`13TC;e8*PUugqEmAE-Ru!rdU4vT>vAEx zWVjVxF~Mo44!6~`f_l2QGq$##m*4iGAET7<NUE98p{0SMLz59nMua!?3Pd757T8Li zik;0+ihGd}pd$f75UA(t7oS}><$I}0wD}^*AkSID>gktrQc{dBM!Vk4(aJ;Rbd4`t z6y$Ye+LBeeo;izTbr`(D^HOG@&UH#@Hc?6+=<207NU0ETq;*qTP?T`WrVAl(q%q5? zjdyBIA1D{_m6?6Z*{G+&y@zjP$Unc8vs+#$GJt;+zPs&b`#PGyVrks)_Bmr?T8w(O z@67r}haS2!ZM>L)Mt@bd=L%%LKApwS%BS2@R>$7d-Jh=?VxvqeB>`rposIv=RuH$_ zwmsW&rf&0<u#%!@Dbn+!&P~OSc9nv~hjP+wq@oEEiEwNO->Fp$E9jP?F5tom93^`l z?ZG5Hxxffb#+fhJh|$-m9xY2To4Afin$MW)oioSG0wcBGa)o_$Hkx7>U5qy`-fiFQ z83=4u*=Bj;wYt^iMW=mJ{-c3yiDKJtz+ty7a`yWtXQ2rBAl+u@-smZG+fYY$Ei&?L zkZ!eUUTTe3v^L53fhHQ|>^{a~t%15);9NBiXTkIk?^Ug!x#n7p^{eYLBR8#^eKYCV z`W(_J>&RoQ2It}>=~|vE%q@hu0W8fX&Xv^)VS@1yKC$5DIZ_1;yA(6{evo@2=}cla z6ysq+Wn$&XcaEMd#g$!?KM5Hb>WA=hZN_g+z$5OaV$W(yy9P%O@%~_-S<;SBA)tlz znY<Z$*Fk%vO@o}$_Ep(!3?{IETBfk7X)C|PPKaJoeudkqq7Au500)Atk8`(M$QRL1 zUTyYqNqVU=%TPcin@E(A9h<fQizmtOC=08Qfvcs8Xt2V2adrgQd#FdM(}`wQw99`} zE)eggPF~a@BtCa+q_AIc5t}{wnJ;X<UUKG8k=bm<@$$QYcH7XHq&9@K&}j&d6kle~ z(BVLd!^p!dwU-fg-wFLS^&sVuf3630xwNdNpGXDQH=&g`;Hmd<8V`=KK3^4`<$luk zts>6&P*wUsw$rbCyET!LxdBso-g>FxAs1ZG4+q|2uCxYI$ZIkSj<D|eD4@b8#gLMC zC{=UMsSU+17EhYB40mo;p<)t(+NDzCM9LA~YnKz+L~$%q<LKX?u{a?;5C4K3W?Taa zn~&x0;7=B&6@jaVe*H1CV?Fv>nUwo8!OI1V0sL9wS_ct@^?CQq<LL_dn4OGx!rdy2 z6#YvajFxf@gIfBh7wU#hZ`)PS9mM8eJ}u)=T?&8obQxoA^H5zqrk|>@yvp9Ov=oa$ z8#g|Ug%#U`b1@SoqefU5znK^WU&8qd;Dn3RfBTGOAAcHin8mcs%<HXoobFabuJ$|P zekOvsaGUD)y76zANe&g+gW`|gwibhs8rP5$BKj%Ekj41BR|0n%<>;^Y+n>yS_EkMz zWv%-h6d@BQKROU_v=^bmF-U?GOS2kwi85xSCnm2D!8hEFOu=Sto$$I3EqG8wBe<XC zxZgX7mJTp;9lpbjJ1^s<NHEQmS_HM26~TDPjxY+`Y=M_213UOwN|zTBPH*as*yM4H ziySC+F|c43TTeJ8t#1~0K$v?EO+RQ>q$pL!64MC~4hR%5UNsFC!PRT2l+}Qk&6??| z6%>eTLqtjmQc6em6xHfTuSp0Z_J*Gwm<vjRbhhxG9buQ)N2SIk$rzx&7Az7O6B}on zugi)V)OLdOma*@zOz(mw1DD|M^(LB_w@FQ+UKEZn)yQ8@imWPjl9GBFF_Smjzm|0m zR9A8=l0JT69|0Y6m7{F(8dNX*cowKn7Z?o<t`>=Y7pSlB&g@*TaH#E?LyIhFx`vTf zeJn>$%E5%-4yChR={>h_W%vzzgscw5RItqF+w7Q8XV~JV58o&CQpmR#sn!jIggd3u zbJ|)AbZOri4G@@BXBUo!J+T+a;!hst&i|?JgrOlH!3sZL|Hf{wj-aqqHL3pk1;GR! zr)LDT&SvO3TK2m95Na)Tqpp+B<>YO5z%9BUO53*nmYTFAnqgjOZ1Y+m{^jrrR&<xn z$J*^6`^EV?z35UWe7`R}5*<3%%ymv9^)-Dt-;mP4tRFqs^)B*vZN0XGi|T45l?iSc z>ooe_rJDK%2=IxffAWxUTplC?`|2*vMlVB~ZOjMd*pFLkm-}ggL$Lzqgz)8yzsVca zXSWKp^2n`IhL`AR<_l}KzoyLHJB=`b3n+fC9p`CEm#&l8-=OxSeN2<Z8O)H)zJg|W zG^pNyUytSCU$K$r6i2D<HJj2MU8W)Ggsg0~6OU*tgb)TD$bw!J_FN0Juqtz2#~6Yd zn8%8k5U~)A?(Eii9oJ-T)QtK4R$tJz8aNEyl#TZf#~FPyMm;na9VH?QsPHki7$c@y zbOTDTxdpsg09?wHFW%yWFUeNieIyVYWBtZhmz6S{@N4=(a4GswixYK7;Kz*O5Tgp+ zx6Ry_*ynnJT34I795>iqI!nZ*(lH=oo==qNZ+cr;vS+`QlMZWzT=8dkGLA?&0(>eJ z#wN~ncFYHS&F)n8pyeFM=Us%-z8W{$-vr=I-*@6cab;!$I$nBe<<TfS#XlmNOgYx3 zY&L6p=D~82-*(*=TO(sG!J7J{R#ANU`9<$fy~u@99(7%rT}C_wJ*08ZF}*cD&Cdmp zh9UoFx8=OWaXH$9(WA=U3?ii|M1lD7Uf^6Vl`{JC{10<MVzIfOqL)Avh_<(%?`9uj zh??zU&02WbBu<`S=(8$i@Gh&<U6s>j8T<3!;(p}}N@j7{nlFBxssp>TG8&l=aKv~G zjUy8Xg3a-2qP7<JUwI6zm0V&PwY1<=+{QbC+J+FIW9_s@ubEw}5GdNm<SEu>jFktw zFm0Q0T0E2Vf3BeYFbGU5u#+WyHWf1rJ*A^?O19w?f9YS%n3L>ui@M9D?lS)QfF)@y z5<b^Ky})6_Ae~2@`t>pasl_L9$$*L!FdG@)*RxMO@7$b<4h}|=orNo|I5i~DhzL1I zld;r=ztF#qFlC}+OiI~aCG2+=m<@Peb)74-bIA)uPZJ(9OWwxoH?zINoj&1R8dq*W zPju?f`2`SJ3Y^ZV7N)r{BBmP|N_ONt>9#2gXQhGNCWbeWK(FWM@oJs6k0(>b_al2^ zYO~Xp<C~$`TxkR;it(}|yJaobI74n_CAcYHduga-V|YezolP92wLb5~yqrzaVBQ^1 z+|^7?>@IC~JGp;vKr{H@tTda%$=nMaqoWRZ<D{I}u{YD~O5(@sP;!I%aktRh?YTj^ z+yRwSa9GZ)q-;bR8po5_&i0gwL+yV2H<e(Uv;n0^Z1UMLgrd4ol{9)W-Z1Mi(>pRD z;j)P*J7DvngurfgrS0kKBrFAKqO^Nw!=K~d-;?X96tc)g8X)UN!c!bbyByEp=OlVH zWXt1$2pnrl$Pw}9<TwqqjS3|E1^7%fbB?R_WOl&5VaS1*%VY5ly3)gPZ~FqAbn$XA z#q#T|*^hJVh0BwfEaIF@FG;_lvTx`PP|w`ABO8nfNO3#Vaukd!O*BgsBzm#lE_el~ zddkCb4d+i`NUe$MiPY{er@Pw4@+vYD4~(c|<GUv#vZ$=5HPQ3P4Qll2ZFlM;Z~<lv zF;POsFyw}sAo|etp>Q_m?$VH`S78jVjmnX4XEDWG;3W{%R|jlWJu$myG3Ogr-^3d? z8j{^G6l6RptOrx?7T7U~h}7U`rO48~cN6BHlcN(qsdQUcnaq+(AV66|0c`P4KSNmJ z;DDy>?5nxt1DWY(S8v#)^K7I?B%K(e&M)7(QO+LS#cK42YbyZv^(03^6oMPWjup8w zApxXP4rqcu<_$mBE>|Y$A1xTDW(AZ?sFYK;z5ID*kQ8%b&m#G$laD%1P~=;=6>~X? z$kmu58~He9>PhYW{JKqbHd1EBdjM>j7N_w|=4hd2B2>&{MnNpDMXQIpBS>T9r5zZC zZHXIN^Jx{MAuhGNVtUHb4ro4<rM8JHI5`kg#&vr)WQwmE60aUMVp{yfypTLiE&L!$ z(ahJZJb4BnGUxJJX8#&T&c!za1VrYqC3a?qh;-@@HRO#Qqac%$Ta^7wv{jZ{>4SC2 zl1%rY^U{nh4&9HWN-b|^T-Depmg?U4u;F7;zb4y0Sfr2R<V#i_NQxQfZZeHqtE&Gx zIdV9w-0u*C93R5G<e)1UQPAf@;Uzzj-Z|h_Rx}zE+R&vr-A&Ma?jAF5KlAO4xB?ey z>L7NuC!_Re0-Y@pQ~Thzx|D%)4wDQ$iMcNoryE}W3ge}9XHvgr9%#u11bD(v@1lB4 z+b;xhY<*6(`GsUFp}sO4v8@D8dp&}5wxvhMxLOl=jFHxYFBKbKLK>Bu;h_V97eA(s zHpxe4oUgB{ixA#GG(Y#59d)~tUqTDETUCNziex#~X5Lih*(ZJ*DoR8A%+n@dc?6;C z)NMd-2yNQxl5sWiFo~rxPY~jta_CxvzI75P8#7g97E5-7P-}y+C7VMAoWr0J#frnD zb;7W6o&EU6R_8jVcW|`kg6CG=<v23r6hBCgJc?|957N@AFkuohX%;QGsXdEhP7)&| z#Z##-x1ZBUqV$Q!T+FyH070MiYaV#zQ%g%5U3^;8lY9U-K*vY+bMmr`zH|n;o^2aB zcez))GM2BN%baUbw`P}CG!bWr*}1{-NpL~4o?SH46xLuJc>~Q?b<4!l+f=w`m3lKP z!8K?pqbrdUPBARD3cV(;<b7ELRlsioD+t(=o1SCn(RUQ|=wz=*dFlvmEtlvhY3vw4 z&Acm6uQqGwRb48<DQ_#{scOV%2!e+uR8j|4;5DV4Xvw04`<as#>I({1nn_he#PwwZ zsK4^E1{kr>X&}G)f}G68!RRBFYLim>sgmA1M8}8X5W`FZK)tuzrC6Wg)m12{#M3&+ z#ysXZyPIJ9Bf3c;H8~)9@6h<`%wWJesYJH)nAhNK$bLB#wId4ur<JjBj!$K-+M6%X zTs^UjbWj`KIGcDsGgV-`9$TY+SyBR1%%{&%H|5tLhycb|&NqQfgAD~g?ZJr5S-x;? z|7sgI38${i_Oa)Oxz2c_nLhjvnUFWYbjh@d+Xnmeiffu<tXGuW&TlS@j~uSK+Ja=O zu%b)6@|@lTO<!Y#e5P>pAsBqttvx$+<;&#~-!__WNOOG~?>WX*_4c~_U~C?lU{GME zUkdhZPsg2S+|#V=jn~#r*%9KgMpE72sad--w9YDG=?%$jCh5*ZuKynYLpak?W1*|o zj|Gt(jUe(FJsYed!DZc3qs>pCWdD1|JLcG2g|h3sE>Lp;;1afYC5i+zDo%|)FiZ$o zjG-@)Ni9Xp*LROcC&7-1e6IA7UEFL?&zB%gu*ZR&0(C<NbJ^F(17>qxaw1uf<D}dg zW%p7z$&e;VJ^JFIkX7OhMU@5)>zBcYIXayxhOF5O?rnSqTe-x_K%Vb9J&D1?7z+u* z1+>lGYdn#b)6kS7Li15@_`~hR;Eh13d+`w#Yx@@)GefVJP2E%ho+jw!Ql5%U8CE+9 zUNog^4cp|T^$&$x`>IQ7!AS>lQ1CKFJGpNaOZjszb*$?CAv}nBWAd7K+mQIY)1kEg zs@bJ(`tI8uQwonH13@z^=hzfuggt@0w<&WO$GAeJdN!Ie&aY?1HA@$no!>>q`T_8U zB;P}{b#XMH58KmMjzpxqc^?VK<9D`Rqm$bjX0G}#O*P<vQ;@0r;15$Qg1@H#F~Js6 zOre7Z#s-Y0x}ggdvm?Tnnk50f=PPK-MUlqHh*@pOlFuQ>5k?cQ8y4#}zij^k43>Oc zZ25`ZADVSgZ;7bIHo(;hkxCx}MmwFiOCO%*gqaZt-*K9XNM+nE?nh(V<X+!R*xf0& zS=9^@To!k8&0!z~#g4LArfJ73OTNcGwD8fyIU89o<LV8mK8Qxs55=GQhWYI*f9<HM zHC~C};`MxEh56|cidJt@_a&kDMb|@sKtC5Q^t;0^!1k9j%wK>x`kRXHp}mq(o#z&@ zrKN}2O={bb$PlW05`jzdQ;1_=gQD+c<$bU5eG}$kBw$bCRjo-kgN;RE8Np4@g-|q_ zwk7_T^`P{!b9<Tk=M%*CKv^oj8ye|7rck>0#j)Ux3RJG$_^Zt*;|vDNAwK2(R1pk` z+d+z|k&1!ETbJ2qM7Jx4(U=?Q`#pv~73<9It??969tzRv6S?*28<Rx_F@WN}aGl!U zh8Wu74^WP6ayfC8k6*F0L7Fp9NXT*31N`IJ1||aQcFJ}@4Y`_8@spMd75k(Eea{T0 zhiXR`3=;>rD=<WSk>db7@txmp`U7q<f=Xqna%V<%c|JU?y~`#~_FIQv7N!teKxmA! z{mI%8dVTo|z*j2F%I3h;Hm8YG?M3^sNcd8ZhsL^>sql6C(18XPa-B+*z}rldBGX;h z;>s*;kkrRy30_FVm+3aM<(03ny^T<+102-a(8jtNDEvhgieSSv>yuMDI(T}@?*s)> zk^Cd`;fF@10U$LhW@JdZgz1PCv1iyjDYZET1Eku}U$YMijux6uBbW8#2M?B?^B6`g zthTpmv`xp#M355fK4vyeDT&z?h`uEEDM~kw_7*<<s=!KDPIIWpcEnb&%RooJStXg@ z#iz&~k%eU&ht;fIw;)ovV|!U}^z^QC&bJ4?bzgt@4nFxre0VFrG9g40|5p6fp81gR z4k#ImHLD{v7g(u9#N$wv`>7IjkEukA2f}E=-Q&hu5EOR>e_o{3!Nty%&=WJkB`IQk zJGuEWbNWJ=T-7*Y^kCX1gY85zl=kk^aB=id^=148X$g*5kTSFIn1O50T4}ZVXDgN4 z?afL6Bw=6Q+8hceBTD{L0K<#+>`98Q^(7I(;>~6@`DxrSaq*NPJBUtPr^vn>F7bq! zy$ewKu3VzRh*O1=+%x6{f%v-4j`XO}oi^2bOhfjfeEi!d5Z=jm!61OXe46wgaq;>) zIM|&T{0)CXkgpdml8U+~6SdS0Sb;FLmCJmKz58^6XC2pRQxh#$ozs4iV;B6kjY&-1 zC2O57Li5cv5m#1xx6K8_(8B0JUecY$=(+l#(gcxg4BU3NSB_oPZN0rPzEN=hTrM{^ zk6zr=4>W@|2$9?rULtGW65Vy#FegMwld4Q0>$(^|#w={y>7nEq8`H6>Vj~vB$c(AX zWbn?!2fr&bNEUR=X7mf-Y^f45C{a*tZ)q|@q`EI#D&^pCdw8gaaPEiig)HK*!UWPn z-J}5Ew+DwQ1!*j<lVXnAccD*`UDEQZtT2~lNpB12_dO`BvAiE&`N_|}9ZJMMW8;W( zt1Cp@TSgWaN+2O$fTwV<XeBSc!UWMcGLTK5?byjCz<CE>P-OA^NXaF;eyCh>;Z##Q zsCZ2-c7OnTX`n_zdNCV>bp?agP?K1hNi0$53v-yS*4|1xLC_Z~_Tsv4ml-g+6ln`C z7qPgR-$IB$X|lHZbY5F2@2`qCb&^V_3l7)XZ=183#~C_aV;5NG4Yxblu;_l@&8Sj1 zNK+2xao={~d3g@qQ+)YNlW#=m?Bv^+T_Zc+FF;29-IS$n&3(cN?Dri20-f>ePiJ_} z5c0O4hw$e3haW-_Qf{+`Q@73)`ai|PwgK#yJPexoTwrTTPi_BUiJh&`ePydgpYu6+ zoGz%{ssSsjlFQGTG$TO&>47SM)oimB>@{>0o5fV>3>Ql1?>idVHfyE!jjZ>l{)_Wj zx^s0dD1SU|)e`oJ-PB5;UAyA>X;kP=+F)v;(h|1tj|B=1>R#E+8mca`kF0$oPVOh7 zb)2C00`FV<RE=Zh?cMHX@!Hd39;64PhC2^(>@(yomn<Le1xL}?Ho5VFw?&hPT|-j- zhH0&_SJ`Qt#@5&ukp^gxiF&3pDV0m7?~xG+A4#N=VV9&zat`x*b-MYV{XAyxA_+DY zMDLUGzP*YC8zrB3hAq@Ok5z5Th4fQ({Q|tVH}hA2sQ8IoyJ}`+T<hkRi0k>>4>u%2 zU|ookecBv%SFD7)eF;OoGi5)LWUHsdL;su#_a~ZiU<=H&{b*F3J6-o5x4C&0-&;OR zW*(;wZnaPR4DaEoL+d{8ijyW4ay0y&rX*ABYt=_7nrCw1eBN!ZE6+eB*JJu-w#^-t zVk^`j(7T(xCz&yG@NJpFdz7IgKggAE9eUfj`p(tTD1LyI75_`U=e!z%g2JaU7fyS( zFMhI4-wO87b(0uSis@Q<9-MCapGKh6E^Y6*W40nMC-YhGuQ7(B+B64jraLZE^{MRL z6(KL=2GpWuLT5tmmv0*@i5=t}32rE}Ak~TpwUcya!neN9eG|+CQ4Y8v)1B8d`Z11r ztL(i$L6n-v6u<$=`|~lc4u^%*Q+I)7VGwM?`@^85GBF(X43qGwSzkc<MwY9_-Y4S~ z>mXZ1l4G5U+V>6vHT~?P^MdHSkt=q?F9%5A*&zdy2CUhxl6qXCj_(;)t8cd?raFF# zRB3e&rr*5*t;G%sEq8j6$59N3wIPOB6j1~km{=}PkSomFzVnshj`p0`3Deo&?DhVU zjyYGHIK<JDQ%IFDib71WHtHqyp-z*aSl&X(#DF~6G(PVGF)n1LS(D3imAudJddcyQ zDbF*=lV;86gZNtwe>E%M;n24+ABB@)Rl5}S<JXmh9HYV$U$y|=dnHoZ4v_R@RW`Ry zTyy>-*slZi$P<YiMLvn9+{T25K6waZREpEe+pxFeNI48kDA;3!hKUa@`$P#r+O_i@ z3fi!B!@f#sT)kiMUkV~w(}yw`ipdbq*5CU}#j~bS`)JRu7&+|YDb?^dyv}DM?3G9W z<Sh_WrtL1Q@jp}071srlP-jrH-gha;gojGLVVy(LY*IU{t8s-ws8TIGkWXFcx7ywh zUDI#2Wt-c5T4Ukb%Dx#uYoIYYTLrEt{{m2%1gB574N1JdJr0(2b@}p{dw@}z9y32# zLKQdQx{h;R+;Ee{jiJ>nbCT0s%3pavHzf`?@LQGMn1En2rdWUL2pyS7=7*~A1{#^C z!XJ2+!)7F$a~jXZnWw*K+P=ssqBcfn!@}Ci3I5o^vp?UYm&IAA_-pQgF~HhQsqzc; zsbyVpFn9>#ZG3pX7_zL!hjyA=DV1uKn=-3i@|l5$DYccX9mhpOQag=zjwW*7@@?&G zB@k)+AD9`p)ViNff>q$QL#)4*aQ3X0S(|A=7Gk71h4qhBKDG%0wyw&miz!nhWLhk$ zv#^BmPuMVCPd+<i>7OtQNsW3X^gfV5#@2dL=k0C0)WA<pO+<f9t#b_D&CN}OWp~uA z@wN~;wFKRTNq9?~pHos#s4ZW$njp1SykQ(s4@cAj+uc1)6Kad+jOokaISk9WjJegI z-6XNLtS=)Qs`<fnDG^u4`Pw~1Q|{;Ga<IfXRX^#h!j@Jik9iuydbE26$x%MW<rV$H zuq4L!gzCe_G3RxK))bAIMfQ`i%uOBOc329{xbJ!1>`(ibW9Kz%`nKIJcWA<95;eqJ z?Npw|{_o6MUZY!dj|+RRwn~;cGIkO!Y$B!cha+|Hkyq9)0fx3-ziXT5p%?>c^7q%> z264eIVp*MUy)73ly(AM7Hs#N0m35s0U6B{BKKktKTQIqAJ^*{60VHrfw-clIwm0AQ zE@}({;(h`08txW*8sEY$W8GU{#VlXO-HR(TDoAT7NcL=53Td9(_ugRfkI@UP9)1f$ z#d=;VtMZYS%Q8E!K%iJSfjhRL@@HVy2-^p#w+Xeb!Qhe!Vn<1XB{Fy2gtEF|!vV;> za!Yffyl6a$o&t&=N8EE%x-ZF6X@1jN<iR0~d4oF@NgLn>hr7TD!x<m^OP6hB1*NTU zlmis;g+ZKqjhW*i=nlA<jtp#!|CVxbFJ95wqJ=2IiGxi?b87j_?|z(gMF6=*WO<GX zd^_~8bVdQcxti_T{4S|BClSl{_El0|R>qD**WuT*PH<Rx*Y4Iq&+uM~Y4kbIcULaW z?}8FvM{o|B`{cJ?qbU=zfE|o`>FC(PeohY7X^_i?1sPa|-sb2IpQ{GC90w0hNE`bu z<>q;Z9iQObfT*|;ej;^|3NH}|l<_~1+OwZs**tu0z7P=Kh9`4ugHIXr&NNT1K9G8$ zXBw^E#2-020=I*GmN1-;)w5cZhMoDQ7C+(Ln4HR<aN$QUcn?w6eKWrVaZu@Z_zxx- zu~!aExnDG517eo=_%C?G^y%bxGLr!W1Wd&8<EGRv%%CwVpT38kCv0SVIP^aWq4tlO zki&zJYEt74#lNE?@x4b325yEf8?~f(p7ZtgAX`H}44+{B=+2)KpYCjr|7;u2vnMVx zr2gX5k<w~J%x%ZLLVD`frTcx)=(XdH)C5<1NX^gaLjTL3Xn1Fhvfb0w_cZRFmGl?& zo#_Yjo1^q-FMe*T#F&qO=%2^5+XUM8ck16+T3UW~^vfgdM&5659HvXxcDb%@)n29H zuIW>2xK-L{B;0)0wlpAIC)yHfp}OMu>=&T!tFJ6u5z(pT*#q`$7kWP_*DKeMg<>;# zVXbbP;#YJEMsC0sLJCpx_3OHkp3hYSdB{yvcw@Di9>GXUJ42mk4^6G8m?;i^!j3iD zw%BeH6l+I{bnHoNxNS_x)4k`o8Sf0F1b!+~1eYwGWenw2lMUR+Yrma!X=Y;<KqtX< z;Cvz~?m|IKxsgGg;MxC--?q3m0cVYK0wU`LN@U4(&#xpH(v!}E7O^YcH5rM-+8S>~ zR_6QlYch+Z5Vj&mmLq98`C|DR!AgaQi^|T30e-L7qj|@upPilzP^Nmt=A@40#%gWv z#-eSF)PHRnh5BMyFK3ssAbE}fGOcD{SKTn>@LAv46K6?tg<-0zl=1=XoV@AwN|3|H zEvO~GI|j$^e9yr(p*xhdH>Iz`>j@Dg<*U@EHdaqUB(nL0FR;2gUiVe{?B_|>2#QOy z;5GIHk|=7xxN-Jli9EuYaNpTe7`p8<5Pj}`6vBLzW<{O^y^KDGtPjpqI{^0_s4B)h zCla{X-0UxY0m5GweH6~<>ZwcGx6Y^fXu;#R<y=I#Y)q**Kq3bG(IR$dNPaK-fun%y z<Nf%{vzm|w%Y<9XNs6a~8f-hJnfKaNN(-dNQx0jd#UY?->ZGZtr@}w(7R2urimn}{ zdVT^MHbmbzg&<EZMaSMtl#FxKp6HH?3{!I|F1S6t_p}tplpM@U-sFG3A&u6PIPv{% zA<ME)O*XWnIQjD3F92Ob2Aa+t#Qnr_H*mM)TvnlZA_-ls=zCT;=QFXC?`Rjq;IoI$ zQlvCnEA+fg5%IjPlz8XSiUH%emWFSZdyockfk@NRpY|Z3zAlKiYlj(6FB!Qljh)4+ zQCQx`%UWx3=`uy)WSlMy-`0%heZGiY9foNyH>-z(=0Z87=;Mb2I0?n1LoG_ue}3r> z6+G~}q!-KVEJ@QWj0^D@r6PUk6kRe!wNYc^Ug=NpsQRRMCrkHsoNcHowoh-qIQz=p zn^`xeNk>rw3dvmEZDTzUVZ~a(zRu475h{9n+P9S6{7l$6JBzOQBcb&3q{<8KlBlPY z{b5IJ1S)rp8ny{8?`FMKh2wCYaGJV!8MeOUejoF%i~9Dx>5%voHNcHgtKUs7DC(Nd zLtg|Qy%#y>!D$bnBV{y*A-xCZ+4a#eq0~H^XM7(YPVO6d|BaZdk);*d54K)Oe8>m@ z(TgwKd!;DI#N|4wMkm<yC-uRa3;feluNM0TP-gILDMT2uCC&h+mXa1<=sldC^oL?r z|8Ufcbwd5zQW|1|y~f1x+@CV-P;1=Nd#=DhIj}Lk6fUkgm1rfwKW|g&C4CR~L`a!f z_o0jK6AC|%&fJ{cZi^YKbFLWjUc^IXAbZ1#DvEU4*WNQM6eg#Hf)Yc%zLBjerc3Zl zuZ|@K?k(N^p*zU|w6TfQ<=~Q;*(@pvKh!@bZzsaSykynU1fl-xyreBJ6?<c!syfTK z&^s>TK@o&FthtW{ojaXbQ)sX!o{OMq@NB`8!<2y0budCC9Rm5o99-v>fP~DC)y>G8 zl_+NIMw~=<>O^{AH2QMFN9dl{vk?=QK%V$<iuvnFB%=oIPVe=&3+J(A?F98VSjM$z z7lSz8nG!t{TyoA2wH8kT*}goBSrDAxK*vHw&a3zZKs#Ul1t3;P2bhjBB	I>lEAO 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X8MRAjo;TABaUtA+&>Z*4 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%0AjF_o1HY4v*(hNbN%ZikCO;s`an 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 axYj@8*313Z{{Yf>>$1;lnbV!tr~ldH1hv=z literal 0 HcmV?d00001 diff --git a/src/captcha.c b/src/captcha.c index ca6dfe0..e369ffb 100644 --- a/src/captcha.c +++ b/src/captcha.c @@ -62,7 +62,9 @@ void decode_captcha(char *cfgfile, char *weightfile) float *predictions = network_predict(net, X); image out = float_to_image(300, 57, 1, predictions); show_image(out, "decoded"); + #ifdef OPENCV cvWaitKey(0); + #endif free_image(im); } } diff --git a/src/convolutional_layer.c b/src/convolutional_layer.c index 67c36c3..e29d995 100644 --- a/src/convolutional_layer.c +++ b/src/convolutional_layer.c @@ -227,6 +227,15 @@ image get_convolutional_filter(convolutional_layer l, int i) return float_to_image(w,h,c,l.filters+i*h*w*c); } +void rgbgr_filters(convolutional_layer l) +{ + int i; + for(i = 0; i < l.n; ++i){ + image im = get_convolutional_filter(l, i); + if (im.c == 3) rgbgr_image(im); + } +} + image *get_filters(convolutional_layer l) { image *filters = calloc(l.n, sizeof(image)); diff --git a/src/crop_layer_kernels.cu b/src/crop_layer_kernels.cu index 98d1ef4..d60cc0a 100644 --- a/src/crop_layer_kernels.cu +++ b/src/crop_layer_kernels.cu @@ -114,9 +114,9 @@ __global__ void levels_image_kernel(float *image, float *rand, int batch, int w, size_t offset = id * h * w * 3; image += offset; - float r = image[x + w*(y + h*2)]; + float r = image[x + w*(y + h*0)]; float g = image[x + w*(y + h*1)]; - float b = image[x + w*(y + h*0)]; + float b = image[x + w*(y + h*2)]; float3 rgb = make_float3(r,g,b); if(train){ float3 hsv = rgb_to_hsv_kernel(rgb); @@ -124,9 +124,9 @@ __global__ void levels_image_kernel(float *image, float *rand, int batch, int w, hsv.z *= exposure; rgb = hsv_to_rgb_kernel(hsv); } - image[x + w*(y + h*2)] = rgb.x*scale + translate; + image[x + w*(y + h*0)] = rgb.x*scale + translate; image[x + w*(y + h*1)] = rgb.y*scale + translate; - image[x + w*(y + h*0)] = rgb.z*scale + translate; + image[x + w*(y + h*2)] = rgb.z*scale + translate; } __global__ void forward_crop_layer_kernel(float *input, float *rand, int size, int c, int h, int w, int crop_height, int crop_width, int train, int flip, float angle, float *output) diff --git a/src/darknet.c b/src/darknet.c index 779d620..0679ffe 100644 --- a/src/darknet.c +++ b/src/darknet.c @@ -73,6 +73,25 @@ void partial(char *cfgfile, char *weightfile, char *outfile, int max) save_weights(net, outfile); } +#include "convolutional_layer.h" +void rgbgr_filters(convolutional_layer l); +void rgbgr_net(char *cfgfile, char *weightfile, char *outfile) +{ + network net = parse_network_cfg(cfgfile); + if(weightfile){ + load_weights(&net, weightfile); + } + int i; + for(i = 0; i < net.n; ++i){ + layer l = net.layers[i]; + if(l.type == CONVOLUTIONAL){ + rgbgr_filters(l); + break; + } + } + save_weights(net, outfile); +} + void visualize(char *cfgfile, char *weightfile) { network net = parse_network_cfg(cfgfile); @@ -80,11 +99,14 @@ void visualize(char *cfgfile, char *weightfile) load_weights(&net, weightfile); } visualize_network(net); + #ifdef OPENCV cvWaitKey(0); + #endif } int main(int argc, char **argv) { + //test_resize("data/cat.png"); //test_box(); //test_convolutional_layer(); if(argc < 2){ @@ -114,6 +136,8 @@ int main(int argc, char **argv) run_captcha(argc, argv); } else if (0 == strcmp(argv[1], "change")){ change_rate(argv[2], atof(argv[3]), (argc > 4) ? atof(argv[4]) : 0); + } else if (0 == strcmp(argv[1], "rgbgr")){ + rgbgr_net(argv[2], argv[3], argv[4]); } else if (0 == strcmp(argv[1], "partial")){ partial(argv[2], argv[3], argv[4], atoi(argv[5])); } else if (0 == strcmp(argv[1], "visualize")){ diff --git a/src/data.c b/src/data.c index 425d216..ad48592 100644 --- a/src/data.c +++ b/src/data.c @@ -69,7 +69,7 @@ matrix load_image_paths_gray(char **paths, int n, int w, int h) X.cols = 0; for(i = 0; i < n; ++i){ - image im = load_image(paths[i], w, h); + image im = load_image(paths[i], w, h, 1); X.vals[i] = im.data; X.cols = im.h*im.w*im.c; } diff --git a/src/detection.c b/src/detection.c index 29b67d9..ac93efb 100644 --- a/src/detection.c +++ b/src/detection.c @@ -6,31 +6,24 @@ char *class_names[] = {"aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"}; -char *inet_class_names[] = {"bg", "accordion", "airplane", "ant", "antelope", "apple", "armadillo", "artichoke", "axe", "baby bed", "backpack", "bagel", "balance beam", "banana", "band aid", "banjo", "baseball", "basketball", "bathing cap", "beaker", "bear", "bee", "bell pepper", "bench", "bicycle", "binder", "bird", "bookshelf", "bow tie", "bow", "bowl", "brassiere", "burrito", "bus", "butterfly", "camel", "can opener", "car", "cart", "cattle", "cello", "centipede", "chain saw", "chair", "chime", "cocktail shaker", "coffee maker", "computer keyboard", "computer mouse", "corkscrew", "cream", "croquet ball", "crutch", "cucumber", "cup or mug", "diaper", "digital clock", "dishwasher", "dog", "domestic cat", "dragonfly", "drum", "dumbbell", "electric fan", "elephant", "face powder", "fig", "filing cabinet", "flower pot", "flute", "fox", "french horn", "frog", "frying pan", "giant panda", "goldfish", "golf ball", "golfcart", "guacamole", "guitar", "hair dryer", "hair spray", "hamburger", "hammer", "hamster", "harmonica", "harp", "hat with a wide brim", "head cabbage", "helmet", "hippopotamus", "horizontal bar", "horse", "hotdog", "iPod", "isopod", "jellyfish", "koala bear", "ladle", "ladybug", "lamp", "laptop", "lemon", "lion", "lipstick", "lizard", "lobster", "maillot", "maraca", "microphone", "microwave", "milk can", "miniskirt", "monkey", "motorcycle", "mushroom", "nail", "neck brace", "oboe", "orange", "otter", "pencil box", "pencil sharpener", "perfume", "person", "piano", "pineapple", "ping-pong ball", "pitcher", "pizza", "plastic bag", "plate rack", "pomegranate", "popsicle", "porcupine", "power drill", "pretzel", "printer", "puck", "punching bag", "purse", "rabbit", "racket", "ray", "red panda", "refrigerator", "remote control", "rubber eraser", "rugby ball", "ruler", "salt or pepper shaker", "saxophone", "scorpion", "screwdriver", "seal", "sheep", "ski", "skunk", "snail", "snake", "snowmobile", "snowplow", "soap dispenser", "soccer ball", "sofa", "spatula", "squirrel", "starfish", "stethoscope", "stove", "strainer", "strawberry", "stretcher", "sunglasses", "swimming trunks", "swine", "syringe", "table", "tape player", "tennis ball", "tick", "tie", "tiger", "toaster", "traffic light", "train", "trombone", "trumpet", "turtle", "tv or monitor", "unicycle", "vacuum", "violin", "volleyball", "waffle iron", "washer", "water bottle", "watercraft", "whale", "wine bottle", "zebra"}; -#define AMNT 3 -void draw_detection(image im, float *box, int side, char *label) + +void draw_detection(image im, float *box, int side, int bg, char *label) { int classes = 20; - int elems = 4+classes; + int elems = 4+classes+bg; int j; int r, c; for(r = 0; r < side; ++r){ for(c = 0; c < side; ++c){ - j = (r*side + c) * elems; - //printf("%d\n", j); - //printf("Prob: %f\n", box[j]); + j = (r*side + c) * elems + bg; int class = max_index(box+j, classes); - if(box[j+class] > .05){ - //int z; - //for(z = 0; z < classes; ++z) printf("%f %s\n", box[j+z], class_names[z]); + if(box[j+class] > .2){ printf("%f %s\n", box[j+class], class_names[class]); float red = get_color(0,class,classes); float green = get_color(1,class,classes); float blue = get_color(2,class,classes); - //float maxheight = distance_from_edge(r, side); - //float maxwidth = distance_from_edge(c, side); j += classes; float x = box[j+0]; float y = box[j+1]; @@ -40,7 +33,6 @@ void draw_detection(image im, float *box, int side, char *label) float h = box[j+3]; //*maxheight; h = h*h; w = w*w; - //printf("coords %f %f %f %f\n", x, y, w, h); int left = (x-w/2)*im.w; int right = (x+w/2)*im.w; @@ -52,184 +44,9 @@ void draw_detection(image im, float *box, int side, char *label) } } } - //printf("Done\n"); show_image(im, label); } -void draw_localization(image im, float *box) -{ - int classes = 20; - int class; - for(class = 0; class < classes; ++class){ - //int z; - //for(z = 0; z < classes; ++z) printf("%f %s\n", box[j+z], class_names[z]); - float red = get_color(0,class,classes); - float green = get_color(1,class,classes); - float blue = get_color(2,class,classes); - - int j = class*4; - float x = box[j+0]; - float y = box[j+1]; - float w = box[j+2]; //*maxheight; - float h = box[j+3]; //*maxwidth; - //printf("coords %f %f %f %f\n", x, y, w, h); - - int left = (x-w/2)*im.w; - int right = (x+w/2)*im.w; - int top = (y-h/2)*im.h; - int bot = (y+h/2)*im.h; - draw_box(im, left, top, right, bot, red, green, blue); - } - //printf("Done\n"); -} - -void train_localization(char *cfgfile, char *weightfile) -{ - srand(time(0)); - data_seed = time(0); - char *base = basecfg(cfgfile); - printf("%s\n", base); - float avg_loss = -1; - network net = parse_network_cfg(cfgfile); - if(weightfile){ - load_weights(&net, weightfile); - } - printf("Learning Rate: %g, Momentum: %g, Decay: %g\n", net.learning_rate, net.momentum, net.decay); - int imgs = 128; - int classes = 20; - int i = net.seen/imgs; - data train, buffer; - - char **paths; - list *plist; - plist = get_paths("/home/pjreddie/data/voc/loc.2012val.txt"); - paths = (char **)list_to_array(plist); - pthread_t load_thread = load_data_localization_thread(imgs, paths, plist->size, classes, net.w, net.h, &buffer); - clock_t time; - while(1){ - i += 1; - time=clock(); - pthread_join(load_thread, 0); - train = buffer; - load_thread = load_data_localization_thread(imgs, paths, plist->size, classes, net.w, net.h, &buffer); - - printf("Loaded: %lf seconds\n", sec(clock()-time)); - time=clock(); - float loss = train_network(net, train); - - //TODO - #ifdef GPU - float *out = get_network_output_gpu(net); - #else - float *out = get_network_output(net); - #endif - image im = float_to_image(net.w, net.h, 3, train.X.vals[127]); - image copy = copy_image(im); - draw_localization(copy, &(out[63*80])); - draw_localization(copy, train.y.vals[127]); - show_image(copy, "box"); - cvWaitKey(0); - free_image(copy); - - net.seen += imgs; - if (avg_loss < 0) avg_loss = loss; - avg_loss = avg_loss*.9 + loss*.1; - printf("%d: %f, %f avg, %lf seconds, %d images\n", i, loss, avg_loss, sec(clock()-time), i*imgs); - if(i%100==0){ - char buff[256]; - sprintf(buff, "/home/pjreddie/imagenet_backup/%s_%d.weights",base, i); - save_weights(net, buff); - } - free_data(train); - } -} - -void train_detection_teststuff(char *cfgfile, char *weightfile) -{ - srand(time(0)); - data_seed = time(0); - int imgnet = 0; - char *base = basecfg(cfgfile); - printf("%s\n", base); - float avg_loss = -1; - network net = parse_network_cfg(cfgfile); - if(weightfile){ - load_weights(&net, weightfile); - } - detection_layer layer = get_network_detection_layer(net); - net.learning_rate = 0; - net.decay = 0; - printf("Learning Rate: %g, Momentum: %g, Decay: %g\n", net.learning_rate, net.momentum, net.decay); - int imgs = 128; - int i = net.seen/imgs; - data train, buffer; - - int classes = layer.classes; - int background = layer.background; - int side = sqrt(get_detection_layer_locations(layer)); - - char **paths; - list *plist; - if (imgnet){ - plist = get_paths("/home/pjreddie/data/imagenet/det.train.list"); - }else{ - plist = get_paths("/home/pjreddie/data/voc/val_2012.txt"); - //plist = get_paths("/home/pjreddie/data/voc/no_2007_test.txt"); - //plist = get_paths("/home/pjreddie/data/coco/trainval.txt"); - //plist = get_paths("/home/pjreddie/data/voc/all2007-2012.txt"); - } - paths = (char **)list_to_array(plist); - pthread_t load_thread = load_data_detection_thread(imgs, paths, plist->size, classes, net.w, net.h, side, side, background, &buffer); - clock_t time; - cost_layer clayer = net.layers[net.n-1]; - while(1){ - i += 1; - time=clock(); - pthread_join(load_thread, 0); - train = buffer; - load_thread = load_data_detection_thread(imgs, paths, plist->size, classes, net.w, net.h, side, side, background, &buffer); - - /* - image im = float_to_image(net.w, net.h, 3, train.X.vals[114]); - image copy = copy_image(im); - draw_detection(copy, train.y.vals[114], 7); - free_image(copy); - */ - - int z; - int count = 0; - float sx, sy, sw, sh; - sx = sy = sw = sh = 0; - for(z = 0; z < clayer.batch*clayer.inputs; z += 24){ - if(clayer.delta[z+20]){ - ++count; - sx += fabs(clayer.delta[z+20])*64; - sy += fabs(clayer.delta[z+21])*64; - sw += fabs(clayer.delta[z+22])*448; - sh += fabs(clayer.delta[z+23])*448; - } - } - printf("Avg error: %f, %f, %f x %f\n", sx/count, sy/count, sw/count, sh/count); - - printf("Loaded: %lf seconds\n", sec(clock()-time)); - time=clock(); - float loss = train_network(net, train); - net.seen += imgs; - if (avg_loss < 0) avg_loss = loss; - avg_loss = avg_loss*.9 + loss*.1; - printf("%d: %f, %f avg, %lf seconds, %d images\n", i, loss, avg_loss, sec(clock()-time), i*imgs); - if(i == 100){ - //net.learning_rate *= 10; - } - if(i%100==0){ - char buff[256]; - sprintf(buff, "/home/pjreddie/imagenet_backup/%s_%d.weights",base, i); - save_weights(net, buff); - } - free_data(train); - } -} - void train_detection(char *cfgfile, char *weightfile) { srand(time(0)); @@ -249,7 +66,7 @@ void train_detection(char *cfgfile, char *weightfile) data train, buffer; int classes = layer.classes; - int background = layer.background; + int background = (layer.background || layer.objectness); int side = sqrt(get_detection_layer_locations(layer)); char **paths; @@ -301,7 +118,7 @@ void train_detection(char *cfgfile, char *weightfile) } } -void predict_detections(network net, data d, float threshold, int offset, int classes, int nuisance, int background, int num_boxes, int per_box) +void predict_detections(network net, data d, float threshold, int offset, int classes, int objectness, int background, int num_boxes, int per_box) { matrix pred = network_predict_data(net, d); int j, k, class; @@ -311,16 +128,16 @@ void predict_detections(network net, data d, float threshold, int offset, int cl int index = k/per_box; int row = index / num_boxes; int col = index % num_boxes; - if (nuisance) scale = 1.-pred.vals[j][k]; + if (objectness) scale = 1.-pred.vals[j][k]; for (class = 0; class < classes; ++class){ - int ci = k+classes+background+nuisance; + int ci = k+classes+(background || objectness); float x = (pred.vals[j][ci + 0] + col)/num_boxes; float y = (pred.vals[j][ci + 1] + row)/num_boxes; float w = pred.vals[j][ci + 2]; // distance_from_edge(row, num_boxes); float h = pred.vals[j][ci + 3]; // distance_from_edge(col, num_boxes); w = pow(w, 2); h = pow(h, 2); - float prob = scale*pred.vals[j][k+class+background+nuisance]; + float prob = scale*pred.vals[j][k+class+(background || objectness)]; if(prob < threshold) continue; printf("%d %d %f %f %f %f %f\n", offset + j, class, prob, x, y, w, h); } @@ -339,19 +156,15 @@ void validate_detection(char *cfgfile, char *weightfile) fprintf(stderr, "Learning Rate: %g, Momentum: %g, Decay: %g\n", net.learning_rate, net.momentum, net.decay); srand(time(0)); - //list *plist = get_paths("/home/pjreddie/data/voc/test_2007.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/val_2012.txt"); list *plist = get_paths("/home/pjreddie/data/voc/test.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/val.expanded.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/train.txt"); char **paths = (char **)list_to_array(plist); int classes = layer.classes; - int nuisance = layer.nuisance; - int background = (layer.background && !nuisance); + int objectness = layer.objectness; + int background = layer.background; int num_boxes = sqrt(get_detection_layer_locations(layer)); - int per_box = 4+classes+background+nuisance; + int per_box = 4+classes+(background || objectness); int num_output = num_boxes*num_boxes*per_box; int m = plist->size; @@ -372,9 +185,7 @@ void validate_detection(char *cfgfile, char *weightfile) thr[t] = load_data_thread(part, num, 0, 0, num_output, net.w, net.h, &(buf[t])); } - //clock_t time; for(i = nthreads; i <= splits; i += nthreads){ - //time=clock(); for(t = 0; t < nthreads; ++t){ pthread_join(thr[t], 0); val[t] = buf[t]; @@ -385,223 +196,22 @@ void validate_detection(char *cfgfile, char *weightfile) thr[t] = load_data_thread(part, num, 0, 0, num_output, net.w, net.h, &(buf[t])); } - //fprintf(stderr, "%d: Loaded: %lf seconds\n", i, sec(clock()-time)); fprintf(stderr, "%d\n", i); for(t = 0; t < nthreads; ++t){ - predict_detections(net, val[t], .001, (i-nthreads+t)*m/splits, classes, nuisance, background, num_boxes, per_box); + predict_detections(net, val[t], .001, (i-nthreads+t)*m/splits, classes, objectness, background, num_boxes, per_box); free_data(val[t]); } } fprintf(stderr, "Total Detection Time: %f Seconds\n", (double)(time(0) - start)); } -void do_mask(network net, data d, int offset, int classes, int nuisance, int background, int num_boxes, int per_box) -{ - matrix pred = network_predict_data(net, d); - int j, k; - for(j = 0; j < pred.rows; ++j){ - printf("%d ", offset + j); - for(k = 0; k < pred.cols; k += per_box){ - float scale = 1.-pred.vals[j][k]; - printf("%f ", scale); - } - printf("\n"); - } - free_matrix(pred); -} - -void mask_detection(char *cfgfile, char *weightfile) -{ - network net = parse_network_cfg(cfgfile); - if(weightfile){ - load_weights(&net, weightfile); - } - detection_layer layer = get_network_detection_layer(net); - fprintf(stderr, "Learning Rate: %g, Momentum: %g, Decay: %g\n", net.learning_rate, net.momentum, net.decay); - srand(time(0)); - - list *plist = get_paths("/home/pjreddie/data/voc/test_2007.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/val_2012.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/test.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/val.expanded.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/train.txt"); - char **paths = (char **)list_to_array(plist); - - int classes = layer.classes; - int nuisance = layer.nuisance; - int background = (layer.background && !nuisance); - int num_boxes = sqrt(get_detection_layer_locations(layer)); - - int per_box = 4+classes+background+nuisance; - int num_output = num_boxes*num_boxes*per_box; - - int m = plist->size; - int i = 0; - int splits = 100; - - int nthreads = 4; - int t; - data *val = calloc(nthreads, sizeof(data)); - data *buf = calloc(nthreads, sizeof(data)); - pthread_t *thr = calloc(nthreads, sizeof(data)); - for(t = 0; t < nthreads; ++t){ - int num = (i+1+t)*m/splits - (i+t)*m/splits; - char **part = paths+((i+t)*m/splits); - thr[t] = load_data_thread(part, num, 0, 0, num_output, net.w, net.h, &(buf[t])); - } - - clock_t time; - for(i = nthreads; i <= splits; i += nthreads){ - time=clock(); - for(t = 0; t < nthreads; ++t){ - pthread_join(thr[t], 0); - val[t] = buf[t]; - } - for(t = 0; t < nthreads && i < splits; ++t){ - int num = (i+1+t)*m/splits - (i+t)*m/splits; - char **part = paths+((i+t)*m/splits); - thr[t] = load_data_thread(part, num, 0, 0, num_output, net.w, net.h, &(buf[t])); - } - - fprintf(stderr, "%d: Loaded: %lf seconds\n", i, sec(clock()-time)); - for(t = 0; t < nthreads; ++t){ - do_mask(net, val[t], (i-nthreads+t)*m/splits, classes, nuisance, background, num_boxes, per_box); - free_data(val[t]); - } - time=clock(); - } -} - -void validate_detection_post(char *cfgfile, char *weightfile) -{ - network net = parse_network_cfg(cfgfile); - if(weightfile){ - load_weights(&net, weightfile); - } - set_batch_network(&net, 1); - - network post = parse_network_cfg("cfg/localize.cfg"); - load_weights(&post, "/home/pjreddie/imagenet_backup/localize_1000.weights"); - set_batch_network(&post, 1); - - detection_layer layer = get_network_detection_layer(net); - fprintf(stderr, "Learning Rate: %g, Momentum: %g, Decay: %g\n", net.learning_rate, net.momentum, net.decay); - srand(time(0)); - - //list *plist = get_paths("/home/pjreddie/data/voc/test_2007.txt"); - list *plist = get_paths("/home/pjreddie/data/voc/val_2012.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/test.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/val.expanded.txt"); - //list *plist = get_paths("/home/pjreddie/data/voc/train.txt"); - char **paths = (char **)list_to_array(plist); - - int classes = layer.classes; - int nuisance = layer.nuisance; - int background = (layer.background && !nuisance); - int num_boxes = sqrt(get_detection_layer_locations(layer)); - - int per_box = 4+classes+background+nuisance; - - int m = plist->size; - int i = 0; - float threshold = .01; - - clock_t time = clock(); - for(i = 0; i < m; ++i){ - image im = load_image_color(paths[i], 0, 0); - if(i % 100 == 0) { - fprintf(stderr, "%d: Loaded: %lf seconds\n", i, sec(clock()-time)); - time = clock(); - } - image sized = resize_image(im, net.w, net.h); - float *out = network_predict(net, sized.data); - free_image(sized); - int k, class; - //show_image(im, "original"); - int num_output = num_boxes*num_boxes*per_box; - //image cp1 = copy_image(im); - //draw_detection(cp1, out, 7, "before"); - for(k = 0; k < num_output; k += per_box){ - float *post_out = 0; - float scale = 1.; - int index = k/per_box; - int row = index / num_boxes; - int col = index % num_boxes; - if (nuisance) scale = 1.-out[k]; - for (class = 0; class < classes; ++class){ - int ci = k+classes+background+nuisance; - float x = (out[ci + 0] + col)/num_boxes; - float y = (out[ci + 1] + row)/num_boxes; - float w = out[ci + 2]; //* distance_from_edge(row, num_boxes); - float h = out[ci + 3]; //* distance_from_edge(col, num_boxes); - w = w*w; - h = h*h; - float prob = scale*out[k+class+background+nuisance]; - if (prob >= threshold) { - x *= im.w; - y *= im.h; - w *= im.w; - h *= im.h; - w += 32; - h += 32; - int left = (x - w/2); - int top = (y - h/2); - int right = (x + w/2); - int bot = (y+h/2); - if (left < 0) left = 0; - if (right > im.w) right = im.w; - if (top < 0) top = 0; - if (bot > im.h) bot = im.h; - - image crop = crop_image(im, left, top, right-left, bot-top); - image resize = resize_image(crop, post.w, post.h); - if (!post_out){ - post_out = network_predict(post, resize.data); - } - /* - draw_localization(resize, post_out); - show_image(resize, "second"); - fprintf(stderr, "%s\n", class_names[class]); - cvWaitKey(0); - */ - int index = 4*class; - float px = post_out[index+0]; - float py = post_out[index+1]; - float pw = post_out[index+2]; - float ph = post_out[index+3]; - px = (px * crop.w + left) / im.w; - py = (py * crop.h + top) / im.h; - pw = (pw * crop.w) / im.w; - ph = (ph * crop.h) / im.h; - - out[ci + 0] = px*num_boxes - col; - out[ci + 1] = py*num_boxes - row; - out[ci + 2] = sqrt(pw); - out[ci + 3] = sqrt(ph); - /* - show_image(crop, "cropped"); - cvWaitKey(0); - */ - free_image(crop); - free_image(resize); - printf("%d %d %f %f %f %f %f\n", i, class, prob, px, py, pw, ph); - } - } - } - /* - image cp2 = copy_image(im); - draw_detection(cp2, out, 7, "after"); - cvWaitKey(0); - */ - } -} - void test_detection(char *cfgfile, char *weightfile) { network net = parse_network_cfg(cfgfile); if(weightfile){ load_weights(&net, weightfile); } + detection_layer layer = get_network_detection_layer(net); int im_size = 448; set_batch_network(&net, 1); srand(2222222); @@ -617,10 +227,12 @@ void test_detection(char *cfgfile, char *weightfile) time=clock(); float *predictions = network_predict(net, X); printf("%s: Predicted in %f seconds.\n", filename, sec(clock()-time)); - draw_detection(im, predictions, 7, "YOLO#SWAG#BLAZEIT"); + draw_detection(im, predictions, 7, layer.background || layer.objectness, "predictions"); free_image(im); free_image(sized); + #ifdef OPENCV cvWaitKey(0); + #endif } } @@ -635,9 +247,5 @@ void run_detection(int argc, char **argv) char *weights = (argc > 4) ? argv[4] : 0; if(0==strcmp(argv[2], "test")) test_detection(cfg, weights); else if(0==strcmp(argv[2], "train")) train_detection(cfg, weights); - else if(0==strcmp(argv[2], "teststuff")) train_detection_teststuff(cfg, weights); - else if(0==strcmp(argv[2], "trainloc")) train_localization(cfg, weights); else if(0==strcmp(argv[2], "valid")) validate_detection(cfg, weights); - else if(0==strcmp(argv[2], "mask")) mask_detection(cfg, weights); - else if(0==strcmp(argv[2], "validpost")) validate_detection_post(cfg, weights); } diff --git a/src/detection_layer.c b/src/detection_layer.c index fcae7f3..c628f18 100644 --- a/src/detection_layer.c +++ b/src/detection_layer.c @@ -10,15 +10,15 @@ int get_detection_layer_locations(detection_layer l) { - return l.inputs / (l.classes+l.coords+l.rescore+l.background); + return l.inputs / (l.classes+l.coords+l.joint+(l.background || l.objectness)); } int get_detection_layer_output_size(detection_layer l) { - return get_detection_layer_locations(l)*(l.background + l.classes + l.coords); + return get_detection_layer_locations(l)*((l.background || l.objectness) + l.classes + l.coords); } -detection_layer make_detection_layer(int batch, int inputs, int classes, int coords, int rescore, int background, int nuisance) +detection_layer make_detection_layer(int batch, int inputs, int classes, int coords, int joint, int rescore, int background, int objectness) { detection_layer l = {0}; l.type = DETECTION; @@ -28,7 +28,8 @@ detection_layer make_detection_layer(int batch, int inputs, int classes, int coo l.classes = classes; l.coords = coords; l.rescore = rescore; - l.nuisance = nuisance; + l.objectness = objectness; + l.joint = joint; l.cost = calloc(1, sizeof(float)); l.does_cost=1; l.background = background; @@ -47,28 +48,6 @@ detection_layer make_detection_layer(int batch, int inputs, int classes, int coo return l; } -void dark_zone(detection_layer l, int class, int start, network_state state) -{ - int index = start+l.background+class; - int size = l.classes+l.coords+l.background; - int location = (index%(7*7*size)) / size ; - int r = location / 7; - int c = location % 7; - int dr, dc; - for(dr = -1; dr <= 1; ++dr){ - for(dc = -1; dc <= 1; ++dc){ - if(!(dr || dc)) continue; - if((r + dr) > 6 || (r + dr) < 0) continue; - if((c + dc) > 6 || (c + dc) < 0) continue; - int di = (dr*7 + dc) * size; - if(state.truth[index+di]) continue; - l.output[index + di] = 0; - //if(!state.truth[start+di]) continue; - //l.output[start + di] = 1; - } - } -} - typedef struct{ float dx, dy, dw, dh; } dbox; @@ -258,24 +237,6 @@ void test_box() wiou = ((1-wiou)*(1-wiou) - iou)/(.00001); hiou = ((1-hiou)*(1-hiou) - iou)/(.00001); printf("manual %f %f %f %f\n", xiou, yiou, wiou, hiou); - /* - - while(count++ < 300){ - dbox d = diou(a, b); - printf("%f %f %f %f\n", a.x, a.y, a.w, a.h); - a.x += .1*d.dx; - a.w += .1*d.dw; - a.y += .1*d.dy; - a.h += .1*d.dh; - printf("inter: %f\n", box_intersection(a, b)); - printf("union: %f\n", box_union(a, b)); - printf("IOU: %f\n", box_iou(a, b)); - if(d.dx==0 && d.dw==0 && d.dy==0 && d.dh==0) { - printf("break!!!\n"); - break; - } - } - */ } dbox diou(box a, box b) @@ -308,10 +269,10 @@ void forward_detection_layer(const detection_layer l, network_state state) int locations = get_detection_layer_locations(l); int i,j; for(i = 0; i < l.batch*locations; ++i){ - int mask = (!state.truth || state.truth[out_i + l.background + l.classes + 2]); + int mask = (!state.truth || state.truth[out_i + (l.background || l.objectness) + l.classes + 2]); float scale = 1; - if(l.rescore) scale = state.input[in_i++]; - else if(l.nuisance){ + if(l.joint) scale = state.input[in_i++]; + else if(l.objectness){ l.output[out_i++] = 1-state.input[in_i++]; scale = mask; } @@ -320,7 +281,7 @@ void forward_detection_layer(const detection_layer l, network_state state) for(j = 0; j < l.classes; ++j){ l.output[out_i++] = scale*state.input[in_i++]; } - if(l.nuisance){ + if(l.objectness){ }else if(l.background){ softmax_array(l.output + out_i - l.classes-l.background, l.classes+l.background, l.output + out_i - l.classes-l.background); @@ -337,7 +298,7 @@ void forward_detection_layer(const detection_layer l, network_state state) int size = get_detection_layer_output_size(l) * l.batch; memset(l.delta, 0, size * sizeof(float)); for (i = 0; i < l.batch*locations; ++i) { - int classes = l.nuisance+l.classes; + int classes = l.objectness+l.classes; int offset = i*(classes+l.coords); for (j = offset; j < offset+classes; ++j) { *(l.cost) += pow(state.truth[j] - l.output[j], 2); @@ -372,7 +333,7 @@ void forward_detection_layer(const detection_layer l, network_state state) l.delta[j+1] = 4 * (state.truth[j+1] - l.output[j+1]); l.delta[j+2] = 4 * (state.truth[j+2] - l.output[j+2]); l.delta[j+3] = 4 * (state.truth[j+3] - l.output[j+3]); - if(0){ + if(l.rescore){ for (j = offset; j < offset+classes; ++j) { if(state.truth[j]) state.truth[j] = iou; l.delta[j] = state.truth[j] - l.output[j]; @@ -392,21 +353,21 @@ void backward_detection_layer(const detection_layer l, network_state state) for(i = 0; i < l.batch*locations; ++i){ float scale = 1; float latent_delta = 0; - if(l.rescore) scale = state.input[in_i++]; - else if (l.nuisance) state.delta[in_i++] = -l.delta[out_i++]; + if(l.joint) scale = state.input[in_i++]; + else if (l.objectness) state.delta[in_i++] = -l.delta[out_i++]; else if (l.background) state.delta[in_i++] = scale*l.delta[out_i++]; for(j = 0; j < l.classes; ++j){ latent_delta += state.input[in_i]*l.delta[out_i]; state.delta[in_i++] = scale*l.delta[out_i++]; } - if (l.nuisance) { + if (l.objectness) { }else if (l.background) gradient_array(l.output + out_i, l.coords, LOGISTIC, l.delta + out_i); for(j = 0; j < l.coords; ++j){ state.delta[in_i++] = l.delta[out_i++]; } - if(l.rescore) state.delta[in_i-l.coords-l.classes-l.rescore-l.background] = latent_delta; + if(l.joint) state.delta[in_i-l.coords-l.classes-l.joint] = latent_delta; } } diff --git a/src/detection_layer.h b/src/detection_layer.h index dfc5db9..38d96ee 100644 --- a/src/detection_layer.h +++ b/src/detection_layer.h @@ -6,7 +6,7 @@ typedef layer detection_layer; -detection_layer make_detection_layer(int batch, int inputs, int classes, int coords, int rescore, int background, int nuisance); +detection_layer make_detection_layer(int batch, int inputs, int classes, int coords, int joint, int rescore, int background, int objectness); void forward_detection_layer(const detection_layer l, network_state state); void backward_detection_layer(const detection_layer l, network_state state); int get_detection_layer_output_size(detection_layer l); diff --git a/src/image.c b/src/image.c index 948d325..4591103 100644 --- a/src/image.c +++ b/src/image.c @@ -3,6 +3,11 @@ #include <stdio.h> #include <math.h> +#define STB_IMAGE_IMPLEMENTATION +#include "stb_image.h" +#define STB_IMAGE_WRITE_IMPLEMENTATION +#include "stb_image_write.h" + int windows = 0; float colors[6][3] = { {1,0,1}, {0,0,1},{0,1,1},{0,1,0},{1,1,0},{1,0,0} }; @@ -159,10 +164,22 @@ image copy_image(image p) return copy; } -void show_image(image p, char *name) +void rgbgr_image(image im) +{ + int i; + for(i = 0; i < im.w*im.h; ++i){ + float swap = im.data[i]; + im.data[i] = im.data[i+im.w*im.h*2]; + im.data[i+im.w*im.h*2] = swap; + } +} + +#ifdef OPENCV +void show_image_cv(image p, char *name) { int x,y,k; image copy = copy_image(p); + rgbgr_image(copy); //normalize_image(copy); char buff[256]; @@ -197,8 +214,36 @@ void show_image(image p, char *name) cvShowImage(buff, disp); cvReleaseImage(&disp); } +#endif -void save_image(image p, char *name) +void show_image(image p, char *name) +{ + #ifdef OPENCV + show_image_cv(p, name); + #else + fprintf(stderr, "Not compiled with OpenCV, saving to %s.png instead\n", name); + save_image(p, name); + #endif +} + +void save_image(image im, char *name) +{ + char buff[256]; + //sprintf(buff, "%s (%d)", name, windows); + sprintf(buff, "%s.png", name); + unsigned char *data = calloc(im.w*im.h*im.c, sizeof(char)); + int i,k; + for(k = 0; k < im.c; ++k){ + for(i = 0; i < im.w*im.h; ++i){ + data[i*im.c+k] = (unsigned char) (255*im.data[i + k*im.w*im.h]); + } + } + int success = stbi_write_png(buff, im.w, im.h, im.c, data, im.w*im.c); + if(!success) fprintf(stderr, "Failed to write image %s\n", buff); +} + +/* +void save_image_cv(image p, char *name) { int x,y,k; image copy = copy_image(p); @@ -221,6 +266,7 @@ void save_image(image p, char *name) cvSaveImage(buff, disp,0); cvReleaseImage(&disp); } +*/ void show_image_layers(image p, char *name) { @@ -296,26 +342,6 @@ void scale_image(image m, float s) for(i = 0; i < m.h*m.w*m.c; ++i) m.data[i] *= s; } -image ipl_to_image(IplImage* src) -{ - unsigned char *data = (unsigned char *)src->imageData; - int h = src->height; - int w = src->width; - int c = src->nChannels; - int step = src->widthStep; - image out = make_image(w, h, c); - int i, j, k, count=0;; - - for(k= 0; k < c; ++k){ - for(i = 0; i < h; ++i){ - for(j = 0; j < w; ++j){ - out.data[count++] = data[i*step + j*c + k]/255.; - } - } - } - return out; -} - image crop_image(image im, int dx, int dy, int w, int h) { image cropped = make_image(w, h, im.c); @@ -355,9 +381,9 @@ void rgb_to_hsv(image im) float h, s, v; for(j = 0; j < im.h; ++j){ for(i = 0; i < im.w; ++i){ - r = get_pixel(im, i , j, 2); + r = get_pixel(im, i , j, 0); g = get_pixel(im, i , j, 1); - b = get_pixel(im, i , j, 0); + b = get_pixel(im, i , j, 2); float max = three_way_max(r,g,b); float min = three_way_min(r,g,b); float delta = max - min; @@ -417,9 +443,9 @@ void hsv_to_rgb(image im) r = v; g = p; b = q; } } - set_pixel(im, i, j, 2, r); + set_pixel(im, i, j, 0, r); set_pixel(im, i, j, 1, g); - set_pixel(im, i, j, 0, b); + set_pixel(im, i, j, 2, b); } } } @@ -429,7 +455,7 @@ image grayscale_image(image im) assert(im.c == 3); int i, j, k; image gray = make_image(im.w, im.h, im.c); - float scale[] = {0.114, 0.587, 0.299}; + float scale[] = {0.587, 0.299, 0.114}; for(k = 0; k < im.c; ++k){ for(j = 0; j < im.h; ++j){ for(i = 0; i < im.w; ++i){ @@ -497,21 +523,21 @@ void saturate_exposure_image(image im, float sat, float exposure) } /* -image saturate_image(image im, float sat) -{ - image gray = grayscale_image(im); - image blend = blend_image(im, gray, sat); - free_image(gray); - constrain_image(blend); - return blend; -} - -image brightness_image(image im, float b) -{ - image bright = make_image(im.w, im.h, im.c); - return bright; -} -*/ + image saturate_image(image im, float sat) + { + image gray = grayscale_image(im); + image blend = blend_image(im, gray, sat); + free_image(gray); + constrain_image(blend); + return blend; + } + + image brightness_image(image im, float b) + { + image bright = make_image(im.w, im.h, im.c); + return bright; + } + */ float billinear_interpolate(image im, float x, float y, int c) { @@ -550,7 +576,7 @@ image resize_image(image im, int w, int h) void test_resize(char *filename) { - image im = load_image(filename, 0,0); + image im = load_image(filename, 0,0, 3); image small = resize_image(im, 65, 63); image big = resize_image(im, 513, 512); image crop = crop_image(im, 50, 10, 100, 100); @@ -562,11 +588,12 @@ void test_resize(char *filename) image sat2 = copy_image(im); saturate_image(sat2, 2); - exposure_image(sat2, 2); image sat5 = copy_image(im); - saturate_image(sat5, 2); - exposure_image(sat5, .5); + saturate_image(sat5, 5); + + image sat10 = copy_image(im); + saturate_image(sat10, 10); image exp2 = copy_image(im); saturate_image(exp2, .5); @@ -580,8 +607,7 @@ void test_resize(char *filename) show_image(gray, "gray"); show_image(sat2, "sat2"); show_image(sat5, "sat5"); - show_image(exp2, "exp2"); - show_image(exp5, "exp5"); + show_image(sat10, "sat10"); /* show_image(small, "smaller"); show_image(big, "bigger"); @@ -591,46 +617,102 @@ void test_resize(char *filename) show_image(rot2, "rot2"); show_image(test, "test"); */ + #ifdef OPENCV cvWaitKey(0); + #endif } -image load_image_color(char *filename, int w, int h) +#ifdef OPENCV +image ipl_to_image(IplImage* src) +{ + unsigned char *data = (unsigned char *)src->imageData; + int h = src->height; + int w = src->width; + int c = src->nChannels; + int step = src->widthStep; + image out = make_image(w, h, c); + int i, j, k, count=0;; + + for(k= 0; k < c; ++k){ + for(i = 0; i < h; ++i){ + for(j = 0; j < w; ++j){ + out.data[count++] = data[i*step + j*c + k]/255.; + } + } + } + return out; +} + +image load_image_cv(char *filename, int channels) { IplImage* src = 0; - if( (src = cvLoadImage(filename, 1)) == 0 ) + int flag = -1; + if (channels == 0) flag = -1; + else if (channels == 1) flag = 0; + else if (channels == 3) flag = 1; + else { + fprintf(stderr, "OpenCV can't force load with %d channels\n", channels); + } + + if( (src = cvLoadImage(filename, flag)) == 0 ) { printf("Cannot load file image %s\n", filename); exit(0); } image out = ipl_to_image(src); cvReleaseImage(&src); - if((h && w) && (h != out.h || w != out.w)){ - //printf("resize\n"); - image resized = resize_image(out, w, h); - free_image(out); - out = resized; - } + rgbgr_image(out); return out; } -image load_image(char *filename, int w, int h) +#endif + + +image load_image_stb(char *filename, int channels) { - IplImage* src = 0; - if( (src = cvLoadImage(filename,-1)) == 0 ) - { + int w, h, c; + unsigned char *data = stbi_load(filename, &w, &h, &c, channels); + if (!data) { printf("Cannot load file image %s\n", filename); exit(0); } - image out = ipl_to_image(src); + if(channels) c = channels; + int i,j,k; + image im = make_image(w, h, c); + for(k = 0; k < c; ++k){ + for(j = 0; j < h; ++j){ + for(i = 0; i < w; ++i){ + int dst_index = i + w*j + w*h*k; + int src_index = k + c*i + c*w*j; + im.data[dst_index] = (float)data[src_index]/255.; + } + } + } + free(data); + return im; +} + +image load_image(char *filename, int w, int h, int c) +{ + #ifdef OPENCV + image out = load_image_cv(filename, c); + #else + image out = load_image_stb(filename, c); + #endif + if((h && w) && (h != out.h || w != out.w)){ image resized = resize_image(out, w, h); free_image(out); out = resized; } - cvReleaseImage(&src); return out; } +image load_image_color(char *filename, int w, int h) +{ + return load_image(filename, w, h, 3); +} + image get_image_layer(image m, int l) { image out = make_image(m.w, m.h, 1); diff --git a/src/image.h b/src/image.h index 0cffc7b..af6682e 100644 --- a/src/image.h +++ b/src/image.h @@ -2,8 +2,17 @@ #define IMAGE_H +#include <stdlib.h> +#include <stdio.h> +#include <float.h> +#include <string.h> +#include <math.h> + +#ifdef OPENCV #include "opencv2/highgui/highgui_c.h" #include "opencv2/imgproc/imgproc_c.h" +#endif + typedef struct { int h; int w; @@ -26,6 +35,7 @@ void saturate_image(image im, float sat); void exposure_image(image im, float sat); void saturate_exposure_image(image im, float sat, float exposure); void hsv_to_rgb(image im); +void rgbgr_image(image im); image collapse_image_layers(image source, int border); image collapse_images_horz(image *ims, int n); @@ -43,11 +53,9 @@ image make_image(int w, int h, int c); image make_empty_image(int w, int h, int c); image float_to_image(int w, int h, int c, float *data); image copy_image(image p); -image load_image(char *filename, int w, int h); +image load_image(char *filename, int w, int h, int c); image load_image_color(char *filename, int w, int h); -image ipl_to_image(IplImage* src); - float get_pixel(image m, int x, int y, int c); float get_pixel_extend(image m, int x, int y, int c); void set_pixel(image m, int x, int y, int c, float val); diff --git a/src/layer.h b/src/layer.h index 86e64a3..7255f49 100644 --- a/src/layer.h +++ b/src/layer.h @@ -44,8 +44,10 @@ typedef struct { int coords; int background; int rescore; - int nuisance; + int objectness; int does_cost; + int joint; + float probability; float scale; int *indexes; diff --git a/src/parser.c b/src/parser.c index 48567a1..c0db443 100644 --- a/src/parser.c +++ b/src/parser.c @@ -164,10 +164,11 @@ detection_layer parse_detection(list *options, size_params params) { int coords = option_find_int(options, "coords", 1); int classes = option_find_int(options, "classes", 1); - int rescore = option_find_int(options, "rescore", 1); - int nuisance = option_find_int(options, "nuisance", 0); + int rescore = option_find_int(options, "rescore", 0); + int joint = option_find_int(options, "joint", 0); + int objectness = option_find_int(options, "objectness", 0); int background = option_find_int(options, "background", 1); - detection_layer layer = make_detection_layer(params.batch, params.inputs, classes, coords, rescore, background, nuisance); + detection_layer layer = make_detection_layer(params.batch, params.inputs, classes, coords, joint, rescore, background, objectness); option_unused(options); return layer; } diff --git a/src/stb_image.h b/src/stb_image.h new file mode 100644 index 0000000..d0fa9c2 --- /dev/null +++ b/src/stb_image.h @@ -0,0 +1,6437 @@ +/* stb_image - v2.06 - public domain image loader - http://nothings.org/stb_image.h + no warranty implied; use at your own risk + + Do this: + #define STB_IMAGE_IMPLEMENTATION + before you include this file in *one* C or C++ file to create the implementation. + + // i.e. it should look like this: + #include ... + #include ... + #include ... + #define STB_IMAGE_IMPLEMENTATION + #include "stb_image.h" + + You can #define STBI_ASSERT(x) before the #include to avoid using assert.h. + And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free + + + QUICK NOTES: + Primarily of interest to game developers and other people who can + avoid problematic images and only need the trivial interface + + JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) + PNG 1/2/4/8-bit-per-channel (16 bpc not supported) + + TGA (not sure what subset, if a subset) + BMP non-1bpp, non-RLE + PSD (composited view only, no extra channels) + + GIF (*comp always reports as 4-channel) + HDR (radiance rgbE format) + PIC (Softimage PIC) + PNM (PPM and PGM binary only) + + - decode from memory or through FILE (define STBI_NO_STDIO to remove code) + - decode from arbitrary I/O callbacks + - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) + + Full documentation under "DOCUMENTATION" below. + + + Revision 2.00 release notes: + + - Progressive JPEG is now supported. + + - PPM and PGM binary formats are now supported, thanks to Ken Miller. + + - x86 platforms now make use of SSE2 SIMD instructions for + JPEG decoding, and ARM platforms can use NEON SIMD if requested. + This work was done by Fabian "ryg" Giesen. SSE2 is used by + default, but NEON must be enabled explicitly; see docs. + + With other JPEG optimizations included in this version, we see + 2x speedup on a JPEG on an x86 machine, and a 1.5x speedup + on a JPEG on an ARM machine, relative to previous versions of this + library. The same results will not obtain for all JPGs and for all + x86/ARM machines. (Note that progressive JPEGs are significantly + slower to decode than regular JPEGs.) This doesn't mean that this + is the fastest JPEG decoder in the land; rather, it brings it + closer to parity with standard libraries. If you want the fastest + decode, look elsewhere. (See "Philosophy" section of docs below.) + + See final bullet items below for more info on SIMD. + + - Added STBI_MALLOC, STBI_REALLOC, and STBI_FREE macros for replacing + the memory allocator. Unlike other STBI libraries, these macros don't + support a context parameter, so if you need to pass a context in to + the allocator, you'll have to store it in a global or a thread-local + variable. + + - Split existing STBI_NO_HDR flag into two flags, STBI_NO_HDR and + STBI_NO_LINEAR. + STBI_NO_HDR: suppress implementation of .hdr reader format + STBI_NO_LINEAR: suppress high-dynamic-range light-linear float API + + - You can suppress implementation of any of the decoders to reduce + your code footprint by #defining one or more of the following + symbols before creating the implementation. + + STBI_NO_JPEG + STBI_NO_PNG + STBI_NO_BMP + STBI_NO_PSD + STBI_NO_TGA + STBI_NO_GIF + STBI_NO_HDR + STBI_NO_PIC + STBI_NO_PNM (.ppm and .pgm) + + - You can request *only* certain decoders and suppress all other ones + (this will be more forward-compatible, as addition of new decoders + doesn't require you to disable them explicitly): + + STBI_ONLY_JPEG + STBI_ONLY_PNG + STBI_ONLY_BMP + STBI_ONLY_PSD + STBI_ONLY_TGA + STBI_ONLY_GIF + STBI_ONLY_HDR + STBI_ONLY_PIC + STBI_ONLY_PNM (.ppm and .pgm) + + Note that you can define multiples of these, and you will get all + of them ("only x" and "only y" is interpreted to mean "only x&y"). + + - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still + want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB + + - Compilation of all SIMD code can be suppressed with + #define STBI_NO_SIMD + It should not be necessary to disable SIMD unless you have issues + compiling (e.g. using an x86 compiler which doesn't support SSE + intrinsics or that doesn't support the method used to detect + SSE2 support at run-time), and even those can be reported as + bugs so I can refine the built-in compile-time checking to be + smarter. + + - The old STBI_SIMD system which allowed installing a user-defined + IDCT etc. has been removed. If you need this, don't upgrade. My + assumption is that almost nobody was doing this, and those who + were will find the built-in SIMD more satisfactory anyway. + + - RGB values computed for JPEG images are slightly different from + previous versions of stb_image. (This is due to using less + integer precision in SIMD.) The C code has been adjusted so + that the same RGB values will be computed regardless of whether + SIMD support is available, so your app should always produce + consistent results. But these results are slightly different from + previous versions. (Specifically, about 3% of available YCbCr values + will compute different RGB results from pre-1.49 versions by +-1; + most of the deviating values are one smaller in the G channel.) + + - If you must produce consistent results with previous versions of + stb_image, #define STBI_JPEG_OLD and you will get the same results + you used to; however, you will not get the SIMD speedups for + the YCbCr-to-RGB conversion step (although you should still see + significant JPEG speedup from the other changes). + + Please note that STBI_JPEG_OLD is a temporary feature; it will be + removed in future versions of the library. It is only intended for + near-term back-compatibility use. + + + Latest revision history: + 2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value + 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning + 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit + 2.03 (2015-04-12) additional corruption checking + stbi_set_flip_vertically_on_load + fix NEON support; fix mingw support + 2.02 (2015-01-19) fix incorrect assert, fix warning + 2.01 (2015-01-17) fix various warnings + 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG + 2.00 (2014-12-25) optimize JPEG, including x86 SSE2 & ARM NEON SIMD + progressive JPEG + PGM/PPM support + STBI_MALLOC,STBI_REALLOC,STBI_FREE + STBI_NO_*, STBI_ONLY_* + GIF bugfix + 1.48 (2014-12-14) fix incorrectly-named assert() + 1.47 (2014-12-14) 1/2/4-bit PNG support (both grayscale and paletted) + optimize PNG + fix bug in interlaced PNG with user-specified channel count + + See end of file for full revision history. + + + ============================ Contributors ========================= + + Image formats Bug fixes & warning fixes + Sean Barrett (jpeg, png, bmp) Marc LeBlanc + Nicolas Schulz (hdr, psd) Christpher Lloyd + Jonathan Dummer (tga) Dave Moore + Jean-Marc Lienher (gif) Won Chun + Tom Seddon (pic) the Horde3D community + Thatcher Ulrich (psd) Janez Zemva + Ken Miller (pgm, ppm) Jonathan Blow + Laurent Gomila + Aruelien Pocheville + Extensions, features Ryamond Barbiero + Jetro Lauha (stbi_info) David Woo + Martin "SpartanJ" Golini (stbi_info) Martin Golini + James "moose2000" Brown (iPhone PNG) Roy Eltham + Ben "Disch" Wenger (io callbacks) Luke Graham + Omar Cornut (1/2/4-bit PNG) Thomas Ruf + Nicolas Guillemot (vertical flip) John Bartholomew + Ken Hamada + Optimizations & bugfixes Cort Stratton + Fabian "ryg" Giesen Blazej Dariusz Roszkowski + Arseny Kapoulkine Thibault Reuille + Paul Du Bois + Guillaume George + If your name should be here but Jerry Jansson + isn't, let Sean know. Hayaki Saito + Johan Duparc + Ronny Chevalier + Michal Cichon + Tero Hanninen + Sergio Gonzalez + Cass Everitt + Engin Manap + Martins Mozeiko + Joseph Thomson + Phil Jordan + +License: + This software is in the public domain. Where that dedication is not + recognized, you are granted a perpetual, irrevocable license to copy + and modify this file however you want. + +*/ + +#ifndef STBI_INCLUDE_STB_IMAGE_H +#define STBI_INCLUDE_STB_IMAGE_H + +// DOCUMENTATION +// +// Limitations: +// - no 16-bit-per-channel PNG +// - no 12-bit-per-channel JPEG +// - no JPEGs with arithmetic coding +// - no 1-bit BMP +// - GIF always returns *comp=4 +// +// Basic usage (see HDR discussion below for HDR usage): +// int x,y,n; +// unsigned char *data = stbi_load(filename, &x, &y, &n, 0); +// // ... process data if not NULL ... +// // ... x = width, y = height, n = # 8-bit components per pixel ... +// // ... replace '0' with '1'..'4' to force that many components per pixel +// // ... but 'n' will always be the number that it would have been if you said 0 +// stbi_image_free(data) +// +// Standard parameters: +// int *x -- outputs image width in pixels +// int *y -- outputs image height in pixels +// int *comp -- outputs # of image components in image file +// int req_comp -- if non-zero, # of image components requested in result +// +// The return value from an image loader is an 'unsigned char *' which points +// to the pixel data, or NULL on an allocation failure or if the image is +// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels, +// with each pixel consisting of N interleaved 8-bit components; the first +// pixel pointed to is top-left-most in the image. There is no padding between +// image scanlines or between pixels, regardless of format. The number of +// components N is 'req_comp' if req_comp is non-zero, or *comp otherwise. +// If req_comp is non-zero, *comp has the number of components that _would_ +// have been output otherwise. E.g. if you set req_comp to 4, you will always +// get RGBA output, but you can check *comp to see if it's trivially opaque +// because e.g. there were only 3 channels in the source image. +// +// An output image with N components has the following components interleaved +// in this order in each pixel: +// +// N=#comp components +// 1 grey +// 2 grey, alpha +// 3 red, green, blue +// 4 red, green, blue, alpha +// +// If image loading fails for any reason, the return value will be NULL, +// and *x, *y, *comp will be unchanged. The function stbi_failure_reason() +// can be queried for an extremely brief, end-user unfriendly explanation +// of why the load failed. Define STBI_NO_FAILURE_STRINGS to avoid +// compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly +// more user-friendly ones. +// +// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. +// +// =========================================================================== +// +// Philosophy +// +// stb libraries are designed with the following priorities: +// +// 1. easy to use +// 2. easy to maintain +// 3. good performance +// +// Sometimes I let "good performance" creep up in priority over "easy to maintain", +// and for best performance I may provide less-easy-to-use APIs that give higher +// performance, in addition to the easy to use ones. Nevertheless, it's important +// to keep in mind that from the standpoint of you, a client of this library, +// all you care about is #1 and #3, and stb libraries do not emphasize #3 above all. +// +// Some secondary priorities arise directly from the first two, some of which +// make more explicit reasons why performance can't be emphasized. +// +// - Portable ("ease of use") +// - Small footprint ("easy to maintain") +// - No dependencies ("ease of use") +// +// =========================================================================== +// +// I/O callbacks +// +// I/O callbacks allow you to read from arbitrary sources, like packaged +// files or some other source. Data read from callbacks are processed +// through a small internal buffer (currently 128 bytes) to try to reduce +// overhead. +// +// The three functions you must define are "read" (reads some bytes of data), +// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end). +// +// =========================================================================== +// +// SIMD support +// +// The JPEG decoder will try to automatically use SIMD kernels on x86 when +// supported by the compiler. For ARM Neon support, you must explicitly +// request it. +// +// (The old do-it-yourself SIMD API is no longer supported in the current +// code.) +// +// On x86, SSE2 will automatically be used when available based on a run-time +// test; if not, the generic C versions are used as a fall-back. On ARM targets, +// the typical path is to have separate builds for NEON and non-NEON devices +// (at least this is true for iOS and Android). Therefore, the NEON support is +// toggled by a build flag: define STBI_NEON to get NEON loops. +// +// The output of the JPEG decoder is slightly different from versions where +// SIMD support was introduced (that is, for versions before 1.49). The +// difference is only +-1 in the 8-bit RGB channels, and only on a small +// fraction of pixels. You can force the pre-1.49 behavior by defining +// STBI_JPEG_OLD, but this will disable some of the SIMD decoding path +// and hence cost some performance. +// +// If for some reason you do not want to use any of SIMD code, or if +// you have issues compiling it, you can disable it entirely by +// defining STBI_NO_SIMD. +// +// =========================================================================== +// +// HDR image support (disable by defining STBI_NO_HDR) +// +// stb_image now supports loading HDR images in general, and currently +// the Radiance .HDR file format, although the support is provided +// generically. You can still load any file through the existing interface; +// if you attempt to load an HDR file, it will be automatically remapped to +// LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; +// both of these constants can be reconfigured through this interface: +// +// stbi_hdr_to_ldr_gamma(2.2f); +// stbi_hdr_to_ldr_scale(1.0f); +// +// (note, do not use _inverse_ constants; stbi_image will invert them +// appropriately). +// +// Additionally, there is a new, parallel interface for loading files as +// (linear) floats to preserve the full dynamic range: +// +// float *data = stbi_loadf(filename, &x, &y, &n, 0); +// +// If you load LDR images through this interface, those images will +// be promoted to floating point values, run through the inverse of +// constants corresponding to the above: +// +// stbi_ldr_to_hdr_scale(1.0f); +// stbi_ldr_to_hdr_gamma(2.2f); +// +// Finally, given a filename (or an open file or memory block--see header +// file for details) containing image data, you can query for the "most +// appropriate" interface to use (that is, whether the image is HDR or +// not), using: +// +// stbi_is_hdr(char *filename); +// +// =========================================================================== +// +// iPhone PNG support: +// +// By default we convert iphone-formatted PNGs back to RGB, even though +// they are internally encoded differently. You can disable this conversion +// by by calling stbi_convert_iphone_png_to_rgb(0), in which case +// you will always just get the native iphone "format" through (which +// is BGR stored in RGB). +// +// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per +// pixel to remove any premultiplied alpha *only* if the image file explicitly +// says there's premultiplied data (currently only happens in iPhone images, +// and only if iPhone convert-to-rgb processing is on). +// + + +#ifndef STBI_NO_STDIO +#include <stdio.h> +#endif // STBI_NO_STDIO + +#define STBI_VERSION 1 + +enum +{ + STBI_default = 0, // only used for req_comp + + STBI_grey = 1, + STBI_grey_alpha = 2, + STBI_rgb = 3, + STBI_rgb_alpha = 4 +}; + +typedef unsigned char stbi_uc; + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef STB_IMAGE_STATIC +#define STBIDEF static +#else +#define STBIDEF extern +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// PRIMARY API - works on images of any type +// + +// +// load image by filename, open file, or memory buffer +// + +typedef struct +{ + int (*read) (void *user,char *data,int size); // fill 'data' with 'size' bytes. return number of bytes actually read + void (*skip) (void *user,int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative + int (*eof) (void *user); // returns nonzero if we are at end of file/data +} stbi_io_callbacks; + +STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *comp, int req_comp); +STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *comp, int req_comp); +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *comp, int req_comp); + +#ifndef STBI_NO_STDIO +STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); +// for stbi_load_from_file, file pointer is left pointing immediately after image +#endif + +#ifndef STBI_NO_LINEAR + STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *comp, int req_comp); + STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp); + STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp); + + #ifndef STBI_NO_STDIO + STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); + #endif +#endif + +#ifndef STBI_NO_HDR + STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); + STBIDEF void stbi_hdr_to_ldr_scale(float scale); +#endif + +#ifndef STBI_NO_LINEAR + STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); + STBIDEF void stbi_ldr_to_hdr_scale(float scale); +#endif // STBI_NO_HDR + +// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len); +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename); +STBIDEF int stbi_is_hdr_from_file(FILE *f); +#endif // STBI_NO_STDIO + + +// get a VERY brief reason for failure +// NOT THREADSAFE +STBIDEF const char *stbi_failure_reason (void); + +// free the loaded image -- this is just free() +STBIDEF void stbi_image_free (void *retval_from_stbi_load); + +// get image dimensions & components without fully decoding +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); + +#endif + + + +// for image formats that explicitly notate that they have premultiplied alpha, +// we just return the colors as stored in the file. set this flag to force +// unpremultiplication. results are undefined if the unpremultiply overflow. +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); + +// indicate whether we should process iphone images back to canonical format, +// or just pass them through "as-is" +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); + +// flip the image vertically, so the first pixel in the output array is the bottom left +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); + +// ZLIB client - used by PNG, available for other purposes + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header); +STBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + +STBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + + +#ifdef __cplusplus +} +#endif + +// +// +//// end header file ///////////////////////////////////////////////////// +#endif // STBI_INCLUDE_STB_IMAGE_H + +#ifdef STB_IMAGE_IMPLEMENTATION + +#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ + || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ + || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ + || defined(STBI_ONLY_ZLIB) + #ifndef STBI_ONLY_JPEG + #define STBI_NO_JPEG + #endif + #ifndef STBI_ONLY_PNG + #define STBI_NO_PNG + #endif + #ifndef STBI_ONLY_BMP + #define STBI_NO_BMP + #endif + #ifndef STBI_ONLY_PSD + #define STBI_NO_PSD + #endif + #ifndef STBI_ONLY_TGA + #define STBI_NO_TGA + #endif + #ifndef STBI_ONLY_GIF + #define STBI_NO_GIF + #endif + #ifndef STBI_ONLY_HDR + #define STBI_NO_HDR + #endif + #ifndef STBI_ONLY_PIC + #define STBI_NO_PIC + #endif + #ifndef STBI_ONLY_PNM + #define STBI_NO_PNM + #endif +#endif + +#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) +#define STBI_NO_ZLIB +#endif + + +#include <stdarg.h> +#include <stddef.h> // ptrdiff_t on osx +#include <stdlib.h> +#include <string.h> + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) +#include <math.h> // ldexp +#endif + +#ifndef STBI_NO_STDIO +#include <stdio.h> +#endif + +#ifndef STBI_ASSERT +#include <assert.h> +#define STBI_ASSERT(x) assert(x) +#endif + + +#ifndef _MSC_VER + #ifdef __cplusplus + #define stbi_inline inline + #else + #define stbi_inline + #endif +#else + #define stbi_inline __forceinline +#endif + + +#ifdef _MSC_VER +typedef unsigned short stbi__uint16; +typedef signed short stbi__int16; +typedef unsigned int stbi__uint32; +typedef signed int stbi__int32; +#else +#include <stdint.h> +typedef uint16_t stbi__uint16; +typedef int16_t stbi__int16; +typedef uint32_t stbi__uint32; +typedef int32_t stbi__int32; +#endif + +// should produce compiler error if size is wrong +typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; + +#ifdef _MSC_VER +#define STBI_NOTUSED(v) (void)(v) +#else +#define STBI_NOTUSED(v) (void)sizeof(v) +#endif + +#ifdef _MSC_VER +#define STBI_HAS_LROTL +#endif + +#ifdef STBI_HAS_LROTL + #define stbi_lrot(x,y) _lrotl(x,y) +#else + #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (32 - (y)))) +#endif + +#if defined(STBI_MALLOC) && defined(STBI_FREE) && defined(STBI_REALLOC) +// ok +#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) +// ok +#else +#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC." +#endif + +#ifndef STBI_MALLOC +#define STBI_MALLOC(sz) malloc(sz) +#define STBI_REALLOC(p,sz) realloc(p,sz) +#define STBI_FREE(p) free(p) +#endif + +// x86/x64 detection +#if defined(__x86_64__) || defined(_M_X64) +#define STBI__X64_TARGET +#elif defined(__i386) || defined(_M_IX86) +#define STBI__X86_TARGET +#endif + +#if defined(__GNUC__) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) +// NOTE: not clear do we actually need this for the 64-bit path? +// gcc doesn't support sse2 intrinsics unless you compile with -msse2, +// (but compiling with -msse2 allows the compiler to use SSE2 everywhere; +// this is just broken and gcc are jerks for not fixing it properly +// http://www.virtualdub.org/blog/pivot/entry.php?id=363 ) +#define STBI_NO_SIMD +#endif + +#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD) +// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET +// +// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the +// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant. +// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not +// simultaneously enabling "-mstackrealign". +// +// See https://github.com/nothings/stb/issues/81 for more information. +// +// So default to no SSE2 on 32-bit MinGW. If you've read this far and added +// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2. +#define STBI_NO_SIMD +#endif + +#if !defined(STBI_NO_SIMD) && defined(STBI__X86_TARGET) +#define STBI_SSE2 +#include <emmintrin.h> + +#ifdef _MSC_VER + +#if _MSC_VER >= 1400 // not VC6 +#include <intrin.h> // __cpuid +static int stbi__cpuid3(void) +{ + int info[4]; + __cpuid(info,1); + return info[3]; +} +#else +static int stbi__cpuid3(void) +{ + int res; + __asm { + mov eax,1 + cpuid + mov res,edx + } + return res; +} +#endif + +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name + +static int stbi__sse2_available() +{ + int info3 = stbi__cpuid3(); + return ((info3 >> 26) & 1) != 0; +} +#else // assume GCC-style if not VC++ +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) + +static int stbi__sse2_available() +{ +#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 // GCC 4.8 or later + // GCC 4.8+ has a nice way to do this + return __builtin_cpu_supports("sse2"); +#else + // portable way to do this, preferably without using GCC inline ASM? + // just bail for now. + return 0; +#endif +} +#endif +#endif + +// ARM NEON +#if defined(STBI_NO_SIMD) && defined(STBI_NEON) +#undef STBI_NEON +#endif + +#ifdef STBI_NEON +#include <arm_neon.h> +// assume GCC or Clang on ARM targets +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) +#endif + +#ifndef STBI_SIMD_ALIGN +#define STBI_SIMD_ALIGN(type, name) type name +#endif + +/////////////////////////////////////////////// +// +// stbi__context struct and start_xxx functions + +// stbi__context structure is our basic context used by all images, so it +// contains all the IO context, plus some basic image information +typedef struct +{ + stbi__uint32 img_x, img_y; + int img_n, img_out_n; + + stbi_io_callbacks io; + void *io_user_data; + + int read_from_callbacks; + int buflen; + stbi_uc buffer_start[128]; + + stbi_uc *img_buffer, *img_buffer_end; + stbi_uc *img_buffer_original; +} stbi__context; + + +static void stbi__refill_buffer(stbi__context *s); + +// initialize a memory-decode context +static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) +{ + s->io.read = NULL; + s->read_from_callbacks = 0; + s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; + s->img_buffer_end = (stbi_uc *) buffer+len; +} + +// initialize a callback-based context +static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) +{ + s->io = *c; + s->io_user_data = user; + s->buflen = sizeof(s->buffer_start); + s->read_from_callbacks = 1; + s->img_buffer_original = s->buffer_start; + stbi__refill_buffer(s); +} + +#ifndef STBI_NO_STDIO + +static int stbi__stdio_read(void *user, char *data, int size) +{ + return (int) fread(data,1,size,(FILE*) user); +} + +static void stbi__stdio_skip(void *user, int n) +{ + fseek((FILE*) user, n, SEEK_CUR); +} + +static int stbi__stdio_eof(void *user) +{ + return feof((FILE*) user); +} + +static stbi_io_callbacks stbi__stdio_callbacks = +{ + stbi__stdio_read, + stbi__stdio_skip, + stbi__stdio_eof, +}; + +static void stbi__start_file(stbi__context *s, FILE *f) +{ + stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); +} + +//static void stop_file(stbi__context *s) { } + +#endif // !STBI_NO_STDIO + +static void stbi__rewind(stbi__context *s) +{ + // conceptually rewind SHOULD rewind to the beginning of the stream, + // but we just rewind to the beginning of the initial buffer, because + // we only use it after doing 'test', which only ever looks at at most 92 bytes + s->img_buffer = s->img_buffer_original; +} + +#ifndef STBI_NO_JPEG +static int stbi__jpeg_test(stbi__context *s); +static stbi_uc *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNG +static int stbi__png_test(stbi__context *s); +static stbi_uc *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_BMP +static int stbi__bmp_test(stbi__context *s); +static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_TGA +static int stbi__tga_test(stbi__context *s); +static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s); +static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_HDR +static int stbi__hdr_test(stbi__context *s); +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_test(stbi__context *s); +static stbi_uc *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_GIF +static int stbi__gif_test(stbi__context *s); +static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNM +static int stbi__pnm_test(stbi__context *s); +static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +// this is not threadsafe +static const char *stbi__g_failure_reason; + +STBIDEF const char *stbi_failure_reason(void) +{ + return stbi__g_failure_reason; +} + +static int stbi__err(const char *str) +{ + stbi__g_failure_reason = str; + return 0; +} + +static void *stbi__malloc(size_t size) +{ + return STBI_MALLOC(size); +} + +// stbi__err - error +// stbi__errpf - error returning pointer to float +// stbi__errpuc - error returning pointer to unsigned char + +#ifdef STBI_NO_FAILURE_STRINGS + #define stbi__err(x,y) 0 +#elif defined(STBI_FAILURE_USERMSG) + #define stbi__err(x,y) stbi__err(y) +#else + #define stbi__err(x,y) stbi__err(x) +#endif + +#define stbi__errpf(x,y) ((float *) (stbi__err(x,y)?NULL:NULL)) +#define stbi__errpuc(x,y) ((unsigned char *) (stbi__err(x,y)?NULL:NULL)) + +STBIDEF void stbi_image_free(void *retval_from_stbi_load) +{ + STBI_FREE(retval_from_stbi_load); +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); +#endif + +#ifndef STBI_NO_HDR +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); +#endif + +static int stbi__vertically_flip_on_load = 0; + +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) +{ + stbi__vertically_flip_on_load = flag_true_if_should_flip; +} + +static unsigned char *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PNG + if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_BMP + if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_GIF + if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PSD + if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PIC + if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PNM + if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp); + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + float *hdr = stbi__hdr_load(s, x,y,comp,req_comp); + return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); + } + #endif + + #ifndef STBI_NO_TGA + // test tga last because it's a crappy test! + if (stbi__tga_test(s)) + return stbi__tga_load(s,x,y,comp,req_comp); + #endif + + return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); +} + +static unsigned char *stbi__load_flip(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *result = stbi__load_main(s, x, y, comp, req_comp); + + if (stbi__vertically_flip_on_load && result != NULL) { + int w = *x, h = *y; + int depth = req_comp ? req_comp : *comp; + int row,col,z; + stbi_uc temp; + + // @OPTIMIZE: use a bigger temp buffer and memcpy multiple pixels at once + for (row = 0; row < (h>>1); row++) { + for (col = 0; col < w; col++) { + for (z = 0; z < depth; z++) { + temp = result[(row * w + col) * depth + z]; + result[(row * w + col) * depth + z] = result[((h - row - 1) * w + col) * depth + z]; + result[((h - row - 1) * w + col) * depth + z] = temp; + } + } + } + } + + return result; +} + +static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) +{ + if (stbi__vertically_flip_on_load && result != NULL) { + int w = *x, h = *y; + int depth = req_comp ? req_comp : *comp; + int row,col,z; + float temp; + + // @OPTIMIZE: use a bigger temp buffer and memcpy multiple pixels at once + for (row = 0; row < (h>>1); row++) { + for (col = 0; col < w; col++) { + for (z = 0; z < depth; z++) { + temp = result[(row * w + col) * depth + z]; + result[(row * w + col) * depth + z] = result[((h - row - 1) * w + col) * depth + z]; + result[((h - row - 1) * w + col) * depth + z] = temp; + } + } + } + } +} + + +#ifndef STBI_NO_STDIO + +static FILE *stbi__fopen(char const *filename, char const *mode) +{ + FILE *f; +#if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != fopen_s(&f, filename, mode)) + f=0; +#else + f = fopen(filename, mode); +#endif + return f; +} + + +STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + unsigned char *result; + if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi__load_flip(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} +#endif //!STBI_NO_STDIO + +STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__load_flip(&s,x,y,comp,req_comp); +} + +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__load_flip(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_LINEAR +static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *data; + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp); + if (hdr_data) + stbi__float_postprocess(hdr_data,x,y,comp,req_comp); + return hdr_data; + } + #endif + data = stbi__load_flip(s, x, y, comp, req_comp); + if (data) + return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); + return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); +} + +STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_STDIO +STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + float *result; + FILE *f = stbi__fopen(filename, "rb"); + if (!f) return stbi__errpf("can't fopen", "Unable to open file"); + result = stbi_loadf_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} +#endif // !STBI_NO_STDIO + +#endif // !STBI_NO_LINEAR + +// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is +// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always +// reports false! + +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(buffer); + STBI_NOTUSED(len); + return 0; + #endif +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result=0; + if (f) { + result = stbi_is_hdr_from_file(f); + fclose(f); + } + return result; +} + +STBIDEF int stbi_is_hdr_from_file(FILE *f) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_file(&s,f); + return stbi__hdr_test(&s); + #else + return 0; + #endif +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__hdr_test(&s); + #else + return 0; + #endif +} + +static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; +static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; + +#ifndef STBI_NO_LINEAR +STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } +STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } +#endif + +STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } +STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } + + +////////////////////////////////////////////////////////////////////////////// +// +// Common code used by all image loaders +// + +enum +{ + STBI__SCAN_load=0, + STBI__SCAN_type, + STBI__SCAN_header +}; + +static void stbi__refill_buffer(stbi__context *s) +{ + int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); + if (n == 0) { + // at end of file, treat same as if from memory, but need to handle case + // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file + s->read_from_callbacks = 0; + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start+1; + *s->img_buffer = 0; + } else { + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start + n; + } +} + +stbi_inline static stbi_uc stbi__get8(stbi__context *s) +{ + if (s->img_buffer < s->img_buffer_end) + return *s->img_buffer++; + if (s->read_from_callbacks) { + stbi__refill_buffer(s); + return *s->img_buffer++; + } + return 0; +} + +stbi_inline static int stbi__at_eof(stbi__context *s) +{ + if (s->io.read) { + if (!(s->io.eof)(s->io_user_data)) return 0; + // if feof() is true, check if buffer = end + // special case: we've only got the special 0 character at the end + if (s->read_from_callbacks == 0) return 1; + } + + return s->img_buffer >= s->img_buffer_end; +} + +static void stbi__skip(stbi__context *s, int n) +{ + if (n < 0) { + s->img_buffer = s->img_buffer_end; + return; + } + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + s->img_buffer = s->img_buffer_end; + (s->io.skip)(s->io_user_data, n - blen); + return; + } + } + s->img_buffer += n; +} + +static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) +{ + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + int res, count; + + memcpy(buffer, s->img_buffer, blen); + + count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); + res = (count == (n-blen)); + s->img_buffer = s->img_buffer_end; + return res; + } + } + + if (s->img_buffer+n <= s->img_buffer_end) { + memcpy(buffer, s->img_buffer, n); + s->img_buffer += n; + return 1; + } else + return 0; +} + +static int stbi__get16be(stbi__context *s) +{ + int z = stbi__get8(s); + return (z << 8) + stbi__get8(s); +} + +static stbi__uint32 stbi__get32be(stbi__context *s) +{ + stbi__uint32 z = stbi__get16be(s); + return (z << 16) + stbi__get16be(s); +} + +static int stbi__get16le(stbi__context *s) +{ + int z = stbi__get8(s); + return z + (stbi__get8(s) << 8); +} + +static stbi__uint32 stbi__get32le(stbi__context *s) +{ + stbi__uint32 z = stbi__get16le(s); + return z + (stbi__get16le(s) << 16); +} + +#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings + + +////////////////////////////////////////////////////////////////////////////// +// +// generic converter from built-in img_n to req_comp +// individual types do this automatically as much as possible (e.g. jpeg +// does all cases internally since it needs to colorspace convert anyway, +// and it never has alpha, so very few cases ). png can automatically +// interleave an alpha=255 channel, but falls back to this for other cases +// +// assume data buffer is malloced, so malloc a new one and free that one +// only failure mode is malloc failing + +static stbi_uc stbi__compute_y(int r, int g, int b) +{ + return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); +} + +static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + unsigned char *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (unsigned char *) stbi__malloc(req_comp * x * y); + if (good == NULL) { + STBI_FREE(data); + return stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + unsigned char *src = data + j * x * img_n ; + unsigned char *dest = good + j * x * req_comp; + + #define COMBO(a,b) ((a)*8+(b)) + #define CASE(a,b) case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (COMBO(img_n, req_comp)) { + CASE(1,2) dest[0]=src[0], dest[1]=255; break; + CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break; + CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break; + CASE(2,1) dest[0]=src[0]; break; + CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break; + CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break; + CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break; + CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break; + CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break; + CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break; + CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break; + CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break; + default: STBI_ASSERT(0); + } + #undef CASE + } + + STBI_FREE(data); + return good; +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) +{ + int i,k,n; + float *output = (float *) stbi__malloc(x * y * comp * sizeof(float)); + if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); + } + if (k < comp) output[i*comp + k] = data[i*comp+k]/255.0f; + } + STBI_FREE(data); + return output; +} +#endif + +#ifndef STBI_NO_HDR +#define stbi__float2int(x) ((int) (x)) +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) +{ + int i,k,n; + stbi_uc *output = (stbi_uc *) stbi__malloc(x * y * comp); + if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + if (k < comp) { + float z = data[i*comp+k] * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + } + STBI_FREE(data); + return output; +} +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// "baseline" JPEG/JFIF decoder +// +// simple implementation +// - doesn't support delayed output of y-dimension +// - simple interface (only one output format: 8-bit interleaved RGB) +// - doesn't try to recover corrupt jpegs +// - doesn't allow partial loading, loading multiple at once +// - still fast on x86 (copying globals into locals doesn't help x86) +// - allocates lots of intermediate memory (full size of all components) +// - non-interleaved case requires this anyway +// - allows good upsampling (see next) +// high-quality +// - upsampled channels are bilinearly interpolated, even across blocks +// - quality integer IDCT derived from IJG's 'slow' +// performance +// - fast huffman; reasonable integer IDCT +// - some SIMD kernels for common paths on targets with SSE2/NEON +// - uses a lot of intermediate memory, could cache poorly + +#ifndef STBI_NO_JPEG + +// huffman decoding acceleration +#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache + +typedef struct +{ + stbi_uc fast[1 << FAST_BITS]; + // weirdly, repacking this into AoS is a 10% speed loss, instead of a win + stbi__uint16 code[256]; + stbi_uc values[256]; + stbi_uc size[257]; + unsigned int maxcode[18]; + int delta[17]; // old 'firstsymbol' - old 'firstcode' +} stbi__huffman; + +typedef struct +{ + stbi__context *s; + stbi__huffman huff_dc[4]; + stbi__huffman huff_ac[4]; + stbi_uc dequant[4][64]; + stbi__int16 fast_ac[4][1 << FAST_BITS]; + +// sizes for components, interleaved MCUs + int img_h_max, img_v_max; + int img_mcu_x, img_mcu_y; + int img_mcu_w, img_mcu_h; + +// definition of jpeg image component + struct + { + int id; + int h,v; + int tq; + int hd,ha; + int dc_pred; + + int x,y,w2,h2; + stbi_uc *data; + void *raw_data, *raw_coeff; + stbi_uc *linebuf; + short *coeff; // progressive only + int coeff_w, coeff_h; // number of 8x8 coefficient blocks + } img_comp[4]; + + stbi__uint32 code_buffer; // jpeg entropy-coded buffer + int code_bits; // number of valid bits + unsigned char marker; // marker seen while filling entropy buffer + int nomore; // flag if we saw a marker so must stop + + int progressive; + int spec_start; + int spec_end; + int succ_high; + int succ_low; + int eob_run; + + int scan_n, order[4]; + int restart_interval, todo; + +// kernels + void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); + void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); + stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); +} stbi__jpeg; + +static int stbi__build_huffman(stbi__huffman *h, int *count) +{ + int i,j,k=0,code; + // build size list for each symbol (from JPEG spec) + for (i=0; i < 16; ++i) + for (j=0; j < count[i]; ++j) + h->size[k++] = (stbi_uc) (i+1); + h->size[k] = 0; + + // compute actual symbols (from jpeg spec) + code = 0; + k = 0; + for(j=1; j <= 16; ++j) { + // compute delta to add to code to compute symbol id + h->delta[j] = k - code; + if (h->size[k] == j) { + while (h->size[k] == j) + h->code[k++] = (stbi__uint16) (code++); + if (code-1 >= (1 << j)) return stbi__err("bad code lengths","Corrupt JPEG"); + } + // compute largest code + 1 for this size, preshifted as needed later + h->maxcode[j] = code << (16-j); + code <<= 1; + } + h->maxcode[j] = 0xffffffff; + + // build non-spec acceleration table; 255 is flag for not-accelerated + memset(h->fast, 255, 1 << FAST_BITS); + for (i=0; i < k; ++i) { + int s = h->size[i]; + if (s <= FAST_BITS) { + int c = h->code[i] << (FAST_BITS-s); + int m = 1 << (FAST_BITS-s); + for (j=0; j < m; ++j) { + h->fast[c+j] = (stbi_uc) i; + } + } + } + return 1; +} + +// build a table that decodes both magnitude and value of small ACs in +// one go. +static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) +{ + int i; + for (i=0; i < (1 << FAST_BITS); ++i) { + stbi_uc fast = h->fast[i]; + fast_ac[i] = 0; + if (fast < 255) { + int rs = h->values[fast]; + int run = (rs >> 4) & 15; + int magbits = rs & 15; + int len = h->size[fast]; + + if (magbits && len + magbits <= FAST_BITS) { + // magnitude code followed by receive_extend code + int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); + int m = 1 << (magbits - 1); + if (k < m) k += (-1 << magbits) + 1; + // if the result is small enough, we can fit it in fast_ac table + if (k >= -128 && k <= 127) + fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits)); + } + } + } +} + +static void stbi__grow_buffer_unsafe(stbi__jpeg *j) +{ + do { + int b = j->nomore ? 0 : stbi__get8(j->s); + if (b == 0xff) { + int c = stbi__get8(j->s); + if (c != 0) { + j->marker = (unsigned char) c; + j->nomore = 1; + return; + } + } + j->code_buffer |= b << (24 - j->code_bits); + j->code_bits += 8; + } while (j->code_bits <= 24); +} + +// (1 << n) - 1 +static stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; + +// decode a jpeg huffman value from the bitstream +stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) +{ + unsigned int temp; + int c,k; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + // look at the top FAST_BITS and determine what symbol ID it is, + // if the code is <= FAST_BITS + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + k = h->fast[c]; + if (k < 255) { + int s = h->size[k]; + if (s > j->code_bits) + return -1; + j->code_buffer <<= s; + j->code_bits -= s; + return h->values[k]; + } + + // naive test is to shift the code_buffer down so k bits are + // valid, then test against maxcode. To speed this up, we've + // preshifted maxcode left so that it has (16-k) 0s at the + // end; in other words, regardless of the number of bits, it + // wants to be compared against something shifted to have 16; + // that way we don't need to shift inside the loop. + temp = j->code_buffer >> 16; + for (k=FAST_BITS+1 ; ; ++k) + if (temp < h->maxcode[k]) + break; + if (k == 17) { + // error! code not found + j->code_bits -= 16; + return -1; + } + + if (k > j->code_bits) + return -1; + + // convert the huffman code to the symbol id + c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; + STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); + + // convert the id to a symbol + j->code_bits -= k; + j->code_buffer <<= k; + return h->values[c]; +} + +// bias[n] = (-1<<n) + 1 +static int const stbi__jbias[16] = {0,-1,-3,-7,-15,-31,-63,-127,-255,-511,-1023,-2047,-4095,-8191,-16383,-32767}; + +// combined JPEG 'receive' and JPEG 'extend', since baseline +// always extends everything it receives. +stbi_inline static int stbi__extend_receive(stbi__jpeg *j, int n) +{ + unsigned int k; + int sgn; + if (j->code_bits < n) stbi__grow_buffer_unsafe(j); + + sgn = (stbi__int32)j->code_buffer >> 31; // sign bit is always in MSB + k = stbi_lrot(j->code_buffer, n); + STBI_ASSERT(n >= 0 && n < (int) (sizeof(stbi__bmask)/sizeof(*stbi__bmask))); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k + (stbi__jbias[n] & ~sgn); +} + +// get some unsigned bits +stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) +{ + unsigned int k; + if (j->code_bits < n) stbi__grow_buffer_unsafe(j); + k = stbi_lrot(j->code_buffer, n); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k; +} + +stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) +{ + unsigned int k; + if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); + k = j->code_buffer; + j->code_buffer <<= 1; + --j->code_bits; + return k & 0x80000000; +} + +// given a value that's at position X in the zigzag stream, +// where does it appear in the 8x8 matrix coded as row-major? +static stbi_uc stbi__jpeg_dezigzag[64+15] = +{ + 0, 1, 8, 16, 9, 2, 3, 10, + 17, 24, 32, 25, 18, 11, 4, 5, + 12, 19, 26, 33, 40, 48, 41, 34, + 27, 20, 13, 6, 7, 14, 21, 28, + 35, 42, 49, 56, 57, 50, 43, 36, + 29, 22, 15, 23, 30, 37, 44, 51, + 58, 59, 52, 45, 38, 31, 39, 46, + 53, 60, 61, 54, 47, 55, 62, 63, + // let corrupt input sample past end + 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63 +}; + +// decode one 64-entry block-- +static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi_uc *dequant) +{ + int diff,dc,k; + int t; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + t = stbi__jpeg_huff_decode(j, hdc); + if (t < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + + // 0 all the ac values now so we can do it 32-bits at a time + memset(data,0,64*sizeof(data[0])); + + diff = t ? stbi__extend_receive(j, t) : 0; + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + data[0] = (short) (dc * dequant[0]); + + // decode AC components, see JPEG spec + k = 1; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + j->code_buffer <<= s; + j->code_bits -= s; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) * dequant[zig]); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (rs != 0xf0) break; // end block + k += 16; + } else { + k += r; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); + } + } + } while (k < 64); + return 1; +} + +static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) +{ + int diff,dc; + int t; + if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + if (j->succ_high == 0) { + // first scan for DC coefficient, must be first + memset(data,0,64*sizeof(data[0])); // 0 all the ac values now + t = stbi__jpeg_huff_decode(j, hdc); + diff = t ? stbi__extend_receive(j, t) : 0; + + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + data[0] = (short) (dc << j->succ_low); + } else { + // refinement scan for DC coefficient + if (stbi__jpeg_get_bit(j)) + data[0] += (short) (1 << j->succ_low); + } + return 1; +} + +// @OPTIMIZE: store non-zigzagged during the decode passes, +// and only de-zigzag when dequantizing +static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) +{ + int k; + if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->succ_high == 0) { + int shift = j->succ_low; + + if (j->eob_run) { + --j->eob_run; + return 1; + } + + k = j->spec_start; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + j->code_buffer <<= s; + j->code_bits -= s; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) << shift); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r); + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + --j->eob_run; + break; + } + k += 16; + } else { + k += r; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) << shift); + } + } + } while (k <= j->spec_end); + } else { + // refinement scan for these AC coefficients + + short bit = (short) (1 << j->succ_low); + + if (j->eob_run) { + --j->eob_run; + for (k = j->spec_start; k <= j->spec_end; ++k) { + short *p = &data[stbi__jpeg_dezigzag[k]]; + if (*p != 0) + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } + } else { + k = j->spec_start; + do { + int r,s; + int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r) - 1; + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + r = 64; // force end of block + } else { + // r=15 s=0 should write 16 0s, so we just do + // a run of 15 0s and then write s (which is 0), + // so we don't have to do anything special here + } + } else { + if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); + // sign bit + if (stbi__jpeg_get_bit(j)) + s = bit; + else + s = -bit; + } + + // advance by r + while (k <= j->spec_end) { + short *p = &data[stbi__jpeg_dezigzag[k++]]; + if (*p != 0) { + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } else { + if (r == 0) { + *p = (short) s; + break; + } + --r; + } + } + } while (k <= j->spec_end); + } + } + return 1; +} + +// take a -128..127 value and stbi__clamp it and convert to 0..255 +stbi_inline static stbi_uc stbi__clamp(int x) +{ + // trick to use a single test to catch both cases + if ((unsigned int) x > 255) { + if (x < 0) return 0; + if (x > 255) return 255; + } + return (stbi_uc) x; +} + +#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) +#define stbi__fsh(x) ((x) << 12) + +// derived from jidctint -- DCT_ISLOW +#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ + int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ + p2 = s2; \ + p3 = s6; \ + p1 = (p2+p3) * stbi__f2f(0.5411961f); \ + t2 = p1 + p3*stbi__f2f(-1.847759065f); \ + t3 = p1 + p2*stbi__f2f( 0.765366865f); \ + p2 = s0; \ + p3 = s4; \ + t0 = stbi__fsh(p2+p3); \ + t1 = stbi__fsh(p2-p3); \ + x0 = t0+t3; \ + x3 = t0-t3; \ + x1 = t1+t2; \ + x2 = t1-t2; \ + t0 = s7; \ + t1 = s5; \ + t2 = s3; \ + t3 = s1; \ + p3 = t0+t2; \ + p4 = t1+t3; \ + p1 = t0+t3; \ + p2 = t1+t2; \ + p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ + t0 = t0*stbi__f2f( 0.298631336f); \ + t1 = t1*stbi__f2f( 2.053119869f); \ + t2 = t2*stbi__f2f( 3.072711026f); \ + t3 = t3*stbi__f2f( 1.501321110f); \ + p1 = p5 + p1*stbi__f2f(-0.899976223f); \ + p2 = p5 + p2*stbi__f2f(-2.562915447f); \ + p3 = p3*stbi__f2f(-1.961570560f); \ + p4 = p4*stbi__f2f(-0.390180644f); \ + t3 += p1+p4; \ + t2 += p2+p3; \ + t1 += p2+p4; \ + t0 += p1+p3; + +static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) +{ + int i,val[64],*v=val; + stbi_uc *o; + short *d = data; + + // columns + for (i=0; i < 8; ++i,++d, ++v) { + // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing + if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 + && d[40]==0 && d[48]==0 && d[56]==0) { + // no shortcut 0 seconds + // (1|2|3|4|5|6|7)==0 0 seconds + // all separate -0.047 seconds + // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds + int dcterm = d[0] << 2; + v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; + } else { + STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) + // constants scaled things up by 1<<12; let's bring them back + // down, but keep 2 extra bits of precision + x0 += 512; x1 += 512; x2 += 512; x3 += 512; + v[ 0] = (x0+t3) >> 10; + v[56] = (x0-t3) >> 10; + v[ 8] = (x1+t2) >> 10; + v[48] = (x1-t2) >> 10; + v[16] = (x2+t1) >> 10; + v[40] = (x2-t1) >> 10; + v[24] = (x3+t0) >> 10; + v[32] = (x3-t0) >> 10; + } + } + + for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { + // no fast case since the first 1D IDCT spread components out + STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) + // constants scaled things up by 1<<12, plus we had 1<<2 from first + // loop, plus horizontal and vertical each scale by sqrt(8) so together + // we've got an extra 1<<3, so 1<<17 total we need to remove. + // so we want to round that, which means adding 0.5 * 1<<17, + // aka 65536. Also, we'll end up with -128 to 127 that we want + // to encode as 0..255 by adding 128, so we'll add that before the shift + x0 += 65536 + (128<<17); + x1 += 65536 + (128<<17); + x2 += 65536 + (128<<17); + x3 += 65536 + (128<<17); + // tried computing the shifts into temps, or'ing the temps to see + // if any were out of range, but that was slower + o[0] = stbi__clamp((x0+t3) >> 17); + o[7] = stbi__clamp((x0-t3) >> 17); + o[1] = stbi__clamp((x1+t2) >> 17); + o[6] = stbi__clamp((x1-t2) >> 17); + o[2] = stbi__clamp((x2+t1) >> 17); + o[5] = stbi__clamp((x2-t1) >> 17); + o[3] = stbi__clamp((x3+t0) >> 17); + o[4] = stbi__clamp((x3-t0) >> 17); + } +} + +#ifdef STBI_SSE2 +// sse2 integer IDCT. not the fastest possible implementation but it +// produces bit-identical results to the generic C version so it's +// fully "transparent". +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + // This is constructed to match our regular (generic) integer IDCT exactly. + __m128i row0, row1, row2, row3, row4, row5, row6, row7; + __m128i tmp; + + // dot product constant: even elems=x, odd elems=y + #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) + + // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) + // out(1) = c1[even]*x + c1[odd]*y + #define dct_rot(out0,out1, x,y,c0,c1) \ + __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ + __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ + __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ + __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ + __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ + __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) + + // out = in << 12 (in 16-bit, out 32-bit) + #define dct_widen(out, in) \ + __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ + __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) + + // wide add + #define dct_wadd(out, a, b) \ + __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_add_epi32(a##_h, b##_h) + + // wide sub + #define dct_wsub(out, a, b) \ + __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) + + // butterfly a/b, add bias, then shift by "s" and pack + #define dct_bfly32o(out0, out1, a,b,bias,s) \ + { \ + __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ + __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ + dct_wadd(sum, abiased, b); \ + dct_wsub(dif, abiased, b); \ + out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ + out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ + } + + // 8-bit interleave step (for transposes) + #define dct_interleave8(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi8(a, b); \ + b = _mm_unpackhi_epi8(tmp, b) + + // 16-bit interleave step (for transposes) + #define dct_interleave16(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi16(a, b); \ + b = _mm_unpackhi_epi16(tmp, b) + + #define dct_pass(bias,shift) \ + { \ + /* even part */ \ + dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ + __m128i sum04 = _mm_add_epi16(row0, row4); \ + __m128i dif04 = _mm_sub_epi16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ + dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ + __m128i sum17 = _mm_add_epi16(row1, row7); \ + __m128i sum35 = _mm_add_epi16(row3, row5); \ + dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ + dct_wadd(x4, y0o, y4o); \ + dct_wadd(x5, y1o, y5o); \ + dct_wadd(x6, y2o, y5o); \ + dct_wadd(x7, y3o, y4o); \ + dct_bfly32o(row0,row7, x0,x7,bias,shift); \ + dct_bfly32o(row1,row6, x1,x6,bias,shift); \ + dct_bfly32o(row2,row5, x2,x5,bias,shift); \ + dct_bfly32o(row3,row4, x3,x4,bias,shift); \ + } + + __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); + __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); + __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); + __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); + __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); + __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); + __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); + __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); + + // rounding biases in column/row passes, see stbi__idct_block for explanation. + __m128i bias_0 = _mm_set1_epi32(512); + __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); + + // load + row0 = _mm_load_si128((const __m128i *) (data + 0*8)); + row1 = _mm_load_si128((const __m128i *) (data + 1*8)); + row2 = _mm_load_si128((const __m128i *) (data + 2*8)); + row3 = _mm_load_si128((const __m128i *) (data + 3*8)); + row4 = _mm_load_si128((const __m128i *) (data + 4*8)); + row5 = _mm_load_si128((const __m128i *) (data + 5*8)); + row6 = _mm_load_si128((const __m128i *) (data + 6*8)); + row7 = _mm_load_si128((const __m128i *) (data + 7*8)); + + // column pass + dct_pass(bias_0, 10); + + { + // 16bit 8x8 transpose pass 1 + dct_interleave16(row0, row4); + dct_interleave16(row1, row5); + dct_interleave16(row2, row6); + dct_interleave16(row3, row7); + + // transpose pass 2 + dct_interleave16(row0, row2); + dct_interleave16(row1, row3); + dct_interleave16(row4, row6); + dct_interleave16(row5, row7); + + // transpose pass 3 + dct_interleave16(row0, row1); + dct_interleave16(row2, row3); + dct_interleave16(row4, row5); + dct_interleave16(row6, row7); + } + + // row pass + dct_pass(bias_1, 17); + + { + // pack + __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 + __m128i p1 = _mm_packus_epi16(row2, row3); + __m128i p2 = _mm_packus_epi16(row4, row5); + __m128i p3 = _mm_packus_epi16(row6, row7); + + // 8bit 8x8 transpose pass 1 + dct_interleave8(p0, p2); // a0e0a1e1... + dct_interleave8(p1, p3); // c0g0c1g1... + + // transpose pass 2 + dct_interleave8(p0, p1); // a0c0e0g0... + dct_interleave8(p2, p3); // b0d0f0h0... + + // transpose pass 3 + dct_interleave8(p0, p2); // a0b0c0d0... + dct_interleave8(p1, p3); // a4b4c4d4... + + // store + _mm_storel_epi64((__m128i *) out, p0); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p2); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p1); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p3); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); + } + +#undef dct_const +#undef dct_rot +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_interleave8 +#undef dct_interleave16 +#undef dct_pass +} + +#endif // STBI_SSE2 + +#ifdef STBI_NEON + +// NEON integer IDCT. should produce bit-identical +// results to the generic C version. +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; + + int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); + int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); + int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); + int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); + int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); + int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); + int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); + int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); + int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); + int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); + int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); + int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); + +#define dct_long_mul(out, inq, coeff) \ + int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) + +#define dct_long_mac(out, acc, inq, coeff) \ + int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) + +#define dct_widen(out, inq) \ + int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ + int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) + +// wide add +#define dct_wadd(out, a, b) \ + int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vaddq_s32(a##_h, b##_h) + +// wide sub +#define dct_wsub(out, a, b) \ + int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vsubq_s32(a##_h, b##_h) + +// butterfly a/b, then shift using "shiftop" by "s" and pack +#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ + { \ + dct_wadd(sum, a, b); \ + dct_wsub(dif, a, b); \ + out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ + out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ + } + +#define dct_pass(shiftop, shift) \ + { \ + /* even part */ \ + int16x8_t sum26 = vaddq_s16(row2, row6); \ + dct_long_mul(p1e, sum26, rot0_0); \ + dct_long_mac(t2e, p1e, row6, rot0_1); \ + dct_long_mac(t3e, p1e, row2, rot0_2); \ + int16x8_t sum04 = vaddq_s16(row0, row4); \ + int16x8_t dif04 = vsubq_s16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + int16x8_t sum15 = vaddq_s16(row1, row5); \ + int16x8_t sum17 = vaddq_s16(row1, row7); \ + int16x8_t sum35 = vaddq_s16(row3, row5); \ + int16x8_t sum37 = vaddq_s16(row3, row7); \ + int16x8_t sumodd = vaddq_s16(sum17, sum35); \ + dct_long_mul(p5o, sumodd, rot1_0); \ + dct_long_mac(p1o, p5o, sum17, rot1_1); \ + dct_long_mac(p2o, p5o, sum35, rot1_2); \ + dct_long_mul(p3o, sum37, rot2_0); \ + dct_long_mul(p4o, sum15, rot2_1); \ + dct_wadd(sump13o, p1o, p3o); \ + dct_wadd(sump24o, p2o, p4o); \ + dct_wadd(sump23o, p2o, p3o); \ + dct_wadd(sump14o, p1o, p4o); \ + dct_long_mac(x4, sump13o, row7, rot3_0); \ + dct_long_mac(x5, sump24o, row5, rot3_1); \ + dct_long_mac(x6, sump23o, row3, rot3_2); \ + dct_long_mac(x7, sump14o, row1, rot3_3); \ + dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ + dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ + dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ + dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ + } + + // load + row0 = vld1q_s16(data + 0*8); + row1 = vld1q_s16(data + 1*8); + row2 = vld1q_s16(data + 2*8); + row3 = vld1q_s16(data + 3*8); + row4 = vld1q_s16(data + 4*8); + row5 = vld1q_s16(data + 5*8); + row6 = vld1q_s16(data + 6*8); + row7 = vld1q_s16(data + 7*8); + + // add DC bias + row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); + + // column pass + dct_pass(vrshrn_n_s32, 10); + + // 16bit 8x8 transpose + { +// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. +// whether compilers actually get this is another story, sadly. +#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } +#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } + + // pass 1 + dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 + dct_trn16(row2, row3); + dct_trn16(row4, row5); + dct_trn16(row6, row7); + + // pass 2 + dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 + dct_trn32(row1, row3); + dct_trn32(row4, row6); + dct_trn32(row5, row7); + + // pass 3 + dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 + dct_trn64(row1, row5); + dct_trn64(row2, row6); + dct_trn64(row3, row7); + +#undef dct_trn16 +#undef dct_trn32 +#undef dct_trn64 + } + + // row pass + // vrshrn_n_s32 only supports shifts up to 16, we need + // 17. so do a non-rounding shift of 16 first then follow + // up with a rounding shift by 1. + dct_pass(vshrn_n_s32, 16); + + { + // pack and round + uint8x8_t p0 = vqrshrun_n_s16(row0, 1); + uint8x8_t p1 = vqrshrun_n_s16(row1, 1); + uint8x8_t p2 = vqrshrun_n_s16(row2, 1); + uint8x8_t p3 = vqrshrun_n_s16(row3, 1); + uint8x8_t p4 = vqrshrun_n_s16(row4, 1); + uint8x8_t p5 = vqrshrun_n_s16(row5, 1); + uint8x8_t p6 = vqrshrun_n_s16(row6, 1); + uint8x8_t p7 = vqrshrun_n_s16(row7, 1); + + // again, these can translate into one instruction, but often don't. +#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } +#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } + + // sadly can't use interleaved stores here since we only write + // 8 bytes to each scan line! + + // 8x8 8-bit transpose pass 1 + dct_trn8_8(p0, p1); + dct_trn8_8(p2, p3); + dct_trn8_8(p4, p5); + dct_trn8_8(p6, p7); + + // pass 2 + dct_trn8_16(p0, p2); + dct_trn8_16(p1, p3); + dct_trn8_16(p4, p6); + dct_trn8_16(p5, p7); + + // pass 3 + dct_trn8_32(p0, p4); + dct_trn8_32(p1, p5); + dct_trn8_32(p2, p6); + dct_trn8_32(p3, p7); + + // store + vst1_u8(out, p0); out += out_stride; + vst1_u8(out, p1); out += out_stride; + vst1_u8(out, p2); out += out_stride; + vst1_u8(out, p3); out += out_stride; + vst1_u8(out, p4); out += out_stride; + vst1_u8(out, p5); out += out_stride; + vst1_u8(out, p6); out += out_stride; + vst1_u8(out, p7); + +#undef dct_trn8_8 +#undef dct_trn8_16 +#undef dct_trn8_32 + } + +#undef dct_long_mul +#undef dct_long_mac +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_pass +} + +#endif // STBI_NEON + +#define STBI__MARKER_none 0xff +// if there's a pending marker from the entropy stream, return that +// otherwise, fetch from the stream and get a marker. if there's no +// marker, return 0xff, which is never a valid marker value +static stbi_uc stbi__get_marker(stbi__jpeg *j) +{ + stbi_uc x; + if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } + x = stbi__get8(j->s); + if (x != 0xff) return STBI__MARKER_none; + while (x == 0xff) + x = stbi__get8(j->s); + return x; +} + +// in each scan, we'll have scan_n components, and the order +// of the components is specified by order[] +#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) + +// after a restart interval, stbi__jpeg_reset the entropy decoder and +// the dc prediction +static void stbi__jpeg_reset(stbi__jpeg *j) +{ + j->code_bits = 0; + j->code_buffer = 0; + j->nomore = 0; + j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = 0; + j->marker = STBI__MARKER_none; + j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; + j->eob_run = 0; + // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, + // since we don't even allow 1<<30 pixels +} + +static int stbi__parse_entropy_coded_data(stbi__jpeg *z) +{ + stbi__jpeg_reset(z); + if (!z->progressive) { + if (z->scan_n == 1) { + int i,j; + STBI_SIMD_ALIGN(short, data[64]); + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + // if it's NOT a restart, then just bail, so we get corrupt data + // rather than no data + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + STBI_SIMD_ALIGN(short, data[64]); + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x)*8; + int y2 = (j*z->img_comp[n].v + y)*8; + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } else { + if (z->scan_n == 1) { + int i,j; + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + if (z->spec_start == 0) { + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } else { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) + return 0; + } + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x); + int y2 = (j*z->img_comp[n].v + y); + short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } +} + +static void stbi__jpeg_dequantize(short *data, stbi_uc *dequant) +{ + int i; + for (i=0; i < 64; ++i) + data[i] *= dequant[i]; +} + +static void stbi__jpeg_finish(stbi__jpeg *z) +{ + if (z->progressive) { + // dequantize and idct the data + int i,j,n; + for (n=0; n < z->s->img_n; ++n) { + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + } + } + } + } +} + +static int stbi__process_marker(stbi__jpeg *z, int m) +{ + int L; + switch (m) { + case STBI__MARKER_none: // no marker found + return stbi__err("expected marker","Corrupt JPEG"); + + case 0xDD: // DRI - specify restart interval + if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); + z->restart_interval = stbi__get16be(z->s); + return 1; + + case 0xDB: // DQT - define quantization table + L = stbi__get16be(z->s)-2; + while (L > 0) { + int q = stbi__get8(z->s); + int p = q >> 4; + int t = q & 15,i; + if (p != 0) return stbi__err("bad DQT type","Corrupt JPEG"); + if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); + for (i=0; i < 64; ++i) + z->dequant[t][stbi__jpeg_dezigzag[i]] = stbi__get8(z->s); + L -= 65; + } + return L==0; + + case 0xC4: // DHT - define huffman table + L = stbi__get16be(z->s)-2; + while (L > 0) { + stbi_uc *v; + int sizes[16],i,n=0; + int q = stbi__get8(z->s); + int tc = q >> 4; + int th = q & 15; + if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); + for (i=0; i < 16; ++i) { + sizes[i] = stbi__get8(z->s); + n += sizes[i]; + } + L -= 17; + if (tc == 0) { + if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; + v = z->huff_dc[th].values; + } else { + if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; + v = z->huff_ac[th].values; + } + for (i=0; i < n; ++i) + v[i] = stbi__get8(z->s); + if (tc != 0) + stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); + L -= n; + } + return L==0; + } + // check for comment block or APP blocks + if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { + stbi__skip(z->s, stbi__get16be(z->s)-2); + return 1; + } + return 0; +} + +// after we see SOS +static int stbi__process_scan_header(stbi__jpeg *z) +{ + int i; + int Ls = stbi__get16be(z->s); + z->scan_n = stbi__get8(z->s); + if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); + if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); + for (i=0; i < z->scan_n; ++i) { + int id = stbi__get8(z->s), which; + int q = stbi__get8(z->s); + for (which = 0; which < z->s->img_n; ++which) + if (z->img_comp[which].id == id) + break; + if (which == z->s->img_n) return 0; // no match + z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); + z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); + z->order[i] = which; + } + + { + int aa; + z->spec_start = stbi__get8(z->s); + z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 + aa = stbi__get8(z->s); + z->succ_high = (aa >> 4); + z->succ_low = (aa & 15); + if (z->progressive) { + if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) + return stbi__err("bad SOS", "Corrupt JPEG"); + } else { + if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); + if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); + z->spec_end = 63; + } + } + + return 1; +} + +static int stbi__process_frame_header(stbi__jpeg *z, int scan) +{ + stbi__context *s = z->s; + int Lf,p,i,q, h_max=1,v_max=1,c; + Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG + p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline + s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG + s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires + c = stbi__get8(s); + if (c != 3 && c != 1) return stbi__err("bad component count","Corrupt JPEG"); // JFIF requires + s->img_n = c; + for (i=0; i < c; ++i) { + z->img_comp[i].data = NULL; + z->img_comp[i].linebuf = NULL; + } + + if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); + + for (i=0; i < s->img_n; ++i) { + z->img_comp[i].id = stbi__get8(s); + if (z->img_comp[i].id != i+1) // JFIF requires + if (z->img_comp[i].id != i) // some version of jpegtran outputs non-JFIF-compliant files! + return stbi__err("bad component ID","Corrupt JPEG"); + q = stbi__get8(s); + z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); + z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); + z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); + } + + if (scan != STBI__SCAN_load) return 1; + + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + + for (i=0; i < s->img_n; ++i) { + if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; + if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; + } + + // compute interleaved mcu info + z->img_h_max = h_max; + z->img_v_max = v_max; + z->img_mcu_w = h_max * 8; + z->img_mcu_h = v_max * 8; + z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; + z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; + + for (i=0; i < s->img_n; ++i) { + // number of effective pixels (e.g. for non-interleaved MCU) + z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; + z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; + // to simplify generation, we'll allocate enough memory to decode + // the bogus oversized data from using interleaved MCUs and their + // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't + // discard the extra data until colorspace conversion + z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; + z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; + z->img_comp[i].raw_data = stbi__malloc(z->img_comp[i].w2 * z->img_comp[i].h2+15); + + if (z->img_comp[i].raw_data == NULL) { + for(--i; i >= 0; --i) { + STBI_FREE(z->img_comp[i].raw_data); + z->img_comp[i].data = NULL; + } + return stbi__err("outofmem", "Out of memory"); + } + // align blocks for idct using mmx/sse + z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); + z->img_comp[i].linebuf = NULL; + if (z->progressive) { + z->img_comp[i].coeff_w = (z->img_comp[i].w2 + 7) >> 3; + z->img_comp[i].coeff_h = (z->img_comp[i].h2 + 7) >> 3; + z->img_comp[i].raw_coeff = STBI_MALLOC(z->img_comp[i].coeff_w * z->img_comp[i].coeff_h * 64 * sizeof(short) + 15); + z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); + } else { + z->img_comp[i].coeff = 0; + z->img_comp[i].raw_coeff = 0; + } + } + + return 1; +} + +// use comparisons since in some cases we handle more than one case (e.g. SOF) +#define stbi__DNL(x) ((x) == 0xdc) +#define stbi__SOI(x) ((x) == 0xd8) +#define stbi__EOI(x) ((x) == 0xd9) +#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) +#define stbi__SOS(x) ((x) == 0xda) + +#define stbi__SOF_progressive(x) ((x) == 0xc2) + +static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) +{ + int m; + z->marker = STBI__MARKER_none; // initialize cached marker to empty + m = stbi__get_marker(z); + if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); + if (scan == STBI__SCAN_type) return 1; + m = stbi__get_marker(z); + while (!stbi__SOF(m)) { + if (!stbi__process_marker(z,m)) return 0; + m = stbi__get_marker(z); + while (m == STBI__MARKER_none) { + // some files have extra padding after their blocks, so ok, we'll scan + if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); + m = stbi__get_marker(z); + } + } + z->progressive = stbi__SOF_progressive(m); + if (!stbi__process_frame_header(z, scan)) return 0; + return 1; +} + +// decode image to YCbCr format +static int stbi__decode_jpeg_image(stbi__jpeg *j) +{ + int m; + for (m = 0; m < 4; m++) { + j->img_comp[m].raw_data = NULL; + j->img_comp[m].raw_coeff = NULL; + } + j->restart_interval = 0; + if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; + m = stbi__get_marker(j); + while (!stbi__EOI(m)) { + if (stbi__SOS(m)) { + if (!stbi__process_scan_header(j)) return 0; + if (!stbi__parse_entropy_coded_data(j)) return 0; + if (j->marker == STBI__MARKER_none ) { + // handle 0s at the end of image data from IP Kamera 9060 + while (!stbi__at_eof(j->s)) { + int x = stbi__get8(j->s); + if (x == 255) { + j->marker = stbi__get8(j->s); + break; + } else if (x != 0) { + return stbi__err("junk before marker", "Corrupt JPEG"); + } + } + // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 + } + } else { + if (!stbi__process_marker(j, m)) return 0; + } + m = stbi__get_marker(j); + } + if (j->progressive) + stbi__jpeg_finish(j); + return 1; +} + +// static jfif-centered resampling (across block boundaries) + +typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, + int w, int hs); + +#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) + +static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + STBI_NOTUSED(out); + STBI_NOTUSED(in_far); + STBI_NOTUSED(w); + STBI_NOTUSED(hs); + return in_near; +} + +static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples vertically for every one in input + int i; + STBI_NOTUSED(hs); + for (i=0; i < w; ++i) + out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); + return out; +} + +static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples horizontally for every one in input + int i; + stbi_uc *input = in_near; + + if (w == 1) { + // if only one sample, can't do any interpolation + out[0] = out[1] = input[0]; + return out; + } + + out[0] = input[0]; + out[1] = stbi__div4(input[0]*3 + input[1] + 2); + for (i=1; i < w-1; ++i) { + int n = 3*input[i]+2; + out[i*2+0] = stbi__div4(n+input[i-1]); + out[i*2+1] = stbi__div4(n+input[i+1]); + } + out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); + out[i*2+1] = input[w-1]; + + STBI_NOTUSED(in_far); + STBI_NOTUSED(hs); + + return out; +} + +#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) + +static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i,t0,t1; + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + out[0] = stbi__div4(t1+2); + for (i=1; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i=0,t0,t1; + + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + // process groups of 8 pixels for as long as we can. + // note we can't handle the last pixel in a row in this loop + // because we need to handle the filter boundary conditions. + for (; i < ((w-1) & ~7); i += 8) { +#if defined(STBI_SSE2) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + __m128i zero = _mm_setzero_si128(); + __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); + __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); + __m128i farw = _mm_unpacklo_epi8(farb, zero); + __m128i nearw = _mm_unpacklo_epi8(nearb, zero); + __m128i diff = _mm_sub_epi16(farw, nearw); + __m128i nears = _mm_slli_epi16(nearw, 2); + __m128i curr = _mm_add_epi16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + __m128i prv0 = _mm_slli_si128(curr, 2); + __m128i nxt0 = _mm_srli_si128(curr, 2); + __m128i prev = _mm_insert_epi16(prv0, t1, 0); + __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + __m128i bias = _mm_set1_epi16(8); + __m128i curs = _mm_slli_epi16(curr, 2); + __m128i prvd = _mm_sub_epi16(prev, curr); + __m128i nxtd = _mm_sub_epi16(next, curr); + __m128i curb = _mm_add_epi16(curs, bias); + __m128i even = _mm_add_epi16(prvd, curb); + __m128i odd = _mm_add_epi16(nxtd, curb); + + // interleave even and odd pixels, then undo scaling. + __m128i int0 = _mm_unpacklo_epi16(even, odd); + __m128i int1 = _mm_unpackhi_epi16(even, odd); + __m128i de0 = _mm_srli_epi16(int0, 4); + __m128i de1 = _mm_srli_epi16(int1, 4); + + // pack and write output + __m128i outv = _mm_packus_epi16(de0, de1); + _mm_storeu_si128((__m128i *) (out + i*2), outv); +#elif defined(STBI_NEON) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + uint8x8_t farb = vld1_u8(in_far + i); + uint8x8_t nearb = vld1_u8(in_near + i); + int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); + int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); + int16x8_t curr = vaddq_s16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + int16x8_t prv0 = vextq_s16(curr, curr, 7); + int16x8_t nxt0 = vextq_s16(curr, curr, 1); + int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); + int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + int16x8_t curs = vshlq_n_s16(curr, 2); + int16x8_t prvd = vsubq_s16(prev, curr); + int16x8_t nxtd = vsubq_s16(next, curr); + int16x8_t even = vaddq_s16(curs, prvd); + int16x8_t odd = vaddq_s16(curs, nxtd); + + // undo scaling and round, then store with even/odd phases interleaved + uint8x8x2_t o; + o.val[0] = vqrshrun_n_s16(even, 4); + o.val[1] = vqrshrun_n_s16(odd, 4); + vst2_u8(out + i*2, o); +#endif + + // "previous" value for next iter + t1 = 3*in_near[i+7] + in_far[i+7]; + } + + t0 = t1; + t1 = 3*in_near[i] + in_far[i]; + out[i*2] = stbi__div16(3*t1 + t0 + 8); + + for (++i; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} +#endif + +static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // resample with nearest-neighbor + int i,j; + STBI_NOTUSED(in_far); + for (i=0; i < w; ++i) + for (j=0; j < hs; ++j) + out[i*hs+j] = in_near[i]; + return out; +} + +#ifdef STBI_JPEG_OLD +// this is the same YCbCr-to-RGB calculation that stb_image has used +// historically before the algorithm changes in 1.49 +#define float2fixed(x) ((int) ((x) * 65536 + 0.5)) +static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) +{ + int i; + for (i=0; i < count; ++i) { + int y_fixed = (y[i] << 16) + 32768; // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr*float2fixed(1.40200f); + g = y_fixed - cr*float2fixed(0.71414f) - cb*float2fixed(0.34414f); + b = y_fixed + cb*float2fixed(1.77200f); + r >>= 16; + g >>= 16; + b >>= 16; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#else +// this is a reduced-precision calculation of YCbCr-to-RGB introduced +// to make sure the code produces the same results in both SIMD and scalar +#define float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) +static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) +{ + int i; + for (i=0; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* float2fixed(1.40200f); + g = y_fixed + (cr*-float2fixed(0.71414f)) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#endif + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) +{ + int i = 0; + +#ifdef STBI_SSE2 + // step == 3 is pretty ugly on the final interleave, and i'm not convinced + // it's useful in practice (you wouldn't use it for textures, for example). + // so just accelerate step == 4 case. + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + __m128i signflip = _mm_set1_epi8(-0x80); + __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); + __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); + __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); + __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); + __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); + __m128i xw = _mm_set1_epi16(255); // alpha channel + + for (; i+7 < count; i += 8) { + // load + __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); + __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); + __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); + __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 + __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 + + // unpack to short (and left-shift cr, cb by 8) + __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); + __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); + __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); + + // color transform + __m128i yws = _mm_srli_epi16(yw, 4); + __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); + __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); + __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); + __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); + __m128i rws = _mm_add_epi16(cr0, yws); + __m128i gwt = _mm_add_epi16(cb0, yws); + __m128i bws = _mm_add_epi16(yws, cb1); + __m128i gws = _mm_add_epi16(gwt, cr1); + + // descale + __m128i rw = _mm_srai_epi16(rws, 4); + __m128i bw = _mm_srai_epi16(bws, 4); + __m128i gw = _mm_srai_epi16(gws, 4); + + // back to byte, set up for transpose + __m128i brb = _mm_packus_epi16(rw, bw); + __m128i gxb = _mm_packus_epi16(gw, xw); + + // transpose to interleave channels + __m128i t0 = _mm_unpacklo_epi8(brb, gxb); + __m128i t1 = _mm_unpackhi_epi8(brb, gxb); + __m128i o0 = _mm_unpacklo_epi16(t0, t1); + __m128i o1 = _mm_unpackhi_epi16(t0, t1); + + // store + _mm_storeu_si128((__m128i *) (out + 0), o0); + _mm_storeu_si128((__m128i *) (out + 16), o1); + out += 32; + } + } +#endif + +#ifdef STBI_NEON + // in this version, step=3 support would be easy to add. but is there demand? + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + uint8x8_t signflip = vdup_n_u8(0x80); + int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); + int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); + int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); + int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); + + for (; i+7 < count; i += 8) { + // load + uint8x8_t y_bytes = vld1_u8(y + i); + uint8x8_t cr_bytes = vld1_u8(pcr + i); + uint8x8_t cb_bytes = vld1_u8(pcb + i); + int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); + int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); + + // expand to s16 + int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); + int16x8_t crw = vshll_n_s8(cr_biased, 7); + int16x8_t cbw = vshll_n_s8(cb_biased, 7); + + // color transform + int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); + int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); + int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); + int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); + int16x8_t rws = vaddq_s16(yws, cr0); + int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); + int16x8_t bws = vaddq_s16(yws, cb1); + + // undo scaling, round, convert to byte + uint8x8x4_t o; + o.val[0] = vqrshrun_n_s16(rws, 4); + o.val[1] = vqrshrun_n_s16(gws, 4); + o.val[2] = vqrshrun_n_s16(bws, 4); + o.val[3] = vdup_n_u8(255); + + // store, interleaving r/g/b/a + vst4_u8(out, o); + out += 8*4; + } + } +#endif + + for (; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* float2fixed(1.40200f); + g = y_fixed + cr*-float2fixed(0.71414f) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#endif + +// set up the kernels +static void stbi__setup_jpeg(stbi__jpeg *j) +{ + j->idct_block_kernel = stbi__idct_block; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; + +#ifdef STBI_SSE2 + if (stbi__sse2_available()) { + j->idct_block_kernel = stbi__idct_simd; + #ifndef STBI_JPEG_OLD + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + #endif + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; + } +#endif + +#ifdef STBI_NEON + j->idct_block_kernel = stbi__idct_simd; + #ifndef STBI_JPEG_OLD + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + #endif + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; +#endif +} + +// clean up the temporary component buffers +static void stbi__cleanup_jpeg(stbi__jpeg *j) +{ + int i; + for (i=0; i < j->s->img_n; ++i) { + if (j->img_comp[i].raw_data) { + STBI_FREE(j->img_comp[i].raw_data); + j->img_comp[i].raw_data = NULL; + j->img_comp[i].data = NULL; + } + if (j->img_comp[i].raw_coeff) { + STBI_FREE(j->img_comp[i].raw_coeff); + j->img_comp[i].raw_coeff = 0; + j->img_comp[i].coeff = 0; + } + if (j->img_comp[i].linebuf) { + STBI_FREE(j->img_comp[i].linebuf); + j->img_comp[i].linebuf = NULL; + } + } +} + +typedef struct +{ + resample_row_func resample; + stbi_uc *line0,*line1; + int hs,vs; // expansion factor in each axis + int w_lores; // horizontal pixels pre-expansion + int ystep; // how far through vertical expansion we are + int ypos; // which pre-expansion row we're on +} stbi__resample; + +static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) +{ + int n, decode_n; + z->s->img_n = 0; // make stbi__cleanup_jpeg safe + + // validate req_comp + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + + // load a jpeg image from whichever source, but leave in YCbCr format + if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } + + // determine actual number of components to generate + n = req_comp ? req_comp : z->s->img_n; + + if (z->s->img_n == 3 && n < 3) + decode_n = 1; + else + decode_n = z->s->img_n; + + // resample and color-convert + { + int k; + unsigned int i,j; + stbi_uc *output; + stbi_uc *coutput[4]; + + stbi__resample res_comp[4]; + + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + + // allocate line buffer big enough for upsampling off the edges + // with upsample factor of 4 + z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); + if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + r->hs = z->img_h_max / z->img_comp[k].h; + r->vs = z->img_v_max / z->img_comp[k].v; + r->ystep = r->vs >> 1; + r->w_lores = (z->s->img_x + r->hs-1) / r->hs; + r->ypos = 0; + r->line0 = r->line1 = z->img_comp[k].data; + + if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; + else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; + else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; + else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; + else r->resample = stbi__resample_row_generic; + } + + // can't error after this so, this is safe + output = (stbi_uc *) stbi__malloc(n * z->s->img_x * z->s->img_y + 1); + if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + // now go ahead and resample + for (j=0; j < z->s->img_y; ++j) { + stbi_uc *out = output + n * z->s->img_x * j; + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + int y_bot = r->ystep >= (r->vs >> 1); + coutput[k] = r->resample(z->img_comp[k].linebuf, + y_bot ? r->line1 : r->line0, + y_bot ? r->line0 : r->line1, + r->w_lores, r->hs); + if (++r->ystep >= r->vs) { + r->ystep = 0; + r->line0 = r->line1; + if (++r->ypos < z->img_comp[k].y) + r->line1 += z->img_comp[k].w2; + } + } + if (n >= 3) { + stbi_uc *y = coutput[0]; + if (z->s->img_n == 3) { + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } else + for (i=0; i < z->s->img_x; ++i) { + out[0] = out[1] = out[2] = y[i]; + out[3] = 255; // not used if n==3 + out += n; + } + } else { + stbi_uc *y = coutput[0]; + if (n == 1) + for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; + else + for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255; + } + } + stbi__cleanup_jpeg(z); + *out_x = z->s->img_x; + *out_y = z->s->img_y; + if (comp) *comp = z->s->img_n; // report original components, not output + return output; + } +} + +static unsigned char *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__jpeg j; + j.s = s; + stbi__setup_jpeg(&j); + return load_jpeg_image(&j, x,y,comp,req_comp); +} + +static int stbi__jpeg_test(stbi__context *s) +{ + int r; + stbi__jpeg j; + j.s = s; + stbi__setup_jpeg(&j); + r = stbi__decode_jpeg_header(&j, STBI__SCAN_type); + stbi__rewind(s); + return r; +} + +static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) +{ + if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { + stbi__rewind( j->s ); + return 0; + } + if (x) *x = j->s->img_x; + if (y) *y = j->s->img_y; + if (comp) *comp = j->s->img_n; + return 1; +} + +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__jpeg j; + j.s = s; + return stbi__jpeg_info_raw(&j, x, y, comp); +} +#endif + +// public domain zlib decode v0.2 Sean Barrett 2006-11-18 +// simple implementation +// - all input must be provided in an upfront buffer +// - all output is written to a single output buffer (can malloc/realloc) +// performance +// - fast huffman + +#ifndef STBI_NO_ZLIB + +// fast-way is faster to check than jpeg huffman, but slow way is slower +#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables +#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) + +// zlib-style huffman encoding +// (jpegs packs from left, zlib from right, so can't share code) +typedef struct +{ + stbi__uint16 fast[1 << STBI__ZFAST_BITS]; + stbi__uint16 firstcode[16]; + int maxcode[17]; + stbi__uint16 firstsymbol[16]; + stbi_uc size[288]; + stbi__uint16 value[288]; +} stbi__zhuffman; + +stbi_inline static int stbi__bitreverse16(int n) +{ + n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); + n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); + n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); + n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); + return n; +} + +stbi_inline static int stbi__bit_reverse(int v, int bits) +{ + STBI_ASSERT(bits <= 16); + // to bit reverse n bits, reverse 16 and shift + // e.g. 11 bits, bit reverse and shift away 5 + return stbi__bitreverse16(v) >> (16-bits); +} + +static int stbi__zbuild_huffman(stbi__zhuffman *z, stbi_uc *sizelist, int num) +{ + int i,k=0; + int code, next_code[16], sizes[17]; + + // DEFLATE spec for generating codes + memset(sizes, 0, sizeof(sizes)); + memset(z->fast, 0, sizeof(z->fast)); + for (i=0; i < num; ++i) + ++sizes[sizelist[i]]; + sizes[0] = 0; + for (i=1; i < 16; ++i) + if (sizes[i] > (1 << i)) + return stbi__err("bad sizes", "Corrupt PNG"); + code = 0; + for (i=1; i < 16; ++i) { + next_code[i] = code; + z->firstcode[i] = (stbi__uint16) code; + z->firstsymbol[i] = (stbi__uint16) k; + code = (code + sizes[i]); + if (sizes[i]) + if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt PNG"); + z->maxcode[i] = code << (16-i); // preshift for inner loop + code <<= 1; + k += sizes[i]; + } + z->maxcode[16] = 0x10000; // sentinel + for (i=0; i < num; ++i) { + int s = sizelist[i]; + if (s) { + int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; + stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); + z->size [c] = (stbi_uc ) s; + z->value[c] = (stbi__uint16) i; + if (s <= STBI__ZFAST_BITS) { + int k = stbi__bit_reverse(next_code[s],s); + while (k < (1 << STBI__ZFAST_BITS)) { + z->fast[k] = fastv; + k += (1 << s); + } + } + ++next_code[s]; + } + } + return 1; +} + +// zlib-from-memory implementation for PNG reading +// because PNG allows splitting the zlib stream arbitrarily, +// and it's annoying structurally to have PNG call ZLIB call PNG, +// we require PNG read all the IDATs and combine them into a single +// memory buffer + +typedef struct +{ + stbi_uc *zbuffer, *zbuffer_end; + int num_bits; + stbi__uint32 code_buffer; + + char *zout; + char *zout_start; + char *zout_end; + int z_expandable; + + stbi__zhuffman z_length, z_distance; +} stbi__zbuf; + +stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) +{ + if (z->zbuffer >= z->zbuffer_end) return 0; + return *z->zbuffer++; +} + +static void stbi__fill_bits(stbi__zbuf *z) +{ + do { + STBI_ASSERT(z->code_buffer < (1U << z->num_bits)); + z->code_buffer |= stbi__zget8(z) << z->num_bits; + z->num_bits += 8; + } while (z->num_bits <= 24); +} + +stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) +{ + unsigned int k; + if (z->num_bits < n) stbi__fill_bits(z); + k = z->code_buffer & ((1 << n) - 1); + z->code_buffer >>= n; + z->num_bits -= n; + return k; +} + +static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s,k; + // not resolved by fast table, so compute it the slow way + // use jpeg approach, which requires MSbits at top + k = stbi__bit_reverse(a->code_buffer, 16); + for (s=STBI__ZFAST_BITS+1; ; ++s) + if (k < z->maxcode[s]) + break; + if (s == 16) return -1; // invalid code! + // code size is s, so: + b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; + STBI_ASSERT(z->size[b] == s); + a->code_buffer >>= s; + a->num_bits -= s; + return z->value[b]; +} + +stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s; + if (a->num_bits < 16) stbi__fill_bits(a); + b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; + if (b) { + s = b >> 9; + a->code_buffer >>= s; + a->num_bits -= s; + return b & 511; + } + return stbi__zhuffman_decode_slowpath(a, z); +} + +static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes +{ + char *q; + int cur, limit; + z->zout = zout; + if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); + cur = (int) (z->zout - z->zout_start); + limit = (int) (z->zout_end - z->zout_start); + while (cur + n > limit) + limit *= 2; + q = (char *) STBI_REALLOC(z->zout_start, limit); + if (q == NULL) return stbi__err("outofmem", "Out of memory"); + z->zout_start = q; + z->zout = q + cur; + z->zout_end = q + limit; + return 1; +} + +static int stbi__zlength_base[31] = { + 3,4,5,6,7,8,9,10,11,13, + 15,17,19,23,27,31,35,43,51,59, + 67,83,99,115,131,163,195,227,258,0,0 }; + +static int stbi__zlength_extra[31]= +{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; + +static int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, +257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; + +static int stbi__zdist_extra[32] = +{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; + +static int stbi__parse_huffman_block(stbi__zbuf *a) +{ + char *zout = a->zout; + for(;;) { + int z = stbi__zhuffman_decode(a, &a->z_length); + if (z < 256) { + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes + if (zout >= a->zout_end) { + if (!stbi__zexpand(a, zout, 1)) return 0; + zout = a->zout; + } + *zout++ = (char) z; + } else { + stbi_uc *p; + int len,dist; + if (z == 256) { + a->zout = zout; + return 1; + } + z -= 257; + len = stbi__zlength_base[z]; + if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); + z = stbi__zhuffman_decode(a, &a->z_distance); + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); + dist = stbi__zdist_base[z]; + if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); + if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); + if (zout + len > a->zout_end) { + if (!stbi__zexpand(a, zout, len)) return 0; + zout = a->zout; + } + p = (stbi_uc *) (zout - dist); + if (dist == 1) { // run of one byte; common in images. + stbi_uc v = *p; + if (len) { do *zout++ = v; while (--len); } + } else { + if (len) { do *zout++ = *p++; while (--len); } + } + } + } +} + +static int stbi__compute_huffman_codes(stbi__zbuf *a) +{ + static stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; + stbi__zhuffman z_codelength; + stbi_uc lencodes[286+32+137];//padding for maximum single op + stbi_uc codelength_sizes[19]; + int i,n; + + int hlit = stbi__zreceive(a,5) + 257; + int hdist = stbi__zreceive(a,5) + 1; + int hclen = stbi__zreceive(a,4) + 4; + + memset(codelength_sizes, 0, sizeof(codelength_sizes)); + for (i=0; i < hclen; ++i) { + int s = stbi__zreceive(a,3); + codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; + } + if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; + + n = 0; + while (n < hlit + hdist) { + int c = stbi__zhuffman_decode(a, &z_codelength); + if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); + if (c < 16) + lencodes[n++] = (stbi_uc) c; + else if (c == 16) { + c = stbi__zreceive(a,2)+3; + memset(lencodes+n, lencodes[n-1], c); + n += c; + } else if (c == 17) { + c = stbi__zreceive(a,3)+3; + memset(lencodes+n, 0, c); + n += c; + } else { + STBI_ASSERT(c == 18); + c = stbi__zreceive(a,7)+11; + memset(lencodes+n, 0, c); + n += c; + } + } + if (n != hlit+hdist) return stbi__err("bad codelengths","Corrupt PNG"); + if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; + return 1; +} + +static int stbi__parse_uncomperssed_block(stbi__zbuf *a) +{ + stbi_uc header[4]; + int len,nlen,k; + if (a->num_bits & 7) + stbi__zreceive(a, a->num_bits & 7); // discard + // drain the bit-packed data into header + k = 0; + while (a->num_bits > 0) { + header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check + a->code_buffer >>= 8; + a->num_bits -= 8; + } + STBI_ASSERT(a->num_bits == 0); + // now fill header the normal way + while (k < 4) + header[k++] = stbi__zget8(a); + len = header[1] * 256 + header[0]; + nlen = header[3] * 256 + header[2]; + if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); + if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); + if (a->zout + len > a->zout_end) + if (!stbi__zexpand(a, a->zout, len)) return 0; + memcpy(a->zout, a->zbuffer, len); + a->zbuffer += len; + a->zout += len; + return 1; +} + +static int stbi__parse_zlib_header(stbi__zbuf *a) +{ + int cmf = stbi__zget8(a); + int cm = cmf & 15; + /* int cinfo = cmf >> 4; */ + int flg = stbi__zget8(a); + if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec + if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png + if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png + // window = 1 << (8 + cinfo)... but who cares, we fully buffer output + return 1; +} + +// @TODO: should statically initialize these for optimal thread safety +static stbi_uc stbi__zdefault_length[288], stbi__zdefault_distance[32]; +static void stbi__init_zdefaults(void) +{ + int i; // use <= to match clearly with spec + for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; + for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; + for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; + for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; + + for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; +} + +static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) +{ + int final, type; + if (parse_header) + if (!stbi__parse_zlib_header(a)) return 0; + a->num_bits = 0; + a->code_buffer = 0; + do { + final = stbi__zreceive(a,1); + type = stbi__zreceive(a,2); + if (type == 0) { + if (!stbi__parse_uncomperssed_block(a)) return 0; + } else if (type == 3) { + return 0; + } else { + if (type == 1) { + // use fixed code lengths + if (!stbi__zdefault_distance[31]) stbi__init_zdefaults(); + if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , 288)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; + } else { + if (!stbi__compute_huffman_codes(a)) return 0; + } + if (!stbi__parse_huffman_block(a)) return 0; + } + } while (!final); + return 1; +} + +static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) +{ + a->zout_start = obuf; + a->zout = obuf; + a->zout_end = obuf + olen; + a->z_expandable = exp; + + return stbi__parse_zlib(a, parse_header); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) +{ + return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) + return (int) (a.zout - a.zout_start); + else + return -1; +} + +STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(16384); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer+len; + if (stbi__do_zlib(&a, p, 16384, 1, 0)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) + return (int) (a.zout - a.zout_start); + else + return -1; +} +#endif + +// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 +// simple implementation +// - only 8-bit samples +// - no CRC checking +// - allocates lots of intermediate memory +// - avoids problem of streaming data between subsystems +// - avoids explicit window management +// performance +// - uses stb_zlib, a PD zlib implementation with fast huffman decoding + +#ifndef STBI_NO_PNG +typedef struct +{ + stbi__uint32 length; + stbi__uint32 type; +} stbi__pngchunk; + +static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) +{ + stbi__pngchunk c; + c.length = stbi__get32be(s); + c.type = stbi__get32be(s); + return c; +} + +static int stbi__check_png_header(stbi__context *s) +{ + static stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; + int i; + for (i=0; i < 8; ++i) + if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); + return 1; +} + +typedef struct +{ + stbi__context *s; + stbi_uc *idata, *expanded, *out; +} stbi__png; + + +enum { + STBI__F_none=0, + STBI__F_sub=1, + STBI__F_up=2, + STBI__F_avg=3, + STBI__F_paeth=4, + // synthetic filters used for first scanline to avoid needing a dummy row of 0s + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static stbi_uc first_row_filter[5] = +{ + STBI__F_none, + STBI__F_sub, + STBI__F_none, + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static int stbi__paeth(int a, int b, int c) +{ + int p = a + b - c; + int pa = abs(p-a); + int pb = abs(p-b); + int pc = abs(p-c); + if (pa <= pb && pa <= pc) return a; + if (pb <= pc) return b; + return c; +} + +static stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; + +// create the png data from post-deflated data +static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) +{ + stbi__context *s = a->s; + stbi__uint32 i,j,stride = x*out_n; + stbi__uint32 img_len, img_width_bytes; + int k; + int img_n = s->img_n; // copy it into a local for later + + STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); + a->out = (stbi_uc *) stbi__malloc(x * y * out_n); // extra bytes to write off the end into + if (!a->out) return stbi__err("outofmem", "Out of memory"); + + img_width_bytes = (((img_n * x * depth) + 7) >> 3); + img_len = (img_width_bytes + 1) * y; + if (s->img_x == x && s->img_y == y) { + if (raw_len != img_len) return stbi__err("not enough pixels","Corrupt PNG"); + } else { // interlaced: + if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); + } + + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *prior = cur - stride; + int filter = *raw++; + int filter_bytes = img_n; + int width = x; + if (filter > 4) + return stbi__err("invalid filter","Corrupt PNG"); + + if (depth < 8) { + STBI_ASSERT(img_width_bytes <= x); + cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place + filter_bytes = 1; + width = img_width_bytes; + } + + // if first row, use special filter that doesn't sample previous row + if (j == 0) filter = first_row_filter[filter]; + + // handle first byte explicitly + for (k=0; k < filter_bytes; ++k) { + switch (filter) { + case STBI__F_none : cur[k] = raw[k]; break; + case STBI__F_sub : cur[k] = raw[k]; break; + case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; + case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; + case STBI__F_avg_first : cur[k] = raw[k]; break; + case STBI__F_paeth_first: cur[k] = raw[k]; break; + } + } + + if (depth == 8) { + if (img_n != out_n) + cur[img_n] = 255; // first pixel + raw += img_n; + cur += out_n; + prior += out_n; + } else { + raw += 1; + cur += 1; + prior += 1; + } + + // this is a little gross, so that we don't switch per-pixel or per-component + if (depth < 8 || img_n == out_n) { + int nk = (width - 1)*img_n; + #define CASE(f) \ + case f: \ + for (k=0; k < nk; ++k) + switch (filter) { + // "none" filter turns into a memcpy here; make that explicit. + case STBI__F_none: memcpy(cur, raw, nk); break; + CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break; + CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break; + CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break; + CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break; + CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break; + } + #undef CASE + raw += nk; + } else { + STBI_ASSERT(img_n+1 == out_n); + #define CASE(f) \ + case f: \ + for (i=x-1; i >= 1; --i, cur[img_n]=255,raw+=img_n,cur+=out_n,prior+=out_n) \ + for (k=0; k < img_n; ++k) + switch (filter) { + CASE(STBI__F_none) cur[k] = raw[k]; break; + CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break; + CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break; + CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break; + CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break; + CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break; + } + #undef CASE + } + } + + // we make a separate pass to expand bits to pixels; for performance, + // this could run two scanlines behind the above code, so it won't + // intefere with filtering but will still be in the cache. + if (depth < 8) { + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; + // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit + // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop + stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range + + // note that the final byte might overshoot and write more data than desired. + // we can allocate enough data that this never writes out of memory, but it + // could also overwrite the next scanline. can it overwrite non-empty data + // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. + // so we need to explicitly clamp the final ones + + if (depth == 4) { + for (k=x*img_n; k >= 2; k-=2, ++in) { + *cur++ = scale * ((*in >> 4) ); + *cur++ = scale * ((*in ) & 0x0f); + } + if (k > 0) *cur++ = scale * ((*in >> 4) ); + } else if (depth == 2) { + for (k=x*img_n; k >= 4; k-=4, ++in) { + *cur++ = scale * ((*in >> 6) ); + *cur++ = scale * ((*in >> 4) & 0x03); + *cur++ = scale * ((*in >> 2) & 0x03); + *cur++ = scale * ((*in ) & 0x03); + } + if (k > 0) *cur++ = scale * ((*in >> 6) ); + if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); + if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); + } else if (depth == 1) { + for (k=x*img_n; k >= 8; k-=8, ++in) { + *cur++ = scale * ((*in >> 7) ); + *cur++ = scale * ((*in >> 6) & 0x01); + *cur++ = scale * ((*in >> 5) & 0x01); + *cur++ = scale * ((*in >> 4) & 0x01); + *cur++ = scale * ((*in >> 3) & 0x01); + *cur++ = scale * ((*in >> 2) & 0x01); + *cur++ = scale * ((*in >> 1) & 0x01); + *cur++ = scale * ((*in ) & 0x01); + } + if (k > 0) *cur++ = scale * ((*in >> 7) ); + if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); + if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); + if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); + if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); + if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); + if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); + } + if (img_n != out_n) { + // insert alpha = 255 + stbi_uc *cur = a->out + stride*j; + int i; + if (img_n == 1) { + for (i=x-1; i >= 0; --i) { + cur[i*2+1] = 255; + cur[i*2+0] = cur[i]; + } + } else { + STBI_ASSERT(img_n == 3); + for (i=x-1; i >= 0; --i) { + cur[i*4+3] = 255; + cur[i*4+2] = cur[i*3+2]; + cur[i*4+1] = cur[i*3+1]; + cur[i*4+0] = cur[i*3+0]; + } + } + } + } + } + + return 1; +} + +static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) +{ + stbi_uc *final; + int p; + if (!interlaced) + return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); + + // de-interlacing + final = (stbi_uc *) stbi__malloc(a->s->img_x * a->s->img_y * out_n); + for (p=0; p < 7; ++p) { + int xorig[] = { 0,4,0,2,0,1,0 }; + int yorig[] = { 0,0,4,0,2,0,1 }; + int xspc[] = { 8,8,4,4,2,2,1 }; + int yspc[] = { 8,8,8,4,4,2,2 }; + int i,j,x,y; + // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 + x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; + y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; + if (x && y) { + stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; + if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { + STBI_FREE(final); + return 0; + } + for (j=0; j < y; ++j) { + for (i=0; i < x; ++i) { + int out_y = j*yspc[p]+yorig[p]; + int out_x = i*xspc[p]+xorig[p]; + memcpy(final + out_y*a->s->img_x*out_n + out_x*out_n, + a->out + (j*x+i)*out_n, out_n); + } + } + STBI_FREE(a->out); + image_data += img_len; + image_data_len -= img_len; + } + } + a->out = final; + + return 1; +} + +static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + // compute color-based transparency, assuming we've + // already got 255 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i=0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 255); + p += 2; + } + } else { + for (i=0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + +static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) +{ + stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; + stbi_uc *p, *temp_out, *orig = a->out; + + p = (stbi_uc *) stbi__malloc(pixel_count * pal_img_n); + if (p == NULL) return stbi__err("outofmem", "Out of memory"); + + // between here and free(out) below, exitting would leak + temp_out = p; + + if (pal_img_n == 3) { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p += 3; + } + } else { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p[3] = palette[n+3]; + p += 4; + } + } + STBI_FREE(a->out); + a->out = temp_out; + + STBI_NOTUSED(len); + + return 1; +} + +static int stbi__unpremultiply_on_load = 0; +static int stbi__de_iphone_flag = 0; + +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load = flag_true_if_should_unpremultiply; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag = flag_true_if_should_convert; +} + +static void stbi__de_iphone(stbi__png *z) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + if (s->img_out_n == 3) { // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 3; + } + } else { + STBI_ASSERT(s->img_out_n == 4); + if (stbi__unpremultiply_on_load) { + // convert bgr to rgb and unpremultiply + for (i=0; i < pixel_count; ++i) { + stbi_uc a = p[3]; + stbi_uc t = p[0]; + if (a) { + p[0] = p[2] * 255 / a; + p[1] = p[1] * 255 / a; + p[2] = t * 255 / a; + } else { + p[0] = p[2]; + p[2] = t; + } + p += 4; + } + } else { + // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 4; + } + } + } +} + +#define STBI__PNG_TYPE(a,b,c,d) (((a) << 24) + ((b) << 16) + ((c) << 8) + (d)) + +static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) +{ + stbi_uc palette[1024], pal_img_n=0; + stbi_uc has_trans=0, tc[3]; + stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; + int first=1,k,interlace=0, color=0, depth=0, is_iphone=0; + stbi__context *s = z->s; + + z->expanded = NULL; + z->idata = NULL; + z->out = NULL; + + if (!stbi__check_png_header(s)) return 0; + + if (scan == STBI__SCAN_type) return 1; + + for (;;) { + stbi__pngchunk c = stbi__get_chunk_header(s); + switch (c.type) { + case STBI__PNG_TYPE('C','g','B','I'): + is_iphone = 1; + stbi__skip(s, c.length); + break; + case STBI__PNG_TYPE('I','H','D','R'): { + int comp,filter; + if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); + first = 0; + if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); + s->img_x = stbi__get32be(s); if (s->img_x > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); + s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); + depth = stbi__get8(s); if (depth != 1 && depth != 2 && depth != 4 && depth != 8) return stbi__err("1/2/4/8-bit only","PNG not supported: 1/2/4/8-bit only"); + color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); + comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); + filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); + interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); + if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); + if (!pal_img_n) { + s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + if (scan == STBI__SCAN_header) return 1; + } else { + // if paletted, then pal_n is our final components, and + // img_n is # components to decompress/filter. + s->img_n = 1; + if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); + // if SCAN_header, have to scan to see if we have a tRNS + } + break; + } + + case STBI__PNG_TYPE('P','L','T','E'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); + pal_len = c.length / 3; + if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); + for (i=0; i < pal_len; ++i) { + palette[i*4+0] = stbi__get8(s); + palette[i*4+1] = stbi__get8(s); + palette[i*4+2] = stbi__get8(s); + palette[i*4+3] = 255; + } + break; + } + + case STBI__PNG_TYPE('t','R','N','S'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); + if (pal_img_n) { + if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } + if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); + if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); + pal_img_n = 4; + for (i=0; i < c.length; ++i) + palette[i*4+3] = stbi__get8(s); + } else { + if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); + if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); + has_trans = 1; + for (k=0; k < s->img_n; ++k) + tc[k] = (stbi_uc) (stbi__get16be(s) & 255) * stbi__depth_scale_table[depth]; // non 8-bit images will be larger + } + break; + } + + case STBI__PNG_TYPE('I','D','A','T'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); + if (scan == STBI__SCAN_header) { s->img_n = pal_img_n; return 1; } + if ((int)(ioff + c.length) < (int)ioff) return 0; + if (ioff + c.length > idata_limit) { + stbi_uc *p; + if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; + while (ioff + c.length > idata_limit) + idata_limit *= 2; + p = (stbi_uc *) STBI_REALLOC(z->idata, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); + z->idata = p; + } + if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); + ioff += c.length; + break; + } + + case STBI__PNG_TYPE('I','E','N','D'): { + stbi__uint32 raw_len, bpl; + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (scan != STBI__SCAN_load) return 1; + if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); + // initial guess for decoded data size to avoid unnecessary reallocs + bpl = (s->img_x * depth + 7) / 8; // bytes per line, per component + raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; + z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); + if (z->expanded == NULL) return 0; // zlib should set error + STBI_FREE(z->idata); z->idata = NULL; + if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) + s->img_out_n = s->img_n+1; + else + s->img_out_n = s->img_n; + if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, depth, color, interlace)) return 0; + if (has_trans) + if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; + if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) + stbi__de_iphone(z); + if (pal_img_n) { + // pal_img_n == 3 or 4 + s->img_n = pal_img_n; // record the actual colors we had + s->img_out_n = pal_img_n; + if (req_comp >= 3) s->img_out_n = req_comp; + if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) + return 0; + } + STBI_FREE(z->expanded); z->expanded = NULL; + return 1; + } + + default: + // if critical, fail + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if ((c.type & (1 << 29)) == 0) { + #ifndef STBI_NO_FAILURE_STRINGS + // not threadsafe + static char invalid_chunk[] = "XXXX PNG chunk not known"; + invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); + invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); + invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); + invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); + #endif + return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); + } + stbi__skip(s, c.length); + break; + } + // end of PNG chunk, read and skip CRC + stbi__get32be(s); + } +} + +static unsigned char *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp) +{ + unsigned char *result=NULL; + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { + result = p->out; + p->out = NULL; + if (req_comp && req_comp != p->s->img_out_n) { + result = stbi__convert_format(result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + p->s->img_out_n = req_comp; + if (result == NULL) return result; + } + *x = p->s->img_x; + *y = p->s->img_y; + if (n) *n = p->s->img_out_n; + } + STBI_FREE(p->out); p->out = NULL; + STBI_FREE(p->expanded); p->expanded = NULL; + STBI_FREE(p->idata); p->idata = NULL; + + return result; +} + +static unsigned char *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__png p; + p.s = s; + return stbi__do_png(&p, x,y,comp,req_comp); +} + +static int stbi__png_test(stbi__context *s) +{ + int r; + r = stbi__check_png_header(s); + stbi__rewind(s); + return r; +} + +static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) +{ + if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { + stbi__rewind( p->s ); + return 0; + } + if (x) *x = p->s->img_x; + if (y) *y = p->s->img_y; + if (comp) *comp = p->s->img_n; + return 1; +} + +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__png p; + p.s = s; + return stbi__png_info_raw(&p, x, y, comp); +} +#endif + +// Microsoft/Windows BMP image + +#ifndef STBI_NO_BMP +static int stbi__bmp_test_raw(stbi__context *s) +{ + int r; + int sz; + if (stbi__get8(s) != 'B') return 0; + if (stbi__get8(s) != 'M') return 0; + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + stbi__get32le(s); // discard data offset + sz = stbi__get32le(s); + r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); + return r; +} + +static int stbi__bmp_test(stbi__context *s) +{ + int r = stbi__bmp_test_raw(s); + stbi__rewind(s); + return r; +} + + +// returns 0..31 for the highest set bit +static int stbi__high_bit(unsigned int z) +{ + int n=0; + if (z == 0) return -1; + if (z >= 0x10000) n += 16, z >>= 16; + if (z >= 0x00100) n += 8, z >>= 8; + if (z >= 0x00010) n += 4, z >>= 4; + if (z >= 0x00004) n += 2, z >>= 2; + if (z >= 0x00002) n += 1, z >>= 1; + return n; +} + +static int stbi__bitcount(unsigned int a) +{ + a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 + a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 + a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits + a = (a + (a >> 8)); // max 16 per 8 bits + a = (a + (a >> 16)); // max 32 per 8 bits + return a & 0xff; +} + +static int stbi__shiftsigned(int v, int shift, int bits) +{ + int result; + int z=0; + + if (shift < 0) v <<= -shift; + else v >>= shift; + result = v; + + z = bits; + while (z < 8) { + result += v >> z; + z += bits; + } + return result; +} + +static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *out; + unsigned int mr=0,mg=0,mb=0,ma=0, fake_a=0; + stbi_uc pal[256][4]; + int psize=0,i,j,compress=0,width; + int bpp, flip_vertically, pad, target, offset, hsz; + if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + offset = stbi__get32le(s); + hsz = stbi__get32le(s); + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); + if (hsz == 12) { + s->img_x = stbi__get16le(s); + s->img_y = stbi__get16le(s); + } else { + s->img_x = stbi__get32le(s); + s->img_y = stbi__get32le(s); + } + if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); + bpp = stbi__get16le(s); + if (bpp == 1) return stbi__errpuc("monochrome", "BMP type not supported: 1-bit"); + flip_vertically = ((int) s->img_y) > 0; + s->img_y = abs((int) s->img_y); + if (hsz == 12) { + if (bpp < 24) + psize = (offset - 14 - 24) / 3; + } else { + compress = stbi__get32le(s); + if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); + stbi__get32le(s); // discard sizeof + stbi__get32le(s); // discard hres + stbi__get32le(s); // discard vres + stbi__get32le(s); // discard colorsused + stbi__get32le(s); // discard max important + if (hsz == 40 || hsz == 56) { + if (hsz == 56) { + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + } + if (bpp == 16 || bpp == 32) { + mr = mg = mb = 0; + if (compress == 0) { + if (bpp == 32) { + mr = 0xffu << 16; + mg = 0xffu << 8; + mb = 0xffu << 0; + ma = 0xffu << 24; + fake_a = 1; // @TODO: check for cases like alpha value is all 0 and switch it to 255 + STBI_NOTUSED(fake_a); + } else { + mr = 31u << 10; + mg = 31u << 5; + mb = 31u << 0; + } + } else if (compress == 3) { + mr = stbi__get32le(s); + mg = stbi__get32le(s); + mb = stbi__get32le(s); + // not documented, but generated by photoshop and handled by mspaint + if (mr == mg && mg == mb) { + // ?!?!? + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else { + STBI_ASSERT(hsz == 108 || hsz == 124); + mr = stbi__get32le(s); + mg = stbi__get32le(s); + mb = stbi__get32le(s); + ma = stbi__get32le(s); + stbi__get32le(s); // discard color space + for (i=0; i < 12; ++i) + stbi__get32le(s); // discard color space parameters + if (hsz == 124) { + stbi__get32le(s); // discard rendering intent + stbi__get32le(s); // discard offset of profile data + stbi__get32le(s); // discard size of profile data + stbi__get32le(s); // discard reserved + } + } + if (bpp < 16) + psize = (offset - 14 - hsz) >> 2; + } + s->img_n = ma ? 4 : 3; + if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 + target = req_comp; + else + target = s->img_n; // if they want monochrome, we'll post-convert + out = (stbi_uc *) stbi__malloc(target * s->img_x * s->img_y); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + if (bpp < 16) { + int z=0; + if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } + for (i=0; i < psize; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + if (hsz != 12) stbi__get8(s); + pal[i][3] = 255; + } + stbi__skip(s, offset - 14 - hsz - psize * (hsz == 12 ? 3 : 4)); + if (bpp == 4) width = (s->img_x + 1) >> 1; + else if (bpp == 8) width = s->img_x; + else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } + pad = (-width)&3; + for (j=0; j < (int) s->img_y; ++j) { + for (i=0; i < (int) s->img_x; i += 2) { + int v=stbi__get8(s),v2=0; + if (bpp == 4) { + v2 = v & 15; + v >>= 4; + } + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + v = (bpp == 8) ? stbi__get8(s) : v2; + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + } + stbi__skip(s, pad); + } + } else { + int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; + int z = 0; + int easy=0; + stbi__skip(s, offset - 14 - hsz); + if (bpp == 24) width = 3 * s->img_x; + else if (bpp == 16) width = 2*s->img_x; + else /* bpp = 32 and pad = 0 */ width=0; + pad = (-width) & 3; + if (bpp == 24) { + easy = 1; + } else if (bpp == 32) { + if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) + easy = 2; + } + if (!easy) { + if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } + // right shift amt to put high bit in position #7 + rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); + gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); + bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); + ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); + } + for (j=0; j < (int) s->img_y; ++j) { + if (easy) { + for (i=0; i < (int) s->img_x; ++i) { + unsigned char a; + out[z+2] = stbi__get8(s); + out[z+1] = stbi__get8(s); + out[z+0] = stbi__get8(s); + z += 3; + a = (easy == 2 ? stbi__get8(s) : 255); + if (target == 4) out[z++] = a; + } + } else { + for (i=0; i < (int) s->img_x; ++i) { + stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); + int a; + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); + a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); + if (target == 4) out[z++] = STBI__BYTECAST(a); + } + } + stbi__skip(s, pad); + } + } + if (flip_vertically) { + stbi_uc t; + for (j=0; j < (int) s->img_y>>1; ++j) { + stbi_uc *p1 = out + j *s->img_x*target; + stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; + for (i=0; i < (int) s->img_x*target; ++i) { + t = p1[i], p1[i] = p2[i], p2[i] = t; + } + } + } + + if (req_comp && req_comp != target) { + out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + return out; +} +#endif + +// Targa Truevision - TGA +// by Jonathan Dummer +#ifndef STBI_NO_TGA +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) +{ + int tga_w, tga_h, tga_comp; + int sz; + stbi__get8(s); // discard Offset + sz = stbi__get8(s); // color type + if( sz > 1 ) { + stbi__rewind(s); + return 0; // only RGB or indexed allowed + } + sz = stbi__get8(s); // image type + // only RGB or grey allowed, +/- RLE + if ((sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11)) return 0; + stbi__skip(s,9); + tga_w = stbi__get16le(s); + if( tga_w < 1 ) { + stbi__rewind(s); + return 0; // test width + } + tga_h = stbi__get16le(s); + if( tga_h < 1 ) { + stbi__rewind(s); + return 0; // test height + } + sz = stbi__get8(s); // bits per pixel + // only RGB or RGBA or grey allowed + if ((sz != 8) && (sz != 16) && (sz != 24) && (sz != 32)) { + stbi__rewind(s); + return 0; + } + tga_comp = sz; + if (x) *x = tga_w; + if (y) *y = tga_h; + if (comp) *comp = tga_comp / 8; + return 1; // seems to have passed everything +} + +static int stbi__tga_test(stbi__context *s) +{ + int res; + int sz; + stbi__get8(s); // discard Offset + sz = stbi__get8(s); // color type + if ( sz > 1 ) return 0; // only RGB or indexed allowed + sz = stbi__get8(s); // image type + if ( (sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11) ) return 0; // only RGB or grey allowed, +/- RLE + stbi__get16be(s); // discard palette start + stbi__get16be(s); // discard palette length + stbi__get8(s); // discard bits per palette color entry + stbi__get16be(s); // discard x origin + stbi__get16be(s); // discard y origin + if ( stbi__get16be(s) < 1 ) return 0; // test width + if ( stbi__get16be(s) < 1 ) return 0; // test height + sz = stbi__get8(s); // bits per pixel + if ( (sz != 8) && (sz != 16) && (sz != 24) && (sz != 32) ) + res = 0; + else + res = 1; + stbi__rewind(s); + return res; +} + +static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + // read in the TGA header stuff + int tga_offset = stbi__get8(s); + int tga_indexed = stbi__get8(s); + int tga_image_type = stbi__get8(s); + int tga_is_RLE = 0; + int tga_palette_start = stbi__get16le(s); + int tga_palette_len = stbi__get16le(s); + int tga_palette_bits = stbi__get8(s); + int tga_x_origin = stbi__get16le(s); + int tga_y_origin = stbi__get16le(s); + int tga_width = stbi__get16le(s); + int tga_height = stbi__get16le(s); + int tga_bits_per_pixel = stbi__get8(s); + int tga_comp = tga_bits_per_pixel / 8; + int tga_inverted = stbi__get8(s); + // image data + unsigned char *tga_data; + unsigned char *tga_palette = NULL; + int i, j; + unsigned char raw_data[4]; + int RLE_count = 0; + int RLE_repeating = 0; + int read_next_pixel = 1; + + // do a tiny bit of precessing + if ( tga_image_type >= 8 ) + { + tga_image_type -= 8; + tga_is_RLE = 1; + } + /* int tga_alpha_bits = tga_inverted & 15; */ + tga_inverted = 1 - ((tga_inverted >> 5) & 1); + + // error check + if ( //(tga_indexed) || + (tga_width < 1) || (tga_height < 1) || + (tga_image_type < 1) || (tga_image_type > 3) || + ((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16) && + (tga_bits_per_pixel != 24) && (tga_bits_per_pixel != 32)) + ) + { + return NULL; // we don't report this as a bad TGA because we don't even know if it's TGA + } + + // If I'm paletted, then I'll use the number of bits from the palette + if ( tga_indexed ) + { + tga_comp = tga_palette_bits / 8; + } + + // tga info + *x = tga_width; + *y = tga_height; + if (comp) *comp = tga_comp; + + tga_data = (unsigned char*)stbi__malloc( (size_t)tga_width * tga_height * tga_comp ); + if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); + + // skip to the data's starting position (offset usually = 0) + stbi__skip(s, tga_offset ); + + if ( !tga_indexed && !tga_is_RLE) { + for (i=0; i < tga_height; ++i) { + int y = tga_inverted ? tga_height -i - 1 : i; + stbi_uc *tga_row = tga_data + y*tga_width*tga_comp; + stbi__getn(s, tga_row, tga_width * tga_comp); + } + } else { + // do I need to load a palette? + if ( tga_indexed) + { + // any data to skip? (offset usually = 0) + stbi__skip(s, tga_palette_start ); + // load the palette + tga_palette = (unsigned char*)stbi__malloc( tga_palette_len * tga_palette_bits / 8 ); + if (!tga_palette) { + STBI_FREE(tga_data); + return stbi__errpuc("outofmem", "Out of memory"); + } + if (!stbi__getn(s, tga_palette, tga_palette_len * tga_palette_bits / 8 )) { + STBI_FREE(tga_data); + STBI_FREE(tga_palette); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + } + // load the data + for (i=0; i < tga_width * tga_height; ++i) + { + // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? + if ( tga_is_RLE ) + { + if ( RLE_count == 0 ) + { + // yep, get the next byte as a RLE command + int RLE_cmd = stbi__get8(s); + RLE_count = 1 + (RLE_cmd & 127); + RLE_repeating = RLE_cmd >> 7; + read_next_pixel = 1; + } else if ( !RLE_repeating ) + { + read_next_pixel = 1; + } + } else + { + read_next_pixel = 1; + } + // OK, if I need to read a pixel, do it now + if ( read_next_pixel ) + { + // load however much data we did have + if ( tga_indexed ) + { + // read in 1 byte, then perform the lookup + int pal_idx = stbi__get8(s); + if ( pal_idx >= tga_palette_len ) + { + // invalid index + pal_idx = 0; + } + pal_idx *= tga_bits_per_pixel / 8; + for (j = 0; j*8 < tga_bits_per_pixel; ++j) + { + raw_data[j] = tga_palette[pal_idx+j]; + } + } else + { + // read in the data raw + for (j = 0; j*8 < tga_bits_per_pixel; ++j) + { + raw_data[j] = stbi__get8(s); + } + } + // clear the reading flag for the next pixel + read_next_pixel = 0; + } // end of reading a pixel + + // copy data + for (j = 0; j < tga_comp; ++j) + tga_data[i*tga_comp+j] = raw_data[j]; + + // in case we're in RLE mode, keep counting down + --RLE_count; + } + // do I need to invert the image? + if ( tga_inverted ) + { + for (j = 0; j*2 < tga_height; ++j) + { + int index1 = j * tga_width * tga_comp; + int index2 = (tga_height - 1 - j) * tga_width * tga_comp; + for (i = tga_width * tga_comp; i > 0; --i) + { + unsigned char temp = tga_data[index1]; + tga_data[index1] = tga_data[index2]; + tga_data[index2] = temp; + ++index1; + ++index2; + } + } + } + // clear my palette, if I had one + if ( tga_palette != NULL ) + { + STBI_FREE( tga_palette ); + } + } + + // swap RGB + if (tga_comp >= 3) + { + unsigned char* tga_pixel = tga_data; + for (i=0; i < tga_width * tga_height; ++i) + { + unsigned char temp = tga_pixel[0]; + tga_pixel[0] = tga_pixel[2]; + tga_pixel[2] = temp; + tga_pixel += tga_comp; + } + } + + // convert to target component count + if (req_comp && req_comp != tga_comp) + tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); + + // the things I do to get rid of an error message, and yet keep + // Microsoft's C compilers happy... [8^( + tga_palette_start = tga_palette_len = tga_palette_bits = + tga_x_origin = tga_y_origin = 0; + // OK, done + return tga_data; +} +#endif + +// ************************************************************************************************* +// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s) +{ + int r = (stbi__get32be(s) == 0x38425053); + stbi__rewind(s); + return r; +} + +static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + int pixelCount; + int channelCount, compression; + int channel, i, count, len; + int w,h; + stbi_uc *out; + + // Check identifier + if (stbi__get32be(s) != 0x38425053) // "8BPS" + return stbi__errpuc("not PSD", "Corrupt PSD image"); + + // Check file type version. + if (stbi__get16be(s) != 1) + return stbi__errpuc("wrong version", "Unsupported version of PSD image"); + + // Skip 6 reserved bytes. + stbi__skip(s, 6 ); + + // Read the number of channels (R, G, B, A, etc). + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) + return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); + + // Read the rows and columns of the image. + h = stbi__get32be(s); + w = stbi__get32be(s); + + // Make sure the depth is 8 bits. + if (stbi__get16be(s) != 8) + return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 bit"); + + // Make sure the color mode is RGB. + // Valid options are: + // 0: Bitmap + // 1: Grayscale + // 2: Indexed color + // 3: RGB color + // 4: CMYK color + // 7: Multichannel + // 8: Duotone + // 9: Lab color + if (stbi__get16be(s) != 3) + return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); + + // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) + stbi__skip(s,stbi__get32be(s) ); + + // Skip the image resources. (resolution, pen tool paths, etc) + stbi__skip(s, stbi__get32be(s) ); + + // Skip the reserved data. + stbi__skip(s, stbi__get32be(s) ); + + // Find out if the data is compressed. + // Known values: + // 0: no compression + // 1: RLE compressed + compression = stbi__get16be(s); + if (compression > 1) + return stbi__errpuc("bad compression", "PSD has an unknown compression format"); + + // Create the destination image. + out = (stbi_uc *) stbi__malloc(4 * w*h); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + pixelCount = w*h; + + // Initialize the data to zero. + //memset( out, 0, pixelCount * 4 ); + + // Finally, the image data. + if (compression) { + // RLE as used by .PSD and .TIFF + // Loop until you get the number of unpacked bytes you are expecting: + // Read the next source byte into n. + // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. + // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. + // Else if n is 128, noop. + // Endloop + + // The RLE-compressed data is preceeded by a 2-byte data count for each row in the data, + // which we're going to just skip. + stbi__skip(s, h * channelCount * 2 ); + + // Read the RLE data by channel. + for (channel = 0; channel < 4; channel++) { + stbi_uc *p; + + p = out+channel; + if (channel >= channelCount) { + // Fill this channel with default data. + for (i = 0; i < pixelCount; i++, p += 4) + *p = (channel == 3 ? 255 : 0); + } else { + // Read the RLE data. + count = 0; + while (count < pixelCount) { + len = stbi__get8(s); + if (len == 128) { + // No-op. + } else if (len < 128) { + // Copy next len+1 bytes literally. + len++; + count += len; + while (len) { + *p = stbi__get8(s); + p += 4; + len--; + } + } else if (len > 128) { + stbi_uc val; + // Next -len+1 bytes in the dest are replicated from next source byte. + // (Interpret len as a negative 8-bit int.) + len ^= 0x0FF; + len += 2; + val = stbi__get8(s); + count += len; + while (len) { + *p = val; + p += 4; + len--; + } + } + } + } + } + + } else { + // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) + // where each channel consists of an 8-bit value for each pixel in the image. + + // Read the data by channel. + for (channel = 0; channel < 4; channel++) { + stbi_uc *p; + + p = out + channel; + if (channel > channelCount) { + // Fill this channel with default data. + for (i = 0; i < pixelCount; i++, p += 4) + *p = channel == 3 ? 255 : 0; + } else { + // Read the data. + for (i = 0; i < pixelCount; i++, p += 4) + *p = stbi__get8(s); + } + } + } + + if (req_comp && req_comp != 4) { + out = stbi__convert_format(out, 4, req_comp, w, h); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + if (comp) *comp = 4; + *y = h; + *x = w; + + return out; +} +#endif + +// ************************************************************************************************* +// Softimage PIC loader +// by Tom Seddon +// +// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format +// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ + +#ifndef STBI_NO_PIC +static int stbi__pic_is4(stbi__context *s,const char *str) +{ + int i; + for (i=0; i<4; ++i) + if (stbi__get8(s) != (stbi_uc)str[i]) + return 0; + + return 1; +} + +static int stbi__pic_test_core(stbi__context *s) +{ + int i; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) + return 0; + + for(i=0;i<84;++i) + stbi__get8(s); + + if (!stbi__pic_is4(s,"PICT")) + return 0; + + return 1; +} + +typedef struct +{ + stbi_uc size,type,channel; +} stbi__pic_packet; + +static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) +{ + int mask=0x80, i; + + for (i=0; i<4; ++i, mask>>=1) { + if (channel & mask) { + if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); + dest[i]=stbi__get8(s); + } + } + + return dest; +} + +static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) +{ + int mask=0x80,i; + + for (i=0;i<4; ++i, mask>>=1) + if (channel&mask) + dest[i]=src[i]; +} + +static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) +{ + int act_comp=0,num_packets=0,y,chained; + stbi__pic_packet packets[10]; + + // this will (should...) cater for even some bizarre stuff like having data + // for the same channel in multiple packets. + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return stbi__errpuc("bad format","too many packets"); + + packet = &packets[num_packets++]; + + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + + act_comp |= packet->channel; + + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); + if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? + + for(y=0; y<height; ++y) { + int packet_idx; + + for(packet_idx=0; packet_idx < num_packets; ++packet_idx) { + stbi__pic_packet *packet = &packets[packet_idx]; + stbi_uc *dest = result+y*width*4; + + switch (packet->type) { + default: + return stbi__errpuc("bad format","packet has bad compression type"); + + case 0: {//uncompressed + int x; + + for(x=0;x<width;++x, dest+=4) + if (!stbi__readval(s,packet->channel,dest)) + return 0; + break; + } + + case 1://Pure RLE + { + int left=width, i; + + while (left>0) { + stbi_uc count,value[4]; + + count=stbi__get8(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); + + if (count > left) + count = (stbi_uc) left; + + if (!stbi__readval(s,packet->channel,value)) return 0; + + for(i=0; i<count; ++i,dest+=4) + stbi__copyval(packet->channel,dest,value); + left -= count; + } + } + break; + + case 2: {//Mixed RLE + int left=width; + while (left>0) { + int count = stbi__get8(s), i; + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); + + if (count >= 128) { // Repeated + stbi_uc value[4]; + int i; + + if (count==128) + count = stbi__get16be(s); + else + count -= 127; + if (count > left) + return stbi__errpuc("bad file","scanline overrun"); + + if (!stbi__readval(s,packet->channel,value)) + return 0; + + for(i=0;i<count;++i, dest += 4) + stbi__copyval(packet->channel,dest,value); + } else { // Raw + ++count; + if (count>left) return stbi__errpuc("bad file","scanline overrun"); + + for(i=0;i<count;++i, dest+=4) + if (!stbi__readval(s,packet->channel,dest)) + return 0; + } + left-=count; + } + break; + } + } + } + } + + return result; +} + +static stbi_uc *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp) +{ + stbi_uc *result; + int i, x,y; + + for (i=0; i<92; ++i) + stbi__get8(s); + + x = stbi__get16be(s); + y = stbi__get16be(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); + if ((1 << 28) / x < y) return stbi__errpuc("too large", "Image too large to decode"); + + stbi__get32be(s); //skip `ratio' + stbi__get16be(s); //skip `fields' + stbi__get16be(s); //skip `pad' + + // intermediate buffer is RGBA + result = (stbi_uc *) stbi__malloc(x*y*4); + memset(result, 0xff, x*y*4); + + if (!stbi__pic_load_core(s,x,y,comp, result)) { + STBI_FREE(result); + result=0; + } + *px = x; + *py = y; + if (req_comp == 0) req_comp = *comp; + result=stbi__convert_format(result,4,req_comp,x,y); + + return result; +} + +static int stbi__pic_test(stbi__context *s) +{ + int r = stbi__pic_test_core(s); + stbi__rewind(s); + return r; +} +#endif + +// ************************************************************************************************* +// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb + +#ifndef STBI_NO_GIF +typedef struct +{ + stbi__int16 prefix; + stbi_uc first; + stbi_uc suffix; +} stbi__gif_lzw; + +typedef struct +{ + int w,h; + stbi_uc *out; // output buffer (always 4 components) + int flags, bgindex, ratio, transparent, eflags; + stbi_uc pal[256][4]; + stbi_uc lpal[256][4]; + stbi__gif_lzw codes[4096]; + stbi_uc *color_table; + int parse, step; + int lflags; + int start_x, start_y; + int max_x, max_y; + int cur_x, cur_y; + int line_size; +} stbi__gif; + +static int stbi__gif_test_raw(stbi__context *s) +{ + int sz; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; + sz = stbi__get8(s); + if (sz != '9' && sz != '7') return 0; + if (stbi__get8(s) != 'a') return 0; + return 1; +} + +static int stbi__gif_test(stbi__context *s) +{ + int r = stbi__gif_test_raw(s); + stbi__rewind(s); + return r; +} + +static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) +{ + int i; + for (i=0; i < num_entries; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + pal[i][3] = transp == i ? 0 : 255; + } +} + +static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) +{ + stbi_uc version; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') + return stbi__err("not GIF", "Corrupt GIF"); + + version = stbi__get8(s); + if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); + if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); + + stbi__g_failure_reason = ""; + g->w = stbi__get16le(s); + g->h = stbi__get16le(s); + g->flags = stbi__get8(s); + g->bgindex = stbi__get8(s); + g->ratio = stbi__get8(s); + g->transparent = -1; + + if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments + + if (is_info) return 1; + + if (g->flags & 0x80) + stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); + + return 1; +} + +static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__gif g; + if (!stbi__gif_header(s, &g, comp, 1)) { + stbi__rewind( s ); + return 0; + } + if (x) *x = g.w; + if (y) *y = g.h; + return 1; +} + +static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) +{ + stbi_uc *p, *c; + + // recurse to decode the prefixes, since the linked-list is backwards, + // and working backwards through an interleaved image would be nasty + if (g->codes[code].prefix >= 0) + stbi__out_gif_code(g, g->codes[code].prefix); + + if (g->cur_y >= g->max_y) return; + + p = &g->out[g->cur_x + g->cur_y]; + c = &g->color_table[g->codes[code].suffix * 4]; + + if (c[3] >= 128) { + p[0] = c[2]; + p[1] = c[1]; + p[2] = c[0]; + p[3] = c[3]; + } + g->cur_x += 4; + + if (g->cur_x >= g->max_x) { + g->cur_x = g->start_x; + g->cur_y += g->step; + + while (g->cur_y >= g->max_y && g->parse > 0) { + g->step = (1 << g->parse) * g->line_size; + g->cur_y = g->start_y + (g->step >> 1); + --g->parse; + } + } +} + +static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) +{ + stbi_uc lzw_cs; + stbi__int32 len, code; + stbi__uint32 first; + stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; + stbi__gif_lzw *p; + + lzw_cs = stbi__get8(s); + if (lzw_cs > 12) return NULL; + clear = 1 << lzw_cs; + first = 1; + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + bits = 0; + valid_bits = 0; + for (code = 0; code < clear; code++) { + g->codes[code].prefix = -1; + g->codes[code].first = (stbi_uc) code; + g->codes[code].suffix = (stbi_uc) code; + } + + // support no starting clear code + avail = clear+2; + oldcode = -1; + + len = 0; + for(;;) { + if (valid_bits < codesize) { + if (len == 0) { + len = stbi__get8(s); // start new block + if (len == 0) + return g->out; + } + --len; + bits |= (stbi__int32) stbi__get8(s) << valid_bits; + valid_bits += 8; + } else { + stbi__int32 code = bits & codemask; + bits >>= codesize; + valid_bits -= codesize; + // @OPTIMIZE: is there some way we can accelerate the non-clear path? + if (code == clear) { // clear code + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + avail = clear + 2; + oldcode = -1; + first = 0; + } else if (code == clear + 1) { // end of stream code + stbi__skip(s, len); + while ((len = stbi__get8(s)) > 0) + stbi__skip(s,len); + return g->out; + } else if (code <= avail) { + if (first) return stbi__errpuc("no clear code", "Corrupt GIF"); + + if (oldcode >= 0) { + p = &g->codes[avail++]; + if (avail > 4096) return stbi__errpuc("too many codes", "Corrupt GIF"); + p->prefix = (stbi__int16) oldcode; + p->first = g->codes[oldcode].first; + p->suffix = (code == avail) ? p->first : g->codes[code].first; + } else if (code == avail) + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + + stbi__out_gif_code(g, (stbi__uint16) code); + + if ((avail & codemask) == 0 && avail <= 0x0FFF) { + codesize++; + codemask = (1 << codesize) - 1; + } + + oldcode = code; + } else { + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + } + } + } +} + +static void stbi__fill_gif_background(stbi__gif *g) +{ + int i; + stbi_uc *c = g->pal[g->bgindex]; + // @OPTIMIZE: write a dword at a time + for (i = 0; i < g->w * g->h * 4; i += 4) { + stbi_uc *p = &g->out[i]; + p[0] = c[2]; + p[1] = c[1]; + p[2] = c[0]; + p[3] = c[3]; + } +} + +// this function is designed to support animated gifs, although stb_image doesn't support it +static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp) +{ + int i; + stbi_uc *old_out = 0; + + if (g->out == 0) { + if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header + g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); + if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); + stbi__fill_gif_background(g); + } else { + // animated-gif-only path + if (((g->eflags & 0x1C) >> 2) == 3) { + old_out = g->out; + g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); + if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); + memcpy(g->out, old_out, g->w*g->h*4); + } + } + + for (;;) { + switch (stbi__get8(s)) { + case 0x2C: /* Image Descriptor */ + { + stbi__int32 x, y, w, h; + stbi_uc *o; + + x = stbi__get16le(s); + y = stbi__get16le(s); + w = stbi__get16le(s); + h = stbi__get16le(s); + if (((x + w) > (g->w)) || ((y + h) > (g->h))) + return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); + + g->line_size = g->w * 4; + g->start_x = x * 4; + g->start_y = y * g->line_size; + g->max_x = g->start_x + w * 4; + g->max_y = g->start_y + h * g->line_size; + g->cur_x = g->start_x; + g->cur_y = g->start_y; + + g->lflags = stbi__get8(s); + + if (g->lflags & 0x40) { + g->step = 8 * g->line_size; // first interlaced spacing + g->parse = 3; + } else { + g->step = g->line_size; + g->parse = 0; + } + + if (g->lflags & 0x80) { + stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); + g->color_table = (stbi_uc *) g->lpal; + } else if (g->flags & 0x80) { + for (i=0; i < 256; ++i) // @OPTIMIZE: stbi__jpeg_reset only the previous transparent + g->pal[i][3] = 255; + if (g->transparent >= 0 && (g->eflags & 0x01)) + g->pal[g->transparent][3] = 0; + g->color_table = (stbi_uc *) g->pal; + } else + return stbi__errpuc("missing color table", "Corrupt GIF"); + + o = stbi__process_gif_raster(s, g); + if (o == NULL) return NULL; + + if (req_comp && req_comp != 4) + o = stbi__convert_format(o, 4, req_comp, g->w, g->h); + return o; + } + + case 0x21: // Comment Extension. + { + int len; + if (stbi__get8(s) == 0xF9) { // Graphic Control Extension. + len = stbi__get8(s); + if (len == 4) { + g->eflags = stbi__get8(s); + stbi__get16le(s); // delay + g->transparent = stbi__get8(s); + } else { + stbi__skip(s, len); + break; + } + } + while ((len = stbi__get8(s)) != 0) + stbi__skip(s, len); + break; + } + + case 0x3B: // gif stream termination code + return (stbi_uc *) s; // using '1' causes warning on some compilers + + default: + return stbi__errpuc("unknown code", "Corrupt GIF"); + } + } +} + +static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *u = 0; + stbi__gif g; + memset(&g, 0, sizeof(g)); + + u = stbi__gif_load_next(s, &g, comp, req_comp); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + if (u) { + *x = g.w; + *y = g.h; + } + + return u; +} + +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) +{ + return stbi__gif_info_raw(s,x,y,comp); +} +#endif + +// ************************************************************************************************* +// Radiance RGBE HDR loader +// originally by Nicolas Schulz +#ifndef STBI_NO_HDR +static int stbi__hdr_test_core(stbi__context *s) +{ + const char *signature = "#?RADIANCE\n"; + int i; + for (i=0; signature[i]; ++i) + if (stbi__get8(s) != signature[i]) + return 0; + return 1; +} + +static int stbi__hdr_test(stbi__context* s) +{ + int r = stbi__hdr_test_core(s); + stbi__rewind(s); + return r; +} + +#define STBI__HDR_BUFLEN 1024 +static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) +{ + int len=0; + char c = '\0'; + + c = (char) stbi__get8(z); + + while (!stbi__at_eof(z) && c != '\n') { + buffer[len++] = c; + if (len == STBI__HDR_BUFLEN-1) { + // flush to end of line + while (!stbi__at_eof(z) && stbi__get8(z) != '\n') + ; + break; + } + c = (char) stbi__get8(z); + } + + buffer[len] = 0; + return buffer; +} + +static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) +{ + if ( input[3] != 0 ) { + float f1; + // Exponent + f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); + if (req_comp <= 2) + output[0] = (input[0] + input[1] + input[2]) * f1 / 3; + else { + output[0] = input[0] * f1; + output[1] = input[1] * f1; + output[2] = input[2] * f1; + } + if (req_comp == 2) output[1] = 1; + if (req_comp == 4) output[3] = 1; + } else { + switch (req_comp) { + case 4: output[3] = 1; /* fallthrough */ + case 3: output[0] = output[1] = output[2] = 0; + break; + case 2: output[1] = 1; /* fallthrough */ + case 1: output[0] = 0; + break; + } + } +} + +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + int width, height; + stbi_uc *scanline; + float *hdr_data; + int len; + unsigned char count, value; + int i, j, k, c1,c2, z; + + + // Check identifier + if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) + return stbi__errpf("not HDR", "Corrupt HDR image"); + + // Parse header + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); + + // Parse width and height + // can't use sscanf() if we're not using stdio! + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + height = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + width = (int) strtol(token, NULL, 10); + + *x = width; + *y = height; + + if (comp) *comp = 3; + if (req_comp == 0) req_comp = 3; + + // Read data + hdr_data = (float *) stbi__malloc(height * width * req_comp * sizeof(float)); + + // Load image data + // image data is stored as some number of sca + if ( width < 8 || width >= 32768) { + // Read flat data + for (j=0; j < height; ++j) { + for (i=0; i < width; ++i) { + stbi_uc rgbe[4]; + main_decode_loop: + stbi__getn(s, rgbe, 4); + stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); + } + } + } else { + // Read RLE-encoded data + scanline = NULL; + + for (j = 0; j < height; ++j) { + c1 = stbi__get8(s); + c2 = stbi__get8(s); + len = stbi__get8(s); + if (c1 != 2 || c2 != 2 || (len & 0x80)) { + // not run-length encoded, so we have to actually use THIS data as a decoded + // pixel (note this can't be a valid pixel--one of RGB must be >= 128) + stbi_uc rgbe[4]; + rgbe[0] = (stbi_uc) c1; + rgbe[1] = (stbi_uc) c2; + rgbe[2] = (stbi_uc) len; + rgbe[3] = (stbi_uc) stbi__get8(s); + stbi__hdr_convert(hdr_data, rgbe, req_comp); + i = 1; + j = 0; + STBI_FREE(scanline); + goto main_decode_loop; // yes, this makes no sense + } + len <<= 8; + len |= stbi__get8(s); + if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } + if (scanline == NULL) scanline = (stbi_uc *) stbi__malloc(width * 4); + + for (k = 0; k < 4; ++k) { + i = 0; + while (i < width) { + count = stbi__get8(s); + if (count > 128) { + // Run + value = stbi__get8(s); + count -= 128; + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = value; + } else { + // Dump + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = stbi__get8(s); + } + } + } + for (i=0; i < width; ++i) + stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); + } + STBI_FREE(scanline); + } + + return hdr_data; +} + +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + + if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) { + stbi__rewind( s ); + return 0; + } + + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) { + stbi__rewind( s ); + return 0; + } + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *y = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *x = (int) strtol(token, NULL, 10); + *comp = 3; + return 1; +} +#endif // STBI_NO_HDR + +#ifndef STBI_NO_BMP +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) +{ + int hsz; + if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') { + stbi__rewind( s ); + return 0; + } + stbi__skip(s,12); + hsz = stbi__get32le(s); + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) { + stbi__rewind( s ); + return 0; + } + if (hsz == 12) { + *x = stbi__get16le(s); + *y = stbi__get16le(s); + } else { + *x = stbi__get32le(s); + *y = stbi__get32le(s); + } + if (stbi__get16le(s) != 1) { + stbi__rewind( s ); + return 0; + } + *comp = stbi__get16le(s) / 8; + return 1; +} +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) +{ + int channelCount; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + *y = stbi__get32be(s); + *x = stbi__get32be(s); + if (stbi__get16be(s) != 8) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 3) { + stbi__rewind( s ); + return 0; + } + *comp = 4; + return 1; +} +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) +{ + int act_comp=0,num_packets=0,chained; + stbi__pic_packet packets[10]; + + stbi__skip(s, 92); + + *x = stbi__get16be(s); + *y = stbi__get16be(s); + if (stbi__at_eof(s)) return 0; + if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { + stbi__rewind( s ); + return 0; + } + + stbi__skip(s, 8); + + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return 0; + + packet = &packets[num_packets++]; + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + act_comp |= packet->channel; + + if (stbi__at_eof(s)) { + stbi__rewind( s ); + return 0; + } + if (packet->size != 8) { + stbi__rewind( s ); + return 0; + } + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); + + return 1; +} +#endif + +// ************************************************************************************************* +// Portable Gray Map and Portable Pixel Map loader +// by Ken Miller +// +// PGM: http://netpbm.sourceforge.net/doc/pgm.html +// PPM: http://netpbm.sourceforge.net/doc/ppm.html +// +// Known limitations: +// Does not support comments in the header section +// Does not support ASCII image data (formats P2 and P3) +// Does not support 16-bit-per-channel + +#ifndef STBI_NO_PNM + +static int stbi__pnm_test(stbi__context *s) +{ + char p, t; + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind( s ); + return 0; + } + return 1; +} + +static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *out; + if (!stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n)) + return 0; + *x = s->img_x; + *y = s->img_y; + *comp = s->img_n; + + out = (stbi_uc *) stbi__malloc(s->img_n * s->img_x * s->img_y); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + stbi__getn(s, out, s->img_n * s->img_x * s->img_y); + + if (req_comp && req_comp != s->img_n) { + out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + return out; +} + +static int stbi__pnm_isspace(char c) +{ + return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; +} + +static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) +{ + while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) + *c = (char) stbi__get8(s); +} + +static int stbi__pnm_isdigit(char c) +{ + return c >= '0' && c <= '9'; +} + +static int stbi__pnm_getinteger(stbi__context *s, char *c) +{ + int value = 0; + + while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { + value = value*10 + (*c - '0'); + *c = (char) stbi__get8(s); + } + + return value; +} + +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) +{ + int maxv; + char c, p, t; + + stbi__rewind( s ); + + // Get identifier + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind( s ); + return 0; + } + + *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm + + c = (char) stbi__get8(s); + stbi__pnm_skip_whitespace(s, &c); + + *x = stbi__pnm_getinteger(s, &c); // read width + stbi__pnm_skip_whitespace(s, &c); + + *y = stbi__pnm_getinteger(s, &c); // read height + stbi__pnm_skip_whitespace(s, &c); + + maxv = stbi__pnm_getinteger(s, &c); // read max value + + if (maxv > 255) + return stbi__err("max value > 255", "PPM image not 8-bit"); + else + return 1; +} +#endif + +static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNG + if (stbi__png_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_GIF + if (stbi__gif_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_BMP + if (stbi__bmp_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PIC + if (stbi__pic_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNM + if (stbi__pnm_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_info(s, x, y, comp)) return 1; + #endif + + // test tga last because it's a crappy test! + #ifndef STBI_NO_TGA + if (stbi__tga_info(s, x, y, comp)) + return 1; + #endif + return stbi__err("unknown image type", "Image not of any known type, or corrupt"); +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_info_from_file(f, x, y, comp); + fclose(f); + return result; +} + +STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__info_main(&s,x,y,comp); + fseek(f,pos,SEEK_SET); + return r; +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__info_main(&s,x,y,comp); +} + +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__info_main(&s,x,y,comp); +} + +#endif // STB_IMAGE_IMPLEMENTATION + +/* + revision history: + 2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value + 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning + 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit + 2.03 (2015-04-12) extra corruption checking (mmozeiko) + stbi_set_flip_vertically_on_load (nguillemot) + fix NEON support; fix mingw support + 2.02 (2015-01-19) fix incorrect assert, fix warning + 2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2 + 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG + 2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg) + progressive JPEG (stb) + PGM/PPM support (Ken Miller) + STBI_MALLOC,STBI_REALLOC,STBI_FREE + GIF bugfix -- seemingly never worked + STBI_NO_*, STBI_ONLY_* + 1.48 (2014-12-14) fix incorrectly-named assert() + 1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb) + optimize PNG (ryg) + fix bug in interlaced PNG with user-specified channel count (stb) + 1.46 (2014-08-26) + fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG + 1.45 (2014-08-16) + fix MSVC-ARM internal compiler error by wrapping malloc + 1.44 (2014-08-07) + various warning fixes from Ronny Chevalier + 1.43 (2014-07-15) + fix MSVC-only compiler problem in code changed in 1.42 + 1.42 (2014-07-09) + don't define _CRT_SECURE_NO_WARNINGS (affects user code) + fixes to stbi__cleanup_jpeg path + added STBI_ASSERT to avoid requiring assert.h + 1.41 (2014-06-25) + fix search&replace from 1.36 that messed up comments/error messages + 1.40 (2014-06-22) + fix gcc struct-initialization warning + 1.39 (2014-06-15) + fix to TGA optimization when req_comp != number of components in TGA; + fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite) + add support for BMP version 5 (more ignored fields) + 1.38 (2014-06-06) + suppress MSVC warnings on integer casts truncating values + fix accidental rename of 'skip' field of I/O + 1.37 (2014-06-04) + remove duplicate typedef + 1.36 (2014-06-03) + convert to header file single-file library + if de-iphone isn't set, load iphone images color-swapped instead of returning NULL + 1.35 (2014-05-27) + various warnings + fix broken STBI_SIMD path + fix bug where stbi_load_from_file no longer left file pointer in correct place + fix broken non-easy path for 32-bit BMP (possibly never used) + TGA optimization by Arseny Kapoulkine + 1.34 (unknown) + use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case + 1.33 (2011-07-14) + make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements + 1.32 (2011-07-13) + support for "info" function for all supported filetypes (SpartanJ) + 1.31 (2011-06-20) + a few more leak fixes, bug in PNG handling (SpartanJ) + 1.30 (2011-06-11) + added ability to load files via callbacks to accomidate custom input streams (Ben Wenger) + removed deprecated format-specific test/load functions + removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway + error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha) + fix inefficiency in decoding 32-bit BMP (David Woo) + 1.29 (2010-08-16) + various warning fixes from Aurelien Pocheville + 1.28 (2010-08-01) + fix bug in GIF palette transparency (SpartanJ) + 1.27 (2010-08-01) + cast-to-stbi_uc to fix warnings + 1.26 (2010-07-24) + fix bug in file buffering for PNG reported by SpartanJ + 1.25 (2010-07-17) + refix trans_data warning (Won Chun) + 1.24 (2010-07-12) + perf improvements reading from files on platforms with lock-heavy fgetc() + minor perf improvements for jpeg + deprecated type-specific functions so we'll get feedback if they're needed + attempt to fix trans_data warning (Won Chun) + 1.23 fixed bug in iPhone support + 1.22 (2010-07-10) + removed image *writing* support + stbi_info support from Jetro Lauha + GIF support from Jean-Marc Lienher + iPhone PNG-extensions from James Brown + warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva) + 1.21 fix use of 'stbi_uc' in header (reported by jon blow) + 1.20 added support for Softimage PIC, by Tom Seddon + 1.19 bug in interlaced PNG corruption check (found by ryg) + 1.18 (2008-08-02) + fix a threading bug (local mutable static) + 1.17 support interlaced PNG + 1.16 major bugfix - stbi__convert_format converted one too many pixels + 1.15 initialize some fields for thread safety + 1.14 fix threadsafe conversion bug + header-file-only version (#define STBI_HEADER_FILE_ONLY before including) + 1.13 threadsafe + 1.12 const qualifiers in the API + 1.11 Support installable IDCT, colorspace conversion routines + 1.10 Fixes for 64-bit (don't use "unsigned long") + optimized upsampling by Fabian "ryg" Giesen + 1.09 Fix format-conversion for PSD code (bad global variables!) + 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz + 1.07 attempt to fix C++ warning/errors again + 1.06 attempt to fix C++ warning/errors again + 1.05 fix TGA loading to return correct *comp and use good luminance calc + 1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free + 1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR + 1.02 support for (subset of) HDR files, float interface for preferred access to them + 1.01 fix bug: possible bug in handling right-side up bmps... not sure + fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all + 1.00 interface to zlib that skips zlib header + 0.99 correct handling of alpha in palette + 0.98 TGA loader by lonesock; dynamically add loaders (untested) + 0.97 jpeg errors on too large a file; also catch another malloc failure + 0.96 fix detection of invalid v value - particleman@mollyrocket forum + 0.95 during header scan, seek to markers in case of padding + 0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same + 0.93 handle jpegtran output; verbose errors + 0.92 read 4,8,16,24,32-bit BMP files of several formats + 0.91 output 24-bit Windows 3.0 BMP files + 0.90 fix a few more warnings; bump version number to approach 1.0 + 0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd + 0.60 fix compiling as c++ + 0.59 fix warnings: merge Dave Moore's -Wall fixes + 0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian + 0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available + 0.56 fix bug: zlib uncompressed mode len vs. nlen + 0.55 fix bug: restart_interval not initialized to 0 + 0.54 allow NULL for 'int *comp' + 0.53 fix bug in png 3->4; speedup png decoding + 0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments + 0.51 obey req_comp requests, 1-component jpegs return as 1-component, + on 'test' only check type, not whether we support this variant + 0.50 (2006-11-19) + first released version +*/ diff --git a/src/stb_image_write.h b/src/stb_image_write.h new file mode 100644 index 0000000..1048970 --- /dev/null +++ b/src/stb_image_write.h @@ -0,0 +1,730 @@ +/* stb_image_write - v0.98 - public domain - http://nothings.org/stb/stb_image_write.h + writes out PNG/BMP/TGA images to C stdio - Sean Barrett 2010 + no warranty implied; use at your own risk + + + Before #including, + + #define STB_IMAGE_WRITE_IMPLEMENTATION + + in the file that you want to have the implementation. + + Will probably not work correctly with strict-aliasing optimizations. + +ABOUT: + + This header file is a library for writing images to C stdio. It could be + adapted to write to memory or a general streaming interface; let me know. + + The PNG output is not optimal; it is 20-50% larger than the file + written by a decent optimizing implementation. This library is designed + for source code compactness and simplicitly, not optimal image file size + or run-time performance. + +BUILDING: + + You can #define STBIW_ASSERT(x) before the #include to avoid using assert.h. + You can #define STBIW_MALLOC(), STBIW_REALLOC(), and STBIW_FREE() to replace + malloc,realloc,free. + You can define STBIW_MEMMOVE() to replace memmove() + +USAGE: + + There are four functions, one for each image file format: + + int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); + int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_hdr(char const *filename, int w, int h, int comp, const void *data); + + Each function returns 0 on failure and non-0 on success. + + The functions create an image file defined by the parameters. The image + is a rectangle of pixels stored from left-to-right, top-to-bottom. + Each pixel contains 'comp' channels of data stored interleaved with 8-bits + per channel, in the following order: 1=Y, 2=YA, 3=RGB, 4=RGBA. (Y is + monochrome color.) The rectangle is 'w' pixels wide and 'h' pixels tall. + The *data pointer points to the first byte of the top-left-most pixel. + For PNG, "stride_in_bytes" is the distance in bytes from the first byte of + a row of pixels to the first byte of the next row of pixels. + + PNG creates output files with the same number of components as the input. + The BMP format expands Y to RGB in the file format and does not + output alpha. + + PNG supports writing rectangles of data even when the bytes storing rows of + data are not consecutive in memory (e.g. sub-rectangles of a larger image), + by supplying the stride between the beginning of adjacent rows. The other + formats do not. (Thus you cannot write a native-format BMP through the BMP + writer, both because it is in BGR order and because it may have padding + at the end of the line.) + + HDR expects linear float data. Since the format is always 32-bit rgb(e) + data, alpha (if provided) is discarded, and for monochrome data it is + replicated across all three channels. + +CREDITS: + + PNG/BMP/TGA + Sean Barrett + HDR + Baldur Karlsson + TGA monochrome: + Jean-Sebastien Guay + misc enhancements: + Tim Kelsey + bugfixes: + github:Chribba +*/ + +#ifndef INCLUDE_STB_IMAGE_WRITE_H +#define INCLUDE_STB_IMAGE_WRITE_H + +#ifdef __cplusplus +extern "C" { +#endif + +extern int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); +extern int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); +extern int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); +extern int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); + +#ifdef __cplusplus +} +#endif + +#endif//INCLUDE_STB_IMAGE_WRITE_H + +#ifdef STB_IMAGE_WRITE_IMPLEMENTATION + +#include <stdarg.h> +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <math.h> + +#if defined(STBIW_MALLOC) && defined(STBIW_FREE) && defined(STBIW_REALLOC) +// ok +#elif !defined(STBIW_MALLOC) && !defined(STBIW_FREE) && !defined(STBIW_REALLOC) +// ok +#else +#error "Must define all or none of STBIW_MALLOC, STBIW_FREE, and STBIW_REALLOC." +#endif + +#ifndef STBIW_MALLOC +#define STBIW_MALLOC(sz) malloc(sz) +#define STBIW_REALLOC(p,sz) realloc(p,sz) +#define STBIW_FREE(p) free(p) +#endif +#ifndef STBIW_MEMMOVE +#define STBIW_MEMMOVE(a,b,sz) memmove(a,b,sz) +#endif + + +#ifndef STBIW_ASSERT +#include <assert.h> +#define STBIW_ASSERT(x) assert(x) +#endif + +typedef unsigned int stbiw_uint32; +typedef int stb_image_write_test[sizeof(stbiw_uint32)==4 ? 1 : -1]; + +static void writefv(FILE *f, const char *fmt, va_list v) +{ + while (*fmt) { + switch (*fmt++) { + case ' ': break; + case '1': { unsigned char x = (unsigned char) va_arg(v, int); fputc(x,f); break; } + case '2': { int x = va_arg(v,int); unsigned char b[2]; + b[0] = (unsigned char) x; b[1] = (unsigned char) (x>>8); + fwrite(b,2,1,f); break; } + case '4': { stbiw_uint32 x = va_arg(v,int); unsigned char b[4]; + b[0]=(unsigned char)x; b[1]=(unsigned char)(x>>8); + b[2]=(unsigned char)(x>>16); b[3]=(unsigned char)(x>>24); + fwrite(b,4,1,f); break; } + default: + STBIW_ASSERT(0); + return; + } + } +} + +static void write3(FILE *f, unsigned char a, unsigned char b, unsigned char c) +{ + unsigned char arr[3]; + arr[0] = a, arr[1] = b, arr[2] = c; + fwrite(arr, 3, 1, f); +} + +static void write_pixels(FILE *f, int rgb_dir, int vdir, int x, int y, int comp, void *data, int write_alpha, int scanline_pad, int expand_mono) +{ + unsigned char bg[3] = { 255, 0, 255}, px[3]; + stbiw_uint32 zero = 0; + int i,j,k, j_end; + + if (y <= 0) + return; + + if (vdir < 0) + j_end = -1, j = y-1; + else + j_end = y, j = 0; + + for (; j != j_end; j += vdir) { + for (i=0; i < x; ++i) { + unsigned char *d = (unsigned char *) data + (j*x+i)*comp; + if (write_alpha < 0) + fwrite(&d[comp-1], 1, 1, f); + switch (comp) { + case 1: fwrite(d, 1, 1, f); + break; + case 2: if (expand_mono) + write3(f, d[0],d[0],d[0]); // monochrome bmp + else + fwrite(d, 1, 1, f); // monochrome TGA + break; + case 4: + if (!write_alpha) { + // composite against pink background + for (k=0; k < 3; ++k) + px[k] = bg[k] + ((d[k] - bg[k]) * d[3])/255; + write3(f, px[1-rgb_dir],px[1],px[1+rgb_dir]); + break; + } + /* FALLTHROUGH */ + case 3: + write3(f, d[1-rgb_dir],d[1],d[1+rgb_dir]); + break; + } + if (write_alpha > 0) + fwrite(&d[comp-1], 1, 1, f); + } + fwrite(&zero,scanline_pad,1,f); + } +} + +static int outfile(char const *filename, int rgb_dir, int vdir, int x, int y, int comp, int expand_mono, void *data, int alpha, int pad, const char *fmt, ...) +{ + FILE *f; + if (y < 0 || x < 0) return 0; + f = fopen(filename, "wb"); + if (f) { + va_list v; + va_start(v, fmt); + writefv(f, fmt, v); + va_end(v); + write_pixels(f,rgb_dir,vdir,x,y,comp,data,alpha,pad,expand_mono); + fclose(f); + } + return f != NULL; +} + +int stbi_write_bmp(char const *filename, int x, int y, int comp, const void *data) +{ + int pad = (-x*3) & 3; + return outfile(filename,-1,-1,x,y,comp,1,(void *) data,0,pad, + "11 4 22 4" "4 44 22 444444", + 'B', 'M', 14+40+(x*3+pad)*y, 0,0, 14+40, // file header + 40, x,y, 1,24, 0,0,0,0,0,0); // bitmap header +} + +int stbi_write_tga(char const *filename, int x, int y, int comp, const void *data) +{ + int has_alpha = (comp == 2 || comp == 4); + int colorbytes = has_alpha ? comp-1 : comp; + int format = colorbytes < 2 ? 3 : 2; // 3 color channels (RGB/RGBA) = 2, 1 color channel (Y/YA) = 3 + return outfile(filename, -1,-1, x, y, comp, 0, (void *) data, has_alpha, 0, + "111 221 2222 11", 0,0,format, 0,0,0, 0,0,x,y, (colorbytes+has_alpha)*8, has_alpha*8); +} + +// ************************************************************************************************* +// Radiance RGBE HDR writer +// by Baldur Karlsson +#define stbiw__max(a, b) ((a) > (b) ? (a) : (b)) + +void stbiw__linear_to_rgbe(unsigned char *rgbe, float *linear) +{ + int exponent; + float maxcomp = stbiw__max(linear[0], stbiw__max(linear[1], linear[2])); + + if (maxcomp < 1e-32) { + rgbe[0] = rgbe[1] = rgbe[2] = rgbe[3] = 0; + } else { + float normalize = (float) frexp(maxcomp, &exponent) * 256.0f/maxcomp; + + rgbe[0] = (unsigned char)(linear[0] * normalize); + rgbe[1] = (unsigned char)(linear[1] * normalize); + rgbe[2] = (unsigned char)(linear[2] * normalize); + rgbe[3] = (unsigned char)(exponent + 128); + } +} + +void stbiw__write_run_data(FILE *f, int length, unsigned char databyte) +{ + unsigned char lengthbyte = (unsigned char) (length+128); + STBIW_ASSERT(length+128 <= 255); + fwrite(&lengthbyte, 1, 1, f); + fwrite(&databyte, 1, 1, f); +} + +void stbiw__write_dump_data(FILE *f, int length, unsigned char *data) +{ + unsigned char lengthbyte = (unsigned char )(length & 0xff); + STBIW_ASSERT(length <= 128); // inconsistent with spec but consistent with official code + fwrite(&lengthbyte, 1, 1, f); + fwrite(data, length, 1, f); +} + +void stbiw__write_hdr_scanline(FILE *f, int width, int comp, unsigned char *scratch, const float *scanline) +{ + unsigned char scanlineheader[4] = { 2, 2, 0, 0 }; + unsigned char rgbe[4]; + float linear[3]; + int x; + + scanlineheader[2] = (width&0xff00)>>8; + scanlineheader[3] = (width&0x00ff); + + /* skip RLE for images too small or large */ + if (width < 8 || width >= 32768) { + for (x=0; x < width; x++) { + switch (comp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x*comp + 2]; + linear[1] = scanline[x*comp + 1]; + linear[0] = scanline[x*comp + 0]; + break; + case 2: /* fallthrough */ + case 1: linear[0] = linear[1] = linear[2] = scanline[x*comp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + fwrite(rgbe, 4, 1, f); + } + } else { + int c,r; + /* encode into scratch buffer */ + for (x=0; x < width; x++) { + switch(comp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x*comp + 2]; + linear[1] = scanline[x*comp + 1]; + linear[0] = scanline[x*comp + 0]; + break; + case 2: /* fallthrough */ + case 1: linear[0] = linear[1] = linear[2] = scanline[x*comp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + scratch[x + width*0] = rgbe[0]; + scratch[x + width*1] = rgbe[1]; + scratch[x + width*2] = rgbe[2]; + scratch[x + width*3] = rgbe[3]; + } + + fwrite(scanlineheader, 4, 1, f); + + /* RLE each component separately */ + for (c=0; c < 4; c++) { + unsigned char *comp = &scratch[width*c]; + + x = 0; + while (x < width) { + // find first run + r = x; + while (r+2 < width) { + if (comp[r] == comp[r+1] && comp[r] == comp[r+2]) + break; + ++r; + } + if (r+2 >= width) + r = width; + // dump up to first run + while (x < r) { + int len = r-x; + if (len > 128) len = 128; + stbiw__write_dump_data(f, len, &comp[x]); + x += len; + } + // if there's a run, output it + if (r+2 < width) { // same test as what we break out of in search loop, so only true if we break'd + // find next byte after run + while (r < width && comp[r] == comp[x]) + ++r; + // output run up to r + while (x < r) { + int len = r-x; + if (len > 127) len = 127; + stbiw__write_run_data(f, len, comp[x]); + x += len; + } + } + } + } + } +} + +int stbi_write_hdr(char const *filename, int x, int y, int comp, const float *data) +{ + int i; + FILE *f; + if (y <= 0 || x <= 0 || data == NULL) return 0; + f = fopen(filename, "wb"); + if (f) { + /* Each component is stored separately. Allocate scratch space for full output scanline. */ + unsigned char *scratch = (unsigned char *) STBIW_MALLOC(x*4); + fprintf(f, "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n" ); + fprintf(f, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n" , y, x); + for(i=0; i < y; i++) + stbiw__write_hdr_scanline(f, x, comp, scratch, data + comp*i*x); + STBIW_FREE(scratch); + fclose(f); + } + return f != NULL; +} + +///////////////////////////////////////////////////////// +// PNG + +// stretchy buffer; stbiw__sbpush() == vector<>::push_back() -- stbiw__sbcount() == vector<>::size() +#define stbiw__sbraw(a) ((int *) (a) - 2) +#define stbiw__sbm(a) stbiw__sbraw(a)[0] +#define stbiw__sbn(a) stbiw__sbraw(a)[1] + +#define stbiw__sbneedgrow(a,n) ((a)==0 || stbiw__sbn(a)+n >= stbiw__sbm(a)) +#define stbiw__sbmaybegrow(a,n) (stbiw__sbneedgrow(a,(n)) ? stbiw__sbgrow(a,n) : 0) +#define stbiw__sbgrow(a,n) stbiw__sbgrowf((void **) &(a), (n), sizeof(*(a))) + +#define stbiw__sbpush(a, v) (stbiw__sbmaybegrow(a,1), (a)[stbiw__sbn(a)++] = (v)) +#define stbiw__sbcount(a) ((a) ? stbiw__sbn(a) : 0) +#define stbiw__sbfree(a) ((a) ? STBIW_FREE(stbiw__sbraw(a)),0 : 0) + +static void *stbiw__sbgrowf(void **arr, int increment, int itemsize) +{ + int m = *arr ? 2*stbiw__sbm(*arr)+increment : increment+1; + void *p = STBIW_REALLOC(*arr ? stbiw__sbraw(*arr) : 0, itemsize * m + sizeof(int)*2); + STBIW_ASSERT(p); + if (p) { + if (!*arr) ((int *) p)[1] = 0; + *arr = (void *) ((int *) p + 2); + stbiw__sbm(*arr) = m; + } + return *arr; +} + +static unsigned char *stbiw__zlib_flushf(unsigned char *data, unsigned int *bitbuffer, int *bitcount) +{ + while (*bitcount >= 8) { + stbiw__sbpush(data, (unsigned char) *bitbuffer); + *bitbuffer >>= 8; + *bitcount -= 8; + } + return data; +} + +static int stbiw__zlib_bitrev(int code, int codebits) +{ + int res=0; + while (codebits--) { + res = (res << 1) | (code & 1); + code >>= 1; + } + return res; +} + +static unsigned int stbiw__zlib_countm(unsigned char *a, unsigned char *b, int limit) +{ + int i; + for (i=0; i < limit && i < 258; ++i) + if (a[i] != b[i]) break; + return i; +} + +static unsigned int stbiw__zhash(unsigned char *data) +{ + stbiw_uint32 hash = data[0] + (data[1] << 8) + (data[2] << 16); + hash ^= hash << 3; + hash += hash >> 5; + hash ^= hash << 4; + hash += hash >> 17; + hash ^= hash << 25; + hash += hash >> 6; + return hash; +} + +#define stbiw__zlib_flush() (out = stbiw__zlib_flushf(out, &bitbuf, &bitcount)) +#define stbiw__zlib_add(code,codebits) \ + (bitbuf |= (code) << bitcount, bitcount += (codebits), stbiw__zlib_flush()) +#define stbiw__zlib_huffa(b,c) stbiw__zlib_add(stbiw__zlib_bitrev(b,c),c) +// default huffman tables +#define stbiw__zlib_huff1(n) stbiw__zlib_huffa(0x30 + (n), 8) +#define stbiw__zlib_huff2(n) stbiw__zlib_huffa(0x190 + (n)-144, 9) +#define stbiw__zlib_huff3(n) stbiw__zlib_huffa(0 + (n)-256,7) +#define stbiw__zlib_huff4(n) stbiw__zlib_huffa(0xc0 + (n)-280,8) +#define stbiw__zlib_huff(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : (n) <= 255 ? stbiw__zlib_huff2(n) : (n) <= 279 ? stbiw__zlib_huff3(n) : stbiw__zlib_huff4(n)) +#define stbiw__zlib_huffb(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : stbiw__zlib_huff2(n)) + +#define stbiw__ZHASH 16384 + +unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, int *out_len, int quality) +{ + static unsigned short lengthc[] = { 3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258, 259 }; + static unsigned char lengtheb[]= { 0,0,0,0,0,0,0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 }; + static unsigned short distc[] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577, 32768 }; + static unsigned char disteb[] = { 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13 }; + unsigned int bitbuf=0; + int i,j, bitcount=0; + unsigned char *out = NULL; + unsigned char **hash_table[stbiw__ZHASH]; // 64KB on the stack! + if (quality < 5) quality = 5; + + stbiw__sbpush(out, 0x78); // DEFLATE 32K window + stbiw__sbpush(out, 0x5e); // FLEVEL = 1 + stbiw__zlib_add(1,1); // BFINAL = 1 + stbiw__zlib_add(1,2); // BTYPE = 1 -- fixed huffman + + for (i=0; i < stbiw__ZHASH; ++i) + hash_table[i] = NULL; + + i=0; + while (i < data_len-3) { + // hash next 3 bytes of data to be compressed + int h = stbiw__zhash(data+i)&(stbiw__ZHASH-1), best=3; + unsigned char *bestloc = 0; + unsigned char **hlist = hash_table[h]; + int n = stbiw__sbcount(hlist); + for (j=0; j < n; ++j) { + if (hlist[j]-data > i-32768) { // if entry lies within window + int d = stbiw__zlib_countm(hlist[j], data+i, data_len-i); + if (d >= best) best=d,bestloc=hlist[j]; + } + } + // when hash table entry is too long, delete half the entries + if (hash_table[h] && stbiw__sbn(hash_table[h]) == 2*quality) { + STBIW_MEMMOVE(hash_table[h], hash_table[h]+quality, sizeof(hash_table[h][0])*quality); + stbiw__sbn(hash_table[h]) = quality; + } + stbiw__sbpush(hash_table[h],data+i); + + if (bestloc) { + // "lazy matching" - check match at *next* byte, and if it's better, do cur byte as literal + h = stbiw__zhash(data+i+1)&(stbiw__ZHASH-1); + hlist = hash_table[h]; + n = stbiw__sbcount(hlist); + for (j=0; j < n; ++j) { + if (hlist[j]-data > i-32767) { + int e = stbiw__zlib_countm(hlist[j], data+i+1, data_len-i-1); + if (e > best) { // if next match is better, bail on current match + bestloc = NULL; + break; + } + } + } + } + + if (bestloc) { + int d = (int) (data+i - bestloc); // distance back + STBIW_ASSERT(d <= 32767 && best <= 258); + for (j=0; best > lengthc[j+1]-1; ++j); + stbiw__zlib_huff(j+257); + if (lengtheb[j]) stbiw__zlib_add(best - lengthc[j], lengtheb[j]); + for (j=0; d > distc[j+1]-1; ++j); + stbiw__zlib_add(stbiw__zlib_bitrev(j,5),5); + if (disteb[j]) stbiw__zlib_add(d - distc[j], disteb[j]); + i += best; + } else { + stbiw__zlib_huffb(data[i]); + ++i; + } + } + // write out final bytes + for (;i < data_len; ++i) + stbiw__zlib_huffb(data[i]); + stbiw__zlib_huff(256); // end of block + // pad with 0 bits to byte boundary + while (bitcount) + stbiw__zlib_add(0,1); + + for (i=0; i < stbiw__ZHASH; ++i) + (void) stbiw__sbfree(hash_table[i]); + + { + // compute adler32 on input + unsigned int i=0, s1=1, s2=0, blocklen = data_len % 5552; + int j=0; + while (j < data_len) { + for (i=0; i < blocklen; ++i) s1 += data[j+i], s2 += s1; + s1 %= 65521, s2 %= 65521; + j += blocklen; + blocklen = 5552; + } + stbiw__sbpush(out, (unsigned char) (s2 >> 8)); + stbiw__sbpush(out, (unsigned char) s2); + stbiw__sbpush(out, (unsigned char) (s1 >> 8)); + stbiw__sbpush(out, (unsigned char) s1); + } + *out_len = stbiw__sbn(out); + // make returned pointer freeable + STBIW_MEMMOVE(stbiw__sbraw(out), out, *out_len); + return (unsigned char *) stbiw__sbraw(out); +} + +unsigned int stbiw__crc32(unsigned char *buffer, int len) +{ + static unsigned int crc_table[256]; + unsigned int crc = ~0u; + int i,j; + if (crc_table[1] == 0) + for(i=0; i < 256; i++) + for (crc_table[i]=i, j=0; j < 8; ++j) + crc_table[i] = (crc_table[i] >> 1) ^ (crc_table[i] & 1 ? 0xedb88320 : 0); + for (i=0; i < len; ++i) + crc = (crc >> 8) ^ crc_table[buffer[i] ^ (crc & 0xff)]; + return ~crc; +} + +#define stbiw__wpng4(o,a,b,c,d) ((o)[0]=(unsigned char)(a),(o)[1]=(unsigned char)(b),(o)[2]=(unsigned char)(c),(o)[3]=(unsigned char)(d),(o)+=4) +#define stbiw__wp32(data,v) stbiw__wpng4(data, (v)>>24,(v)>>16,(v)>>8,(v)); +#define stbiw__wptag(data,s) stbiw__wpng4(data, s[0],s[1],s[2],s[3]) + +static void stbiw__wpcrc(unsigned char **data, int len) +{ + unsigned int crc = stbiw__crc32(*data - len - 4, len+4); + stbiw__wp32(*data, crc); +} + +static unsigned char stbiw__paeth(int a, int b, int c) +{ + int p = a + b - c, pa = abs(p-a), pb = abs(p-b), pc = abs(p-c); + if (pa <= pb && pa <= pc) return (unsigned char) a; + if (pb <= pc) return (unsigned char) b; + return (unsigned char) c; +} + +unsigned char *stbi_write_png_to_mem(unsigned char *pixels, int stride_bytes, int x, int y, int n, int *out_len) +{ + int ctype[5] = { -1, 0, 4, 2, 6 }; + unsigned char sig[8] = { 137,80,78,71,13,10,26,10 }; + unsigned char *out,*o, *filt, *zlib; + signed char *line_buffer; + int i,j,k,p,zlen; + + if (stride_bytes == 0) + stride_bytes = x * n; + + filt = (unsigned char *) STBIW_MALLOC((x*n+1) * y); if (!filt) return 0; + line_buffer = (signed char *) STBIW_MALLOC(x * n); if (!line_buffer) { STBIW_FREE(filt); return 0; } + for (j=0; j < y; ++j) { + static int mapping[] = { 0,1,2,3,4 }; + static int firstmap[] = { 0,1,0,5,6 }; + int *mymap = j ? mapping : firstmap; + int best = 0, bestval = 0x7fffffff; + for (p=0; p < 2; ++p) { + for (k= p?best:0; k < 5; ++k) { + int type = mymap[k],est=0; + unsigned char *z = pixels + stride_bytes*j; + for (i=0; i < n; ++i) + switch (type) { + case 0: line_buffer[i] = z[i]; break; + case 1: line_buffer[i] = z[i]; break; + case 2: line_buffer[i] = z[i] - z[i-stride_bytes]; break; + case 3: line_buffer[i] = z[i] - (z[i-stride_bytes]>>1); break; + case 4: line_buffer[i] = (signed char) (z[i] - stbiw__paeth(0,z[i-stride_bytes],0)); break; + case 5: line_buffer[i] = z[i]; break; + case 6: line_buffer[i] = z[i]; break; + } + for (i=n; i < x*n; ++i) { + switch (type) { + case 0: line_buffer[i] = z[i]; break; + case 1: line_buffer[i] = z[i] - z[i-n]; break; + case 2: line_buffer[i] = z[i] - z[i-stride_bytes]; break; + case 3: line_buffer[i] = z[i] - ((z[i-n] + z[i-stride_bytes])>>1); break; + case 4: line_buffer[i] = z[i] - stbiw__paeth(z[i-n], z[i-stride_bytes], z[i-stride_bytes-n]); break; + case 5: line_buffer[i] = z[i] - (z[i-n]>>1); break; + case 6: line_buffer[i] = z[i] - stbiw__paeth(z[i-n], 0,0); break; + } + } + if (p) break; + for (i=0; i < x*n; ++i) + est += abs((signed char) line_buffer[i]); + if (est < bestval) { bestval = est; best = k; } + } + } + // when we get here, best contains the filter type, and line_buffer contains the data + filt[j*(x*n+1)] = (unsigned char) best; + STBIW_MEMMOVE(filt+j*(x*n+1)+1, line_buffer, x*n); + } + STBIW_FREE(line_buffer); + zlib = stbi_zlib_compress(filt, y*( x*n+1), &zlen, 8); // increase 8 to get smaller but use more memory + STBIW_FREE(filt); + if (!zlib) return 0; + + // each tag requires 12 bytes of overhead + out = (unsigned char *) STBIW_MALLOC(8 + 12+13 + 12+zlen + 12); + if (!out) return 0; + *out_len = 8 + 12+13 + 12+zlen + 12; + + o=out; + STBIW_MEMMOVE(o,sig,8); o+= 8; + stbiw__wp32(o, 13); // header length + stbiw__wptag(o, "IHDR"); + stbiw__wp32(o, x); + stbiw__wp32(o, y); + *o++ = 8; + *o++ = (unsigned char) ctype[n]; + *o++ = 0; + *o++ = 0; + *o++ = 0; + stbiw__wpcrc(&o,13); + + stbiw__wp32(o, zlen); + stbiw__wptag(o, "IDAT"); + STBIW_MEMMOVE(o, zlib, zlen); + o += zlen; + STBIW_FREE(zlib); + stbiw__wpcrc(&o, zlen); + + stbiw__wp32(o,0); + stbiw__wptag(o, "IEND"); + stbiw__wpcrc(&o,0); + + STBIW_ASSERT(o == out + *out_len); + + return out; +} + +int stbi_write_png(char const *filename, int x, int y, int comp, const void *data, int stride_bytes) +{ + FILE *f; + int len; + unsigned char *png = stbi_write_png_to_mem((unsigned char *) data, stride_bytes, x, y, comp, &len); + if (!png) return 0; + f = fopen(filename, "wb"); + if (!f) { STBIW_FREE(png); return 0; } + fwrite(png, 1, len, f); + fclose(f); + STBIW_FREE(png); + return 1; +} +#endif // STB_IMAGE_WRITE_IMPLEMENTATION + +/* Revision history + 0.98 (2015-04-08) + added STBIW_MALLOC, STBIW_ASSERT etc + 0.97 (2015-01-18) + fixed HDR asserts, rewrote HDR rle logic + 0.96 (2015-01-17) + add HDR output + fix monochrome BMP + 0.95 (2014-08-17) + add monochrome TGA output + 0.94 (2014-05-31) + rename private functions to avoid conflicts with stb_image.h + 0.93 (2014-05-27) + warning fixes + 0.92 (2010-08-01) + casts to unsigned char to fix warnings + 0.91 (2010-07-17) + first public release + 0.90 first internal release +*/ -- GitLab