Zebediah Figura
3145b67273
quartz/tests: Fix a crash in test_allocate_surface_helper().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 20:59:36 +02:00
Zebediah Figura
040227e5b3
quartz/vmr9: Allocate the surface array in allocate_surfaces().
...
Avoid allocating it twice if we try multiple formats.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura
e15c13c592
quartz/vmr9: Set the stream count to 4 in IVMRWindowlessControl9::SetVideoClippingWindow().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura
5dbede68f8
quartz/vmr9: Add IVMRMixerControl9.
...
Needed by Sniper Fury and Modern Combat 5.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura
2d77107823
quartz/vmr9: Implement IVMRFilterConfig9::GetNumberOfStreams().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura
14decee4ca
quartz/vmr9: Partially implement IVMRFilterConfig9::SetNumberOfStreams().
...
Devil May Cry 3 expects this to succeed, although it only uses one stream.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura
32be179a96
quartz/vmr9: Check for D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Zebediah Figura
fa32c8e36d
quartz/vmr9: Destroy the window when set to windowless or renderless mode.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Zebediah Figura
3c0b0cc834
quartz/vmr9: Render to the clipping window in windowless mode.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Zebediah Figura
93913d3a44
quartz/vmr9: Rename hWndClippingWindow to clipping_window.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Zebediah Figura
6502ac993d
quartz/vmr9: Remove a redundant check from VMR9_SurfaceAllocator_InitializeDevice().
...
This check is already made in allocate_surfaces().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Zebediah Figura
45789e00da
quartz/vmr9: Allow the aspect ratio parameters to be NULL in IVMRWindowlessControl9::GetNativeVideoSize().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Zebediah Figura
c7c91b93ad
quartz/vmr9: Perform image stretching in Present() instead of StretchRect().
...
This fixes resizing the window after connection time, especially when using a
custom destination rect.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura
b0c2e524dc
quartz/vmr9: Get rid of VMR9_SurfaceAllocator_UpdateDeviceReset().
...
It's not clear that this ever did something useful, but at least since
d6a70366e
this had the effect of always resetting immediately after creating
the device.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura
848b85b657
quartz: Get rid of the texture drawing path.
...
StretchRect() should be good enough for presenting both kinds of surfaces.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura
5f602b46f3
quartz: Set VMR9AllocationInfo dimension members to the video dimensions.
...
These will be identical to the source rect at connection time, but not
necessarily if we ever need to recreate the surfaces (due to a lost device, for
example), and we still want to use the source image dimensions in that case.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura
fd159a3563
quartz/tests: Add some tests for windowless video size.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura
3464834443
quartz/tests: Fix a test failure on 32-bit Windows.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura
79c78b7951
quartz/tests: Add tests for IBasicVideo.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:14 +02:00
Zebediah Figura
8f6d4b1c5f
quartz: Implement IBasicVideo::IsUsingDefaultSource().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:12 +02:00
Zebediah Figura
82420a8d3c
quartz: Resize the destination rect only if we are using the default destination rect.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:10 +02:00
Zebediah Figura
013c024b2b
quartz: Get rid of the resize callback.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:07 +02:00
Zebediah Figura
69011b3711
quartz: Get rid of the SetDefault*Rect callbacks.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:05 +02:00
Zebediah Figura
14b7035054
quartz: Merge the BaseControlVideo object into the video_window object.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:40 +02:00
Zebediah Figura
833829cb31
quartz: Move the source and destination rectangles to the BaseControlVideo structure.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:37 +02:00
Zebediah Figura
779edf4def
quartz: Get rid of the IsDefault*Rect callbacks.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:34 +02:00
Zebediah Figura
1ba3f252b5
quartz: Retrieve the video format directly from the pin.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:32 +02:00
Zebediah Figura
855f17f349
quartz: Rename "baseControlWindow" to "window".
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:25 +02:00
Zebediah Figura
d70d1cda38
quartz/vmr9: Resize the window in vmr_connect().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:43:17 +02:00
Zebediah Figura
0f6d8846eb
quartz/vmr9: Factor out get_bitmap_header().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:43:14 +02:00
Zebediah Figura
fb6ad569d7
quartz/videorenderer: Resize the window in video_renderer_connect().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:43:07 +02:00
Zebediah Figura
e5729cf8eb
quartz/videorenderer: Set the source rect at connection time.
...
Filter state should not be modified in IPin::QueryAccept().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:43:02 +02:00
Zebediah Figura
665ac338ca
quartz/videorenderer: Factor out get_bitmap_header().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:42:55 +02:00
Zebediah Figura
913e6ef805
quartz/vmr9: Add a stub IVMRMixerBitmap9 interface.
...
Needed by Sniper Fury and Modern Combat 5.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 10:51:57 +02:00
Zebediah Figura
e7ed2798e8
quartz/vmr9: Call IVMRSurfaceAllocator9::TerminateDevice() when destroying the filter.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 10:51:55 +02:00
Zebediah Figura
9181a12e62
quartz/vmr9: Track the IVMRSurfaceAllocatorNotify9 reference count separately.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 10:51:52 +02:00
Zebediah Figura
05adf7bed2
quartz/tests: Add tests for the separate reference count of IVMRSurfaceAllocatorNotify9.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 10:51:50 +02:00
Zebediah Figura
7da087b76a
quartz/vmr9: Remove the "force" parameter of VMR9_maybe_init().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:36 +02:00
Zebediah Figura
1cb4b642f3
quartz/vmr9: Do not call VMR9_maybe_init() in vmr_start_stream().
...
We have already connected if we got here, and we can only have failed to
allocate surfaces if we had no clipping window, which cannot have changed in the
meantime.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:33 +02:00
Zebediah Figura
a54597fd78
quartz/vmr9: Forbid setting the video clipping window while connected.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:31 +02:00
Zebediah Figura
f1de733a03
quartz/vmr9: Validate the window in IVMRWindowlessControl9::SetVideoClippingWindow().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:29 +02:00
Zebediah Figura
218d2a5119
quartz/tests: Add some tests for IVMRWindowlessControl9::SetVideoClippingWindow().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:27 +02:00
Zebediah Figura
9733b821e0
quartz/tests: Test current position caching.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 21:51:31 +02:00
Zebediah Figura
b66d0ed6a3
quartz/tests: Add some tests for end-of-stream notifications on the VMR9.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 12:59:13 +02:00
Zebediah Figura
3cad37a64b
quartz/tests: Add some tests for sample presentation time on the VMR9.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 12:59:10 +02:00
Zebediah Figura
122998ab15
quartz/tests: Add more tests for mixing mode.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 12:59:06 +02:00
Zebediah Figura
40a115eb14
quartz/tests: Fix a copy-paste error.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 12:58:59 +02:00
Zebediah Figura
734a17bdae
quartz/vmr9: Improve tracing in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 12:37:27 +02:00
Zebediah Figura
1c8c26dfde
quartz/vmr9: Retrieve a default format if none is given in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 12:37:27 +02:00
Zebediah Figura
3a3981272f
quartz/vmr9: Support VMR9AllocFlag_3DRenderTarget in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 12:37:27 +02:00