Ziqing Hui
72ad4e7dc1
windowscodecs: Fix alpha mode of DXT3 and DXT5 image.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 10:17:00 +02:00
Ziqing Hui
2d0480ecc3
windowscodecs/tests: Add more compressed test DDS images.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 10:16:58 +02:00
Ziqing Hui
da0fc29042
windowscodecs/tests: Add tests for alpha and luminance image.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 10:16:56 +02:00
Ziqing Hui
0703005948
windowscodecs/tests: Rename test_dds_bgr565 to test_dds_rgb565.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 22:18:37 +02:00
Ziqing Hui
33406cd357
windowscodecs/tests: Simplify init_decoder().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 22:18:35 +02:00
Ziqing Hui
7ca07bc8af
windowscodecs/tests: Remove the test data in test_dds_decoder_initialize().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 22:18:25 +02:00
Ziqing Hui
2683be090b
windowscodecs: Add support for decoding cube maps.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:45:00 +02:00
Ziqing Hui
bc805bbcd9
windowscodecs/tests: Add tests for cube maps.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:44:58 +02:00
Ziqing Hui
6b4566dfe7
windowscodecs: Add more formats to get_bytes_per_block_from_format().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:44:56 +02:00
Ziqing Hui
e74d39c32d
windowscodecs: Introduce is_compressed(). And fix some format checks.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:44:54 +02:00
Ziqing Hui
15f04f5779
windowscodecs/tests: Add tests for DDS images with fourCC which are also uncompressed.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:44:52 +02:00
Ziqing Hui
0b676b55cc
windowscodecs: Add more supported DXGI formats for DDS decoder. And return the actual formats for uncompressed DDS images.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:44:50 +02:00
Ziqing Hui
c801bde2f0
windowscodecs/tests: Add more RGB images for DDS tests.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 11:44:47 +02:00
Ziqing Hui
4e56d3e650
windowscodecs: Add support for decoding uncompressed DDS image.
...
For uncompressed DDS image, "a block" means a pixel.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 13:25:08 +02:00
Ziqing Hui
31991b2d10
windowscodecs/tests: Add tests for decoding uncompressed DDS image.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 13:25:08 +02:00
Ziqing Hui
f98a32ad47
windowscodecs: Return fail for unsupported format in DdsDecoder_Initialize().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 13:25:08 +02:00
Ziqing Hui
81405aa86d
windowscodecs: Use IWICWineDecoder_Initialize() to initialize decoders in find_decoder().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 13:24:53 +02:00
Ziqing Hui
9ac21b7e1e
windowscodecs: Implement DdsDecoder_Wine_Initialize().
...
Code in DdsDecoder_Initialize() are moved to DdsDecoder_Wine_Initialize().
And DdsDecoder_Initialize() are implemented on top of DdsDecoder_Wine_Initialize().
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 11:02:18 +02:00
Ziqing Hui
2b2341cb36
windowscodecs/tests: Add tests for DdsDecoder_Wine_Initialize().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:26:16 +02:00
Ziqing Hui
d7ef1cd82c
windowscodecs: Add IWICWineDecoder stub for DDS decoder.
...
Initializing cube map and uncompressed DDS is not supported in WIC.
But we would like to use them in other part of wine. So we introduce
a Wine-specific interface to initialize them.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:14 +02:00
Ziqing Hui
43788707ce
windowscodecs: Remove header and header_dxt10 in struct DdsDecoder.
...
This make dds_info become the only dependence of implementation.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:14 +02:00
Ziqing Hui
82d90fc2a1
windowscodecs: Implement DdsFrameDecode_GetPixelFormat().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:17:12 +02:00
Ziqing Hui
7b24d3efc7
windowscodecs/tests: Format ok() message for tests/ddsformat.c.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 16:43:12 +02:00
Ziqing Hui
a2fa0e76b1
windowscodecs: Fix MIME types of DDS decoder.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 11:42:12 +02:00
Ziqing Hui
f69619791d
windowscodecs/tests: Add decoder info tests for DDS decoder.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 11:42:08 +02:00
Ziqing Hui
67a50f1252
windowscodecs/tests: Add tests for DdsFrameDecode_GetPixelFormat().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 11:42:06 +02:00
Ziqing Hui
fed3784ab0
windowscodecs: Implement DdsFrameDecode_Dds_CopyBlocks().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 08:32:04 +02:00
Ziqing Hui
e51a707487
windowscodecs/tests: Add more tests for DdsFrameDecode_Dds_CopyBlocks() when "boundsInBlocks" is NULL.
...
The added tests shows that when boundsInBlocks parameter is NULL,
stride parameter will be checked to ensure it is bigger or equal to
frame stride, but it will be ignored in the call. This can be proved
by:
* CopyBlocks(NULL, frame_stride - 1, sizeof(buffer), buffer) return
error.
* CopyBlocks(NULL, frame_stride, sizeof(buffer), buffer) and
CopyBlocks(NULL, frame_stride * 2, sizeof(buffer), buffer) works fine
and result in same buffer content.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 08:31:46 +02:00
Ziqing Hui
71e92c029a
windowscodecs/tests: Add a DXT3 test image for DDS decoder.
...
We only tested DXT1 images with 1 blocks before. That's not enough.
Also, for CopyBlocks(), when boundsInBlocks parameter is NULL, the
stride should be the stride of the frame itself.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 08:31:42 +02:00
Ziqing Hui
a805c1f198
windowscodecs: Initialize block data in DdsDecoder_Dds_GetFrame().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 08:31:27 +02:00
Ziqing Hui
ac1adfc512
windowscodecs/tests: Add more tests for DdsFrameDecode_Dds_CopyBlocks().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 19:30:42 +02:00
Ziqing Hui
b3eabfdd93
windowscodecs: Add tests for DdsFrameDecode_Dds_CopyBlocks().
...
Some code in test_dds_decoder_frame_properties() are moved to
test_dds_decoder_frame() bacause there are some same code in
test_dds_decoder_frame_properties() and test_dds_decoder_frame_data().
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 22:55:03 +02:00
Ziqing Hui
a31cadae42
windowscodecs: Implement DdsFrameDecode_Dds_GetSizeInBlocks().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Ziqing Hui
81da1f6b5d
windowscodecs/tests: Add tests for DdsFrameDecode_Dds_GetSizeInBlocks().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Ziqing Hui
2e39b43c5d
windowscodecs: Implement DdsFrameDecode_Dds_GetFormatInfo().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Ziqing Hui
febf29ba9d
windowscodecs/tests: Add tests for DdsFrameDecode_Dds_GetFormatInfo().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Ziqing Hui
0d263f9fda
windowscodecs: Check NULL parameters for DdsFrameDecode_GetSize().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Ziqing Hui
9a6108cf43
windowscodecs: Implement DdsFrameDecode_GetSize().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 10:45:36 +02:00
Ziqing Hui
870b08b7fd
windowscodecs: Implement DdsDecoder_Dds_GetFrame().
...
DdsDecoder_GetFrame() is implemented on top of DdsDecoder_Dds_GetFrame().
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 10:45:34 +02:00
Ziqing Hui
ab0d2b1434
windowscodecs: Get DDS parameters when initialize.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 10:45:32 +02:00
Ziqing Hui
ff9b2936ed
windowscodecs/tests: Add tests for DdsDecoder_GetFrame() and DdsFrameDecode_GetSize().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 19:50:47 +02:00
Francois Gouget
fe2435c93f
windowscodecs/tests: Fix the spelling of a couple of variable names.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 11:52:33 +02:00
Ziqing Hui
d622b134dd
windowsccodecs: Implement DdsDecoder_Dds_GetParameters().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:48:15 +02:00
Ziqing Hui
a9c70877f3
windowscodecs/tests: Add tests for IWICDdsDecoder_GetParameters().
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:48:10 +02:00
Ziqing Hui
2531b927c7
windowscodecs: Add stub implementation for IWICDdsFrameDecode.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 21:59:13 +02:00
Ziqing Hui
d42946ea43
windowscodecs: Add stub implementation for IWICDdsDecoder.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 21:59:11 +02:00
Ziqing Hui
db0f5027d7
windowscodecs: Add stub for DdsFrameDecode.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 21:59:07 +02:00
Dmitry Timoshkov
c1d02a5fdf
windowscodecs/tests: Add the tests for GIF encoder and decoder.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 21:36:12 +02:00
Dmitry Timoshkov
18a915ef3c
windowscodecs: Fix IWICBitmapDecoder::CopyPalette for a not initialized case in the GIF decoder.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 21:36:12 +02:00
Dmitry Timoshkov
7eb1f5d6ad
windowscodecs: Add initial implementation of the GIF encoder.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 21:36:12 +02:00