vo_opengl: hwdec: remove build-dependency on dxva2

wscript builds hwdec_dxva2gldx.c if gl-dxinterop is enabled, while
video/dxva2.c depends on d3d-hwaccel. If d3d-hwaccel is disabled, then
hwdec_dxva2gldx.c will fail to link, because it uses
d3d9_surface_in_mp_image(), defined in dxva2.c.

Fix this by removing the use of this function. It has barely any value
at this point anyway. Just use the libavcodec documented way to get the
surface directly.

Fixes #3150.
This commit is contained in:
wm4 2016-05-17 10:59:11 +02:00
parent b18a598444
commit 9b56bbecdf
2 changed files with 2 additions and 4 deletions

View File

@ -28,7 +28,6 @@
#include "osdep/timer.h"
#include "osdep/windows_utils.h"
#include "hwdec.h"
#include "video/dxva2.h"
#include "video/hwdec.h"
struct priv {
@ -292,7 +291,7 @@ static int map_frame(struct gl_hwdec *hw, struct mp_image *hw_image,
HRESULT hr;
RECT rc = {0, 0, hw_image->w, hw_image->h};
IDirect3DSurface9* hw_surface = d3d9_surface_in_mp_image(hw_image);
IDirect3DSurface9* hw_surface = (IDirect3DSurface9 *)hw_image->planes[3];
hr = IDirect3DDevice9Ex_StretchRect(p->device9ex,
hw_surface, &rc,
p->surface9, &rc,

View File

@ -22,7 +22,6 @@
#include "osdep/windows_utils.h"
#include "hwdec.h"
#include "video/hwdec.h"
#include "video/dxva2.h"
// for WGL_ACCESS_READ_ONLY_NV
#include <GL/wglext.h>
@ -182,7 +181,7 @@ static int map_frame(struct gl_hwdec *hw, struct mp_image *hw_image,
return -1;
}
IDirect3DSurface9* hw_surface = d3d9_surface_in_mp_image(hw_image);
IDirect3DSurface9* hw_surface = (IDirect3DSurface9 *)hw_image->planes[3];
RECT rc = {0, 0, hw_image->w, hw_image->h};
hr = IDirect3DDevice9Ex_StretchRect(p->device,
hw_surface, &rc,