Commit graph

130 commits

Author SHA1 Message Date
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
Ivailo Monev
7a137a6a9f kimgio: new RAW-specialized plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-11 19:40:32 +03:00
Ivailo Monev
2fd512e502 generic: install modules in subdirectory of the library directory by default
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 15:05:17 +03:00
Ivailo Monev
d24dd98aee kdecore: easier to maintain KStandardDirs resources table
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 23:55:09 +03:00
Ivailo Monev
dce754f698 kimgio: blacklist WEBP, XPM, PBM and PPM coders
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-03 00:43:22 +03:00
Ivailo Monev
1950c1f9f1 kimgio: drop support for some uncommon formats
note that they can still be loaded right now because if the header is not
recognized by the magick plugin further probing is done via
MagickCore::GetImageMagick(). in the future that may not be the case tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-28 13:59:56 +03:00
Ivailo Monev
02b0b8fb75 kimgio: if the format is not "magick" try reading from the device to determine capabilities
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-28 12:57:40 +03:00
Ivailo Monev
1b5c5fe630 generic: do not use QStringListIterator for iterating
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-21 10:18:04 +03:00
Ivailo Monev
495f6ea090 kimgio: move debug message to the scope it should be in
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-20 06:57:05 +03:00