From 8f2ccba71bb44cceb43436cbbabd6e42fc71925c Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 22 Aug 2017 19:08:07 +0200 Subject: video: change --deinterlace behavior This removes all GPL only code from it, and that's the whole purpose. Also happens to be much simpler. The "deinterlace" option still sort of exists, but only as runtime changeable option. The main change in behavior is that the property will not report back the actual deint state. Or in other words, if inserting or initializing the filter fails, the deinterlace property will still return "yes". This is in line with most recent behavior changes to properties and options. --- DOCS/interface-changes.rst | 15 +++++++++++++++ DOCS/man/input.rst | 6 ------ DOCS/man/options.rst | 13 +++++++------ 3 files changed, 22 insertions(+), 12 deletions(-) (limited to 'DOCS') diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst index 17e9997c57..5fdfa2e162 100644 --- a/DOCS/interface-changes.rst +++ b/DOCS/interface-changes.rst @@ -44,6 +44,21 @@ Interface changes deprecation was to make sure no API user gets broken by a sudden behavior change) - remove previously deprecated vf_eq + - remove that hardware deinterlace filters (vavpp, d3d11vpp, vdpaupp) + changed their deinterlacing-enabled setting depending on what the + --deinterlace option or property was set to. Now, a filter always does + what its filter options and defaults imply. The --deinterlace option and + property strictly add/remove its own filters. For example, if you run + "mpv --vf=vavpp --deinterlace=yes", this will insert another, redundant + filter, which is probably not what you want. For toggling a deinterlace + filter manually, use the "vf toggle" command, and do not set the + deinterlace option/property. To customize the filter that will be + inserted automatically, use the "@deinterlace" filter label with + --vf-defaults. Details how this works will probably change in the future. + - remove deinterlace=auto (this was not deprecated, but had only a very + obscure use that stopped working with the change above. It was also + prone to be confused with a feature not implemented by it: auto did _not_ + mean that deinterlacing was enabled on demand.) --- mpv 0.26.0 --- - remove remaining deprecated audio device options, like --alsa-device Some of them were removed in earlier releases. diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst index b612e04b48..1bc033ea00 100644 --- a/DOCS/man/input.rst +++ b/DOCS/man/input.rst @@ -2167,12 +2167,6 @@ caveats with some properties (due to historical reasons): Option changes at runtime are affected by this as well. -``deinterlace`` - While video is active, this behaves differently from the option. It will - never return the ``auto`` value (but the state as observed by the video - chain). If you set ``auto``, the property will set this as the option value, - and will return the actual video chain state as observed instead of auto. - ``video-aspect`` While video is active, always returns the effective aspect ratio. Setting a special value (like ``no``, values ``<= 0``) will make the property diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index d4b8261fb6..598fe8084c 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -966,8 +966,8 @@ Video Works in ``--no-correct-pts`` mode only. -``--deinterlace=`` - Enable or disable interlacing (default: auto, which usually means no). +``--deinterlace=`` + Enable or disable interlacing (default: no). Interlaced video shows ugly comb-like artifacts, which are visible on fast movement. Enabling this typically inserts the yadif video filter in order to deinterlace the video, or lets the video output apply deinterlacing @@ -976,10 +976,11 @@ Video This behaves exactly like the ``deinterlace`` input property (usually mapped to ``d``). - ``auto`` is a technicality. Strictly speaking, the default for this option - is deinterlacing disabled, but the ``auto`` case is needed if ``yadif`` was - added to the filter chain manually with ``--vf``. Then the core shouldn't - disable deinterlacing just because the ``--deinterlace`` was not set. + Keep in mind that this **will** conflict with manually inserted + deinterlacing filters, unless you take care. (Since mpv 0.27.0, even the + hardware deinterlace filters will conflict. Also since that version, + ``--deinterlace=auto`` was removed, which used to mean that the default + interlacing option of possibly inserted video filters was used.) ``--frames=`` Play/convert only first ```` video frames, then quit. -- cgit v1.2.3