Commit graph

41 commits

Author SHA1 Message Date
Ivailo Monev
d4d1fc653b kimgio: webp plugin optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-11 13:16:48 +03:00
Ivailo Monev
a5d1ca3b17 kimgio: reset previous rectangle on webp plugin initialization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-11 03:31:43 +03:00
Ivailo Monev
0a43f48a5c kimgio: warn from webp plugin about unsupported frame skips
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-11 01:47:31 +03:00
Ivailo Monev
df1d0cb370 kimgio: webp plugin compat bits
for code unaware of the new way to handle animations and maybe even
animations in general

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-11 00:44:13 +03:00
Ivailo Monev
23d015167a kimgio: adjust to Katie changes
much better performance now because frame decoding is statefull

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-11 00:31:51 +03:00
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
cbbf7a75e5 kimgio: fill the webp buffer with transparent color
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-10 09:49:42 +03:00
Ivailo Monev
f07799521f kimgio: webp optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-10 08:37:02 +03:00
Ivailo Monev
d94f5f5d8a kimgio: handle all quircks of webp and QImageIOHandler
now animations are read correctly, slow as molasses tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-10 08:31:59 +03:00
Ivailo Monev
145f8e17d9 kimgio: correct frame number in webp plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-10 06:42:55 +03:00
Ivailo Monev
810f624622 kimgio: blend framas with the last one that is not to be blended in webp plugin
assuming frame is to be blended then that means it is partial data, if it is
not to be blended it has to be complete image

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-10 06:41:56 +03:00
Ivailo Monev
08154cd8c1 kimgio: partial fix for blended webp animations
not sure what to do with the offsets

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-10 06:08:38 +03:00
Ivailo Monev
c8056b579b kimgio: set the webp animation delay from the iterator
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-10 05:02:07 +03:00
Ivailo Monev
b3e9998d8c kimgio: fix TIFF images reading and implement write
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-22 07:54:18 +03: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
809ce8ae90 kimgio: reuse the static constant in webp handler
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-18 20:58:48 +02:00
Ivailo Monev
8eba8ffcde kimgio: oops, copy-pasta
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-18 20:56:43 +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
5ca124cb4e kimgio: webp plugin review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 14:49:13 +02: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
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
a740c59e2e kimgio: always use QImage::Format_ARGB32 as format when reading WebP image
QImage::Format_RGB32 has a (unused) alpha channel

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-20 01:43:33 +03:00
Ivailo Monev
fe342fa103 kimgio: simplify WebP image writing
the last piece of code not written by me in the file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-20 00:17:31 +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
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
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
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
888299df21 kimgio: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 02:56:52 +02:00
Ivailo Monev
5e8781e675 kimgio: default to best quality
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-27 23:13:43 +02:00
Ivailo Monev
029e3eb130 kimgio: convert the image to 32-bit format before processing its data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 14:56:13 +02:00
Ivailo Monev
fa928e8e40 kimgio: check how many bytes were written to the device
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 14:55:42 +02:00
Ivailo Monev
17c9ea78b0 kimgio: use WEBP_MAX_DIMENSION definitions to check WebP limitation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 14:54:41 +02:00
Ivailo Monev
dd07d6844b kdecore: remove perror() debug stream function [ci reset]
TODO: use qt_error_string() instead of strerror() for thread-safety

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-08 21:55:18 +03:00
Ivailo Monev
7807328cd8 kimgio: webp without alpha writing fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-01 02:02:06 +03:00
Ivailo Monev
59f5511719 kimgio: format and indent
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-01 00:01:13 +03:00
Ivailo Monev
f149d0bcf8 kimgio: replace free() with WebPFree()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-07-31 23:46:43 +03:00
Ivailo Monev
108f35a2e6 kimgio: remove Q_EXPORT_STATIC_PLUGIN() macro calls
Katie does not support loading of static plugins

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-22 22:23:11 +00:00
Ivailo Monev
93f5415879 generic: import kimio plugin for webp format from kde-workspace repo
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2015-11-01 05:10:05 +02:00