Commit graph

479 commits

Author SHA1 Message Date
Nikolay Sivov
de034b36b7 mfplat/tests: Add another test for MFCopyImage().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-09 22:46:41 +02:00
Nikolay Sivov
32cec5e628 mfplat: Implement MFCreatePathFromURL(). 2023-05-08 20:01:26 +02:00
Giovanni Mascellani
885d8dfab2 mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyTo(). 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
8c0a1dfb63 mfplat/tests: Test IMF2DBuffer::ContiguousCopyTo(). 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
da1885ce23 mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyFrom().
This is a generic implementation, which is probably fine for buffers
backed by system memory. The implementation for buffers backed by
GPU memory can probably be optimized.
2023-05-08 10:55:29 +02:00
Giovanni Mascellani
cd719c7c44 mfplat/tests: Test IMF2DBuffer::ContiguousCopyFrom(). 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
73dbdf3037 mfplat/tests: Test large RGB image formats. 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
4805546024 mfplat/buffer: Support YV12, I420 and IYUV image formats. 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
6d1fc9096d mfplat/buffer: Use the appropriate image copy function for NV11. 2023-05-08 10:55:29 +02:00
Giovanni Mascellani
399cec1b75 mfplat/tests: Push image size and format as context. 2023-05-08 10:55:29 +02:00
Paul Gofman
5a162f2c31 mfplat: Fix returned buffer length in dxgi_surface_buffer_lock(). 2023-04-27 08:57:14 +02:00
Giovanni Mascellani
f443b9e042 mfplat/tests: Test that the content of DXGI buffers is discarded when locking for writing. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
d073d3ea18 mfplat: Only upload surface data to GPU for DXGI buffers when writing. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
49b8e55b3c mfplat: Only download surface data from GPU for DXGI buffers when reading. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
071eb50ff0 mfplat: Fix locking flags usage for DXGI buffers. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
df660e80f0 mfplat: Do not mark a DXGI buffer as locked if surface mapping fails.
Analogous to 44c9ea5043.
2023-04-26 22:49:17 +02:00
Giovanni Mascellani
f40e5fcb38 mfplat/tests: Test locking flags for DXGI buffers. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
c1eee92bd2 mfplat/tests: Test Lock2D() on a locked DXGI surface buffer. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
91c0eda709 mfplat: Fix locking flags usage for D3D9 buffers. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
d24f8dbbc7 mfplat/tests: Independently test that locking flags are ignored for D3D9 buffers.
In the previous test the same address was always returned for data,
hinting that the tests might have been succeding just because of some
aliasing reason. The new tests show that this is not the case:
even when transferring data through another throw-away surface,
changes are seen and recorded independently of the locking flags.
2023-04-26 22:49:17 +02:00
Giovanni Mascellani
ee16e7145e mfplat/tests: Test locking flags for D3D9 buffers. 2023-04-26 22:49:17 +02:00
Giovanni Mascellani
ef4441a263 mfplat/tests: Test Lock2D() on a locked D3D9 surface buffer. 2023-04-26 22:49:17 +02:00
Nikolay Sivov
69b98b2b79 mfplat: Handle more video subtypes in MFInitMediaTypeFromAMMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-04-10 14:18:00 +02:00
Michael Stefaniuc
e4512287a0 mfplat/tests: Remove duplicated ok() call. 2023-03-31 19:00:04 +02:00
Derek Lesho
ab80ee17fa winegstreamer/media_source: Close bytestream in ::Shutdown.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
2023-03-14 18:38:31 +01:00
Derek Lesho
698cc602f0 mfplat/tests: Test bytestream closing behavior in IMFMediaSource::Shutdown.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
2023-03-14 18:38:31 +01:00
Ziqing Hui
df26eae97d mfplat: Support YVYU, NV11, MEDIASUBTYPE_RGB* media types. 2023-02-07 10:35:12 +01:00
Ziqing Hui
67be089aa2 mfplat: Fix stride calculation for RGB24. 2023-02-07 10:35:12 +01:00
Ziqing Hui
c96d34e86e mfplat/tests: Add more RGB24 image size tests. 2023-01-06 13:39:45 +01:00
Ziqing Hui
bc467de573 mfplat/tests: Test MFGetStrideForBitmapInfoHeader for NV11. 2023-01-06 13:39:45 +01:00
Ziqing Hui
ae32fb465e mfplat/tests: Add MEDIASUBTYPE_RGB* and NV11 image size tests. 2022-12-21 18:24:38 +01:00
Rémi Bernon
2dad3edf7c mfplat: Clear the clsid pointer in MFTEnum to avoid invalid free. 2022-12-03 00:05:17 +01:00
Nikolay Sivov
4690a7df51 mfplat: Partially implement MFInitMediaTypeFromAMMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-27 16:53:13 +02:00
Nikolay Sivov
1e2f552428 mfplat: Partially implement MFInitMediaTypeFromVideoInfoHeader().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-27 16:53:13 +02:00
Nikolay Sivov
43e70580f4 mfplat/tests: Add some tests for legacy media type conersion functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-27 16:53:09 +02:00
Nikolay Sivov
6b418e8213 mfplat: Implement Write() for file streams.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-15 18:14:01 +02:00
Nikolay Sivov
da581d383d mfplat: Add some attributes related to transcoding.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-09 21:07:47 +02:00
Giovanni Mascellani
a04e890f37 mfplat/tests: Merge and reorganize image format tests.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
2022-07-26 22:37:48 +02:00
Giovanni Mascellani
51835957d0 mfplat/tests: Mark some tests as broken on Win 8 and 10 v1507.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
2022-07-26 22:37:48 +02:00
Giovanni Mascellani
0a78a9f56d mfplat/tests: Remove duplicated tests.
The same tests are already performed in test_MFGetPlaneSize().

Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-01 19:16:16 +02:00
Giovanni Mascellani
2f83de8cff mfplat/buffer: Deduplicate common code between Lock2D() and Lock2DSize().
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-01 19:16:16 +02:00
Zhiyi Zhang
2e0a56257a mfplat/tests: Fix resource leaks.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53235
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2022-06-30 12:32:48 +02:00
Giovanni Mascellani
fcb8edee6b mfplat/buffer: Fix the image copy function for IMC2/IMC4 buffers with odd height.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-28 10:25:49 +02:00
Giovanni Mascellani
496073d506 mfplat/tests: Use a more unique pattern when testing image formats.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-28 10:25:44 +02:00
Giovanni Mascellani
fcabfeea8f mfplat/buffer: Fix size for IMC2/IMC4 buffers with odd height.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-28 10:25:37 +02:00
Giovanni Mascellani
433845277b mfplat/tests: Test interaction between Lock2D() and LockRect().
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-16 22:32:37 +02:00
Giovanni Mascellani
0d63116b27 mfplat/tests: Test interaction between Lock() and LockRect().
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-16 22:32:37 +02:00
Andrew Eikum
0416d2f167 mfplat/tests: Add tests for IMFByteStream position.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-20 12:24:38 +02:00
Andrew Eikum
0c2f1121cc mfplat: Consolidate stream and file IMFByteStream Read/Write callback vtables.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-20 12:24:38 +02:00
Andrew Eikum
411ef13e7c mfplat: Simplify IMFByteStream async Read/Write methods.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-20 12:24:38 +02:00