Fushan Wen
1190e53e9b
avif: always indicate endless loop
...
avif does not support loops but endless loop was the behavior before
460085 was fixed, so a workaround is added.
See also: https://github.com/AOMediaCodec/libavif/issues/347
CCBUG: 460085
2022-10-15 14:11:56 +08:00
Fushan Wen
350ce1b990
avif: return false in canRead() when imageIndex >= imageCount
...
Otherwise when `cache: false` is set in AnimatedImage, QMovie will try
to read the image forever.
BUG: 460085
FIXED-IN: 5.100
2022-10-15 14:02:38 +08:00
Daniel Novomeský
8af9a0f9d9
jxl: remove C-style casts
2022-10-11 15:38:55 +02:00
Daniel Novomeský
3790a89cd1
avif: Use reinterpret_cast instead C cast
...
No longer using int for QByteArray size because Qt6 uses qsizetype
2022-10-11 15:05:20 +02:00
Daniel Novomeský
f475a4b24a
avif: revert 9ac923ad09 commit
...
Changes to libavif's avifImageRGBToYUV() API were reverted too.
2022-10-11 14:36:17 +02:00
Daniel Novomeský
d2f38b8b9c
heif: replace C cast with static_cast
2022-10-10 09:28:41 +00:00
Daniel Novomeský
9ab64dbf22
heif: use heif_init/heif_deinit with libheif 1.13.0+
...
In recent libheif, application should use
heif_init/heif_deinit calls. Unfortunately, these calls are
not thread-safe in released 1.13.0 version yet (will be in the
future) and HEIFHandler is often created in different threads.
So we have to guard their use with a mutex.
2022-10-10 09:28:41 +00:00
Friedrich W. H. Kossebau
20f74ce5e6
FindLibRaw: fix include dir, should not contain prefix libraw/
...
See also the examples at https://www.libraw.org/docs/API-CXX.html
BUG: 460105
2022-10-08 02:15:18 +02:00
Mirco Miranda
181eb253c6
ANI partial test and PIC test added
2022-10-02 06:01:23 +00:00
Mirco Miranda
c5f7ea7eac
PSD: impreved support to sequential access device
2022-10-02 06:01:23 +00:00
Mirco Miranda
c96ad6ba8a
Fixes for sequential devices
2022-10-02 06:01:23 +00:00
Aleix Pol
a8a477ae67
pcx: Do not support sequential devices
...
We need QIODevice::pos() to work in QDataStream &operator>>.
BUG: 459541
2022-09-24 03:45:21 +02:00
Mirco Miranda
2f27dff48b
Fix maximum number of channels (testcase added)
2022-09-22 21:17:10 +00:00
Friedrich W. H. Kossebau
72a1cc23b1
Use consistently std::as_const instead of qAsConst
...
NO_CHANGELOG
2022-09-22 15:59:15 +02:00
Mirco Miranda
6f3a326cf8
LibRaw_QIODevice::seek() avoid seek on a sequential device
2022-09-21 02:14:55 +02:00
Mirco Miranda
d881a7bbb1
LibRaw_QIODevice::seek() bounding checks
2022-09-20 19:44:08 +02:00
Mirco Miranda
65a20b43fc
Camera RAW images plugin
...
Plugin to read RAW camera images based on LibRAW.
- Supersedes MR !86
- Support to LibRaw 0.20 and 0.21-Beta
- Support to multi-shot images: use imageCount(), jumpToImage() to select the wanted shot
- By default generates 16-bits sRGB images using camera white balance and interpolation AHD
- Should fix CCBUG: 454208: on my Debian with KF5.96 and the pulgin installed, I see the preview of all my RAW files (ARW included) in Dolphin
News compared to V1 (MR !86 )
- Fix possible stack overflow due to the huge size of LibRaw class
- Fix image allocation with Qt 6 (make use of QImageIOHandler::allocateImage())
- Support to XMP metapacket
- Support to quality option. For e.g. you can focus on quality (q = 10) or speed (q = 1)
- oss-fuzz available [here](https://github.com/mircomir/oss-fuzz/tree/raw_fuzz/projects/kimageformats )
2022-09-19 23:52:43 +00:00
Mirco Miranda
21928300c6
Enables opening of XCF files with Width and/or Height greater than 32K
2022-09-13 17:57:57 +00:00
Daniel Novomeský
024d199ed0
Replace C cast with reinterpret_cast
2022-09-11 11:01:55 +02:00
Daniel Novomeský
9ac923ad09
avif: adjust for libavif breaking change in YUV<->RGB conversion
2022-09-09 17:54:18 +02:00
Mirco Miranda
feb6d9b20f
Fix image allocation with Qt 6
...
To make the plugins fail to allocate if the image size is greater than QImageReader::allocationLimit() it is necessary to allocate the image with QImageIOHandler::allocateImage().
Note that not all plugins have been changed and some others are not tested in the CI (maybe due to missing libraries).
PS: the following message is printed by QImageIOHandler::allocateImage() if the size is exceeded: "qt.gui.imageio: QImageIOHandler: Rejecting image as it exceeds the current allocation limit of XXX megabytes"
2022-09-07 14:03:33 +00:00
Albert Astals Cid
62e477a6f2
Protect against too big resize for a QByteArray
...
oss-fuzz/48480
2022-08-15 10:24:40 +00:00
Mirco Miranda
6074c4d6fd
Use right type on enums
2022-07-29 07:46:10 +02:00
Mirco Miranda
6f44c5c52a
PSD: Improve alpha detection
...
BUG: 182496
2022-07-25 19:34:57 +00:00
Mirco Miranda
d030c75925
PSD: LAB support
...
LAB images support:
- Added LAB 8/16-bits support by converting them to sRGB
- The conversion are done using literature formulas (LAB -> XYZ -> sRGB): [sRGB on Wiki](https://en.wikipedia.org/wiki/SRGB ), [LAB on wiki](https://en.wikipedia.org/wiki/CIELAB_color_space )
- Removed unused code
2022-07-06 21:30:23 +00:00
Mirco Miranda
b0a0bb1294
PSD header checks according to specifications
2022-06-30 06:56:21 +00:00
Mirco Miranda
3d5090593c
Improved detection of alpha channel on CMYK images
2022-06-30 06:56:21 +00:00
Mirco Miranda
d4966d169b
Minor code optimization
2022-06-30 06:56:21 +00:00
Mirco Miranda
bf52896347
Minor code improvements (tested on all my MCYK PSD/PSB files)
2022-06-30 06:56:21 +00:00
Mirco Miranda
c52ffa2227
Fix Alpha + testcase images
2022-06-30 06:56:21 +00:00
Mirco Miranda
e4e386babf
Fix regression
2022-06-30 06:56:21 +00:00
Mirco Miranda
b47a9d7022
Basic support to CMYK 8/16 bits (not fully tested)
2022-06-30 06:56:21 +00:00
Friedrich W. H. Kossebau
83374f390e
Fix missing init of oneValueArgs variable
...
NO_CHANGELOG
2022-06-28 00:17:56 +02:00
Daniel Novomeský
5e59d950bd
jxl: support both old 0.6.1 and new 0.7.0 libjxl API
...
New libjxl API changed the way how lossless 16bit depth images
must be encoded: codestream level 10 must be set,
which implies use of container format.
Unfortunately, there isn’t version number inside libjxl header yet,
so we must detect new version on cmake/PkgConfig level.
2022-06-22 22:21:33 +00:00
Laurent Montel
de320447f6
Remove extra ';'
2022-06-22 19:52:13 +02:00
Daniel Novomeský
cf375a207f
avif: read performance improvements
2022-06-20 18:50:03 +02:00
Adrian Bunk
2a84dd677d
psd: Fix segfault on architectures where char is unsigned (like ARM)
2022-05-27 12:26:56 +03:00
Daniel Novomeský
ebcc34519c
avif: prepare for breaking change in libavif
2022-05-02 11:46:37 +02:00
Mirco Miranda
cff2604cf9
XCF: Support to QImageIOHandler::Size option
2022-04-29 13:23:20 +00:00
Mirco Miranda
f8a251e268
Support to QImageIOHandler::Size option
2022-04-28 08:52:18 +02:00
Mirco Miranda
52134fc2e9
QByteArray resize removal
...
- Removed QByteArray resize with potentially large numbers as in merge request !66
2022-04-14 23:04:58 +00:00
Albert Astals Cid
343954ca98
psd: Fix crash on broken files
...
Instead of resizing the bytearray to the potential size and then reading
into it, ask the device to read into a bytearray, this way instead of a
crash because we're trying to resize to a too big number we get a nice
maxSize argument exceeds QByteArray size limit
warning
oss-fuzz/46664
2022-04-13 23:07:22 +02:00
Mirco Miranda
44fd6b7bc0
psd: duotone read
...
- New format added: Duotone
- Fix float to int conversion round issue
2022-04-11 21:07:23 +00:00
Albert Astals Cid
c8a0806aab
psd: Don't crash with broken images
...
Found by oss-fuzz but still with an unfiled bug number
2022-04-10 12:19:52 +02:00
Albert Astals Cid
bb475dedd1
psd: Header depth has to be 8 for CM_INDEXED color_mode
...
As suggested by Mirco Miranda
2022-04-07 23:50:15 +02:00
Albert Astals Cid
9e28aae868
psd: Protect against broken images
...
If you have an image that says it's Mono but has 16 as header.depth we
end up doing invalid memory accesses
oss-fuzz/46437
2022-04-07 21:46:08 +00:00
Albert Astals Cid
5c47a97b79
psd: Don't abort on broken images
...
oss-fuzz/46418
2022-04-06 22:58:31 +00:00
Daniel Novomeský
84d56d00cf
avif: lossless support
2022-04-06 16:13:10 +00:00
Albert Astals Cid
384f78a13c
psd: Don't assert on broken files
...
oss-fuzz/46407
2022-04-06 00:16:38 +02:00
Mirco Miranda
98f19c60ae
PSD: Performance improvements and support to missing common formats
...
- Supersedes merge request !55 (PSB support, XMP metadata, ICC color profile, image resolution read)
- Performance improvements: 5 time faster than previous version (tested on a 3.9GB PSB: 9sec instead 47sec)
- New formats support added: INDEXED (8bps), BITMAP (1bps), GRAYSCALE (8, 16, 32bps), RGB (32bps)
- Should fix Bug https://bugs.kde.org/show_bug.cgi?id=397610
- Fix Bug https://bugs.kde.org/show_bug.cgi?id=428238
2022-04-04 17:22:45 +00:00