summaryrefslogtreecommitdiffstats
path: root/filters/f_auto_filters.c
diff options
context:
space:
mode:
Diffstat (limited to 'filters/f_auto_filters.c')
-rw-r--r--filters/f_auto_filters.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/filters/f_auto_filters.c b/filters/f_auto_filters.c
index b37fd9d5f4..6fa38b96c2 100644
--- a/filters/f_auto_filters.c
+++ b/filters/f_auto_filters.c
@@ -88,12 +88,14 @@ static void deint_process(struct mp_filter *f)
bool has_filter = true;
if (img->imgfmt == IMGFMT_VDPAU) {
- char *args[] = {"deint", "yes", NULL};
+ char *args[] = {"deint", "yes",
+ "parity", field_parity, NULL};
p->sub.filter =
mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "vdpaupp", args);
} else if (img->imgfmt == IMGFMT_D3D11) {
+ char *args[] = {"parity", field_parity, NULL};
p->sub.filter =
- mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "d3d11vpp", NULL);
+ mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "d3d11vpp", args);
} else if (img->imgfmt == IMGFMT_CUDA) {
char *args[] = {"mode", "send_field",
"parity", field_parity, NULL};
@@ -106,7 +108,8 @@ static void deint_process(struct mp_filter *f)
mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "bwdif_vulkan", args);
} else if (img->imgfmt == IMGFMT_VAAPI) {
char *args[] = {"deint", "motion-adaptive",
- "interlaced-only", "yes", NULL};
+ "interlaced-only", "yes",
+ "parity", field_parity, NULL};
p->sub.filter =
mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "vavpp", args);
} else {