Nikolay Sivov
ba664e108e
evr/dshow: Handle YUY2 sample copy.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53810
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-01-17 11:07:00 +01:00
Nikolay Sivov
05892c2369
evr/tests: Skip tests if D3D9 is unusable.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-11-20 17:43:20 +01:00
Nikolay Sivov
055e2c166e
evr/presenter: Handle failure to initialize D3D9.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-11-20 17:43:19 +01:00
Rémi Bernon
8ffebcf4ab
evr: Set last presented sample atomically.
...
Fixes a race condition and crashes in Secret of Mana.
The queue critical section is held in video_presenter_sample_present
while GetCurrentImage only locks the presenter CS. Double locking is
tricky and atomic operation is appropriate to swap the sample pointer.
2023-11-20 17:40:35 +01:00
Alexandre Julliard
7ccb5df0fc
makefiles: Always use the global SOURCES variable for .rc files.
2023-11-01 22:43:56 +01:00
Alexandre Julliard
c432eac726
makefiles: Always use the global SOURCES variable for .idl files.
2023-11-01 22:43:50 +01:00
Alex Henrie
4fef708660
evr: Use debugstr_fourcc instead of debugstr_an.
2023-10-17 18:18:57 +02:00
Alistair Leslie-Hughes
5971885680
evr: Remove DECLSPEC_HIDDEN usage.
2023-08-23 17:33:48 +02:00
Santino Mazza
f8cf88dcf4
evr: Remove process input handling from streaming thread.
2023-08-14 13:32:16 +02:00
Santino Mazza
fa3ebd5044
evr: Don't lock presenter allocator when calling NotifyRelease.
...
The changes in the video sample allocator are not part of the public
api specification, it's only made for internal use in the evr presenter
implementation.
2023-08-14 13:32:14 +02:00
Santino Mazza
7c0731e184
evr: Create critical section for sample queue.
2023-08-14 13:32:14 +02:00
Santino Mazza
072fe5d62a
evr: Release sample queue when streaming ends.
2023-08-14 13:32:14 +02:00
Rémi Bernon
486531ca8a
evr: Respect RGB format stride in GetCurrentImage.
2023-06-06 11:22:55 +02:00
Rémi Bernon
df91b31428
evr/tests: Test IMFVideoDisplayControl_GetCurrentImage orientation.
2023-06-06 11:22:52 +02:00
Eric Pouech
0cc4a38aae
evr: Fix incorrect integral computation.
...
Note: typeof (int * unsigned) is unsigned.
So:
- on 64bit CPUs, where sizeof(int) = 4 < sizeof(void*) = 8,
- when the result of the multiplication is supposed to be negative
- there's no propagation of the negative sign from 32bit to 64 bit integers
Fixes a crash in Age of Empire II.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-05-03 16:48:41 +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
Tingzhong Luo
c56638278c
evr: Fix crash when clearing input type for the mixer.
...
Signed-off-by: Tingzhong Luo <luotingzhong@uniontech.com>
2023-02-24 22:23:12 +01:00
Nikolay Sivov
a1d2e52468
evr/filter: Initial implementation of sample rendering.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-06 21:40:39 +02:00
Nikolay Sivov
50cd67d069
evr/filter: Notify mixer and presenter on state changes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-05 13:39:56 +02:00
Nikolay Sivov
9d58733b3b
evr/filter: Initialize interface pointer in GetService() (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-31 17:44:53 +02:00
Nikolay Sivov
24e90e4350
evr/filter: Implement pin's connect/disconnect.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-30 21:38:39 +02:00
Nikolay Sivov
f143af50a3
evr/filter: Implement media type testing for QueryAccept().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-29 20:04:17 +02:00
Nikolay Sivov
4d7b3c7861
evr/filter: Add IMFTopologyServiceLookup stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-29 20:04:17 +02:00
Nikolay Sivov
27972922c7
evr/filter: Add IMediaEventSink stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-29 20:04:17 +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
120ca2ff52
evr/tests: Add a test to show that IMFVideoDisplayControl is accessible.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-19 22:45:18 +02:00
Nikolay Sivov
b1c3bb4f0c
evr: Implement lazy initialization with mixer and presenter instances.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-19 22:45:18 +02:00
Nikolay Sivov
bf8c08d9e3
evr: Add IMFVideoRenderer stub to the filter.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-19 22:45:18 +02:00
Nikolay Sivov
7f71eda497
evr: Add IMFGetService stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-19 22:45:18 +02:00
Zhiyi Zhang
0519f53ca0
evr/tests: Fix resource leaks.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53201
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2022-06-30 12:32:48 +02:00
Zhiyi Zhang
86034654a8
evr: Release buffer after adding it to sample.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53201
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2022-06-30 12:32:48 +02:00
Nikolay Sivov
2686550a99
evr/sample: Use proper locking method for SetAllocator().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-23 10:24:18 +02:00
Nikolay Sivov
d686663d22
evr/sample: Use explicit critical section for release handling.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 11:37:39 +02:00
Nikolay Sivov
ce71f5a05f
evr/sample: Avoid a race condition when releasing a tracked sample.
...
Same as b180775121
.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 11:37:35 +02:00
Nikolay Sivov
0b9c35edb4
evr: Add IAMFilterMiscFlags interface.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 09:26:27 +02:00
Nikolay Sivov
28423d79d4
evr/mixer: Implement GetVideoProcessorCaps().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Nikolay Sivov
0289b9c23a
evr/mixer: Implement GetAvailableVideoProcessorModes().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 17:34:48 +02:00
Nikolay Sivov
7c908eb9a4
evr: Cleanup class factory methods.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-08 11:49:58 +02:00
Nikolay Sivov
74e0985e1b
evr/presenter: Make GetCurrentImage() work without output window.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-06 23:07:20 +02:00
Andrew Eikum
2bf3a58518
evr/presenter: Place early samples back to the front of the queue.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-06 23:07:20 +02:00
Andrew Eikum
0957268103
evr/presenter: Fix hns-to-msec conversion multiplier.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-06 23:07:20 +02:00
Nikolay Sivov
e4f911153d
evr/tests: Build without WINE_NO_LONG_TYPES.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 11:02:12 +01:00
Nikolay Sivov
1a47ab043f
evr/mixer: Remove incorrect trace.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 18:43:10 +01:00
Nikolay Sivov
22fda5990f
evr/presenter: Initial implementation of GetCurrentImage().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-01 18:23:31 +01:00
Nikolay Sivov
e091d5e87c
evr: Fix long types warnings.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-01 18:23:28 +01:00
Eric Pouech
c47f305295
evr: Use correct integral type.
...
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-01-31 18:38:55 +01:00
Fabian Maurer
892007d2e4
evr/tests: Avoid "misleading indentation" warnings.
...
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 21:09:19 +01:00
Alexandre Julliard
f0cd33c69e
include: Add support for defining Win32 types as 'long' where possible.
...
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Nikolay Sivov
12a1b4b360
dxva2: Introduce progressive processor device.
...
The point is to provide a device, with similar caps and NV12 support,
while keeping software device on its own, the way it should be.
This is based on research by Derek Lesho.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-23 13:39:19 +01:00
Nikolay Sivov
d86580b69f
evr/mixer: Flush on MFT_MESSAGE_NOTIFY_END_STREAMING.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 18:57:32 +01:00