summaryrefslogtreecommitdiffstats
path: root/DOCS
Commit message (Collapse)AuthorAgeFilesLines
* DOCS: Mention "mono" audio channels optionCairn2022-09-091-3/+3
|
* DOCS/libmpv: fix typo in linkage section257924312022-09-031-1/+1
|
* DOCS/options: update vd-lavc-skiploopfilter, skipidct and related descriptionssfan52022-08-311-5/+7
| | | | Cross-checked the current functionality of these with the FFmpeg source.
* DOCS/mpv: remove spaces at EOL, ensure 80 colsAvi Halachmi (:avih)2022-08-291-4/+5
| | | | These are fixes for the previous commit.
* DOCS/mpv: added COMMAND INTERFACE refs to INTERACTIVE CONTROLenly12022-08-291-3/+5
| | | | Added COMMAND INTERFACE references to make it easier for new users.
* wayland: add support for configure boundsDudemanguy2022-08-142-0/+9
| | | | | | | | | | | | | | | In wayland-protocols 1.25, xdg-shell got a version bump which added the configure_bounds event. The compositor can send this to clients to indicate that they should not resize past a certain size. For mpv, we'll choose to only listen to this on reconfig events (i.e. when the window first appears and if the video resolution changes later in the playlist). However, this behavior is still exposed as a user option (default on) because it will neccesarily conflict with a user setting a specific geometry size and/or window scale. Presumably, if someone is setting a really large size that goes beyond the bounds of their monitor, they actually want it like that. The wayland-protocols version is newer-ish, but we can get around having to poke the build system by just using a define that exists in the generated xdg-shell header.
* DOCS/options: correct wayland-disable-vsync optionDudemanguy2022-08-121-4/+3
| | | | | This is actually dated. It works on all wayland outputs/VOs and has for some time now.
* hwdec/drmprime: add drmprime hwdec-interopPhilip Langdale2022-08-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the confusing landscape of hardware video decoding APIs, we have had a long standing support gap for the v4l2 based APIs implemented for the various SoCs from Rockship, Amlogic, Allwinner, etc. While VAAPI is the defacto default for desktop GPUs, the developers who work on these SoCs (who are not the vendors!) have preferred to implement kernel APIs rather than maintain a userspace driver as VAAPI would require. While there are two v4l2 APIs (m2m and requests), and multiple forks of ffmpeg where support for those APIs languishes without reaching upstream, we can at least say that these APIs export frames as DRMPrime dmabufs, and that they use the ffmpeg drm hwcontext. With those two constants, it is possible for us to write a hwdec-interop without worrying about the mess underneath - for the most part. Accordingly, this change implements a hwdec-interop for any decoder that produces frames as DRMPrime dmabufs. The bulk of the heavy lifting is done by the dmabuf interop code we already had from supporting vaapi, and which I refactored for reusability in a previous set of changes. When we combine that with the fact that we can't probe for supported formats, the new code in this change is pretty simple. This change also includes the hwcontext_fns that are required for us to be able to configure the hwcontext used by `hwdec=drm-copy`. This is technically unrelated, but it seemed a good time to fill this gap. From a testing perspective, I have directly tested on a RockPRO64, while others have tested with different flavours of Rockchip and on Amlogic, providing m2m coverage. I have some other SoCs that I need to spin up to test with, but I don't expect big surprises, and when we inevitably need to account for new special cases down the line, we can do so - we won't be able to support every possible configuration blindly.
* man: remove unhelpful languageMia Herkt2022-08-071-28/+8
| | | | | | | | Whether or not the GNOME project has a tendency to make life difficult for anyone outside their ecosystem, the user manual is no place for childish rants such as this. Keep it to what is relevant for users.
* af_rubberband: add new engine option in rubberband 3.0.0Christoph Heinrich2022-08-031-0/+2
|
* osc.lua: add osc-tcspace script optionRyan Hendrickson2022-07-191-0/+8
| | | | | | | | | | Generally, the hard-coded sizes used for the OSC elements are comfortable regardless of the font used, but the timecode fields have relatively many characters, and so are affected to a greater degree by fonts with a wider or narrower average character width than expected. This allow users to adjust the space reserved for the timecode fields to compensate.
* osc.lua: add osc-unicodeminus script optionRyan Hendrickson2022-07-191-0/+6
| | | | | | This option enables the use of the Unicode U+2212 Minus Sign character when displaying the time remaining, instead of "-" (U+002D Hyphen-Minus).
* DOCS/encoding: remove the legacy option syntaxhooke0072022-07-071-37/+37
|
* DOCS: fix typo257924312022-07-011-1/+1
|
* DOCS/osc: fix option "showidlescreen" -> "idlescreen"dyphire2022-07-011-1/+1
| | | | This option was added in mpv-player@ec236f7, but its name in the document description is incorrect
* lua: command_native_async: always callback a-syncCogentRedTester2022-06-222-1/+3
| | | | | | | | | | | | | | | | | Previously if the raw command_native_async returned an error then the callback function was run directly. This meant that script writers potentially had to account for both synchronous and asynchronous logic in the callback, which can happen even with seemingly 'safe' commands if the mpv event queue is full. This was at odds with the Javascript implementation of the function, which always runs the callback asynchronously. Now the mp.add_timeout function is used to run the callback asynchronously on error, replicating the Javascript implementation. This provides consistency for developers in how the callback is handled in Lua, and increases consistency between the Lua and Javascript APIs.
* x11: add --x11-present optionDudemanguy2022-06-222-0/+18
| | | | | | | | | | | With the recent addition of the libxpresent, it should improve frame timings for most users. However, there were known cases of bad behavior (Nvidia) which lead to a construction of a whitelist instead of just enabling this all the time. Since there's no way to predict whatever combination of hardware/drivers/etc. may work correctly, just give users an option to switch the usage of xorg's presentation statistics on/off. The default value, auto, works like before (basically, Mesa drivers and no Nvidia are allowed), but now one can force it on/off if needed.
* DOCS/options: fix incorrect labelling of hr-seek defaultSagnac2022-06-101-2/+2
| | | | | | | The `absolute` value was incorrectly labelled as the default instead of the value named `default`, which was somewhat confusing. When the newer default option was added in 679e410 it seems like wm4 forgot to remove the label in the manual on the previous default.
* osc.lua: add idlescreen and osc-idlescreenDudemanguy2022-06-041-0/+9
| | | | | | | | | | | | | | | This is mainly for other user scripts that may conflict with the osc logo in some way. Although it is possible to listen for shared-script-properties, this has many edge cases that could easily pop up. A user could want other OSC things to happen at the same time (say osc-message). They just don't want the logo. The idlescreen option disables all idlescreen related things (including the santa hat) if it is set to "no". A new script message (osc-idlescreen) is also added so users can easily toggle the value (passing "cycle" or just explictly setting "yes" or "no"). Some more discussion on this is found in the below github issues. https://github.com/mpv-player/mpv/issues/10201 https://github.com/CogentRedTester/mpv-file-browser/issues/55
* DOCS/interface-changes: mention vaapi-wayland voDudemanguy2022-05-301-0/+1
|
* vo: add new vaapi-wayland driverAaron Boxer2022-05-242-1/+9
| | | | | | | This driver makes use of dmabuffer and viewporter interfaces to enable efficient display of vaapi surfaces, avoiding any unnecessary colour space conversion, and avoiding scaling or colour conversion using GPU shader resources.
* various: remove trailing whitespaceGuido Cella2022-05-141-4/+4
|
* DOCS/input: fix typo "NANME" -> "NAME"Emanuele Torre2022-05-021-1/+1
|
* DOCS/ao: remove only usage of git.io link shortening serviceJakub Wilk2022-04-281-1/+2
| | | | | | | | | This link was originally shortened in bf0cb27489b0e0e00190c4ea2e08290fb3817626 to improve manpage formatting, but unfortunately Github is now taking down this service on the 29th. Thus, the full link is being reinstated. ref: https://github.blog/changelog/2022-04-25-git-io-deprecation/
* DOCS/options: properly capitalize JPEG XLLeo Izen2022-04-261-3/+3
| | | | | The appropriate style for jxl images is JPEG XL, not Jpeg XL. Update the docs to reflect this.
* video/image_writer: add Jpeg XL screenshotsLeo Izen2022-04-261-0/+11
| | | | | | | Add Jpeg XL as a possible output format for screenshots, which should make it possible to take fast screenshots with much better quality than JPEG, or take lossless high-bit-depth screenshots with lower file sizes than PNG.
* various: fix typosCœur2022-04-253-4/+4
|
* DOCS/options: update the --load-osd-console documentationGuido Cella2022-04-211-4/+3
| | | | | | | | | | - Say built-in which is more common than builtin - Move "By default" because only the key to open the console is customizable, and fix the punctuation and case of the sentence - ` opens the console, not ´ - Remove the sentences that explains which user script console.lua is based on since it's no longer relevant now that the console has been part of mpv for over 2 years.
* DOCS/input: update the ASS tags documentation URLGuido Cella2022-04-211-1/+2
| | | | The current one hasn't worked in years.
* options: make --cover-art-auto=exact the defaultGuido Cella2022-04-211-2/+2
| | | | | | | | | Now that a separate --cover-art-whitelist option exists, files like cover.jpg are loaded even without setting --cover-art-auto to fuzzy, so only load files that have exactly the media filename by default, since fuzzy loading is probably more likely to load unwanted images than to load cover art that the user intended to display, especially if you play audio files with a short filename like a.mp3.
* player: add cover-art-whitelist optionGuido Cella2022-04-211-2/+8
| | | | | | | | This allows more fine grained control over which cover art to load. With --cover-art-auto=exact and --cover-art-whitelist=yes, you can now load cover art with the exact media filename and the whitelisted filenames, but not cover art that contains the media filename (--cover-art-auto=fuzzy).
* DOCS: fix the typo of --sub-justifyhooke0072022-04-211-1/+1
|
* DOCS: correct --sub-shadow-colorhooke0072022-04-211-6/+6
|
* DOCS/{mpv,options}: document the watch later functionalityGuido Cella2022-04-213-67/+99
| | | | | | | | | | This adds a section to the documentation to explain how resuming playback works, and in particular it explains how it affects which playlist entry mpv starts playing from, since this feature was only implied in the --playlist-start documentation. It also groups the documentation of the watch later options together to make them easier to find.
* options: add osd-playing-msg-durationGuido Cella2022-04-071-0/+4
|
* DOCS/input: mark chapter-list as writableGuido Cella2022-04-071-1/+1
|
* drm: context_drm_egl: add support for enabling VRRPhilip Langdale2022-04-051-0/+12
| | | | | | | | | | | | | | Variable Refresh Rate (VRR), aka Freesync or Adaptive Sync can be used with DRM by setting the VRR_ENABLED property on a crtc if the connector reports that it is VRR_CAPABLE. This is a useful feature for us as it is common to play 24/25/50 fps content on displays that are nominally locked to 60Hz. VRR can allow this content to play at native framerates. This is a simple change as we just need to check the capability and set the enabled property if requested by the user. I've defaulted it to disabled for now, but it might make sense to default to auto in the long term.
* vd_lavc: add vo caps and option to set GPU film grain applicationLynne2022-04-051-0/+11
|
* vf_format: support forwarding/stripping film grain metadataLynne2022-04-052-0/+5
|
* DOCS/options.rst DOCS/vo.rst: Update discussion of hwdec usagePhilip Langdale2022-03-092-90/+99
| | | | | | | | | | | | | The documentation's current discussion of hwdec usage is out of date, and unnecessarily pessemistic when applied to modern hardware. The reality is that modern APIs on modern hardware produce reasonable results and there's no need to pretend otherwise. The current language that tries to drive people away from using hwdecs at all leads to them making bad choices when they do try to use it. Let's also make it clearer that users should use vo=gpu with hwdecs rather than vo=vaapi or vo=vdpau. Even the existing admonitions have proven insufficient, so let's strengthen that language.
* vo_gpu_next: add support for hardware decodingNiklas Haas2022-03-031-4/+0
| | | | | | | | | | | | | | | | There are two major ways of going about this: 1. Expose the native ra_gl/ra_pl/ra_d3d11 objects to the pre-existing hwdec mappers, and then add code in vo_gpu_next to rewrap those ra_tex objects into pl_tex. 2. Wrap the underlying pl_opengl/pl_d3d11 into a ra_pl object and expose it to the hwdec mappers, then directly use the resulting pl_tex. I ultimately opted for approach 1 because it enables compatibility with more hardware decoders, specifically including ones that use native OpenGL calls currently. The second approach only really works with cuda_vk and vaapi_pl.
* manpage: add vo_gpu_next wiki link to manpageNiklas Haas2022-03-031-1/+4
| | | | | | | | I was initially hesitant to link to an external article from the manpage but a lot of other places in the man page already do something like this, and it really makes more sense to have this as a wiki article rather than trying to keep the manpage up-to-date by hand, since this evolves quickly and the two are expected to converge over time.
* options: add always to stop-screensaverDudemanguy2022-02-181-3/+5
| | | | | | | | | | The stop-screensaver option is currently limited to a simple yes/no option. While the no option does always disable mpv trying to stop the screensaver, yes does not mean the screensaver is always stopped. The screensaver will be enabled again depending on certain conditions (like if the player is paused). Simply introduce a new value for this option, always, which does exactly what the name implies: the screensaver will always be disabled.
* DOCS/input: document subprocess more clearlyGuido Cella2022-02-181-19/+23
| | | | | | | | | | | - Make it clearer that playback_only affects subprocess' behavior when the playback of the current playlist entry terminates, rather than when mpv quits. - Explain when status is positive and when it is negative. - Replace "exited gracefully" in status' and error_string's documentation with "terminated normally" so it can't be misinterpreted as exiting successfully. - Reword the playback_only warning
* DOCS/input: fix typoGuido Cella2022-02-181-1/+1
|
* DOCS/mpv: improve vf=rotate examplesGuido Cella2022-02-071-5/+5
| | | | | | | | | | | We have a few examples with vf=rotate=90, but libavfilter's rotate accepts radians - not degrees, so a value of 90 is valid but misleading because it's not 90 degrees. Change the value of 90 at those examples. Also replace "vf-add=hflip" with "vf add hflip", since that example lists commands, not options, to run.
* js: utils.get_user_path: make wrapper of expand-pathAvi Halachmi (:avih)2022-02-041-3/+3
| | | | | | | | When utils.get_user_path was added, the expand-path command didn't exist. Now it does, so remove the C code, make it a trivial wrapper. Keep this function for backward compat to not break scripts, but technically it's not required anymore.
* DOCS/options.rst: fix typo (double "aspect")Avi Halachmi (:avih)2022-02-031-1/+1
|
* vo_gpu_next: initial attempt at adding d3d11 supportJan Ekström2022-02-021-1/+1
|
* DOCS/input.rst: profile-list: profile-restore could be missingAvi Halachmi (:avih)2022-01-301-0/+4
| | | | | | | | Currently the profile-restore field is intentionally omitted if it holds the default value (i.e. no values are stored for the profile, and trying to restore would only warn). See m_config_get_profiles at command.c .
* ao_sndio: add this audio output againrim2022-01-221-0/+6
| | | | | | | | | Changes: - rewrite to use new internal MPV API; - code refactoring; - fix buffers size calculations; - buffer set to auto; - reset() - clean/reinit device only after errors;
* options: only apply sub-visibility to primary subsDudemanguy2022-01-222-5/+1
| | | | | | | | Previously, the sub-visibility option changed the visibility of all subtitles including secondary ones. This meant that it was not possible to only display secondary subtitles while hiding the primary ones. This modifies the sub-visibility option so that it only affects primary subtitles which allows only secondary subtitles to be displayed.
* Revert "options: add --sub-visibility=<primary-only|secondary-only>"Avi Halachmi (:avih)2022-01-192-3/+10
| | | | | | | | | | 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-192-10/+3
| | | | | | | | | | | | | 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'.
* ao_pipewire: Add PipeWire audio backendThomas Weißschuh2022-01-171-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | The AO provides a way for mpv to directly submit audio to the PipeWire audio server. Doing this directly instead of going through the various compatibility layers provided by PipeWire has the following advantages: * It reduces complexity of going through the compatibility layers * It allows a richer integration between mpv and PipeWire (for example for metadata) * Some users report issues with the compatibility layers that to not occur with the native AO For now the AO is ordered after all the other relevant AOs, so it will most probably not be picked up by default. This is for the following reasons: * Currently it is not possible to detect if the PipeWire daemon that mpv connects to is actually driving the system audio. (https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1835) * It gives the AO time to stabilize before it is used by everyone. Based-on-patch-by: Oschowa <oschowa@web.de> Based-on-patch-by: Andreas Kempf <aakempf@gmail.com> Helped-by: Ivan <etircopyhdot@gmail.com>
* vf_format: add dolbyvision sub-optionNiklas Haas2022-01-092-0/+5
| | | | | | | | | | Useful to strip dolbyvision from the output, in cases where the user does not want it applied. Doing this as a video filter gives users the abiilty to easily toggle this stripping at runtime in a way that properly propagates to any (potentially stateful) VO. It also thematically fits the rest of the options in vf_format, which are similarly concerned with modifying the video image parameters.
* vo_gpu: add --tone-mapping-modeNiklas Haas2022-01-072-21/+24
| | | | | | | | | | | This merges the old desaturation control options into a single enumeration, with the goal of both simplifying how these options work and also making this list more extensible (including, notably, new options only supported by vo_gpu_next). For the hybrid option, I decided to port the (slightly tweaked) values from libplacebo's pre-refactor defaults, rather than the old values we had in mpv, to more visually match the look of the vo_gpu_next hybrid.
* vo_gpu: add --gamut-mapping-modeNiklas Haas2022-01-072-19/+19
| | | | | | | Merge --gamut-clipping and --gamut-warning into a single option, --gamut-mapping-mode, better corresponding to the new vo_gpu_next APIs and allowing us to easily extend this option as new modes are added in the future.
* vo_gpu_next: update for new tone mapping optionsNiklas Haas2022-01-072-5/+26
| | | | | | | This was significantly refactored upstream. Switch to new APIs and add new tone mapping curves and options. cf. https://code.videolan.org/videolan/libplacebo/-/merge_requests/212
* player: make deprecated track/chapter/metadata events internalsfan52021-12-152-5/+4
| | | | | We still need these to track or notify of modifications to certain properties, but they're now gone from the libmpv ABI.
* lua: remove mp.suspend, resume and resume_allsfan52021-12-152-18/+0
| | | | | | These functions were deprecated in v0.21.0 and no-ops since v0.23.0. The matching client API functions were removed in the previous commit.
* libmpv: remove opengl_cb API and other deprecated symbolssfan52021-12-152-3/+7
| | | | | | Not all deprecated symbols were removed. Only three events were removed for now since these are not used internally. This bumps the library version to 2.0.