summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/interface-changes.rst3
-rw-r--r--DOCS/man/options.rst2
-rw-r--r--DOCS/man/vf.rst8
-rw-r--r--filters/f_auto_filters.c2
-rw-r--r--video/filter/vf_d3d11vpp.c2
-rw-r--r--video/filter/vf_vavpp.c2
-rw-r--r--video/filter/vf_vdpaupp.c2
7 files changed, 13 insertions, 8 deletions
diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst
index 24bf3fc0c2..c0ec882719 100644
--- a/DOCS/interface-changes.rst
+++ b/DOCS/interface-changes.rst
@@ -72,6 +72,9 @@ Interface changes
will probably stall.
- deprecate the OpenGL cocoa backend, option choice --gpu-context=cocoa
when used with --gpu-api=opengl (use --vo=opengl-cb)
+ - make --deinterlace=yes always deinterlace, instead of trying to check
+ certain unreliable video metadata. Also flip the defaults of all builtin
+ HW deinterlace filters to always deinterlace.
--- mpv 0.28.0 ---
- rename --hwdec=mediacodec option to mediacodec-copy, to reflect
conventions followed by other hardware video decoding APIs
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index c12453ae5f..e51f564490 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -1036,6 +1036,8 @@ Video
``--deinterlace=auto`` was removed, which used to mean that the default
interlacing option of possibly inserted video filters was used.)
+ Note that this will make video look worse if it's not actually interlaced.
+
``--frames=<number>``
Play/convert only first ``<number>`` video frames, then quit.
diff --git a/DOCS/man/vf.rst b/DOCS/man/vf.rst
index 9537b09597..17df70f920 100644
--- a/DOCS/man/vf.rst
+++ b/DOCS/man/vf.rst
@@ -488,8 +488,8 @@ Available mpv-only filters are:
mpv bugs.
``<interlaced-only>``
- :no: Deinterlace all frames.
- :yes: Only deinterlace frames marked as interlaced (default).
+ :no: Deinterlace all frames (default).
+ :yes: Only deinterlace frames marked as interlaced.
``reversal-bug=<yes|no>``
:no: Use the API as it was interpreted by older Mesa drivers. While
@@ -544,7 +544,7 @@ Available mpv-only filters are:
Try to apply inverse telecine, needs motion adaptive temporal
deinterlacing.
``interlaced-only=<yes|no>``
- If ``yes`` (default), only deinterlace frames marked as interlaced.
+ If ``yes``, only deinterlace frames marked as interlaced (default: no).
``hqscaling=<0-9>``
0
Use default VDPAU scaling (default).
@@ -558,7 +558,7 @@ Available mpv-only filters are:
``deint=<yes|no>``
Whether deinterlacing is enabled (default: no).
``interlaced-only=<yes|no>``
- If ``yes`` (default), only deinterlace frames marked as interlaced.
+ If ``yes``, only deinterlace frames marked as interlaced (default: no).
``mode=<blend|bob|adaptive|mocomp|ivctc|none>``
Tries to select a video processor with the given processing capability.
If a video processor supports multiple capabilities, it is not clear
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 {
diff --git a/video/filter/vf_d3d11vpp.c b/video/filter/vf_d3d11vpp.c
index fb96a44e65..6ba1996da3 100644
--- a/video/filter/vf_d3d11vpp.c
+++ b/video/filter/vf_d3d11vpp.c
@@ -532,7 +532,7 @@ const struct mp_user_filter_entry vf_d3d11vpp = {
.priv_size = sizeof(OPT_BASE_STRUCT),
.priv_defaults = &(const OPT_BASE_STRUCT) {
.deint_enabled = 1,
- .interlaced_only = 1,
+ .interlaced_only = 0,
.mode = D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB,
},
.options = vf_opts_fields,
diff --git a/video/filter/vf_vavpp.c b/video/filter/vf_vavpp.c
index 608f1eea6f..598997ca24 100644
--- a/video/filter/vf_vavpp.c
+++ b/video/filter/vf_vavpp.c
@@ -475,7 +475,7 @@ const struct mp_user_filter_entry vf_vavpp = {
.priv_size = sizeof(OPT_BASE_STRUCT),
.priv_defaults = &(const OPT_BASE_STRUCT){
.deint_type = 2,
- .interlaced_only = 1,
+ .interlaced_only = 0,
.reversal_bug = 1,
},
.options = vf_opts_fields,
diff --git a/video/filter/vf_vdpaupp.c b/video/filter/vf_vdpaupp.c
index 3b10e13421..fe3a903558 100644
--- a/video/filter/vf_vdpaupp.c
+++ b/video/filter/vf_vdpaupp.c
@@ -180,7 +180,7 @@ static const m_option_t vf_opts_fields[] = {
OPT_FLOATRANGE("denoise", opts.denoise, 0, 0, 1),
OPT_FLOATRANGE("sharpen", opts.sharpen, 0, -1, 1),
OPT_INTRANGE("hqscaling", opts.hqscaling, 0, 0, 9),
- OPT_FLAG("interlaced-only", interlaced_only, 0, OPTDEF_INT(1)),
+ OPT_FLAG("interlaced-only", interlaced_only, 0),
{0}
};