Nikolay Sivov
b159edc679
mfplat: Fix alignment used by audio buffers created with MFCreateMediaBufferFromMediaType().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Giovanni Mascellani
52b5caa488
mfplat: Do not allocate more memory than requested.
...
It is totally fine (though maybe a little strange) to allocate 10 bytes
requesting an alignment to a megabyte boundary or more, and this
shouldn't result in wasting an (nearly) entire megabyte of memory.
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-03-17 10:48:32 +01:00
Giovanni Mascellani
20c4896b12
mfplat: Align buffers at no less than 16 bytes boundaries.
...
This is what seems to be happening on Windows 10. On the other hand, I
am not seeing on native the current behavior of interpreting a zero
alignment parameter as a request to align to 64 bytes boundaries.
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-03-17 10:48:32 +01:00
Giovanni Mascellani
44c9ea5043
mfplat: Do not mark the buffer as locked if Lock2D() fails.
...
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-03-17 10:48:32 +01:00
Giovanni Mascellani
cc9722e4e0
mfplat: Do not allocate more memory than required.
...
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-03-17 10:48:32 +01:00
Giovanni Mascellani
135bdc21e8
mfplat: Fix buffer reading with IMF2DBuffer::Lock().
...
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-03-17 10:48:32 +01:00
Giovanni Mascellani
4b36913660
mfplat: Properly align memory allocated by IMF2DBuffer.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:31:14 +01:00
Giovanni Mascellani
0ecde5505c
mfplat: Properly align system memory buffers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 18:27:44 +01:00
Eric Pouech
d9ade7461e
mfplat: Enable compilation with long types.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 18:29:29 +01:00
Nikolay Sivov
c058e562fc
mfplat: Remove duplicated includes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 10:44:10 +01:00
Eric Pouech
98c0f3dac4
mfplat: Use correct integral types.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:50:33 +01:00
Adrian Thiele
5c687f5d9a
mfplat: Use D3DFORMAT for dxgi buffer copy function.
...
Signed-off-by: Adrian Thiele <adrian.thiele@live.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 20:47:03 +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
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
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
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
3bf4896669
mfplat: Add a stub implementation of DXGI surface buffer.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:33 +01:00
Nikolay Sivov
50c66e0aec
mfplat: Move sample implementation to a separate file.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:12 +01:00
Nikolay Sivov
ed1dd4990e
mfplat/buffer: Fix byte width set for d3d9 surface buffers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 21:55:54 +01:00
Nikolay Sivov
23a656a083
mfplat: Implement MFCreateDXSurfaceBuffer().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 16:10:35 +01:00
Nikolay Sivov
77d1701b99
mfplat: Add IMFGetService stub for 2D memory buffer.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 20:25:11 +01:00
Nikolay Sivov
4cb8055298
mfplat: Implement sample tracking.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 21:08:56 +02:00
Nikolay Sivov
3c02d5bed9
mfplat: Add tracked sample stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-03 19:44:15 +02:00
Nikolay Sivov
910ec21b5a
mfplat: Add a warning for buffer method failure (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:06 +02:00
Nikolay Sivov
9ea8edc0b9
mfplat: Add a helper to trace timestamp arguments.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:26:33 +01:00
Nikolay Sivov
a6a992d2fd
mfplat: Zero-initialize buffer memory.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:11:22 +01: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
5adb32f8b3
mfplat: Fix scanline for bottom-up case.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:11:17 +01:00
Nikolay Sivov
bd3f27abda
mfplat: Fix scanline pointer returned with Lock2D().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:11:13 +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
f056355071
mfplat: Get rid of unsupported interface trace for 1D buffers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:59:02 +01:00
Nikolay Sivov
6450fb3bda
mfplat: Fix buffer alignment calculation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:59:02 +01:00
Nikolay Sivov
eead400ba7
mfplat: Fix optional buffer argument handling in ConvertToContiguousBuffer().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:59:02 +01:00
Nikolay Sivov
6601fb3ead
mfplat: Implement ConvertToContiguousBuffer() for multiple buffers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:59:02 +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
ba014235ec
mfplat: Implement MFCreateMediaBufferFromMediaType() for audio types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:30:37 +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
b50c7c7999
mfplat: Implement CopyToBuffer().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 20:05:37 +01:00