Commit Graph

62 Commits

Author SHA1 Message Date
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 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
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
Nikolay Sivov 0e7836c0ac mfplat/allocator: Add initial implementation of sample allocator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:38 +01:00
Nikolay Sivov 5668c1ce5f mfplat: Added MFMapDX9FormatToDXGIFormat().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:18 +01:00
Nikolay Sivov 940adfdd56 mfplat/mediatype: Do not add user data when converting from WAVE_FORMAT_EXTENSIBLE.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:41 +01:00
Nikolay Sivov 3a9ecc5878 mfplat/mediatype: Store extra format data as MF_MT_USER_DATA when initializing from WAVEFORMATEX.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov af37f3b085 mfplat: Implement MFMapDXGIFormatToDX9Format().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:48:31 +01:00
Nikolay Sivov abb8852077 mfplat: Implement MFFrameRateToAverageTimePerFrame().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 16:01:23 +01:00
Nikolay Sivov 74b10b2a4c mfplat: Consider first type entry when returning major type for stream descriptors.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 16:01:23 +01:00
Nikolay Sivov ad65d03013 mfplat/mediatype: Add IMFAudioMediaType stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:06 +02:00
Nikolay Sivov a6166a5e1a mfplat/mediatype: Enable IMFVideoMediaType based on major type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:03 +02:00
Nikolay Sivov 1614769407 mfplat: Add MFConvertColorInfoToDXVA().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 18:36:08 +02:00
Nikolay Sivov cb43efe901 mfplat: Implement GetVideoFormat().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 19:31:18 +02:00
Nikolay Sivov 8140604763 mfplat: Implement MFCreateMFVideoFormatFromMFMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 18:37:07 +02:00
Nikolay Sivov a7d18392e4 mfplat: Add IMFVideoMediaType semi-stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 18:37:07 +02:00
Nikolay Sivov 6dc14ce625 mfplat: Add I420 format support for frame size helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 20:16:05 +02:00
Nikolay Sivov f6c131f5f3 mfplat: Fix subtype test condition for MFInitMediaTypeFromWaveFormatEx().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 22:53:48 +02:00
Nikolay Sivov 1ff8014a77 mfplat: Initial support for WAVE_FORMAT_EXTENSIBLE in MFInitMediaTypeFromWaveFormatEx().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Nikolay Sivov 2cc0116da0 mfplat: Partially implement MFInitMediaTypeFromWaveFormatEx().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:01:18 +02:00
Nikolay Sivov 2863eb0251 mfplat: Fix packed byte width calculation for 2D buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:11:19 +01:00
Nikolay Sivov 1d7c5308c6 mfplat: Fix bpp for RGB24 format.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:11:15 +01:00
Nikolay Sivov d0a43d1830 mfplat: Add a helper to trace video format name.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 16:40:31 +01:00
Nikolay Sivov 26a257956a mfplat: Improve 2D buffer sizes estimation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 16:40:26 +01:00
Nikolay Sivov c1e5c71467 mfplat: Implement locking methods for 2D memory buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:30:48 +01:00
Nikolay Sivov 2c1c5cc292 mfplat: Add some more YUV formats data.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:30:40 +01:00
Nikolay Sivov 1fb20f67d8 mfplat: Add a stub for 2D system memory buffer object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:19 +01:00
Nikolay Sivov d62f8f645a mfplat: Add MFGetStrideForBitmapInfoHeader().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:19 +01:00
Nikolay Sivov 3e1cfb3dd8 mfplat: Implement IsMediaTypeSupported() for stream descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 20:05:37 +01:00
Nikolay Sivov 673d984934 mfplat: Add MFGetPlaneSize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 22:16:30 +01:00
Nikolay Sivov 2f4ba6e88b mfplat: Remove extra critical section from stream descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 17:55:40 +01:00
Nikolay Sivov ca2e20906e mfplat: Remove extra critical section from presentation descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 17:55:38 +01:00
Nikolay Sivov ad4c734c37 mfplat: Fix media type compare logic regarding user data.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-18 20:30:06 +01:00
Derek Lesho 7929583bb6 mfplat: Make functionality of GetMediaTypeHandler more clear.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 08:55:02 +01:00
Alexandre Julliard 631f9b8d5f mfplat: Make bsearch() callback functions cdecl.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-22 09:58:35 +02:00
Nikolay Sivov 59599486c8 mfplat: Improve SetGUID() traces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 07:13:54 -05:00
Nikolay Sivov dda9037c37 mfplat: Copy attributes when cloning presentation descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:08:09 +02:00
Nikolay Sivov 4837234e84 mfplat: Improve method traces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-29 18:46:25 +02:00
Nikolay Sivov fee85530dc mfplat: Trace known format ids in MFCalculateImageSize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-02 19:27:58 +02:00
Nikolay Sivov b4c28a7085 mfplat: Use attributes helpers for presentation descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-02 19:27:53 +02:00
Nikolay Sivov e4e9d3a2f3 mfplat: Use attributes helpers for stream descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-01 21:54:31 +02:00
Nikolay Sivov 7a13f42786 mfplat: Add per-method helpers for attributes, use them for media type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-01 21:54:31 +02:00
Nikolay Sivov 261995d166 mfplat: Partially implement MFCreateWaveFormatExFromMFMediaType() for PCM format.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-01 21:54:31 +02:00
Nikolay Sivov 6e34275f84 mfplat: Add traces for attributes methods of IMFMediaType.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-29 21:13:43 +01:00
Nikolay Sivov c46bdc9473 mfplat: Fix return value for IsCompressedFormat().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:46:58 +01:00
Nikolay Sivov 16477a0922 mfplat: Implement media type wrapping.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-22 09:20:40 +01:00
Nikolay Sivov f3a72d4e91 mfplat: Implement MFCompareFullToPartialMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-21 19:32:17 +01:00
Nikolay Sivov abcea9a35a mfplat: Implement MFCalculateImageSize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-21 19:32:16 +01:00
Nikolay Sivov 9caaebf2fc mfplat: Forward CopyAllItems() for presentation descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-21 19:32:16 +01:00
Nikolay Sivov 762a9ae4c7 mfplat: Implement GetMajorType() for stream descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-21 19:32:16 +01:00