diff options
author | Steve Lhomme <robux4@gmail.com> | 2015-07-26 13:35:47 +0200 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2015-07-26 20:18:03 +0300 |
commit | 9b4b96c0dee90d260891ec765b28f6ca15594340 (patch) | |
tree | 06344db14e1b64da32d062ca6743e6396718ad08 /libavcodec | |
parent | 4d0d55cd623bcd504867f948849380f6b4060b4d (diff) | |
download | ffmpeg-9b4b96c0dee90d260891ec765b28f6ca15594340.tar.gz |
force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to be able to use dxva.h
The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.
Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.
The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/dxva2_internal.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/dxva2_internal.h b/libavcodec/dxva2_internal.h index 3b651a42bc..7155123b5d 100644 --- a/libavcodec/dxva2_internal.h +++ b/libavcodec/dxva2_internal.h @@ -27,6 +27,9 @@ #include "config.h" +/* define the proper COM entries before forcing desktop APIs */ +#include <objbase.h> + #if CONFIG_DXVA2 #include "dxva2.h" #endif @@ -34,6 +37,12 @@ #include "d3d11va.h" #endif #if HAVE_DXVA_H +/* When targeting WINAPI_FAMILY_PHONE_APP or WINAPI_FAMILY_APP, dxva.h + * defines nothing. Force the struct definitions to be visible. */ +#undef WINAPI_FAMILY +#define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP +#undef _CRT_BUILD_DESKTOP_APP +#define _CRT_BUILD_DESKTOP_APP 0 #include <dxva.h> #endif |