From 830f0aed97da7257e1cbe30a367144bc51ec52d2 Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 12 Feb 2018 18:23:22 +0100 Subject: video: make --deinterlace and HW deinterlace filters always deinterlace Before this, we made deinterlacing dependent on the video codec metadata (AVFrame.interlaced_frame for libavcodec). So even if --deinterlace=yes was set, we skipped deinterlacing if the flag wasn't set. This is very unreliable and there are many streams with flags incorrectly set. The potential problem is that this might upset people who alwase enabled deinterlace and hoped it worked. But it's likely these people were screwed by this setting anyway. The new behavior is less tricky and easier to understand, and this preferable. Maybe one day we could introduce a --deinterlace=auto, which does the right thing, but of course this would be hard to implement (esecially with hwdec). Fixes #5219. --- filters/f_auto_filters.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'filters') diff --git a/filters/f_auto_filters.c b/filters/f_auto_filters.c index b9f32026d5..08a0320560 100644 --- a/filters/f_auto_filters.c +++ b/filters/f_auto_filters.c @@ -76,7 +76,7 @@ static void deint_process(struct mp_filter *f) p->sub.filter = mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "d3d11vpp", NULL); } else if (mp_sws_supports_input(img->imgfmt)) { - char *args[] = {"mode", "send_field", "deint", "interlaced", NULL}; + char *args[] = {"mode", "send_field", NULL}; p->sub.filter = mp_create_user_filter(f, MP_OUTPUT_CHAIN_VIDEO, "yadif", args); } else { -- cgit v1.2.3