mirror of
https://github.com/mpv-player/mpv
synced 2025-04-11 04:01:31 +00:00
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:
parent
b18a598444
commit
9b56bbecdf
@ -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,
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user