Mirco Miranda and Mirco Miranda
516750e6fc
Readme: update supported formats
2026-07-28 09:44:58 +02:00
Mirco Miranda
687914f2e7
Test Readme: added JPG support
2026-07-28 07:19:12 +02:00
Mirco Miranda
66d7d7c154
QOI: check format only in lowercase
2026-07-27 10:05:33 +02:00
Mirco Miranda and Mirco Miranda
c21b50d699
EXIF: add support for Windows Explorer tags
2026-07-20 07:27:34 +02:00
Mirco Miranda
7e14d5616f
IFF: support for ZIP compressed RGFX
2026-07-13 10:13:23 +02:00
Mirco Miranda
e6bc1af5e4
EXR: added support for additional metadata
2026-06-26 09:05:48 +02:00
Mirco Miranda
18322b0659
JP2: limits the maximum number of channels to the global value defined
2026-06-22 08:36:49 +02:00
Mirco Miranda and Mirco Miranda
8768a8cf97
HEIF: use heif_reader for random access devices
2026-06-12 08:18:19 +02:00
Mirco Miranda and Mirco Miranda
52045ff84d
Added limit to maximum number of channels
2026-06-10 04:33:37 +02:00
Mirco Miranda and Mirco Miranda
ec640db10e
Improve buffer memory management
2026-06-06 01:28:31 +02:00
Mirco Miranda
a2a8c955df
Updated documentation on memory usage
2026-06-04 07:17:54 +02:00
Mirco Miranda
f450e5c9a9
JXR: add a memory allocation barrier in jxrlib
2026-05-27 10:37:09 +02:00
Mirco Miranda
9dfcf67ea9
EXR: reject files with dimensions exceeding 300kx300k pixels
2026-05-25 14:13:15 +02:00
Mirco Miranda and Mirco Miranda
6017099044
OSS Fuzz: set image allocation limit to 2000 MiB
2026-05-23 05:59:01 +02:00
Mirco Miranda
9ddad16767
Improve size limits for AVIF, HEIF, and RAW plugins
2026-05-15 12:13:12 +02:00
Mirco Miranda
0e2b137b32
IFF: fix byte swapping in 16-bit DEEP images
2026-05-12 10:31:43 +02:00
Mirco Miranda
6d5e61f0b0
Add Farbfeld read only support
2026-05-11 07:38:28 +02:00
Mirco Miranda and Mirco Miranda
d7c3174fb6
DDS: fix mime type
2026-05-08 04:58:39 +02:00
Mirco Miranda and Mirco Miranda
49a8fd38c8
IFF: DEEP image support
2026-05-08 01:29:54 +02:00
Mirco Miranda
1206598337
imageAlloc: add image initialization support
2026-05-07 08:41:10 +02:00
Mirco Miranda
3488077d8d
Fix uninitialized value
2026-05-04 08:51:34 +02:00
Mirco Miranda and Mirco Miranda
8048279473
HEIF: image transformation support
2026-05-03 00:00:11 +02:00
Mirco Miranda
a936927ec1
JXR: check all library return codes
2026-04-26 06:22:30 +02:00
Mirco Miranda and Mirco Miranda
51db11eefc
JXR: fix Use-of-uninitialized-value
2026-04-23 14:44:45 +02:00
Mirco Miranda
bc398382ac
EXR: fix Null-dereference READ in OpenEXR
2026-04-23 11:42:16 +02:00
Mirco Miranda and Albert Astals Cid
d5e5012cfb
HDR: fix incorrect use of s.atEnd()
2026-04-20 12:49:35 +00:00
Mirco Miranda
1b3f32a332
JXR: minimal support for multichannel 3 and 4
2026-04-20 14:13:10 +02:00
Mirco Miranda and Albert Astals Cid
d160f268e7
Improved documentation for DDS, JP2 and PSD formats
2026-04-18 08:32:32 +00:00
Mirco Miranda
276338199a
EXR: fix incorrect loading of EXR files saved by Photoshop 2026
2026-04-16 15:34:33 +02:00
Mirco Miranda
742b5097f6
Fix HOST Computer metadata
2026-04-14 10:47:54 +02:00
Mirco Miranda
2d2ee68cc0
Add more info about unsecure JXR plugin
2026-04-13 12:45:09 +02:00
Mirco Miranda and Mirco Miranda
142ec14c81
TIM: PlayStation graphics read only support
2026-03-24 08:38:08 +01:00
Mirco Miranda
7c86ccaefb
IFF: fix Integer-overflow in IDATChunk::strideSize
2026-03-23 12:05:01 +01:00
Mirco Miranda
836e0a53bb
JP2: fix possible Undefined-shift
2026-03-04 08:15:48 +01:00
Mirco Miranda
5eb09116b0
IFF: fix buffer read overflow
2026-02-24 08:57:45 +01:00
Mirco Miranda and Albert Astals Cid
92368ca58f
Fix Heap-buffer-overflow WRITE
2026-02-22 18:27:34 +00:00
Mirco Miranda
a91c7ef72f
Fixed excessively frequent warning messages
2026-02-22 14:56:21 +01:00
Mirco Miranda
c254875780
ANI: fix possible QByteArray allocation exception
2026-02-16 10:12:05 +01:00
Mirco Miranda
1ef779f370
RGB: fix a possible exception on the new
2026-02-12 13:42:58 +01:00
Mirco Miranda and Albert Astals Cid
ebf77ccdf5
TGA: fix Undefined-shift
2026-02-09 23:02:06 +00:00
Mirco Miranda and Albert Astals Cid
359cb039d2
PSD: improve conversion sanity checks
2026-02-09 22:50:51 +00:00
Mirco Miranda and Albert Astals Cid
f4b91d8a54
IFF: fix compilation warnings
2026-02-09 22:46:04 +00:00
Mirco Miranda
263b5a88e2
ANI: check for array allocation size
2026-02-09 08:41:40 +01:00
Mirco Miranda
e0f1ba640a
IFF: add uncompressed RGFX support
2026-01-27 13:58:01 +01:00
Mirco Miranda and Albert 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 and Mirco Miranda
30308f3541
HEIF tests skipped using kde-ci.yml
2025-12-24 17:56:44 +01:00
Mirco Miranda
db1cb8de1f
Add allocation limit test (0/256 MiB)
2025-12-09 15:55:35 +01:00
Mirco Miranda and Albert Astals Cid
472ff92b96
PSD: fix use of uninitialized tmp image
2025-11-21 01:21:18 +00:00
Mirco Miranda
847510f109
EXR: fix of uninitialized RGB read buffer
2025-11-20 07:36:49 +01:00
Mirco Miranda and Albert Astals Cid
a8ad7be1cd
RGB: fix Use-of-uninitialized-value
2025-11-19 11:05:36 +00:00
Mirco Miranda
7202e77c74
HDR: readHeader() sanity checks
2025-11-18 16:56:46 +01:00
Mirco Miranda
379c3c1738
PSD: return error if a complete line is read/decompressed
2025-11-17 14:38:07 +01:00
Mirco Miranda
d3d4bea2f1
PSD: limit memory usage on corrupted files
2025-11-07 15:36:31 +01:00
Mirco Miranda
1c6ce2437e
PSD: minor fixes while reading Image resource Section
2025-11-03 08:27:17 +01:00
Mirco Miranda
e7d01c286f
IFF: fix crash on malformed files
2025-10-31 09:07:40 +01:00
Mirco Miranda
3d4d74fc02
PSD: improve sections size checks
2025-10-24 08:39:58 +02:00
Mirco Miranda
326e56029a
TGA: ignoring large metadata on dev area
2025-10-23 14:54:52 +02:00
Mirco Miranda and Mirco Miranda
e8e5b091bc
Check device before read
2025-10-23 12:18:59 +02:00
Mirco Miranda
aeb2988eec
Fix possible infinite loop when reading a broken jp2
2025-10-23 11:59:39 +02:00
Mirco Miranda and Albert 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 and Mirco Miranda
7512874620
Use internal FP32 conversion instead of FP16
2025-10-18 05:43:08 +02:00
Mirco Miranda
146f637385
Fix read test failing on aarch64
2025-10-17 13:43:24 +02:00
Mirco Miranda
19faa55a6d
Fix crash on malformed files
2025-10-10 09:03:18 +02:00
Mirco Miranda and Mirco Miranda
37e3c65a05
ILBM 64-bit extension support
2025-08-04 13:47:00 +02:00
Mirco Miranda
aef4bd7e1c
Fix unused param in MicroExif::toByteArray()
2025-07-07 08:17:36 +02:00
Mirco Miranda
850068c1dc
JXR: fix compilation error on 32-bit systems
2025-04-22 08:01:02 +02:00
Mirco Miranda
25cc8bc262
MicroExif: search for the TIFF signature
2025-03-03 09:17:56 +01:00
Mirco Miranda
bb1c6aab9e
Added pixel limit detected by experimental tests
2025-02-17 08:54:49 +01:00
Mirco Miranda
b28cf4c352
Added JXL to CMYK formats
2025-02-07 15:55:23 +01:00
Mirco Miranda
e89408b426
Fix RAW mime type
2025-01-31 08:32:23 +01:00
Mirco Miranda
424e7a75de
Modified PCX mime type according to IANA db
2025-01-23 08:00:37 +01:00
Mirco Miranda
287a447095
Fix use of deprecated methods
2025-01-16 14:02:44 +01:00
Mirco Miranda and Albert Astals Cid
ac3591c7ea
PSD: added support to EXIF metadata
2025-01-15 23:26:02 +00:00
Mirco Miranda and Daniel Novomeský
a89367dde6
JXR: set max XMP size to 4MiB
2025-01-15 20:36:28 +00:00
Mirco Miranda
46f7b90ce6
Fixed read of BGR32 and RGB555 formats
2024-09-16 17:16:28 +02:00
Mirco Miranda
a497ab789b
exr: added some usefull attributes
2024-07-21 04:52:18 +00:00
Mirco Miranda and Albert Astals Cid
f5a6de7280
Full range HDR support
...
EXR, HDR, JXR and PFM formats support High Dynamic Range images (FP values grater than 1).
In summary, here is the list of changes:
EXR, HDR, JXR and PFM: When working with FP formats, the clamp between 0 and 1 is no longer done.
EXR: Removed old SDR code and conversions. Due to the lack of a QImage Gray FP format, Gray images are output as RGB FP (recently added code for Qt 6.8 has been removed).
PFM: Due to the lack of a QImage Gray FP format, Gray images are output as RGB FP.
HDR: Added rotation and exposure support.
With this patch, EXR, JXR, HDR, PFM behave like Qt's TIFF plugin when working with FP images.
2024-07-17 22:24:57 +02:00
Mirco Miranda and Albert Astals Cid
b849e48ef4
Fixed wrong plugin options behaviour
...
While working on MR !230 I noticed that the options read I entered into several plugins could not be read after reading the image.
**The patch fixes problems reading options in plugins and adds option checking in the readtest.cpp.**
In particular, the reading test does the following additional actions:
- reads options before reading the image;
- compare the options read with the options returned by the reader after reading the image;
- compares the format and size of the returned image with the format and size returned by the reader.
2024-06-19 22:18:45 +00:00
Mirco Miranda and Albert Astals Cid
81b7263d73
EXR: Full support for gray image/colorspace
...
Starting with Qt 6.8, QColorSpace supports Gray and CMYK color profiles.
- On saving, grayscale images are converted to linear gray profile;
- On loading, a Grayscale image is stored in a QImage::Format_Grayscale16 instead a RGB one;
- ScanlineConverter class was updated to gray conversions.
2024-06-17 15:17:51 +00:00
Mirco Miranda and Albert Astals Cid
63e21ee5f3
Disable JXR plugin due to crashes in JXRLIB
...
I ran a simple fuzzer on all the plugins in the repo and the JXR one crashes every few seconds. I attach some files (I have many more) that cause the crashes. For the moment I think it's best to keep it deactivated.
The strange thing is that for the same plugin I had created the PR on oss-fuzz which ran locally for over an hour without problems. I'm a bit confused.
2024-06-13 22:24:19 +00:00
Mirco Miranda and Albert Astals Cid
06f097046c
PFM: Portable FloatMap read only support
...
Simple HDR format supported by GIMP (read/write) and Photoshop (read/write).
2024-06-13 22:20:40 +00:00
Mirco Miranda and Albert Astals Cid
950ed43623
PXR: Pixar raster read only support
...
Limited read only support to Pixar raster as supported by Photoshop (RGB and Gray 8-bit only).
2024-06-12 22:42:08 +00:00
Mirco Miranda and Albert Astals Cid
863c424390
Sanity checks (fuzzer)
...
I ran a stupid fuzzer on all the plugins in the repo and some plugins needs more sanity checks.
- RAS: fixed palette reading on corrupted files
- RGB: improved error detection on datastream
This patch improves the reading speed of some corrupted files and limit the maximum memory allocation of RAS palette.
2024-06-11 22:15:27 +00:00
Mirco Miranda and Albert Astals Cid
bd083ff354
XCF: fixed wrong composite on Grayscale images
...
CCBUG: 476755
2024-06-10 20:16:31 +00:00
Mirco Miranda and Albert Astals Cid
7499e3b8d4
Use of metadata macro definitions
...
Replaced the metadata string with the common macro definition
2024-06-07 15:08:37 +00:00
Mirco Miranda and Albert Astals Cid
cb5ca7fc48
JXR: added CMYK image to read test
...
Improved read test to skip unsupported image format: the CMYK image test only works if you compile with Qt 6.8 or higher.
2024-06-07 14:09:34 +00:00
Mirco Miranda and Albert Astals Cid
4f61e3912c
XCF: Increased maximum property size
...
CCBUG: 426222
The problem was caused by a check on the maximum size of properties (specifically it failed on PROP_PARASITES).
2024-06-07 11:43:31 +00:00
Mirco Miranda and Albert Astals Cid
b8a9c75c80
JXR support
...
CCBUG: 451584
An implementation of the JXR format.
2024-06-07 10:35:25 +00:00
Mirco Miranda and Albert Astals Cid
4995c9cd15
PSD: support native CMYK introduced by Qt 6.8
...
Qt 6.8 will introduce native support for the CMYK (8-bit) format.
With this patch you will finally be able to correctly see the colors of CMYK images with ICC profile.
The testing part has been updated with the addition of an (optional) json file for each image to test. Inside you enter which image to use depending on the Qt version.
In short:
- Added native CMYK suport to PSD reader
- CMYK with alpha is converted using QColorSpace in a RGBA image
- Read tests changed to use the correct comparison image based on the Qt version
- Fixed also XCF tests: now works with all Qt version (see also [QTBUG-120614](https://bugreports.qt.io/browse/QTBUG-120614 ))
- Work around for CCBUG: 468288
2024-06-07 10:16:58 +00:00
Mirco Miranda and Albert Astals Cid
95ee381195
XCF: testcase update for fixed Qt
...
Updated testcases to work with Qt without alpha [bug](https://bugreports.qt.io/browse/QTBUG-120614 .).
Needs Qt >= 6.6.2 for tests to pass
2024-03-14 21:49:09 +00:00
Mirco Miranda and Albert Astals Cid
8e5951471d
TGA: added options support
...
- Added Size and Format options support
- Fixed a double image allocation when reading RGBA images (RGB was always allocated and then replaced by RGBA one)
- Fixed the code for sequential devices
The Size option is used by the KIO 5 thumbnailer to avoid to use too memory. A backport to KF5 would serve CCBUG: 413801 and CCBUG: 479612
2024-03-04 23:47:59 +00:00
Mirco Miranda
0710bc65f6
More header checks (CCBUG: 479612)
2024-02-29 15:55:57 +01:00
Mirco Miranda
6cbdf9cf54
Workaround QTBUG-120614
2024-02-09 07:55:28 +00:00
Mirco Miranda
9f7b1b8dee
ScanlineConverter: fix indexed conversion and support for source depth less than 24 bits
2024-01-06 09:04:06 +01:00
Mirco Miranda
f065104b72
Less space used when saving a grayscale image
2024-01-06 08:20:14 +01:00
Mirco Miranda and Albert Astals Cid
9f24023ca7
The maximum number of channels explained better
...
Just a clarification on why the maximum value of channels present in the specifications is not used.
2023-12-20 16:43:12 +00:00