From 25e70f4743c44db59fe8fc902c93a966d95ba8c3 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 2 Oct 2019 19:21:12 +0200 Subject: video: remove vf_vavpp from automatic deinterlace property This reverts commit 6385a5fd1b8a67c051b82d48c993a6591e8f93c6, and in addition removes the code that automatically inserts the vavpp filter. The reason is the same as the commit that is being reverted: this filter seems to trigger driver bugs. It can cause GPU freezes or just doesn't work. This variant of disabling the filter is better. There was no way to add the "force" parameter to the automatically inserted filter, so the old approach just made manual filter insertion (with the --vf option or "vf" command) more cumbersome. --- filters/f_auto_filters.c | 3 --- video/filter/vf_vavpp.c | 9 --------- 2 files changed, 12 deletions(-) diff --git a/filters/f_auto_filters.c b/filters/f_auto_filters.c index 026eec6c3e..55ce7d8523 100644 --- a/filters/f_auto_filters.c +++ b/filters/f_auto_filters.c @@ -69,9 +69,6 @@ static void deint_process(struct mp_filter *f) char *args[] = {"deint", "yes", NULL}; p->sub.filter = mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "vdpaupp", args); - } else if (img->imgfmt == IMGFMT_VAAPI) { - p->sub.filter = - mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "vavpp", NULL); } else if (img->imgfmt == IMGFMT_D3D11) { p->sub.filter = mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "d3d11vpp", NULL); diff --git a/video/filter/vf_vavpp.c b/video/filter/vf_vavpp.c index 02bf783123..8c41ba8734 100644 --- a/video/filter/vf_vavpp.c +++ b/video/filter/vf_vavpp.c @@ -54,7 +54,6 @@ struct opts { int deint_type; int interlaced_only; int reversal_bug; - int force; }; struct priv { @@ -449,13 +448,6 @@ static struct mp_filter *vf_vavpp_create(struct mp_filter *parent, void *options p->queue = mp_refqueue_alloc(f); - if (!p->opts->force) { - MP_ERR(f, "This filter is disabled because it is known to cause GPU " - "lockups. This is a driver bug. You can override this by " - "passing force=yes as filter argument.\n"); - goto error; - } - p->av_device_ref = mp_filter_load_hwdec_device(f, AV_HWDEVICE_TYPE_VAAPI); if (!p->av_device_ref) goto error; @@ -490,7 +482,6 @@ static const m_option_t vf_opts_fields[] = { {"motion-compensated", 5})), OPT_FLAG("interlaced-only", interlaced_only, 0), OPT_FLAG("reversal-bug", reversal_bug, 0), - OPT_FLAG("force", force, 0), {0} }; -- cgit v1.2.3