vlc | branch: master | Steve Lhomme <[email protected]> | Fri Nov 8 09:05:08 2019 +0100| [c791f6653273629adce513178c9376ead7ba3a78] | committer: Steve Lhomme
d3d9: check the input video context of filters matches the D3D9 chromas > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c791f6653273629adce513178c9376ead7ba3a78 --- modules/hw/d3d9/d3d9_filters.c | 2 ++ modules/hw/d3d9/dxa9.c | 2 ++ modules/hw/d3d9/dxva2_deinterlace.c | 7 ++----- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/hw/d3d9/d3d9_filters.c b/modules/hw/d3d9/d3d9_filters.c index 5261eec035..1769af8c6e 100644 --- a/modules/hw/d3d9/d3d9_filters.c +++ b/modules/hw/d3d9/d3d9_filters.c @@ -235,6 +235,8 @@ static int D3D9OpenAdjust(vlc_object_t *obj) if (filter->fmt_in.video.i_chroma != VLC_CODEC_D3D9_OPAQUE && filter->fmt_in.video.i_chroma != VLC_CODEC_D3D9_OPAQUE_10B) return VLC_EGENERIC; + if ( GetD3D9ContextPrivate(filter->vctx_in) == NULL ) + return VLC_EGENERIC; if (!video_format_IsSimilar(&filter->fmt_in.video, &filter->fmt_out.video)) return VLC_EGENERIC; diff --git a/modules/hw/d3d9/dxa9.c b/modules/hw/d3d9/dxa9.c index 64021a9036..45f4449308 100644 --- a/modules/hw/d3d9/dxa9.c +++ b/modules/hw/d3d9/dxa9.c @@ -292,6 +292,8 @@ int D3D9OpenConverter( vlc_object_t *obj ) if ( p_filter->fmt_in.video.i_chroma != VLC_CODEC_D3D9_OPAQUE && p_filter->fmt_in.video.i_chroma != VLC_CODEC_D3D9_OPAQUE_10B ) return VLC_EGENERIC; + if ( GetD3D9ContextPrivate(p_filter->vctx_in) == NULL ) + return VLC_EGENERIC; if ( p_filter->fmt_in.video.i_height != p_filter->fmt_out.video.i_height || p_filter->fmt_in.video.i_width != p_filter->fmt_out.video.i_width ) diff --git a/modules/hw/d3d9/dxva2_deinterlace.c b/modules/hw/d3d9/dxva2_deinterlace.c index 4bee6dad12..7bc28700aa 100644 --- a/modules/hw/d3d9/dxva2_deinterlace.c +++ b/modules/hw/d3d9/dxva2_deinterlace.c @@ -352,6 +352,8 @@ int D3D9OpenDeinterlace(vlc_object_t *obj) if (filter->fmt_in.video.i_chroma != VLC_CODEC_D3D9_OPAQUE && filter->fmt_in.video.i_chroma != VLC_CODEC_D3D9_OPAQUE_10B) return VLC_EGENERIC; + if ( GetD3D9ContextPrivate(filter->vctx_in) == NULL ) + return VLC_EGENERIC; if (!video_format_IsSimilar(&filter->fmt_in.video, &filter->fmt_out.video)) return VLC_EGENERIC; @@ -364,11 +366,6 @@ int D3D9OpenDeinterlace(vlc_object_t *obj) goto error; d3d9_video_context_t *vtcx_sys = GetD3D9ContextPrivate( filter->vctx_in ); - if (!vtcx_sys) - { - msg_Dbg(filter, "Filter without a context"); - goto error; - } d3d9_decoder_device_t *d3d9_decoder = GetD3D9OpaqueContext( filter->vctx_in ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
