45 if (!
rect)
return "(null)";
51 if (
IsEqualGUID(&mt->formattype, &FORMAT_VideoInfo))
184static void copy_plane(
BYTE **dstp,
unsigned int dst_pitch,
unsigned int dst_height,
185 const BYTE **srcp,
unsigned int src_pitch,
int src_height)
187 size_t copy_size =
min(src_pitch, dst_pitch);
194 TRACE(
"Inverting image.\n");
196 src_height = -src_height;
197 src += src_height * src_pitch;
199 for (
i = 0;
i < src_height; ++
i)
208 for (
i = 0;
i < src_height; ++
i)
216 *srcp += src_pitch * src_height;
217 *dstp += dst_pitch * dst_height;
223 unsigned int data_size,
width,
depth, src_pitch;
243 ERR(
"NO PRESENTER!!\n");
252 if (IMediaSample_IsDiscontinuity(
sample) ==
S_OK)
263 ERR(
"Failed to get pointer to sample data, hr %#lx.\n",
hr);
266 data_size = IMediaSample_GetActualDataLength(
sample);
274 src_pitch = (
width + 3) & ~3;
278 info.rtStart = start_time;
279 info.rtEnd = end_time;
286 ERR(
"Failed to get rendering surface description.\n");
291 FIXME(
"src surface (%ux%u) larger than rendering surface (%ux%u).\n",
width,
height,
296 ERR(
"Failed to lock surface, hr %#lx.\n",
hr);
324 else if (locked_rect.
Pitch != src_pitch)
329 TRACE(
"Source pitch %u does not match dest pitch %u; copying manually.\n",
330 src_pitch, locked_rect.
Pitch);
342 return IVMRImagePresenter9_PresentImage(
filter->presenter,
filter->cookie, &
info);
347 if (!
IsEqualIID(&mt->majortype, &MEDIATYPE_Video) || !mt->pbFormat)
350 if (!
IsEqualGUID(&mt->formattype, &FORMAT_VideoInfo)
351 && !
IsEqualGUID(&mt->formattype, &FORMAT_VideoInfo2))
362 if (
FAILED(
hr = IVMRSurfaceAllocator9_InitializeDevice(
filter->allocator,
365 WARN(
"Failed to initialize device (flags %#lx), hr %#lx.\n",
info->dwFlags,
hr);
371 if (
FAILED(
hr = IVMRSurfaceAllocator9_GetSurface(
filter->allocator,
374 ERR(
"Failed to get surface %lu, hr %#lx.\n",
i,
hr);
377 IVMRSurfaceAllocator9_TerminateDevice(
filter->allocator,
filter->cookie);
420 TRACE(
"Initializing in mode %u, our window %p, clipping window %p.\n",
474 IVMRImagePresenter9_StartPresenting(
filter->presenter,
filter->cookie);
483 if (
This->renderer.filter.state == State_Running)
484 IVMRImagePresenter9_StopPresenting(
This->presenter,
This->cookie);
517 for (
i = 0;
i <
filter->num_surfaces; ++
i)
521 IVMRSurfaceAllocator9_TerminateDevice(
filter->allocator,
filter->cookie);
545 IVMRSurfaceAllocator9_TerminateDevice(
filter->allocator,
filter->cookie);
546 IVMRSurfaceAllocator9_Release(
filter->allocator);
549 IVMRImagePresenter9_Release(
filter->presenter);
552 if (
filter->allocator_d3d9_dev)
560 if (!
filter->IVMRSurfaceAllocatorNotify9_refcount)
569 *
out = &
filter->window.IVideoWindow_iface;
571 *
out = &
filter->window.IBasicVideo_iface;
572 else if (
IsEqualGUID(iid, &IID_IAMCertifiedOutputProtection))
573 *
out = &
filter->IAMCertifiedOutputProtection_iface;
574 else if (
IsEqualGUID(iid, &IID_IAMFilterMiscFlags))
575 *
out = &
filter->IAMFilterMiscFlags_iface;
576 else if (
IsEqualGUID(iid, &IID_IVMRAspectRatioControl9))
577 *
out = &
filter->IVMRAspectRatioControl9_iface;
585 *
out = &
filter->IVMRMonitorConfig9_iface;
587 *
out = &
filter->IVMRSurfaceAllocatorNotify9_iface;
589 *
out = &
filter->IVMRWindowlessControl9_iface;
602 *
out = &
filter->IAMVideoAccelerator_iface;
640 unsigned int row_size;
679 for (
i = 0;
i < bih.
biHeight && size_left > 0; ++
i)
683 size_left -= row_size;
755 return IUnknown_QueryInterface(
This->renderer.filter.outer_unk,
riid,
ppv);
761 return IUnknown_AddRef(
This->renderer.filter.outer_unk);
767 return IUnknown_Release(
This->renderer.filter.outer_unk);
772 DWORD* pdwLengthCertGH)
776 FIXME(
"(%p/%p)->(%p, %p, %p) stub\n", iface,
This, pRandom, VarLenCertGH, pdwLengthCertGH);
785 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, pSig);
804 FIXME(
"(%p/%p)->(%p, %p) stub\n", iface,
This, pStatusInput, pStatusOutput);
821 return IUnknown_QueryInterface(
This->renderer.filter.outer_unk,
riid,
ppv);
826 return IUnknown_AddRef(
This->renderer.filter.outer_unk);
831 return IUnknown_Release(
This->renderer.filter.outer_unk);
861 if (!
args->arraysize)
874 if (
args->numdev > 0)
876 info->guid.pGUID = &
info->guid.GUID;
877 info->guid.GUID.Data4[7] =
args->numdev;
889 info->szDescription[0] = 0;
906 info->szDescription[0] = 0;
907 info->dwVendorId = 0;
908 info->dwDeviceId = 0;
909 info->dwSubSysId = 0;
910 info->dwRevision = 0;
924 return IUnknown_QueryInterface(
This->renderer.filter.outer_unk,
riid,
ppv);
930 return IUnknown_AddRef(
This->renderer.filter.outer_unk);
936 return IUnknown_Release(
This->renderer.filter.outer_unk);
943 FIXME(
"(%p/%p)->(%u) stub\n", iface,
This, uDev);
952 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, uDev);
965 FIXME(
"(%p/%p)->(%u) stub\n", iface,
This, uDev);
974 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, uDev);
1023 return IUnknown_QueryInterface(
This->renderer.filter.outer_unk,
riid,
ppv);
1029 return IUnknown_AddRef(
This->renderer.filter.outer_unk);
1035 return IUnknown_Release(
This->renderer.filter.outer_unk);
1042 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, compositor);
1050 FIXME(
"iface %p, count %lu, stub!\n", iface,
count);
1054 WARN(
"Application requested zero streams; returning E_INVALIDARG.\n");
1060 if (
filter->stream_count)
1063 WARN(
"Stream count is already set; returning VFW_E_WRONG_STATE.\n");
1081 if (!
filter->stream_count)
1106 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, renderflags);
1131 ERR(
"Failed to create default presenter, hr %#lx.\n",
hr);
1137 IVMRImagePresenter9_AddRef(
This->presenter);
1139 IVMRSurfaceAllocator9_AdviseNotify(
This->allocator, &
This->IVMRSurfaceAllocatorNotify9_iface);
1189 return IUnknown_QueryInterface(
This->renderer.filter.outer_unk,
riid,
ppv);
1195 return IUnknown_AddRef(
This->renderer.filter.outer_unk);
1201 return IUnknown_Release(
This->renderer.filter.outer_unk);
1210 TRACE(
"filter %p, width %p, height %p, aspect_width %p, aspect_height %p.\n",
1219 *aspect_width = bmiheader->
biWidth;
1221 *aspect_height = bmiheader->
biHeight;
1230 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1238 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1309 WARN(
"Invalid window %p, returning E_INVALIDARG.\n",
window);
1315 if (
filter->renderer.sink.pin.peer)
1318 WARN(
"Attempt to set the clipping window while connected; returning VFW_E_WRONG_STATE.\n");
1324 hr = IVMRFilterConfig9_SetNumberOfStreams(&
filter->IVMRFilterConfig9_iface, 4);
1335 FIXME(
"(%p/%p)->(...) semi-stub\n", iface,
This);
1340 ERR(
"Not handling changing windows yet!!!\n");
1345 if (!
This->allocator_d3d9_dev)
1347 ERR(
"No d3d9 device!\n");
1363 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1371 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1379 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1387 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1414 return IUnknown_QueryInterface(
This->renderer.filter.outer_unk,
riid,
ppv);
1422 TRACE(
"%p increasing refcount to %lu.\n", iface, refcount);
1432 TRACE(
"%p decreasing refcount to %lu.\n", iface, refcount);
1452 if (
filter->renderer.sink.pin.peer)
1455 WARN(
"Attempt to set allocator while connected; returning VFW_E_WRONG_STATE.\n");
1467 IVMRImagePresenter9_Release(
filter->presenter);
1468 IVMRSurfaceAllocator9_Release(
filter->allocator);
1472 IVMRSurfaceAllocator9_AddRef(
allocator);
1485 if (
filter->allocator_d3d9_dev)
1498 TRACE(
"(%p/%p)->(...).\n", iface,
This);
1500 if (
This->allocator_d3d9_dev)
1520 TRACE(
"filter %p, allocinfo %p, numbuffers %p, surface %p.\n",
This, numbuffers, allocinfo, surface);
1522 if (!allocinfo || !numbuffers || !surface)
1525 TRACE(
"Flags %#lx, size %lux%lu, format %u (%#x), pool %u, minimum buffers %lu.\n",
1532 WARN(
"Invalid flags specified; returning E_INVALIDARG.\n");
1548 if (!*numbuffers || *numbuffers < allocinfo->MinBuffers)
1550 WARN(
"%lu surfaces requested (minimum %lu); returning E_INVALIDARG.\n",
1555 if (!
This->allocator_d3d9_dev)
1557 WARN(
"No Direct3D device; returning VFW_E_WRONG_STATE.\n");
1563 for (
i = 0;
i < *numbuffers; ++
i)
1573 for (
i = 0;
i < *numbuffers; ++
i)
1587 for (
i = 0;
i < *numbuffers; ++
i)
1602 WARN(
"%lu/%lu surfaces allocated, hr %#lx.\n",
i, *numbuffers,
hr);
1623 TRACE(
"filter %p, code %#lx, param1 %#Ix, param2 %#Ix.\n",
This,
code, param1, param2);
1625 hr = IFilterGraph_QueryInterface(
This->renderer.filter.graph, &IID_IMediaEventSink, (
void **)&
sink);
1628 hr = IMediaEventSink_Notify(
sink,
code, param1, param2);
1629 IMediaEventSink_Release(
sink);
1653 return IUnknown_QueryInterface(
filter->renderer.
filter.outer_unk, iid,
out);
1659 return IUnknown_AddRef(
filter->renderer.
filter.outer_unk);
1665 return IUnknown_Release(
filter->renderer.
filter.outer_unk);
1824 return IUnknown_QueryInterface(
filter->renderer.
filter.outer_unk, iid,
out);
1830 return IUnknown_AddRef(
filter->renderer.
filter.outer_unk);
1836 return IUnknown_Release(
filter->renderer.
filter.outer_unk);
1842 FIXME(
"iface %p, bitmap %p, stub!\n", iface,
bitmap);
1843 TRACE(
"dwFlags %#lx, hdc %p, pDDS %p, rSrc %s, rDest %s, fAlpha %.8e, clrSrcKey #%06lx, dwFilterMode %#lx.\n",
1852 FIXME(
"iface %p, bitmap %p, stub!\n", iface,
bitmap);
1859 FIXME(
"iface %p, bitmap %p, stub!\n", iface,
bitmap);
1881 return IUnknown_QueryInterface(
filter->renderer.
filter.outer_unk, iid,
out);
1887 return IUnknown_AddRef(
filter->renderer.
filter.outer_unk);
1893 return IUnknown_Release(
filter->renderer.
filter.outer_unk);
1937 return IPin_QueryInterface(&
filter->renderer.sink.pin.IPin_iface, iid,
out);
1943 return IPin_AddRef(&
filter->renderer.sink.pin.IPin_iface);
1949 return IPin_Release(&
filter->renderer.sink.pin.IPin_iface);
1955 FIXME(
"iface %p, count %p, accelerators %p, stub!\n", iface,
count, accelerators);
1962 FIXME(
"iface %p, accelerator %s, count %p, formats %p, stub!\n",
1970 FIXME(
"iface %p, accelerator %s, format_info %p, mem_info %p, stub!\n",
1979 FIXME(
"iface %p, accelerator %s, uncompressed_info %p, compressed_info_count %p, compressed_infos %p, stub!\n",
1980 iface,
debugstr_guid(accelerator), uncompressed_info, compressed_info_count, compressed_infos);
1987 FIXME(
"iface %p, count %p, infos %p, stub!\n", iface,
count, infos);
1993 FIXME(
"iface %p, info %p, stub!\n", iface,
info);
1999 FIXME(
"iface %p, info %p, stub!\n", iface,
info);
2006 FIXME(
"iface %p, type_index %lu, buffer_index %lu, read_only %d, buffer %p, stride %p, stub!\n",
2007 iface, type_index, buffer_index, read_only,
buffer,
stride);
2014 FIXME(
"iface %p, type_index %lu, buffer_index %lu, stub!\n", iface, type_index, buffer_index);
2022 FIXME(
"iface %p, function %#lx, in_data %p, in_size %lu,"
2023 " out_data %p, out_size %lu, buffer_count %lu, buffers %p, stub!\n",
2031 FIXME(
"iface %p, type_index %lu, buffer_index %lu, flags %#lx, stub!\n",
2032 iface, type_index, buffer_index,
flags);
2070 return IPin_QueryInterface(&
filter->renderer.sink.pin.IPin_iface, iid,
out);
2076 return IPin_AddRef(&
filter->renderer.sink.pin.IPin_iface);
2082 return IPin_Release(&
filter->renderer.sink.pin.IPin_iface);
2099 FIXME(
"iface %p, key %p, stub!\n", iface,
key);
2105 FIXME(
"iface %p, key %p, stub!\n", iface,
key);
2111 FIXME(
"iface %p, key %p, stub!\n", iface,
key);
2121 if (!
filter->window.hwnd)
2142 FIXME(
"iface %p, sink %p, flags %#lx, stub!\n", iface,
sink,
flags);
2148 FIXME(
"iface %p, stub!\n", iface);
2174 if (!(
object =
calloc(1,
sizeof(*
object))))
2180 WARN(
"Could not load d3d9.dll\n");
2214 TRACE(
"Created VMR %p.\n",
object);
2215 *
out = &
object->renderer.filter.IUnknown_inner;
2228 *
ppv = &
This->IVMRImagePresenter9_iface;
2230 *
ppv = &
This->IVMRSurfaceAllocator9_iface;
2258 TRACE(
"%p decreasing refcount to %lu.\n",
This, refcount);
2266 for (
i = 0;
i <
This->num_surfaces; ++
i)
2277 This->num_surfaces = 0;
2321 ERR(
"Failed to clear, hr %#lx.\n",
hr);
2324 ERR(
"Failed to begin scene, hr %#lx.\n",
hr);
2328 ERR(
"Failed to get backbuffer, hr %#lx.\n",
hr);
2333 ERR(
"Failed to blit image, hr %#lx.\n",
hr);
2337 ERR(
"Failed to end scene, hr %#lx.\n",
hr);
2341 unsigned int src_width =
src.right -
src.left, src_height =
src.bottom -
src.top;
2342 unsigned int dst_width =
dst.right -
dst.left, dst_height =
dst.bottom -
dst.top;
2344 if (src_width * dst_height > dst_width * src_height)
2347 unsigned int dst_center = (
dst.top +
dst.bottom) / 2;
2348 unsigned int scaled_height = src_height * dst_width / src_width;
2350 dst.top = dst_center - scaled_height / 2;
2351 dst.bottom =
dst.top + scaled_height;
2353 else if (src_width * dst_height < dst_width * src_height)
2356 unsigned int dst_center = (
dst.left +
dst.right) / 2;
2357 unsigned int scaled_width = src_width * dst_height / src_height;
2359 dst.left = dst_center - scaled_width / 2;
2360 dst.right =
dst.left + scaled_width;
2365 ERR(
"Failed to present, hr %#lx.\n",
hr);
2414 while (width < allocinfo->dwWidth)
2417 while (height < allocinfo->dwHeight)
2419 FIXME(
"NPOW2 support missing, not using proper surfaces!\n");
2428 FIXME(
"Square texture support required..\n");
2455 return d3d9_adapter;
2469 TRACE(
"presenter %p, cookie %#Ix, info %p, numbuffers %p.\n",
This,
cookie,
info, numbuffers);
2493 ERR(
"Failed to create device, hr %#lx.\n",
hr);
2500 WARN(
"Device does not support blitting from textures.\n");
2506 IVMRSurfaceAllocatorNotify9_SetD3DDevice(
This->SurfaceAllocatorNotify,
This->d3d9_dev,
This->hMon);
2513 hr = IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(
This->SurfaceAllocatorNotify,
2514 info, numbuffers,
This->d3d9_surfaces);
2517 ERR(
"Failed to allocate surfaces, hr %#lx.\n",
hr);
2518 IVMRSurfaceAllocator9_TerminateDevice(
This->pVMR9->allocator,
This->pVMR9->cookie);
2522 This->num_surfaces = *numbuffers;
2540 if (!
This->d3d9_dev)
2542 TRACE(
"Device has left me!\n");
2546 if (surfaceindex >=
This->num_surfaces)
2548 ERR(
"surfaceindex is greater than num_surfaces\n");
2551 *surface =
This->d3d9_surfaces[surfaceindex];
2584 d3d9_create = (
void *)
GetProcAddress(d3d9_handle,
"Direct3DCreate9");
2585 if (!d3d9_create)
return NULL;
2594 if (!(
object =
calloc(1,
sizeof(*
object))))
2600 WARN(
"Could not initialize d3d9.dll\n");
2608 object->refCount = 1;
2611 TRACE(
"Created default presenter %p.\n",
object);
struct mke2fs_defaults settings[]
#define InterlockedIncrement
#define InterlockedDecrement
static const char * wine_dbgstr_rect(const RECT *prc)
@ AM_FILTER_MISC_FLAGS_IS_RENDERER
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
@ D3DBACKBUFFER_TYPE_MONO
enum _D3DFORMAT D3DFORMAT
#define D3DCOLOR_XRGB(r, g, b)
#define IDirect3DDevice9_EndScene(p)
#define IDirect3DDevice9_BeginScene(p)
#define IDirect3DDevice9_GetBackBuffer(p, a, b, c, d)
#define IDirect3DTexture9_GetSurfaceLevel(p, a, b)
#define IDirect3DSurface9_LockRect(p, a, b, c)
#define IDirect3D9_CreateDevice(p, a, b, c, d, e, f)
#define IDirect3D9_GetAdapterMonitor(p, a)
#define IDirect3DDevice9_StretchRect(p, a, b, c, d, e)
#define IDirect3DDevice9_CreateTexture(p, a, b, c, d, e, f, g, h)
#define IDirect3DDevice9_GetRenderTargetData(p, a, b)
#define IDirect3DDevice9_Present(p, a, b, c, d)
#define IDirect3DDevice9_GetDeviceCaps(p, a)
#define IDirect3DSurface9_AddRef(p)
#define IDirect3D9_Release(p)
#define IDirect3DSurface9_GetDesc(p, a)
#define IDirect3DDevice9_Release(p)
#define IDirect3DDevice9_Clear(p, a, b, c, d, e, f)
#define IDirect3D9_GetAdapterCount(p)
#define IDirect3DSurface9_UnlockRect(p)
#define IDirect3DSurface9_Release(p)
#define IDirect3DTexture9_Release(p)
#define IDirect3DDevice9_AddRef(p)
#define IDirect3DDevice9_CreateRenderTarget(p, a, b, c, d, e, f, g, h)
#define IDirect3DDevice9_CreateOffscreenPlainSurface(p, a, b, c, d, e, f)
#define IDirect3DDevice9_GetRenderTarget(p, a, b)
static const struct pixel_format_desc formats[]
const char * qzdebugstr_guid(const GUID *id)
static HRESULT WINAPI VMR9MonitorConfig_GetAvailableMonitors(IVMRMonitorConfig9 *iface, VMR9MonitorInfo *info, DWORD arraysize, DWORD *numdev)
static ULONG WINAPI mixer_bitmap9_AddRef(IVMRMixerBitmap9 *iface)
static struct default_presenter * impl_from_IVMRImagePresenter9(IVMRImagePresenter9 *iface)
static ULONG WINAPI AMCertifiedOutputProtection_AddRef(IAMCertifiedOutputProtection *iface)
static HRESULT WINAPI VMR9FilterConfig_SetImageCompositor(IVMRFilterConfig9 *iface, IVMRImageCompositor9 *compositor)
static HRESULT WINAPI VMR9WindowlessControl_GetBorderColor(IVMRWindowlessControl9 *iface, COLORREF *color)
static ULONG WINAPI video_accelerator_AddRef(IAMVideoAccelerator *iface)
static HRESULT WINAPI VMR9_SurfaceAllocator_GetSurface(IVMRSurfaceAllocator9 *iface, DWORD_PTR cookie, DWORD surfaceindex, DWORD flags, IDirect3DSurface9 **surface)
static const IVMRMixerBitmap9Vtbl mixer_bitmap9_vtbl
static struct quartz_vmr * impl_from_IOverlay(IOverlay *iface)
static HRESULT WINAPI VMR9FilterConfig_GetRenderingPrefs(IVMRFilterConfig9 *iface, DWORD *renderflags)
static HRESULT WINAPI VMR9MonitorConfig_SetDefaultMonitor(IVMRMonitorConfig9 *iface, UINT uDev)
static HRESULT initialize_device(struct quartz_vmr *filter, VMR9AllocationInfo *info, DWORD count)
static HRESULT WINAPI video_accelerator_Execute(IAMVideoAccelerator *iface, DWORD function, void *in_data, DWORD in_size, void *out_data, DWORD out_size, DWORD buffer_count, const AMVABUFFERINFO *buffers)
static HRESULT WINAPI overlay_GetColorKey(IOverlay *iface, COLORKEY *key)
static const IAMCertifiedOutputProtectionVtbl IAMCertifiedOutputProtection_Vtbl
static HRESULT WINAPI video_accelerator_GetBuffer(IAMVideoAccelerator *iface, DWORD type_index, DWORD buffer_index, BOOL read_only, void **buffer, LONG *stride)
static HRESULT WINAPI VMR9MonitorConfig_QueryInterface(IVMRMonitorConfig9 *iface, REFIID riid, LPVOID *ppv)
static ULONG WINAPI VMR9FilterConfig_AddRef(IVMRFilterConfig9 *iface)
static HRESULT vmr_query_accept(struct strmbase_renderer *iface, const AM_MEDIA_TYPE *mt)
static ULONG WINAPI mixer_control9_Release(IVMRMixerControl9 *iface)
static HRESULT WINAPI AMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection *iface, GUID *pRandom, BYTE **VarLenCertGH, DWORD *pdwLengthCertGH)
static const IVMRFilterConfig9Vtbl VMR9_FilterConfig_Vtbl
static const BITMAPINFOHEADER * get_bitmap_header(const AM_MEDIA_TYPE *mt)
static HRESULT WINAPI VMR9FilterConfig_SetNumberOfStreams(IVMRFilterConfig9 *iface, DWORD count)
static HRESULT WINAPI video_accelerator_QueryRenderStatus(IAMVideoAccelerator *iface, DWORD type_index, DWORD buffer_index, DWORD flags)
static ULONG WINAPI VMR9_SurfaceAllocator_Release(IVMRSurfaceAllocator9 *iface)
static ULONG WINAPI mixer_bitmap9_Release(IVMRMixerBitmap9 *iface)
static HRESULT WINAPI aspect_ratio_control9_SetAspectRatioMode(IVMRAspectRatioControl9 *iface, DWORD mode)
static HRESULT WINAPI VMR9_SurfaceAllocator_TerminateDevice(IVMRSurfaceAllocator9 *iface, DWORD_PTR cookie)
static HRESULT WINAPI VMR9MonitorConfig_SetMonitor(IVMRMonitorConfig9 *iface, UINT uDev)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_AllocateSurfaceHelper(IVMRSurfaceAllocatorNotify9 *iface, VMR9AllocationInfo *allocinfo, DWORD *numbuffers, IDirect3DSurface9 **surface)
static const char * debugstr_normalized_rect(const VMR9NormalizedRect *rect)
static void vmr_stop_stream(struct strmbase_renderer *iface)
static HRESULT vmr_render(struct strmbase_renderer *iface, IMediaSample *sample)
static const IAMVideoAcceleratorVtbl video_accelerator_vtbl
static HRESULT WINAPI VMR9_SurfaceAllocator_AdviseNotify(IVMRSurfaceAllocator9 *iface, IVMRSurfaceAllocatorNotify9 *notify)
static void vmr_init_stream(struct strmbase_renderer *iface)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_SetD3DDevice(IVMRSurfaceAllocatorNotify9 *iface, IDirect3DDevice9 *device, HMONITOR monitor)
static HRESULT WINAPI video_accelerator_GetUncompFormatsSupported(IAMVideoAccelerator *iface, const GUID *accelerator, DWORD *count, DDPIXELFORMAT *formats)
static struct quartz_vmr * impl_from_IVMRFilterConfig9(IVMRFilterConfig9 *iface)
static struct quartz_vmr * impl_from_IAMCertifiedOutputProtection(IAMCertifiedOutputProtection *iface)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_NotifyEvent(IVMRSurfaceAllocatorNotify9 *iface, LONG code, LONG_PTR param1, LONG_PTR param2)
static struct quartz_vmr * impl_from_IVMRWindowlessControl9(IVMRWindowlessControl9 *iface)
static const struct video_window_ops window_ops
static HRESULT WINAPI VMR9MonitorConfig_GetDefaultMonitor(IVMRMonitorConfig9 *iface, UINT *uDev)
static ULONG WINAPI aspect_ratio_control9_Release(IVMRAspectRatioControl9 *iface)
static const BITMAPINFOHEADER * get_filter_bitmap_header(const struct quartz_vmr *filter)
static struct quartz_vmr * impl_from_IVMRAspectRatioControl9(IVMRAspectRatioControl9 *iface)
static HRESULT WINAPI VMR9_ImagePresenter_StartPresenting(IVMRImagePresenter9 *iface, DWORD_PTR cookie)
static const struct strmbase_renderer_ops renderer_ops
static HRESULT WINAPI VMR9WindowlessControl_GetMinIdealVideoSize(IVMRWindowlessControl9 *iface, LONG *width, LONG *height)
static HRESULT WINAPI video_accelerator_DisplayFrame(IAMVideoAccelerator *iface, DWORD index, IMediaSample *sample)
static HRESULT WINAPI mixer_control9_QueryInterface(IVMRMixerControl9 *iface, REFIID iid, void **out)
static HRESULT WINAPI overlay_GetWindowHandle(IOverlay *iface, HWND *window)
static HRESULT WINAPI VMR9WindowlessControl_GetVideoPosition(IVMRWindowlessControl9 *iface, RECT *src, RECT *dst)
static ULONG WINAPI AMCertifiedOutputProtection_Release(IAMCertifiedOutputProtection *iface)
static HRESULT WINAPI mixer_control9_SetZOrder(IVMRMixerControl9 *iface, DWORD stream, DWORD z)
static HRESULT WINAPI VMR9_SurfaceAllocator_QueryInterface(IVMRSurfaceAllocator9 *iface, REFIID iid, void **out)
static HRESULT WINAPI VMR9WindowlessControl_QueryInterface(IVMRWindowlessControl9 *iface, REFIID riid, LPVOID *ppv)
static ULONG WINAPI AMFilterMiscFlags_Release(IAMFilterMiscFlags *iface)
static void vmr_disconnect(struct strmbase_renderer *This)
static HRESULT vmr_query_interface(struct strmbase_renderer *iface, REFIID iid, void **out)
HRESULT vmr9_create(IUnknown *outer, IUnknown **out)
static ULONG WINAPI VMR9FilterConfig_Release(IVMRFilterConfig9 *iface)
static HRESULT WINAPI AMCertifiedOutputProtection_SessionSequenceStart(IAMCertifiedOutputProtection *iface, AMCOPPSignature *pSig)
static void adjust_surface_size(const D3DCAPS9 *caps, VMR9AllocationInfo *allocinfo)
static struct quartz_vmr * impl_from_IVMRSurfaceAllocatorNotify9(IVMRSurfaceAllocatorNotify9 *iface)
static ULONG WINAPI VMR9MonitorConfig_Release(IVMRMonitorConfig9 *iface)
static void vmr_start_stream(struct strmbase_renderer *iface)
static const IVMRSurfaceAllocator9Vtbl VMR9_SurfaceAllocator
static struct quartz_vmr * impl_from_IVMRMixerBitmap9(IVMRMixerBitmap9 *iface)
static BOOL CALLBACK get_available_monitors_proc(HMONITOR hmon, HDC hdc, LPRECT lprc, LPARAM lparam)
static void deallocate_surfaces(struct quartz_vmr *filter)
static const IOverlayVtbl overlay_vtbl
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_QueryInterface(IVMRSurfaceAllocatorNotify9 *iface, REFIID riid, LPVOID *ppv)
static ULONG WINAPI overlay_AddRef(IOverlay *iface)
static HRESULT WINAPI mixer_bitmap9_QueryInterface(IVMRMixerBitmap9 *iface, REFIID iid, void **out)
static ULONG WINAPI VMR9WindowlessControl_Release(IVMRWindowlessControl9 *iface)
static HRESULT default_presenter_create(struct quartz_vmr *parent, struct default_presenter **presenter)
static HRESULT WINAPI overlay_QueryInterface(IOverlay *iface, REFIID iid, void **out)
static HRESULT WINAPI AMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection *iface, REFIID riid, void **ppv)
static HRESULT allocate_surfaces(struct quartz_vmr *filter, const AM_MEDIA_TYPE *mt)
static HRESULT vmr_pin_query_interface(struct strmbase_renderer *iface, REFIID iid, void **out)
static const IVMRMonitorConfig9Vtbl VMR9_MonitorConfig_Vtbl
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_AdviseSurfaceAllocator(IVMRSurfaceAllocatorNotify9 *iface, DWORD_PTR cookie, IVMRSurfaceAllocator9 *allocator)
static HRESULT WINAPI mixer_control9_GetZOrder(IVMRMixerControl9 *iface, DWORD stream, DWORD *z)
static struct quartz_vmr * impl_from_IVMRMonitorConfig9(IVMRMonitorConfig9 *iface)
static HRESULT WINAPI video_accelerator_ReleaseBuffer(IAMVideoAccelerator *iface, DWORD type_index, DWORD buffer_index)
static ULONG WINAPI mixer_control9_AddRef(IVMRMixerControl9 *iface)
static HRESULT WINAPI mixer_control9_GetAlpha(IVMRMixerControl9 *iface, DWORD stream, float *alpha)
static HRESULT WINAPI mixer_control9_SetProcAmpControl(IVMRMixerControl9 *iface, DWORD stream, VMR9ProcAmpControl *settings)
static const IVMRAspectRatioControl9Vtbl aspect_ratio_control9_vtbl
static HRESULT WINAPI mixer_control9_GetProcAmpControlRange(IVMRMixerControl9 *iface, DWORD stream, VMR9ProcAmpControlRange *settings)
static HRESULT WINAPI VMR9WindowlessControl_GetMaxIdealVideoSize(IVMRWindowlessControl9 *iface, LONG *width, LONG *height)
static HRESULT WINAPI VMR9_SurfaceAllocator_InitializeDevice(IVMRSurfaceAllocator9 *iface, DWORD_PTR cookie, VMR9AllocationInfo *info, DWORD *numbuffers)
static HRESULT WINAPI VMR9WindowlessControl_RepaintVideo(IVMRWindowlessControl9 *iface, HWND hwnd, HDC hdc)
static const IVMRWindowlessControl9Vtbl VMR9_WindowlessControl_Vtbl
static HRESULT WINAPI mixer_bitmap9_UpdateAlphaBitmapParameters(IVMRMixerBitmap9 *iface, const VMR9AlphaBitmap *bitmap)
static HRESULT WINAPI mixer_bitmap9_GetAlphaBitmapParameters(IVMRMixerBitmap9 *iface, VMR9AlphaBitmap *bitmap)
static HRESULT WINAPI VMR9WindowlessControl_GetNativeVideoSize(IVMRWindowlessControl9 *iface, LONG *width, LONG *height, LONG *aspect_width, LONG *aspect_height)
static struct quartz_vmr * impl_from_IVMRMixerControl9(IVMRMixerControl9 *iface)
static HRESULT WINAPI video_accelerator_GetInternalCompBufferInfo(IAMVideoAccelerator *iface, DWORD *count, AMVACompBufferInfo *infos)
static HRESULT WINAPI VMR9FilterConfig_GetRenderingMode(IVMRFilterConfig9 *iface, DWORD *mode)
static struct quartz_vmr * impl_from_IBaseFilter(IBaseFilter *iface)
static HRESULT WINAPI mixer_bitmap9_SetAlphaBitmap(IVMRMixerBitmap9 *iface, const VMR9AlphaBitmap *bitmap)
static HRESULT WINAPI VMR9_ImagePresenter_QueryInterface(IVMRImagePresenter9 *iface, REFIID riid, void **ppv)
static HRESULT WINAPI AMCertifiedOutputProtection_ProtectionStatus(IAMCertifiedOutputProtection *iface, const AMCOPPStatusInput *pStatusInput, AMCOPPStatusOutput *pStatusOutput)
static HRESULT WINAPI VMR9_ImagePresenter_StopPresenting(IVMRImagePresenter9 *iface, DWORD_PTR cookie)
static HRESULT WINAPI mixer_control9_GetBackgroundClr(IVMRMixerControl9 *iface, COLORREF *color)
static const IVideoWindowVtbl IVideoWindow_VTable
static HRESULT vmr_connect(struct strmbase_renderer *iface, const AM_MEDIA_TYPE *mt)
static HRESULT WINAPI mixer_control9_SetMixingPrefs(IVMRMixerControl9 *iface, DWORD flags)
static const IVMRSurfaceAllocatorNotify9Vtbl VMR9_SurfaceAllocatorNotify_Vtbl
static struct quartz_vmr * impl_from_IAMFilterMiscFlags(IAMFilterMiscFlags *iface)
static HRESULT WINAPI overlay_SetColorKey(IOverlay *iface, COLORKEY *key)
static HRESULT WINAPI overlay_SetPalette(IOverlay *iface, DWORD count, PALETTEENTRY *palette)
static void vmr_destroy(struct strmbase_renderer *iface)
static ULONG WINAPI VMR9SurfaceAllocatorNotify_AddRef(IVMRSurfaceAllocatorNotify9 *iface)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_ChangeD3DDevice(IVMRSurfaceAllocatorNotify9 *iface, IDirect3DDevice9 *device, HMONITOR monitor)
static HRESULT WINAPI VMR9FilterConfig_SetRenderingMode(IVMRFilterConfig9 *iface, DWORD mode)
static ULONG WINAPI VMR9_SurfaceAllocator_AddRef(IVMRSurfaceAllocator9 *iface)
static HRESULT WINAPI overlay_GetVideoPosition(IOverlay *iface, RECT *source, RECT *dest)
static HRESULT WINAPI VMR9FilterConfig_QueryInterface(IVMRFilterConfig9 *iface, REFIID riid, LPVOID *ppv)
static const IVMRMixerControl9Vtbl mixer_control9_vtbl
static HRESULT WINAPI mixer_control9_SetOutputRect(IVMRMixerControl9 *iface, DWORD stream, const VMR9NormalizedRect *rect)
static HRESULT WINAPI aspect_ratio_control9_GetAspectRatioMode(IVMRAspectRatioControl9 *iface, DWORD *mode)
static ULONG WINAPI VMR9_ImagePresenter_AddRef(IVMRImagePresenter9 *iface)
static struct quartz_vmr * impl_from_video_window(struct video_window *iface)
static HRESULT WINAPI VMR9FilterConfig_SetRenderingPrefs(IVMRFilterConfig9 *iface, DWORD flags)
static HRESULT WINAPI AMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags *iface, REFIID riid, void **ppv)
static HRESULT WINAPI VMR9MonitorConfig_GetMonitor(IVMRMonitorConfig9 *iface, UINT *uDev)
static HRESULT WINAPI video_accelerator_EndFrame(IAMVideoAccelerator *iface, const AMVAEndFrameInfo *info)
static HRESULT WINAPI VMR9WindowlessControl_SetAspectRatioMode(IVMRWindowlessControl9 *iface, DWORD mode)
static HRESULT WINAPI VMR9WindowlessControl_SetVideoClippingWindow(IVMRWindowlessControl9 *iface, HWND window)
static HRESULT WINAPI VMR9WindowlessControl_GetCurrentImage(IVMRWindowlessControl9 *iface, BYTE **dib)
static ULONG WINAPI VMR9_ImagePresenter_Release(IVMRImagePresenter9 *iface)
static HRESULT WINAPI AMCertifiedOutputProtection_ProtectionCommand(IAMCertifiedOutputProtection *iface, const AMCOPPCommand *cmd)
static const IVMRImagePresenter9Vtbl VMR9_ImagePresenter
static HRESULT WINAPI mixer_control9_SetBackgroundClr(IVMRMixerControl9 *iface, COLORREF color)
static struct quartz_vmr * impl_from_IAMVideoAccelerator(IAMVideoAccelerator *iface)
static HRESULT WINAPI video_accelerator_BeginFrame(IAMVideoAccelerator *iface, const AMVABeginFrameInfo *info)
static HRESULT WINAPI video_accelerator_QueryInterface(IAMVideoAccelerator *iface, REFIID iid, void **out)
static HRESULT WINAPI video_accelerator_GetInternalMemInfo(IAMVideoAccelerator *iface, const GUID *accelerator, const AMVAUncompDataInfo *format_info, AMVAInternalMemInfo *mem_info)
static HRESULT WINAPI VMR9FilterConfig_GetNumberOfStreams(IVMRFilterConfig9 *iface, DWORD *count)
static HRESULT WINAPI mixer_control9_GetMixingPrefs(IVMRMixerControl9 *iface, DWORD *flags)
static HRESULT WINAPI overlay_GetDefaultColorKey(IOverlay *iface, COLORKEY *key)
static void copy_plane(BYTE **dstp, unsigned int dst_pitch, unsigned int dst_height, const BYTE **srcp, unsigned int src_pitch, int src_height)
static HRESULT WINAPI overlay_Advise(IOverlay *iface, IOverlayNotify *sink, DWORD flags)
static HRESULT WINAPI mixer_control9_GetProcAmpControl(IVMRMixerControl9 *iface, DWORD stream, VMR9ProcAmpControl *settings)
static HRESULT WINAPI overlay_Unadvise(IOverlay *iface)
static const IAMFilterMiscFlagsVtbl IAMFilterMiscFlags_Vtbl
static UINT d3d9_adapter_from_hwnd(IDirect3D9 *d3d9, HWND hwnd, HMONITOR *mon_out)
static HRESULT WINAPI VMR9WindowlessControl_SetVideoPosition(IVMRWindowlessControl9 *iface, const RECT *src, const RECT *dst)
static ULONG WINAPI VMR9WindowlessControl_AddRef(IVMRWindowlessControl9 *iface)
static HRESULT vmr_get_current_image(struct video_window *iface, LONG *size, LONG *image)
static ULONG WINAPI aspect_ratio_control9_AddRef(IVMRAspectRatioControl9 *iface)
static HRESULT WINAPI video_accelerator_GetCompBufferInfo(IAMVideoAccelerator *iface, const GUID *accelerator, const AMVAUncompDataInfo *uncompressed_info, DWORD *compressed_info_count, AMVACompBufferInfo *compressed_infos)
static ULONG WINAPI AMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags *iface)
static HRESULT WINAPI overlay_GetClipList(IOverlay *iface, RECT *source, RECT *dest, RGNDATA **region)
static void vmr_get_default_rect(struct video_window *iface, RECT *rect)
static ULONG WINAPI VMR9MonitorConfig_AddRef(IVMRMonitorConfig9 *iface)
static ULONG WINAPI video_accelerator_Release(IAMVideoAccelerator *iface)
static HRESULT WINAPI mixer_control9_SetAlpha(IVMRMixerControl9 *iface, DWORD stream, float alpha)
static ULONG WINAPI VMR9SurfaceAllocatorNotify_Release(IVMRSurfaceAllocatorNotify9 *iface)
static ULONG WINAPI AMFilterMiscFlags_AddRef(IAMFilterMiscFlags *iface)
static HRESULT WINAPI video_accelerator_GetVideoAcceleratorGUIDs(IAMVideoAccelerator *iface, DWORD *count, GUID *accelerators)
static ULONG WINAPI overlay_Release(IOverlay *iface)
static HRESULT WINAPI overlay_GetPalette(IOverlay *iface, DWORD *count, PALETTEENTRY **palette)
static HRESULT WINAPI mixer_control9_GetOutputRect(IVMRMixerControl9 *iface, DWORD stream, VMR9NormalizedRect *rect)
static HRESULT WINAPI VMR9WindowlessControl_DisplayModeChanged(IVMRWindowlessControl9 *iface)
static IDirect3D9 * init_d3d9(HMODULE d3d9_handle)
static HRESULT WINAPI VMR9WindowlessControl_GetAspectRatioMode(IVMRWindowlessControl9 *iface, DWORD *mode)
static HRESULT WINAPI VMR9_ImagePresenter_PresentImage(IVMRImagePresenter9 *iface, DWORD_PTR cookie, VMR9PresentationInfo *info)
static struct default_presenter * impl_from_IVMRSurfaceAllocator9(IVMRSurfaceAllocator9 *iface)
static HRESULT WINAPI VMR9WindowlessControl_SetBorderColor(IVMRWindowlessControl9 *iface, COLORREF color)
static HRESULT WINAPI aspect_ratio_control9_QueryInterface(IVMRAspectRatioControl9 *iface, REFIID iid, void **out)
const char * wine_dbg_sprintf(const char *format,...)
#define GetProcAddress(x, y)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
#define D3DPTEXTURECAPS_SQUAREONLY
#define D3DPTEXTURECAPS_POW2
#define D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES
GLint GLint GLsizei GLsizei GLsizei depth
GLuint GLuint GLsizei count
GLint GLint GLsizei GLsizei height
GLclampf GLclampf GLclampf alpha
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei width
GLsizei GLenum GLboolean sink
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define memcpy(s1, s2, n)
#define mmioFOURCC(c0, c1, c2, c3)
D3D11_SHADER_VARIABLE_DESC desc
static IHTMLWindow2 * window
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK ULONG PVOID ULONG PVOID ULONG out_size
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK ULONG PVOID ULONG in_size
HMONITOR WINAPI MonitorFromWindow(HWND, DWORD)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
BOOL WINAPI IsWindow(_In_opt_ HWND)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
BOOL WINAPI AdjustWindowRectEx(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL, _In_ DWORD)
BOOL WINAPI EnumDisplayMonitors(_In_opt_ HDC, _In_opt_ LPCRECT, _In_ MONITORENUMPROC, _In_ LPARAM)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
_In_ int _Inout_ LPRECT lprc
BOOL WINAPI GetMonitorInfoW(_In_ HMONITOR, _Inout_ LPMONITORINFO)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
ULONG WINAPI BaseControlWindowImpl_AddRef(IVideoWindow *iface)
ULONG WINAPI BaseControlWindowImpl_Release(IVideoWindow *iface)
void video_window_init(struct video_window *window, const IVideoWindowVtbl *vtbl, struct strmbase_filter *filter, struct strmbase_pin *pin, const struct video_window_ops *ops)
HRESULT WINAPI BaseControlWindowImpl_HideCursor(IVideoWindow *iface, LONG HideCursor)
HRESULT WINAPI BaseControlWindowImpl_put_Visible(IVideoWindow *iface, LONG Visible)
HRESULT WINAPI BaseControlWindowImpl_GetTypeInfo(IVideoWindow *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
HRESULT WINAPI BaseControlWindowImpl_get_FullScreenMode(IVideoWindow *iface, LONG *FullScreenMode)
HRESULT WINAPI BaseControlWindowImpl_put_WindowState(IVideoWindow *iface, LONG WindowState)
HRESULT WINAPI BaseControlWindowImpl_get_Top(IVideoWindow *iface, LONG *pTop)
HRESULT WINAPI BaseControlWindowImpl_put_Height(IVideoWindow *iface, LONG Height)
HRESULT WINAPI BaseControlWindowImpl_get_Height(IVideoWindow *iface, LONG *pHeight)
HRESULT video_window_create_window(struct video_window *window)
HRESULT WINAPI BaseControlWindowImpl_get_Width(IVideoWindow *iface, LONG *pWidth)
HRESULT WINAPI BaseControlWindowImpl_put_AutoShow(IVideoWindow *iface, LONG AutoShow)
HRESULT WINAPI BaseControlWindowImpl_Invoke(IVideoWindow *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
HRESULT WINAPI BaseControlWindowImpl_QueryInterface(IVideoWindow *iface, REFIID iid, void **out)
HRESULT WINAPI BaseControlWindowImpl_get_Caption(IVideoWindow *iface, BSTR *strCaption)
HRESULT WINAPI BaseControlWindowImpl_put_Top(IVideoWindow *iface, LONG Top)
HRESULT WINAPI BaseControlWindowImpl_put_Owner(IVideoWindow *iface, OAHWND Owner)
HRESULT WINAPI BaseControlWindowImpl_get_WindowStyle(IVideoWindow *iface, LONG *WindowStyle)
HRESULT WINAPI BaseControlWindowImpl_GetWindowPosition(IVideoWindow *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindowImpl_get_WindowState(IVideoWindow *iface, LONG *WindowState)
HRESULT WINAPI BaseControlWindowImpl_GetMinIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindowImpl_put_Width(IVideoWindow *iface, LONG Width)
HRESULT WINAPI BaseControlWindowImpl_get_Left(IVideoWindow *iface, LONG *pLeft)
HRESULT WINAPI BaseControlWindowImpl_GetIDsOfNames(IVideoWindow *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
HRESULT WINAPI BaseControlWindowImpl_GetMaxIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindowImpl_get_WindowStyleEx(IVideoWindow *iface, LONG *WindowStyleEx)
HRESULT WINAPI BaseControlWindowImpl_put_Left(IVideoWindow *iface, LONG Left)
HRESULT WINAPI BaseControlWindowImpl_SetWindowPosition(IVideoWindow *iface, LONG Left, LONG Top, LONG Width, LONG Height)
HRESULT WINAPI BaseControlWindowImpl_put_FullScreenMode(IVideoWindow *iface, LONG FullScreenMode)
HRESULT WINAPI BaseControlWindowImpl_put_BorderColor(IVideoWindow *iface, LONG Color)
HRESULT WINAPI BaseControlWindowImpl_get_Visible(IVideoWindow *iface, LONG *pVisible)
HRESULT WINAPI BaseControlWindowImpl_get_BackgroundPalette(IVideoWindow *iface, LONG *pBackgroundPalette)
HRESULT WINAPI BaseControlWindowImpl_get_MessageDrain(IVideoWindow *iface, OAHWND *Drain)
HRESULT WINAPI BaseControlWindowImpl_put_MessageDrain(IVideoWindow *iface, OAHWND Drain)
HRESULT WINAPI BaseControlWindowImpl_SetWindowForeground(IVideoWindow *iface, LONG Focus)
void video_window_cleanup(struct video_window *window)
HRESULT WINAPI BaseControlWindowImpl_get_AutoShow(IVideoWindow *iface, LONG *AutoShow)
HRESULT WINAPI BaseControlWindowImpl_GetTypeInfoCount(IVideoWindow *iface, UINT *pctinfo)
HRESULT WINAPI BaseControlWindowImpl_put_WindowStyle(IVideoWindow *iface, LONG WindowStyle)
HRESULT WINAPI BaseControlWindowImpl_get_Owner(IVideoWindow *iface, OAHWND *Owner)
HRESULT WINAPI BaseControlWindowImpl_GetRestorePosition(IVideoWindow *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindowImpl_NotifyOwnerMessage(IVideoWindow *iface, OAHWND hwnd, LONG uMsg, LONG_PTR wParam, LONG_PTR lParam)
HRESULT WINAPI BaseControlWindowImpl_put_BackgroundPalette(IVideoWindow *iface, LONG BackgroundPalette)
HRESULT WINAPI BaseControlWindowImpl_IsCursorHidden(IVideoWindow *iface, LONG *CursorHidden)
HRESULT WINAPI BaseControlWindowImpl_get_BorderColor(IVideoWindow *iface, LONG *Color)
HRESULT WINAPI BaseControlWindowImpl_put_Caption(IVideoWindow *iface, BSTR strCaption)
HRESULT WINAPI BaseControlWindowImpl_put_WindowStyleEx(IVideoWindow *iface, LONG WindowStyleEx)
#define D3DCREATE_MIXED_VERTEXPROCESSING
void strmbase_renderer_init(struct strmbase_renderer *filter, IUnknown *outer, const CLSID *clsid, const WCHAR *sink_name, const struct strmbase_renderer_ops *ops)
void strmbase_renderer_cleanup(struct strmbase_renderer *filter)
struct quartz_vmr * pVMR9
IVMRSurfaceAllocator9 IVMRSurfaceAllocator9_iface
IVMRSurfaceAllocatorNotify9 * SurfaceAllocatorNotify
IDirect3DSurface9 ** d3d9_surfaces
IDirect3DDevice9 * d3d9_dev
IVMRImagePresenter9 IVMRImagePresenter9_iface
IVMRImagePresenter9 IVMRImagePresenter9_iface
IVMRSurfaceAllocator9 * allocator
IVMRImagePresenter9 * presenter
IDirect3DDevice9 * allocator_d3d9_dev
LONG IVMRSurfaceAllocatorNotify9_refcount
struct strmbase_renderer renderer
IAMCertifiedOutputProtection IAMCertifiedOutputProtection_iface
IDirect3DSurface9 ** surfaces
IVMRMixerControl9 IVMRMixerControl9_iface
IVMRAspectRatioControl9 IVMRAspectRatioControl9_iface
IVMRWindowlessControl9 IVMRWindowlessControl9_iface
struct video_window window
IAMVideoAccelerator IAMVideoAccelerator_iface
IVMRFilterConfig9 IVMRFilterConfig9_iface
IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9_iface
IVMRMonitorConfig9 IVMRMonitorConfig9_iface
VMR9AspectRatioMode aspect_mode
IAMFilterMiscFlags IAMFilterMiscFlags_iface
IVMRMixerBitmap9 IVMRMixerBitmap9_iface
struct strmbase_filter filter
#define CONTAINING_RECORD(address, type, field)
#define VFW_E_VMR_NOT_IN_MIXER_MODE
#define VFW_E_TYPE_NOT_ACCEPTED
#define VFW_E_DDRAW_CAPS_NOT_SUITABLE
#define VFW_E_WRONG_STATE
@ VMR9Sample_Discontinuity
@ VMR9Sample_SrcDstRectsValid
enum _VMR9AspectRatioMode VMR9AspectRatioMode
@ VMR9AllocFlag_3DRenderTarget
@ VMR9AllocFlag_TextureSurface
@ VMR9AllocFlag_OffscreenSurface
@ MixerPref9_NoDecimation
@ MixerPref9_RenderTargetRGB
@ MixerPref9_BiLinearFiltering
@ MixerPref9_ARAdjustXorY
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
size_t const buffer_count