Commit graph

182 commits

Author SHA1 Message Date
Ivailo Monev
5613e5483c generic: remove redundant build varibles
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 20:25:52 +03:00
Ivailo Monev
57df231a13 kimgio: fix regression since d2dbb40e6e
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 05:17:54 +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
6e549c55ff kimgio: drop TIFF write support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-22 17:27:52 +03:00
Ivailo Monev
5365b4788e kimgio: implement size option for tiff plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-22 08:04:06 +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
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
7661d17735 kimgio: do not mark make_jas_stream() as final in raw plugin
fixes build with LibRaw v0.21+

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-20 12:59:23 +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
b19a07619d kimgio: correct note in jp2 plugin
color space is exclusive value

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-29 02:46:42 +02:00
Ivailo Monev
d598c3cccf kimgio: verify the image color space earlier in jp2 plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-27 18:23:35 +02:00
Ivailo Monev
a0afe27554 kimgio: do not attempt to load images in YUV, e-YCC and CMYK color space
if the decoder cannot tell (correctly) the color space then.. idk

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-27 18:17:19 +02: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
772e88b926 kimgio: rename variable for consistency
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 14:43:07 +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
9b41127ecb generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-13 00:40:18 +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
f863bb36ef kimgio: return false if the color component count is invalid from jp2 plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 01:34:49 +03:00
Ivailo Monev
304482299e kimgio: deprecated warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-28 05:00:07 +03:00
Ivailo Monev
f605b5f6c4 kimgio: tiff plugin review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-28 01:35:00 +03:00
Ivailo Monev
7a52005d1e kimgio: new TIFF plugin
the only reason I wrote this plugin is because some RAW images (e.g.
image/x-canon-cr2) are essentially TIFF and LibRaw cannot open those

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-28 00:59:34 +03:00
Ivailo Monev
2a7c6ee1aa kimgio: remove image/jpm MIME type from the list in jp2 plugin
apparently it cannot open it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-26 19:06:46 +03:00
Ivailo Monev
28633b995e kimgio: mark warning case in raw plugin as unlikely
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-26 09:30:46 +03:00
Ivailo Monev
23fd8af700 kimgio: theoretical implementation of oj_skip_callback()
there is no documentation on what it is supposed to do so I will guess

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-26 09:21:03 +03:00
Ivailo Monev
66b8e20bdb kimgio: remove TODO in jp2 plugin
JPEG 2000 JPIP is data over HTTP, does not have MIME type even

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-26 09:15:02 +03:00
Ivailo Monev
d33233d7ab kimgio: add image/jpx and image/jpm to the jp2 plugin MIME types list
note to self:
same header/magic as the one mentioned in RFC 3745

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-26 07:57:42 +03:00
Ivailo Monev
e400b6841e kimgio: minor raw plugin review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-26 07:55:38 +03:00
Ivailo Monev
b2597e71e5 kimgio: restore device position conditionally
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-26 08:42:44 +03:00
Ivailo Monev
4bd5d6b609 kimgio: cast the character to uchar and return EOF on error from RAWDataStream::get_char()
note that LibRaw_buffer_datastream returns -1 if the position is
out-of-bounds but https://www.gnu.org/software/libc/manual/html_node/EOF-and-Errors.html
claims that EOF may not be -1

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-26 08:33:14 +03:00
Ivailo Monev
37217b7fe7 kimgio: warn if seeking fails in RAWDataStream::seek()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-25 18:53:56 +03:00
Ivailo Monev
59f42738c2 kimgio: const-ify RAWDataStream member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-25 02:30:43 +03: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
bb183aa63d kimgio: use TJPF_ARGB as pixel format in jpg plugin when the host is big-endian
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-20 23:02:04 +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
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
3f362d7467 kimgio: remove AUTHORS file
nothing left from the other guys

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-20 00:22:01 +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
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