Commit Graph

23 Commits

Author SHA1 Message Date
Mirco Miranda
b8a9c75c80 JXR support
CCBUG: 451584

An implementation of the JXR format.
2024-06-07 10:35:25 +00:00
Mirco Miranda
7899c27a80 exr: write support and more
- Added support for writing EXR files
- Large image support (tested with 32GiB 16-bit image)
- OpenEXR multithreaded read/write support through the use of line blocks
- Build option to enable conversion to sRGB when read (disabled by default)
- Multi-view image reading support
- Options support: Size, ImageFormat, Quality, CompressRatio
- Metadata write/read support via EXR attributes

The plugin is now quite complete. It should also work on KF5 (not tested): if there is the will to include this MR also on KF5, let me know and I will do all the necessary tests.
2023-09-17 08:07:47 +00:00
Mirco Miranda
9173f02ea3 ras: rle decode
Added support for RLE compressed images. This patch makes the player almost complete allowing to read all type 1,2 and 3 RAS files. Only types 4 and 5 are missing which are images converted from TIFF and IFF.
2023-08-29 09:11:35 +00:00
Mirco Miranda
8dc685df26 qoi: write support
As a base I used the reference implementation found on the official site at https://qoiformat.org/ (MIT license).
I added a class to convert scan lines in scanlineconverter.cpp. The class takes advantage of the QImage conversion and contrary to what one might expect, with large images it improves performance (compared to converting the whole image) 😄 

In progressive mode, for each line, the following conversions (only if needed) are made before saving:
1. If the icc profile is set, the line is converted to sRGB or sRGB Linear.
2. The line is scaled to 8 bits with RGBA order.
2023-08-28 22:25:10 +00:00
Mirco Miranda
c02bf3dbcc Readme.md: Update supported formats list
- (+) Krita (kra)
- (+) OpenRaster (ora)
- (-) XView (xv)
2023-08-20 08:04:21 +00:00
Mirco Miranda
35ff3efbbc hdr: improve precision
- Improve the precision of HDR format (it is a floating point format) by using the RGBA32FPx4 image format.
2023-08-13 22:19:22 +00:00
Ernest Gupik
b209e54b6f Add support for the QOI image format
This MR adds read-only QOI (https://qoiformat.org/) image format support for KImageFormats.

This format has received it's MIME type inclusion in shared-mime-info 4 months ago: ff51a0a9e3

The code is based on the reference QOI implementation at https://github.com/phoboslab/qoi/blob/master/qoi.h

Official test images: https://qoiformat.org/qoi_test_images.zip

![pngvsqoi](/uploads/e386aa5057641057106e21940c770d97/pngvsqoi.png)

Also: This is my first MR to KDE ;)
2023-08-11 20:44:17 +00:00
Éric Gillet
a3f7c03b61 heif: Add format read-write support in README 2023-02-15 08:36:24 +00: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
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
Daniel Novomesky
d3da56bba3 Add JXL to the list of supported formats 2021-11-17 20:06:11 +01:00
Kai Uwe Broulik
b79d1f222d Add plugin for animated Windows cursors (ANI) 2021-01-03 08:49:10 +00:00
Carl Schwan
54ed1dda27 Add AVIF to the list of supported formats 2020-12-16 08:36:39 +00:00
Heiko Becker
e5fce91de6 Remove DDS and JPEG-2000 plugins
They were already disabled when building with Qt >= 5.3 in commit
3d45b270ea because Qt has better plugins
for those image formats. Now that we depend on Qt 5.3 we can remove
them.

REVIEW: 124636
2015-08-06 00:57:14 +02:00
Alex Merry
415850f3d3 Switch the brief descriptions around
Put the shorter description in metainfo.yaml, and the longer one in
README.md.
2014-08-15 18:41:16 +01:00
Denis Steckelmacher
af19f49711 Add metadata about the QMake and CMake packages installed by this framework and remove Links from README.md 2014-08-13 10:04:37 +02:00
Alex Merry
024db1f42b Move license information to its proper locations
The BSD license goes in the relevant CMake file, and
COPYING-CMAKE-SCRIPTS is removed.  README.md gets a License section
describing the overall license of the framework, as well as a note about
the CMake scripts.

As part of this commit, I release the existing autotest images (which I
created myself) as public domain (or license them under CC0 where public
domain does not apply), ensuring they are compatible with whatever
license the package is distributed under.

REVIEW: 115423
2014-02-04 12:30:22 +00:00
Alex Merry
b1de3377d0 README.md syntax fixes
Use a common list style (-, not *) and escape the # (or else Doxygen
complains).
2014-02-01 17:22:36 +00:00
Alex Merry
b71ede5c0f The file format is JPEG-2000; JasPer is the library 2014-01-16 21:34:13 +00:00
Alex Merry
aeff5cca5a Improve README.md
Organise and correct the format list.
2014-01-16 21:28:06 +00:00
Cornelius Schumacher
7177dba8db Update REAMDE 2014-01-12 20:45:38 +01:00
Alex Merry
7be60a7bd0 Fill out README.md file
Also delete the old README file, as README.md now contains the
information from it.
2013-12-22 16:12:02 +00:00
Aurélien Gâteau
8019c67d76 Add README.md and yaml files 2013-12-20 20:11:24 +01:00