Browse Source

d3d9: use the official typedef for DXVAHD_CreateDevice()

It doesn't exist in mingw so we define it in that case.
pull/144/head
Steve Lhomme 3 years ago
parent
commit
dd8297d27a
  1. 7
      modules/video_output/opengl/interop_dxva2.c
  2. 7
      modules/video_output/win32/direct3d9.c

7
modules/video_output/opengl/interop_dxva2.c

@ -286,8 +286,11 @@ static int InitRangeProcessor(struct vlc_gl_interop *interop, IDirect3DDevice9Ex
DXVAHD_VPCAPS *capsList = NULL;
IDXVAHD_Device *hd_device = NULL;
HRESULT (WINAPI *CreateDevice)(IDirect3DDevice9Ex *,const DXVAHD_CONTENT_DESC *,DXVAHD_DEVICE_USAGE,PDXVAHDSW_Plugin,IDXVAHD_Device **);
CreateDevice = (void *)GetProcAddress(sys->processor.dll, "DXVAHD_CreateDevice");
#ifdef __MINGW64_VERSION_MAJOR
typedef HRESULT (WINAPI* PDXVAHD_CreateDevice)(IDirect3DDevice9Ex *,const DXVAHD_CONTENT_DESC *,DXVAHD_DEVICE_USAGE,PDXVAHDSW_Plugin,IDXVAHD_Device **);
#endif
PDXVAHD_CreateDevice CreateDevice;
CreateDevice = (PDXVAHD_CreateDevice)GetProcAddress(sys->processor.dll, "DXVAHD_CreateDevice");
if (CreateDevice == NULL)
{
msg_Err(interop, "Can't create HD device (not Windows 7+)");

7
modules/video_output/win32/direct3d9.c

@ -1481,8 +1481,11 @@ static int InitRangeProcessor(vout_display_t *vd, const d3d9_format_t *d3dfmt,
DXVAHD_VPCAPS *capsList = NULL;
IDXVAHD_Device *hd_device = NULL;
HRESULT (WINAPI *CreateDevice)(IDirect3DDevice9Ex *,const DXVAHD_CONTENT_DESC *,DXVAHD_DEVICE_USAGE,PDXVAHDSW_Plugin,IDXVAHD_Device **);
CreateDevice = (void *)GetProcAddress(sys->processor.dll, "DXVAHD_CreateDevice");
#ifdef __MINGW64_VERSION_MAJOR
typedef HRESULT (WINAPI* PDXVAHD_CreateDevice)(IDirect3DDevice9Ex *,const DXVAHD_CONTENT_DESC *,DXVAHD_DEVICE_USAGE,PDXVAHDSW_Plugin,IDXVAHD_Device **);
#endif
PDXVAHD_CreateDevice CreateDevice;
CreateDevice = (PDXVAHD_CreateDevice)GetProcAddress(sys->processor.dll, "DXVAHD_CreateDevice");
if (CreateDevice == NULL)
{
msg_Err(vd, "Can't create HD device (not Windows 7+)");

Loading…
Cancel
Save