summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-10-02 19:21:12 +0200
committerwm4 <wm4@nowhere>2019-10-02 19:21:42 +0200
commit25e70f4743c44db59fe8fc902c93a966d95ba8c3 (patch)
treeeb27cf5b8bdb9a7f133c7215789e5f3e491d6010
parentbc03bc821410e55c1b26796a20282e9d749245dd (diff)
downloadmpv-25e70f4743c44db59fe8fc902c93a966d95ba8c3.tar.bz2
mpv-25e70f4743c44db59fe8fc902c93a966d95ba8c3.tar.xz
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.
-rw-r--r--filters/f_auto_filters.c3
-rw-r--r--video/filter/vf_vavpp.c9
2 files changed, 0 insertions, 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}
};