diff options
Diffstat (limited to 'video/filter')
-rw-r--r-- | video/filter/vf_vavpp.c | 4 | ||||
-rw-r--r-- | video/filter/vf_vdpaupp.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/video/filter/vf_vavpp.c b/video/filter/vf_vavpp.c index ec39772865..4e39affd41 100644 --- a/video/filter/vf_vavpp.c +++ b/video/filter/vf_vavpp.c @@ -391,8 +391,10 @@ static int vf_open(vf_instance_t *vf) vf->control = control; struct vf_priv_s *p = vf->priv; + if (!vf->hwdec) + return false; hwdec_request_api(vf->hwdec, "vaapi"); - p->va = vf->hwdec ? vf->hwdec->vaapi_ctx : NULL; + p->va = vf->hwdec->hwctx ? vf->hwdec->hwctx->vaapi_ctx : NULL; if (!p->va || !p->va->display) return false; p->display = p->va->display; diff --git a/video/filter/vf_vdpaupp.c b/video/filter/vf_vdpaupp.c index 05cabf7998..4db6ab9186 100644 --- a/video/filter/vf_vdpaupp.c +++ b/video/filter/vf_vdpaupp.c @@ -222,8 +222,10 @@ static int vf_open(vf_instance_t *vf) vf->control = control; vf->uninit = uninit; + if (!vf->hwdec) + return 0; hwdec_request_api(vf->hwdec, "vdpau"); - p->ctx = vf->hwdec ? vf->hwdec->vdpau_ctx : NULL; + p->ctx = vf->hwdec->hwctx ? vf->hwdec->hwctx->vdpau_ctx : NULL; if (!p->ctx) return 0; |