Commit graph

36 commits

Author SHA1 Message Date
Ivailo Monev
1a0b5387c3 kimgio: initialize capabilities variables
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-10 22:53:03 +03:00
Ivailo Monev
a4ce7d439c kimgio: log what kind of header was detected and on what iteration
as clarification what plugin will be used for example when data is probed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-27 07:46:46 +02:00
Ivailo Monev
970e069cd1 kimgio: implement reading of 8-bit depth BMP images for ico plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-04 08:13:11 +03:00
Ivailo Monev
1564dd849f kimageio: read and apply mask for BMP images that are not 32-bit
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-10 16:38:34 +03:00
Ivailo Monev
d2dbb40e6e kimgio: remove redundant destructors
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-05 07:29:15 +03:00
Ivailo Monev
e7c46ec677 kimgio: add note about the mask in ico plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-28 11:02:07 +02:00
Ivailo Monev
873f109a57 kimgio: const-ify bmpimagemasksize in ICOHandler::write()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 20:30:22 +02:00
Ivailo Monev
ea22f815a4 kimgio: write mask from ico plugin
some browsers for example do not load ICO images without mask apparently,
the mask just makes the image bigger in (data) size tho - the actual image
data is the same (32-bit depth BGRA)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 19:33:52 +02:00
Ivailo Monev
aaea32c10c kimgio: claim write support only if the format matches and the device is writable
for read capabilities either the format must match or the format header but
for writing the format must be exact match

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 19:10:39 +02:00
Ivailo Monev
3ddf452bd2 kimgio: remove now unused QImageIOPlugin::keys() reimplementations
Katie no requires them

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-18 12:04:33 +00:00
Ivailo Monev
8e5dd5ea50 generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-14 15:50:30 +02:00
Ivailo Monev
bb8c1bfb2d kimgio: handle dummy BMP image size in ico plugin
fixes loading of some images such as the favicon of https://www.sftp.net/

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 06:23:23 +02:00
Ivailo Monev
5c9b183447 kimgio: use custom datastream class in raw plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-25 03:12:45 +03:00
Ivailo Monev
bb976aeff7 kimgio: theoretical big-endian support for ICO format
there is a lot of code that is not big-endian tested (not just in the
ico plugin)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-20 22:45:45 +03:00
Ivailo Monev
117e0dc301 kimgio: set the output image to default constructed if decoding fails in WebPHandler::read()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-20 05:52:51 +03:00
Ivailo Monev
1b0dcc4f10 kimgio: simplify data copying in ico plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 23:54:28 +03:00
Ivailo Monev
148a4833fe kimgio: better variable name in ico source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-20 00:35:26 +03:00
Ivailo Monev
b6871679b2 kimgio: remove redundant data size check in ICOHandler::canRead()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 19:47:28 +03:00
Ivailo Monev
bd60038328 kimgio: ICO writing correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 15:01:13 +03:00
Ivailo Monev
081ab70b04 kimgio: ICO image format write support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 14:58:37 +03:00
Ivailo Monev
637849870f kimgio: remove TODO for ico plugin
the plugin is there mostly for websites favicon support which are either
PNG or 32 bits per-pixel by now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-18 22:37:38 +03:00
Ivailo Monev
2c331e098e kimgio: add comment about the debug message in ico source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-18 20:59:37 +03:00
Ivailo Monev
87213caeb1 kimgio: implement 24-bit BMP image loading for ico plugin and ensure the image data size is valid
fixes crash in case the BMP image data includes padding

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-18 19:53:09 +03:00
Ivailo Monev
92ec388650 kimio: rename ICOType enums for consistency
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-14 16:15:21 +03:00
Ivailo Monev
cd7d01a484 kimgio: take the format as hint only and probe the device if format does not match
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 14:18:29 +03:00
Ivailo Monev
59e28bfa08 Revert "kimgio: ICO image reading optimization"
This reverts commit 5f1bde04b6.
2022-10-13 12:32:54 +03:00
Ivailo Monev
5f1bde04b6 kimgio: ICO image reading optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 05:08:23 +03:00
Ivailo Monev
2546fb4596 kimgio: bail if invalid ICO is not in the norms
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 05:07:32 +03:00
Ivailo Monev
e6b0f87542 kimgio: minor corrections
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 07:36:30 +03:00
Ivailo Monev
565ad4785b kimgio: branches optimizations
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 03:14:57 +03:00
Ivailo Monev
eec59d05e2 kimgio: seek to the correct position after PNG check in ico plugin
fixes loading of ICO with multiple images

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 02:06:16 +03:00
Ivailo Monev
0f8c25590b kimgio: ensure the allocations in ico plugin are not too big
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 01:44:28 +03:00
Ivailo Monev
cdebdf579f kimgio: check for more ICO header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 01:29:13 +03:00
Ivailo Monev
dd5d380a3f kimgio: check if the BMP image compression is supported in ico plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 01:21:54 +03:00
Ivailo Monev
8cb5d4a739 kimgio: check for one more ICO header from ico plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 21:24:03 +03:00
Ivailo Monev
d1a885ba3d kimgio: new ICO-specialized plugin
BMP support was there only for the ICO format

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 19:50:00 +03:00