[vlc-commits] decoder device: the D3D9 device needs to store a IDirect3D9 and an adapter
Steve Lhomme
git at videolan.org
Wed Sep 18 15:58:24 CEST 2019
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Wed Jul 3 08:10:08 2019 +0200| [716f3ca06e2d7f310c1192377758bb80331e5292] | committer: Steve Lhomme
decoder device: the D3D9 device needs to store a IDirect3D9 and an adapter
So we use a structure for that.
Unlike D3D11, the IDirect3D9 isn't tied to an adapter, but to communicate with
external rendering it can only be done on the same adapter they use. So we need
both information.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=716f3ca06e2d7f310c1192377758bb80331e5292
---
include/vlc_codec.h | 2 +-
modules/video_chroma/d3d9_fmt.h | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/include/vlc_codec.h b/include/vlc_codec.h
index 55e24cb964..06ba7a6910 100644
--- a/include/vlc_codec.h
+++ b/include/vlc_codec.h
@@ -523,7 +523,7 @@ typedef struct vlc_decoder_device
* The type of pointer will depend of the type:
* VAAPI: VADisplay
* VDPAU: vdp_t *
- * DXVA2: IDirect3DDevice9*
+ * DXVA2: d3d9_decoder_device_t*
* D3D11VA: ID3D11DeviceContext*
* AWindow: android AWindowHandler*
* NVDEC: decoder_device_nvdec_t*
diff --git a/modules/video_chroma/d3d9_fmt.h b/modules/video_chroma/d3d9_fmt.h
index f35e4414c9..94fe506405 100644
--- a/modules/video_chroma/d3d9_fmt.h
+++ b/modules/video_chroma/d3d9_fmt.h
@@ -66,6 +66,12 @@ typedef struct
D3DCAPS9 caps;
} d3d9_device_t;
+typedef struct
+{
+ IDirect3D9 *device;
+ int adapter;
+} d3d9_decoder_device_t;
+
static inline bool is_d3d9_opaque(vlc_fourcc_t chroma)
{
switch (chroma)
More information about the vlc-commits
mailing list