Commit Graph

97 Commits

Author SHA1 Message Date
Bryon Roche 0c0def962f windowscodecs: Byte swap png read/write for 16-bpp data.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46558
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-10 17:04:58 +02:00
Michael Stefaniuc eb271ec4ba windowscodecs: Remove redundant NULL check before HeapFree().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 18:13:18 +01:00
Sven Baars 1f132865ec windowscodecs: Fix a memory leak (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 10:28:58 +01:00
Dmitry Timoshkov b4c3a9c089 windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the PNG decoder.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-07 16:42:13 +01:00
Dmitry Timoshkov 38b222c662 windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in PNG encoder.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-06 17:00:59 +01:00
Dmitry Timoshkov d90047ed91 windowscodecs: PNG decoder should return WINCODEC_ERR_UNKNOWNIMAGEFORMAT when image loading fails.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 23:27:42 +01:00
Nikolay Sivov 938d00cd76 windowscodecs: Implement GetContainerFormat() for encoders.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 23:27:29 +01:00
Nikolay Sivov 5976988b1e wincodecs: Trace WICRect arguments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:54:28 +01:00
Akihiro Sagawa e93495d3f8 windowscodecs: Fix buffer overflow when generating a palette.
This typically happens when loading 16-bpp color-keyed grayscale PNG
image via GDIPlus.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 20:23:42 +01:00
Nikolay Sivov 82c82e8c45 wincodecs: Add IWICImagingFactory2 stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-05 11:25:36 -05:00
Michael Stefaniuc 434ced6953 windowscodecs: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 11:57:54 +02:00
Nikolay Sivov aaea92198d wincodecs: Add a helper for GetDecoderInfo().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 20:47:11 +02:00
Nikolay Sivov 0be89601f5 wincodecs: Encoder options are optional for CreateNewFrame().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 18:44:54 +01:00
Nikolay Sivov 93afd254bb wincodecs: Use static array for property bag descriptions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 18:44:52 +01:00
Dmitry Timoshkov 14cca6ee65 windowscodecs: Add support for palette image formats to PNG encoder.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 09:23:10 +02:00
Vincent Povirk 66b126b675 windowscodecs: Generate a palette for color-keyed grayscale PNG's.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:14 +02:00
Dmitry Timoshkov eb3eff90be windowscodecs: Fix IWICBitmapEncoder::SetPalette for a not initialized case in PNG encoder.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-06 09:04:09 +02:00
Dmitry Timoshkov 2ea95f895b windowscodecs: Implement IWICBitmapDecoder::CopyPalette in PNG decoder.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-06 09:04:06 +02:00
Anton Romanov 267bca1f3b windowscodecs: PNGEncoder: Return 32bppRGBA pixel format by default.
Signed-off-by: Anton Romanov <theli.ua@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-24 08:35:22 +09:00
Dmitry Timoshkov c94bf3cf27 windowscodecs: Implement IWICMetadataQueryReader::GetLocation.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-26 08:53:04 +02:00
Viktor Semykin 2d5c861f75 windowscodecs: Fixed loading png from streams.
Png decoder was making one extra seek after it met IEND chunk. This led to
crashes of some software.

Signed-off-by: Viktor Semykin <thesame.ml@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 11:59:34 +02:00
Dmitry Timoshkov 8e694423f4 windowscodecs: Implement IWICBitmapFrameEncode::SetPalette in PNG encoder.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-29 10:16:09 +01:00
Nikolay Sivov 5107ef7566 wincodecs: Implement FilterOption property for PNG encoder.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-28 22:27:52 +01:00
Vincent Povirk 2e16630a61 windowscodecs: Implement png cHRM metadata reader.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:18 +09:00
Dmitry Timoshkov 2f74d91d87 windowscodecs: Allocate correct amount of memory for PNG image data.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 12:32:52 +09:00
Dmitry Timoshkov aaddf1365a windowscodecs: Fix a copy/paste mistake.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 00:56:39 +09:00
Andrew Eikum 1b8e123465 windowscodecs: Stub IWICMetadataQueryReader.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 12:12:10 +09:00
Vincent Povirk 27ae589d2a windowscodecs: Fix crash when PNG decoder is freed without successful init. 2015-04-13 15:22:41 +09:00
Vincent Povirk 131a7b03e8 windowscodecs: Implement PNG gAMA metadata reader. 2015-04-07 15:09:54 +09:00
Vincent Povirk f2f5cd831b windowscodecs: Implement PngDecoder_Block_GetReaderByIndex. 2015-03-31 00:04:43 +09:00
Vincent Povirk 43c97b871f windowscodecs: Implement PngDecoder_Block_GetCount. 2015-03-31 00:04:43 +09:00
Piotr Caban 531992c760 windowscodecs: Store stream reference in png decoder. 2015-03-13 21:52:43 +09:00
Piotr Caban ca5c0f6b14 windowscodecs: Initialize unused part of metadata PROPVARIANT to 0. 2015-03-05 21:28:40 +09:00
Vincent Povirk a5d569934f windowscodecs: Fix race condition loading libpng. 2014-11-07 14:03:31 +09:00
Marcus Meissner 4cfad9c462 windowscodecs: Fixed incorrect memset (Coverity). 2014-06-30 22:04:52 +02:00
Vincent Povirk e2d6b28a1b windowscodecs: Fix interlaced PNG writing. 2014-06-24 20:03:26 +02:00
Vincent Povirk 3ccaad8b41 windowscodecs: Support InterlaceOption in PNG encoder. 2014-06-16 18:03:54 +02:00
Vincent Povirk 30f9834061 windowscodecs: Share WriteSource code between implementations. 2014-06-16 09:29:05 +02:00
Vincent Povirk ed1a03e494 windowscodecs: Silence a fixme. 2014-02-06 17:08:10 +01:00
Dmitry Timoshkov d03f65a51f windowscodecs: Move the aggregation check from object constructors to class factory. 2014-01-14 12:31:42 +01:00
Michael Stefaniuc 4a5bc1375e windowscodecs: Silence a warning due to an API change in libpng 1.5. 2013-08-22 19:02:04 +02:00
Francois Gouget 9f90ec8dea windowscodecs: Autoconf macros don't always have a value. 2013-07-19 11:53:33 +02:00
Dmitry Timoshkov 18e76792a7 windowscodecs: Fix handling of a tRNS PNG chunk in the frame CopyPalette method. 2013-03-08 11:02:02 +01:00
Dmitry Timoshkov ec22949874 windowscodecs: Ask libpng to ignore CRC of PNG chunks.
According to my tests with manually created PNG images WIC ignores CRC errors
for both critical and ancillary chunks.
2013-03-07 14:56:16 +01:00
Dmitry Timoshkov f18439da51 windowscodecs: Add a comment to PNG decoder that Windows ignores CRC of the chunks. 2013-03-06 11:46:25 +01:00
Ludger Sprenker d4b1db7141 windowscodecs: Implement ComponentFactory::CreateEncoderPropertyBag. 2013-01-30 13:10:24 +01:00
Dmitry Timoshkov f52f910f8b windowscodecs: Implement GetThumbnail in the PNG frame decoder. 2012-12-10 11:26:09 +01:00
Dmitry Timoshkov 560cfedcba windowscodecs: Implement GetPreview in the PNG decoder. 2012-12-10 11:26:06 +01:00
Dmitry Timoshkov 03c9c3ce44 windowscodecs: GetThumbnail of the PNG decoder should return NULL interface. 2012-12-10 11:26:02 +01:00
Dmitry Timoshkov 92d445bcca windowscodecs: Implement QueryCapability of the PNG decoder. 2012-11-27 19:45:35 +01:00