From dd408e68ed57fa5130bef976751e58a5d6e42f75 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 30 Jun 2017 12:27:15 +0200 Subject: d3d: make DXVA2 support optional This partially reverts the change from a longer time ago to always build DXVA2 and D3D11VA together. To make it simpler, we change the following: - building with ANGLE headers is now required to build D3D hwaccels - if DXVA2 is enabled, D3D11VA is still forcibly built - the CLI vo_opengl ANGLE backend is now under --egl-angle-win32 This is done to reduce the dependency mess slightly. --- wscript | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'wscript') diff --git a/wscript b/wscript index 3fbcf1db88..99263b7ee5 100644 --- a/wscript +++ b/wscript @@ -619,7 +619,7 @@ video_output_features = [ check_statement('d3d9.h', 'IDirect3D9Ex *d')) } , { 'name': '--egl-angle', - 'desc': 'OpenGL Win32 ANGLE Backend', + 'desc': 'OpenGL ANGLE headers', 'deps_any': [ 'os-win32', 'os-cygwin' ], 'groups': [ 'gl' ], 'func': check_statement(['EGL/egl.h', 'EGL/eglext.h'], @@ -635,6 +635,12 @@ video_output_features = [ '-DANGLE_NO_ALIASES', '-DANGLE_EXPORT='], lib=['EGL', 'GLESv2', 'dxguid', 'd3d9', 'gdi32', 'stdc++']) + }, { + 'name': '--egl-angle-win32', + 'desc': 'OpenGL Win32 ANGLE Backend', + 'deps': [ 'egl-angle', 'win32-desktop' ], + 'groups': [ 'gl' ], + 'func': check_true, } , { 'name': '--vdpau', 'desc': 'VDPAU acceleration', @@ -736,7 +742,7 @@ video_output_features = [ 'name': 'egl-helpers', 'desc': 'EGL helper functions', 'deps_any': [ 'egl-x11', 'mali-fbdev', 'rpi', 'gl-wayland', 'egl-drm', - 'egl-angle' ], + 'egl-angle-win32' ], 'func': check_true } ] @@ -794,13 +800,14 @@ hwaccel_features = [ ' ? 1 : -1]', use='libav'), }, { + # (conflated with ANGLE for easier deps) 'name': '--d3d-hwaccel', - 'desc': 'DXVA2 and D3D11VA hwaccel', - 'deps': [ 'win32-desktop' ], + 'desc': 'D3D11VA hwaccel (plus ANGLE)', + 'deps': [ 'os-win32', 'egl-angle' ], 'func': check_true, }, { 'name': '--d3d-hwaccel-new', - 'desc': 'DXVA2 and D3D11VA hwaccel (new API)', + 'desc': 'D3D11VA hwaccel (new API)', 'func': check_statement('libavcodec/version.h', 'int x[(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(58, 4, 0) && ' ' LIBAVCODEC_VERSION_MICRO < 100) ||' @@ -809,6 +816,17 @@ hwaccel_features = [ ' ? 1 : -1]', use='libav'), 'deps': [ 'd3d-hwaccel' ], + }, { + 'name': '--d3d9-hwaccel', + 'desc': 'DXVA2 hwaccel (plus ANGLE)', + 'deps': [ 'd3d-hwaccel', 'egl-angle-win32' ], + 'func': check_true, + }, { + 'name': '--gl-dxinterop-d3d9', + 'desc': 'OpenGL/DirectX Interop Backend DXVA2 interop', + 'deps': [ 'gl-dxinterop', 'd3d9-hwaccel' ], + 'groups': [ 'gl' ], + 'func': check_true, }, { 'name': '--cuda-hwaccel', 'desc': 'CUDA hwaccel', -- cgit v1.2.3