vlc | branch: master | Steve Lhomme <[email protected]> | Mon Jul 8 15:07:55 2019 +0200| [37be1cdc62628cbe1098c26a3ac3b040357742de] | committer: Steve Lhomme
dxva2: do not keep a reference to the IDirectXVideoDecoder We already have a reference on the surface. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=37be1cdc62628cbe1098c26a3ac3b040357742de --- modules/codec/avcodec/dxva2.c | 5 ++--- modules/video_chroma/d3d9_fmt.h | 7 ------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/modules/codec/avcodec/dxva2.c b/modules/codec/avcodec/dxva2.c index 0d9520804d..aa9a8abf31 100644 --- a/modules/codec/avcodec/dxva2.c +++ b/modules/codec/avcodec/dxva2.c @@ -183,7 +183,7 @@ static picture_context_t *dxva2_pic_context_copy(picture_context_t *ctx) return &pic_ctx->ctx.s; } -static struct dxva2_pic_context *CreatePicContext(IDirect3DSurface9 *surface, IDirectXVideoDecoder *decoder) +static struct dxva2_pic_context *CreatePicContext(IDirect3DSurface9 *surface) { struct dxva2_pic_context *pic_ctx = calloc(1, sizeof(*pic_ctx)); if (unlikely(pic_ctx==NULL)) @@ -192,7 +192,6 @@ static struct dxva2_pic_context *CreatePicContext(IDirect3DSurface9 *surface, ID dxva2_pic_context_destroy, dxva2_pic_context_copy, }; pic_ctx->ctx.picsys.surface = surface; - pic_ctx->ctx.picsys.decoder = decoder; AcquireD3D9PictureSys(&pic_ctx->ctx.picsys); return pic_ctx; } @@ -200,7 +199,7 @@ static struct dxva2_pic_context *CreatePicContext(IDirect3DSurface9 *surface, ID static picture_context_t* NewSurfacePicContext(vlc_va_t *va, vlc_va_surface_t *va_surface) { vlc_va_sys_t *sys = va->sys; - struct dxva2_pic_context *pic_ctx = CreatePicContext(sys->hw_surface[va_surface_GetIndex(va_surface)], sys->hw.decoder); + struct dxva2_pic_context *pic_ctx = CreatePicContext(sys->hw_surface[va_surface_GetIndex(va_surface)]); if (unlikely(pic_ctx==NULL)) return NULL; pic_ctx->va_surface = va_surface; diff --git a/modules/video_chroma/d3d9_fmt.h b/modules/video_chroma/d3d9_fmt.h index 5dd312ceba..e6d0bd5bec 100644 --- a/modules/video_chroma/d3d9_fmt.h +++ b/modules/video_chroma/d3d9_fmt.h @@ -28,7 +28,6 @@ #define COBJMACROS #include <d3d9.h> -#include <dxva2api.h> #include "dxgi_fmt.h" @@ -36,8 +35,6 @@ typedef struct { IDirect3DSurface9 *surface; - /* decoder only */ - IDirectXVideoDecoder *decoder; /* keep a reference while the surface exist */ HINSTANCE dxva2_dll; } picture_sys_d3d9_t; @@ -130,16 +127,12 @@ static inline d3d9_video_context_t *GetD3D9ContextPrivate(vlc_video_context *vct static inline void AcquireD3D9PictureSys(picture_sys_d3d9_t *p_sys) { IDirect3DSurface9_AddRef(p_sys->surface); - if (p_sys->decoder) - IDirectXVideoDecoder_AddRef(p_sys->decoder); p_sys->dxva2_dll = LoadLibrary(TEXT("DXVA2.DLL")); } static inline void ReleaseD3D9PictureSys(picture_sys_d3d9_t *p_sys) { IDirect3DSurface9_Release(p_sys->surface); - if (p_sys->decoder) - IDirectXVideoDecoder_Release(p_sys->decoder); FreeLibrary(p_sys->dxva2_dll); } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
