summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-251-2/+2
|\ | | | | | | Change-Id: Ib2aaec7a6d8a1bf6f7201c55f0871c0aa27d02a4
| * tiff: do not try to read 32bpc as 16bpcEirik Aavitsland2020-02-241-2/+2
| | | | | | | | | | | | | | | | | | The header reader would assume that bits per sample above 8 had to be 16, but other values are also possible, so check explicitly. Fixes: QTBUG-82412 Change-Id: I7f0799de4d4cdc84023a34900aa595a7bf73eca1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-211-2/+14
|\| | | | | | | Change-Id: Ie91dbdde92b2b87b60b4861234be718410154ff4
| * Fix rendering errors with animated webp filesMichael Brasser2020-01-201-2/+14
| | | | | | | | | | | | | | | | | | * Respect blend_method. * Apply dispose_method when rending the *next* frame, and only for the given frame area. Change-Id: I60a8c7010a46a2a66339c87f74927a02aee7dcf3 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-12-301-6/+0
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I89d7e0498ff3f7818bfe8c1a3a6da3c9440ab30a
| * Do not explicitly disable plugins for winrtOliver Wolff2019-12-171-6/+0
| | | | | | | | | | | | | | | | | | | | The ability of building these plugins is part of configure.json and should not be hard coded. The plugins can be built for winrt. Fixes: QTBUG-71251 Change-Id: I9a6b0dcdd031d37339282caab4596978c52ae5a0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Add support for reading BigTIFFEirik Aavitsland2019-12-201-3/+8
| | | | | | | | | | | | | | | | | | | | | | All recent versions of libtiff has support for the 64bit-indexed BigTIFF format. Allow reading it by recognizing its magic number. [ChangeLog][TIFF] Add support for reading BigTIFF Fixes: QTBUG-80538 Change-Id: I7fcb72d77e4a0bdcb38ab96e9f6cfaff7cf4ad49 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Avoid initializing QFlags with 0 or nullptrFriedemann Kleint2019-11-229-28/+28
|/ | | | | | | It is being deprecated. Change-Id: I550c7f757567dbcc914e6869c29563b4f3e76a52 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Tiff: Align 16 to 8 bit colormap conversion to libtiffEirik Aavitsland2019-10-291-3/+4
| | | | | | | | | | | | | | | | | | | | | | | For paletted images, tiff stores a color map with 16 bit deep entries. When reading such images, the tiff handler tried to be clever in the 16 to 8 bit mapping, but this resulted in slightly different result than what libtiff itself produces if asked to read and convert such an image (TIFFReadRGBAImageOriented()). libtiff simply ignores the lower 8 bits, so we should do the same. Importantly, this makes no difference when 8 bit original data is stored in the orthodox 16 bit way, where e.g. 0xAB is stored as 0xABAB - like we do. However, the alternative storages 0xAB00 and 0xABFF exist in the wild, even in sample images in Qt repos. Also, if we later should want to support proper 16 bit data here, the previous code was anyway wrong: just dividing with 257 is highly unorthodox. The correct way would be to use proper rounding like QRgba64::toArgb32(). Fixes: QTBUG-79522 Change-Id: I7bd90ad7b89a923bd431781f4927b13ad0544407 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14v5.14.0-beta2Qt Forward Merge Bot2019-10-121-20/+8
|\ | | | | | | Change-Id: I2437b8b4b535e4f02740070e0352e1825c67fa3c
| * Tiff handler: Improve writing performance for some casesEirik Aavitsland2019-10-091-20/+8
| | | | | | | | | | | | | | | | | | | | | | | | For 1 byte deep formats, the writing routine went through the copy-and-convert-in-chunks loop for no reason: no conversion was done or needed. For huge images of some formats, the chunk size computation could fail because of int overflow, resulting in suboptimal chunk sizes. Change-Id: I966351d9a8728987c9e885f4949d98ba94d4ac19 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix build after QColorSpace API changesTor Arne Vestbø2019-09-051-2/+0
| | | | | | | | | | Change-Id: Iff3186cf4eccae5fc7e7e3c55c5e6eb662be9519 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Support writing WebP color space profilesAllan Sandfeld Jensen2019-08-211-11/+51
| | | | | | | | | | Change-Id: I9d9473c2866d9792cd8752816a291be04e39ec19 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Read color space from WebPAllan Sandfeld Jensen2019-08-192-0/+18
| | | | | | | | | | Change-Id: If1b9645fe07fb2cf15dbf2421d6c66b20f02bdb6 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Read/write ICC profile in TIFF pluginAllan Sandfeld Jensen2019-08-171-1/+18
|/ | | | | | | Adds reading and writing of embedded color spaces on the TIFF plugin. Change-Id: I53e8a16ff65f7986e9d51a5b543335e27b43e346 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Do not try to write too large WebP imagesAllan Sandfeld Jensen2019-08-171-0/+4
| | | | | | | The WebP encoder doesn't check so we end up with undefined behavior. Change-Id: Id3a64b2be50684d07e799f97f64481ba57c02ffb Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix compilation with disabled deprecated APIsSona Kurazyan2019-07-0812-0/+24
| | | | | | | | | | The QImageIOHandler::name() has been deprecated since 5.13, but its overrides weren't. Enabled compilation of the overrides only when the QImageIOHandler::name() is compiled. Task-number: QTBUG-76491 Change-Id: I913f03f730969ea88864a5a08afe50c4eac533ca Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-05-142-5/+9
|\ | | | | | | Change-Id: Ia0a5fe32ec96c73758933b319f5cb8f22cc9f344
| * Fix feature and library checks for tiff and mngJoerg Bornemann2019-05-132-5/+9
| | | | | | | | | | | | | | This amends commit a33e3aea. Change-Id: I03304f5bf300e5e52476c3f3d6b06b0815009720 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-beta2Qt Forward Merge Bot2019-04-092-6/+0
|\| | | | | | | Change-Id: I02bc865209f0092c68e5be1542f54e605c517c58
| * Remove the QT_NO_IMAGEFORMAT_{TIFF|WEBP} definesJoerg Bornemann2019-04-022-6/+0
| | | | | | | | | | | | | | They are #undef'ed anyway. Change-Id: Ic1cb3c09b5849f16115d8514fef471825d564f2c Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-023-10/+18
|\| | | | | | | Change-Id: Idd134e350e760a0237dce4ef00d10e1c35dbeb67
| * Move qtimageformats over to the new config systemLiang Qi2019-04-023-10/+18
| | | | | | | | | | | | | | Task-number: QTBUG-44318 Task-number: QTBUG-62259 Change-Id: Ide5c28015c46b12ee3f21d06badd69db8bed1281 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-275-49/+208
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ie44fe655653166bf5a4436aedd80d060afa45d5a
| * Heic handler: fix orientation and other image propertiesEirik Aavitsland2019-03-264-48/+207
| | | | | | | | | | | | | | | | | | | | The mac heic handler lacked support for any meta-data i/o. Most notably, the image orientation proprty was ignored, so images read in could be wrongly oriented. Fixes: QTBUG-73415 Change-Id: I779f91dc28c7441b124aab4557e1abcd3e69fde9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * tiff handler: fix compilation failureEirik Aavitsland2019-03-251-1/+1
| | | | | | | | | | | | | | | | | | Avoid using the tmsize_t type, since it may not be defined. Fixes: QTBUG-74283 Change-Id: I63a496173ec08c6ceac569c516d11a4711e32649 Reviewed-by: Richard Öhlinger <richard.oehlinger@adbsafegate.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add Grayscale16 support to TIFFAllan Sandfeld Jensen2019-01-031-2/+8
|/ | | | | Change-Id: I927d9ab0af78baf90d8fd8d44088218dff0e7082 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-10-271-5/+14
|\ | | | | | | Change-Id: I56fb4e7a178ac79c75a846d9a7bcd8f1f3533673
| * tiffhandler: improve stripsizeEirik Aavitsland2018-10-251-5/+14
| | | | | | | | | | | | | | | | | | | | libtiff's default stripsize is tiny (8KB), so splitting the image into such strips on writing would significantly hurt the compression rate. Aim for 4MB strips instead. Task-number: QTBUG-70820 Change-Id: I07a9a8c81edf62e802b4ae8d6729a76df15e42ac Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Remove bundled, unmaintained libjasper source codev5.12.0-beta3Eirik Aavitsland2018-10-152-12/+6
| | | | | | | | | | | | | | | | | | [ChangeLog][Third-Party Code] The unmaintained bundled libjasper has been removed. Building the jp2 handler will require libjasper to be present as a system or external library. Change-Id: Ic48cc6021fc5fb64fb369eb9621fd7a811e8e9f7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Remove bundled, unmaintained libmng source codev5.12.0-beta2Eirik Aavitsland2018-10-122-13/+6
| | | | | | | | | | | | | | | | | | [ChangeLog][Third-Party Code] The unmaintained bundled libmng has been removed. Building the mng handler will require libmng to be present as a system or external library. Change-Id: I4a4805fa3f3088b5d581b92bfeabba7978bac5f7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | tiff handler: ensure valid value of the compression optionv5.12.0-beta1Eirik Aavitsland2018-09-171-1/+1
| | | | | | | | | | | | | | | | Bound the value of the compression setting to the possible values of the QTiffHandler::Compression enum. Change-Id: I50e1eb8014654d8b4403d7f06e6099661e57562c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-09-011-0/+8
|\| | | | | | | Change-Id: I04f8b27d37b677f15853ba84017d3f2a36368422
| * TGA handler: check for out of range image sizeEirik Aavitsland2018-08-281-0/+8
| | | | | | | | | | | | | | | | Make the decoder fail early to avoid spending time and memory on attempting to decode a corrupt image file. Change-Id: Iac35e72de743f412a65d11c58fe7faa275dc4e41 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Add RGBA64 format support to TIFF pluginAllan Sandfeld Jensen2018-08-232-12/+104
| | | | | | | | | | | | | | TIFF is one of the primary formats for HDR images. Change-Id: I5310b5c9a625fd3e759e5120be6ba547c633c81c Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-06-121-5/+10
|\| | | | | | | Change-Id: Ieebdb63bc396bb683b85e3d07ec9c5d78bd30f69
| * Fix tiffhandler: ensure saved tiffs have suitable ROWSPERSTRIP tag setEirik Aavitsland2018-06-061-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When writing an image without compression, libtiff will automatically store it in strips of default size, and add a ROWSPERSTRIP tag accordingly. However, if compression is enabled, libtiff does not do this. The lack of this tag may create trouble for readers. Fix by explicitly setting the tag in all cases. [ChangeLog][TIFF] Ensure saved tiffs have suitable ROWSPERSTRIP tag set Task-number: QTBUG-68609 Change-Id: I838c83be25158d7f13e220098e960010b8cb2789 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | webp handler: improve quality-level handlingEirik Aavitsland2018-05-301-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | In lossless mode, libwebp interpretes the quality setting as a compression-effort setting instead. The code used to set it to 100 (maximum), which could lead to unreasonable compression times (several seconds for a small image). Instead set it to libweb's own default value. Also, since the alpha channel compression has its own quality setting, make sure it follows the main quality/effort setting. Change-Id: I595d42c61f61c9932b27b185745bde6e7cfb3526 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | webp handler: support alpha-less reading and writingEirik Aavitsland2018-05-281-14/+13
|/ | | | | | | | | | | | | | Webp files can be with or without alpha channel. The handler would ignore this and read all as Format_ARGB32 images, and write all as having alpha, in both cases losing that important bit of information. As a driveby, simplify the endianness handling in write(). By always converting the source image to an endianness-independent QImage format, no special handling is required. Task-number: QTBUG-48628 Change-Id: I624ed72b18a8b59a542979efcb4e8ff81214e0d7 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-153-23/+10
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: If4baad0b1949c1c8f7157c213fc492775053ae0b
| * Merge remote-tracking branch 'origin/5.9' into 5.105.10Liang Qi2018-01-153-23/+10
| |\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I827727fde51a71cbef5d61fb6cc2cd45d5e3bd7c
| | * Make the native darwin image IO work on iOS tooEirik Aavitsland2017-12-141-17/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | The functions used for converting between QImage and CGImage were not available on iOS. Replace with newer conversions functions which are. Task-number: QTBUG-64722 Change-Id: I3f62d3ccabd103e5b9d4828e8079d94587472872 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * WebP: Fix wrong default quality level for writingEirik Aavitsland2017-11-162-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a negative (i.e. illegal/unset) quality value was set to the WebP handler, it would just bound it to 0 (minimum quality level). This would happen on every save where no explicit quality level had been requested on the QImageWriter. Fix by copying the jpeg handler's behavior: If a negative value is set, use the default level (75) when storing. [ChangeLog][WebP handler] Fixed default quality level for writing Task-number: QTBUG-64437 Change-Id: I0f1cabba6cea6851c6a813bf5bf7ab8e8c49ddfb Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-11-202-1/+5
|\| | | | | | | | | | | Change-Id: If0c8e712f7521483df688ae9d33adea8b5fdaae5
| * | Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-beta4Liang Qi2017-10-302-1/+5
| |\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I84737121b8915a6c358ad92246984749e2719bed
| | * TGA: Fix clazy-copyable-polymorphicFriedemann Kleint2017-10-191-0/+4
| | | | | | | | | | | | | | | Change-Id: Iba0631701fbecdd66ffa1d12c57387d76aa65475 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Avoid returning void expressionAndré Klitzing2017-10-061-1/+1
| | | | | | | | | | | | | | | Change-Id: I32dd4ece07c0ff4ef882fffe69afbe2f4a818a96 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | Add native Darwin handler for the HEIF (.heic) formatEirik Aavitsland2017-10-3010-7/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds basic support for still images encoded with the HEIF standard introduced in macOS Sierra and IOS 11. Uses the Core Graphics Image I/O Framework as codec backend. Reuses the helper class from the macjp2 handler. Change-Id: I5f0c7891b189a916cccd2c27eacbac12416ce209 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-221-4/+4
|/ / | | | | | | | | Change-Id: Iba9c9b77bea8c4ec6915a0cac6aa9c84aaa77dca Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix deprecation warningsv5.10.0-beta3v5.10.0-beta2v5.10.0-beta1v5.10.0-alpha1Allan Sandfeld Jensen2017-08-071-1/+1
| | | | | | | | | | | | | | Use new sizeInBytes() method. Change-Id: I3fa5969ac04e2edb87a06f132dc0b60e65718b81 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>