vlc | branch: master | Steve Lhomme <[email protected]> | Thu Jul 11 09:44:40 2019 +0200| [9154d195797dbdd1cd5ec6fe6643c8e857cfe08a] | committer: Steve Lhomme
d3d11va: only use the module if the decoder device matches In the future we may allow decoding on the same adapter but create a new IDirect3D11Device with decoding capabilities if that's not the case. It may not work anyway. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9154d195797dbdd1cd5ec6fe6643c8e857cfe08a --- modules/codec/avcodec/d3d11va.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c index 34b53c35ff..7a6f762fe9 100644 --- a/modules/codec/avcodec/d3d11va.c +++ b/modules/codec/avcodec/d3d11va.c @@ -295,12 +295,11 @@ static int Open(vlc_va_t *va, AVCodecContext *ctx, const AVPixFmtDescriptor *des D3D11_ReleaseDevice(&sys->d3d_dev); vlc_video_context_Release( sys->vctx ); sys->vctx = NULL; - } else { - sys->hw.video_context = d3dvidctx; - d3d11_video_context_t *priv = GetD3D11ContextPrivate(sys->vctx); - priv->device = sys->d3d_dev.d3dcontext; - ID3D11DeviceContext_Release(priv->device); + /* TODO we can try all adapters to see if there's one that can decode */ + goto error; } + + sys->hw.video_context = d3dvidctx; } } @@ -311,6 +310,10 @@ static int Open(vlc_va_t *va, AVCodecContext *ctx, const AVPixFmtDescriptor *des goto error; } + d3d11_video_context_t *priv = GetD3D11ContextPrivate(sys->vctx); + priv->device = sys->d3d_dev.d3dcontext; + ID3D11DeviceContext_Release(priv->device); + struct va_pool_cfg pool_cfg = { D3dCreateDevice, DxDestroySurfaces, _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
