Commit Graph

373 Commits

Author SHA1 Message Date
Giovanni Mascellani 997074224a winegstreamer: Expose the MF_MT_VIDEO_ROTATION attribute.
The stricter checks imposed by commit
ac39b313b6, while being valid in general,
require that media source attaches to media types the attributes that
application can request.

This patch exposes the MF_MT_VIDEO_ROTATION attribute, which is for
example requested by Legend of Keepers.

Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:01:53 +02:00
Nikolay Sivov dddd5a5f5e mfplat/buffer: Fix maximum length for YV12 format.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-08 22:28:44 +02:00
Derek Lesho 7dff5809ef mfplat: Copy all image planes in buffer copies.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:25:05 +02:00
Derek Lesho 1eaf034efe mfplat: Fix max buffer length for IMC2/IMC4 formats.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:25:02 +02:00
Giovanni Mascellani 8a506ea9b2 winegstreamer: Improve reported supported rates values for the media source.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-04 20:00:30 +02:00
Nikolay Sivov 602e99426f mfplat: Remove remaining typedef for bytestream object structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 21:50:58 +02:00
Nikolay Sivov 31f4ad064e mfplat: Implement MFInitVideoFormat_RGB().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 17:54:12 +02:00
Nikolay Sivov e4e319d032 mfplat: Add some attributes for tracing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:53:07 +02:00
Nikolay Sivov 093d0a85a8 mfplat/allocator: Apply default bindflags only for RGBA formats.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:42:37 +02:00
Nikolay Sivov 0b6affbeeb mfplat: Use CRT allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-12 16:56:28 +02:00
Nikolay Sivov 85d4cabc84 mfplat: Added MFCreateAudioMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Francois Gouget aec8bc3cba mfplat: Fix the spelling of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 19:49:54 +02:00
Nikolay Sivov f4aae6255b mfplat: Trace I8 propvariant values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 21:33:15 +02:00
Nikolay Sivov def07b3f69 mfplat: Implement shared device manager API.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 23:21:27 +02:00
Nikolay Sivov 3e3490be39 mfplat: Add MFllMulDiv().
Implementation is based on similar gstreamer utility code,
adjusted for signed arguments, and with platform optimizations removed.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 23:21:27 +02:00
Francois Gouget 730b30aacf mfplat/tests: Fix an event queue refcounting test on Vista.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-23 20:02:07 +02:00
Nikolay Sivov 895bb6f260 mfplat: Reduce duplication in MFCreateMFVideoFormatFromMFMediaType() for ratio attributes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-22 10:30:59 +02:00
Nikolay Sivov e5475da88e mfplat: Remove some unnecessary pointer casts.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-22 10:30:57 +02:00
Connor McAdams 94d33c1daa mfplat: Implement GetAudioFormat method for IMFAudioMediaType interface.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Connor McAdams 77a145856a mfplat: Free video_format pointer on final MediaType Release.
Make sure that the MFVIDEOFORMAT pointer is freed when the final
IMFVideoMediaType interface is released.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Connor McAdams 7dc454be85 mfplat: Add MFCreateWaveFormatExFromMFMediaType AudioFormat_Float test.
Add test for MFAudioFormat_Float subtype being passed to
MFCreateWaveFormatExFromMFMediaType.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Connor McAdams 538b702c87 mfplat: Add support for AudioFormat_Float in MFCreateWaveFormatExFromMFMediaType.
Add support for the MFAudioFormat_Float subtype in
MFCreateWaveFormatExFromMFMediaType.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Michael Stefaniuc 2ef900eb81 mfplat/tests: Test the correct variable.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 21:07:09 +02:00
Nikolay Sivov ce37290a5a mfplat: Release queue subscriber on queue release.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 17:04:35 +02:00
Rémi Bernon e9a29249b8 mfplat: Release queue subscriber on Shutdown.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 17:04:35 +02:00
Nikolay Sivov 3d6669cca3 mfplat: Use RTWQ* type in BeginGetEvent().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 17:04:35 +02:00
Connor McAdams 55228c2b2c mfplat: Add corresponding 'IYUV' type alongside 'I420'.
Add references the 'IYUV' mediatype wherever 'I420' is referenced, as
they are identical.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-13 19:20:46 +02:00
Rémi Bernon 4904d90870 mfplat: Read queue subscriber within the critical section.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-12 21:10:04 +02:00
Nikolay Sivov 8511670b37 mfplat/tests: Add some more tests for IsCompressedFormat().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-08 12:14:31 +02:00
Nikolay Sivov 0d383fe182 mfplat: Add Lock()/Unlock() for d3d11 buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-30 12:26:37 +02:00
Giovanni Mascellani 767c200f47 winegstreamer: Implement a stub IMFRateControl for the media source.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Giovanni Mascellani 6e4c7d4dba winegstreamer: Implement a stub IMFRateSupport for the media source.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Giovanni Mascellani 0a0bf3cf21 winegstreamer: Implement a stub IMFGetService for the media source.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Nikolay Sivov 49886f0312 mfplat/tests: Add media source rate service tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Nikolay Sivov d1d1e3f56f rtworkq: Partially implement shared queues.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 17:56:55 +01:00
Nikolay Sivov 78ab395594 mfplat: Implement Lock2DSize() for d3d11 buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 12:48:48 +01:00
Nikolay Sivov 81c7633154 mfplat: Rename media buffer structure to better reflect its usage.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 12:48:48 +01:00
Nikolay Sivov ca52f07565 mfplat: Always initialize output arguments in GetScanline0AndPitch() for d3d9 buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 12:48:48 +01:00
Nikolay Sivov 01059d5946 mfplat: Implement GetScanline0AndPitch() for d3d11 buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 12:48:48 +01:00
Nikolay Sivov 9932a1943b mfplat: Implement Lock2D()/Unlock2D() for d3d11 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 12:48:48 +01:00
Nikolay Sivov cd397d1aa6 mfplat: Use texture pointer for DXGI surface buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov 31b88c38b0 mfplat: Implement GetContiguousLength() for d3d9 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov 264732a8c6 mfplat: Implement GetContiguousLength() for d3d11 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov dae643d2ed mfplat: Fix SetCurrentLength() for d3d11 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov ff056c3f86 mfplat: Fix SetCurrentLength() for d3d9 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov e66bfc8351 mfplat/tests: Add a test for d3d11 texture buffer updates.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov 80b6555ed4 mfplat: Remove duplicated GUID entry from attribute tracing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 20:58:39 +01:00
Jacek Caban ee587da9e5 include: Use nameless unions in dxva2api.idl helpers.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50836
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 21:48:41 +01:00
Jacek Caban b39b9eea39 include: Don't default to WINE_NO_NAMELESS_EXTENSION for Wine build.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 21:48:38 +01:00
Alexandre Julliard de2a6d9b38 mfplat: Use --prefer-native instead of DLL_WINE_PREATTACH.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 10:06:28 +01:00