summaryrefslogtreecommitdiffstats
path: root/etc
Commit message (Collapse)AuthorAgeFilesLines
* DOCS: update notes about new profilesKacper Michajłow2023-09-201-3/+8
|
* builtin.conf: modernize internal profilesKacper Michajłow2023-09-191-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal is to provide simple to understand quality/performance level profiles for the users. Instead of default and gpu-hq profile. There main profiles were added: - fast: can run on any hardware - default: balanced profile between quality and performance - high-quality: out of the box high quality experience. Intended mostly for dGPU. Summary of three profiles, including default one: [fast] scale=bilinear cscale=bilinear (implicit) dscale=bilinear dither=no correct-downscaling=no linear-downscaling=no sigmoid-upscaling=no hdr-compute-peak=no [default] (implicit mpv defaults) scale=lanczos cscale=lanczos dscale=mitchell dither-depth=auto correct-downscaling=yes linear-downscaling=yes sigmoid-upscaling=yes hdr-compute-peak=yes [high-quality] (inherits default options) scale=ewa_lanczossharp cscale=ewa_lanczossharp (implicit) hdr-peak-percentile=99.995 hdr-contrast-recovery=0.30 allow-delayed-peak-detect=no deband=yes scaler-lut-size=8
* {zsh,bash}-completion: use config when autocompleting profilesPhilip Langdale2023-09-032-3/+12
| | | | | | | | We were over-enthusiastic when introducing --no-config into the autocompletions. When autocompleting profiles, you actually need the config, because that's where the profiles come from. zsh is untested - I don't use it.
* {zsh,bash}-completion: add missing --no-config flagsNiklas Haas2023-09-022-6/+6
| | | | | | Seemingly forgotten, even though the intent was to add them. Fixes: 15252e13d5bb367a8f86ffbc5474488b841dc96c
* builtin.conf: add --allow-delayed-peak-detect=no to gpu-hqNiklas Haas2023-09-011-0/+1
| | | | | | | | Prevents transient brightness spikes on scene transitions at the cost of sometimes forcing an extra indirect pass (in particular, when downscaling). But on GPUs powerful enough to run gpu-hq, the extra indirect pass shouldn't matter too much. This option mostly exists for weak iGPUs.
* input.conf: swap wheel up/down with wheel left/rightNiklas Haas2023-08-291-4/+4
| | | | | | | | | Wheel being seek by default is very unintuitive and surprising to a lot of users. It seems to be one of the things most consistently complained about in the default UI. I change this on all of my devices, and so do many others. It's trivial for users who like the old behavior to change it back.
* player: rename --sub-forced-only to --sub-forced-events-onlyDudemanguy2023-08-292-2/+2
| | | | | | | | The old name is pretty bad and users mistakenly think it has something to do with selecting forced subtitles (that would be --subs-fallback-forced). Instead of giving it such a generic name, make it clearer that this has to do specifically with forced sub events which is only relevant for a small minority of subtitles.
* input: add new keys: Back, Tools, ZoomIn, ZoomOutJames Cuzella2023-08-231-0/+2
| | | | | | | | | | | | | | | | | These were the only keys missing to support mapping all keycodes on a [popular RF Remote][1] used with Linux HTPC apps. Note that X11/XWayland + xkbcomp still warns about keycodes > 255, due to the 8-bit limit in Xorg but `mpv` on Wayland is able to handle these. For X11 users, there are [a couple options][2]: - [Gianni Ceccarelli's patched `xf86-input-evdev`][3] - [Use udev hwdb to map scancodes to keycodes][4] [1]: https://www.mythtv.org/wiki/Air_mouse_rf_remote [2]: https://unix.stackexchange.com/a/436233/7688 [3]: https://www.thenautilus.net/SW/xf86-input-evdev/ [4]: https://wiki.archlinux.org/title/Map_scancodes_to_keycodes
* builtin.conf: add --hdr-peak-percentile=99.995 to gpu-hqNiklas Haas2023-08-041-0/+1
| | | | | | This is higher quality but comes with a slight performance hit, especially for weaker iGPUs, so I don't want to enable it out of the box even when --hdr-compute-peak=auto.
* build: remove outdated generated directoryDudemanguy2023-07-311-0/+20
| | | | | | | | | | | | | | | | This only existed as essentially a workaround for meson's behavior and to maintain compatibility with the waf build. Since waf put everything in a generated subdirectory, we had to put make a subdirectory called "generated" in the source for meson so stuff could go to the right place. Well now we don't need to do that anymore. Move the meson.build files around so they go in the appropriate place in the subdirectory of the source tree and change the paths of the headers accordingly. A couple of important things to note. 1. mpv.com now gets made in build/player/mpv.com (necessary because of a meson limitation) 2. The macos icon generation path is shortened to TOOLS/osxbundle/icon.icns.inc.
* {zsh,bash}-completion: run mpv with --no-configsfan52023-07-192-2/+2
| | | | | | | Reading the config when we're just interested in the option list (not sure why mpv does that anyway) only has the potential to mess this process up when it prints errors or the user has funny options like msg-level or log-file set, so avoid doing so.
* bash-completion: do not complete removed optionssfan52023-07-191-3/+6
|
* zsh-completion: do not complete removed optionssfan52023-07-191-0/+4
|
* builtin.conf: add --hdr-contrast-recovery to gpu-hqNiklas Haas2023-07-181-0/+1
| | | | The first change to the gpu-hq profile in aeons.
* builtin.conf: unset default languages in libmpv and encode profilesrcombs2023-07-181-0/+6
| | | | The `auto` behavior doesn't really make sense in these contexts.
* input: update ctrl+h to toggle `auto-safe` rather than `auto`Philip Langdale2023-07-141-1/+1
| | | | | | | | | | | | | It has been odd that ctrl+h toggles `auto` for hwdecs even though we always recommend people start with `auto-safe`, and `auto` will attempt various hwdecs that can fail so badly we can't fall back to software decoding. With the change to more exhaustively attempt to use hwdecs, it is now easier to get into situations where these fragile hwdecs will get attempted in basic scenarios, like pressing ctrl+h. So it is high time to default to `auto-safe`.
* mpv.desktop: add Russian translation for GenericNameOlesyaGerasimenko2023-06-081-1/+2
| | | | | Added Russian translation for "GenericName", updated Russian translation for "Comment".
* stream: accept webdav:// and webdavs:// urlsAlby2023-01-311-1/+1
| | | | | | Treat them as http:// and https:// respectively. This allows to play files on webdav archives directly on KDE, avoiding the (extremely slow) local copying performed by kio.
* mpv.metainfo.xml: add XDG appstream metadata manifestVitaly Zaitsev2022-09-091-0/+29
|
* mpv.desktop: add RIST protocol to desktop entryThe-head-obamid2022-08-181-1/+1
|
* mpv.desktop: add japanese translationDudemanguy2022-04-211-0/+3
|
* mpv.desktop: add turkish translationOğuz Ersen2022-04-081-0/+3
|
* Revert "options: add --sub-visibility=<primary-only|secondary-only>"Avi Halachmi (:avih)2022-01-191-0/+1
| | | | | | | | | | This reverts commit 04f0b0abe48d664aaa1400d1dddb02b434999b85. It's not a good idea to unify the names only for visibility, while keeping secondary-* for everything else. This needs a bit more thought before we allow secondary sub to be visible on its own.
* options: add --sub-visibility=<primary-only|secondary-only>Ripose2022-01-191-1/+0
| | | | | | | | | | | | | Adds --sub-visibility choices 'primary-only' for only displaying the primary subtitle track, and 'secondary-only' for only displaying secondary subtitle track. Removes --secondary-sub-visibility and displays a message telling the user to use --sub-visibility=yes/primary-only instead. These changes make it so that the default 'sub-visibility' bind 'v' cycles through all the 'sub-visibility' choices, 'no', 'yes', 'primary-only', and 'secondary-only'.
* input.conf: remove redundant commentsGuido Cella2021-09-061-25/+25
|
* bash completion: Allow completions to work without external functionsArthur Williams2021-09-051-4/+3
| | | | | | | | | | If bash_completion wasn't installed, _filedir wouldn't be defined which led to all filename-based completions to error out. Specifically autocompletion would fail when a filename was expected and when bash_completion wasn't installed. Now we fall back to `compgen -f` if _filedir fails. According to _filedir's comments, compgen doesn't handle files with spaces well, but it is still better to complete most files than none.
* input.conf: remove bindings of removed propertiesGuido Cella2021-08-191-2/+0
| | | | angle was removed in a9d83eac40, and program in a75b249b0b.
* input.conf: add commentsGuido Cella2021-08-191-132/+122
| | | | These will be shown in the new keybinding list.
* desktop entry: fix duplication of the app icon in a dock like PlankStan Janssen2021-08-121-0/+1
| | | | | | | | | Without this entry, when starting mpv as a flatpak application on elementaryOS, the Dock icon would get duplicated, as if the application was detached from its launcher. This entry fixes that by allowing the dock to associate the app's window with the desktop entry. Fixes #9109
* command: make current-window-scale writeable, 2nd attemptDudemanguy2021-08-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | The window-scale property mirrors the respective option (not the effective scale derived from the current window size), and as such setting its value to the same value it had before has no effect. Specifically - the window will not resize. This is consistent as far as property-option bridge behavior goes, but we do end up with an issue that we can't set an arbitrary scale and expect the window to always resize accordingly. We do also have a current-window-scale property which does reflect the actual window size, however, it's been read-only till now. This commit makes current-window-scale RW so that it's now always possible to set an arbitrary scale and expect the window to resize accordingly (without affecting window-scale - like manual resize). Also, mention window-scale no-effect-if-not-changed at the docs. Based on code by @Dudemanguy from commit 873ae0d, with same effect.
* Revert "command: make current-window-scale writeable"Avi Halachmi (:avih)2021-08-071-3/+3
| | | | | | | | | | | This reverts commit 873ae0de2af3bb84a11e5e57f6e3a8942b2263c2. The next commit will restore this functionality, with the following differences from the reverted commit: - Smaller and simpler code change. - On bad scale: use "Invalid value" (compared to "no such property"). - Doesn't combine the docs for window-scale and current-window-scale. - Doesn't remove the docs for window-scale behavior prior to 0.31.0.
* command: make current-window-scale writeableDudemanguy2021-08-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Somewhat confusingly, mpv has both a window-scale option and a current-window-scale property. The documentation lists window-scale under properties (and it is technically is one), but at its core it is actually an option which means it behaves subtly different. Options in mpv are runtime-configurable, but they only change anything if the value of the option itself changes. window-scale is an option and not meant to keep track of the actual scale of the window (intended behavior introduced by d07b7f0). This causes window-scale to do nothing in certain cases (ex: the window is manually resized and window-scale is set to 1.00 again). This is logical and consistent with the behavior of the rest of the mpv options, but it also makes it a poor candidate for setting the mpv window scale dynamically. As a remedy, we can just make current-window-scale writeable instead. current-window-scale is intended to always report the actual scale of the window and keep track of any window size changes made by the user. By making this property also writeable, it allows the user to have more intuitive behavior (i.e. setting current-window-scale to 1.00 always sets the window to a scale of 1). Additionally, the default input.conf is changed to use current-window-scale instead of window-scale. The window-scale documentation under property list is removed since it is already documented under options and users should probably set the current-window-scale property instead in most cases.
* sub/osd: hide secondary subtitles if secondary-sub-visibility is falseZsolt Vadasz2021-05-191-0/+1
|
* zsh completion: perform globbing on binary pathNiklas Haas2021-05-071-4/+4
| | | | | | | | | | | When trying to use completion for mpv binaries specified with some shell glob, e.g. ~/dev/mpv/build/mpv, the current code doesn't substitute the homedir prefix into the path name, resulting in runtime errors about the file '~/dev/mpv/build/mpv' not being found. The simple fixed is to use $~var instead of $var whenever expanding the filename, which performs the same globbing that would otherwise be performed when executing the command.
* input.conf: add default keybindings for sub-scalesoredake2020-10-271-2/+2
|
* stream_lavf: enable SRT protocol support through FFmpegAlexandre Iooss2020-10-151-1/+1
| | | | | Additionally, announce support for the protocol in Mac and Linux application metadata.
* zsh completion: helper functions in private namespaceEd Santiago2020-05-171-6/+6
| | | | | | | | | | | The generate_xxx() helpers, once defined, would appear as user-visible functions; this would lead to unexpected and confusing completion suggestions for gene<tab> after having once run mpv in that shell. This PR adds the prefix '_mpv_' to all completion functions as a convention to make them less user-visible and less likely to collide with other packages.
* input: add binding to quit on ctrl+wsfan52020-04-041-0/+1
| | | | Other GUI applications typically handle this as "close document" or "close window".
* sws_utils: use zimg by default if availablewm42020-02-121-1/+0
| | | | | This seems stable enough to use. Change the default, and remove it from the sw-fast profile.
* bash completion: complete ao/af/vo/vf optionsPhilip Langdale2020-02-081-1/+1
| | | | | I didn't handle these originally, but it turns out that they can be handled with the samel logic as Choice options.
* bash completion: Cache the options listPhilip Langdale2020-02-081-8/+11
| | | | | | The bash completion seems to be working decently at this point, so I feel comfortable caching the options output to improve the performance of the completion.
* input: add new PLAYONLY and PAUSEONLY MP_KEY key codesder richter2020-01-261-0/+2
| | | | | since the old PLAY and PAUSE key codes cycle through the pause property, the new key codes only explicitly set the pause property.
* bash completion: only generate option list when neededPhilip Langdale2020-01-131-5/+5
| | | | | | | | | | Right now we are generating the fully option list before doing anything else. That makes filename completion significantly slower than it was before, for no gain. It's easy to only generate the option list when it's actually needed. I also know I could additionally cache the option list across invocations, but I'm not doing that yet to make testing easier.
* bash completion: add initial implementation of bash completionPhilip Langdale2020-01-091-0/+112
| | | | | | While we've had a zsh completion script for a while, we haven't had one for bash. This one is reasonably comprehensive, although there are improvements one could imagine for certain options.
* mac: remove Apple Remote supportder richter2019-12-153-36/+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.
* zsh completion: fix handling of aliases that are listed without --Philip Sequeira2019-12-151-2/+2
| | | | | | Pretty sure they used to all have --, but I guess it was changed at some point. More incentive to do this completion stuff in a more structured way.
* zsh completion: use actual POSIX-compatible regex for whitespacePhilip Sequeira2019-12-151-5/+5
| | | | | | | | | | | | | | \s and \S aren't actually part of the spec, but it seems glibc supports them anyway so I didn't notice when originally testing. This fixes the script on Apple's libc and probably others that adhere more closely to the spec. The most direct replacement for \s would have been [[:space:]], but we only expect to see spaces and tabs, so might as well just do that. Also could have used [[:blank:]], which is basically a locale-aware version of [ \t], but mpv isn't going to output anything but ASCII spaces and tabs, so let's avoid unnecessary complexity and stick with the ASCII literals.
* zsh completion: actually make pcre optionalPhilip Sequeira2019-12-151-7/+6
| | | | | | | | | | It was supposed to be optional already, but I misunderstood how the re_match_pcre option worked. If it's set, it will try to use PCRE matching whether it's available or not (and blow up if it's not). So, first try to load the module it'll use, and only set the option if that works. Fixes #7240.
* console.lua: add this scriptJames Ross-Gowan2019-12-081-0/+1
| | | | | | | | | | | | | | | | | | | | | 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>
* builtin.conf: set minimal --stream-buffer-sizewm42019-11-071-0/+1
| | | | | | | Some stream inputs may have higher latency with higher buffer sizes, for example network filesystems via normal OS filesystem interface (these have to wait until the full buffer is read, which means higher latency). Probably doesn't matter in practice, but why take chances.
* zimg: make --zimg-fast=yes defaultwm42019-11-021-1/+0
| | | | | | This is mostly just because of the odd RGB default gamma issue, which shouldn't have any real impact. This also sets allow_approximate_gamma, which I hope is fine for normal use cases.
* sws_utils, zimg: destroy vo_x11 and vo_drm performancewm42019-10-311-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Raise swscale and zimg default parameters. This restores screenshot quality settings (maybe) unset in the commit before. Also expose some more libswscale and zimg options. Since these options are also used for VOs like x11 and drm, this will make x11/drm/etc. much slower. For compensation, provide a profile that sets the old option values: sw-fast. I'm also enabling zimg here, just as an experiment. The core problem is that we have a single set of command line options which control the settings used for most swscale/zimg uses. This was done in the previous commit. It cannot differentiate between the VOs, which need to be realtime and may accept/require lower quality options, and things like screenshots or vo_image, which can be slower, but should not sacrifice quality by default. Should this have two sets of options or something similar to do the right thing depending on the code which calls libswscale? Maybe. Or should I just ignore the problem, make it someone else's problem (users who want to use software conversion VOs), provide a sub-optimal solution, and call it a day? Definitely, sounds good, pushing to master, goodbye.
* input: Add default bindings for MBTN_BACK and MBTN_FORWARDCameron Cawley2019-10-281-0/+2
|
* input: disable gamepad code by defaultwm42019-10-251-1/+0
| | | | | | | Enabling this by default probably causes a number of issues, such as breaking vo_sdl, or reacting to various input devices while the window is not focused. It's also pretty obscure, or at least new. Disable it by default.
* input: add gamepad support through SDL2Stefano Pigozzi2019-10-231-0/+1
| | | | | | | | | | | | | | | The code is very basic: - only handles gamepads, could be extended for generic joysticks in the future. - only has button mappings for controllers natively supported by SDL2. I heard more can be added through env vars, there's also ways to load mappings from text files, but I'd rather not go there yet. Common ones like Dualshock are supported natively. - analog buttons (TRIGGER and AXIS) are mapped to discrete buttons using an activation threshold. - only supports one gamepad at a time. the feature is intented to use gamepads as evolved remote controls, not play multiplayer games in mpv :)
* etc/mpv.conf: update outdated use of cache optionswm42019-10-141-7/+10
| | | | | | | | | | | | | | The --cache option does not take a number anymore. (Oh boy, this is going to break a lot of user configs?) The cache site is now configured with those obscure-sounding --demuxer options. --cache-secs is not useful anymore. The default is very high, so the obscure-sounding --demuxer options determine how much is cached. Advertise the --cache-on-disk option a bit. I found it useful once, and it will trick users into wearing out their SSD for no gain, or so.
* options: rename --video-aspect to --video-aspect-overrideNiklas Haas2019-10-041-1/+1
| | | | | | | | | | | | The justification for this is the fact that the `video-aspect` property doesn't work well with `cycle_values` commands that include the value "-1". The "video-aspect" property has effectively no change in behavior, but we may want to make it read-only in the future. I think it's probably fine to leave as-is, though. Fixes #6068.
* zsh completion: move generation to runtime and improvePhilip Sequeira2019-09-271-0/+251
| | | | | | | | | |