From 4f2f2425d3a93182bab80bc9e41d6429ea531c21 Mon Sep 17 00:00:00 2001 From: Mirco Miranda Date: Tue, 1 Jul 2025 23:59:03 +0200 Subject: [PATCH] IFF: read only support to Interchange Format Files Read-only support for most common Interchange Format Files (IFF). Supports IFF saved by Photoshop for the Amiga and Maya platform and HAM6 coded files. Closes #29 --- README.md | 2 + autotests/CMakeLists.txt | 1 + autotests/read/iff/blue_noise_rgba16.iff | Bin 0 -> 102744 bytes autotests/read/iff/blue_noise_rgba16.png | Bin 0 -> 105294 bytes autotests/read/iff/blue_noise_rgba8.iff | Bin 0 -> 51436 bytes autotests/read/iff/blue_noise_rgba8.png | Bin 0 -> 54418 bytes autotests/read/iff/flag_ham6.iff | Bin 0 -> 9026 bytes autotests/read/iff/flag_ham6.png | Bin 0 -> 3042 bytes .../read/iff/ps_testcard_bitmap_amiga.iff | Bin 0 -> 2634 bytes .../read/iff/ps_testcard_bitmap_amiga.png | Bin 0 -> 4070 bytes autotests/read/iff/ps_testcard_gray_amiga.iff | Bin 0 -> 19032 bytes autotests/read/iff/ps_testcard_gray_amiga.png | Bin 0 -> 8370 bytes .../read/iff/ps_testcard_indexed_amiga.iff | Bin 0 -> 15624 bytes .../read/iff/ps_testcard_indexed_amiga.png | Bin 0 -> 6549 bytes autotests/read/iff/ps_testcard_rgb16_maya.iff | Bin 0 -> 41588 bytes autotests/read/iff/ps_testcard_rgb16_maya.png | Bin 0 -> 10888 bytes autotests/read/iff/ps_testcard_rgb_amiga.iff | Bin 0 -> 52098 bytes autotests/read/iff/ps_testcard_rgb_amiga.png | Bin 0 -> 6374 bytes autotests/read/iff/ps_testcard_rgb_maya.iff | Bin 0 -> 20936 bytes autotests/read/iff/ps_testcard_rgb_maya.png | Bin 0 -> 8111 bytes .../read/iff/ps_testcard_rgba16_maya.iff | Bin 0 -> 39744 bytes .../read/iff/ps_testcard_rgba16_maya.png | Bin 0 -> 13387 bytes autotests/read/iff/ps_testcard_rgba_maya.iff | Bin 0 -> 20008 bytes autotests/read/iff/ps_testcard_rgba_maya.png | Bin 0 -> 9982 bytes .../read/iff/testcard_indexed2_amiga.iff | Bin 0 -> 13068 bytes .../read/iff/testcard_indexed2_amiga.png | Bin 0 -> 7182 bytes .../read/iff/testcard_indexed3_amiga.iff | Bin 0 -> 14104 bytes .../read/iff/testcard_indexed3_amiga.png | Bin 0 -> 6387 bytes .../read/iff/testcard_indexed4_amiga.iff | Bin 0 -> 21774 bytes .../read/iff/testcard_indexed4_amiga.png | Bin 0 -> 9479 bytes src/imageformats/CMakeLists.txt | 4 + src/imageformats/chunks.cpp | 1414 +++++++++++++++++ src/imageformats/chunks_p.h | 823 ++++++++++ src/imageformats/iff.cpp | 362 +++++ src/imageformats/iff.json | 4 + src/imageformats/iff_p.h | 47 + src/imageformats/packbits_p.h | 111 ++ src/imageformats/psd.cpp | 45 +- 38 files changed, 2770 insertions(+), 43 deletions(-) create mode 100644 autotests/read/iff/blue_noise_rgba16.iff create mode 100644 autotests/read/iff/blue_noise_rgba16.png create mode 100644 autotests/read/iff/blue_noise_rgba8.iff create mode 100644 autotests/read/iff/blue_noise_rgba8.png create mode 100644 autotests/read/iff/flag_ham6.iff create mode 100644 autotests/read/iff/flag_ham6.png create mode 100644 autotests/read/iff/ps_testcard_bitmap_amiga.iff create mode 100644 autotests/read/iff/ps_testcard_bitmap_amiga.png create mode 100644 autotests/read/iff/ps_testcard_gray_amiga.iff create mode 100644 autotests/read/iff/ps_testcard_gray_amiga.png create mode 100644 autotests/read/iff/ps_testcard_indexed_amiga.iff create mode 100644 autotests/read/iff/ps_testcard_indexed_amiga.png create mode 100644 autotests/read/iff/ps_testcard_rgb16_maya.iff create mode 100644 autotests/read/iff/ps_testcard_rgb16_maya.png create mode 100644 autotests/read/iff/ps_testcard_rgb_amiga.iff create mode 100644 autotests/read/iff/ps_testcard_rgb_amiga.png create mode 100644 autotests/read/iff/ps_testcard_rgb_maya.iff create mode 100644 autotests/read/iff/ps_testcard_rgb_maya.png create mode 100644 autotests/read/iff/ps_testcard_rgba16_maya.iff create mode 100644 autotests/read/iff/ps_testcard_rgba16_maya.png create mode 100644 autotests/read/iff/ps_testcard_rgba_maya.iff create mode 100644 autotests/read/iff/ps_testcard_rgba_maya.png create mode 100644 autotests/read/iff/testcard_indexed2_amiga.iff create mode 100644 autotests/read/iff/testcard_indexed2_amiga.png create mode 100644 autotests/read/iff/testcard_indexed3_amiga.iff create mode 100644 autotests/read/iff/testcard_indexed3_amiga.png create mode 100644 autotests/read/iff/testcard_indexed4_amiga.iff create mode 100644 autotests/read/iff/testcard_indexed4_amiga.png create mode 100644 src/imageformats/chunks.cpp create mode 100644 src/imageformats/chunks_p.h create mode 100644 src/imageformats/iff.cpp create mode 100644 src/imageformats/iff.json create mode 100644 src/imageformats/iff_p.h create mode 100644 src/imageformats/packbits_p.h diff --git a/README.md b/README.md index f0e6889..cb47e35 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ The following image formats have read-only support: - Animated Windows cursors (ani) - Camera RAW images (arw, cr2, cr3, dcs, dng, ...) - Gimp (xcf) +- Interchange Format Files (IFF) - Krita (kra) - OpenRaster (ora) - Pixar raster (pxr) @@ -222,6 +223,7 @@ plugin ('n/a' means no limit, i.e. the limit depends on the format encoding). - EPS: n/a - HDR: n/a (large image) - HEIF: n/a +- IFF: 65,535 x 65,535 pixels - JP2: 300,000 x 300,000 pixels, in any case no larger than 2 gigapixels - JXL: 262,144 x 262,144 pixels, in any case no larger than 256 megapixels - JXR: n/a, in any case no larger than 4 GB diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index b4232bd..e871752 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -77,6 +77,7 @@ endmacro() # result against the data read from the corresponding png file kimageformats_read_tests( hdr + iff pcx pfm psd diff --git a/autotests/read/iff/blue_noise_rgba16.iff b/autotests/read/iff/blue_noise_rgba16.iff new file mode 100644 index 0000000000000000000000000000000000000000..edc1c352eb00046e1989b99738f09b01f4d96946 GIT binary patch literal 102744 zcmX6^ad-+^*pEhIW3ecTMqQ0YV`F2Z*jQ{=vDj!V8XLvN#$uyUEEbKTSZp*lw^1|} z%`GIzdia`ezDd z5iuD607U#Y_HWw+81%aX0Kng4(C_(w*ZZdRk1oQk3G(y)cJR{JigC;Vc1cZDUUO+G-1 z1}w|jl9m?zLvy42ZBpYvP|nWa%=)3Q>>gWx4Dav4H_keooc>)uA?JyY#orshR5=r^ zVLz`^2eRweHlk>jRCD?Frfsy)hJ&W%t|S(>&l!V&dBrp8SJcyBs|c)`y*d5uK?tD7 z7E+|Fbw0qt_>Z(Dx*VIvoZfwlbGvDiA3$3X8N!e8o@nuO`l*jYtlHgec*(e^z1F3a zu*!4ARl-KokrHNyyJBC%W)`Ymp(1UKr=g<2HRD7tNLL7{my6bDC?z+ zxaOl7d#%u{6D4o78PfcqZ=IpKM@<)Ht?XUQ{mkC%^A%VwDI%vdOuD-H2Jj$*0SGd_ zliiSCDdv?6Kp5tjc zrE5Qb58@XF9es~ZX}iU^k#Yv#hzZX5+&RAcQ2$Bf8s*IpTGj^)unc390k5jAcODH( zB$I;v;E#)SpxQMZ`G0}(izFdelSsAa<)MUOU7@AzbUkOTzp(5mij#XHV?=yrD>Bqq zyxH-xs~XydJ?LnK+lX|U@;qsjNbk7> zNjs+Y8sl-3J@-cYD?84wt$+ih*%j<%g!{PQ%m>h`DG9xc8+QIkC)k(!m3hPMKctZeNl$U*V%^!m7fvXwr*m5bhWw5( zEbp7V+PTI>3B6YS4SPHNg%A?Djktu&tUN$^VexDK@pXe%`==B70;pQPYKs+BYG*W8 z4Qcq38&(RSNVP`fYFjzOCcc{f-7=x5fIw}QtE42sz)(>_TRU}Q-fm-N_eM!P`LFVE zUV(f+AJJxJSgLiX*QphjExlg?J0w3Cf5~R$i~%p|jy8_
;UtYTl6XLp^Z7W$V* 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%0A;D<`>*+Am9mH|!&|645X$ZTKW$P=a3>_ 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 u(izzTp)Mwgv4kKmGDG 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 z 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 gxO(Ys>w|9u5did4u7BC2 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 YA2|8?d}sI@{Qv*}07*qoM6N<$f(_A%L;wH) literal 0 HcmV?d00001 diff --git a/autotests/read/iff/flag_ham6.iff b/autotests/read/iff/flag_ham6.iff new file mode 100644 index 0000000000000000000000000000000000000000..7898c8d4ed62d76210fd9fe818403624df42e87f GIT binary patch literal 9026 zcmeI1PiP!f9LL|xzTKV1MJ80CU=EXQBvLQ2K~SOYX1nTYToTk2a}c{EHX?e($~cv$NZRP@Bs% zknHa}-+7jDfD}wOUQbt9YH6bhvQ5FaHWeln{kv2C~D1B!Atur8T%DEgM_-ODfqr zuF^8FY+`H^NdcskCYDVtbL|3*5M7-%He!ZPFh8qr#&E=_Z53B4p68y@aR2wrwPb9R zj6D+3re(lTMNenoedEv*3zN)obaZTrv4mir`*U+ju%4;(dLGVdAzg|lx$C_##!}1e zjHPNxhjqn7$L}AHb_*64cCEk0UDiy|^9WWzirLmBI$W}2HjacWs+KjK$VAa(O=hr& zHGjpnfK^I#V-1~n*M4W*DWNn|Vkl!sE||?l2Tk$j293L0>y;}l*|jrJOUMv5H-aM z$WSJcgQQy~Z;RgQ&zvL#bMo4XlT@zA+k$yGsg*R$+oHF6lhse-UD2*&L|5E0dAC=p z8!^_BLNG5}+k{2Rx;Hwb(#mYA$_xeTauu#h%Lcr{GQuku z2^Oc2TLye_$_jQ@nmmXxB%RbDD`Q8+9T)n015OjJHZcL&~+%+8(-3KN3r zbKnpW2H`g_$ZPX1q&_Gd7NOewiOaCsIAx4c(%IaI5fH|L!ia%m9A*@L15$R5c$B-2 z15)YiJMq4R5Sz#+S-l*HUtkcwFajI6tOXe6f>*A)!Vo}guskx#EXxB%bOi_D3JfvA z5ZsSx?D>kt5MV&Wn{B^1S%?90K}2pgfItUiArQ=eKScir0faN>ZWbW0Irj@^RTtq+ zxj&2gAU8D3xJ@E|d{TqVC{6S3ZB)*%32X4cgThJTy9Kx4y@3~(anoGGU*@8)*x0~1 z-oW9m2D^H=D--D3=m3uN=$VfFh;?l z)ce2Vlp#)OTN>h&f*zopUe~Fg!r}%BD8!>gwXOohEElBg+4RYw(vLUbZEy%>265Dt zwJ%sMiGzaTk2%FtI7P%1t_sS)5u|*0M^F}jgCVJg21bEd$?}SItm}{CtoTE4H5dra ziZCP!4r6YATTSQ!ZT^2{OwY{LCPa7C|zzQ zoZ^o;#Zww)#mhy^3gp5l&aC)zA-sz_)aRaHx%gvF@stB9yj5Am33BLwn3d&YI4g4- zH|H>ywluaeRE!+r6$_u$rSPm1p7p}Bu6u-MU${HlLU>lW-&rNDr}b%xs(8c`yGWcg zOF>u4XmWuxd3Ai^c5%}-@p&+=WIzA3bH*E4CDG}w3{}(cKc5~gN?T}6zLe4I18w5V z=eJf;Qi>C!iPP5;JvFK34v)yElFi5#T9XfvK_4P37aNf0PX&>2J(r}C;!iS8nx&u% zOB!%tNx!|gb$e1I7+2mtmFS$^=lu4er2El0db&*d0=-IFXiYw7k|rN$lUIw|UwOT% eWM`B@W3R&Vkh5up-#a>+R=Ah@+T#EHEc+K}f)?`t literal 0 HcmV?d00001 diff --git a/autotests/read/iff/flag_ham6.png b/autotests/read/iff/flag_ham6.png new file mode 100644 index 0000000000000000000000000000000000000000..aa0f42bcf6f8d8603c4f47ef8088c1e82d457018 GIT binary patch literal 3042 zcmbVO2~-o;8V(guQE@@Vhebn>s>SRiB#{Udke~z*P!M0h$;>1~l1xkj2~t2&v0$yf z;=&?J@!^6;Sw#>fRz;qOA|Q$=QpGArS=@ps!ke%}d`H`!mviRizjMF)egAg(^5)Wh>I7-O=?KTsLS z^<;sFgaAMYA10_JG8B!$I5?_h02l@&j6v zbj8MnDwQ%8k*HFs2r4Q8kqe1rCX-1dQHT@@9!204ky0g~#!D5}V+^ja0+fqnN)aN( z>KFk&60T(9P*+D{kjV73QpISV(2Nn)fQ(2ckaRH(10hh4lZDI0!{QJ~gvGD~mMRq} zmaNChLJ=jR2t~d?t>6Ac0L?9ztJnCfFA|AfLZNhvK*JbK$Y;?C|4123^o12jxEzGt zB2YK2bY+3|T3rgmpG;#>m@E?Q6DZm<5TFG95)6SX0V0mT$IiPVV7RWby7MDl4j~}Q@llm7V1N)Grr}|T zOveNEc6NAxZ_mIBC;~eW20*4jKp$iCmW$Af28hSA>b!zbMhcD0r;_ZMcq&am#tR@j z3hEUV!ZYm2GyxT~qY3P2x^5nB5Ee(IKuZ@ndO!T&&7+oBgdOe)769scos9!^MTQ~V z=xfnu^6|HnN6)K5VU+Ywia(;RKm9xrkqM9+5`C@^S9V06Bop7+9`g z;{p{#E zz{AzqUwybMy{oY3+o?ORrSuIVDX&~|tRDGQu2tQoMzQYTt~7G2jL%+~;bK;ox%%y0 zLi)mQtqc>=jpLx6$FURU2q#WU-k(Og6(`D5nM6*Z$W58k7h-c};qKd)%-Pq&?tm`% z-&|BszOt|=YE^y3f|^QF_*eC1vw{w7+po#5tulY!U9Z?-8{F&J5uYipHZ6U>U6@iM zS>AV5v-z1RZ)gE?u<7R+ZO>>sX7Dw6J-35DEQ$|u%p~loE3sLd+*o)=+i_ZYx-0DH zU7q`$`!}1PZ8Gm`hTj8sHCCWwkL2Qtwp!lHJudeLd z2TNXV$k};Q8#Mhvcg%#s#iYBz7aqLG-DQhwY(BYa?$Wut)7%HSEt(73un(R^Nt1il z#h)qCt`Az1b=%`i9>eiKQ_OWfc-0{=yddS&^NSh3Rc&%)Q!H~o%*{O$Vmbe8m}Y0k z%o4){tHkB`C7Kp(LC#}qtJV{(sdI^3Q`0I|fX6YjpiS@Gj=rxQFgb7WuI$qHA^Yx~ z)2<4t9^lREKOaw`AA26~yu_x7nH+{tVhER$ip|t>a@)2Q+~3@pm8aQvy)NI@v#(P* zk6~wNz;$70gti|@ZRY5Z`$_-aI(to5lA2E%pltm^Z5@^`}5TSIx-Qrlrs(L>ZC4Za&u4wa$~F zin6vj@or7e;#k`8%&HdQtwSB^KboS`iHWa+TtXh?H7E_u*q#RqVq~>B*~|B4m4Nxy zzK!PGlNm7tX?ex(?S*~D7B+774#2rX173+!zDd0iy)AEk-V(1!?b$Wc#Z7tESsjx? zS#joRgBgq;i(XgeqLgFlxb@LI?2#3;pM4e&GG){ z(vwFzc25lM*_k~ds~xk1wbdp&ZSkJBReRs^)t(QX$SGL`MgJ6f{9v}*)4l0xUS%wq z@*&neT}IGHsS>OZrt|g&5a&~Yb4Pr z_tq~nc3ylWM=~_Ezgd%~xc$k#nvJllQWWprPV_ii>insL>l mH)Q)SEk>l`_dCaUdmU4OON%&k*;d`Za1S>x*VEr^jQcO$fxvtK literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_bitmap_amiga.iff b/autotests/read/iff/ps_testcard_bitmap_amiga.iff new file mode 100644 index 0000000000000000000000000000000000000000..c8d60da31a9026f03bc01283b93d9e8805a1da44 GIT binary patch literal 2634 zcmbtWe^3zIF6itnY zNk;i`;E72ma@?6;Z3jDwInZF@50aV2Hd8o(d(7h%F~5MB^RkR~&g1N5eY_jPD)qb*y`S~}p-{A1r6h5) z7e-Xu?7Xb@!{@B8aE5>4a^mCRY9>^}Ih~`2kNu)x)L>p_0P7UeAiB`|9l4gj0}#EN z(MtV+G_!fPbF`px_0f;Oix8v11sQuK>8(mbudDU-Jm3jNW%$GfZnQ^~inm>H*FY)3 zXsM&)n-R__iRP7+I0NztrVUu6tTM4mfNjMH$P_%aDSYSxtEDgj7Y80uv) zIZHHfUQrUtGW@WIV6(b*1k0ODnbiYIgyMmkAz_&@i&|6PZ|=J>DCbMiDxYP7QhPh- zTT-h!w<-|#Nrbh4S>^eXjg;Azgn#WvHh^_(g_xe#UBBmM(jL-#-TA-2PbZp(?eVO3im|c&FxOKLk@B2sgt+rj9*z$X=X`#iTY z-iUZHraxpel_<(5KJ4j8r+6P2;}N6t+cqeVC#J{FCN@!cJM2L3FjQe%t)j>^nMKAF zhNrzGpl49*VhczWi^um42n+~Dx+xY<=J*mtGYRaVa6xCMMRnY4paVT#{ zBAtZZ7D)T;WkMD=vF-E~cCqzTWmzmQLD5{I%pZ8{=Nr?JO8|4QfC=#d5^tyUfs|j5 zZc8!VoF#9AqTGLcMNDO>l?xb(UlZqOJm}C|9vZqxRRL19Azkio)@bYvIYT){))muL z9L{n$nh!SHFXd!k>beeHghyfb*LDYeup#Ht<%=CfvA(1&TYlC|A9UCo?Kwt&FZ4Xy z#DFLS;v9Bp9Jy&#RN~Up7s!%z5H_XpK0oMym-Gjy{FF7z`>@ zjh`CgH(=zuHcim!`46i(#(GfI`xNp|f;d;B3HlTJpLk4K555_snbl3{o_M6bRqLt) zG1;`Ss#{hxGm&f0#M%t-EnCg+Lc56mYszhR2v*O~Wt@92QJJj(|37uHJHCvH%7(P z8?^_%BC_2tThr7D&pcSQ9B&^SR1PTN5^I4UlBZ6RZF5zq-Z?WfuawL8`iOMGjbvnc zuzPS|zar1~e_TK|#$#ZDF8_MjCx3D?dP=!diJ>yQiwPBRS1pgaZ$_1H#(8lMtRiDM z=n>Lpy5(><`jK+4>nI%i=9NY02V^kON>ouIWN~`cQq#08uN}oj6`Bkr)X@d!2?qWO zg2{?Df~a-HM0JOCwCN0s;)n-=q0c4giP3VO(q6!@DQUG1_!9&Q$7s~&0#p#1uCMnA z4egL(eGHwZ9z;i@U(FB?&yzkz2xb?tGFkpCIiED~?VoFcZ>6O~5k>DHusdTxad+B| zsL=8#*^jIQ{;5uVa8(5vstC>!T35N+*81S6ou!bT&Q)n69`KQI7s9)b7%2pOg6cl$@fswGc<5MIFcb+4vMK(j#z@yLo}SMVhOq z|L8DrI))Oc1D%$IrEE(cA4T;vZ$wLB)dEKUXnI)+8Rh8+Wxw8g4tRKxfob>AVU$2@ zo2bH~tuU6fnk=NTzp~^!UJsP8Jqrk5PfM0@wq8&3Bnr3TL$YXg>j6s!4@s7nV8Ynn zW9mdYybWn7nm=SjkeQ`cl?fHwgsd~S?{IfBZ;RrWu>~CBI&4kvRdJ%ho7?5hk1d*@ zu-5rn&U4mnt;Oru08!Yjoy?=rPX$lhTrBW$^`u-lc|X!X^+^)d}X)TgCP*SF)?d3QCUwo<6(qjx|&JzrUwF+xFjV{|ypl BD{lY* literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_bitmap_amiga.png b/autotests/read/iff/ps_testcard_bitmap_amiga.png new file mode 100644 index 0000000000000000000000000000000000000000..b50e6b2919da44d1624fcfb2e02aa60708737e56 GIT binary patch literal 4070 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 literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_gray_amiga.iff b/autotests/read/iff/ps_testcard_gray_amiga.iff new file mode 100644 index 0000000000000000000000000000000000000000..6754aca152057267d79396ad6fd7aae2cd4ead27 GIT binary patch literal 19032 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 pbckaGIfMi3C^&Eq5ZkoFl81x+I=Tdk5E3ad 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 KN6Y`42LA&lj%djM literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_gray_amiga.png b/autotests/read/iff/ps_testcard_gray_amiga.png new file mode 100644 index 0000000000000000000000000000000000000000..e85c25b66b8688c6f15a44b0b36b5cb3fe538ad0 GIT binary patch literal 8370 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 literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_indexed_amiga.iff b/autotests/read/iff/ps_testcard_indexed_amiga.iff new file mode 100644 index 0000000000000000000000000000000000000000..8edbe690f8f9e8c5ad355a32510ae946ed64f1b1 GIT binary patch literal 15624 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 literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_indexed_amiga.png b/autotests/read/iff/ps_testcard_indexed_amiga.png new file mode 100644 index 0000000000000000000000000000000000000000..963018c950070f5ff58e57634a07a51a6497c104 GIT binary patch literal 6549 zcmd^DcUV)|wm(TA0g?a;2vS26ERYa7gc>j~0y2Pt(o2AV)CB2Bk%*2WGlC-OMYt+e zK!vEZ2}EFEgjjHtE@cKp9FP_S)OQXz&fNRqfA9VEeqVOZI{U1(_C9-+z4kfn=s>{= zNecl0fVH);assazP!m9a|Ch;bF5rbP$im(N0PchgT#cOv09Xl)Om?I@Q7mzOF|=a= z8nkc#h`W0GC;J0~j#8Nl9V|=RC|}8&8mj1lJWHCzcdkUsp<2(!b`}HSMBBjq`HylQ zJKh+uyl*La^QPm^>=V~D`Cq2vR$yaY=iIHgS&cp1>1)N9#Olv-I!z+Nd$1F%>F}Jv zohNa}9%YU;nh;m}{_LNWH*q7iL=UR0IwrY}wMR8toGN?!@z%@kw^ec?B(ta@&JK|W z-w%qO&l))qYQ>yiE?IcM_861r#C z^F@Y{JvZ<=9d(hzI*}waENfeMEVSu!(Hd%BWo_Mjgxk8{d6u%;ablUXwrd%?r7`=M zc*1Y5KV3S^l;mC>I{7SCZfMW?2Q$|zQ&UrUO9$9&_C5cUBqk*(`VQq{s;Q}|01RP^km*M| zkr0x5;G%0-Zywf*hxJ^7=@-6QmObwXBELYBpXCfNddi73rrqq{H_!TKhsMPK6b^=wg`x5A?UFFTAb#~je2OLr zDG?Y_28I@c3Gim;F#!MS5>F7|LjnkX0Ko>>NEnh2#>Wpsq2NLS2&@p_HZ;Ek7AY-^ zlHV?*E-I)jiPaTHYlves#L${JF?$(Ni=86IJFwa+JB})d*=x$t)ugLfp z_sWDF(Be?=_2hk3=6gy=YFG4CvUQZQbd^r+lJYU#U1Yc`7q5^&P)Jah4kRk39yT0z zF&K8z?{m=UvD5DKvH0X|@yW}4&C_hf%Z%q~#&b7a^e|m?H<>#^nsGIrax<(j#nomevhs6UJKILOJ4YwRX5Y{80D!%`yn3~$i`CE< zkjx55uA`>ZMV@L%&E@nCO!tjVzgt)W*zAQBoQ;e&=gh!DScEHdS|w zyaL!j#<}nFu7wm7M>Vz-b#~uNX4>>Tt$#Z+&SnGi^D{i&LU~D2`=gSH@fSIXmOmzu zZ{`N(Bv|C1JlIr|JwDVkZEe8@fc5qD4%jI@=cmMLsFYWE^4<9~cu~>KR+^MdvuB@!AsHi9{ExmE$Mp02w zVPWCbt5+{yzMPwzd;a|SGiT0ZWo0p$%*@Qp^z`(!v@~;bb2uChI=^Rd>l&E80EUx; zGZ+Z}uaUAeRSGVNV5H3vIsgbif*LGuudoc*iDKB=Tch3}#V~Se{vzG#;0{nlb8%z1 z+1nZUM}%qm21NK#HRHk}L0$kLnZ-r=`iD{(I6rC-E!;#&2}cVsQF7I_C)h`lslhax zglMXBf`f~HLa4uCfRdT15Gl?Gln$dZd~tDM$HM7GaVAO|N{v7o>c%VKHdq*;CQ8on zbOtpHN2W&mhSB`#IA>>CSmZIPTUaEHsA-@{P%;(5;c%qrfIuTBtNmXTf_ElL!3;*E z5gs2K8><0g!xTqJy)ZzNtzlYrk!D8T=#Ok_;-v5lz(_~WU^ zsA1G_1|5{s+EOkuID!#D503c8kY68vb6{}Q?d`vgz2$tv!nPdR%9eca8 z0S)`b3jZ+}HI5dzF-eePOG!Gz`Z&1aTgm>luymLBNGjfmN{@(%_NQ7O2UkvctHq`> zoTz_0!+%U;YgHiomWmj(z;Eb*o_ur7p?BT-O}?(eR?`Me8l?Y*@A^ybVMNS7}fMY>NOI6OP;^|n*aE#{+Am2hyYq(yp=D5YDy#!bu|cj8d`=fT0|qFp^>)X z(M|b(Fntjx;i1s`M<_yZzS#-JIhaK7U$Y2!^EC-k!@=Ye3uYNBqmZ*;dQyWjmvclQ zBi1*Xx{JzjHf%-)K0ICkrkLpMC(u7wE$2{4hrA{2PY7>cLG4hj$m4;9;=Lpg6be`)3fS8A_mfC__N=XeTR60b zFV4+PPL7X{fZ%eQLDbimmR`M@mj~{`S?TEvMtHcduY-fWzN+e{Pai+7t*wCAl%1KG zn(FWG?d5ViJ0Cr&tE;LiF3!$QObiAQ6y)x1Yinbpqf=H!CMzhg+3oFI?%?2?H?y;1 zVmO?vEFLc@85DHrkco+ih>VPw7>|d+tgZ?QB9Z+3Y&H_f$H&i)LJ0^638B$gtg!I* z?V_TRlHwpBc^R3VJ9q3*QBhFP)KpVbQj(LKp5D9nzyS({Og1+sk@WR-baZuh?J_k5 zcMLp%psr3N9zN{i;^gGuU}xv!?7EcXtmDclRSlTwUGVTwNUFs5@(KzX8#_CblY4sJzGbuL=Xt#H^7i(LiJY7tf4q4!CnrC@scC$C zdYa9Ksw&7HP(=mRQ&2Sp)lyI;1=Ued6$RB$Pz43mPf+y))lN|51l3JY)dbZ{P{jn* zOOSU#_Fr0Jv;F;<%;@Ng7fnrJFa!dPMj+sD>_33{0yJ7^1A>AAAW$1Xg5c-p` z{|k_cO;I!mNEDJpp&*$}DM(I8h>s5rPf7XVhilhZtY^=LhQJyQ1RM^7ZEA+@V6fR) z09aar<_%%94-Q8lAU{ANQ7A||7K=t>Fle-xn5d|T2o}3zhnSe0oRpM=#P;n|Q!+AI zT6p}veS7w(si~+afsm5gy?fU#1rXBGii(DY1_qE{Xlq-5FgG{b0C;pVH8CNPj5naC zM<8fw?%iu(0QpQ@Tw-EQPFq`N=h)cX9Ay8ZqK1ZK5Gg6APUYqf42+E}EU?)tD+L8L zHC*oN*VnF%T_CElg6jM?tlsk7)!9yYfAtU4DBq=E>y6OLr?;kzt>U!vqv$KnfgM*C? zg|dIYxw)~ifq}NRj*gbrzJ0rQtE$S&OGpR{dwcu%c!AiA8xIdCW}KWH9ifQ&?mH_h zOG^_IJv~iLb#*lm%F42`GBV=gW@ggT7))MXVPRDjhtuCbK8`{`Hr&2lP*7c6QBg_? ziA19X1m@@Y`FT9ZV-SeV_=jwc#ctasAt5a-FR!kytgNf60YX#L-rmB(*jQWp=uvxn zI^EkFiq`r0urLm%zP_req~yw#?Ch+pQ>T1*?w2`~(8Z zWPj(t88DZDrPaNR90DyLCbDjsleh5*^B97o}F56mJxWrw3HxSDZx0V7T!&N2Q(k1Tj z(o0KyX8HYQOS77I>1VKsoZ$vH|BQS|>~g73N&K$jXvJt-I}37_E#dcc)8m0b$Ad~{ z{v7OnJfx5`8+GM}D@}zXk5lxuW1r&#DQ4oYgXRqv&`%ehh{3C;Nc;3BGFxJIFN}`v zQ)|s$IrW>{Qfv0jUO`Wdm`*pz&mxaH&SJtAWE$WO9xl&&|J|2!3~i=0vou|gNVOZl{ID}`*e08 zN4;$uWwc`3+_o~QjE@a08{1SD`p&l6;)llK$4_rFX?|Near&rrwQlZaa zbxHZ`$d##F4hSG;4%CUu6yI;_C=Ahgd^%A5{@M*aPHn`$rA*IyG}an-j8h$>H2HT2_YUHlO@6(>D%tDrpwXgQohvSzG~PsxXZ$ zTBxCiOHbkGTarg4Z(-gmxFLk-2MF6o#+Ei+gl-`YXWP|x- zea0$w=^?>wdHn)mU*~CG7|opS@to+-d`0)NTrLXhe5QjUcx5ni`UD+4IG{wspTt3W7US-|}D9yXWkDle5V z&t_jUSl#MJGv+Xfz?e)+Ys5P~K*~;I3~JKWuT?t`;{nxu>)t0X@Wtas8tBy5 zjowoFIkQ)S*L?=fvlX5gbUi4_CKxD$PO=Ub=NUamjyyQ(qR_k3YN;hLS%>R4Uo*t^ zHNM@nV3dKZCi*oE9Ut-Gm@E$lSD(}GOT5?3>+}0H`M%NXlea}=A5QC`6dL+jltRYf z_y6uVYl7`n@tRvmojl^88uQ1Mv%bGP(Y@|FG+OCv=HnJWar#x{{FD|#1>5{#S3&GO zW}0z7(-Vo6H}!LEt=a7_#gFwrcu9L@a;Rq&p(Zj=-PVcFnK{VH^q0Z~UH?ttYK#=i z3^Ua7M&wCNGdGfS1!aq<6CSUmL}56;Ss`y}_{a;-FWGi}ay+>6_2VngcT^07!PXF6 z9K|Zwu;eSkv{XEzPE)O1gzV$~3i-LI^AA{E<||yeNb`GyTM2c3Zp#0>*~iECxI>@W z8F3CecoaR}Le7k&hbX)$Z$-@EJYU$hi>PXi0L+qXhUYD%-$!+GP-zy$8V?G`Ulj(uU*$MInLC3Q$sLWpuc3k& zUjMwuusLDRQuA6I{A&W$ox8vNNqQ6;5q+wtPWw$|4BN&Zsh4#m7m=hLK8 z?FaGdn#VgXyfz$hjJ)B%d3#;^q>Pa8%iy>H84ADj83xPRik!BVe6)?ZeB&hSM77&( zSW>k?eM?A8v-j=afM#zEJ<+8W{S?Qbx#^4(+2c*7d8bawnQ>VPt*e2hFz<(V=Sz0x z;igD)A$6fPF5QP{r3GlgpO{vDw~RQI-m>Ynidv{ya_4V3<(7Q$WcX}HXHQPmoi%bh zvJt;~FXGju+`N{)!n{oIPol;A1?r{fVYODQx)kEW-DacR2DjcXyS({maIQ#=Sa&q; zapZ{Kz53)IKHNDWW~%qndZgoMiNC_$RmJ|4;ana{8sp&Ny(IJ``brD6V12kQ&s1j zs=D3RF>7VLhpe{m{r2AH>~pGWf2a1T+CAs8D<(V6JvUr%;iWC}X0^_C9A^xED*PiH zf#3B1q5K>FqyOeeo2m0=U3&QyEwg4i&Y53l!E|SOC9FBMuoFM@yXFK9e)qzP^B8`d zFesZpHGKEWgB}dud3ufO;fq_&Q*+CM9yqXdS()3&Q!9jrzh6~-Wb0JR#h>kdFm@zc z$t@RxH`kIsk;7Sf#c;{*Z;N^(#k7)NE>y#=s1d2NB&>CGUQi2HUhK`Rq67NomBszr zT{NMCZdn`($O#=3|NIN;GJ$Frh+lU31{7Q%-nxJ~OSGyNh)cJ-7FfAJeEIuc3|8pi zc65eo;FvrLwT@y~e(*aLG^K-u@CS#;2^|yR-Q+|91s$TBr!Rs0jzZ829lYDoAI(p-Ed13q)*ToA*B^fW&YN$%`tplApMQ4CQ;+}nk%#WP z`;Koft(6zv_;+8v{;Df4ox^hqn}ayw6VA|0Ufh$M2ObmVfsO87-Ho0W-gpDggLDr@`w}Cb zh<$x~(NjEmG^Tj+VxvbjBRS*R?AeB^R~K znLTU9XV07ZnNNRe(ix|H{FJdDJNYk9sN&*v-m9o#i10f1+K*~Bt#fA2oc`H!r%qv; z38##M&53OD!^mb_c>T41bG6mYwDZX1lhh5Fpc_$MQ;jDJ7D*=;q7!zEJDC`FBFcS{ z1^YGZnybI`S6{r6$KtjequIz_PU2pE9oZl(T{rw%vXSGzkZfks1jxa_voRl$o~?>( zMulq1>~20Y8H1TfCOm%U9zPk&b=p|eB%gcE6f!t%!YO0NoP5%WQGjtBH?05TfGtFL zIBFeZ7@)~78aMe~<0f9CCUm{atA3zE`BPim!lAx0trF@#-ZaTb)H{wrgVH1Ggp4IX zP=5dGg!!HASSK9xKF3D|-;#BL1}5tS4UEC--Y{(0w2J$uUJPk+iibI_zSCZ6{3Q{8dHKK4<> z;p0bt_(Okjv|3(ZslaBV!kIJJ>fFfc7-=VcG3M*@ytnQobFC=PI1RMW89O6pg%Yn zThfYwEsNx(JMAOU;HbYdPM`4cQ`yUtV0Emr0{hdFfvrS{?us-e?m10oPXQ~tXC5=@ z6Q^TN#*bq^Pl%@kcC>1+M<*wRdZU>fr{*Lc9js{Cz*g~0%K1Ml>5Hu3BhMrqz0R;Y z${p#Bs1EmrxkD?>?hr9}h&$LF2k;7Jz#i{6JGxaZDpq)1@$RhZ0eofT&Z43oZBUflJo zXMaw;JoLcbWa546o7Bq}=29UQc)IHePQl}Y|#haRu+Hc)ClEM zVDZ%BkMT&lyVxxn$=nO!mRuIZ7L--OK+wm}pL*i4M;^NWp4G6Rv11_ciY;hu5P7AN zSG#xq>e(&-_Bh5t7IL;|=$DaKygrBwqQuoMf%mz>YLofWf#th;!7jT1a5tx zchw@K1VMu)v`lEwgq8^nnNS4!^RmD)0T)HiLO_kJQRxS`OekT-w4WM2`z357yiFSk z_~Mo*Sm`SCnbh18Z6qwkO=lf7Y$V)Ug*;!US}Ja)jfA>NZmHn!UrYYf(?f#b@NH3V z***HDLIoQMMnec&9i6kWOt{3u#Tk_7n^zL|ZFixjgKkM2^vMYw6n8yCT_#X%w%Fd~ z8&EJ?9GFd=CR)|mV(xa=0xPq{m+$prkS}A()x$A)6lf!%^x&Ebn$p2Sxb`49p<}d6 zFd(^+U_fdk!NzDK!NB5;gc#+Ggq^&Rpk@sl2`lABLP;$OO4vx)!5axNf{la&yloI8 z@kT<7L>mb);QWU74b*qPB-{rRfDT@~OejSg2_@P{IQ;hheSLdg*!kR6#O_CXkg8vG z+tONT;Z0vh0)5`xIXtIT98(-|IyE>D)QbwY*rrJ+OiF>h4pJC%((|lDl zBDa+`6tp45Haj94M9}MzQcw1qPS~avKs|Hv_V7zM3uxQl~LqVG;%hf;(`E7--^`@~G+AOTv zhHZs5x>B$*VQZ`!+MMm4a*k%rYZLB5kCoz8LmRdg3vl>p$OHgna$x=!fLaHqNFJLkGnohj~Q2YGEV=?r(G04I$f#8L8icXUCe z`{mk!Ek!uX%{DE7W8ASt3d-*B#nI7Dfm}iuy}IX$sj5?Vk~^_T3>|Mx1<-dtx$4YGGj*rsh{pQWN)Sn9}kh-(Po96LYvZzjSar!(db} zqB_iP7K58BgDHKl78A;mV3Zg!syf0S79?U?HYl+_suQwGb1>MWWInGBVi7ETNd4w2 zH!MoD4v3|l=(gJID-qFs+-0EkCrLfF;x+>q$~Kw3V_|KC7&gK~hvZIleGmNRKK5Xs zCPdS!^MRTWO*d#lG~JL1lkT6D1!x+lS`HB_PaBmUq3I8prlUQ8*O;bh4fK zBASjN>;Y_)L>oic1L*xt8lyb`BIH;PN&0tr4NpmoE+>bB6m1a8iu+d}Ck-+n4LVMg2>kB@KI3b!`@pGbSbjRLq=oNH@vKa<1%>U6nIq8qzI)+$G(NHnFQ}O5NE<$CIN^sk-eqdlYmm z#O1O_zV}tfLiQMK4p55afP6%elLWo%?!$A9NU^jdLH<9knRj{X?3k*#gE*5zPc?Ef zqW8fE3=_FIP;!XAEt3~^{>n1>d+OzjbEy}}>M0AE`bqpEi>tmk_ae3+rnf988zVOd zXe3?nNakKdss7TAd<#lRX%_H`E$C)H>Lbp>MB}h#i@f5sLS&HSV3NcQJ0%Bx`9;WJ z)j~>150u#tgQmH4Ty_JxHx?nS9~v~F^+SUuw0>yFgx3#$Ru*+O2ja2itRK`k(o$!- zeDC12W@m=uI3;JguiiI^-aQB!{Jt@CoGNyRz4D-C55I6Y$y#Cbi+QKh3m+Lo$ zwzs7<{Fy5+#sto+t?vx!GxqCmeydU@ASk;G(F}>7t#d69o67#17KY94J)f@`w&=EF zSztkhnRB1uS;F^m&!`k{9j*&le&BZjUcS7ZmQAUiM>{#_|>4=E3D&VSFdS};Zkh3CEU$j~{Co>Lq(V))SJ!Gm0k zkPi2V&RvIJ&hW?(5S)xY1H85Mh!MMYVdIA;E8yXtH6CY`_ee>(l`p?HK^ro zefbi^-3GbL=Ds7`MjY|El?TCX3u_C&ZTK8<8vu%;1SQ;NfQs7;jJVCO84zgX-iHGV zDlDw*@-56=D86-|8iQ*NB1SD>Zu{IC_z-g&{9?Z)D7j6?6u0RRpH(Ix!j}URDTM#< zly5@CaKZAW)dT~#Ef8C7tgu@VlX(lALlx*~+_u2k>{*Cd^)1(cstcSqO~hXy9ye3~ z{Kx=;1FcLn~KGP-h?E$L7_7WZMZ`RrM-X#7!Hl#5$VAr zWH+uc4oPwK9F-ggjiO(u2oE08iPIT+MYkXX8f$U{{v{)e$;~Sk3dKTI6by01Y+kWi z@X|6SHLqAfUyh^CIP93uNal%()}bOY7XnNn8z$Z;7OOh{VVshs1D}<&qf8>XI1AkC2#tbNAo4L3@4WVUXDJ zT02M#pCb|jz$6AJAu$6~BxYblVt3RG2$b{4EOe{u5d_Y9uk8 zDVH3E7KV|6q&lsE_#W-}<3^(kv_N-IrUDoYJgEkOE}GrJj^<^2lZF?gXc+9oU{e7% zX}A&n?Aen)Iq{T_{^fBWI%;_HVCFHL&?C<$c>I`?0FNM8-Gb4ZjPfRpHBK8pCN_*T zA}SjhwLF?y*1Cp*yh%eJlO~>`S}+ylO&Yf_o_src#86E^ahvLa8!((y^d<+v9UN`T z2h49cWgFqQ_J;Yb9ihIVn=~?Lh~LPdA$}u+hWL#P8saxH$l*7feYyMwv%367@(+sN zN{HU2K}*+h0uo>78RWqDK{S<5{|>@F+HaA7tgnSoTq;(!?Wxxib%6xr!EXJrV%cll zn{)$@D7$-pgsqW0r=$RnJ3q5oJ~N#-Z#5N^C;@4-L_{%bJajePi{p1F~TVS z=BsY@OrA7h{K+SdK4w&u|KqVbZ~G-g{qv_F{iwvvl37?RR@SO@<)!^8xnfUgUs|i= z+1=wn?Wo8O5(V7>C~Q*-*&gDI|E_1Zpt}Ht=e*L8(7}7lU_KYmvVa_243f^9&TvqK z7lt+C@fM~w_8sT)VqC*+q7hrlYpJ##=h_a^XyP{Tn(c^TZgXL-xfyo!JPE}szjTD;6!ZSKNp6moiNxoKC;%tSJ%Wg_Qr(lKH=_(d$IK*@4C zrdUpg_^dGj5$-`IGHEF&sZ68}Arsj}naBu}naG>8Oe9W6WFikD6A7ndnv56CqJvfN+)P$`8uG2a})d)*NvKESiC?P8YRAgmfL{_V6 z282l8^LSuEg|3x*d<*lska3JLE#vqaXB;E0f?J4fz5*pz>6qdw9SZ2AG650pMaD5{ ziMWb0jyi;l<4VdnMwrYvc4!$#H0-s5tDvKCmCQIAh*(1zM-5ULM-7n~M-zC=utApb zHQ7d#aU4vAl=y~(=tO9@EbWS|@D@W+YDh|pBX@hmSCn)l4RDs#1k)8r0Bwk4k8zI{ zq*G|tdl7VR1{E~IDw5X>M-sw1z5r+4ql=?PaB4BRH))rgH3VI$o1g+zJeeZogC|J~ z2VT8@;*N?qHW`p4E!>Dsn>zW-iKmV^>G)%1ijH#Elzt=_>Bk6GH%9cvle|aE)re?p zWYqF#)pFDX6qwDZg-LqXngWxWY(Y6OOdFtLx3~w}NkwzgMQv>5Zv^5i#s zXV#9mKj8EucL9Tj$c}nwi0sHbLy`{>@$V`OaOGDez(0ew7=ak`_Y=&x}m~uQ^U0!vI z(HB9#PD6cZXpIeFkLQO=tj2)7XJT@;qJiOxKuNrt*$Q!T6RLV|3LHlFWulwXC^la< zEKaomv@Z)qZN$!$GPX|-Wuc`J3(Y!~wR zkR}aQ(V+NFCtR>#IP_K;#hCE4qpiERELMFRQ>ir(;30J=?($-HX<~6O_|ewH143^p z7hWkFwv72tTiDXFSYbiSumg*F+tGNawPkn`h01c97&epFqJDP*(z&V6acH(N3e5(lLbHugXtpp8%?2hzvkf6M$I#8R z&Td%_pKexb>{|j&$N_qbjfj>lzNJ)X`R0{X3v*kXH*CynaW+>hJ+DRF&;|j=RGJ)w z>K5nc9=klp`#cR^4LsMbM5k)R%_V*btJ*>z7!K0ejcP{2 z2H8k=(m?lRq8rmFlEA%-Q!N1P%R*7hsWYXFC-e?xp_B$OlsOH8`V!JpPJ^KA#5y{m z0!(xQ1KF8I(b!Jp6)oLbN#HMHrC>O8AdO;7cB z20vk!cuVLlrNUl%urL~d!YB=5U`tE%2gM9%8FpzO2zhMfs2Dr#cb;aZF8qX|go zraqI)N|jzpgY?q8=}&07$b2pM^x*jG)QKXoxQ3^OS-pCRMb!v zTeF1NyO1?rO(CD$y()b3(V!zjWpPnD_BMGwNF=K^ZZTZkUkzGnVqgVrsd~u(s^ivh ztdIs#zGitPkA;As-lZ4D0URjXGH>ser57D)9>4X3%R3Z9tE zK&i;8p(|%HnJEhJC>6sxxM$x;BuL>s1KVh06xv29P!*b$nVpoAt4qp4VfKKb2+J{fuC1TwOUp7f5UG$;k#lm^j&TDJ<#kxi{T3d{)- zhh^zZG$V9=S30OTWCz6@GtBWCtGn7kf2S%}jGEC0bA`1IRkAXx;m(enuuM*McH{E0=wNe@+200DV>TL1YElz`!(9GLtj-#%eJ_P30!j4uO zp)?30bEFfrimw_#tyP8UNTb#oh3W)}Lp4Eku0``hXFSp%rCy{#vV(Oir9pNg4U!|4 zX^$v1e9f1kXk32=<7n{tiL72W_e06>C$B(m$@@oq7?~()xj=h3qiD@2aZ- ze#6a_R9eKs zEAvE7ua{|rT=?4+OM-_|Tf~oBD>!w`Ls1M{{`c3a(AI~H&v@Qo?!$ftF2Wr_2259k z-H3XvKZT-vDF~52HU3@bee88V zS1PtXALIzBCc?kga)hdgLXH%d#TF`zmnn`aHL&o$kd*LOLp8rqC}Dd%2ss!L6&sWz zLnzq#({g6bDJ+*z|8U*@e(E2hmSR`^T8d9l z#Rz@?1;Hbf51}~u5uQqk)Z+)PA(YDxL0x_b`r!wX=kY^e@B=h0ejvo;2SQAKAjISc zLQH-j#N>y-Rm zY_mX+f(1%GNQ0mP3uG2ZVJPfmV-))>jKaQx5b*=&ySlsh{szbTcmRGNp5#+0aUal6 zEvOneZ@Cs$3B>)&(x9`=vlP9+Ib4Y`MDW1bUgcvO^;ryq@7z^|iZ+%)xa1k%ghcqC zfr%hm>wpT>Iuyld6I0N_tqn6)}3sp;X9gUaiCWr`a_r=AIY%p4ylQn`g zms8Rm2eOaDwB~kPkx5sK>o)0NQr<~N@i&K}I#4DY6^znRyym3}OG%X91$&mOPbE_s zm#ET*S5T#_bWFZ}mYSMCLz2o_iD4AFaXIOrirpHD;LYb_M(}PE|MPd%Hd#+BEiSZu z<9R<WkI11h@MDWJ%Bf-0o;7#c=s_x*s+3RkW(_4j^ z!JDM5^`&S#FYm(Ekmm(&B&nB{x;Em1SDFR9KxH8myiJ`wDFknVSvnNFO)CoC8iGw} zsy0FpG90bEt~SJYoeqm=6Qb%U7PQuaD(dZZT@4t&9cW=(^+m_x7ZC|0uQ)Zq&!W^E zT<|A?ZrOXnKWE5^|LR&h648jQ3H%CQ)LLi4e*4nVZABv1E2EI z^A>z+kw!_SU7(M(JtKso1^$e*%WFuxE6w-^~k0I@nDO7Kg=SXo?Anj5@ zMkT`-TM=A9jD?(b!9}C{jhDBPcF_jHZ*%J!hy+`o?x&g=9(AeoTNthX8f!RCoOUtX zq4^bB)i+MN#4|2uUk*TNp@Ljj{R(motnH~Is;5wo9=OO#EA^?a_2_}*dGz2L z^Z-qZ9thcNgmpspq!5!HNXMiHLQHz_O?vQal$KAp0AiaS2(svbAd4P+L}7jpTyG4R zO%J4J(*yo$w|Y-q(F3N(-^ghfI*9Z~y+I5DX%`a&Cs?4QgER;xus|k(6ow);Hb$Y} z!YJx12m#;cv`g$6zVG8uA0xgmp5#+0aUamr7F6|7sMW$MzPN8`8bsQ~QuKVJU1AIY z+(+7lk8RXvG4$8mRfUQ+7EZgE5T#vAgbsjar2@4MMKRjMRCrE6L}vC#k5Dr9;xCco z?~YS9nUT2zS(jX?xUVP35mIDcT+0!v$ebgMB6FrVip(rTWXA6!k-5=@JH7nxyZK9V zE)S9$nfsBV?Rt@!`p%2YlyynMAvCSXOvq*<4imB`g_x0FZI>#~uvE)<)g5G~rfOjIq{bu?M5Tc}#7 z>u9`4H$enwtQ#Byj27oQ7%j{R)3PqHi=1`g1$knH1dFUngFHyA7}u`R!KB2Ejw0(4 z)xt4h&bnBgCB=25E@xe~as{4bcyXB?ear<_&PT^o(H|Y6gTsp}HJGG&P@)w@ZbK2L zfm~T@XqyjZt{49QYZ1@g49s20@$8-I0LPb(aZT-9+u!k;K|dP*?^?*YbB@K#m2u8{oni9t F{{rH=93=n% literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_rgb16_maya.png b/autotests/read/iff/ps_testcard_rgb16_maya.png new file mode 100644 index 0000000000000000000000000000000000000000..1f83decd514a61fb9847fbcaeb25790afc7f66e1 GIT binary patch literal 10888 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 T^}@0J;Mksc?6~lYJvRP-_l@S4 literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_rgb_amiga.png b/autotests/read/iff/ps_testcard_rgb_amiga.png new file mode 100644 index 0000000000000000000000000000000000000000..8d2bd1c46fcdd980c4d375191871b097afd5e672 GIT binary patch literal 6374 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 F{|}KmBdY)a literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_rgba16_maya.png b/autotests/read/iff/ps_testcard_rgba16_maya.png new file mode 100644 index 0000000000000000000000000000000000000000..95ca29bea7b688d32aa4389ac6b5d6041f27531b GIT binary patch literal 13387 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 literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_rgba_maya.iff b/autotests/read/iff/ps_testcard_rgba_maya.iff new file mode 100644 index 0000000000000000000000000000000000000000..ff88265abe764f3d0245002665e59afd32c73ce7 GIT binary patch literal 20008 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 XBl%K#--n%vS`Eyh)qr1m`u~3cF(;Vn literal 0 HcmV?d00001 diff --git a/autotests/read/iff/ps_testcard_rgba_maya.png b/autotests/read/iff/ps_testcard_rgba_maya.png new file mode 100644 index 0000000000000000000000000000000000000000..1da076034ee04181a763babf4ded58d353b78802 GIT binary patch literal 9982 zcmbVy2RK~ay8kE%LZSyzM~hwuGowWp(OZa+j4>E()M!B@2!arugdhkZdMA4CC3^26 zdhd7pzVCeZod0vqz4!Th%-C!1-+KFc-*>GoNK;+u_N{xjKp@cVhsyHWz~495AN-pj z5Y|{i+%_;Euva#80)Yt0uRmCzgpbr9&`m+Ku7R_GnkpQLvE@UUVN6kcZnpLS8U&J% zcC$wytx?WQrYH-voh0*CRV_0U+Dwx9v51<0n!Oy#60Pjvh|=*;*F}0*BVlID(o#$k zZg7BrEy@|eBUyenA)v#xEemFC@eZAb6eJ?VJ&Aymn43|DYg`azZ+y?VZsW zJEm)j2vdxUvm`Sh>YqB;+W$?~&gm~Z0T$zTL)h~R@(En)^as!k`8Uqq#nI*u=4MEK zlnu%jW#{Y!UuSXa>BScB2fx205MsvwXuiGIie8G7)M&vT1OgWj z{1+$?GiC^9#QzF5L&D85jy7{XTi+$w;ADb7#oZuz!;ED_zx-6)Zh>8 zoSYGMNYq1lNoGK2J~Y}44lxrIMT!Ut@d}~LAiSc&5G1cD42IxEArLTAQ8Pgi6bki^ z`SKW~%e7~(=l>byW*8(uFH8^u;YA3dP`oHHGcl+r3@QRc znEivAh9eqSXb78srg|-v89-4Cf)aw5i@Sr0c#Pc(l;b~%Z;x<9067Nb=p@N(?ufBv zLfG5eppl4cUHMC^yQk$v2^!I(3ojrZG?v}s=Ijm z4B3BM8?GtajKXbq&0QRZxvUL+*Qx5s?_~(r{;zkQ3)ef%gp z;-_w>Rk$WEmZ6CWpU=@MKH4NPcE6P1xzvj!$q25~!;N=(LG-ftw+IP2`T4)(SAX1H zbIk7imQtCpW_7WnW;64H{y|x}H}SmL9c8 z2=>-8G5N7J-F+|7bFlzDnDNE+u^wgE6was1V3OA_IhU;T^m4K9i(du!Sl%DKdlII> z(t2#YDE`7)fAns9yEhK=Fk&B#i{q`sH>A||@sUy@kh ziD?O9qCoG%ZiH`o_caBQvbddXl-24|EXfM@I(Z}XS^fHI-7g-yQL5qDW;(ODFfcfNeg5dX0-@eX zyRXj|5e=0a>Cp;do})qGpmfY7cmy)K?~52x6`DaOUUBx2a-Tj(xe*YylL)i?pH2g?Ltlfx^CvF3ODKP z^F)MeT0&Fg-WH+<*#mCV#`NdiKz>Xae1?^?)XEn0RfM~3e}qsLzlM#B6l7mGh&fij z3FX3}iwu3qMhoRxhvocqGO%9cHta1Es&kG*~^^2{*<|SV-_erFn8% z6a}U7L16jh16SNioW2aT#A6XcFAeE<^VCOC2t2=u-RCA}GR%%phe5SpKa~)AB)a2^ zIb$j3S7KHS7S6*n0w+>**ZNC6xc9kR44*LW7SuTPi9uQJl45K`1@(SJU2R zhC!b>Ze?d{d$za?4c+)C#7}D)$noTBhfA#kAc>Iww`CQU;cfcrtvgq^Sm85YQ z9%Rhx>5#Di!^{VoPYhW%B8|VX>FPyWlv-mLR&v%Yg+ zlGWeWGiE^d%Uf9?-{eQvC$5%O#weA)yemMqz7~Ajj>qMB_`4lgGss)!))^cAV$*Jo zU<2>bcds(!lg`kI{(;Nv5Ab&!O;S@{uJ)xUbLKu%8+1FGa?PCyr4>u%2tF{<*Kf&3 zH0I188UxtaWK~WcDZNMYd5a#kA#f`0O4nV!1mi9(EhR0@cy39q6SgmkX;~A3H?3bJ zg=>HBiPbK&9^o_b+$f2|PAO{9k_*S6Uge>1lu#^65T_f%b)>mTNL(lvZC3wlB5F94 zS9TXPrvL)UViYfGTQhl5rKcS$j#vA@mGa8a*6Q^RDtsj?OCtLFBQPWq#=oW9k;id33j%KYWoP5PVo2>4 zV(|Q3Fe;njw&t(}r?@ekYxI_EWtshDZpViBH?b*aa_ixoAfsWvciI%`gxj_Qv|qp) z`K83FYqBCdL=Ci;^}`F_TULw;qT#y1~QZ2yZN-i>UzBog#(CaOrNR3MLBd7Iz0EtJG0G^ z_=1&XzCa-$Bf5!|kV6WZc3+_fVAyqS5iD8R*=vFYzj^m^^{)$Zq3+tA9l;Jewts#*8`*4NipH(B9?g^^MJ zeN!WaTkq5MOI=Xh^ntb_rOfHUdTX2@k|UP~d(=?S$vBz%wXJd+X@HdK)=4b~R{p&? z-MW=zpF4HEm}A}t82*%W`lQ<_*=tx;+I_`K?~0U72j{yF2y+((I+)SU+k$~;eB|K} z@-Vcvi{7RC9fL`wYgm8)p=z?!r^2!XRi~7P{ojqnne<8fr%BEpP(>!Gc*$hjt92d5 z;~l!oYxI?9T`z?y*b=z671Ke_A^B+^WeW6bbQ) zT2{}*Nqc`RmlU-dR%~_5Afw{`w&FBuc2b7%IDK!B!{qm5!D9-4`^+6&c|S#(6qx{Y zIO!U`4(9x4yMW7+z$Xnu9pRTs;ZJBX!bn`SdoirCHAFi6jSvzr6AL8OAylnonpo6! zoI(!y3rD@(;KvRcC^o(fk{)qm4Ih;xZuS*faB=AvoFPsNE;ET0$wJhaE|P~jZ%ufI z4@J}Y+xjTqN+IO-SN5D}<2QM^qp$}!qKC)Al;ai=jgb5Z@u6?kcMmKzLX!S_LGt$k zEf4&d59EvC4Nq`VlmwRh24 z=7h-Bu%%G3X@N-L`ifzaS6hnqCh3ji{3W72o%E!@0Tq)GvoE6K)7`33yVg#+Fcn4d$LdDyc6jm5<02 zQfgYj7S|sC^+XdsIk3cNv`f*;Z*2EThk|V>puHH}rRGCEb*og{XE)j0ab-wJl$~O3 zBH}P+2B?IND$O^QOq?Ko^cq(y2M!x#AHdv+b=lb}I+S$Ixq)(T@30lCs^cxRgr;R@ z2V;Jm+ziZ4J}V4Wer>ZEFj4S+NR>{z-uvaaTgL0BXc`m0lGDHoa@ml(venoxvE)N) z`Ta=p@WG1rD`V&&*o$E-^D~-(gs*nAJD5L9_tAXCDkT69V?9cbdYcfHK_@2r_&Jq* zjM48cml-I^%D3|s3oKReesU9a>Z6>-Izy6g35)(vRFBY_;5uET?dzfzg6wR4teE+a zWAA2MXS{d}3;nWmGF!U#KcqkY{UF}!}|bGDV(n?UggGeYYF z>4cz1v3%Wr8RY`Bvl)qYg%&d@+1a{!B}U_vnQ4xXwNHn`sOjtOzWOjA=GvB_35GbQ zuTC!`#XRA&D~Y|VwyjIC&w7BY4WsVwez`y+*doW(VY<+D6SNAXws%^@qktr?)9#tk zq7=<9kH~-AOR-GJ#(sn~UN(3(kdTm|yV?bd;W2E8ryn0Liiy#`d-8$)v_HlZKW<&r z%Y{Wp4b~P``jI{$V{-qxk6cY%-xikdxnWRh6QAyNlUHZW?2u-v%5`P7{>^9MmZ$Sv zi|gBId~FKGJx-7Zk6P>B;L-mo*1b{xOWI~;2P4Fu1Jl&(>w&8ek?cslrADA0nfZuK zLIA!y?~s zKJevXMQXtqLKFl&3y2GI=ucHplh@vxT~5S=wF`@w<=I%7CJ=Hz{$3o`z0!jhuI-(X z%~fRHJ>Rdyc%Wxk8r=eRYIdmQGaE0%Xdsa++8w?5oSs<6cCU2kYcCJ-=zp0Xx%AT+ zRF9%Xqwyw*?RT1~#PB3}v5r;bL!HQl(h0kw zuw2E_A`6WolEJ4O931&!8l7RJvqim9MPYm03QE~_6;n(ZMOSoq- zGEdP(6CUiD42_QdxG}=E6N<5MnX{27yce!dD^suwc41`&fr;cDot^X<;_>I$hFP6c zdHx#E5&siW_44^(?i|V`bSJ@MW0zmO8E6KPSEi24Xb{)i-VC| zBsjgAG47~?J8!$0>Y2g)4+jM48k;PZ)Se=3__yW1-tT%yv;2if>%E<-e&&rVwk`si zRP}@wGnpwjqM97k14W=@u)k8&RHT;Jhim&zuz96QVe!BgaNO%6U!`H4KQIWxx)GBb zTO4E`T3k#6dRRo#uzkvHyVUi?{^R+*PDgFJi{&u`G6r(97vTzj-bo)KbY zYf)6yL8_vnLWfpj=}Hjc_RnV3C!)oAfi@aqQf0Pz&#Is+Jz{dlxk?axfHNn=-z93| zb)csNXMBL~py%#>Vv!X%!cO$`b;b>sJ?Y#CVpNNL1h(I2<_SxFVcgP(a$3Y^1^x5*sxzNG49|Hx)9oO7y#nUIaU2 z*KMe}&yHht9)Dj$ZMp5J(0I{K%2hRa)^kq*%GlH&KbB*goZm=1CT9dgO$|kWVSzxolA;p%`n|avC49$ve4u6d;bJqB`o0RB zm_>>%y{!y(VbLy&aBr4)i$k`hC{UWS&U9kNITm2!1d&a>p*we5dj6u;pr}chQUQi$ zr_(T(?oW5kD-N;^`f9=$%53GMzP(D_jafSGsUfO7I-8re*{^+ON1th`__VZC-eEhY zN~5i`p2KX$vUuP3=cMBVWsaK{A&7EMk@Hw@^7U8V5(3v`lHQ`CXN#$%ll>M73qSo{ z_j|J@-LRc3k=rr-Svi}tDcu%WzWh4*<}20@Y(-!zVsBg5i=XrTHJ+|Y@c7#$j8n_M z>Lvw|El^zk_(Ot<2O&b4QX0x@?9+K7HKz(A#2ujV()9-dn!TROcpr8^o!c zn5k>yh6ZZf`b2hCR=djs?3wcO-A=6uHgNRW6lNu@Bsy3iOcU8?A?VCu7 z&7#F>3+DEXI_HQ}o`4Ps)EC(#0NX+3v%?LT_fyyV$&cjn=jTm_zlZK*IQXV=yd89p zDMp0^r_zaLeCEgbDB(U}^~zyEsPJb9;ohE;NL^=eYM?VMs4yQVoudPqCdkt~7i$vi z9R}>C7(c;XRK9Iu;oO80$rum2u7|wsEpK*0h)CabV?k%_3*I$|>Aq!TjMuj&FPoW_ zMGJ0Sy>?b$-?7cP2uYD;@5C4?Z!lz#pU^lgW3wE0*$eWiPZQ4LoZjbBW99TO!x_r zFm)m$H}GUrsnNM5geK={#Ruc67qDIFt8*t{+(@n=5g{^eWo0#5h$1v9wZU>WcMz79 zk-=(iZvNU)rwqhm8)1cP7W@&Dw z=_Aa^QO!gJ-(NPzpa9!G_o2{V|D_OzW_|4fEBfFr-=QK!5`Fy})B{#LebI@mN;~B4`DT$NC z$S@)D&S`C|y);e_@54~cO2YS#ToM{Q-=5e)Z5&7QpSjKXQ&6oBjDHe$Ed&nF@;WsL zhek$>LNqls>x$8X)xo*KbSmjo1Vi@=r-fB{zIos`8b{D-^wRYVb=(I0^9lz~Layo4 zFrfT!J~V&p#2H>hzjcYKt!Yy$)r=ZUPWD2|#;Rm7TT9CI%j$_p+=Wr6oDuiTQ;9vj zSqIQCi7jowNi6eeuJRdsPa<$szg`pE#hc6X!Mo=BiA;-ZW~%=hlxW1|v!}V1Ui1&I zGsoS)HSeLd=su@sIIPs@ZL6QQ5QDv%GcKlPA!-02+519=sDWV zp%Pl70rqa+3ItyVnbdd`c%2(UZGZyG1P>@XJch^vs5ODpt zs!i;(2kqgspefZd%8L5w8qeHm#6bDU=AamjTx+27ntD7<$o5Fs&w5&Na}xZw2Iu{! z&X$%62?qNEkV@BewGqar^HL?>iwiB4vJXy7)C}M}qOB-ti8Aic6cXe!8^eLRK>|GD zE!^kBUYPAw9ppx)2km9+%k|UaH5#IV0wm_*$aS(;I*ehi(}!VC!I|6fol^3>&U7l` z#gIdbN)39UBe@S?PGM@3OZqdsBFs5kt;b0_^l@=&MgGdWZU|)9L2mBTrcN*QmLQl+ z2x#}$3;aFXIy)BvI{7kx=SqK3u;EU)x&AFy;NXhyg~be_y0<*AlSr{Ia?ZRGSTD{S z}#WQQyjtM^yZYkd+kvJ z*Q~iPf(q`^{2bTm&0_Yq?~dj5xTe)hp5XXGH1|1p@P+d;p9$MC!_AJ6b)~f0BbHe@ zcDjW0NOrYgl%M{`f#caX#MOnlM|MJTk3*iPu3nd_}B>S!=Yo)r~{wXlSRN;5*1L1RRlyL)6}JP6lrgOPw?g=JvRO z)6dCgC)Vvnmx(ra26FdCCs&Ma-EI%R0eeHgwUTyr)1E0M7rFj1r9J!`Os?w1hTHMn z+o`dOz5Y+~#{uHyirfjLn@nK4^2vrod|Ygku}^z_HU7o(5ZTr+`kF%PU0>VsWul-; zrm{ve{^C0~#$+-!;^q$~aJQ4|eBxmyEwnGn>6NOqstwfO!((Y{AYS$ zg`gem%>Z$az#vidO;@`bQB$)5?kr*0&3HOdRI(y~9TXEB|fP85hXs>F^-0nU!E!;MAB zv}PQI?D_1%pn>~PUWHkfEao196`VzS_d|XNi9DGi3zLZKst*jAw!*bW`5yXQXH%@S;_B}(Np*R6qT*~!u|Xe4c3a~!~G&GwI9LY z2HB&Hp<->d2L+h`0Qpo~|R zf8#m4dtoZCLeX%ebJtZY-zsLtuUH9f^0qshzA z!5cgFi04Uh8)=VVqCn##1-U^5qo+O!4bSgdfP^Q$mA;OBX!M)g$Oe*%$p0wdsTfp@ z7gYE?l3fSdQ!)CBVkrPv8N=KY9$TF256qE0OyciHs*KVmLO+uVRnCVCn&H|u%JrQ` zlX^jASU5zi-2~pgR%BKz%Ol3aLfm0Y5TV2U!s;jW#V@2#CW{#B5W%eM?1oP(rw>@e zs%|zV>2{*X@z}RE=bi`H^vWUR15)~GNfPlE$)O%;v~f{Qi|Y&Gc~7wY`ps}TS(IrM zBf$`w;rAs12}G&wOxlE`5nxESawk41jl7i%^OFbsnKy#kKu?;Eqp?^#o-=u<6W(*d z4Wu5C-+K*z)Isuu)vS-KaJA5qj5PeTD}^(>yC&!ne@&F6=V5tX?U>2*qtCMfOF#*> zs8~+0{xA(?!(Z{GC{_K%mqC0-w%jR%Z)O^0gz{tgMJ@0#?Smi>^++2B&2TuY@gAjT zPLB?5*^GD98&aYW7YjGRMxna7xZObw=}>~-k)&M(({WgVt8_hXv8SD7O0LCMct|Nk zwS-g1$o-E4T;@wvFrH;&l{YaQ_o)e`tb53K(S`F_zQ9|uopI~DilXFZ7E#~Kul?H? z8`}WugqD$KKHWE{nm82FZy>zhF_)&KJHMA7!gHuBwIWOM6*^Jo)&M2Q=L~=uq=VC$v zpYGZ*z!{fuHne|8QTYmbH9q${n(>iF6zHafn$zlJTru)rjnM*Y^QXITxIMY7RuruO z_QtDeIl6Ou!Z#V`Tr9Fi5k`~Sdr~}cXWzxoPzzoy3Ip_W=e}-A?3{fN|rTsXLZZ;1+yzx@CR**#wbdvV5)Ck`LJD(o2Lq!?fBh3 z3)Kd27Nud!)L?+)cAYC7Om{&_PgfA5+cC#8=*VhPZQw;)6KfDUM-3q(DnO2T@X@%_ z16AG1g(!h#f9>ZxBTNnDtCi*26{(sGQt7#^;o#CdRCt^@c2t|>Lm<8OtnKakv;5sj-=Ymo3bvL0 z=0ww;aH0+I9JTTz`xkwqU&&rqWz_Z%I@yJCI^{UrdzA;8@eUV3wF2kx+SLY>J8Vu#8mu@I;9XwZU6u!TUcU$0|83|tv<^5I8~%v> zyg#iB%JI@ZQl6z(?cdrGvfkTt#Sd$#|NIPWGpI$qqUp3>`cpj-!)UA8I2i^(WUtJvG^e994DAc^n(%RTq9+2PQNz^WwvrU~44_kE+ zcil8wQJlzh#q=4PP*MbIC_RqA)TUn^1Ksj+L&O zdoxSv+|cf~u&snqM|(q5HncEk-V6IfaA0BMDRwle3d#&NV_llHFYn%czTflv-kWrd z!@uN_b56dzW7l>eZm-_?wJqDXY~Qw32(d8`0e%Qk;h#Z3zkg}_ z@J{?`9lo+Gi{p54;j3GAY`sT_&%SbFMt@xHtAY>S2JK^%&V&%}AX}Uh5eN45%t9PA zrtR;QI1o3AD7CLg)<)^jfc?D^r9fCl9Q>2?2JK&p8rPCua|Mk}lFdr&T|wiVWU~@` zm-l1rEvfMg^XYwFWArAe@d)$jeO}{f%~e`OjYl8+$@^hqcw1*A=SNjD zWAiSjv80)id6&~L)>Zoy^I@z8DC>;%xXMYsxdlh zH6Ab3Fs(xTx1^r$hiMh!-z4>XKVDR}nSDc<#tvnh+3%KVG+m8PmT3&S8viQOkSz6G zwXPqFWU23}btx8G!D-eJ^Z2S@R7^!Do5vUG9KXjwN34(U^NgVB0F47cqO_B(kB)j4 z&~9KuU$duu_Msemz-RCG*}93f#@Lu=Teq*)7#;O&A9NE;?}t710XMt!e#&D%n`htV zvG32bU-Q^r2O*_39^303q;%0^H}kfy@z{fT+yAlbRBXtTgScwxX|^HHPNOB4e;r!4 z@Ir&CHczwbIy&L*Pt)qDxUQ?f4~9I2w#$_78>y>seNkbvr|@1;;k2i)xu|fxr*OKc z@SdkIR8;8l6dFZ^wx`f6DpWj$!J)hSXSP@i4AV(Dbn zB+0S`flsMsGm(lQLpcXwxR?bIy~`NC4zsKf2k~1N-uW32;$aZ*x3#F`EIWWPAxRdp zZXu#6Fi^viaTtswdHD=6Zgv^_zzD-7SWL5CD1bQQ5|6N{hfWf4y-R$UOif5r=Uv7) zn`+gGvBqVLu&KrDnux4ibU977^1uVcf$uh;K_{TgE+Zx@6T8n614*_Fgq#m($swXD zkh}WXKN1nCG(;4X4G4)axdVbsee3JYh%EyZ1XFb#P#RedYKN@+>2>BbEeAE@SZU-K zNz!_W8MPcE*Fvs)z3g7{0_QH+Y>A696S9TUS!=3~oeTdu$)@@&W1gK$OhEINQ}Yg1ipsulj~Zpj$Zj5eF1cx2_ISwnMr zRY3ocZ7FJ+v*-tu&1y!U3TV&0(#mGdn7=|mlGvY|+9!#9KG6m=uT9ldK(C&Vj9$%{ zEd;dabHe&b+0jIfqX!&a07&$Z3~1uPQ_@P8w$dmMsI5)KOzcno{*EM8G%;eL4ajr` z$!LY)7fTs#3w5*=!B)ch`>#q4J%MnS%h-wyh#x$t%SlF({FcXDJoNgELYHGA6$6%h z)&7acWHDf5<>wq*ITDW<1YK2D&g;LIVTekT=Nyd5Ugdx> z$a9WjB+2C2Qbr*RO~jNzrqC|8YvMSY!h}Jl+;$mZQ;N|F6JyF_xb2cvBnMNO45;;O zZRH4C!Bj?8Y`bI?%ydYBVkF6Tj1`Yj5|AWfx|IRFY37{6Y-*+$5N2bTQjAvkyeex^ z@fdzUk~6FW`kSg8Q8~y~riuY!l>jS>ktEN{AsRi#W0VBs5&I|h(-=)1wsOcd<+jj% zHZ>-lYlXjjUo(Edj8W;FAJ7vnC#=uiQOa>!h#6yWgc6-3yXQ0me_Ja?F43T_%2;_H;rstpq#1|AuoM?`$cA9tbHx2NLkxHJ@jbQ6vk zdpE<)eL9~bCO%_t296pc;xqPKVlb}aGxj_h;=@2E-E?Wy5fh)B%+Y=x5%G1G5rc6R z-(?*i(J-Ev_>8^vi0@$?-wP%_WAD66M0{(tJ(n2lRPilndmat(&6UxrFPQi?mJ$)) z#xi2CQ^hxDX|{IId<*&7sqW#>suY1Kw;r{hi?Zaut9p}9N2s^sh^oqJxRB1H9WlM<6Cl@VcGbS^7xEBxBYy3`S{2l&1XDgah>EUs2c9!Wg}OY zuAwwTv4fU>@fuT3cYUN9;+2R9U!mxw`IR>(W34YGuwVHlPeuQY35I=9lYc+nz{z0`HA|G!!e*6!W zkLeyyN6aOD0w0hKQ~7$lnZMRwNYClPr3Ygsjhg__n+i7X^oTi+^{^^_J z>S%TmT#D|#{OVKVg2ZLNToJyM^;~TIyssDd73AsZL9XWE%+%gva7L@!2M6Pfeb#7a z-E+@vh#m12;czBBb?>%qj`J(xA^-ldpJM7Zz7t$N-x+U)%>yCi+b4HzC3m#BQ=X* z?TDkkA{^@Jnd47+>dSUtXuov#PU*SnziPz>&uuZN&Rz}o9`9ypiM-!CRk5$KBEFjb;aDI1Q5{~w zr(Jn;A;=GqJc9jT*D*?@Qpau*)Q5}kDdkQ2@`(*jpIjLa`LoHkp}ahz$7G{|#XbPM znNjkccKs(#xnds;?ktB#m#imSZL>-=ZwhL4JibGnHxS`WJG|w0HuKmDg!poB>XN&Y z!&Y6wd1F(nW9WuDZ-PR-Q{P4Hq!K^E>dV1tFi4VvRDCM*63<(-TE5Bhyq!zcy%^r* zWPXtKm&3!IGf7vUm1j70-V7(5#a`T#zEnR!4V9Qdn;$LO*`jEBTWV$k=ur<89YC3G%NJB_E-H}=1FZO znXG0_`$=a^Qgc=#=?u#vhcuE-uq3jfk*Ed-+0@8O205sabOdKLV~wN(IH?(FBpvS= zq&(cCi0E*Sk@`>`IMvsxX8SfmU&Crbs3Z9phlfJon?8W7W|6=_K6>mWMv?zwC=MjedESSU`ft*QgX;Weu|P{eJau~o$-C5A>;6({c& zidCL=00-|3#qv!j3kfq&WZXchA(2;gp3fN&O$)^UWub!%#eim2$1N0NrG<_#R9#4r zsz)pogSLe}%usdTK|&8(C?*dJ-N#T&Hr9cI7CP)g4=@zd9zo@SgzkTU@p71lQ3S6i zeqK`q=y}}z?EMmKH>VhRFHk3?b8K{Iy2XX-C(RfK=Rl)V#zBvJgQXHhDG1oJk`u^}x?suy<)KxSzq^O|{^V1y6g*`x!joDL-kz{#Cr-aRU4I?}B(*r^CPX z7eoU9`&a#f_&yExFBk^VQGoTWLb|J{`Yn9r<1;=D0E9Lpsmt1njsCS_%)|19cBL0p zn}0Rg+{JRPNm`9_nomDVuWN2{FV>Y_*Yxfb-d5&^cdhU>=@E4?>&GG2kLfav{jMJa zWg7pFYqasB(l&knjq)j%)2B^F({C!D{8)4zN#k6(hRP!;Z7SDL?FkL@F6W22)V%EV zW_jtHJTMoXa~kGSbM&^3Di=#&E*8H<@z5);VJ;Tmw4BD6;(nNG=kX?K-CP|n_z|6x z_Vq>W;&da-YWY- OwSW9?8JroN3GrWqlUfh} literal 0 HcmV?d00001 diff --git a/autotests/read/iff/testcard_indexed2_amiga.png b/autotests/read/iff/testcard_indexed2_amiga.png new file mode 100644 index 0000000000000000000000000000000000000000..22942ae878f05f9e7fa13f30af8919aec9bdc110 GIT binary patch literal 7182 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 literal 0 HcmV?d00001 diff --git a/autotests/read/iff/testcard_indexed3_amiga.iff b/autotests/read/iff/testcard_indexed3_amiga.iff new file mode 100644 index 0000000000000000000000000000000000000000..4b44c3ceb28a8ea54ead950db905a9e4f8bad02c GIT binary patch literal 14104 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%0DZnP3ox^H*eVBjEwF8Gtk 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 a-2t<1W=g&rC?@Xxq{!6R!l=Xm9r-`S78cq7 literal 0 HcmV?d00001 diff --git a/src/imageformats/CMakeLists.txt b/src/imageformats/CMakeLists.txt index 3d1b0e7..b898aa9 100644 --- a/src/imageformats/CMakeLists.txt +++ b/src/imageformats/CMakeLists.txt @@ -84,6 +84,10 @@ endif() ################################## +kimageformats_add_plugin(kimg_iff SOURCES iff.cpp chunks.cpp) + +################################## + if (LibJXL_FOUND AND LibJXLThreads_FOUND AND LibJXLCMS_FOUND) kimageformats_add_plugin(kimg_jxl SOURCES jxl.cpp microexif.cpp) target_link_libraries(kimg_jxl PRIVATE PkgConfig::LibJXL PkgConfig::LibJXLThreads PkgConfig::LibJXLCMS) diff --git a/src/imageformats/chunks.cpp b/src/imageformats/chunks.cpp new file mode 100644 index 0000000..4446fe6 --- /dev/null +++ b/src/imageformats/chunks.cpp @@ -0,0 +1,1414 @@ +/* + This file is part of the KDE project + SPDX-FileCopyrightText: 2025 Mirco Miranda + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#include "chunks_p.h" +#include "packbits_p.h" + +#include + +IFFChunk::~IFFChunk() +{ + +} + +IFFChunk::IFFChunk() + : _chunkId{0} + , _size{0} + , _align{2} + , _dataPos{0} +{ +} + +bool IFFChunk::operator ==(const IFFChunk &other) const +{ + if (chunkId() != other.chunkId()) { + return false; + } + return _size == other._size && _dataPos == other._dataPos; +} + +bool IFFChunk::isValid() const +{ + auto cid = chunkId(); + for (auto &&c : cid) { + if (!((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c == ' '))) + return false; + } + return true; +} + +qint32 IFFChunk::alignBytes() const +{ + return _align; +} + +bool IFFChunk::readStructure(QIODevice *d) +{ + auto ok = readInfo(d); + ok = ok && innerReadStructure(d); + if (ok) { + auto pos = _dataPos + _size; + if (auto align = pos % alignBytes()) + pos += alignBytes() - align; + ok = d->seek(pos); + } + return ok; +} + +QByteArray IFFChunk::chunkId() const +{ + return QByteArray(_chunkId, 4); +} + +quint32 IFFChunk::bytes() const +{ + return _size; +} + +const QByteArray &IFFChunk::data() const +{ + return _data; +} + +const IFFChunk::ChunkList &IFFChunk::chunks() const +{ + return _chunks; +} + +quint8 IFFChunk::chunkVersion(const QByteArray &cid) +{ + if (cid.size() != 4) { + return 0; + } + if (cid.at(3) >= char('2') && cid.at(3) <= char('9')) { + return quint8(cid.at(3) - char('0')); + } + return 1; +} + +bool IFFChunk::isChunkType(const QByteArray &cid) const +{ + if (chunkId() == cid) { + return true; + } + if (chunkId().startsWith(cid.left(3)) && IFFChunk::chunkVersion(cid) > 1) { + return true; + } + return false; +} + +bool IFFChunk::readInfo(QIODevice *d) +{ + if (d == nullptr || d->read(_chunkId, 4) != 4) { + return false; + } + if (!IFFChunk::isValid()) { + return false; + } + auto sz = d->read(4); + if (sz.size() != 4) { + return false; + } + _size = ui32(sz.at(3), sz.at(2), sz.at(1), sz.at(0)); + _dataPos = d->pos(); + return true; +} + +QByteArray IFFChunk::readRawData(QIODevice *d, qint64 relPos, qint64 size) const +{ + if (!seek(d, relPos)) + return{}; + if (size == -1) + size = _size; + auto read = std::min(size, _size - relPos); + return d->read(read); +} + +bool IFFChunk::seek(QIODevice *d, qint64 relPos) const +{ + if (d == nullptr) + return false; + return d->seek(_dataPos + relPos); +} + +bool IFFChunk::innerReadStructure(QIODevice *) +{ + return true; +} + +IFFChunk::ChunkList IFFChunk::search(const QByteArray &cid, const QSharedPointer &chunk) +{ + return search(cid, ChunkList() << chunk); +} + +IFFChunk::ChunkList IFFChunk::search(const QByteArray &cid, const ChunkList &chunks) +{ + IFFChunk::ChunkList list; + for (auto &&chunk : chunks) { + if (chunk->chunkId() == cid) + list << chunk; + list << IFFChunk::search(cid, chunk->_chunks); + } + return list; +} + +bool IFFChunk::cacheData(QIODevice *d) +{ + if (bytes() > 8 * 1024 * 1024) + return false; + _data = readRawData(d); + return _data.size() == _size; +} + +void IFFChunk::setChunks(const ChunkList &chunks) +{ + _chunks = chunks; +} + +IFFChunk::ChunkList IFFChunk::innerFromDevice(QIODevice *d, bool *ok, qint32 alignBytes) +{ + auto tmp = false; + if (ok == nullptr) { + ok = &tmp; + } + *ok = false; + + if (d == nullptr) { + return {}; + } + + IFFChunk::ChunkList list; + for (; !d->atEnd();) { + auto cid = d->peek(4); + QSharedPointer chunk; + if (cid == FORM_CHUNK) { + chunk = QSharedPointer(new FORMChunk()); + } else if (cid == CAMG_CHUNK) { + chunk = QSharedPointer(new CAMGChunk()); + } else if (cid == CMAP_CHUNK) { + chunk = QSharedPointer(new CMAPChunk()); + } else if (cid == BMHD_CHUNK) { + chunk = QSharedPointer(new BMHDChunk()); + } else if (cid == BODY_CHUNK) { + chunk = QSharedPointer(new BODYChunk()); + } else if (cid == DPI__CHUNK) { + chunk = QSharedPointer(new DPIChunk()); + } else if (cid == FOR4_CHUNK) { + chunk = QSharedPointer(new FOR4Chunk()); + } else if (cid == TBHD_CHUNK) { + chunk = QSharedPointer(new TBHDChunk()); + } else if (cid == RGBA_CHUNK) { + chunk = QSharedPointer(new RGBAChunk()); + } else if (cid == AUTH_CHUNK) { + chunk = QSharedPointer(new AUTHChunk()); + } else if (cid == DATE_CHUNK) { + chunk = QSharedPointer(new DATEChunk()); + } else if (cid == FVER_CHUNK) { + chunk = QSharedPointer(new FVERChunk()); + } else if (cid == HIST_CHUNK) { + chunk = QSharedPointer(new HISTChunk()); + } else if (cid == VERS_CHUNK) { + chunk = QSharedPointer(new VERSChunk()); + } else { // unknown chunk + chunk = QSharedPointer(new IFFChunk()); + qInfo() << "IFFChunk::innerFromDevice: unkwnown chunk" << cid; + } + + // change the alignment to the one of main chunk (required for unknown Maya IFF chunks) + if (chunk->isChunkType(CAT__CHUNK) + || chunk->isChunkType(FILL_CHUNK) + || chunk->isChunkType(FORM_CHUNK) + || chunk->isChunkType(LIST_CHUNK) + || chunk->isChunkType(PROP_CHUNK)) { + alignBytes = chunk->alignBytes(); + } else { + chunk->setAlignBytes(alignBytes); + } + + if (!chunk->readStructure(d)) { + *ok = false; + return {}; + } + + list << chunk; + } + + *ok = true; + return list; +} + +IFFChunk::ChunkList IFFChunk::fromDevice(QIODevice *d, bool *ok) +{ + return innerFromDevice(d, ok, 2); +} + + +/* ****************** + * *** BMHD Chunk *** + * ****************** */ + +BMHDChunk::~BMHDChunk() +{ + +} + +BMHDChunk::BMHDChunk() : IFFChunk() +{ +} + +bool BMHDChunk::isValid() const +{ + if (bytes() < 20) { + return false; + } + return chunkId() == BMHDChunk::defaultChunkId(); +} + +bool BMHDChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} + +qint32 BMHDChunk::width() const +{ + if (!isValid()) { + return 0; + } + return qint32(ui16(data().at(1), data().at(0))); +} + +qint32 BMHDChunk::height() const +{ + if (!isValid()) { + return 0; + } + return qint32(ui16(data().at(3), data().at(2))); +} + +QSize BMHDChunk::size() const +{ + return QSize(width(), height()); +} + +qint32 BMHDChunk::left() const +{ + if (!isValid()) { + return 0; + } + return qint32(ui16(data().at(5), data().at(4))); +} + +qint32 BMHDChunk::top() const +{ + if (!isValid()) { + return 0; + } + return qint32(ui16(data().at(7), data().at(6))); +} + +quint8 BMHDChunk::bitplanes() const +{ + if (!isValid()) { + return 0; + } + return quint8(data().at(8)); +} + +quint8 BMHDChunk::masking() const +{ + if (!isValid()) { + return 0; + } + return quint8(data().at(9)); +} + +BMHDChunk::Compression BMHDChunk::compression() const +{ + if (!isValid()) { + return BMHDChunk::Compression::Uncompressed; + } + return BMHDChunk::Compression(data().at(10)); + +} + +quint8 BMHDChunk::padding() const +{ + if (!isValid()) { + return 0; + } + return quint8(data().at(11)); +} + +qint16 BMHDChunk::transparency() const +{ + if (!isValid()) { + return 0; + } + return i16(data().at(13), data().at(12)); +} + +quint8 BMHDChunk::xAspectRatio() const +{ + if (!isValid()) { + return 0; + } + return quint8(data().at(14)); +} + +quint8 BMHDChunk::yAspectRatio() const +{ + if (!isValid()) { + return 0; + } + return quint8(data().at(15)); +} + +quint16 BMHDChunk::pageWidth() const +{ + if (!isValid()) { + return 0; + } + return ui16(data().at(17), data().at(16)); +} + +quint16 BMHDChunk::pageHeight() const +{ + if (!isValid()) { + return 0; + } + return ui16(data().at(19), data().at(18)); +} + +quint32 BMHDChunk::rowLen() const +{ + return ((quint32(width()) + 15) / 16) * 2; +} + +/* ****************** + * *** CMAP Chunk *** + * ****************** */ + +CMAPChunk::~CMAPChunk() +{ + +} + +CMAPChunk::CMAPChunk() : IFFChunk() +{ +} + +bool CMAPChunk::isValid() const +{ + return chunkId() == CMAPChunk::defaultChunkId(); +} + +bool CMAPChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} + +QList CMAPChunk::palette() const +{ + QList l; + auto &&d = data(); + for (quint32 i = 0, n = bytes() / 3; i < n; ++i) { + l << qRgb(d.at(i * 3), d.at(i * 3 + 1), d.at(i * 3 + 2)); + } + return l; +} + +/* ****************** + * *** CAMG Chunk *** + * ****************** */ + +CAMGChunk::~CAMGChunk() +{ + +} + +CAMGChunk::CAMGChunk() : IFFChunk() +{ +} + +bool CAMGChunk::isValid() const +{ + if (bytes() != 4) { + return false; + } + return chunkId() == CAMGChunk::defaultChunkId(); +} + +CAMGChunk::ModeIds CAMGChunk::modeId() const +{ + if (!isValid()) { + return CAMGChunk::ModeIds(); + } + return CAMGChunk::ModeIds(ui32(data().at(3), data().at(2), data().at(1), data().at(0))); +} + +bool CAMGChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} + +/* ****************** + * *** DPI Chunk *** + * ****************** */ + +DPIChunk::~DPIChunk() +{ + +} + +DPIChunk::DPIChunk() : IFFChunk() +{ +} + +bool DPIChunk::isValid() const +{ + if (dpiX() == 0 || dpiY() == 0) { + return false; + } + return chunkId() == DPIChunk::defaultChunkId(); +} + +quint16 DPIChunk::dpiX() const +{ + if (bytes() < 4) { + return 0; + } + return i16(data().at(1), data().at(0)); +} + +quint16 DPIChunk::dpiY() const +{ + if (bytes() < 4) { + return 0; + } + return i16(data().at(3), data().at(2)); +} + +qint32 DPIChunk::dotsPerMeterX() const +{ + return qRound(dpiX() / 25.4 * 1000); +} + +qint32 DPIChunk::dotsPerMeterY() const +{ + return qRound(dpiY() / 25.4 * 1000); +} + +bool DPIChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} + +/* ****************** + * *** BODY Chunk *** + * ****************** */ + +BODYChunk::~BODYChunk() +{ + +} + +BODYChunk::BODYChunk() : IFFChunk() +{ +} + +bool BODYChunk::isValid() const +{ + return chunkId() == BODYChunk::defaultChunkId(); +} + +QByteArray BODYChunk::strideRead(QIODevice *d, const BMHDChunk *header, const CAMGChunk *camg, const CMAPChunk *cmap) const +{ + if (!isValid() || header == nullptr) { + return {}; + } + + auto readSize = header->rowLen() * header->bitplanes(); + for(;!d->atEnd() && _readBuffer.size() < readSize;) { + QByteArray buf(readSize, char()); + qint64 rr = -1; + if (header->compression() == BMHDChunk::Compression::Rle) { + // WARNING: The online spec says it's the same as TIFF but that's + // not accurate: the RLE -128 code is not a noop. + rr = packbitsDecompress(d, buf.data(), buf.size(), true); + } else if (header->compression() == BMHDChunk::Compression::Uncompressed) { + rr = d->read(buf.data(), buf.size()); + } + if (rr != readSize) + return {}; + _readBuffer.append(buf.data(), rr); + } + + auto planes = _readBuffer.left(readSize); + _readBuffer.remove(0, readSize); + return BODYChunk::deinterleave(planes, header, camg, cmap); +} + +bool BODYChunk::resetStrideRead(QIODevice *d) const +{ + _readBuffer.clear(); + return seek(d); +} + +QByteArray BODYChunk::deinterleave(const QByteArray &planes, const BMHDChunk *header, const CAMGChunk *camg, const CMAPChunk *cmap) +{ + auto rowLen = qint32(header->rowLen()); + auto bitplanes = header->bitplanes(); + if (planes.size() != rowLen * bitplanes) { + return {}; + } + + auto modeId = CAMGChunk::ModeIds(); + if (camg) { + modeId = camg->modeId(); + } + + QByteArray ba; + switch (bitplanes) { + case 1: // bitmap + ba = QByteArray((7 + header->width() * bitplanes) / 8, char()); + for (qint32 i = 0, n = std::min(planes.size(), ba.size()); i < n; ++i) { + ba[i] = ~planes.at(i); + } + break; + + case 2: // gray, indexed and rgb Ham mode + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + if (modeId == CAMGChunk::ModeId::Ham && cmap && bitplanes == 6) { + // From A Quick Introduction to IFF.txt: + // + // Amiga HAM (Hold and Modify) mode lets the Amiga display all 4096 RGB values. + // In HAM mode, the bits in the two last planes describe an R G or B + // modification to the color of the previous pixel on the line to create the + // color of the current pixel. So a 6-plane HAM picture has 4 planes for + // specifying absolute color pixels giving up to 16 absolute colors which would + // be specified in the ILBM CMAP chunk. The bits in the last two planes are + // color modification bits which cause the Amiga, in HAM mode, to take the RGB + // value of the previous pixel (Hold and), substitute the 4 bits in planes 0-3 + // for the previous color's R G or B component (Modify) and display the result + // for the current pixel. If the first pixel of a scan line is a modification + // pixel, it modifies the RGB value of the border color (register 0). The color + // modification bits in the last two planes (planes 4 and 5) are interpreted as + // follows: + // 00 - no modification. Use planes 0-3 as normal color register index + // 10 - hold previous, replacing Blue component with bits from planes 0-3 + // 01 - hold previous, replacing Red component with bits from planes 0-3 + // 11 - hold previous. replacing Green component with bits from planes 0-3 + ba = QByteArray(rowLen * 8 * 3, char()); + auto pal = cmap->palette(); + quint8 prev[3] = {}; + for (qint32 i = 0, cnt = 0; i < rowLen; ++i) { + for (qint32 j = 0; j < 8; ++j, ++cnt) { + quint8 idx = 0, ctl = 0; + for (qint32 k = 0, msk = (1 << (7 - j)); k < bitplanes; ++k) { + if ((planes.at(k * rowLen + i) & msk) == 0) + continue; + if (k < 4) { + idx |= 1 << k; + } else { + ctl |= 1 << (bitplanes - k - 1); + } + } + switch (ctl) { + case 1: // red + prev[0] = idx | (idx << 4); + break; + case 2: // blue + prev[2] = idx | (idx << 4); + break; + case 3: // green + prev[1] = idx | (idx << 4); + break; + default: + if (idx < pal.size()) { + prev[0] = qRed(pal.at(idx)); + prev[1] = qGreen(pal.at(idx)); + prev[2] = qBlue(pal.at(idx)); + } else { + qWarning() << "BODYChunk::deinterleave: palette index" << idx << "is out of range"; + } + break; + } + auto cnt3 = cnt * 3; + ba[cnt3] = char(prev[0]); + ba[cnt3 + 1] = char(prev[1]); + ba[cnt3 + 2] = char(prev[2]); + } + } + } else if (modeId == CAMGChunk::ModeIds()) { + // From A Quick Introduction to IFF.txt: + // + // If the ILBM is not HAM or HALFBRITE, then after parsing and uncompacting if + // necessary, you will have N planes of pixel data. Color register used for + // each pixel is specified by looking at each pixel thru the planes. I.e., + // if you have 5 planes, and the bit for a particular pixel is set in planes + // 0 and 3: + // + // PLANE 4 3 2 1 0 + // PIXEL 0 1 0 0 1 + // + // then that pixel uses color register binary 01001 = 9 + ba = QByteArray(rowLen * 8, char()); + for (qint32 i = 0; i < rowLen; ++i) { + for (qint32 k = 0, i8 = i * 8; k < bitplanes; ++k) { + auto v = planes.at(k * rowLen + i); + if (v & (1 << 7)) + ba[i8] |= 1 << k; + if (v & (1 << 6)) + ba[i8 + 1] |= 1 << k; + if (v & (1 << 5)) + ba[i8 + 2] |= 1 << k; + if (v & (1 << 4)) + ba[i8 + 3] |= 1 << k; + if (v & (1 << 3)) + ba[i8 + 4] |= 1 << k; + if (v & (1 << 2)) + ba[i8 + 5] |= 1 << k; + if (v & (1 << 1)) + ba[i8 + 6] |= 1 << k; + if (v & 1) + ba[i8 + 7] |= 1 << k; + } + } + } + break; + + case 24: // rgb + // From A Quick Introduction to IFF.txt: + // + // If a deep ILBM (like 12 or 24 planes), there should be no CMAP + // and instead the BODY planes are interpreted as the bits of RGB + // in the order R0...Rn G0...Gn B0...Bn + // + // NOTE: This code does not support 12-planes images + ba = QByteArray(rowLen * bitplanes, char()); + for (qint32 i = 0, cnt = 0, p = bitplanes / 8; i < rowLen; ++i) { + for (qint32 j = 0; j < 8; ++j) + for (qint32 k = 0; k < p; ++k, ++cnt) { + auto k8 = k * 8; + auto msk = (1 << (7 - j)); + if (planes.at(k8 * rowLen + i) & msk) + ba[cnt] |= 0x01; + if (planes.at((1 + k8) * rowLen + i) & msk) + ba[cnt] |= 0x02; + if (planes.at((2 + k8) * rowLen + i) & msk) + ba[cnt] |= 0x04; + if (planes.at((3 + k8) * rowLen + i) & msk) + ba[cnt] |= 0x08; + if (planes.at((4 + k8) * rowLen + i) & msk) + ba[cnt] |= 0x10; + if (planes.at((5 + k8) * rowLen + i) & msk) + ba[cnt] |= 0x20; + if (planes.at((6 + k8) * rowLen + i) & msk) + ba[cnt] |= 0x40; + if (planes.at((7 + k8) * rowLen + i) & msk) + ba[cnt] |= 0x80; + } + } + break; + } + return ba; +} + +/* ****************** + * *** FORM Chunk *** + * ****************** */ + +FORMChunk::~FORMChunk() +{ + +} + +FORMChunk::FORMChunk() : IFFChunk() +{ +} + +bool FORMChunk::isValid() const +{ + return chunkId() == FORMChunk::defaultChunkId(); +} + +bool FORMChunk::isSupported() const +{ + return format() != QImage::Format_Invalid; +} + +bool FORMChunk::innerReadStructure(QIODevice *d) +{ + if (bytes() < 4) { + return false; + } + _type = d->read(4); + auto ok = true; + if (_type == QByteArray("ILBM")) { + setChunks(IFFChunk::innerFromDevice(d, &ok, alignBytes())); + } + return ok; +} + +QByteArray FORMChunk::formType() const +{ + return _type; +} + +QImage::Format FORMChunk::format() const +{ + auto headers = IFFChunk::searchT(chunks()); + if (headers.isEmpty()) { + return QImage::Format_Invalid; + } + + if (auto &&h = headers.first()) { + auto cmaps = IFFChunk::searchT(chunks()); + auto camgs = IFFChunk::searchT(chunks()); + + auto modeId = CAMGChunk::ModeIds(); + if (!camgs.isEmpty()) { + modeId = camgs.first()->modeId(); + } else if (h->bitplanes() == 6) { + // If no CAMG chunk is present, and image is 6 planes deep, + // assume HAM and you'll probably be right. + modeId = CAMGChunk::ModeIds(CAMGChunk::ModeId::Ham); + } + + if (h->bitplanes() == 24) { + return QImage::Format_RGB888; + } + if (h->bitplanes() >= 2 && h->bitplanes() <= 8) { + // Currently supported modes: HAM6 and No HAM/HALFBRITE. + if (modeId != CAMGChunk::ModeIds() && (modeId != CAMGChunk::ModeId::Ham || h->bitplanes() != 6)) + return QImage::Format_Invalid; + + if (modeId & CAMGChunk::ModeId::Ham) { + if (IFFChunk::search(SHAM_CHUNK, chunks()).isEmpty()) + return QImage::Format_RGB888; + else // Images with the SHAM chunk do not load correctly. + return QImage::Format_Invalid; + } else if (!cmaps.isEmpty()) { + return QImage::Format_Indexed8; + } else { + return QImage::Format_Grayscale8; + } + } + if (h->bitplanes() == 1) { + return QImage::Format_Mono; + } + } + + return QImage::Format_Invalid; +} + +QSize FORMChunk::size() const +{ + auto headers = IFFChunk::searchT(chunks()); + if (headers.isEmpty()) { + return {}; + } + return headers.first()->size(); +} + +/* ****************** + * *** FOR4 Chunk *** + * ****************** */ + +FOR4Chunk::~FOR4Chunk() +{ + +} + +FOR4Chunk::FOR4Chunk() : IFFChunk() +{ + +} + +bool FOR4Chunk::isValid() const +{ + return chunkId() == FOR4Chunk::defaultChunkId(); +} + +qint32 FOR4Chunk::alignBytes() const +{ + return 4; +} + +bool FOR4Chunk::isSupported() const +{ + return format() != QImage::Format_Invalid; +} + +bool FOR4Chunk::innerReadStructure(QIODevice *d) +{ + if (bytes() < 4) { + return false; + } + _type = d->read(4); + auto ok = true; + if (_type == QByteArray("CIMG")) { + setChunks(IFFChunk::innerFromDevice(d, &ok, alignBytes())); + } else if (_type == QByteArray("TBMP")) { + setChunks(IFFChunk::innerFromDevice(d, &ok, alignBytes())); + } + return ok; +} + +QByteArray FOR4Chunk::formType() const +{ + return _type; +} + +QImage::Format FOR4Chunk::format() const +{ + auto headers = IFFChunk::searchT(chunks()); + if (headers.isEmpty()) { + return QImage::Format_Invalid; + } + return headers.first()->format(); +} + +QSize FOR4Chunk::size() const +{ + auto headers = IFFChunk::searchT(chunks()); + if (headers.isEmpty()) { + return {}; + } + return headers.first()->size(); +} + + +/* ****************** + * *** TBHD Chunk *** + * ****************** */ + +TBHDChunk::~TBHDChunk() +{ + +} + +TBHDChunk::TBHDChunk() +{ + +} + +bool TBHDChunk::isValid() const +{ + if (bytes() != 24 && bytes() != 32) { + return false; + } + return chunkId() == TBHDChunk::defaultChunkId(); +} + +qint32 TBHDChunk::alignBytes() const +{ + return 4; +} + +qint32 TBHDChunk::width() const +{ + if (!isValid()) { + return 0; + } + return i32(data().at(3), data().at(2), data().at(1), data().at(0)); +} + +qint32 TBHDChunk::height() const +{ + if (!isValid()) { + return 0; + } + return i32(data().at(7), data().at(6), data().at(5), data().at(4)); +} + +QSize TBHDChunk::size() const +{ + return QSize(width(), height()); +} + +qint32 TBHDChunk::left() const +{ + if (bytes() != 32) { + return 0; + } + return i32(data().at(27), data().at(26), data().at(25), data().at(24)); +} + +qint32 TBHDChunk::top() const +{ + if (bytes() != 32) { + return 0; + } + return i32(data().at(31), data().at(30), data().at(29), data().at(28)); +} + +TBHDChunk::Flags TBHDChunk::flags() const +{ + if (!isValid()) { + return TBHDChunk::Flags(); + } + return TBHDChunk::Flags(ui32(data().at(15), data().at(14), data().at(13), data().at(12))); +} + +qint32 TBHDChunk::bpc() const +{ + if (!isValid()) { + return 0; + } + return ui16(data().at(17), data().at(16)) ? 2 : 1; +} + +qint32 TBHDChunk::channels() const +{ + if (flags() == TBHDChunk::Flag::RgbA) { + return 4; + } + if (flags() == TBHDChunk::Flag::Rgb) { + return 3; + } + return 0; +} + +quint16 TBHDChunk::tiles() const +{ + if (!isValid()) { + return 0; + } + return ui16(data().at(19), data().at(18)); +} + +QImage::Format TBHDChunk::format() const +{ + // Support for RGBA and RGB only for now. + if (flags() == TBHDChunk::Flag::RgbA) { + if (bpc() == 2) + return QImage::Format_RGBA64; + else if (bpc() == 1) + return QImage::Format_RGBA8888; + } else if (flags() == TBHDChunk::Flag::Rgb) { + if (bpc() == 2) + return QImage::Format_RGBX64; + else if (bpc() == 1) + return QImage::Format_RGB888; + } + + return QImage::Format_Invalid; +} + +TBHDChunk::Compression TBHDChunk::compression() const +{ + if (!isValid()) { + return TBHDChunk::Compression::Uncompressed; + } + return TBHDChunk::Compression(ui32(data().at(23), data().at(22), data().at(21), data().at(20))); +} + +bool TBHDChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} + +/* ****************** + * *** RGBA Chunk *** + * ****************** */ + +RGBAChunk::~RGBAChunk() +{ +} + +RGBAChunk::RGBAChunk() +{ + +} + +bool RGBAChunk::isValid() const +{ + if (bytes() < 8) { + return false; + } + return chunkId() == RGBAChunk::defaultChunkId(); +} + +qint32 RGBAChunk::alignBytes() const +{ + return 4; +} + +bool RGBAChunk::isTileCompressed(const TBHDChunk *header) const +{ + if (!isValid() || header == nullptr) { + return false; + } + return qint64(header->channels()) * size().width() * size().height() * header->bpc() > qint64(bytes() - 8); +} + +QPoint RGBAChunk::pos() const +{ + return _pos; +} + +QSize RGBAChunk::size() const +{ + return _size; +} + +// Maya version of IFF uses a slightly different algorithm for RLE compression. +qint64 rleMayaDecompress(QIODevice *input, char *output, qint64 olen) +{ + qint64 j = 0; + for (qint64 rr = 0, available = olen; j < olen; available = olen - j) { + char n; + + // check the output buffer space for the next run + if (available < 128) { + if (input->peek(&n, 1) != 1) { // end of data (or error) + break; + } + rr = qint64(n & 0x7f) + 1; + if (rr > available) + break; + } + + // decompress + if (input->read(&n, 1) != 1) { // end of data (or error) + break; + } + + rr = qint64(n & 0x7f) + 1; + if ((n & 0x80) == 0) { + auto read = input->read(output + j, rr); + if (rr != read) { + return -1; + } + } else { + char b; + if (input->read(&b, 1) != 1) { + break; + } + std::memset(output + j, b, size_t(rr)); + } + + j += rr; + } + return j; +} + +QByteArray RGBAChunk::readStride(QIODevice *d, const TBHDChunk *header) const +{ + auto readSize = size().width(); + if (readSize == 0) { + return {}; + } + + // detect if the tile is compressed (8 is the size of 4 uint16 before the tile data). + auto compressed = isTileCompressed(header); + for(;!d->atEnd() && _readBuffer.size() < readSize;) { + QByteArray buf(readSize * size().height(), char()); + qint64 rr = -1; + if (compressed) { + // It seems that tiles are compressed independently only if there is space savings. + // The compression method specified in the header is only to indicate the type of + // compression if used. + if (header->compression() == TBHDChunk::Compression::Rle) { + rr = rleMayaDecompress(d, buf.data(), buf.size()); + } + } else { + rr = d->read(buf.data(), buf.size()); + } + if (rr != buf.size()) { + return {}; + } + _readBuffer.append(buf.data(), rr); + } + + auto buff = _readBuffer.left(readSize); + _readBuffer.remove(0, readSize); + + return buff; +} + +QImage RGBAChunk::compressedTile(QIODevice *d, const TBHDChunk *header) const +{ + QImage img(size(), header->format()); + auto bpc = header->bpc(); + + if (bpc == 1) { + for (auto c = 0, cs = header->channels(); c < cs; ++c) { + for (auto y = 0, h = img.height(); y < h; ++y) { + auto ba = readStride(d, header); + if (ba.isEmpty()) { + return {}; + } + auto scl = reinterpret_cast(img.scanLine(y)); + for (auto x = 0, w = std::min(int(ba.size()), img.width()); x < w; ++x) { + scl[x * cs + cs - c - 1] = ba.at(x); + } + } + } + } else if (bpc == 2) { + auto cs = header->channels(); + if (cs < 4) { // alpha on 64-bit images must be 0xFF + std::memset(img.bits(), 0xFF, img.sizeInBytes()); + } + for (auto c = 0, cc = header->channels() * header->bpc(); c < cc; ++c) { +#if Q_BYTE_ORDER == Q_BIG_ENDIAN + auto c_bcp = c / cs; +#else + auto c_bcp = 1 - c / cs; +#endif + auto c_cs = (cs - 1 - c % cs) * bpc + c_bcp; + for (auto y = 0, h = img.height(); y < h; ++y) { + auto ba = readStride(d, header); + if (ba.isEmpty()) { + return {}; + } + auto scl = reinterpret_cast(img.scanLine(y)); + for (auto x = 0, w = std::min(int(ba.size()), img.width()); x < w; ++x) { + scl[x * 4 * bpc + c_cs] = ba.at(x); // * 4 -> Qt RGB 64-bit formats are always 4 channels + } + } + } + } + + return img; +} + +QImage RGBAChunk::uncompressedTile(QIODevice *d, const TBHDChunk *header) const +{ + QImage img(size(), header->format()); + auto bpc = header->bpc(); + + if (bpc == 1) { + auto cs = header->channels(); + auto lineSize = img.width() * bpc * cs; + + for (auto y = 0, h = img.height(); y < h; ++y) { + auto ba = d->read(lineSize); + if (ba.isEmpty()) { + return {}; + } + auto scl = reinterpret_cast(img.scanLine(y)); + for (auto c = 0; c < cs; ++c) { + for (auto x = 0, w = std::min(int(ba.size() / cs), img.width()); x < w; ++x) { + auto xcs = x * cs; + scl[xcs + cs - c - 1] = ba.at(xcs + c); + } + } + } + } else if (bpc == 2) { + auto cs = header->channels(); + auto lineSize = img.width() * bpc * cs; + if (cs < 4) { // alpha on 64-bit images must be 0xFF + std::memset(img.bits(), 0xFF, img.sizeInBytes()); + } + + for (auto y = 0, h = img.height(); y < h; ++y) { + auto ba = d->read(lineSize); + if (ba.isEmpty()) { + return {}; + } + auto scl = reinterpret_cast(img.scanLine(y)); + auto src = reinterpret_cast(ba.data()); + for (auto c = 0; c < cs; ++c) { + for (auto x = 0, w = std::min(int(ba.size() / cs / bpc), img.width()); x < w; ++x) { + auto xcs = x * cs; + auto xcs4 = x * 4; +#if Q_BYTE_ORDER == Q_BIG_ENDIAN + scl[xcs4 + cs - c - 1] = src[xcs + c]; +#else + scl[xcs4 + cs - c - 1] = (src[xcs + c] >> 8) | (src[xcs + c] << 8); +#endif + } + } + } + } + + return img; +} + +QImage RGBAChunk::tile(QIODevice *d, const TBHDChunk *header) const +{ + if (!isValid() || header == nullptr) { + return {}; + } + if (!seek(d, 8)) { + return {}; + } + + if (isTileCompressed(header)) { + return compressedTile(d, header); + } + + return uncompressedTile(d, header); +} + +bool RGBAChunk::innerReadStructure(QIODevice *d) +{ + auto ba = d->read(8); + if (ba.size() != 8) { + return false; + } + + auto x0 = ui16(ba.at(1), ba.at(0)); + auto y0 = ui16(ba.at(3), ba.at(2)); + auto x1 = ui16(ba.at(5), ba.at(4)); + auto y1 = ui16(ba.at(7), ba.at(6)); + if (x0 > x1 || y0 > y1) { + return false; + } + + _pos = QPoint(x0, y0); + _size = QSize(qint32(x1) - x0 + 1, qint32(y1) - y0 + 1); + + return true; +} + +/* ****************** + * *** AUTH Chunk *** + * ****************** */ + +AUTHChunk::~AUTHChunk() +{ + +} + +AUTHChunk::AUTHChunk() +{ + +} + +bool AUTHChunk::isValid() const +{ + return chunkId() == AUTHChunk::defaultChunkId(); +} + +QString AUTHChunk::value() const +{ + return QString::fromLatin1(data()); +} + +bool AUTHChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} + +/* ****************** + * *** DATE Chunk *** + * ****************** */ + +DATEChunk::~DATEChunk() +{ + +} + +DATEChunk::DATEChunk() +{ + +} + +bool DATEChunk::isValid() const +{ + return chunkId() == DATEChunk::defaultChunkId(); +} + +QDateTime DATEChunk::value() const +{ + return QDateTime::fromString(QString::fromLatin1(data()), Qt::TextDate); +} + +bool DATEChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} + +/* ****************** + * *** FVER Chunk *** + * ****************** */ + +FVERChunk::~FVERChunk() +{ + +} + +FVERChunk::FVERChunk() +{ + +} + +bool FVERChunk::isValid() const +{ + return chunkId() == FVERChunk::defaultChunkId(); +} + +bool FVERChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} + +/* ****************** + * *** HIST Chunk *** + * ****************** */ + +HISTChunk::~HISTChunk() +{ + +} + +HISTChunk::HISTChunk() +{ + +} + +bool HISTChunk::isValid() const +{ + return chunkId() == HISTChunk::defaultChunkId(); +} + +QString HISTChunk::value() const +{ + return QString::fromLatin1(data()); +} + +bool HISTChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} + +/* ****************** + * *** VERS Chunk *** + * ****************** */ + +VERSChunk::~VERSChunk() +{ + +} + +VERSChunk::VERSChunk() +{ + +} + +bool VERSChunk::isValid() const +{ + return chunkId() == VERSChunk::defaultChunkId(); +} + +QString VERSChunk::value() const +{ + return QString::fromLatin1(data()); +} + +bool VERSChunk::innerReadStructure(QIODevice *d) +{ + return cacheData(d); +} diff --git a/src/imageformats/chunks_p.h b/src/imageformats/chunks_p.h new file mode 100644 index 0000000..862b658 --- /dev/null +++ b/src/imageformats/chunks_p.h @@ -0,0 +1,823 @@ +/* + This file is part of the KDE project + SPDX-FileCopyrightText: 2025 Mirco Miranda + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +/* + * Format specifications: + * - https://wiki.amigaos.net/wiki/IFF_FORM_and_Chunk_Registry + * - https://www.fileformat.info/format/iff/egff.htm + */ + +#ifndef KIMG_CHUNKS_P_H +#define KIMG_CHUNKS_P_H + +#include +#include +#include +#include +#include +#include +#include + +// Main chunks (Standard) +#define CAT__CHUNK QByteArray("CAT ") +#define FILL_CHUNK QByteArray(" ") +#define FORM_CHUNK QByteArray("FORM") +#define LIST_CHUNK QByteArray("LIST") +#define PROP_CHUNK QByteArray("PROP") + +// Main chuncks (Maya) +#define FOR4_CHUNK QByteArray("FOR4") + +// FORM ILBM IFF +#define BMHD_CHUNK QByteArray("BMHD") +#define BODY_CHUNK QByteArray("BODY") +#define CAMG_CHUNK QByteArray("CAMG") +#define CMAP_CHUNK QByteArray("CMAP") +#define DPI__CHUNK QByteArray("DPI ") +#define SHAM_CHUNK QByteArray("SHAM") // undocumented + +// FOR4 CIMG IFF (Maya) +#define RGBA_CHUNK QByteArray("RGBA") +#define TBHD_CHUNK QByteArray("TBHD") + +// FORx IFF (found on some IFF format specs) +#define AUTH_CHUNK QByteArray("AUTH") +#define DATE_CHUNK QByteArray("DATE") +#define FVER_CHUNK QByteArray("FVER") +#define HIST_CHUNK QByteArray("HIST") +#define VERS_CHUNK QByteArray("VERS") + +#define CHUNKID_DEFINE(a) static QByteArray defaultChunkId() { return a; } + +/*! + * \brief The IFFChunk class + */ +class IFFChunk +{ +public: + using ChunkList = QList>; + + virtual ~IFFChunk(); + + /*! + * \brief IFFChunk + * Creates invalid chunk. + * \sa isValid + */ + IFFChunk(); + + IFFChunk(const IFFChunk& other) = default; + IFFChunk& operator =(const IFFChunk& other) = default; + + bool operator ==(const IFFChunk& other) const; + + /*! + * \brief isValid + * \return True if the chunk is valid, otherwise false. + * \note The default implementation checks that chunkId() contains only valid characters. + */ + virtual bool isValid() const; + + /*! + * \brief alignBytes + * \return The chunk alignment bytes. By default returns bytes set using setAlignBytes(). + */ + virtual qint32 alignBytes() const; + + /*! + * \brief chunkId + * \return The chunk Id of this chunk. + */ + QByteArray chunkId() const; + + /*! + * \brief bytes + * \return The size (in bytes) of the chunck data. + */ + + quint32 bytes() const; + + /*! + * \brief data + * \return The data stored inside the class. If no data present, use readRawData(). + * \sa readRawData + */ + const QByteArray& data() const; + + /*! + * \brief chunks + * \return The chunks inside this chunk. + */ + const ChunkList& chunks() const; + + /*! + * \brief chunkVersion + * \param cid Chunk Id to extract the version from. + * \return The version of the chunk. Zero means no valid chunk data. + */ + static quint8 chunkVersion(const QByteArray& cid); + + /*! + * \brief isChunkType + * Check if the chunkId is of type of cid (any version). + * \param cid Chunk Id to check. + * \return True on success, otherwise false. + */ + bool isChunkType(const QByteArray& cid) const; + + /*! + * \brief readInfo + * Reads chunkID, size and set the data position. + * \param d The device. + * \return True on success, otherwise false. + */ + bool readInfo(QIODevice *d); + + /*! + * \brief readStructure + * Read the internal structure using innerReadStructure() of the Chunk and set device the position to the next chunks. + * \param d The device. + * \return True on success, otherwise false. + */ + bool readStructure(QIODevice *d); + + /*! + * \brief readRawData + * \param d The device. + * \param relPos The position to read relative to the chunk position. + * \param size The size of the data to read (-1 means all chunk). + * \return The data read or empty array on error. + * \note Ignores any data already read and available with data(). + * \sa data + */ + QByteArray readRawData(QIODevice *d, qint64 relPos = 0, qint64 size = -1) const; + + /*! + * \brief seek + * \param d The device. + * \param relPos The position to read relative to the chunk position. + * \return True on success, otherwise false. + */ + bool seek(QIODevice *d, qint64 relPos = 0) const; + + /*! + * \brief fromDevice + * \param d The device. + * \param ok Set to false if errors occurred. + * \return The chunk list found. + */ + static ChunkList fromDevice(QIODevice *d, bool *ok = nullptr); + + /*! + * \brief search + * Search for a chunk in the list of chunks. + * \param cid The chunkId to search. + * \param chunks The list of chunks to search for the requested chunk. + * \return The list of chunks with the given chunkId. + */ + static ChunkList search(const QByteArray &cid, const ChunkList& chunks); + + /*! + * \brief search + */ + static ChunkList search(const QByteArray &cid, const QSharedPointer& chunk); + + /*! + * \brief searchT + * Convenient search function to avoid casts. + * \param chunk The chunk to search for the requested chunk type. + * \return The list of chunks of T type. + */ + template + static QList searchT(const IFFChunk *chunk) { + QList list; + if (chunk == nullptr) + return list; + auto cid = T::defaultChunkId(); + if (chunk->chunkId() == cid) + if (auto c = dynamic_cast(chunk)) + list << c; + auto tmp = chunk->chunks(); + for (auto &&c : tmp) + list << searchT(c.data()); + return list; + } + + /*! + * \brief searchT + * Convenient search function to avoid casts. + * \param chunks The list of chunks to search for the requested chunk. + * \return The list of chunks of T type. + */ + template + static QList searchT(const ChunkList& chunks) { + QList list; + for (auto &&chunk : chunks) + list << searchT(chunk.data()); + return list; + } + + CHUNKID_DEFINE(QByteArray()) + +protected: + /*! + * \brief innerReadStructure + * Reads data structure. Default implementation does nothing. + * \param d The device. + * \return True on success, otherwise false. + */ + virtual bool innerReadStructure(QIODevice *d); + + /*! + * \brief setAlignBytes + * \param bytes + */ + void setAlignBytes(qint32 bytes) + { + _align = bytes; + } + + + /*! + * \brief cacheData + * Read all chunk data and store it on _data. + * \return True on success, otherwise false. + * \warning This function does not load anything if the chunk size is larger than 8MiB. For larger chunks, use direct data access. + */ + bool cacheData(QIODevice *d); + + /*! + * \brief setChunks + * \param chunks + */ + void setChunks(const ChunkList &chunks); + + inline quint16 ui16(quint8 c1, quint8 c2) const { + return (quint16(c2) << 8) | quint16(c1); + } + + inline qint16 i16(quint8 c1, quint8 c2) const { + return qint32(ui16(c1, c2)); + } + + inline quint32 ui32(quint8 c1, quint8 c2, quint8 c3, quint8 c4) const { + return (quint32(c4) << 24) | (quint32(c3) << 16) | (quint32(c2) << 8) | quint32(c1); + } + + inline qint32 i32(quint8 c1, quint8 c2, quint8 c3, quint8 c4) const { + return qint32(ui32(c1, c2, c3, c4)); + } + + static ChunkList innerFromDevice(QIODevice *d, bool *ok, qint32 alignBytes); + +private: + char _chunkId[4]; + + quint32 _size; + + qint32 _align; + + qint64 _dataPos; + + QByteArray _data; + + ChunkList _chunks; + + +}; + +/*! + * \brief The IffBMHD class + * Bitmap Header + */ +class BMHDChunk: public IFFChunk +{ +public: + enum Compression { + Uncompressed = 0, + Rle = 1 + }; + + virtual ~BMHDChunk() override; + + BMHDChunk(); + BMHDChunk(const BMHDChunk& other) = default; + BMHDChunk& operator =(const BMHDChunk& other) = default; + + virtual bool isValid() const override; + + qint32 width() const; + + qint32 height() const; + + QSize size() const; + + qint32 left() const; + + qint32 top() const; + + quint8 bitplanes() const; + + quint8 masking() const; + + Compression compression() const; + + quint8 padding() const; + + qint16 transparency() const; + + quint8 xAspectRatio() const; + + quint8 yAspectRatio() const; + + quint16 pageWidth() const; + + quint16 pageHeight() const; + + quint32 rowLen() const; + + CHUNKID_DEFINE(BMHD_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + +/*! + * \brief The CMAPChunk class + */ +class CMAPChunk : public IFFChunk +{ +public: + virtual ~CMAPChunk() override; + CMAPChunk(); + CMAPChunk(const CMAPChunk& other) = default; + CMAPChunk& operator =(const CMAPChunk& other) = default; + + virtual bool isValid() const override; + + QList palette() const; + + CHUNKID_DEFINE(CMAP_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + +/*! + * \brief The CAMGChunk class + */ +class CAMGChunk : public IFFChunk +{ +public: + enum ModeId { + LoResLace = 0x0004, + HalfBrite = 0x0080, + LoResDpf = 0x0400, + Ham = 0x0800, + HiRes = 0x8000 + }; + + Q_DECLARE_FLAGS(ModeIds, ModeId) + + virtual ~CAMGChunk() override; + CAMGChunk(); + CAMGChunk(const CAMGChunk& other) = default; + CAMGChunk& operator =(const CAMGChunk& other) = default; + + virtual bool isValid() const override; + + ModeIds modeId() const; + + CHUNKID_DEFINE(CAMG_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + +/*! + * \brief The DPIChunk class + */ +class DPIChunk : public IFFChunk +{ +public: + virtual ~DPIChunk() override; + DPIChunk(); + DPIChunk(const DPIChunk& other) = default; + DPIChunk& operator =(const DPIChunk& other) = default; + + virtual bool isValid() const override; + + /*! + * \brief dpiX + * \return The horizontal resolution in DPI. + */ + quint16 dpiX() const; + + /*! + * \brief dpiY + * \return The vertical resolution in DPI. + */ + quint16 dpiY() const; + + /*! + * \brief dotsPerMeterX + * \return X resolution as wanted by QImage. + */ + qint32 dotsPerMeterX() const; + + /*! + * \brief dotsPerMeterY + * \return Y resolution as wanted by QImage. + */ + qint32 dotsPerMeterY() const; + + CHUNKID_DEFINE(DPI__CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + + +/*! + * \brief The BODYChunk class + */ +class BODYChunk : public IFFChunk +{ +public: + virtual ~BODYChunk() override; + BODYChunk(); + BODYChunk(const BODYChunk& other) = default; + BODYChunk& operator =(const BODYChunk& other) = default; + + virtual bool isValid() const override; + + CHUNKID_DEFINE(BODY_CHUNK) + + /*! + * \brief readStride + * \param d The device. + * \param header The bitmap header. + * \param camg The CAMG chunk (optional) + * \param cmap The CMAP chunk (optional) + * \return The scanline as requested for QImage. + * \warning Call resetStrideRead() once before this one. + */ + QByteArray strideRead(QIODevice *d, const BMHDChunk *header, const CAMGChunk *camg = nullptr, const CMAPChunk *cmap = nullptr) const; + + /*! + * \brief resetStrideRead + * Reset the stride read set the position at the beginning of the data and reset all buffers. + * \param d The device + * \param header The BMHDChunk chunk (mandatory) + * \param camg The CAMG chunk (optional) + * \return True on success, otherwise false. + * \sa strideRead + */ + bool resetStrideRead(QIODevice *d) const; + +private: + static QByteArray deinterleave(const QByteArray &planes, const BMHDChunk *header, const CAMGChunk *camg = nullptr, const CMAPChunk *cmap = nullptr); + + mutable QByteArray _readBuffer; +}; + +/*! + * \brief The FORMChunk class + */ +class FORMChunk : public IFFChunk +{ + QByteArray _type; + +public: + virtual ~FORMChunk() override; + FORMChunk(); + FORMChunk(const FORMChunk& other) = default; + FORMChunk& operator =(const FORMChunk& other) = default; + + virtual bool isValid() const override; + + bool isSupported() const; + + QByteArray formType() const; + + QImage::Format format() const; + + QSize size() const; + + CHUNKID_DEFINE(FORM_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + + +/*! + * \brief The FOR4Chunk class + */ +class FOR4Chunk : public IFFChunk +{ + QByteArray _type; + +public: + virtual ~FOR4Chunk() override; + FOR4Chunk(); + FOR4Chunk(const FOR4Chunk& other) = default; + FOR4Chunk& operator =(const FOR4Chunk& other) = default; + + virtual bool isValid() const override; + + virtual qint32 alignBytes() const override; + + bool isSupported() const; + + QByteArray formType() const; + + QImage::Format format() const; + + QSize size() const; + + CHUNKID_DEFINE(FOR4_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + +/*! + * \brief The TBHDChunk class + */ +class TBHDChunk : public IFFChunk +{ +public: + enum Flag { + Rgb = 0x01, + Alpha = 0x02, + ZBuffer = 0x04, + Black = 0x10, + + RgbA = Rgb | Alpha + }; + Q_DECLARE_FLAGS(Flags, Flag) + + enum Compression { + Uncompressed = 0, + Rle = 1 + }; + + virtual ~TBHDChunk() override; + + TBHDChunk(); + TBHDChunk(const TBHDChunk& other) = default; + TBHDChunk& operator =(const TBHDChunk& other) = default; + + virtual bool isValid() const override; + + virtual qint32 alignBytes() const override; + + /*! + * \brief width + * \return Image width in pixels. + */ + qint32 width() const; + + /*! + * \brief height + * \return Image height in pixels. + */ + qint32 height() const; + + /*! + * \brief size + * \return Image size in pixels. + */ + QSize size() const; + + /*! + * \brief left + * \return + */ + qint32 left() const; + + /*! + * \brief top + * \return + */ + qint32 top() const; + + /*! + * \brief flags + * \return Image flags. + */ + Flags flags() const; + + /*! + * \brief bpc + * \return Byte per channel (1 or 2) + */ + qint32 bpc() const; + + /*! + * \brief channels + * \return + */ + qint32 channels() const; + + /*! + * \brief tiles + * \return The number of tiles of the image. + */ + quint16 tiles() const; + + /*! + * \brief compression + * \return The data compression. + */ + Compression compression() const; + + /*! + * \brief format + * \return + */ + QImage::Format format() const; + + CHUNKID_DEFINE(TBHD_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + +/*! + * \brief The RGBAChunk class + */ +class RGBAChunk : public IFFChunk +{ +public: + virtual ~RGBAChunk() override; + RGBAChunk(); + RGBAChunk(const RGBAChunk& other) = default; + RGBAChunk& operator =(const RGBAChunk& other) = default; + + virtual bool isValid() const override; + + virtual qint32 alignBytes() const override; + + /*! + * \brief isTileCompressed + * \param header The image header. + * \return True if the tile is compressed, otherwise false. + */ + bool isTileCompressed(const TBHDChunk *header) const; + + /*! + * \brief pos + * \return The tile position (top-left corner) in the final image. + */ + QPoint pos() const; + + /*! + * \brief size + * \return The tile size in pixels. + */ + QSize size() const; + + /*! + * \brief tile + * Create the tile by reading the data from the device. + * \param d The device. + * \param header The image header. + * \return The image tile. + */ + QImage tile(QIODevice *d, const TBHDChunk *header) const; + + CHUNKID_DEFINE(RGBA_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; + +private: + QImage compressedTile(QIODevice *d, const TBHDChunk *header) const; + + QImage uncompressedTile(QIODevice *d, const TBHDChunk *header) const; + + QByteArray readStride(QIODevice *d, const TBHDChunk *header) const; + +private: + QPoint _pos; + + QSize _size; + + mutable QByteArray _readBuffer; +}; + + +/*! + * \brief The AUTHChunk class + */ +class AUTHChunk : public IFFChunk +{ +public: + virtual ~AUTHChunk() override; + AUTHChunk(); + AUTHChunk(const AUTHChunk& other) = default; + AUTHChunk& operator =(const AUTHChunk& other) = default; + + virtual bool isValid() const override; + + QString value() const; + + CHUNKID_DEFINE(AUTH_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + +/*! + * \brief The DATEChunk class + */ +class DATEChunk : public IFFChunk +{ +public: + virtual ~DATEChunk() override; + DATEChunk(); + DATEChunk(const DATEChunk& other) = default; + DATEChunk& operator =(const DATEChunk& other) = default; + + virtual bool isValid() const override; + + QDateTime value() const; + + CHUNKID_DEFINE(DATE_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + +/*! + * \brief The FVERChunk class + * + * \warning The specifications on wiki.amigaos.net differ from what I see in a file saved in Maya format. I do not interpret the data for now. + */ +class FVERChunk : public IFFChunk +{ +public: + virtual ~FVERChunk() override; + FVERChunk(); + FVERChunk(const FVERChunk& other) = default; + FVERChunk& operator =(const FVERChunk& other) = default; + + virtual bool isValid() const override; + + CHUNKID_DEFINE(FVER_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + + +/*! + * \brief The HISTChunk class + */ +class HISTChunk : public IFFChunk +{ +public: + virtual ~HISTChunk() override; + HISTChunk(); + HISTChunk(const HISTChunk& other) = default; + HISTChunk& operator =(const HISTChunk& other) = default; + + virtual bool isValid() const override; + + QString value() const; + + CHUNKID_DEFINE(HIST_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + + +/*! + * \brief The VERSChunk class + */ +class VERSChunk : public IFFChunk +{ +public: + virtual ~VERSChunk() override; + VERSChunk(); + VERSChunk(const VERSChunk& other) = default; + VERSChunk& operator =(const VERSChunk& other) = default; + + virtual bool isValid() const override; + + QString value() const; + + CHUNKID_DEFINE(VERS_CHUNK) + +protected: + virtual bool innerReadStructure(QIODevice *d) override; +}; + +#endif // KIMG_CHUNKS_P_H diff --git a/src/imageformats/iff.cpp b/src/imageformats/iff.cpp new file mode 100644 index 0000000..2ffed32 --- /dev/null +++ b/src/imageformats/iff.cpp @@ -0,0 +1,362 @@ +/* + This file is part of the KDE project + SPDX-FileCopyrightText: 2025 Mirco Miranda + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#include "chunks_p.h" +#include "iff_p.h" +#include "util_p.h" + +#include +#include +#include +#include + +#ifdef QT_DEBUG +Q_LOGGING_CATEGORY(LOG_IFFPLUGIN, "kf.imageformats.plugins.iff", QtInfoMsg) +#else +Q_LOGGING_CATEGORY(LOG_IFFPLUGIN, "kf.imageformats.plugins.iff", QtWarningMsg) +#endif + +class IFFHandlerPrivate +{ +public: + IFFHandlerPrivate() {} + ~IFFHandlerPrivate() {} + + bool readStructure(QIODevice *d) { + if (d == nullptr) { + return {}; + } + + if (!_chunks.isEmpty()) { + return true; + } + + auto ok = false; + auto chunks = IFFChunk::fromDevice(d, &ok); + if (ok) { + _chunks = chunks; + } + return ok; + } + + template + static QList searchForms(const IFFChunk::ChunkList &chunks, bool supportedOnly = true) { + QList list; + auto cid = T::defaultChunkId(); + auto forms = IFFChunk::search(cid, chunks); + for (auto &&form : forms) { + if (auto f = dynamic_cast(form.data())) + if (!supportedOnly || f->isSupported()) + list << f; + } + return list; + } + + template + QList searchForms(bool supportedOnly = true) { + return searchForms(_chunks, supportedOnly); + } + + IFFChunk::ChunkList _chunks; +}; + + +IFFHandler::IFFHandler() + : QImageIOHandler() + , d(new IFFHandlerPrivate) +{ +} + +bool IFFHandler::canRead() const +{ + if (canRead(device())) { + setFormat("iff"); + return true; + } + return false; +} + +bool IFFHandler::canRead(QIODevice *device) +{ + if (!device) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::canRead() called with no device"; + return false; + } + + if (device->isSequential()) { + return false; + } + + auto ok = false; + auto pos = device->pos(); + auto chunks = IFFChunk::fromDevice(device, &ok); + if (!device->seek(pos)) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::canRead() unable to reset device position"; + } + if (ok) { + auto forms = IFFHandlerPrivate::searchForms(chunks, true); + auto for4s = IFFHandlerPrivate::searchForms(chunks, true); + ok = !forms.isEmpty() || !for4s.isEmpty(); + } + return ok; +} + +void addMetadata(QImage& img, const IFFChunk *form) +{ + auto dates = IFFChunk::searchT(form); + if (!dates.isEmpty()) { + auto dt = dates.first()->value(); + if (dt.isValid()) { + img.setText(QStringLiteral(META_KEY_CREATIONDATE), dt.toString(Qt::ISODate)); + } + } + auto auths = IFFChunk::searchT(form); + if (!auths.isEmpty()) { + auto auth = auths.first()->value(); + if (!auth.isEmpty()) { + img.setText(QStringLiteral(META_KEY_AUTHOR), auth); + } + } + auto vers = IFFChunk::searchT(form); + if (!vers.isEmpty()) { + auto ver = vers.first()->value(); + if (!vers.isEmpty()) { + img.setText(QStringLiteral(META_KEY_SOFTWARE), ver); + } + } +} + +bool IFFHandler::readStandardImage(QImage *image) +{ + auto forms = d->searchForms(); + if (forms.isEmpty()) { + return false; + } + auto &&form = forms.first(); + + // show the first one (I don't have a sample with many images) + auto headers = IFFChunk::searchT(form); + if (headers.isEmpty()) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readStandardImage() no supported image found"; + return false; + } + + // create the image + auto &&header = headers.first(); + auto img = imageAlloc(header->size(), form->format()); + if (img.isNull()) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readStandardImage() error while allocating the image"; + return false; + } + + // resolution + auto dpis = IFFChunk::searchT(form); + if (!dpis.isEmpty()) { + auto &&dpi = dpis.first(); + if (dpi->isValid()) { + img.setDotsPerMeterX(dpi->dotsPerMeterX()); + img.setDotsPerMeterY(dpi->dotsPerMeterY()); + } + } + + // set color table + auto cmaps = IFFChunk::searchT(form); + if (img.format() == QImage::Format_Indexed8) { + if (!cmaps.isEmpty()) + if (auto &&cmap = cmaps.first()) + img.setColorTable(cmap->palette()); + } + + auto bodies = IFFChunk::searchT(form); + if (bodies.isEmpty()) { + img.fill(0); + } else { + const CAMGChunk *camg = nullptr; + auto camgs = IFFChunk::searchT(form); + if (!camgs.isEmpty()) { + camg = camgs.first(); + } + + const CMAPChunk *cmap = nullptr; + if (!cmaps.isEmpty()) + cmap = cmaps.first(); + + auto &&body = bodies.first(); + if (!body->resetStrideRead(device())) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readStandardImage() error while reading image data"; + return false; + } + for (auto y = 0, h = img.height(); y < h; ++y) { + auto line = reinterpret_cast(img.scanLine(y)); + auto ba = body->strideRead(device(), header, camg, cmap); + if (ba.isEmpty()) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readStandardImage() error while reading image scanline"; + return false; + } + memcpy(line, ba.constData(), std::min(img.bytesPerLine(), ba.size())); + } + } + + addMetadata(img, form); + + *image = img; + return true; +} + +bool IFFHandler::readMayaImage(QImage *image) +{ + auto forms = d->searchForms(); + if (forms.isEmpty()) { + return false; + } + auto &&form = forms.first(); + + // show the first one (I don't have a sample with many images) + auto headers = IFFChunk::searchT(form); + if (headers.isEmpty()) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readMayaImage() no supported image found"; + return false; + } + + // create the image + auto &&header = headers.first(); + auto img = imageAlloc(header->size(), form->format()); + if (img.isNull()) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readMayaImage() error while allocating the image"; + return false; + } + + auto &&tiles = IFFChunk::searchT(form); + if ((tiles.size() & 0xFFFF) != header->tiles()) { // Photoshop, on large images saves more than 65535 tiles + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readMayaImage() tile number mismatch: found" << tiles.size() << "while expected" << header->tiles(); + return false; + } + for (auto &&tile : tiles) { + auto tp = tile->pos(); + auto ts = tile->size(); + if (tp.x() < 0 || tp.x() + ts.width() > img.width()) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readMayaImage() wrong tile position or size"; + return false; + } + if (tp.y() < 0 || tp.y() + ts.height() > img.height()) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readMayaImage() wrong tile position or size"; + return false; + } + // For future releases: it might be a good idea not to use a QPainter + auto ti = tile->tile(device(), header); + if (ti.isNull()) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::readMayaImage() error while decoding the tile"; + return false; + } + QPainter painter(&img); + painter.setCompositionMode(QPainter::CompositionMode_Source); + painter.drawImage(tp, ti); + } +#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0) + img.mirror(false, true); +#else + img.flip(Qt::Orientation::Vertical); +#endif + addMetadata(img, form); + + *image = img; + return true; +} + +bool IFFHandler::read(QImage *image) +{ + if (!d->readStructure(device())) { + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::read() invalid IFF structure"; + return false; + } + + if (readStandardImage(image)) { + return true; + } + + if (readMayaImage(image)) { + return true; + } + + qCWarning(LOG_IFFPLUGIN) << "IFFHandler::read() no supported image found"; + return false; +} + +bool IFFHandler::supportsOption(ImageOption option) const +{ + if (option == QImageIOHandler::Size) { + return true; + } + if (option == QImageIOHandler::ImageFormat) { + return true; + } + return false; +} + +QVariant IFFHandler::option(ImageOption option) const +{ + QVariant v; + + if (option == QImageIOHandler::Size) { + if (d->readStructure(device())) { + auto forms = d->searchForms(); + if (!forms.isEmpty()) + if (auto &&form = forms.first()) + v = QVariant::fromValue(form->size()); + + auto for4s = d->searchForms(); + if (!for4s.isEmpty()) + if (auto &&form = for4s.first()) + v = QVariant::fromValue(form->size()); + } + } + + if (option == QImageIOHandler::ImageFormat) { + if (d->readStructure(device())) { + auto forms = d->searchForms(); + if (!forms.isEmpty()) + if (auto &&form = forms.first()) + v = QVariant::fromValue(form->format()); + + auto for4s = d->searchForms(); + if (!for4s.isEmpty()) + if (auto &&form = for4s.first()) + v = QVariant::fromValue(form->format()); + } + } + + return v; +} + +QImageIOPlugin::Capabilities IFFPlugin::capabilities(QIODevice *device, const QByteArray &format) const +{ + if (format == "iff") { + return Capabilities(CanRead); + } + if (!format.isEmpty()) { + return {}; + } + if (!device->isOpen()) { + return {}; + } + + Capabilities cap; + if (device->isReadable() && IFFHandler::canRead(device)) { + cap |= CanRead; + } + return cap; +} + +QImageIOHandler *IFFPlugin::create(QIODevice *device, const QByteArray &format) const +{ + QImageIOHandler *handler = new IFFHandler; + handler->setDevice(device); + handler->setFormat(format); + return handler; +} + +#include "moc_iff_p.cpp" diff --git a/src/imageformats/iff.json b/src/imageformats/iff.json new file mode 100644 index 0000000..a64b8cb --- /dev/null +++ b/src/imageformats/iff.json @@ -0,0 +1,4 @@ +{ + "Keys": [ "iff" ], + "MimeTypes": [ "application/x-iff" ] +} diff --git a/src/imageformats/iff_p.h b/src/imageformats/iff_p.h new file mode 100644 index 0000000..df36b31 --- /dev/null +++ b/src/imageformats/iff_p.h @@ -0,0 +1,47 @@ +/* + This file is part of the KDE project + SPDX-FileCopyrightText: 2025 Mirco Miranda + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#ifndef KIMG_IFF_P_H +#define KIMG_IFF_P_H + +#include +#include + +class IFFHandlerPrivate; +class IFFHandler : public QImageIOHandler +{ +public: + IFFHandler(); + + bool canRead() const override; + bool read(QImage *image) override; + + bool supportsOption(QImageIOHandler::ImageOption option) const override; + QVariant option(QImageIOHandler::ImageOption option) const override; + + static bool canRead(QIODevice *device); + +private: + bool readStandardImage(QImage *image); + + bool readMayaImage(QImage *image); + +private: + const QScopedPointer d; +}; + +class IFFPlugin : public QImageIOPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "iff.json") + +public: + Capabilities capabilities(QIODevice *device, const QByteArray &format) const override; + QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override; +}; + +#endif // KIMG_IFF_P_H diff --git a/src/imageformats/packbits_p.h b/src/imageformats/packbits_p.h new file mode 100644 index 0000000..63a1b55 --- /dev/null +++ b/src/imageformats/packbits_p.h @@ -0,0 +1,111 @@ +/* + Packbits compression used on many legacy formats (IFF, PSD, TIFF). + + SPDX-FileCopyrightText: 2025 Mirco Miranda + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ +#ifndef PACKBITS_P_H +#define PACKBITS_P_H + +#include + +/*! + * \brief packbitsDecompress + * Fast PackBits decompression. + * \param input The compressed input buffer. + * \param ilen The input buffer size. + * \param output The uncompressed target buffer. + * \param olen The target buffer size. + * \param allowN128 If true, -128 is a valid run length size (false for PSD / TIFF, true for IFF) . + * \return The number of valid bytes in the target buffer. + */ +inline qint64 packbitsDecompress(const char *input, qint64 ilen, char *output, qint64 olen, bool allowN128 = false) +{ + qint64 j = 0; + for (qint64 ip = 0, rr = 0, available = olen; j < olen && ip < ilen; available = olen - j) { + signed char n = static_cast(input[ip++]); + if (n == -128 && !allowN128) + continue; + + if (n >= 0) { + rr = qint64(n) + 1; + if (available < rr) { + --ip; + break; + } + + if (ip + rr > ilen) + return -1; + memcpy(output + j, input + ip, size_t(rr)); + ip += rr; + } else if (ip < ilen) { + rr = qint64(1-n); + if (available < rr) { + --ip; + break; + } + memset(output + j, input[ip++], size_t(rr)); + } + + j += rr; + } + return j; +} + +/*! + * \brief packbitsDecompress + * PackBits decompression. + * \param input The input device. + * \param output The uncompressed target buffer. + * \param olen The target buffer size. + * \param allowN128 If true, -128 is a valid run length size (false for PSD / TIFF, true for IFF) . + * \return The number of valid bytes in the target buffer. + */ +inline qint64 packbitsDecompress(QIODevice *input, char *output, qint64 olen, bool allowN128 = false) +{ + qint64 j = 0; + for (qint64 rr = 0, available = olen; j < olen; available = olen - j) { + char n; + + // check the output buffer space for the next run + if (available < 129) { + if (input->peek(&n, 1) != 1) { // end of data (or error) + break; + } + if (static_cast(n) != -128 || allowN128) + if ((static_cast(n) >= 0 ? qint64(n) + 1 : qint64(1 - n)) > available) + break; + } + + // decompress + if (input->read(&n, 1) != 1) { // end of data (or error) + break; + } + + if (static_cast(n) == -128 && !allowN128) { + continue; + } + + if (static_cast(n) >= 0) { + rr = input->read(output + j, qint64(n) + 1); + if (rr == -1) { + return -1; + } + } + else { + char b; + if (input->read(&b, 1) != 1) { + break; + } + rr = qint64(1 - static_cast(n)); + std::memset(output + j, b, size_t(rr)); + } + + j += rr; + } + return j; +} + + +#endif // PACKBITS_P_H diff --git a/src/imageformats/psd.cpp b/src/imageformats/psd.cpp index ab8a6ea..8960bbb 100644 --- a/src/imageformats/psd.cpp +++ b/src/imageformats/psd.cpp @@ -28,6 +28,7 @@ #include "fastmath_p.h" #include "microexif_p.h" +#include "packbits_p.h" #include "psd_p.h" #include "scanlineconverter_p.h" #include "util_p.h" @@ -712,48 +713,6 @@ static bool IsSupported(const PSDHeader &header) return true; } -/*! - * \brief decompress - * Fast PackBits decompression. - * \param input The compressed input buffer. - * \param ilen The input buffer size. - * \param output The uncompressed target buffer. - * \param olen The target buffer size. - * \return The number of valid bytes in the target buffer. - */ -qint64 decompress(const char *input, qint64 ilen, char *output, qint64 olen) -{ - qint64 j = 0; - for (qint64 ip = 0, rr = 0, available = olen; j < olen && ip < ilen; available = olen - j) { - signed char n = static_cast(input[ip++]); - if (n == -128) - continue; - - if (n >= 0) { - rr = qint64(n) + 1; - if (available < rr) { - --ip; - break; - } - - if (ip + rr > ilen) - return -1; - memcpy(output + j, input + ip, size_t(rr)); - ip += rr; - } else if (ip < ilen) { - rr = qint64(1-n); - if (available < rr) { - --ip; - break; - } - memset(output + j, input[ip++], size_t(rr)); - } - - j += rr; - } - return j; -} - /*! * \brief imageFormat * \param header The PSD header. @@ -1102,7 +1061,7 @@ bool readChannel(QByteArray &target, QDataStream &stream, quint32 compressedSize if (stream.readRawData(tmp.data(), tmp.size()) != tmp.size()) { return false; } - if (decompress(tmp.data(), tmp.size(), target.data(), target.size()) < 0) { + if (packbitsDecompress(tmp.data(), tmp.size(), target.data(), target.size()) < 0) { return false; } } else if (stream.readRawData(target.data(), target.size()) != target.size()) {