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
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
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
Nikolay Sivov
8c0c3d296f
evr/mixer: Implement stream rectangle scaling.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-29 15:20:13 +02:00
Nikolay Sivov
58efe0f43e
evr/mixer: Handle substream zorder for dxva blitting.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-28 17:52:13 +02:00
Nikolay Sivov
059a0c0b56
evr/mixer: Improve output type candidates attributes configuration.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-27 22:40:50 +02:00
Nikolay Sivov
7c6c054427
evr: Trace normalized rectangle arguments.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 18:52:12 +02:00
Nikolay Sivov
43dd2fbfbc
evr/mixer: Set MF_MT_INTERLACE_MODE for the mixer output types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:23:01 +02:00
Nikolay Sivov
5d83662217
evr/mixer: Set aperture attributes for output type candidates.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 17:54:01 +02:00
Nikolay Sivov
626438a6be
evr/mixer: Test format only when setting output type.
...
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
d271445977
evr/mixer: Return cloned instances for output type candidates.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 16:14:51 +02:00
Nikolay Sivov
e7ef9fe25b
evr/mixer: Preserve output stream types order.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 16:14:49 +02:00
Nikolay Sivov
8572de607b
evr/mixer: Use hex format for message type.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 18:53:49 +02:00
Nikolay Sivov
195f735cbe
evr: Use CRT functions for heap allocations.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-08 12:14:31 +02:00
Michael Stefaniuc
23d899c00c
evr: Remove superfluous cast to self.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-17 10:12:40 +01:00
Alexandre Julliard
013e5de8ce
evr: Make qsort and bsearch callback functions cdecl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:36 +01:00
Nikolay Sivov
315cf3b60f
evr/mixer: Improve GetService() handling of unsupported interfaces/services.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 17:19:41 +01:00
Nikolay Sivov
8e82c72083
evr/mixer: Set timestamp and duration for output samples.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 17:19:39 +01:00
Nikolay Sivov
6ae872e855
evr/mixer: Fix output filling behaviour regarding sample properties.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:52:02 +01:00
Nikolay Sivov
8b9b16151d
evr/mixer: Fix method function name for consistency.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 21:55:44 +01:00
Nikolay Sivov
409392dfb7
evr/mixer: Add partial implementation of sample processing.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 21:38:06 +01:00
Nikolay Sivov
292b54f3ae
evr/mixer: Reuse full set of type attributes for output types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 21:28:02 +01:00
Nikolay Sivov
21355680e5
evr/mixer: Add IMFClockStateSink stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 20:26:00 +01:00
Nikolay Sivov
b8507acf53
evr/mixer: Request more sample on successful ProcessOutput().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-23 20:16:53 +02:00
Nikolay Sivov
2d87981637
evr/mixer: Send sample requests when switching to streaming mode.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-23 20:16:53 +02:00
Nikolay Sivov
8c4723c5bd
evr/mixer: Only accept single output buffer in ProcessOutput().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov
775daad7ef
evr/mixer: Fill output surfaces when not streaming.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov
d63ff3403b
evr/mixer: Implement GetOutputStatus().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov
5496b88917
evr/mixer: Implement GetInputStatus().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov
14003b00f5
evr/mixer: Maintain streaming state flag.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:14 +02:00
Nikolay Sivov
e2a4b8a563
evr/mixer: Drop input samples on flush.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:13 +02:00
Nikolay Sivov
c1e57ea291
evr/mixer: Ignore draining command.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:11 +02:00
Nikolay Sivov
70399c4e4a
evr/mixer: Create dxva processor when output type is set.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:09 +02:00
Nikolay Sivov
35663e6a7f
evr/mixer: Keep dxva device handle around.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:07 +02:00
Nikolay Sivov
ab2a0d7f63
evr/mixer: Map render target type to video processor guid that supports it.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 22:18:19 +02:00
Nikolay Sivov
60bf1b2548
evr/mixer: Keep one input sample per stream.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 22:18:17 +02:00
Nikolay Sivov
db8f859114
evr: Partially implement MFCreateVideoSampleFromSurface().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Nikolay Sivov
d6e5fa7bd3
evr/mixer: Keep original media type instances for inputs.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:18:57 +02:00
Nikolay Sivov
b8e003c0e0
evr/mixer: Implement SetOutputType().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:17 +02:00
Nikolay Sivov
11594f563f
evr/mixer: Use regular media type interface for the output stream.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:15 +02:00
Nikolay Sivov
7ab646ad48
evr/mixer: Use regular media type interface for input streams.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:11 +02:00
Nikolay Sivov
14d2b04478
evr/mixer: Add SetOutputBounds().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:07 +02:00
Nikolay Sivov
24c9d77cee
evr/mixer: Add support for MFT_SET_TYPE_TEST_ONLY for inputs.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 16:21:33 +02:00
Nikolay Sivov
9cb5077096
evr/mixer: Keep per-stream zorder configuration.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00