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;
564 TRACE(
"WM_SIZE %d %d\n", Width, Height);
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);
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;
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
static HRESULT vmr_create(IUnknown *outer_unk, LPVOID *ppv, const CLSID *clsid)
static HRESULT WINAPI VMR7WindowlessControl_GetNativeVideoSize(IVMRWindowlessControl *iface, LONG *width, LONG *height, LONG *arwidth, LONG *arheight)
static struct quartz_vmr * impl_from_IVMRMonitorConfig9(IVMRMonitorConfig9 *iface)
static HRESULT WINAPI VMR9_GetSourceRect(BaseControlVideo *This, RECT *pSourceRect)
HRESULT WINAPI BaseControlVideoImpl_get_BitErrorRate(IBasicVideo *iface, LONG *pBitErrorRate)
static const IVMRFilterConfigVtbl VMR7_FilterConfig_Vtbl
#define IDirect3D9_CreateDevice(p, a, b, c, d, e, f)
HRESULT WINAPI BaseControlVideoImpl_put_SourceHeight(IBasicVideo *iface, LONG SourceHeight)
HRESULT WINAPI BaseControlWindowImpl_NotifyOwnerMessage(IVideoWindow *iface, OAHWND hwnd, LONG uMsg, LONG_PTR wParam, LONG_PTR lParam)
#define IDirect3DDevice9_CreateVertexBuffer(p, a, b, c, d, e, f)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationTop(IBasicVideo *iface, LONG *pDestinationTop)
static struct quartz_vmr * impl_from_inner_IUnknown(IUnknown *iface)
static ULONG WINAPI Videowindow_Release(IVideoWindow *iface)
static ULONG WINAPI Basicvideo_Release(IBasicVideo *iface)
#define IDirect3DSurface9_Release(p)
static ULONG WINAPI VMR7SurfaceAllocatorNotify_Release(IVMRSurfaceAllocatorNotify *iface)
static HRESULT WINAPI VMR9FilterConfig_GetNumberOfStreams(IVMRFilterConfig9 *iface, DWORD *max)
static const IVMRMonitorConfigVtbl VMR7_MonitorConfig_Vtbl
HRESULT WINAPI BaseRendererImpl_SetSyncSource(IBaseFilter *iface, IReferenceClock *clock)
HRESULT WINAPI BaseControlVideoImpl_GetTypeInfo(IBasicVideo *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_AdviseSurfaceAllocator(IVMRSurfaceAllocatorNotify9 *iface, DWORD_PTR id, IVMRSurfaceAllocator9 *alloc)
#define IDirect3D9_GetAdapterMonitor(p, a)
HRESULT WINAPI BaseControlVideoImpl_get_SourceLeft(IBasicVideo *iface, LONG *pSourceLeft)
HRESULT WINAPI BaseControlVideo_Init(BaseControlVideo *pControlVideo, const IBasicVideoVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin *pPin, const BaseControlVideoFuncTable *pFuncsTable)
HRESULT WINAPI BaseControlVideoImpl_get_AvgTimePerFrame(IBasicVideo *iface, REFTIME *pAvgTimePerFrame)
GLint GLint GLsizei width
static HRESULT WINAPI VMR7MonitorConfig_GetMonitor(IVMRMonitorConfig *iface, VMRGUID *pGUID)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
static ULONG WINAPI AMCertifiedOutputProtection_AddRef(IAMCertifiedOutputProtection *iface)
static ULONG WINAPI VMR9FilterConfig_AddRef(IVMRFilterConfig9 *iface)
static HRESULT WINAPI VMR9_IsDefaultTargetRect(BaseControlVideo *This)
#define D3DPTEXTURECAPS_POW2
static ULONG WINAPI VMR9SurfaceAllocatorNotify_Release(IVMRSurfaceAllocatorNotify9 *iface)
IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9_iface
HRESULT WINAPI BaseControlWindowImpl_Invoke(IVideoWindow *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
static UCHAR ULONG UCHAR ULONG UCHAR * output
#define IDirect3DDevice9_Clear(p, a, b, c, d, e, f)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationHeight(IBasicVideo *iface, LONG *pDestinationHeight)
#define IDirect3DDevice9_GetBackBuffer(p, a, b, c, d)
static const IVideoWindowVtbl IVideoWindow_VTable
IMediaSample * pMediaSample
_In_ int _Inout_ LPRECT lprc
static HRESULT WINAPI VMR9_SetDefaultTargetRect(BaseControlVideo *This)
static HRESULT WINAPI VMR7MonitorConfig_GetDefaultMonitor(IVMRMonitorConfig *iface, VMRGUID *pGUID)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
HRESULT WINAPI BaseControlWindowImpl_HideCursor(IVideoWindow *iface, LONG HideCursor)
static ULONG WINAPI VMR7WindowlessControl_AddRef(IVMRWindowlessControl *iface)
static HRESULT WINAPI VMR9_CompleteConnect(BaseRenderer *This, IPin *pReceivePin)
HRESULT VMR9Impl_create(IUnknown *outer_unk, LPVOID *ppv)
IVMRFilterConfig9 IVMRFilterConfig9_iface
static ULONG WINAPI VMR9SurfaceAllocatorNotify_AddRef(IVMRSurfaceAllocatorNotify9 *iface)
IVMRImagePresenter9 * presenter
static HRESULT WINAPI VMR9WindowlessControl_GetAspectRatioMode(IVMRWindowlessControl9 *iface, DWORD *mode)
BOOL WINAPI EnumDisplayMonitors(_In_opt_ HDC, _In_opt_ LPCRECT, _In_ MONITORENUMPROC, _In_ LPARAM)
HRESULT WINAPI BaseControlWindowImpl_get_Left(IVideoWindow *iface, LONG *pLeft)
HRESULT WINAPI BaseControlWindowImpl_get_Caption(IVideoWindow *iface, BSTR *strCaption)
static HRESULT WINAPI AMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection *iface, GUID *pRandom, BYTE **VarLenCertGH, DWORD *pdwLengthCertGH)
static HRESULT VMR9_ImagePresenter_PresentTexture(VMR9DefaultAllocatorPresenterImpl *This, IDirect3DSurface9 *surface)
#define IDirect3DTexture9_GetSurfaceLevel(p, a, b)
static HRESULT WINAPI VMR9WindowlessControl_QueryInterface(IVMRWindowlessControl9 *iface, REFIID riid, LPVOID *ppv)
#define IDirect3DVertexBuffer9_Unlock(p)
static HRESULT WINAPI AMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection *iface, REFIID riid, void **ppv)
static const IVMRSurfaceAllocatorNotifyVtbl VMR7_SurfaceAllocatorNotify_Vtbl
const char * qzdebugstr_guid(const GUID *id)
static HRESULT WINAPI VMR9WindowlessControl_SetVideoClippingWindow(IVMRWindowlessControl9 *iface, HWND hwnd)
static HRESULT WINAPI VMR9_SurfaceAllocator_TerminateDevice(IVMRSurfaceAllocatorEx9 *iface, DWORD_PTR id)
static HRESULT WINAPI VMR7SurfaceAllocatorNotify_QueryInterface(IVMRSurfaceAllocatorNotify *iface, REFIID riid, LPVOID *ppv)
static ULONG WINAPI AMFilterMiscFlags_AddRef(IAMFilterMiscFlags *iface)
static HRESULT WINAPI VMR9FilterConfig_SetRenderingPrefs(IVMRFilterConfig9 *iface, DWORD renderflags)
HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter *iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
static HRESULT WINAPI VMR7WindowlessControl_GetCurrentImage(IVMRWindowlessControl *iface, BYTE **dib)
static struct quartz_vmr * impl_from_IVMRWindowlessControl(IVMRWindowlessControl *iface)
HRESULT WINAPI BaseControlWindowImpl_put_AutoShow(IVideoWindow *iface, LONG AutoShow)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
HRESULT WINAPI BaseControlVideoImpl_put_SourceWidth(IBasicVideo *iface, LONG SourceWidth)
IVMRWindowlessControl9 IVMRWindowlessControl9_iface
BOOL WINAPI BaseWindowImpl_OnSize(BaseWindow *This, LONG Height, LONG Width)
static HRESULT WINAPI VMR9MonitorConfig_SetDefaultMonitor(IVMRMonitorConfig9 *iface, UINT uDev)
static HRESULT WINAPI VMR9_ShouldDrawSampleNow(BaseRenderer *This, IMediaSample *pSample, REFERENCE_TIME *pStartTime, REFERENCE_TIME *pEndTime)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationLeft(IBasicVideo *iface, LONG *pDestinationLeft)
static HRESULT WINAPI VMR9_IsDefaultSourceRect(BaseControlVideo *This)
#define IDirect3DTexture9_Release(p)
HRESULT WINAPI BaseControlVideoImpl_GetIDsOfNames(IBasicVideo *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT VMR9_ImagePresenter_PresentOffscreenSurface(VMR9DefaultAllocatorPresenterImpl *This, IDirect3DSurface9 *surface)
static HRESULT WINAPI VMR9_SetTargetRect(BaseControlVideo *This, RECT *pTargetRect)
static struct quartz_vmr * impl_from_IVMRSurfaceAllocatorNotify9(IVMRSurfaceAllocatorNotify9 *iface)
static ULONG WINAPI VMR9FilterConfig_Release(IVMRFilterConfig9 *iface)
IVMRImagePresenter9 IVMRImagePresenter9_iface
_Must_inspect_result_ _In_ ULONG _Out_writes_bytes_ pBufferSize PVOID _Inout_ PULONG pBufferSize
static const BaseWindowFuncTable renderer_BaseWindowFuncTable
#define D3DERR_INVALIDCALL
static ULONG WINAPI VMR9_Release(IBaseFilter *iface)
static HRESULT WINAPI VMR7SurfaceAllocatorNotify_SetDDrawDevice(IVMRSurfaceAllocatorNotify *iface, IDirectDraw7 *device, HMONITOR monitor)
HRESULT WINAPI BaseControlWindowImpl_get_BackgroundPalette(IVideoWindow *iface, LONG *pBackgroundPalette)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationWidth(IBasicVideo *iface, LONG *pDestinationWidth)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_QueryInterface(IVMRSurfaceAllocatorNotify9 *iface, REFIID riid, LPVOID *ppv)
static const IUnknownVtbl IInner_VTable
static struct quartz_vmr * impl_from_IVMRMonitorConfig(IVMRMonitorConfig *iface)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
static HRESULT WINAPI VMR9FilterConfig_QueryInterface(IVMRFilterConfig9 *iface, REFIID riid, LPVOID *ppv)
static HRESULT WINAPI VMR9MonitorConfig_QueryInterface(IVMRMonitorConfig9 *iface, REFIID riid, LPVOID *ppv)
HRESULT WINAPI BaseControlWindowImpl_GetMinIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight)
GLint GLint GLint GLint GLint x
static HRESULT WINAPI VMR7SurfaceAllocatorNotify_RestoreDDrawSurfaces(IVMRSurfaceAllocatorNotify *iface)
static HRESULT WINAPI VMR7WindowlessControl_RepaintVideo(IVMRWindowlessControl *iface, HWND hwnd, HDC hdc)
HRESULT WINAPI BaseControlVideoImpl_Invoke(IBasicVideo *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
static HRESULT WINAPI VMR9WindowlessControl_SetBorderColor(IVMRWindowlessControl9 *iface, COLORREF color)
static HRESULT WINAPI VMR9_SurfaceAllocator_AdviseNotify(IVMRSurfaceAllocatorEx9 *iface, IVMRSurfaceAllocatorNotify9 *allocnotify)
static const IAMCertifiedOutputProtectionVtbl IAMCertifiedOutputProtection_Vtbl
HRESULT WINAPI BaseControlWindowImpl_put_WindowState(IVideoWindow *iface, LONG WindowState)
static ULONG WINAPI VMR7MonitorConfig_Release(IVMRMonitorConfig *iface)
#define D3DUSAGE_WRITEONLY
static HRESULT WINAPI AMCertifiedOutputProtection_ProtectionCommand(IAMCertifiedOutputProtection *iface, const AMCOPPCommand *cmd)
BaseControlVideo baseControlVideo
static HRESULT WINAPI VMR7MonitorConfig_SetDefaultMonitor(IVMRMonitorConfig *iface, const VMRGUID *pGUID)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
HRESULT WINAPI BaseControlWindowImpl_GetTypeInfoCount(IVideoWindow *iface, UINT *pctinfo)
static HRESULT WINAPI Basicvideo_QueryInterface(IBasicVideo *iface, REFIID riid, LPVOID *ppvObj)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
IVMRSurfaceAllocatorNotify9 * SurfaceAllocatorNotify
#define IDirect3DDevice9_DrawPrimitive(p, a, b, c)
HRESULT WINAPI BaseControlWindowImpl_GetIDsOfNames(IVideoWindow *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI AMCertifiedOutputProtection_ProtectionStatus(IAMCertifiedOutputProtection *iface, const AMCOPPStatusInput *pStatusInput, AMCOPPStatusOutput *pStatusOutput)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationHeight(IBasicVideo *iface, LONG DestinationHeight)
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
IDirect3DDevice9 * d3d9_dev
static DWORD WINAPI MessageLoop(LPVOID lpParameter)
HRESULT WINAPI BaseControlWindowImpl_put_FullScreenMode(IVideoWindow *iface, LONG FullScreenMode)
static HRESULT WINAPI VMR7WindowlessControl_SetAspectRatioMode(IVMRWindowlessControl *iface, DWORD mode)
#define IDirect3DDevice9_SetFVF(p, a)
static HRESULT WINAPI VMR9Inner_QueryInterface(IUnknown *iface, REFIID riid, LPVOID *ppv)
#define IDirect3D9_GetAdapterCount(p)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
HRESULT WINAPI BaseControlVideoImpl_GetCurrentImage(IBasicVideo *iface, LONG *pBufferSize, LONG *pDIBImage)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
static HRESULT WINAPI VMR9_ImagePresenter_QueryInterface(IVMRImagePresenter9 *iface, REFIID riid, LPVOID *ppv)
static HRESULT WINAPI VMR9MonitorConfig_GetMonitor(IVMRMonitorConfig9 *iface, UINT *uDev)
IVMRMonitorConfig IVMRMonitorConfig_iface
HRESULT WINAPI BaseWindowImpl_DoneWithWindow(BaseWindow *This)
static HRESULT VMR9_SurfaceAllocator_SetAllocationSettings(VMR9DefaultAllocatorPresenterImpl *This, VMR9AllocationInfo *allocinfo)
HRESULT WINAPI BaseControlVideoImpl_GetTypeInfoCount(IBasicVideo *iface, UINT *pctinfo)
HRESULT WINAPI BaseControlVideoImpl_GetSourcePosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
static HRESULT WINAPI VMR9FilterConfig_SetNumberOfStreams(IVMRFilterConfig9 *iface, DWORD max)
struct quartz_vmr * pVMR9
ULONG WINAPI BaseRendererImpl_Release(IBaseFilter *iface)
HRESULT WINAPI BaseControlWindowImpl_put_Width(IVideoWindow *iface, LONG Width)
#define IDirect3DDevice9_CreateOffscreenPlainSurface(p, a, b, c, d, e, f)
#define IDirect3D9_Release(p)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
static HRESULT WINAPI VMR9WindowlessControl_SetVideoPosition(IVMRWindowlessControl9 *iface, const RECT *source, const RECT *dest)
BITMAPINFOHEADER bmiheader
static HRESULT WINAPI VMR9WindowlessControl_DisplayModeChanged(IVMRWindowlessControl9 *iface)
static const IBasicVideoVtbl IBasicVideo_VTable
HRESULT WINAPI BaseControlWindowImpl_get_WindowStyle(IVideoWindow *iface, LONG *WindowStyle)
static HRESULT WINAPI VMR9WindowlessControl_RepaintVideo(IVMRWindowlessControl9 *iface, HWND hwnd, HDC hdc)
static HRESULT WINAPI VMR9FilterConfig_GetRenderingPrefs(IVMRFilterConfig9 *iface, DWORD *renderflags)
static ULONG WINAPI AMCertifiedOutputProtection_Release(IAMCertifiedOutputProtection *iface)
HRESULT WINAPI BaseControlVideoImpl_GetDestinationPosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)
static struct quartz_vmr * impl_from_IAMCertifiedOutputProtection(IAMCertifiedOutputProtection *iface)
IDirect3DVertexBuffer9 * d3d9_vertex
HRESULT WINAPI BaseControlVideoImpl_SetDestinationPosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
static ULONG WINAPI VMR9_ImagePresenter_Release(IVMRImagePresenter9 *iface)
HRESULT WINAPI BaseRendererImpl_FindPin(IBaseFilter *iface, LPCWSTR Id, IPin **ppPin)
HRESULT WINAPI BaseFilterImpl_GetClassID(IBaseFilter *iface, CLSID *pClsid)
static UINT WPARAM LPARAM lparam
HRESULT WINAPI BaseRendererImpl_QueryInterface(IBaseFilter *iface, REFIID riid, LPVOID *ppv)
static HRESULT WINAPI VMR7SurfaceAllocatorNotify_SetBorderColor(IVMRSurfaceAllocatorNotify *iface, COLORREF clrBorder)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
HRESULT WINAPI BaseRenderer_Init(BaseRenderer *This, const IBaseFilterVtbl *Vtbl, IUnknown *pUnkOuter, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseRendererFuncTable *pBaseFuncsTable)
#define D3DERR_NOTAVAILABLE
IVMRFilterConfig IVMRFilterConfig_iface
static HRESULT WINAPI VMR7WindowlessControl_QueryInterface(IVMRWindowlessControl *iface, REFIID riid, LPVOID *ppv)
IVMRSurfaceAllocatorEx9 * allocator
HRESULT WINAPI BaseControlWindowImpl_get_FullScreenMode(IVideoWindow *iface, LONG *FullScreenMode)
HRESULT WINAPI BaseControlWindow_Destroy(BaseControlWindow *pControlWindow)
static ULONG WINAPI VMR9_SurfaceAllocator_AddRef(IVMRSurfaceAllocatorEx9 *iface)
HRESULT WINAPI BaseControlWindowImpl_get_AutoShow(IVideoWindow *iface, LONG *AutoShow)
static HRESULT WINAPI VMR9_SurfaceAllocator_GetSurface(IVMRSurfaceAllocatorEx9 *iface, DWORD_PTR id, DWORD surfaceindex, DWORD flags, IDirect3DSurface9 **surface)
#define D3DPTEXTURECAPS_SQUAREONLY
#define IDirect3DDevice9_SetStreamSource(p, a, b, c, d)
HRESULT WINAPI BaseControlWindowImpl_GetRestorePosition(IVideoWindow *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
static const IVMRImagePresenter9Vtbl VMR9_ImagePresenter
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)
#define IDirect3DDevice9_Release(p)
IAMFilterMiscFlags IAMFilterMiscFlags_iface
static HRESULT WINAPI VMR7WindowlessControl_GetAspectRatioMode(IVMRWindowlessControl *iface, DWORD *mode)
static struct quartz_vmr * impl_from_IBasicVideo(IBasicVideo *iface)
static ULONG WINAPI VMR9Inner_AddRef(IUnknown *iface)
static HRESULT WINAPI VMR9MonitorConfig_GetAvailableMonitors(IVMRMonitorConfig9 *iface, VMR9MonitorInfo *info, DWORD arraysize, DWORD *numdev)
static VOID WINAPI VMR9_OnStartStreaming(BaseRenderer *iface)
HRESULT WINAPI BaseControlVideoImpl_SetSourcePosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
HRESULT WINAPI BaseControlWindowImpl_get_Visible(IVideoWindow *iface, LONG *pVisible)
static HRESULT WINAPI VMR9_GetStaticImage(BaseControlVideo *This, LONG *pBufferSize, LONG *pDIBImage)
static HRESULT WINAPI VMR7FilterConfig_GetNumberOfStreams(IVMRFilterConfig *iface, DWORD *max)
static const BaseRendererFuncTable BaseFuncTable
static HRESULT WINAPI VMR7WindowlessControl_GetVideoPosition(IVMRWindowlessControl *iface, RECT *source, RECT *dest)
IDirect3DDevice9 * allocator_d3d9_dev
static ULONG WINAPI VMR9MonitorConfig_AddRef(IVMRMonitorConfig9 *iface)
HRESULT WINAPI BaseControlVideoImpl_SetDefaultSourcePosition(IBasicVideo *iface)
static VOID WINAPI VMR9_OnStopStreaming(BaseRenderer *iface)
HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultSource(IBasicVideo *iface)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
static struct quartz_vmr * impl_from_BaseWindow(BaseWindow *wnd)
HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter *iface)
static BOOL WINAPI VMR9_OnSize(BaseWindow *This, LONG Width, LONG Height)
static const WCHAR dwHeight[]
WINE_DEFAULT_DEBUG_CHANNEL(quartz)
HRESULT WINAPI BaseControlWindowImpl_put_WindowStyleEx(IVideoWindow *iface, LONG WindowStyleEx)
static HRESULT WINAPI VMR7FilterConfig_SetRenderingMode(IVMRFilterConfig *iface, DWORD mode)
HRESULT WINAPI BaseControlWindowImpl_put_Caption(IVideoWindow *iface, BSTR strCaption)
#define IDirect3DDevice9_EndScene(p)
static HRESULT WINAPI VMR7WindowlessControl_GetMinIdealVideoSize(IVMRWindowlessControl *iface, LONG *width, LONG *height)
static ULONG WINAPI VMR7FilterConfig_AddRef(IVMRFilterConfig *iface)
#define IDirect3D9_EnumAdapterModes(p, a, b, c, d)
static HRESULT WINAPI AMCertifiedOutputProtection_SessionSequenceStart(IAMCertifiedOutputProtection *iface, AMCOPPSignature *pSig)
static HRESULT VMR9DefaultAllocatorPresenterImpl_create(struct quartz_vmr *parent, LPVOID *ppv)
static struct quartz_vmr * impl_from_IVMRWindowlessControl9(IVMRWindowlessControl9 *iface)
static HRESULT WINAPI VMR9_SurfaceAllocator_QueryInterface(IVMRSurfaceAllocatorEx9 *iface, REFIID riid, LPVOID *ppv)
static const BaseControlVideoFuncTable renderer_BaseControlVideoFuncTable
static HRESULT WINAPI VMR9_SurfaceAllocator_InitializeDevice(IVMRSurfaceAllocatorEx9 *iface, DWORD_PTR id, VMR9AllocationInfo *allocinfo, DWORD *numbuffers)
HRESULT WINAPI BaseFilterImpl_QueryVendorInfo(IBaseFilter *iface, LPWSTR *pVendorInfo)
static HRESULT WINAPI VMR7WindowlessControl_SetVideoClippingWindow(IVMRWindowlessControl *iface, HWND hwnd)
static struct quartz_vmr * impl_from_IVMRFilterConfig9(IVMRFilterConfig9 *iface)
static const IVMRWindowlessControl9Vtbl VMR9_WindowlessControl_Vtbl
static HRESULT WINAPI VMR9WindowlessControl_GetVideoPosition(IVMRWindowlessControl9 *iface, RECT *source, RECT *dest)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_NotifyEvent(IVMRSurfaceAllocatorNotify9 *iface, LONG code, LONG_PTR param1, LONG_PTR param2)
static HRESULT WINAPI VMR9FilterConfig_SetImageCompositor(IVMRFilterConfig9 *iface, IVMRImageCompositor9 *compositor)
static const IAMFilterMiscFlagsVtbl IAMFilterMiscFlags_Vtbl
IVMRMonitorConfig9 IVMRMonitorConfig9_iface
static HRESULT WINAPI VMR7WindowlessControl_SetBorderColor(IVMRWindowlessControl *iface, COLORREF color)
static HRESULT WINAPI VMR9_QueryInterface(IBaseFilter *iface, REFIID riid, LPVOID *ppv)
#define VFW_E_RUNTIME_ERROR
static HRESULT WINAPI VMR7FilterConfig_SetRenderingPrefs(IVMRFilterConfig *iface, DWORD renderflags)
HRESULT WINAPI BaseControlWindowImpl_put_BackgroundPalette(IVideoWindow *iface, LONG BackgroundPalette)
BOOL WINAPI GetMonitorInfoW(_In_ HMONITOR, _Inout_ LPMONITORINFO)
#define IDirect3DSurface9_GetContainer(p, a, b)
static ULONG WINAPI AMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags *iface)
static const IVMRFilterConfig9Vtbl VMR9_FilterConfig_Vtbl
static BOOL CALLBACK get_available_monitors_proc(HMONITOR hmon, HDC hdc, LPRECT lprc, LPARAM lparam)
const char * wine_dbgstr_rect(const RECT *rect)
IVMRWindowlessControl IVMRWindowlessControl_iface
static ULONG WINAPI Basicvideo_AddRef(IBasicVideo *iface)
HRESULT WINAPI BaseWindowImpl_PrepareWindow(BaseWindow *This)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_SetD3DDevice(IVMRSurfaceAllocatorNotify9 *iface, IDirect3DDevice9 *device, HMONITOR monitor)
static HRESULT WINAPI VMR9WindowlessControl_GetMinIdealVideoSize(IVMRWindowlessControl9 *iface, LONG *width, LONG *height)
static HRESULT WINAPI VMR9_SetDefaultSourceRect(BaseControlVideo *This)
#define IDirect3DVertexBuffer9_Lock(p, a, b, c, d)
static HRESULT WINAPI VMR7MonitorConfig_GetAvailableMonitors(IVMRMonitorConfig *iface, VMRMONITORINFO *info, DWORD arraysize, DWORD *numdev)
HRESULT WINAPI BaseControlWindowImpl_GetMaxIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindowImpl_get_Width(IVideoWindow *iface, LONG *pWidth)
HRESULT WINAPI BaseControlWindowImpl_GetTypeInfo(IVideoWindow *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
#define IDirect3DDevice9_AddRef(p)
static HRESULT WINAPI VMR7WindowlessControl_GetBorderColor(IVMRWindowlessControl *iface, COLORREF *color)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
HRESULT WINAPI BaseControlVideoImpl_SetDefaultDestinationPosition(IBasicVideo *iface)
HRESULT WINAPI BaseControlWindowImpl_put_Owner(IVideoWindow *iface, OAHWND Owner)
static ULONG WINAPI VMR9_ImagePresenter_AddRef(IVMRImagePresenter9 *iface)
static ULONG WINAPI VMR9_AddRef(IBaseFilter *iface)
static ULONG WINAPI VMR7WindowlessControl_Release(IVMRWindowlessControl *iface)
HRESULT WINAPI BaseControlWindowImpl_get_BorderColor(IVideoWindow *iface, LONG *Color)
static ULONG WINAPI VMR7SurfaceAllocatorNotify_AddRef(IVMRSurfaceAllocatorNotify *iface)
#define D3DCOLOR_XRGB(r, g, b)
static HRESULT WINAPI VMR7SurfaceAllocatorNotify_ChangeDDrawDevice(IVMRSurfaceAllocatorNotify *iface, IDirectDraw7 *device, HMONITOR monitor)
static HRESULT WINAPI VMR7MonitorConfig_QueryInterface(IVMRMonitorConfig *iface, REFIID riid, LPVOID *ppv)
HRESULT WINAPI BaseControlWindowImpl_SetWindowForeground(IVideoWindow *iface, LONG Focus)
static HRESULT WINAPI VMR9_DoRenderSample(BaseRenderer *iface, IMediaSample *pSample)
HRESULT WINAPI BaseControlWindowImpl_get_WindowState(IVideoWindow *iface, LONG *WindowState)
static struct quartz_vmr * impl_from_IVideoWindow(IVideoWindow *iface)
#define InterlockedDecrement
static ULONG WINAPI AMFilterMiscFlags_Release(IAMFilterMiscFlags *iface)
static __inline const char * debugstr_an(const char *s, int n)
IBaseFilter IBaseFilter_iface
#define IDirect3DVertexBuffer9_Release(p)
static UINT d3d9_adapter_from_hwnd(IDirect3D9 *d3d9, HWND hwnd, HMONITOR *mon_out)
#define VFW_E_DDRAW_CAPS_NOT_SUITABLE
static HRESULT WINAPI VMR7WindowlessControl_SetColorKey(IVMRWindowlessControl *iface, COLORREF color)
static ULONG WINAPI VMR9_SurfaceAllocator_Release(IVMRSurfaceAllocatorEx9 *iface)
#define memcpy(s1, s2, n)
HRESULT WINAPI BaseControlVideoImpl_GetVideoSize(IBasicVideo *iface, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindow_Init(BaseControlWindow *pControlWindow, const IVideoWindowVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin *pPin, const BaseWindowFuncTable *pFuncsTable)
static ULONG WINAPI VMR9Inner_Release(IUnknown *iface)
CRITICAL_SECTION csFilter
static HRESULT WINAPI VMR7WindowlessControl_SetVideoPosition(IVMRWindowlessControl *iface, const RECT *source, const RECT *dest)
HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter *iface, REFERENCE_TIME tStart)
IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify_iface
static HRESULT WINAPI VMR7FilterConfig_SetNumberOfStreams(IVMRFilterConfig *iface, DWORD max)
static HRESULT WINAPI VMR9_ImagePresenter_StopPresenting(IVMRImagePresenter9 *iface, DWORD_PTR id)
HRESULT WINAPI BaseFilterImpl_EnumPins(IBaseFilter *iface, IEnumPins **ppEnum)
#define IDirect3DSurface9_AddRef(p)
static HRESULT WINAPI VMR9_ImagePresenter_StartPresenting(IVMRImagePresenter9 *iface, DWORD_PTR id)
static HRESULT WINAPI VMR7FilterConfig_QueryInterface(IVMRFilterConfig *iface, REFIID riid, void **ppv)
static HRESULT WINAPI VMR9WindowlessControl_SetAspectRatioMode(IVMRWindowlessControl9 *iface, DWORD mode)
static DWORD VMR9_SendSampleData(struct quartz_vmr *This, VMR9PresentationInfo *info, LPBYTE data, DWORD size)
HRESULT WINAPI BaseControlWindowImpl_get_Owner(IVideoWindow *iface, OAHWND *Owner)
HRESULT WINAPI BaseControlVideoImpl_get_VideoWidth(IBasicVideo *iface, LONG *pVideoWidth)
static ULONG WINAPI VMR7MonitorConfig_AddRef(IVMRMonitorConfig *iface)
GLint GLint GLsizei GLsizei height
static HRESULT WINAPI VMR9_CheckMediaType(BaseRenderer *iface, const AM_MEDIA_TYPE *pmt)
static HRESULT WINAPI VMR9_ImagePresenter_PresentImage(IVMRImagePresenter9 *iface, DWORD_PTR id, VMR9PresentationInfo *info)
HRESULT WINAPI BaseControlWindowImpl_get_Height(IVideoWindow *iface, LONG *pHeight)
static const IBaseFilterVtbl VMR_Vtbl
static ULONG WINAPI VMR9WindowlessControl_Release(IVMRWindowlessControl9 *iface)
static ULONG WINAPI VMR9MonitorConfig_Release(IVMRMonitorConfig9 *iface)
HRESULT WINAPI BaseControlVideoImpl_get_VideoHeight(IBasicVideo *iface, LONG *pVideoHeight)
static HRESULT WINAPI VMR9WindowlessControl_GetMaxIdealVideoSize(IVMRWindowlessControl9 *iface, LONG *width, LONG *height)
HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter *iface)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
static VMR9DefaultAllocatorPresenterImpl * impl_from_IVMRSurfaceAllocatorEx9(IVMRSurfaceAllocatorEx9 *iface)
static HRESULT WINAPI VMR7SurfaceAllocatorNotify_AdviseSurfaceAllocator(IVMRSurfaceAllocatorNotify *iface, DWORD_PTR id, IVMRSurfaceAllocator *alloc)
HRESULT WINAPI BaseControlWindowImpl_get_WindowStyleEx(IVideoWindow *iface, LONG *WindowStyleEx)
static HRESULT WINAPI AMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags *iface, REFIID riid, void **ppv)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
HRESULT WINAPI BaseControlWindowImpl_get_MessageDrain(IVideoWindow *iface, OAHWND *Drain)
#define IDirect3DDevice9_SetTexture(p, a, b)
HRESULT WINAPI BaseControlVideoImpl_put_SourceLeft(IBasicVideo *iface, LONG SourceLeft)
#define InterlockedIncrement
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 IDirect3DDevice9_CreateTexture(p, a, b, c, d, e, f, g, h)
IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9_iface
HRESULT WINAPI BaseControlWindowImpl_get_Top(IVideoWindow *iface, LONG *pTop)
static float(__cdecl *square_half_float)(float x
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_AllocateSurfaceHelper(IVMRSurfaceAllocatorNotify9 *iface, VMR9AllocationInfo *allocinfo, DWORD *numbuffers, IDirect3DSurface9 **surface)
IAMCertifiedOutputProtection IAMCertifiedOutputProtection_iface
GLsizei GLsizei GLchar * source
static ULONG WINAPI VMR7FilterConfig_Release(IVMRFilterConfig *iface)
#define IDirect3DDevice9_GetDeviceCaps(p, a)
static HRESULT WINAPI VMR7FilterConfig_GetRenderingPrefs(IVMRFilterConfig *iface, DWORD *renderflags)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
static HRESULT WINAPI VMR9MonitorConfig_SetMonitor(IVMRMonitorConfig9 *iface, UINT uDev)
HMONITOR WINAPI MonitorFromWindow(HWND, DWORD)
static HRESULT WINAPI VMR7FilterConfig_GetRenderingMode(IVMRFilterConfig *iface, DWORD *mode)
static struct quartz_vmr * impl_from_BaseControlVideo(BaseControlVideo *cvid)
static RECT WINAPI VMR9_GetDefaultRect(BaseWindow *This)
static HRESULT WINAPI VMR9WindowlessControl_GetNativeVideoSize(IVMRWindowlessControl9 *iface, LONG *width, LONG *height, LONG *arwidth, LONG *arheight)
HRESULT WINAPI BaseFilterImpl_QueryFilterInfo(IBaseFilter *iface, FILTER_INFO *pInfo)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
static HRESULT WINAPI VMR9SurfaceAllocatorNotify_ChangeD3DDevice(IVMRSurfaceAllocatorNotify9 *iface, IDirect3DDevice9 *device, HMONITOR monitor)
GLint GLint GLint GLint GLint GLint y
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
static HRESULT WINAPI VMR7MonitorConfig_SetMonitor(IVMRMonitorConfig *iface, const VMRGUID *pGUID)
static const IVMRSurfaceAllocatorEx9Vtbl VMR9_SurfaceAllocator
ULONG WINAPI BaseFilterImpl_AddRef(IBaseFilter *iface)
HRESULT WINAPI BaseControlVideoImpl_get_SourceTop(IBasicVideo *iface, LONG *pSourceTop)
HRESULT WINAPI BaseControlWindowImpl_put_Visible(IVideoWindow *iface, LONG Visible)
HRESULT WINAPI BaseFilterImpl_GetSyncSource(IBaseFilter *iface, IReferenceClock **ppClock)
static HRESULT VMR9_SurfaceAllocator_UpdateDeviceReset(VMR9DefaultAllocatorPresenterImpl *This)
static HRESULT WINAPI VMR9WindowlessControl_GetCurrentImage(IVMRWindowlessControl9 *iface, BYTE **dib)
#define D3DCREATE_MIXED_VERTEXPROCESSING
HRESULT WINAPI BaseControlVideoImpl_get_SourceWidth(IBasicVideo *iface, LONG *pSourceWidth)
#define IDirect3DSurface9_UnlockRect(p)
IDirect3DSurface9 ** d3d9_surfaces
static ULONG WINAPI VMR9WindowlessControl_AddRef(IVMRWindowlessControl9 *iface)
static HRESULT WINAPI VMR9FilterConfig_GetRenderingMode(IVMRFilterConfig9 *iface, DWORD *mode)
static ULONG WINAPI Videowindow_AddRef(IVideoWindow *iface)
static const IVMRSurfaceAllocatorNotify9Vtbl VMR9_SurfaceAllocatorNotify_Vtbl
#define D3DCREATE_HARDWARE_VERTEXPROCESSING
HRESULT WINAPI BaseControlWindowImpl_put_Height(IVideoWindow *iface, LONG Height)
HRESULT WINAPI BaseControlWindowImpl_put_WindowStyle(IVideoWindow *iface, LONG WindowStyle)
BOOL WINAPI CopyRect(_Out_ LPRECT, _In_ LPCRECT)
static struct quartz_vmr * impl_from_IAMFilterMiscFlags(IAMFilterMiscFlags *iface)
HRESULT VMR7Impl_create(IUnknown *outer_unk, LPVOID *ppv)
static struct quartz_vmr * impl_from_IVMRSurfaceAllocatorNotify(IVMRSurfaceAllocatorNotify *iface)
static struct quartz_vmr * impl_from_IVMRFilterConfig(IVMRFilterConfig *iface)
HRESULT WINAPI BaseFilterImpl_JoinFilterGraph(IBaseFilter *iface, IFilterGraph *pGraph, LPCWSTR pName)
static HRESULT WINAPI VMR9_BreakConnect(BaseRenderer *This)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationLeft(IBasicVideo *iface, LONG DestinationLeft)
static LPWSTR WINAPI VMR9_GetClassWindowStyles(BaseWindow *This, DWORD *pClassStyles, DWORD *pWindowStyles, DWORD *pWindowStylesEx)
#define GetProcAddress(x, y)
static VMR9DefaultAllocatorPresenterImpl * impl_from_IVMRImagePresenter9(IVMRImagePresenter9 *iface)
HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultDestination(IBasicVideo *iface)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
static HRESULT WINAPI VMR9MonitorConfig_GetDefaultMonitor(IVMRMonitorConfig9 *iface, UINT *uDev)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationWidth(IBasicVideo *iface, LONG DestinationWidth)
HRESULT WINAPI BaseControlWindowImpl_put_BorderColor(IVideoWindow *iface, LONG Color)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
#define IDirect3DDevice9_Present(p, a, b, c, d)
#define VFW_E_WRONG_STATE
#define IDirect3DSurface9_LockRect(p, a, b, c)
BaseControlWindow baseControlWindow
static const IVMRWindowlessControlVtbl VMR7_WindowlessControl_Vtbl
static HRESULT WINAPI VMR7FilterConfig_SetImageCompositor(IVMRFilterConfig *iface, IVMRImageCompositor *compositor)