Commit Graph

113 Commits

Author SHA1 Message Date
Alexandre Julliard c3d8a29a04 windowscodecs: Use the bundled libpng.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-18 14:36:33 +02:00
Jacek Caban 909b2ced71 windowscodecs: Use nameless unions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 12:48:48 +01:00
Michael Stefaniuc a2c6c31330 windowscodecs: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 11:57:02 +01:00
Alexandre Julliard 0012c26fa6 windowscodecs: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 22:18:20 +01:00
Esme Povirk 665ab72fca windowscodecs: Move PNG encoding to the unix lib.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 21:06:17 +01:00
Esme Povirk 19033430ae windowscodecs: Start interface for unix encoders.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 20:27:22 +01:00
Esme Povirk 1b37ac14a3 windowscodecs: Add a general wrapper around the decoder interface.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 14:56:29 +02:00
Esme Povirk 980e6650db windowscodecs: Use unix lib to get PNG color contexts.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 14:56:29 +02:00
Esme Povirk 70ea6485e8 windowscodecs: Use the unix library to find PNG metadata.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 14:56:29 +02:00
Esme Povirk 53ce545e69 windowscodecs: Move PNG CopyPixels to unix lib.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 14:56:29 +02:00
Esme Povirk 8b849e814b windowscodecs: Get PNG frame information from unix lib.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 14:56:29 +02:00
Esme Povirk 6aa8e17975 windowscodecs: Start loading PNG in unix lib.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 14:56:29 +02:00
Esme Povirk 0f61ed18ef windowscodecs: Add a unix library and start to use it for PNG.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 14:56:29 +02:00
Alexandre Julliard 7cb1ac7ba2 windowscodecs: Use standard dlopen() instead of the libwine wrappers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 14:26:20 +02:00
Vincent Povirk 4f53be1a6e windowscodecs: Set palette in WriteSource when necessary.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-05 20:27:55 +01:00
Piotr Caban 88d30985dd windowscodecs: Include png.h only if SONAME_LIBPNG is defined.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 22:20:28 +01:00
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