summaryrefslogtreecommitdiffstats
path: root/DOCS/man/en/vf.rst
Commit message (Collapse)AuthorAgeFilesLines
* vf_vapoursynth: allow parallel processingwm42014-05-141-8/+20
| | | | | | | | VapourSynth won't just filter multiple frames at once on its own. You have to request multiple frames at once manually. This is what this commit introduces: a sub-option controls how many frames will be requested at once. This also changes the semantics of the maxbuffer sub- option, now renamed to buffered-frames.
* manpage: fix vf_scale optionswm42014-05-041-9/+11
|
* manpage: document vf_vdpauppwm42014-05-021-0/+49
|
* vf_vapoursynth: use frame durations instead of _AbsoluteTimewm42014-04-281-2/+2
| | | | | | | | | | | | | Set _DurationNum/_DurationDen on each VS frame, instead of _AbsoluteTime. The duration is the difference between the timestamp of the frame and the next frame, and when receiving filtered VS frames, we convert them back to an absolute PTS by summing them. We pass the timestamps with microsecond resolution. mpv uses double for timestamps internally, so we don't know the "real" timebase or FPS. VS on the other hand uses fractions for frame durations. We can't pass through the numbers exactly, but microseconds ought to be enough to be even safe from accumulating rounding errors.
* vf_rotate: support all multiples of 90 degreeswm42014-04-211-9/+2
| | | | | | | | | | | | | This couldn't rotate by 180°. Add this, and also make the parameter in degrees, instead of magic numbers. For now, drop the flipping stuff. You can still flip with --vf=flip or --vf=mirror. Drop the landscape/portrait stuff - I think this is something almost nobody will use. If it turns out that we need some of these things, they can be readded later. Make it use libavfilter. Its vf_transpose implementation looks pretty simple, except that it uses slice threading and should be much faster.
* vf_vapoursynth: wipe vapoursynth state completely on reloadingwm42014-04-141-4/+1
| | | | | | | | Before this commit, the filter attempted to keep the vsscript state (p->se) even when the script was reloaded. Change it to destroy the script state too on reloading. Now no workaround for LoadPlugin is necessary, and this also fixes a weird theoretical race condition when destroying and recreating the mpv source filter.
* manpage: vf_vapoursynth: document what happens on seekingwm42014-04-131-0/+8
| | | | Unfortunately, reloading on seeking causes real problems.
* video: add VapourSynth filter bridgewm42014-04-121-0/+47
| | | | | | | | | | | | Mainly meant to apply simple VapourSynth filters to video at runtime. This has various restrictions, which are listed in the manpage. Additionally, this actually copies video frames when converting frame references from mpv to VapourSynth, and a second time when going from VapourSynth to mpv. This is inefficient and could probably be easily improved. But for now, this is simpler, and in fact I'm not sure if we even can references VapourSynth frames after the core has been destroyed.
* manpage: fix --vf=scale optionsJames Ross-Gowan2014-04-111-3/+3
|
* vf_delogo: remove internal implementationwm42014-03-161-5/+0
| | | | See previous commit.
* manpage: fix vf_noise parameter namewm42013-12-301-2/+2
|
* manpage: fix --vf=expand aspect ratio exampleAlessandro Ghedini2013-12-161-1/+1
|
* manpage: remove some --flip leftoverswm42013-12-071-1/+1
|
* manpage: remove unhelpful paragraph about video filter paramswm42013-12-041-5/+0
| | | | | | This makes it sound like -1 would work to set the default for any parameter. But this is just a (crappy) convention, which doesn't work always.
* manpage: remove two stray video fitler deprecation noteswm42013-12-041-10/+0
| | | | | | | | vf_stereo3d now uses vf_lavfi, if mpv was compiled with libavfilter. vf_swapuv is hereby undeprecated. It's too trivial to wrap it with libavfilter, and it's also too useless that even typing this commit message is not really worth the time to spend on it.
* vf_pp: use option parserwm42013-12-041-3/+8
|
* vf_dsize: use option parserwm42013-12-041-1/+4
| | | | | | | Mostly backwards compatible, we don't change much because we just want to get rid of the legacy option string handling. You can't pass an aspect as first argument anymore.
* video/filter: remove vf_down3drightwm42013-12-041-8/+0
| | | | | | | | Apparently you can get this with: stereo3d=ab[2]{l,r}:sbs[2]{l,r} So it seems the filter is redundant and can be removed. Also see FFmpeg commit 2f11aa141a01.
* vf_pullup: change options, reroute to vf_lavfiwm42013-12-041-1/+1
| | | | The options are probably mostly backwards compatible.
* vf_unsharp: change options, reroute to vf_lavfiwm42013-12-041-14/+6
|
* vf_phase: change options, reroute to vf_lavfiwm42013-12-041-1/+1
| | | | The option change is probably backwards compatible.
* vf_noise: reroute to vf_lavfiwm42013-12-041-11/+20
| | | | | | | | Unfortunately, this forces filtering both luma and chroma, because otherwise we'd have to deal with libavfilter's vf_noise weird handling of YUV vs. RGB formats. Would we e.g. filter luma only, it would filter red in RGB mode only, because it goes by component and there's no way to distinguish YUV and RGB by just using the filter's options.
* vf_hqdn3d: change options, reroute to vf_lavfiwm42013-12-041-5/+0
|
* vf_gradfun: reroute to vf_lavfiwm42013-12-041-6/+6
| | | | | Also update the manpage. We changed defaults and added a suboption quite some time ago, and we forgot to update the manpage at all.
* vf_delogo: reroute to vf_lavfiwm42013-12-041-6/+4
| | | | The ``file`` suboption is unsupported on lavfi.
* vf_yadif: change options, reroute to vf_lavfiwm42013-12-041-11/+14
| | | | | | Also remove the ability to disable deinterlacing at runtime. You can still disable deinterlacing at runtime by using the ``D`` key and its automatical filter insertion/removal.
* vf_lavfi: export a wrapper functionwm42013-12-041-2/+2
| | | | | | | | | | | This will allow old filter to run libavfilter instead by calling vf_lw_set_graph(), which turns the filter into a wrapper, using a given libavfilter graph. Later commits use that to automatically "reroute" a bunch of filters to libavfilter. We want to get rid of the old MPlayer filter code, because it's bad an unmaintained, but we still don't want to force everyone to use vf_lavfi, so this solution will do for a while.
* options: add options that set defaults for af/vf/ao/vowm42013-12-011-0/+6
| | | | | | | | There are some use cases for this. For example, you can use it to set defaults of automatically inserted filters (like af_lavrresample). It's also useful if you have a non-trivial VO configuration, and want to use --vo to quickly change between the drivers without repeating the whole configuration in the --vo argument.
* options: implement --pphelp differentlywm42013-11-231-1/+1
| | | | Make it work via --vf=pp:help instead.
* Fixing list of vo's that vavpp works with, in man page.Josh Driver2013-11-221-4/+4
|
* vaapi: add vf_vavpp and use it for deinterlacingxylosper2013-09-251-0/+17
| | | | | | | | Merged from pull request #246 by xylosper. Minor cosmetic changes, some adjustments (compatibility with older libva versions), and manpage additions by wm4. Signed-off-by: wm4 <wm4@nowhere>
* vf_scale: use new swscale wrapperwm42013-07-181-6/+0
|
* manpage: proofread and fix formattingMartin Herkt2013-07-081-327/+347
|
* manpage: mark some filters as deprecated in favor of libavfilterwm42013-05-261-0/+29
| | | | | | | | This is basically a "do not use" label. We don't remove them yet, because we still support FFmpeg releases where we can not use libavfilter for various reasons. Also, Libav causes pain as usual due to the lack of ported mplayer filters in its codebase, so not all filters will be available there.
* vf_lavfi: allow setting avoptswm42013-05-261-1/+9
|
* options: allow using [ ] for quoting in sub-optionswm42013-04-261-6/+13
| | | | | | This is an attempt to make quoting of sub-option values less awkward, even if it works only with some shells. This is needed mainly for vf_lavfi. Also update the vf_lavfi manpage section.
* m_option: allow quoted positional parameters for -vfwm42013-04-231-1/+2
| | | | | | | | | This allows things like: '--vf=lavfi="gradfun=20:30"' Adjust the documentation for vf_lavfi to make the example less verbose. As an unrelated change, add a general description to vf_lavfi.
* vf_lavfi: add libavfilter bridgewm42013-04-211-0/+31
| | | | | | | | | | | | | | | | | Requires recent FFmpeg/Libav git versions. Earlier versions will not be supported, as the API is different. (A libavfilter version that uses AVFrame instead of AVFilterBuffer is needed.) Note that this is sort of useless, because the option parser prevents you from making use of the full libavfilter graph syntax. This has to be fixed later. Most of the filter creation code (half of the config() function) has been taken from avplay.c. This code is not based on MPlayer's vf_lavfi. The MPlayer code doesn't compile as it hasn't been updated through multiple libavfilter API changes, making it completely useless as a starting point.
* vf_yadif: switch to option parser, allow disabling by defaultwm42013-02-231-6/+5
| | | | | | | | | Use the option parser instead of sscanf. Remove the parameter changing the field dominance (it has been marked deprecated for ages). Add a new suboption "enabled", which can be used to disable the filter by default, until it's enabled at runtime: mpv -vf yadif=enabled=no
* vf_scale: remove video dimension presets ("presize" suboption)wm42013-02-231-11/+1
| | | | | This wasn't really useful, and the option preset mechanism is awfully complex.
* screenshot: minor simplification, prefer VF over VOwm42013-01-301-3/+0
| | | | | | | | | | | | | Remove screenshot_force and associated logic. Always try to use the screenshot video filter before trying taking screenshots with the VO, which means that --vf=screenshot now takes the role of --vf=screenshot_force. (To make this clear, not adding a video filter is still the recommended way to take screenshots; we just change how VF screenshots are forced.) Preferring VO over VF and having --vf=screenshot_force used to make sense when not all VOs supported screenshots, and some VOs had somewhat broken screenshots (like vo_xv taking screenshots with OSD in it). But all these issues are fixed now, so just get rid of the cruft.
* manpage: fix places that still treat FourCCs and pixel formats equalwm42013-01-171-10/+10
| | | | | | | | | | | | | | | The video filter chain traditionally used FourCCs for pixel formats. This was recently changed, but some parts of the manpage were not updated properly. Now there are two rypes of options: some which take a FourCC (as used with raw video formats), and some which take a symbolic format identifier (as used in the video filter chain). I realize that it's harder to specify FourCC for RGB formats now (TV stuff may need RGB). They use non-printable characters as part of the FourCC, and have to be specified as hexadecimal numbers (instead of a symbolic identifier). Because I can't be bothered to find out what these numbers are for the respective formats, just remove the old pseudo-FourCCs from the documentation.
* options: move -ass-bottom-margin/-ass-top-margin options to vf_subwm42012-12-121-1/+9
| | | | | These options might be useful sometimes, but they are not that important, and work with vf_sub only. Make them vf_sub sub-options.
* manpage: remove --zoom remainswm42012-11-241-3/+0
| | | | The --zoom option has been removed, and is always active.
* video/filter: rename vf_eq2 to vf_eqwm42012-11-161-1/+1
| | | | | vf_eq was deleted earlier, which makes the name vf_eq2 even more awkward.
* manpage: various fixeswm42012-11-161-3/+4
|
* VF: rename vf_ass to vf_subwm42012-10-241-2/+2
| | | | | | | | | | | | This reflects the fact that this filter now renders all types of subtitles, not just ASS subtitles. Always compile this filter, not just on CONFIG_ASS. Note that --no-ass still disables auto-inserting this filter. It's the only way to disable auto-insertion, so keep it even though it's not really ASS specific anymore. --no-ass also disables using libass for rendering text subs directly.
* VO, sub: refactorwm42012-10-241-3/+3
| | | | | | | | | | | | | | | | | | Remove VFCTRL_DRAW_OSD, VFCAP_EOSD_FILTER, VFCAP_EOSD_RGBA, VFCAP_EOSD, VOCTRL_DRAW_EOSD, VOCTRL_GET_EOSD_RES, VOCTRL_QUERY_EOSD_FORMAT. Remove draw_osd_with_eosd(), which rendered the OSD by calling VOCTRL_DRAW_EOSD. Change VOs to call osd_draw() directly, which takes a callback as argument. (This basically works like the old OSD API, except multiple OSD bitmap formats are supported and caching is possible.) Remove all mentions of "eosd". It's simply "osd" now. Make OSD size per-OSD-object, as they can be different when using vf_sub. Include display_par/video_par in resolution change detection. Fix the issue with margin borders in vo_corevideo.
* Remove useless video filterswm42012-10-031-649/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of these have very limited actual use, or are even entirely useless. They only serve to bloat the codebase and to make life harder. Drowning users in tons of barely useful filters isn't exactly helpful either. Some of these filters were redundant or marked as obsolete. The dlopen and lua (to be added soon) video filters provide ways to add custom filters. Detailed listing for each filter with reasons (with contributions from divVerent and lachs0r): 1bpp: Replaced by "scale". 2xsai: Pixel art scaling algorithm, useless with lossy video. blackframe: Not very useful. Apparently one use is combining it with scripts, that pass the bmovl: Weirdly complex and insane (using FIFO commands), questionable use. cropdetect: Only sort-of useful when used with scripts, and then it will be very fragile. It's probably better to use the dlopen rectangle filter, or to implement the common use-case in a better way. decimate: Not needed/useful with modern video codecs, is an encoding-only filter. denoise3d: "hqdn3d" is better. detc: Some of the worse deteleciners. dint: Useless, actually crashes. (On an assert in vf.c that is disabled by default in mplayer-svn.) dvbscale: Not even practical, and the same effect can be achieved through other means. eq: Worse/older version of eq2. field: Limited use, available as dlopen filter. fil: Quoting the manpage: This filter is very similar to the il filter but much faster, the main disadvantage is that it does not always work. Especially if combined with other filters it may produce randomly messed up images, so be happy if it works but do not complain if it does not for your combination of filters. filmdint: Kind of redundant with pullup, and slightly worse. fixpts: Never useful. (Most if not all filters have been fixed for PTS.) framestep: Questionable use. For things like creating thumbnails, ffmpeg or --sstep should be used. geq: Limited use, will be redundant with the "lua" filter. halfpack: Useless, probably redundant with "scale". harddup: Useless. hue: Most VOs support this. il: Useless. ivtc: Another of the worse deteleciners. kerndeint: A bad deinterlacer. lavc: For DVB output devices. We removed that support. lavcdeint: A bad deinterlacer, was already deprecated. Still available as --vf=pp=fd. mcdeint: A broken deinterlacer that uses lavc internals. ow: Very slow, barely any quality benefit over "hqdn3d". palette: Done by "scale". perspective: Files with incorrect perspective are extremely rare. About the only real-world use for this is keystone correction, which is usually done in hardware by the projector or by graphics drivers/compositors. pp7: Another useless postprocessing filter with bad and complicated code. Use libpostprocess with "pp" instead. qp: Useless. remove-logo: Redundant with delogo, which is better and more practical. rgbtest: Useless. sab, smartblur, boxblur: Blur filters, redundant to "unsharp". softskip: Does nothing. spp, fspp, uspp: Useless postprocessing filters. "spp" needs ffmpeg internals. "fspp" is the optimized version of the "spp" filter (???), while "uspp" is the slow version (????). Use libpostprocess with "pp" instead. telecine: Evil and useless. Available as dlopen filter for testing purposes. test: Useless. tfields: Useless, probably. tile: Questionable use. Available as dlopen filter. tinterlace: Evil and useless. yuvcsp: Probably useless. yvu9: Redundant with "scale". Also remove the following left-over files: vd_null.c, vqf.h
* vf_dlopen: add a generic filter to load external filtersRudolf Polzer2012-08-231-0/+20
| | | | | | Usage: -vf dlopen=filename.so:args... Examples of such filters are provided in TOOLS/vf_dlopen/
* vf_expand: remove OSD supportwm42012-08-161-41/+2
| | | | | | | | It's not clear why this video filter supported OSD rendering. The manpage says: "Can be used for placing subtitles/OSD in the resulting black bands." But every single VO already does this if vf_expand adds black borders. This feature is 100% pointless.
* man: update documentation related to screenshotswm42012-08-021-16/+10
|
* manpage: merge new manpagewm42012-08-021-0/+1452
About a year ago, ubitux converted most of the old manpage from the hard to maintain nroff format to reStructuredText. This was not merged back into the master repository immediately. The argument was that the new manpage still required work to be done. However, progress was very slow. Even worse: the old manpage wasn't updated, because it was scheduled for deletion, and updating it would have meant useless work. Now the situation is that the new manpage still isn't finished, and the old manpage is grossly out of sync with the player. This is not helpful for users. Additionally, keeping the new manpage in a separate branch, while the normal development repository for code had the old manpage, was very inconvenient, because you couldn't just update the documentation in the same commit as the code. Even though the new manpage isn't finished yet, merging it now seems to be the best course of action. Squash-merge the manpage development branch [1], revision e89f5dd3f2, which branches from the mplayer2 master branch after revision 159102e0cb. Committers: * Clément Bœsch <ubitux@gmail.com> (Initial conversion to RST.) * Uoti Urpala <uau@mplayer2.org> (Many updates.) * Myself (Minor edits.) Most text of the manpage has been directly taken from the old manpage, because this is a conversion, not a complete rewrite. [1] http://git.mplayer2.org/uau/mplayer2.git/log/?h=man