Commit Graph
36 Commits
Author SHA1 Message Date
Mirco Miranda 477e9ea542 IFF: fix stack overflow in PLTEChunk::count() 2026-10-26 16:20:44 +01:00
Sertonix NorsonandAlbert Astals Cid 104643bf09 IFF: fix BODYChunk::deinterleave on big-endian
Qt accesses the data of QImage::Format_RGBX64 and QImage::Format_RGBA64
as host-endian quint16. Having BODYChunk::deinterleave write the data
with host-endian to fix parsing on big-endian systems.
2026-10-03 10:43:42 +00:00
Sertonix NorsonandAlbert Astals Cid 9a45321440 IFF: fix DBODChunk::strideRead on big-endian
On big-endian systems the uint16 data should stay big-endian.
2026-10-03 10:43:42 +00:00
Mirco Miranda 7e14d5616f IFF: support for ZIP compressed RGFX 2026-07-13 10:13:23 +02:00
Mirco MirandaandMirco Miranda 52045ff84d Added limit to maximum number of channels 2026-06-10 04:33:37 +02:00
Mirco Miranda 0e2b137b32 IFF: fix byte swapping in 16-bit DEEP images 2026-05-12 10:31:43 +02:00
Mirco MirandaandMirco Miranda 49a8fd38c8 IFF: DEEP image support 2026-05-08 01:29:54 +02:00
Mirco Miranda 7c86ccaefb IFF: fix Integer-overflow in IDATChunk::strideSize 2026-03-23 12:05:01 +01:00
Mirco Miranda 5eb09116b0 IFF: fix buffer read overflow 2026-02-24 08:57:45 +01:00
Mirco Miranda a91c7ef72f Fixed excessively frequent warning messages 2026-02-22 14:56:21 +01:00
Mirco MirandaandAlbert Astals Cid f4b91d8a54 IFF: fix compilation warnings 2026-02-09 22:46:04 +00:00
Mirco Miranda e0f1ba640a IFF: add uncompressed RGFX support 2026-01-27 13:58:01 +01:00
Mirco MirandaandAlbert Astals Cid 32773e5f0c IFF: add CD-i Rle7 support 2026-01-20 21:17:08 +00:00
Mirco Miranda 2410e45614 Decode Atari ST VDAT chunks 2026-01-20 10:20:32 +01:00
Mirco Miranda 99e4223393 IFF: add support for CD-i YUVS chunk (and minor code improvements) 2026-01-15 16:53:50 +01:00
Mirco Miranda 8224c0099d Add support for CD-I IFF images 2026-01-14 16:53:19 +01:00
Mirco Miranda e7d01c286f IFF: fix crash on malformed files 2025-10-31 09:07:40 +01:00
Albert Astals Cid dfda863841 iff: Fix crash on malformed files
oss-fuzz/455510771
2025-10-28 00:50:06 +01:00
Mirco MirandaandAlbert Astals Cid abfda2ce69 On demand buffer allocation on PCHG decompression 2025-10-23 07:58:58 +00:00
Mirco Miranda d6d67c7b8b Fix possible read overflow with malformed data 2025-10-23 08:23:57 +02:00
Mirco Miranda 54c94764d1 Fix wrong palette check 2025-10-21 19:33:12 +02:00
Mirco Miranda 19faa55a6d Fix crash on malformed files 2025-10-10 09:03:18 +02:00
Mirco Miranda b9bfeedbc1 Fix crash on malformed files 2025-10-06 01:04:40 +02:00
Mirco Miranda a4e18734bd Resolution calculations performed by functions
Added functions for dpi <-> ppm transformations and used in all plugins.
2025-09-17 12:22:44 +02:00
Mirco MirandaandAlbert Astals Cid 463da81fad IFF: support for PCHG chunk
Highlights:
- Adds support for a new palette changer chunk. Some test cases attached to #38 .
- Fixes the reading of ILBMs with the mask (test case: [cyclone.iff](/uploads/d8734d2155fd0d21f7b003b37e0d1259/cyclone.iff)).
- Adds support for HAM5 encoding.
- Adds more test cases created using [HAM Converter](http://mrsebe.bplaced.net/blog/wordpress/).
- Adds support for Atari STE RAST chunk outside FORM one (test case: [fish.iff](/uploads/c461cf4b6a1423cec60fbce645d9fd07/fish.iff)).

NOTE: I contacted Sebastiano Vigna, the author of the PCHG chunk specifications, and he provided me with:
- Some images to test the code (but I can't include them in the test cases).
- Permission to use [his code](https://vigna.di.unimi.it/amiga/PCHGLib.zip) without restrictions: Huffman decompression was achieved by converting `FastDecomp.a` via AI.

Closes #38
2025-09-08 15:39:50 +00:00
Mirco Miranda f63b082c85 IFF: add support for a different palette per line 2025-08-12 08:28:31 +02:00
Mirco Miranda 68cc915132 IFF: Fix possible undefined-shift 2025-08-09 11:46:05 +02:00
Mirco MirandaandAlbert Astals Cid 480ea8dba0 IFF: add support for RGBN/RGB8 image data and CAT chunk
Add the following features:
- RGB8 image data support (test case added)
- RGBN image data support ([Clouds.iff](/uploads/9db869350f74421bf1813fa7d4332f4f/Clouds.iff))
- CAT chunk support: you can have more than one image for file (test case added)
- Image transformation support via EXIF data

[RGBN/RGB8](https://wiki.amigaos.net/wiki/RGBN_and_RGB8_IFF_Image_Data) files are used in Impulse's Turbo Silver and Imagine.

Closes #34
2025-08-07 20:17:09 +00:00
Mirco MirandaandMirco Miranda 37e3c65a05 ILBM 64-bit extension support 2025-08-04 13:47:00 +02:00
Mirco Miranda 4b44f8474f Fix oss-fuzz compilation error 2025-08-04 13:46:16 +02:00
Mirco Miranda c2a1d4b401 IFF: Fix halfbride detection, 1-bitplane colors and PBM line size calculation. It also ignore ZBuffer flag on Maya images (like Photoshop does) amd adds CMYK palette support. 2025-08-01 15:29:52 +02:00
Mirco Miranda fd864e6f55 IFF: add support for uncompressed ACBM type 2025-07-24 07:37:58 +02:00
Allen Winter 083680eb77 chunks.cpp - send info and warning messages to the iff logging category
For example:
`IFFChunk::innerFromDevice: unkwnown chunk "\x89PNG"`

becomes:
`kf.imageformats.plugins.iff: IFFChunk::innerFromDevice: unknown chunk "\x89PNG"`

bonus: we can filter out such messages if we want using QT_LOGGING_RULES

also note the spelling fix
2025-07-16 11:00:54 -04:00
Mirco Miranda 0a9f9fe106 IFF: support for Ham8, HalfBride, Pbm and ILBM 32-bits modes 2025-07-15 07:38:19 +02:00
Mirco MirandaandAlbert Astals Cid ea1983a7d1 IFF: Fix possible stack overflow 2025-07-05 09:59:06 +00:00
Mirco MirandaandAlbert Astals Cid 4f2f2425d3 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
2025-07-01 21:59:03 +00:00