Commit graph

188 commits

Author SHA1 Message Date
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
2ded74ccc3 kimgio: decompress image directly into the QImage allocated memory from jpg plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 23:39:54 +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
9526e164cb kimgio: hardcode RAW image MIME types
the plugin is heavy on I/O already because LibRaw requires the whole file
data to determine if it can open it or not so this will reduce that a bit
at the cost of (possibly) requiring update in the future

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 19:33:26 +03:00
Ivailo Monev
9599463984 kimgio: print warning message via kWarning() from WebPHandler::canRead()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 17:51:09 +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
d2bb45bb33 kimgio: update plugins read/write support info
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 01:40:28 +03:00
Ivailo Monev
ec505df46a kutils: allocate less space for headers in KCompressor::process()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-18 23:06:52 +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
a9b2122f90 kimgio: mark some branches as unlikely in webp plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-18 17:38:18 +03:00
Ivailo Monev
af2e07337c kimgio: read-only WebP animations support
NOTE: gwenview does not support saving (writing) animated images

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-18 17:30:54 +03:00
Ivailo Monev
f86b5229e7 kimgio: warn when something goes wrong in webp plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-18 15:30:04 +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
92b495b19a kimgio: implement quality option for jpg plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 15:09:58 +03:00
Ivailo Monev
95331f0c56 kimgio: implement JPEG writing
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 15:01:45 +03:00
Ivailo Monev
aadf9d5164 kimgio: rename jpeg plugin to jpg to match the more common extension
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 14:28:59 +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
2ce7ac3843 kimgio: check if the KMimeType pointer is still valid in RAWPlugin::mimeTypes()
can be invalidated during sycoca database update, fixes possible crash

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 13:41:40 +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
840491cda0 kimgio: claim support for image/x-jp2-codestream MIME type in jp2 plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 07:38:38 +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
13b5deb7fa kimgio: peek to figure out the codec to use in jp2 plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 04:16:48 +03:00
Ivailo Monev
50e343d45b kimgio: check for non-RFC 3745 header from jp2 plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 03:58:53 +03:00
Ivailo Monev
7f09363d21 kimgio: abort reading if opj_setup_decoder(), opj_decode() or opj_end_decompress() returns false
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 03:55:40 +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
3fd4682cf8 Merge branch 'master' of https://scm.osdn.net/gitroot/kde/kdelibs 2022-10-12 23:25:16 +03:00
Ivailo Monev
2aa9fad079 kimgio: claim support for all MIME types that are sub-class of image/x-dcraw in raw plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-13 01:20:56 +03:00
Ivailo Monev
964e2c0ed3 kimgio: use memcmp() instead of qstrncmp() for headers comparison
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 23:25:00 +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
56dfaf677b kimgio: remove magick plugin
none of the formats it supports are used by the Katana and the GIF
coder is very broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 20:05:46 +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
Ivailo Monev
fb1da281c6 kimgio: check the peeked data size in magick plugin too
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 03:56:23 +03:00
Ivailo Monev
bb4a2f2a73 kimgio: update magick plugin MIME types
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 02:16:14 +03:00
Ivailo Monev
427ca4fde3 kimgio: handle image data with gray and alpha or gray only color components in jp2 plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 04:58:55 +03:00
Ivailo Monev
69cdc32460 kimgio: remove JP2 coder from the magick plugin whitelist
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 01:23:45 +03:00
Ivailo Monev
ae72f12c93 kimgio: ensure the peeked data has equal or greater size than the data it is compared with
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 01:23:04 +03:00
Ivailo Monev
cfe47507fa kimgio: jp2, jpeg and raw plugins review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 01:01:02 +03:00
Ivailo Monev
abff254104 kimgio: JPEG 2000-specialized plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-12 00:45:15 +03:00
Ivailo Monev
6e1cca0022 kimgio: jpeg and raw plugins review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-11 23:21:37 +03:00
Ivailo Monev
7995231b45 kimgio: new JPEG-specialized plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-11 22:58:13 +03:00