41#include "wine/unicode.h"
221 amt = &
This->renderer.pInputPin->pin.mtCurrent;
223 if (
IsEqualIID(&amt->formattype, &FORMAT_VideoInfo))
227 else if (
IsEqualIID(&amt->formattype, &FORMAT_VideoInfo2))
254 ERR(
"IDirect3DSurface9_LockRect failed (%x)\n",
hr);
283 hr = IVMRImagePresenter9_PresentImage(
This->presenter,
This->cookie,
info);
291 long cbSrcStream = 0;
296 TRACE(
"%p %p\n", iface, pSample);
300 if (!
This->allocator || !
This->presenter)
302 ERR(
"NO PRESENTER!!\n");
306 hr = IMediaSample_GetTime(pSample, &tStart, &tStop);
312 if (IMediaSample_IsDiscontinuity(pSample) ==
S_OK)
315 if (IMediaSample_IsPreroll(pSample) ==
S_OK)
318 if (IMediaSample_IsSyncPoint(pSample) ==
S_OK)
327 hr = IMediaSample_GetPointer(pSample, &pbSrcStream);
330 ERR(
"Cannot get pointer to sample data (%x)\n",
hr);
334 cbSrcStream = IMediaSample_GetActualDataLength(pSample);
336 info.rtStart = tStart;
338 info.szAspectRatio.cx =
This->bmiheader.biWidth;
339 info.szAspectRatio.cy =
This->bmiheader.biHeight;
341 hr = IVMRSurfaceAllocatorEx9_GetSurface(
This->allocator,
This->cookie, (++
This->cur_surface)%
This->num_surfaces, 0, &
info.lpSurf);
356 if (!
IsEqualIID(&pmt->majortype, &MEDIATYPE_Video) || !pmt->pbFormat)
360 if (
IsEqualIID(&pmt->formattype, &FORMAT_VideoInfo))
365 TRACE(
"Resolution: %dx%d\n",
format->bmiHeader.biWidth,
format->bmiHeader.biHeight);
367 This->VideoHeight =
format->bmiHeader.biHeight;
370 else if (
IsEqualIID(&pmt->formattype, &FORMAT_VideoInfo2))
376 TRACE(
"Resolution: %dx%d\n",
format->bmiHeader.biWidth,
format->bmiHeader.biHeight);
378 This->VideoHeight =
format->bmiHeader.biHeight;
397 TRACE(
"my mode: %u, my window: %p, my last window: %p\n",
This->mode,
This->baseControlWindow.baseWindow.hWnd,
This->hWndClippingWindow);
398 if (
This->baseControlWindow.baseWindow.hWnd || !
This->renderer.pInputPin->pin.pConnectedTo)
404 TRACE(
"Initializing\n");
406 info.dwHeight =
This->source_rect.bottom;
407 info.dwWidth =
This->source_rect.right;
410 FIXME(
"Reduce ratio to least common denominator\n");
411 info.szAspectRatio.cx =
info.dwWidth;
412 info.szAspectRatio.cy =
info.dwHeight;
413 info.szNativeSize.cx =
This->bmiheader.biWidth;
414 info.szNativeSize.cy =
This->bmiheader.biHeight;
417 switch (
This->bmiheader.biBitCount)
425 FIXME(
"Unknown bpp %u\n",
This->bmiheader.biBitCount);
429 This->cur_surface = 0;
430 if (
This->num_surfaces)
432 ERR(
"num_surfaces or d3d9_surfaces not 0\n");
453 IVMRImagePresenter9_StartPresenting(
This->presenter,
This->cookie);
455 This->source_rect.left,
456 This->source_rect.top,
457 This->source_rect.right -
This->source_rect.left,
458 This->source_rect.bottom -
This->source_rect.top,
470 if (
This->renderer.filter.state == State_Running)
471 IVMRImagePresenter9_StopPresenting(
This->presenter,
This->cookie);
477 if (IMediaSample_IsPreroll(pSample) ==
S_OK)
507 ERR(
"Disconnecting while not stopped! UNTESTED!!\n");
511 IVMRSurfaceAllocatorEx9_TerminateDevice(pVMR9->
allocator, pVMR9->
cookie);
541 static WCHAR classnameW[] = {
'I',
'V',
'M',
'R',
'9',
' ',
'C',
'l',
'a',
's',
's', 0 };
545 *pWindowStylesEx = 0;
566 TRACE(
"WM_SIZING: DestRect=(%d,%d),(%d,%d)\n",
607 if (
IsEqualIID(&amt->formattype, &FORMAT_VideoInfo))
611 else if (
IsEqualIID(&amt->formattype, &FORMAT_VideoInfo2))
622 needed_size = bmiHeader->
biSize;
663 if (
IsEqualIID(&pmt->formattype, &FORMAT_VideoInfo)) {
665 }
else if (
IsEqualIID(&pmt->formattype, &FORMAT_VideoInfo2)) {
680 FIXME(
"(%p/%p)->(): stub !!!\n", pVMR9,
This);
688 FIXME(
"(%p/%p)->(): stub !!!\n", pVMR9,
This);
747 if (
This->bAggregatable)
755 *
ppv = &
This->baseControlWindow.IVideoWindow_iface;
757 *
ppv = &
This->baseControlVideo.IBasicVideo_iface;
759 *
ppv = &
This->IAMCertifiedOutputProtection_iface;
761 *
ppv = &
This->IAMFilterMiscFlags_iface;
763 *
ppv = &
This->IVMRFilterConfig_iface;
765 *
ppv = &
This->IVMRFilterConfig9_iface;
767 *
ppv = &
This->IVMRMonitorConfig_iface;
769 *
ppv = &
This->IVMRMonitorConfig9_iface;
771 *
ppv = &
This->IVMRSurfaceAllocatorNotify_iface;
773 *
ppv = &
This->IVMRSurfaceAllocatorNotify9_iface;
775 *
ppv = &
This->IVMRWindowlessControl_iface;
777 *
ppv = &
This->IVMRWindowlessControl9_iface;
793 FIXME(
"No interface for IID_IBasicVideo2\n");
799 FIXME(
"No interface for IID_IMediaPosition\n");
801 FIXME(
"No interface for IID_IQualProp\n");
803 FIXME(
"No interface for IID_IVMRAspectRatioControl9\n");
805 FIXME(
"No interface for IID_IVMRDeinterlaceControl9\n");
807 FIXME(
"No interface for IID_IVMRMixerBitmap9\n");
809 FIXME(
"No interface for IID_IVMRMixerControl9\n");
821 TRACE(
"(%p/%p)->() AddRef from %d\n",
This, iface, refCount - 1);
831 TRACE(
"(%p/%p)->() Release from %d\n",
This, iface, refCount + 1);
835 TRACE(
"Destroying\n");
840 IVMRSurfaceAllocatorEx9_Release(
This->allocator);
842 IVMRImagePresenter9_Release(
This->presenter);
844 This->num_surfaces = 0;
845 if (
This->allocator_d3d9_dev)
867 if (
This->bAggregatable)
872 if (
This->bAggregatable)
873 return IUnknown_QueryInterface(
This->outer_unk,
riid,
ppv);
879 IUnknown_AddRef(&
This->IUnknown_inner);
880 hr = IUnknown_QueryInterface(&
This->IUnknown_inner,
riid,
ppv);
881 IUnknown_Release(&
This->IUnknown_inner);
890 return IUnknown_QueryInterface(&
This->IUnknown_inner,
riid,
ppv);
898 if (
This->outer_unk &&
This->bUnkOuterValid)
899 ret = IUnknown_AddRef(
This->outer_unk);
901 ret = IUnknown_AddRef(&
This->IUnknown_inner);
903 TRACE(
"(%p)->AddRef from %d\n", iface,
ret - 1);
913 if (
This->outer_unk &&
This->bUnkOuterValid)
914 ret = IUnknown_Release(
This->outer_unk);
916 ret = IUnknown_Release(&
This->IUnknown_inner);
918 TRACE(
"(%p)->Release from %d\n", iface,
ret + 1);
1113 GUID* pRandom,
BYTE** VarLenCertGH,
1114 DWORD* pdwLengthCertGH)
1118 FIXME(
"(%p/%p)->(%p, %p, %p) stub\n", iface,
This, pRandom, VarLenCertGH, pdwLengthCertGH);
1127 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, pSig);
1146 FIXME(
"(%p/%p)->(%p, %p) stub\n", iface,
This, pStatusInput, pStatusOutput);
1211 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, compositor);
1235 FIXME(
"(%p/%p)->(%u) stub\n", iface,
This, renderflags);
1243 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, renderflags);
1300 if (!
args->arraysize)
1313 if (
args->numdev > 0)
1315 info->guid.pGUID = &
info->guid.GUID;
1316 info->guid.GUID.Data4[7] =
args->numdev;
1328 info->szDescription[0] = 0;
1345 info->szDescription[0] = 0;
1346 info->dwVendorId = 0;
1347 info->dwDeviceId = 0;
1348 info->dwSubSysId = 0;
1349 info->dwRevision = 0;
1382 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, pGUID);
1394 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, pGUID);
1408 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, pGUID);
1420 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, pGUID);
1489 FIXME(
"(%p/%p)->(%u) stub\n", iface,
This, uDev);
1498 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, uDev);
1511 FIXME(
"(%p/%p)->(%u) stub\n", iface,
This, uDev);
1520 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, uDev);
1588 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, compositor);
1612 FIXME(
"(%p/%p)->(%u) stub\n", iface,
This, renderflags);
1620 FIXME(
"(%p/%p)->(%p) stub\n", iface,
This, renderflags);
1638 if (
This->allocator)
1639 IVMRSurfaceAllocatorEx9_Release(
This->allocator);
1640 if (
This->presenter)
1641 IVMRImagePresenter9_Release(
This->presenter);
1650 This->allocator_is_ex = 0;
1655 hr = IVMRImagePresenter9_QueryInterface(
This->presenter, &IID_IVMRSurfaceAllocatorEx9, (
LPVOID*)&
This->allocator);
1658 ERR(
"Unable to find Presenter interface\n");
1659 IVMRImagePresenter9_Release(
This->presenter);
1664 hr = IVMRSurfaceAllocatorEx9_AdviseNotify(
This->allocator, &
This->IVMRSurfaceAllocatorNotify9_iface);
1736 ERR(
"Got no pointer\n");
1742 *arwidth =
This->bmiheader.biWidth;
1743 *arheight =
This->bmiheader.biHeight;
1753 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1762 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1780 if (
This->baseControlWindow.baseWindow.hWnd)
1814 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1823 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1832 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1841 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1849 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1858 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1867 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1876 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1884 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1892 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1943 ERR(
"Got no pointer\n");
1949 *arwidth =
This->bmiheader.biWidth;
1950 *arheight =
This->bmiheader.biHeight;
1959 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1967 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
1984 if (
This->baseControlWindow.baseWindow.hWnd)
2015 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2023 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2037 IVMRSurfaceAllocatorEx9_TerminateDevice(
This->allocator,
This->cookie);
2047 FIXME(
"(%p/%p)->(...) semi-stub\n", iface,
This);
2050 if (
hwnd !=
This->hWndClippingWindow &&
hwnd !=
This->baseControlWindow.baseWindow.hWnd)
2052 ERR(
"Not handling changing windows yet!!!\n");
2057 if (!
This->allocator_d3d9_dev)
2059 ERR(
"No d3d9 device!\n");
2075 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2083 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2091 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2099 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2148 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2157 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2166 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2174 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2183 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2192 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2232 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2235 if (
This->presenter)
2238 if (
FAILED(IVMRSurfaceAllocator9_QueryInterface(
alloc, &IID_IVMRImagePresenter9, (
void **)&
This->presenter)))
2241 if (
SUCCEEDED(IVMRSurfaceAllocator9_QueryInterface(
alloc, &IID_IVMRSurfaceAllocatorEx9, (
void **)&
This->allocator)))
2242 This->allocator_is_ex = 1;
2246 IVMRSurfaceAllocator9_AddRef(
alloc);
2247 This->allocator_is_ex = 0;
2257 FIXME(
"(%p/%p)->(...) semi-stub\n", iface,
This);
2258 if (
This->allocator_d3d9_dev)
2262 This->allocator_mon = monitor;
2271 FIXME(
"(%p/%p)->(...) semi-stub\n", iface,
This);
2272 if (
This->allocator_d3d9_dev)
2276 This->allocator_mon = monitor;
2287 FIXME(
"(%p/%p)->(%p, %p => %u, %p) semi-stub\n", iface,
This, allocinfo, numbuffers, (numbuffers ? *numbuffers : 0), surface);
2289 if (!allocinfo || !numbuffers || !surface)
2292 if (!*numbuffers || *numbuffers < allocinfo->MinBuffers)
2294 ERR(
"Invalid number of buffers?\n");
2298 if (!
This->allocator_d3d9_dev)
2300 ERR(
"No direct3d device when requested to allocate a surface!\n");
2306 ERR(
"Creating offscreen surface\n");
2307 for (
i = 0;
i < *numbuffers; ++
i)
2317 TRACE(
"Creating texture surface\n");
2318 for (
i = 0;
i < *numbuffers; ++
i)
2332 FIXME(
"Could not allocate for type %08x\n", allocinfo->
dwFlags);
2353 FIXME(
"(%p/%p)->(...) stub\n", iface,
This);
2383 WARN(
"Could not load d3d9.dll\n");
2436 TRACE(
"Created at %p\n", pVMR);
2467 *
ppv = &
This->IVMRImagePresenter9_iface;
2469 *
ppv = &
This->IVMRSurfaceAllocatorEx9_iface;
2487 TRACE(
"(%p)->() AddRef from %d\n", iface, refCount - 1);
2497 TRACE(
"(%p)->() Release from %d\n", iface, refCount + 1);
2502 TRACE(
"Destroying\n");
2506 TRACE(
"Number of surfaces: %u\n",
This->num_surfaces);
2507 for (
i = 0;
i <
This->num_surfaces; ++
i)
2509 IDirect3DSurface9 *surface =
This->d3d9_surfaces[
i];
2510 TRACE(
"Releasing surface %p\n", surface);
2517 This->num_surfaces = 0;
2518 if (
This->d3d9_vertex)
2545#define USED_FVF (D3DFVF_XYZRHW | D3DFVF_TEX1)
2563 FIXME(
"SetStreamSource: %08x\n",
hr);
2570 FIXME(
"IDirect3DSurface9_GetContainer failed\n");
2577 FIXME(
"SetTexture: %08x\n",
hr);
2584 FIXME(
"DrawPrimitive: %08x\n",
hr);
2600 ERR(
"IDirect3DDevice9_GetBackBuffer -- %08x\n",
hr);
2605 SetRect(&target_rect, 0,
This->pVMR9->target_rect.bottom -
This->pVMR9->target_rect.top,
2606 This->pVMR9->target_rect.right -
This->pVMR9->target_rect.left, 0);
2610 ERR(
"IDirect3DDevice9_StretchRect -- %08x\n",
hr);
2623 TRACE(
"(%p/%p/%p)->(...) stub\n", iface,
This,
This->pVMR9);
2628 if (!
This->d3d9_dev)
2638 if (
This->d3d9_vertex)
2645 FIXME(
"BeginScene: %08x\n",
hr);
2651 FIXME(
"Presenting image: %08x\n",
hr);
2710 while (width < allocinfo->
dwWidth)
2713 while (height < allocinfo->
dwHeight)
2715 FIXME(
"NPOW2 support missing, not using proper surfaces!\n");
2724 FIXME(
"Square texture support required..\n");
2730 ERR(
"Couldn't create vertex buffer: %08x\n",
hr);
2747 TRACE(
"Starting message loop\n");
2751 FIXME(
"Failed to prepare window\n");
2762 TRACE(
"End of message loop\n");
2787 return d3d9_adapter;
2799 if (!
This->hWndThread)
2804 if (!
This->pVMR9->baseControlWindow.baseWindow.hWnd)
return FALSE;
2820 ERR(
"Could not create device: %08x\n",
hr);
2824 IVMRSurfaceAllocatorNotify9_SetD3DDevice(
This->SurfaceAllocatorNotify,
This->d3d9_dev,
This->hMon);
2827 ZeroMemory(
This->d3d9_surfaces, *numbuffers *
sizeof(IDirect3DSurface9 *));
2831 ERR(
"Setting allocation settings failed: %08x\n",
hr);
2835 hr = IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(
This->SurfaceAllocatorNotify,
info, numbuffers,
This->d3d9_surfaces);
2837 ERR(
"Allocating surfaces failed: %08x\n",
hr);
2842 IVMRSurfaceAllocatorEx9_TerminateDevice(
This->pVMR9->allocator,
This->pVMR9->cookie);
2847 This->num_surfaces = *numbuffers;
2858 ERR(
"No window set\n");
2862 This->info = *allocinfo;
2866 ERR(
"Failed to create rendering window, expect no output!\n");
2877 if (!
This->pVMR9->baseControlWindow.baseWindow.hWnd)
2901 if (!
This->pVMR9->baseControlWindow.baseWindow.hWnd)
2907 if (!
This->d3d9_surfaces || !
This->reset)
2911 TRACE(
"RESETTING\n");
2912 if (
This->d3d9_vertex)
2918 for (
i = 0;
i <
This->num_surfaces; ++
i)
2920 IDirect3DSurface9 *surface =
This->d3d9_surfaces[
i];
2921 TRACE(
"Releasing surface %p\n", surface);
2942 ERR(
"--> Creating device: %08x\n",
hr);
2946 IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(
This->SurfaceAllocatorNotify,
This->d3d9_dev,
This->hMon);
2948 IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(
This->SurfaceAllocatorNotify, &
This->info, &
This->num_surfaces,
This->d3d9_surfaces);
2961 for (
i = 0;
i <
sizeof(t_vert) /
sizeof(t_vert[0]); ++
i)
2965 t_vert[
i].
x = (
float)
This->pVMR9->target_rect.right - (
float)
This->pVMR9->target_rect.left - 0.5f;
2970 t_vert[
i].
x = -0.5f;
2976 t_vert[
i].
y = -0.5f;
2981 t_vert[
i].
y = (
float)
This->pVMR9->target_rect.bottom - (
float)
This->pVMR9->target_rect.top - 0.5f;
2985 t_vert[
i].
rhw = 1.0f;
2988 FIXME(
"Vertex rectangle:\n");
2989 FIXME(
"X, Y: %f, %f\n", t_vert[0].
x, t_vert[0].
y);
2990 FIXME(
"X, Y: %f, %f\n", t_vert[3].
x, t_vert[3].
y);
2991 FIXME(
"TOP, LEFT: %f, %f\n", t_vert[0].
u, t_vert[0].
v);
2992 FIXME(
"DOWN, BOTTOM: %f, %f\n", t_vert[3].
u, t_vert[3].
v);
3006 if (!
This->d3d9_dev)
3008 TRACE(
"Device has left me!\n");
3014 if (surfaceindex >=
This->num_surfaces)
3016 ERR(
"surfaceindex is greater than num_surfaces\n");
3019 *surface =
This->d3d9_surfaces[surfaceindex];
3032 This->SurfaceAllocatorNotify = allocnotify;
3052 d3d9_create = (
void *)
GetProcAddress(d3d9_handle,
"Direct3DCreate9");
3053 if (!d3d9_create)
return NULL;
3069 if (!
This->d3d9_ptr)
3071 WARN(
"Could not initialize d3d9.dll\n");
3085 ERR(
"HR: %08x\n",
hr);
3088 ERR(
"Format not supported\n");
3103 This->num_surfaces = 0;
3106 This->SurfaceAllocatorNotify =
NULL;
3109 *
ppv = &
This->IVMRImagePresenter9_iface;
#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)
#define D3DPTEXTURECAPS_SQUAREONLY
#define D3DPTEXTURECAPS_POW2
@ D3DBACKBUFFER_TYPE_MONO
#define D3DUSAGE_WRITEONLY
#define D3DCOLOR_XRGB(r, g, b)
#define IDirect3DDevice9_EndScene(p)
#define IDirect3DDevice9_BeginScene(p)
#define IDirect3DDevice9_SetFVF(p, a)
#define IDirect3DVertexBuffer9_Unlock(p)
#define IDirect3DDevice9_GetBackBuffer(p, a, b, c, d)
#define IDirect3DTexture9_GetSurfaceLevel(p, a, b)
#define IDirect3DVertexBuffer9_Release(p)
#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 IDirect3DVertexBuffer9_Lock(p, a, b, c, d)
#define IDirect3DDevice9_CreateTexture(p, a, b, c, d, e, f, g, h)
#define IDirect3DDevice9_Present(p, a, b, c, d)
#define IDirect3DDevice9_GetDeviceCaps(p, a)
#define IDirect3DDevice9_SetStreamSource(p, a, b, c, d)
#define IDirect3DSurface9_AddRef(p)
#define IDirect3D9_Release(p)
#define IDirect3DSurface9_GetContainer(p, a, b)
#define IDirect3DDevice9_DrawPrimitive(p, a, b, c)
#define IDirect3DDevice9_Release(p)
#define IDirect3DDevice9_Clear(p, a, b, c, d, e, f)
#define IDirect3D9_GetAdapterCount(p)
#define IDirect3DSurface9_UnlockRect(p)
#define IDirect3DDevice9_CreateVertexBuffer(p, a, b, c, d, e, f)
#define IDirect3DSurface9_Release(p)
#define IDirect3DDevice9_SetTexture(p, a, b)
#define IDirect3DTexture9_Release(p)
#define IDirect3DDevice9_AddRef(p)
#define IDirect3D9_EnumAdapterModes(p, a, b, c, d)
#define IDirect3DDevice9_CreateOffscreenPlainSurface(p, a, b, c, d, e, f)
#define D3DERR_INVALIDCALL
static const WCHAR dwWidth[]
static const WCHAR dwHeight[]
const char * qzdebugstr_guid(const GUID *id)
#define GetProcAddress(x, y)
static __inline const char * debugstr_an(const char *s, int n)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
_Must_inspect_result_ _In_ ULONG _Out_writes_bytes_ pBufferSize PVOID _Inout_ PULONG pBufferSize
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
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
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 * u
VOID WINAPI CoTaskMemFree(LPVOID ptr)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
#define memcpy(s1, s2, n)
static float(__cdecl *square_half_float)(float x
HMONITOR WINAPI MonitorFromWindow(HWND, DWORD)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
#define D3DCREATE_HARDWARE_VERTEXPROCESSING
#define D3DERR_NOTAVAILABLE
#define D3DCREATE_MIXED_VERTEXPROCESSING
HRESULT WINAPI BaseControlVideoImpl_GetTypeInfoCount(IBasicVideo *iface, UINT *pctinfo)
HRESULT WINAPI BaseControlVideoImpl_GetCurrentImage(IBasicVideo *iface, LONG *pBufferSize, LONG *pDIBImage)
HRESULT WINAPI BaseControlVideoImpl_get_SourceLeft(IBasicVideo *iface, LONG *pSourceLeft)
HRESULT WINAPI BaseControlVideoImpl_GetVideoSize(IBasicVideo *iface, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlVideoImpl_SetDefaultDestinationPosition(IBasicVideo *iface)
HRESULT WINAPI BaseControlVideoImpl_GetDestinationPosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlVideoImpl_put_SourceTop(IBasicVideo *iface, LONG SourceTop)
HRESULT WINAPI BaseControlVideoImpl_get_SourceWidth(IBasicVideo *iface, LONG *pSourceWidth)
HRESULT WINAPI BaseControlVideoImpl_put_SourceHeight(IBasicVideo *iface, LONG SourceHeight)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationWidth(IBasicVideo *iface, LONG *pDestinationWidth)
HRESULT WINAPI BaseControlVideoImpl_SetSourcePosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
HRESULT WINAPI BaseControlVideoImpl_get_SourceTop(IBasicVideo *iface, LONG *pSourceTop)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationWidth(IBasicVideo *iface, LONG DestinationWidth)
HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultDestination(IBasicVideo *iface)
HRESULT WINAPI BaseControlVideoImpl_put_SourceLeft(IBasicVideo *iface, LONG SourceLeft)
HRESULT WINAPI BaseControlVideoImpl_GetTypeInfo(IBasicVideo *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
HRESULT WINAPI BaseControlVideoImpl_GetSourcePosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationLeft(IBasicVideo *iface, LONG *pDestinationLeft)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationHeight(IBasicVideo *iface, LONG *pDestinationHeight)
HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultSource(IBasicVideo *iface)
HRESULT WINAPI BaseControlVideoImpl_get_BitRate(IBasicVideo *iface, LONG *pBitRate)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationTop(IBasicVideo *iface, LONG *pDestinationTop)
HRESULT WINAPI BaseControlVideoImpl_Invoke(IBasicVideo *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
HRESULT WINAPI BaseControlVideoImpl_put_SourceWidth(IBasicVideo *iface, LONG SourceWidth)
HRESULT WINAPI BaseControlVideoImpl_GetIDsOfNames(IBasicVideo *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
HRESULT WINAPI BaseControlVideoImpl_get_VideoHeight(IBasicVideo *iface, LONG *pVideoHeight)
HRESULT WINAPI BaseControlVideoImpl_get_SourceHeight(IBasicVideo *iface, LONG *pSourceHeight)
HRESULT WINAPI BaseControlVideoImpl_get_AvgTimePerFrame(IBasicVideo *iface, REFTIME *pAvgTimePerFrame)
HRESULT WINAPI BaseControlVideo_Init(BaseControlVideo *pControlVideo, const IBasicVideoVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin *pPin, const BaseControlVideoFuncTable *pFuncsTable)
HRESULT WINAPI BaseControlVideoImpl_GetVideoPaletteEntries(IBasicVideo *iface, LONG StartIndex, LONG Entries, LONG *pRetrieved, LONG *pPalette)
HRESULT WINAPI BaseControlVideoImpl_get_BitErrorRate(IBasicVideo *iface, LONG *pBitErrorRate)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationTop(IBasicVideo *iface, LONG DestinationTop)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationHeight(IBasicVideo *iface, LONG DestinationHeight)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationLeft(IBasicVideo *iface, LONG DestinationLeft)
HRESULT WINAPI BaseControlVideoImpl_SetDefaultSourcePosition(IBasicVideo *iface)
HRESULT WINAPI BaseControlVideoImpl_get_VideoWidth(IBasicVideo *iface, LONG *pVideoWidth)
HRESULT WINAPI BaseControlVideoImpl_SetDestinationPosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
HRESULT WINAPI BaseControlWindow_Destroy(BaseControlWindow *pControlWindow)
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 WINAPI BaseControlWindow_Init(BaseControlWindow *pControlWindow, const IVideoWindowVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin *pPin, const BaseWindowFuncTable *pFuncsTable)
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_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)
BOOL WINAPI BaseControlWindowImpl_PossiblyEatMessage(BaseWindow *This, UINT uMsg, WPARAM wParam, LPARAM lParam)
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)
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)
BOOL WINAPI BaseWindowImpl_OnSize(BaseWindow *This, LONG Height, LONG Width)
HRESULT WINAPI BaseRendererImpl_SetSyncSource(IBaseFilter *iface, IReferenceClock *clock)
HRESULT WINAPI BaseFilterImpl_GetClassID(IBaseFilter *iface, CLSID *pClsid)
ULONG WINAPI BaseRendererImpl_Release(IBaseFilter *iface)
HRESULT WINAPI BaseFilterImpl_QueryFilterInfo(IBaseFilter *iface, FILTER_INFO *pInfo)
HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter *iface)
HRESULT WINAPI BaseWindowImpl_PrepareWindow(BaseWindow *This)
HRESULT WINAPI BaseRendererImpl_FindPin(IBaseFilter *iface, LPCWSTR Id, IPin **ppPin)
HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter *iface, REFERENCE_TIME tStart)
ULONG WINAPI BaseFilterImpl_AddRef(IBaseFilter *iface)
HRESULT WINAPI BaseFilterImpl_JoinFilterGraph(IBaseFilter *iface, IFilterGraph *pGraph, LPCWSTR pName)
HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter *iface)
HRESULT WINAPI BaseWindowImpl_DoneWithWindow(BaseWindow *This)
HRESULT WINAPI BaseFilterImpl_QueryVendorInfo(IBaseFilter *iface, LPWSTR *pVendorInfo)
HRESULT WINAPI BaseFilterImpl_GetSyncSource(IBaseFilter *iface, IReferenceClock **ppClock)
HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter *iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
HRESULT WINAPI BaseRendererImpl_QueryInterface(IBaseFilter *iface, REFIID riid, LPVOID *ppv)
HRESULT WINAPI BaseFilterImpl_EnumPins(IBaseFilter *iface, IEnumPins **ppEnum)
HRESULT WINAPI BaseRenderer_Init(BaseRenderer *This, const IBaseFilterVtbl *Vtbl, IUnknown *pUnkOuter, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseRendererFuncTable *pBaseFuncsTable)
IBaseFilter IBaseFilter_iface
CRITICAL_SECTION csFilter
IMediaSample * pMediaSample
IVMRSurfaceAllocatorNotify9 * SurfaceAllocatorNotify
IDirect3DDevice9 * d3d9_dev
IDirect3DSurface9 ** d3d9_surfaces
IVMRImagePresenter9 IVMRImagePresenter9_iface
struct quartz_vmr * pVMR9
IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9_iface
IDirect3DVertexBuffer9 * d3d9_vertex
IVMRWindowlessControl IVMRWindowlessControl_iface
IVMRFilterConfig IVMRFilterConfig_iface
IVMRImagePresenter9 * presenter
BITMAPINFOHEADER bmiheader
IDirect3DDevice9 * allocator_d3d9_dev
IVMRSurfaceAllocatorEx9 * allocator
IAMCertifiedOutputProtection IAMCertifiedOutputProtection_iface
BaseControlWindow baseControlWindow
BaseControlVideo baseControlVideo
IVMRWindowlessControl9 IVMRWindowlessControl9_iface
IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify_iface
IVMRMonitorConfig IVMRMonitorConfig_iface
IVMRFilterConfig9 IVMRFilterConfig9_iface
IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9_iface
IVMRMonitorConfig9 IVMRMonitorConfig9_iface
IAMFilterMiscFlags IAMFilterMiscFlags_iface
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define CONTAINING_RECORD(address, type, field)
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
_In_ HFONT _Out_ PUINT Height
#define VFW_E_DDRAW_CAPS_NOT_SUITABLE
#define VFW_E_WRONG_STATE
#define VFW_E_RUNTIME_ERROR
static HRESULT WINAPI VMR7FilterConfig_SetRenderingMode(IVMRFilterConfig *iface, DWORD mode)
static HRESULT WINAPI VMR7WindowlessControl_GetMaxIdealVideoSize(IVMRWindowlessControl *iface, LONG *width, LONG *height)
static HRESULT WINAPI VMR9MonitorConfig_GetAvailableMonitors(IVMRMonitorConfig9 *iface, VMR9MonitorInfo *info, DWORD arraysize, DWORD *numdev)
static ULONG WINAPI VMR7FilterConfig_AddRef(IVMRFilterConfig *iface)
static HRESULT WINAPI VMR7FilterConfig_GetRenderingMode(IVMRFilterConfig *iface, DWORD *mode)
static const BaseControlVideoFuncTable renderer_BaseControlVideoFuncTable
static const BaseWindowFuncTable renderer_BaseWindowFuncTable
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 RECT WINAPI VMR9_GetDefaultRect(BaseWindow *This)
static VMR9DefaultAllocatorPresenterImpl * impl_from_IVMRImagePresenter9(IVMRImagePresenter9 *iface)
static HRESULT WINAPI VMR7WindowlessControl_GetVideoPosition(IVMRWindowlessControl *iface, RECT *source, RECT *dest)
static ULONG WINAPI VMR9_SurfaceAllocator_AddRef(IVMRSurfaceAllocatorEx9 *iface)
static struct quartz_vmr * impl_from_BaseWindow(BaseWindow *wnd)
static HRESULT WINAPI VMR9FilterConfig_GetRenderingPrefs(IVMRFilterConfig9 *iface, DWORD *renderflags)
static HRESULT WINAPI VMR9MonitorConfig_SetDefaultMonitor(IVMRMonitorConfig9 *iface, UINT uDev)
static ULONG WINAPI VMR7WindowlessControl_Release(IVMRWindowlessControl *iface)
static const IAMCertifiedOutputProtectionVtbl IAMCertifiedOutputProtection_Vtbl
static HRESULT WINAPI VMR7SurfaceAllocatorNotify_RestoreDDrawSurfaces(IVMRSurfaceAllocatorNotify *iface)
static ULONG WINAPI Basicvideo_Release(IBasicVideo *iface)
static ULONG WINAPI Videowindow_Release(IVideoWindow *iface)
static HRESULT WINAPI VMR9_ShouldDrawSampleNow(BaseRenderer *This, IMediaSample *pSample, REFERENCE_TIME *pStartTime, REFERENCE_TIME *pEndTime)
static HRESULT WINAPI VMR9FilterConfig_SetRenderingPrefs(IVMRFilterConfig9 *iface, DWORD renderflags)
static ULONG WINAPI VMR7WindowlessControl_AddRef(IVMRWindowlessControl *iface)
static HRESULT WINAPI VMR9_SetDefaultTargetRect(BaseControlVideo *This)
static HRESULT WINAPI VMR9MonitorConfig_QueryInterface(IVMRMonitorConfig9 *iface, REFIID riid, LPVOID *ppv)
static ULONG WINAPI VMR9FilterConfig_AddRef(IVMRFilterConfig9 *iface)
static HRESULT vmr_create(IUnknown *outer_unk, LPVOID *ppv, const CLSID *clsid)
static HRESULT WINAPI AMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection *iface, GUID *pRandom, BYTE **VarLenCertGH, DWORD *pdwLengthCertGH)
static const IVMRFilterConfig9Vtbl VMR9_FilterConfig_Vtbl
static HRESULT WINAPI VMR9_SetDefaultSourceRect(BaseControlVideo *This)
static HRESULT WINAPI VMR9_GetSourceRect(BaseControlVideo *This, RECT *pSourceRect)
static HRESULT WINAPI VMR7FilterConfig_SetRenderingPrefs(IVMRFilterConfig *iface, DWORD renderflags)
static LPWSTR WINAPI VMR9_GetClassWindowStyles(BaseWindow *This, DWORD *pClassStyles, DWORD *pWindowStyles, DWORD *pWindowStylesEx)
static HRESULT WINAPI VMR9MonitorConfig_SetMonitor(IVMRMonitorConfig9 *iface, UINT uDev)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_AllocateSurfaceHelper(IVMRSurfaceAllocatorNotify9 *iface, VMR9AllocationInfo *allocinfo, DWORD *numbuffers, IDirect3DSurface9 **surface)
static HRESULT VMR9DefaultAllocatorPresenterImpl_create(struct quartz_vmr *parent, LPVOID *ppv)
static struct quartz_vmr * impl_from_IVMRMonitorConfig(IVMRMonitorConfig *iface)
static HRESULT WINAPI VMR9_SurfaceAllocator_QueryInterface(IVMRSurfaceAllocatorEx9 *iface, REFIID riid, LPVOID *ppv)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_SetD3DDevice(IVMRSurfaceAllocatorNotify9 *iface, IDirect3DDevice9 *device, HMONITOR monitor)
static HRESULT WINAPI VMR7SurfaceAllocatorNotify_SetDDrawDevice(IVMRSurfaceAllocatorNotify *iface, IDirectDraw7 *device, HMONITOR monitor)
static HRESULT WINAPI VMR7SurfaceAllocatorNotify_QueryInterface(IVMRSurfaceAllocatorNotify *iface, REFIID riid, LPVOID *ppv)
static ULONG WINAPI VMR9Inner_Release(IUnknown *iface)
static HRESULT WINAPI VMR7WindowlessControl_DisplayModeChanged(IVMRWindowlessControl *iface)
static HRESULT WINAPI VMR7MonitorConfig_QueryInterface(IVMRMonitorConfig *iface, REFIID riid, LPVOID *ppv)
static struct quartz_vmr * impl_from_IVMRFilterConfig9(IVMRFilterConfig9 *iface)
<