Commit Graph

64 Commits

Author SHA1 Message Date
Ziqing Hui 33608a2c9c windowscodecs/tests: Fix an argument typo in ok().
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-01 10:47:26 +01:00
Ziqing Hui 3b531c06e0 windowscodecs: Correctly set pixel format of uncompressed DDS with extended header.
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-11-09 10:53:25 +01:00
Ziqing Hui e216385fa7 windowscodecs: Add more supported formats and fix RGB masks for RGBA1010102.
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-08-28 10:41:12 +02:00
Ziqing Hui abd7454ecc windowscodecs: Correctly set pixel format of 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-08-28 10:41:11 +02:00
Ziqing Hui e7abfd6f30 windowscodecs: Support uncompressed format in DdsFrameDecode_CopyPixels().
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-08-28 10:41:08 +02:00
Ziqing Hui fa398d6ec0 windowscodecs: Fix DdsFrameDecode_Dds_CopyBlocks().
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-08-28 10:41:06 +02:00
Ziqing Hui 87ddb4ba37 windowscodecs/tests: Fix tests for CopyBlocks.
Using strncmp() to compare pixel data buffer leads to incorrect tests.
Also, we should clear the pixel data buffer before editing and comparing 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-08-28 10:41:04 +02:00
Ziqing Hui 64c7d59ee9 windowscodecs/tests: Add CopyPixels data tests for uncompressed images.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 19:31:44 +02:00
Ziqing Hui 80ae60ca26 windowscodecs/tests: Add pixel format bpp to test_data.
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-08-25 19:31:43 +02:00
Ziqing Hui adef0fc971 windowscodecs/tests: Introduce is_compressed().
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-08-25 19:31:43 +02:00
Ziqing Hui 6c0c5e9c5b windowscodecs/tests: Expect actual WIC formats for uncompressed 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-08-25 19:31:43 +02:00
Ziqing Hui 60f1fe59a9 windowscodecs: Introduce decode_block() for DdsFrameDecode_CopyPixels().
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-08-24 22:14:44 +02:00
Ziqing Hui c525dae7ab windowscodecs/tests: Add macro BLOCK_WIDTH and BLOCK_HEIGHT.
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-08-19 21:30:46 +02:00
Ziqing Hui b447bd97e5 windowscodecs/tests: Merge decode_bc*() into a single function.
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-08-19 21:30:44 +02:00
Ziqing Hui 8e59928778 windowscodecs/tests: Add tests for decoding BC3 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-08-19 21:30:43 +02:00
Ziqing Hui e23516daf2 windowscodecs/tests: Add tests for decoding BC2 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-08-19 21:30:41 +02:00
Ziqing Hui 5e000b1830 windowscodecs/tests: Fix a variable name typo in decode_bc1().
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-08-19 21:30:39 +02:00
Ziqing Hui 6b5579b65f windowscodecs/tests: Add tests for decoding BC1 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-08-18 21:37:21 +02:00
Ziqing Hui f178907850 windowscodecs: Add tests and initial implementation for DdsFrameDecode_CopyPixels().
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-08-18 21:37:19 +02:00
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 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 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 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 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