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
Nikolay Sivov
f861bc2abc
evr/mixer: Implement repainting requests.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 18:57:30 +01:00
Nikolay Sivov
e57e19c236
evr/presenter: Add missing break in get_FramesDrawn() (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 17:33:17 +01:00
Nikolay Sivov
7462d77f0b
evr/presenter: Remove logic related to picture aspect ratio adjustment.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 17:33:14 +01:00
Nikolay Sivov
4b6df3a66c
evr/mixer: Preserve frame aspect ratio when rendering.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 17:33:11 +01:00
Nikolay Sivov
82965df653
evr/mixer: Fix rectangle scaling helper argument check (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 17:33:08 +01:00
Nikolay Sivov
e0b30bc51a
evr/mixer: Set destination alpha to fully opaque.
...
It's necessary for HW devices, software reference device does not support blending.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-05 17:10:06 +01:00
Nikolay Sivov
9d2dc9e1c1
evr/mixer: Set per-stream alpha to fully opaque.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-04 22:36:28 +01:00
Nikolay Sivov
aad6c57211
evr/mixer: Pass valid background color parameter to VideoProcessBlt().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-04 22:36:28 +01:00
Nikolay Sivov
e16c9a8604
evr/presenter: Add presented frames counter.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-03 21:06:48 +01:00
Nikolay Sivov
805b3e465f
evr/mixer: Fix number of substreams in CreateVideoProcessor().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:52 +01:00
Andrew Eikum
6e11378df2
strmbase: Send EC_COMPLETE in IBaseFilter::Run() for unconnected renderers.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 21:03:02 +01:00
Zebediah Figura
8ef3c68f5f
evr/tests: Test receiving EC_COMPLETE when not connected.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 21:02:56 +01:00