summaryrefslogtreecommitdiffstats
path: root/DOCS
Commit message (Collapse)AuthorAgeFilesLines
* DOCS: update for new --pulse-latency-hacks defaultssfan53 days1-5/+2
| | | | | I missed this. fixes: 8e3737ab633ba096fcf9f2da2391f84690bd1b4c
* ao_pulse: reenable latency hacks by defaultsfan55 days1-0/+1
| | | | | | | | | | | | | | As far as I can tell PulseAudio introduced a bug in 16.0 where if a stream is (un)paused too often the reported latency will momentarily spike by 3000% or more. Apparently in certain cases just pausing once and waiting can also cause this. Save the remaining users of PA the trouble of debugging the various obscure issues that can arise from this (desync is a harmless example) by enabling the latency hack code again. ref: <https://github.com/mpv-player/mpv/issues/12057> <https://github.com/mpv-player/mpv/issues/10333>
* options: add --input-commands optionDudemanguy8 days2-0/+16
| | | | | | | Basically a simple way to perform any command/property action from the command line. This takes the exact same syntax as input.conf but not including the key naturally. Potentially useful for weird properties that don't map well to options (like ao-volume). Fixes #12353.
* m_property: add `>` for fixed precision floating-point expansionKacper Michajłow8 days2-1/+8
| | | | | | | | | | | | | | This enhancement makes it easier to create constant width property expansions, useful for the `--term-status-msg`. Additionally, it changes to `%f` printing with manual zero trimming, which is easier to control than `%g`. With this method, we can directly specify precision, not just significant numbers. This approach also avoids overly high precision for values less than 1, which is not necessary for a generic floating-point print function. A new print helper function is added, which can be used with adjusted precision for specific cases where a different default is needed. This also unifies the code slightly.
* osc.lua: escape textGuido Cella8 days1-1/+1
| | | | | | | | | | | | | | | | | | | | Escape all messages in osc.lua, because other than the title they weren't being escaped at all. If for example you did mpv foo.mp4 '{\fs50}bar.mp4' and script-message osc-playlist, it would just render the second entry as bar.mp4 in big text. The title was escaped partially, now the escaping is complete because: - It escapes \. Backslashes at the end of the title are escaped instead of being stripped, and \n, \N and \h are now printed verbatim. In particular, "\\n" is no longer converted to space and is printed verbatim instead which is more correct. - Newlines ("\n", not the "\\n" escape sequence) are converted to spaces instead of rendering them and messing up the text positioning within the OSC. - Spaces at the start are preserved. Fixes #11209, fixes #11275.
* command: add escape-assGuido Cella8 days2-0/+13
| | | | | | | | | | | | | | | | | This adds a command to escape ASS tags to remove code duplication between sub/osd_libass.c, console.lua, osc.lua, stats.lua and any user script that calls mp.create_osd_overlay(). A command is used instead of scripting functions so that all clients can use this and not just use Lua and JS ones. osd_mangle_ass() also interprets osd-sym-cc and osd-ass-cc/{0,1}, but since they use invalid UTF-8 characters there is no risk of escape-ass users using them by accident, like with any OSD message. Always replacing \n with \\N in mangle_ass() even when it is not called by escape-ass doesn't seem to cause any issue, but I made it conditional anyway to avoid changing how all OSD messages are treated unnecessarily.
* player/command: add term-size/[w,h] propertyChristoph Heinrich8 days2-0/+14
| | | | | | There was no way for scripts to know the current size of the terminal, which is essintial if they want to provide a good user experience even without a window.
* stats.lua: truncate long lines for the terminalChristoph Heinrich8 days1-0/+12
| | | | | | | | | | | | | | | The terminal is assumed to be 80x24 in size, the new options `term_width_limit` and `term_height_limit` can be used to overwrite that. Lines longer then the terminal width cause problems with scrolling pages and need to be shortened. The algorithm used for shortening can deal with tabs and escape sequences, has rudimentary support for UTF-8 and runs in O(n). avih helped in the creation of the term_ellipsis() function and split() is also from him.
* DOCS: document the new way to handle interface changesDudemanguy8 days5-10/+30
| | | | | | | Manually editing interface-changes.rst is a giant maintenance pain that causes merge conflicts all the time. Stop doing that nonsense and instead have changes be written to files in DOCS/interface-changes. Also remove that one sentence in changes.rst because it's just not true.
* DOCS/options: improve wording of dither-depthllyyr10 days1-6/+6
|
* builtin.conf: remove debanding from the high-quality profileKacper Michajłow10 days1-0/+1
| | | | | | | | | | | | | | | Debanding is an inherently destructive process. It is not needed for most high-quality sources and only produces an adverse smoothing effect when applied to fine-detailed content, removing detail. It should only be applied when necessary, either manually with the `b` keybind or with an automatic profile. Additionally, it is quite computationally heavy with no real benefit for high-quality content. By default, and especially in the high-quality profile, mpv should preserve source detail and quality as much as possible. Additional processing should be opt-in.
* input.conf: add `b` to toggle debandingKacper Michajłow10 days1-0/+3
|
* vo_gpu_next: make `dither-depth=auto` mean 8 bpc for non-d3d11 SDRllyyr10 days1-2/+4
| | | | | | | Fixes the issue described in https://github.com/mpv-player/mpv/issues/11862 for SDR files for non-d3d11 gpu-api. We currently don't have a smarter way to get the real on-the-wire bpc for other APIs, so this is the best that can be done.
* DOCS/options: --x11-name sets the instance name, not the class'sGuido Cella12 days1-1/+1
|
* demux: add a format-name propertyDudemanguy12 days1-0/+5
| | | | | It can be useful to know the underlying format of any entry in the track list. Only applicable to the lavf demuxer.
* DOCS/options: clarify --autofit-larger effectnanahi12 days1-2/+2
| | | | | | Clarify that --autofit-larger sets the maximum size of the window. The original wording was not written with runtime change in mind, so the implication of "not changing size" is ambiguous.
* vo_drm: add support for YUYV formatsfan513 days1-6/+9
| | | | | | | | | | As the first aligned format this required a fix to reconfig(). Adding the other component-swapped formats in this group would be trivial but I checked the DRM database [1] and no driver exists that supports one of those but not YUYV and this is quite fringe as-is, so I opted not to. [1] <https://drmdb.emersion.fr/formats>
* DOCS/tech-overview.txt: add builtin.conf to etc/ descriptionnanahi2024-03-111-2/+2
| | | | builtin.conf is compiled into mpv binary as the default config.
* DOCS/tech-overview.txt: update for merged pull/push glue codenanahi2024-03-111-3/+3
| | | | | b83bdd1d17cc90b4d8cd2a32321cd7c5cc306422 merged the glue code for the two types of audio APIs.
* DOCS/tech-overview.txt: add vo_gpu_next referencenanahi2024-03-111-2/+2
| | | | vo_gpu_next also can pick a windowing system at runtime.
* DOCS/tech-overview.txt: add a section for the new filter frameworknanahi2024-03-111-12/+16
| | | | | | | | | | 76276c92104c31ee936ba5c76a76072f09978c5f introduced a generic filtering framework which replaced the separate video and audio filter chains. Additionally, 6d36fad83c779936a012e85a1eb92ec94651c7c0 and 76e7e78ce989aad546310b9808cf7f96f23a281f made the decoder wrappers a filter. Add a new section to document this, and corrrect the outdated audio/video decoder and filter info.
* DOCS/tech-overview.txt: update for removed stream inputsnanahi2024-03-111-2/+1
| | | | | | stream_tv.c was removed in b30e85508a305d668db8419556d295a65ab08707. stream_dvd.c was removed in 62294049852549e99ec948e0df16452856afa0c1 and replaced by stream_dvdnav.c.
* DOCS/tech-overview.txt: update for split m_config.c/hnanahi2024-03-111-7/+8
| | | | | | Since eb381cbd4b38dd496ee0be609f1a66c360a76448 split the file into m_config_core.h and m_config_frontend.h, the statements here are no longer true. Correct them the current usage.
* DOCS/tech-overview.txt: fix function/member/header namesnanahi2024-03-111-3/+3
| | | | Just to be exact.
* options: remove --focus-on-open and add --focus-onder richter2024-03-102-3/+7
| | | | | | | | | replaces the old focus-on-open option with a more generic focus-on options that can be extended. adjust the only platform that uses that option. Fixes #8337
* vf_format: add hdr10plus sub-parameter to format video filterKacper Michajłow2024-03-092-0/+5
|
* csputils: add missing PL_COLOR_SYSTEM namesKacper Michajłow2024-03-091-4/+7
|
* vo: add video-target-params propertyKacper Michajłow2024-03-072-0/+6
|
* DOCS/man/input.rst: fix incorrect syntaxsavoury12024-03-061-10/+10
| | | | | | Some incorrect syntax is used in DOCS/man/input.rst with https://github.com/mpv-player/mpv/commit/c678033c1d60b48ae02fbbe4815869b9504a17f6 causing failure of PDF manual generation with rst2pdf. There are single rather than double back-ticks for insert-at and insert-at-play so this is fixed and a couple of typos are also corrected with this commit.
* options: add --deinterlace-field-parity option1nsane0002024-03-042-0/+12
| | | | | | | | Previously there was no way to specify the field order of interlaced videos when deinterlacing with inbuilt filters. Lavfi deinterlacers seemed to prefer top field order while inbuilt ones (vdpaupp, vavpp, d3d11vpp) seemed to prefer bottom field order. The default "auto" option should work exactly as before while specifying either "tff" or "bff" should force the specified field order
* DOCS/options: fix Vulkan typopsykose2024-03-021-1/+1
|
* command: add begin-vo-dragging commandnanahi2024-03-012-0/+8
| | | | | | This command initializes a vo dragging request for VOs that implement the new VOCTRL_BEGIN_DRAGGING voctrl. This allows scripts to begin vo dragging for any button press event.
* Revert "player: add ao-volume option, to set the system volume at startup"Dudemanguy2024-03-013-14/+6
| | | | | | | | Ended up being a bad idea. As a property, this inherently has more functionality and the tradeoff of being able to do --ao-volume wasn't worth it. This reverts commit 58ed620c064971535e60778612777750aa5e2f4d.
* DOCS/options: clarify --sub-blur and --osd-blur optionsnanahi2024-02-271-2/+4
| | | | | Clarify that these options only apply to the font borders, not to the texts themselves.
* vo_gpu_next: add --border-background optionDudemanguy2024-02-262-0/+5
| | | | | Allow for setting the border background independently from the background option.
* vo_gpu/vo_gpu_next: rework --alpha into --background optionDudemanguy2024-02-262-22/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | The --alpha option currently covers two related but different concepts: whether or not to ignore the alpha component and possibly blending it with a background. Because of the way the option currently works, it is impossible to have a transparent window (which requires setting --alpha=yes) while blending it with the background at the same time. To solve this, let's rework it so it it superseded by the background option. --background controls what kind of background to set for the image if possible. It can be blended with the set background color, with tiles, or not blended at all (the last one is still broken on X11/mesa except for GLX, *sigh*). In this new paradigm, --alpha=no has no real purpose because you can simply set the background to color and whatever color you want for exactly the same effect. So the option is removed. Instead, the hint set by windowing backends (i.e. setting ra_ctx->opts.want_alpha) can by done with the --background option. As an aside, the colors in vo_gpu are currently bugged due to not pre-multiplying the alpha and it seems no one ever noticed. The next commit fixes that. vo_gpu_next support happens latter since it requires new things from libplacebo. Fixes #9615.
* player: rename --background to --background-colorDudemanguy2024-02-262-1/+2
| | | | | This better represents what it actually does. --background will be used for another, related option in the next commit.
* osd_libass: update the OSD bar's dent and border sizeGuido Cella2024-02-261-1/+1
| | | | | Make the OSD bar markers bigger so we can default to a smaller, better-looking border size, without sacrificing markers' visibility.
* DOCS/options: make --scale documentation more consistentdokur0chan2024-02-261-8/+9
| | | | | | | | | | | | Beef up the barebones description for the Mitchell filter and make it consistent with the other --scale examples. In addition to this, make some wording changes to make the language in the documentation a bit more unified. Before this change it was pretty obvious that multiple authors contributed to this part of the manual (at completely different timeframes), so the language was somewhat disjointed. The Mitchell description was also not very helpful.
* DOCS: move ALSA option documentation to ao.rstnanahi2024-02-262-51/+47
| | | | | | All other ao options are documented there so make ALSA the same. Also remove the (Linux only) wording since some systems (e.g. FreeBSD) provide compatibility layer for it.
* DOCS/options: clarify the impact of --audio-buffernanahi2024-02-261-1/+1
| | | | | | | | While making this larger do make audio filters react slower, it doesn't always make softvol react slower. This is because the softvol reaction speed is related to the ao buffer size which on many systems have an upper limit, typically much lower than 200 ms. In this case the softvol won't react slower. Change the wording to clarify this.
* DOCS/options: remove lavrresample referencenanahi2024-02-261-7/+2
| | | | | lavrresample is removed in c8b8fe9981c654c0539ca77056ed6451a3da7367. The replacement is the internal swresample filter.
* DOCS/options: remove --alsa-devicenanahi2024-02-261-3/+0
| | | | This option was removed in 809d160c1ec1c050d1877e66f93fcffc98fe4e83.
* DOCS/ao: update SDL ao version referencenanahi2024-02-261-2/+2
| | | | This hasn't been true since 1dcf511376545de7624863b76d7f30dc3bb44ac9.
* DOCS: add `insert` commands and args to interface-changesDavid Vaughan2024-02-261-0/+6
|
* input/player: add loadfile/loadlist insert-at commandDavid Vaughan2024-02-261-5/+31
|
* input: add insert-next support for drag-and-dropDavid Vaughan2024-02-261-7/+8
| | | | | | | This commit adds a DND_INSERT_NEXT action option for drag-and-drop, allows for selecting it through the --drag-and-drop=insert-next option, and adds the necessary plumbing to make that happen when something is dragged onto the player.
* player: add loadlist insert-next commandsDavid Vaughan2024-02-261-0/+7
| | | | | | | | Analogous changes to the previous commit ("add loadfile insert-next commands"), but for the `loadlist` command. This allows us to insert a new playlist next in the current playlist, rather than just appending it to the end.
* player: add loadfile insert-next commandsDavid Vaughan2024-02-261-0/+6
| | | | | | | | | | | | | This commit adds two new commands (`insert-next` and `insert-next-play`) which mirror the existing commands, `append` and `append-play` in functionality, with the difference that they insert directly after the current playlist entry, rather than at the end of the playlist. This change gives MPV a piece of functionality already found in (for example) Spotify's media player: "play next". Additionally, using the new `insert-next` command, users can trivially write a script to play a new piece of media immediately without otherwise clearing or altering the remainder of the playlist.
* DOCS/man: remove outdated softvol entryDudemanguy2024-02-251-13/+2
| | | | 69ae23fdd1e39f4e7aa30082e36cc635d954bccf removed this option completely.
* player: add ao-volume option, to set the system volume at startupLeonardo Boss2024-02-253-6/+14
| | | | closes #12353
* player: set hidpi-window-scale to no by defaultDudemanguy2024-02-242-1/+2
| | | | | | | | | | | | | | | | | | This has defaulted to yes for a very long time, but evidentally it annoys a lot of people (including myself). My argument is that this makes no sense. mpv is for videos; not text. A 1920x1080 video should open as 1920x1080 regardless of whatever the DPI settings of the OS is. This can get very silly when you consider watching a 4k video which will get this additional scale factor which is virtually never desirable. Whether or not the OS and/or WM prevents it from getting larger than the screen depends on a lot of things. Previously some windowing backends required that this option be set to yes in order to report a dpi scale value other than 1, but this should be fixed with the previous commits. The only difference is whether or not to scale the window by the additional factor. Fixes #13465.
* DOCS/options: clarify hidpi-window-scaleDudemanguy2024-02-241-4/+3
|
* DOCS: make mentions of macOS consistentder richter2024-02-214-4/+4
| | | | | change all mentions and variations of OSX, OS X, MacOSX, MacOS X, etc consistent. use the official naming macOS.
* DOCS/man: document Ctrl+WHEEL_UP/WHEEL_DOWN keybindsnanahi2024-02-211-2/+4
| | | | Also remove the existing redundant wordings.
* DOCS/mpv: update ancient profiles config examplellyyr2024-02-201-11/+13
| | | | | Hopefully actually useful now. Also updates big-cache to not be smaller than the current default.
* vo: make libmpv last in the auto-probing order for cocoa-cb onlyder richter2024-02-201-1/+5
| | | | | | | | | | | | | | | | | | | | this partially reverts commit 7b5a258. back then the only properly working vo on macOS was cocoa-cb (libmpv). it would always use the deprecated opengl cocoa backend or no vo at all. because of that libmpv was moved to the top of the auto-probing order, so the preferred vo was used on macOS only. we now have a working vulkan gpu/gpu-next backend on macOS which should be the new default vo. though disabling the auto-probing again for libmpv would probably cause the undesired behaviour on macOS that cocoa-cb would never be auto selected again. especially if not build with vulkan support or without vulkan driver on macOS, this would lead to no video output at all. so instead of completely reverting the mentioned commit, we instead move libmpv to the bottom of the auto-probing order but only auto select it when mpv was built with cocoa-cb support. this restores the previous behaviour on all other platforms besides macOS, but also lets us auto select cocoa-cb if supported.
* DOCS/man: add description of display-names property for waylandnanahi2024-02-161-1/+4
| | | | | | On wayland, depending on the wl_output protocol version used, the display-names property can have different values. Mention this in the documentation, like for other platforms.
* DOCS: document --input-preprocess-wheel optionnanahi2024-02-152-0/+15
| | | | | | Document the use cases for enabling or disabling the wheel preprocessing. Also note that this option has no effect on any filtering already done by the OS/driver.
* DOCS/lua: clarify `repeatable` and `complex` for `add_key_binding`gaesa2024-02-151-5/+6
| | | | | | | | | | | | | | | | The current documentation lacks clarity regarding the interaction between the `repeatable` and `complex` options. Through an analysis of the source code (`player/lua/defaults.lua` and `player/js/defaults.js`), it was observed that the `repeatable` option is only meaningful when the `complex` option is not enabled. Additionally, the `complex` option in the existing documentation is confusing, actually `fn` can be called on key repeat when `complex` is `true` and `repeatable` is not `true`. To address these issues, the documentation for the `repeatable` option was updated to specify that it only applies when the `complex` option is not set to `true`. Furthermore, the description of the `complex` and `event` were revised to acknowledge the occurrence of key repeat events.
* DOCS/options: mention that sub-clear-on-seek can now break thingsDudemanguy2024-02-151-1/+3
| | | | | | | | | | | | | | | | | This is technically due to the previous commits that made subtitle rendering more efficient by eliminating redraws, but working around this particular edge case is useless. The sub-clear-on-seek option was originally introduced in d5940fabcd6b477c72430c84e460975060807646 and specifically is a workaround for completely broken mkv files. There is no reason to use it otherwise. Because that option disables all duplicate checking and the previous commits rework subtitle rendering in the still image case to be dependent on keeping track of packets, the end result is that you will get the same line rendered multiple times. However the important case of broken mkv files with duplicate ReadOrder fields still work just fine with --no-video. So instead of bothering trying to make this option "work", just clarify that stuff can break since, again, there's no reason to use it other than as a workaround for broken files.
* DOCS/man: more words about --teletext-pageMohammad AlSaleh2024-02-131-2/+11
| | | | Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
* sub: allow setting lavc txt_page special values via teletext_pageMohammad AlSaleh2024-02-132-2/+6