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
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