diff options
author | wm4 <wm4@nowhere> | 2016-06-28 20:04:16 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-06-28 20:07:56 +0200 |
commit | 17c5738cb43382831407400312f0f0d4989d115c (patch) | |
tree | b82531fa0f5925b01353d34d23ba78a420fc4f34 /video/decode/d3d.c | |
parent | d5615102d5bce7c506279a2578a34da25f91301f (diff) | |
download | mpv-17c5738cb43382831407400312f0f0d4989d115c.tar.bz2 mpv-17c5738cb43382831407400312f0f0d4989d115c.tar.xz |
d3d: merge angle_common.h into d3d.h
OK, this was dumb. The file didn't have much to do with ANGLE, and the
functionality can simply be moved to d3d.c. That file contains helpers
for decoding, but can always be present (on Windows) since it doesn't
access any D3D specific libavcodec APIs. Thus it doesn't need to be
conditionally built like the actual hwaccel wrappers.
Diffstat (limited to 'video/decode/d3d.c')
-rw-r--r-- | video/decode/d3d.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/video/decode/d3d.c b/video/decode/d3d.c index 59d2a81664..5c65da469f 100644 --- a/video/decode/d3d.c +++ b/video/decode/d3d.c @@ -266,3 +266,15 @@ void copy_nv12(struct mp_image *dest, uint8_t *src_bits, buf.stride[1] = src_pitch; mp_image_copy_gpu(dest, &buf); } + +// Test if Direct3D11 can be used by us. Basically, this prevents trying to use +// D3D11 on Win7, and then failing somewhere in the process. +bool d3d11_check_decoding(ID3D11Device *dev) +{ + HRESULT hr; + // We assume that NV12 is always supported, if hw decoding is supported at + // all. + UINT supported = 0; + hr = ID3D11Device_CheckFormatSupport(dev, DXGI_FORMAT_NV12, &supported); + return !FAILED(hr) && (supported & D3D11_BIND_DECODER); +} |