vlc | branch: master | Steve Lhomme <[email protected]> | Thu May 12 14:13:20 2016 +0200| [dc8f20db61781b129a3536556f96f85ce0e15e9d] | committer: Jean-Baptiste Kempf
d3d11va: fix winrt compilation Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dc8f20db61781b129a3536556f96f85ce0e15e9d --- modules/codec/Makefile.am | 3 +++ modules/codec/avcodec/d3d11va.c | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am index c04fcf6..c0f8d32 100644 --- a/modules/codec/Makefile.am +++ b/modules/codec/Makefile.am @@ -377,6 +377,9 @@ libd3d11va_plugin_la_SOURCES = \ video_chroma/dxgi_fmt.c video_chroma/dxgi_fmt.h \ packetizer/h264_nal.c packetizer/h264_nal.h libd3d11va_plugin_la_LIBADD = -lole32 -luuid +if HAVE_WINSTORE +libd3d11va_plugin_la_LIBADD += -ld3d11 +endif if HAVE_AVCODEC_D3D11VA codec_LTLIBRARIES += libd3d11va_plugin.la endif diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c index 9b3e72e..ed6733e 100644 --- a/modules/codec/avcodec/d3d11va.c +++ b/modules/codec/avcodec/d3d11va.c @@ -32,6 +32,9 @@ # include "config.h" #endif +# undef WINAPI_FAMILY +# define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP + #include <assert.h> #include <vlc_common.h> @@ -62,6 +65,10 @@ vlc_module_begin() set_callbacks(Open, Close) vlc_module_end() +#if VLC_WINSTORE_APP +#define pf_CreateDevice D3D11CreateDevice +#endif + #include <initguid.h> /* must be last included to not redefine existing GUIDs */ /* dxva2api.h GUIDs: http://msdn.microsoft.com/en-us/library/windows/desktop/ms697067(v=vs100).aspx @@ -347,7 +354,11 @@ static int Open(vlc_va_t *va, AVCodecContext *ctx, enum PixelFormat pix_fmt, } } - err = directx_va_Open(va, &sys->dx_sys, ctx, fmt, dx_sys->d3ddev==NULL || va->sys->d3dctx==NULL); +#if VLC_WINSTORE_APP + err = directx_va_Open(va, &sys->dx_sys, ctx, fmt, false); +#else + err = directx_va_Open(va, &sys->dx_sys, ctx, fmt, dx_sys->d3ddev == NULL || va->sys->d3dctx == NULL); +#endif if (err!=VLC_SUCCESS) goto error; @@ -393,6 +404,7 @@ static int D3dCreateDevice(vlc_va_t *va) return VLC_SUCCESS; } +#if !VLC_WINSTORE_APP /* */ PFN_D3D11_CREATE_DEVICE pf_CreateDevice; pf_CreateDevice = (void *)GetProcAddress(dx_sys->hdecoder_dll, "D3D11CreateDevice"); @@ -400,6 +412,7 @@ static int D3dCreateDevice(vlc_va_t *va) msg_Err(va, "Cannot locate reference to D3D11CreateDevice ABI in DLL"); return VLC_EGENERIC; } +#endif UINT creationFlags = D3D11_CREATE_DEVICE_VIDEO_SUPPORT; #if !defined(NDEBUG) //&& defined(_MSC_VER) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
