summaryrefslogtreecommitdiffstats
path: root/DOCS/man
Commit message (Collapse)AuthorAgeFilesLines
* sws_utils: use zimg by default if availablewm42020-02-121-6/+5
| | | | | This seems stable enough to use. Change the default, and remove it from the sw-fast profile.
* manpage: add some blabla about zimg speed vs. libswscalewm42020-02-101-1/+10
| | | | | Of course nobody will read this. I'm just putting it there so I can blame users, who run into problems, for not having read it.
* vf_format: add w, h parameterswm42020-02-091-0/+4
| | | | Yes, this thing became vf_scale through the back door.
* player: add ab-loop-count option/propertywm42020-02-081-0/+8
| | | | | | | | | | | | As requested I guess. It behaves quite similar to the --loop* options. Not quite happy with the idea that 1) the option is mutated on each operation (but at least it's consistent with --loop* and doesn't require more properties), and 2) the ab-loop command will do nothing once all loop iterations are done. As a concession, the OSD shows something about "disabled". Fixes: #7360
* mac: activate logging when started from the bundleder richter2020-02-081-0/+3
| | | | | | | | | | this creates a default log for the last mpv run when started from the bundle. that way one can get a log of what happened even after an issue occurred. also add a menu entry under Help to show the current log, but only when the bundle is used. Fixes #7396 Fixes #2547
* DOCS: js: minor update for requireAvi Halachmi (:avih)2020-02-071-5/+5
|
* js: require: directory-scripts: first look at <dir>/modules/Avi Halachmi (:avih)2020-02-071-1/+4
| | | | | Also, add the function mp.get_script_directory() to let scripts know if they're loaded as a directory and where.
* js: require: don't use ~~/scripts/modules.js/Avi Halachmi (:avih)2020-02-071-11/+20
| | | | | | | | | Directories inside ~~/scripts/ are now loaded as scripts, so don't use it also for modules. Now there are no default module paths. To compensate, we now try to run ~~/.init.js right after defaults.js, so the user may extend the js init procedure via this script, e.g. for adding default paths to mp.module_paths .
* command: add cache-duration to cache state propertywm42020-02-071-0/+3
| | | | Convenience; see following commit.
* demux: add option to disable "sharing" between back and forward bufferswm42020-02-071-1/+14
| | | | | | | As requested. I guess option name and manpage text could be better and clearer. Closes: #7442
* options: disable vsfilter blur compat by defaultwm42020-02-071-1/+1
| | | | | | | | | | | | | | | | | | | See #7435 and related for context. Basically, it seems that while the original vsfilter processed subtitles like with this option set to "yes", many current players (mpc-hc default, vlc, probably most libass users) treat them like with "no". In the linked issue, this makes rendering severely slower, and can consume a lot of memory (or just overflow libass memory calculations). It seems that changing this to "no" will lead to more good than bad, especially because newer subtitles may be authored for the "no" behavior. Most libass users seem to use "no" exactly because they do not call ass_set_storage_size() at all. This API was needed because the scaling of the subtitles depends on the video size (vsfilter bugs, or something). In addition, it's my personal opinion that rendering should not depend on the video at all, so I like setting the default of this to "no".
* lua: add mp.get_script_directory() functionwm42020-02-041-5/+16
| | | | And add some clarifications/suggestions to the manpage.
* manpage: --sub-codepage cannot do muxed subswm42020-02-011-0/+5
| | | | | mpv actually used to be able to, from what I remember, but this was changed for simplicity and because of problems with FFmpeg.
* lua: set package path if loaded from a script directorywm42020-02-012-10/+43
| | | | | | And document the shit. This uses code from commit bc1c024ae032e5b5c.
* wayland: remove wayland-frame-wait-offset optiondudemanguy2020-01-311-9/+0
| | | | | | | | | | | | | | | | | This originally existed as a hack for weston. In certain scenarios, a frame taking too long to render would cause vo_wayland_wait_frame to timeout which would result in a ton of dropped frames. The naive solution was to just to add a slight delay to the time value. If a frame took too long, it would likely to fall under the timeout value and all was well. This was exposed to the user since the default delay (1000) was completely arbitrary. However with presentation time, this doesn't appear to be neccesary. Fresh frames that take longer than the display's refresh rate (16.666 ms in most cases) behave well in Weston. In the other two main compositors without presentation time (GNOME and Plasma), they also do not experience any ill effects. It's better not to overcomplicate things, so this "feature" can be removed now.
* manpage: update force dedicated gpu on macOS optionder richter2020-01-271-1/+1
| | | | was forgotten in commit 3275cd0
* scripting: make player error when attempting to load unknown scriptswm42020-01-191-3/+4
| | | | | | It's ridiculous that --script=something.dumb does not cause an error. Make it error, and extend this behavior to the scripts/ sub-dir in the mpv config dir.
* command: add osd-dimensions propertywm42020-01-081-0/+31
| | | | | | | | | | | This "bundles" all OSD properties. It also makes some previously Lua-only values available (Lua has mp.get_osd_margins(), unsure if anything uses it). The main intention is actually to allow retrieving all fields in an "atomic" way. (Could introduce a mechanism on the level of the mpv client API to do this, but doing ti ad-hoc all the time like this commit is easier.)
* options: change option parsing when using a single dashwm42020-01-071-4/+10
| | | | | | | | | | | | | Addresses dumb things like accidentally overwriting a media file with e.g. "mpv --log-file test.mkv" (when the user thought that --log-file was a flag option, when it actually takes a filename). This example will now print an error. It still works with "-log-file overwritten.mkv", but prints a warning. Not sure if I'm being too careful or not "radical" enough. In any case, both the syntax that stops working and the syntax that produces a warning now have been discouraged and were called legacy for almost a decade.
* manpage: explain deprecated usage of multiple items with *-addDave2020-01-071-6/+9
|
* libarchive: some shitty hack to make opening slightly fasterwm42020-01-041-0/+12
| | | | | | | | See manpage additions. The libarchive behavior mentioned in the last paragraph there is technically unrelated, but makes this new option mostly pointless. See: #7182
* manpage: update discussion of nvidia hardware accelerationPhilip Langdale2019-12-291-26/+25
| | | | | The text here has become somewhat outdated over the years, and it's worth updating to reflect the current situation.
* video: cuda: add explicit context creation for copy hwaccelsPhilip Langdale2019-12-291-8/+9
| | | | | | | | | | | | | | | | | | | | | In the distant past, the cuviddec backed copy hwaccel could be configured directly using lavc options. However, since that time, we gained support for automatic hw ctx creation which ended up bypassing the lavc options. Rather than trying to find a way to pass those options again, a better idea is to make the 'cuda-decode-device' option, used by the interop hwaccels, work for the copy hwaccels too. And that's pretty simple: we have to add a create function that checks the option and passes it on to ffmpeg. Note that this does require a slight re-jig to the configuration flags, as we now have a scenario where we want to build with support for the cuda copy hwaccels but not the interop ones. So we need a distinct configuration flag for that combination. Fixes #7295.
* command: add a playlist-unshuffle commandwm42019-12-281-0/+6
| | | | | | Has a number of restrictions. See: #2491, #7294
* manpage: fix example in --hwdec sectionwm42019-12-241-1/+3
|
* vd_lavc: more hwdec autoselect nonsensewm42019-12-241-4/+36
| | | | | | | | | | | | | Add an "auto-safe" mode, mostly triggered by Ubuntu's nonsense to force hwdec=vaapi in the global config file in their mpv package. But to be honest it's probably something more people want. This is implemented as explicit whitelist. On Windows, HEVC/Intel is sometimes broken, but it's still whitelisted, and in theory we'd need a detailed whitelist of device names etc. (like for example browsers tend to do). On OSX, videotoolbox is a pretty bad choice, but unfortunately the only one, so it's whitelisted too. There may be a larger number of hwdec wrappers that work anyway, and I'm for example ignoring Android.
* js: support mp.create_osd_overlay (match 07287262)Avi Halachmi (:avih)2019-12-231-0/+4
| | | | | The legacy mp.set_osd_ass(...) is still supported (but also still undocumented) as a wrapper for the new mp.create_osd_overlay(...).
* osc: add option to disable santa hatNicolas F2019-12-231-0/+5
| | | | | | | | | | A minority of users have expressed a dislike of hats, calling them "cancer [that] don't belong in software" describing the people who add them as "shitty circlejerks" and "chucklefuck." While I personally disagree with those opinions, it's probably easier to let them have it their way. For that reason this adds the option `greenandgrumpy` to the osc, which allows users to disable the hat.
* client API, lua: add new API for setting OSD overlayswm42019-12-232-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | Lua scripting has an undocumented mp.set_osd_ass() function, which is used by osc.lua and console.lua. Apparently, 3rd party scripts also use this. It's probably time to make this a public API. The Lua implementation just bypassed the libmpv API. To make it usable by any type of client, turn it into a command, "osd-overlay". There's already a "overlay-add". Ignore it (although the manpage admits guiltiness). I don't really want to deal with that old command. Its main problem is that it uses global IDs, while I'd like to avoid that scripts mess with each others overlays (whether that is accidentally or intentionally). Maybe "overlay-add" can eventually be merged into "osd-overlay", but I'm too lazy to do that now. Scripting now uses the commands. There is a helper to manage OSD overlays. The helper is very "thin"; I only want to force script authors to use the ID allocation, which may help with putting multiple scripts into a single .lua file without causing conflicts (basically, avoiding singletons within a script's environment). The old set_osd_ass() is emulated with the new API. The JS scripting wrapper also provides a set_osd_ass() function, which calls internal mpv API. Comment that part (to keep it compiling), but I'm leaving it to @avih to finish the change.
* manpage: document that --vo=xv breaks "boxvideo"wm42019-12-231-0/+3
| | | | (OK, maybe a bit redundant, since vo=xv breaks a lot of stuff.)
* js: read_options: on_update: don't re-read the config fileAvi Halachmi (:avih)2019-12-221-1/+1
| | | | | | | | | | | | | Now that 00af718a made the lua read_options behavior much more similar to the js behavior, the main difference was that lua does not re-read the config file at on_update (but it does re-apply its stored content) while js did re-read it. Now the js on_update also does not re-read the config file and instead applies its stored original content. This is slightly hacky by adding an undocumented optional 4th argument to read_options which allows overriding the config file content.
* lua: change runtime option change behaviorwm42019-12-221-0/+6
| | | | | | | | | | | | As described in the manpage changes. This makes more sense than the previous approach, where options could "unexpectedly" stick. Although this is still a somewhat arbitrary policy (ask many people and you'd get a number of different expectations on what should happen), I think that it reflects what mpv's builtin stuff does. All the copying is annoying, but let's just hope nobody is stupid enough to change these properties per video frame or something equally ridiculous.
* video/out/x11: add fs-screen fallbackNicolas F2019-12-221-2/+2
| | | | | | | | | | | | | Apparently there are two different options for controlling which screen an mpv window goes onto: --fs-screen and --screen. The former explicitly only controls which screen a fullscreened window goes onto, but does not appear to actually care about this option at runtime for X11, so pressing f will always fullscreen to the screen mpv is currently on. This means the option is of questionable usefulness for starters. Making it worse, if you use --screen=1 --fs, mpv will actually fullscreen on screen 0, because --fs-screen isn't set. Instead of doing that, fall back to whatever --screen is set to.
* js: read_options: support on_update (match 478a321d)Avi Halachmi (:avih)2019-12-211-1/+2
| | | | | | | | | | | | | This is a bit different than the lua code: on script-opts change it simply re-applies the conf-file and script-opts to the options object, and if this results in any changed value at options then on_update is called with the changelist as argument. This allows a value to revert back to the conf-file value if the matching script-opts key had a different value and then got deleted. It also guarantees to call back whenever the options object is modified, which the lua code doesn't do (e.g. if the caller changed a value and the observer changed it back - it won't detect a change).
* lua: add a helper for runtime script option changeswm42019-12-201-2/+9
| | | | | A script can use this to easily get runtime updates. (Even if script-opts is sort of clunky.)
* manpage: add osc and console default keys to keyboard control sectionwm42019-12-201-0/+6
| | | | | | Although they were not undocumented, they were hidden away in the respective manpage sections. It's a good idea to add them to the main keyboard bindings overview too. stats.lua also did this.
* console: use hidpi scale reportingwm42019-12-201-1/+4
| | | | | | | | I decided to factor this into the user's scale option (instead of somehow using it as default if the user has not specified it), because it makes the option handling simpler, and won't break things like per-screen DPI if the user only wants to scale the console font by a factor.
* command: add property returning hidpi scalewm42019-12-201-0/+6
|
* demux: add an option to control tag charsetwm42019-12-201-0/+13
| | | | | | Fucking gross that you need this in almost-2020. Fixes: #7255
* js: require: allow custom module search paths via mp.module_pathsAvi Halachmi (:avih)2019-12-191-0/+8
|
* DOCS: js: minor update for modules/requireAvi Halachmi (:avih)2019-12-191-7/+10
|
* manpage: lua: mention what happens on unavailable propertieswm42019-12-191-0/+4
| | | | Kind of as big one if the user unexpectedly gets nil instead of a value.
* command, lua: add a way to share data between scriptswm42019-12-181-0/+22
| | | | | | | | | Very primitive and dumb, but fulfils its purpose for the next commits. I chose this specific implementation because it has the lowest footprint in command.c, without resorting to crazy hacks such as sending messages between scripts (which would be hard to coordinate especially on startup).
* options: deprecate -del for list optionswm42019-12-183-6/+6
| | | | | | I never liked that these used integer indexes. -remove should have existed from the start. This deprecation is yet another empty threat, though.
* options: add -remove action to list optionswm42019-12-183-5/+24
| | | | | | Actually I wanted this for key/value lists only, but add it to the others for consistency too. (For vf/af it barely makes even sense, but anyway.)
* options: make keys in key/value lists uniquewm42019-12-181-0/+3
| | | | | | | | | | | | | | I don't even know anymore whether this was intended or not. Certain use cases for the "-o" options might require this. These options are for passing general FFmpeg options. These are translated to av_opt_set() calls, which may or may not accumulate the option values on multiple calls with the same option name (how should I know?). Anyway, it seems crazy to allow non-unique keys, so make them unique. The ad-hoc nature of the option code makes this wonderfully complicated (when I wrote that this code is cursed, I meant it). In combination with lazy testing, it probably means there are lots of bugs here.
* options: increase consistency between list options and document themwm42019-12-184-30/+125
| | | | | | | | | | | | | | | | | | | | Whenever I deal with this, I have to look at the code to make sense of this. And beyond that, there are some strange inconsistencies. (I think this code is cursed. It always was, and maybe always will be.) Although the manpage claimed that using multiple items for -add etc. is deprecated, string list options didn't warn against it. So add the warning, and add something in the changelog (even though nobody will ever read this). The manpage mentioned --vf-append, but this didn't even exist. So add it, I guess. We encourage using -append for the other option types, so for consistency, it should work on filter options. (And I already tricked me into believing it existed when I mentioned it in the manpage.) Make the "operations" table separate for all option types, and mention the option type on every single of the top-level list options.
* command: change "window-scale" property behaviorwm42019-12-161-4/+14
| | | | | | | | | This is similar to the "edition" change. I considered making this go through deprecation, but didn't have a good idea how to do that. Maybe it's fine, because this is pretty obscure. But it might break some API users/scripts (it certainly broke stats.lua), and all I have to say is sorry for that.
* command: change "edition" property behaviorwm42019-12-161-5/+12
| | | | | | | | | See manpage/changelog changes. The purpose of this change is to removes another case of inconsistent property behavior. At first I wanted to make this go through deprecation before making a technically incompatible change, but then I considered this feature too obscure as that anyone would care.
* mac: remove Apple Remote supportder richter2019-12-152-7/+0
| | | | | | the Apple Remote has long been deprecated and abandoned by Apple. current macs don't come with support for it anymore. support might be re-added with the next commit.
* manpage: fix --vulkan-async-compute default valuewm42019-12-121-2/+2
| | | | | | | | | | Seems like this was silently changed to enabled by default on the change to libplacebo, without adjusting the manpage. Fix the documented default. Also add a comment about Nvidia; see referenced issue. Fixes: #7245
* console.lua: add this scriptJames Ross-Gowan2019-12-083-0/+112
| | | | | | | | | | | | | | | | | | | | | Merged from mpv-repl git repo commit 5ea2bf64f9c239f0326b02. Some changes were made on top of it: - Tabs were converted to 4 spaces indentation (plus some manual indentation fixes in some places). - All user-visible mentions of "repl" were renamed to "console". - The README was converted to a manpage (with heavy changes, some additions taken from stats.rst; rossy converted the key bindings table to RST). - The method to change the default key binding was changed. - Change minor detail about "font" default value setting (not a functional change). - Integrate into the player as builtin script, including an option to prevent loading it. Above changes and commit message done by wm4. Signed-off-by: wm4 <wm4@nowhere>
* DOCS: fix wayland-frame-wait offset value rangedudemanguy2019-12-051-1/+1
| | | | It actually goes down to -500 not -100.
* osc: rework window control configuration to add auto modePhilip Langdale2019-12-041-1/+7
| | | | | | | | | | | | | | | | To aid in discoverability, and to address the most common case directly, I'm adding an 'auto' mode for the window controls. In this case, we will show the controls if there is no window border and hide them if there are borders. This also respects the option being toggled at runtime. To ensure that it works in the wayland case, I've also made sure that the wayland code explicitly forces the option to false if decoration support is missing. Based on feedback, I've split the config in two, with one option for whether controls are active, and one for alignment. These are new enough that we can get away with ignoring compatibility.
* demux: do not make up demuxer_idwm42019-12-031-1/+5
| | | | | | | | | | | | | | | | | | The demuxer_id (exported in as "src-id" property) is supposed to be the native stream ID, as it exists in the file, or -1 if that does not exist (actually any negative value), or if it is unknown. Until now, an ID was made up if it was missing. That seems like strange non-sense, and I can't find the reason why it was done. But it was probably for convenience by the EDL stuff or so. Stop doing this. Fortunately, the src-id property was documented as being unavailable if the ID is not known. Even the code for this was present, it was just inactive until now. Extend input.rst with some explanations. Also fixing 3 other places where negative demuxer_id was ignored or avoided.
* vf_gpu: render subtitleswm42019-11-301-3/+3
| | | | | | | Pretty annoying affair. The vo_gpu code could of course not trigger rendering from filters yet, so it needed to be extended. Also, this uses some icky stuff made for vf_sub (and this was the reason I marked vf_sub as deprecated), so everything is terrible.