From b32996fbb81b01f6dde6dc8fff6c7fbafd53dde8 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Thu, 20 Oct 2016 23:05:25 -0700 Subject: mpv: Update to 0.21.0 --- media/mpv/config.h | 3 + media/mpv/gen.rc | 1 + ...0001-Include-poll.h-instead-of-sys-poll.h.patch | 13 +- media/mpv/patch/0003-Add-generated-man-page.patch | 4617 ++++++++++---------- media/mpv/rev | 2 +- media/mpv/sources.txt | 7 +- media/mpv/src | 2 +- 7 files changed, 2388 insertions(+), 2257 deletions(-) diff --git a/media/mpv/config.h b/media/mpv/config.h index ee31ed7b..af99eafd 100644 --- a/media/mpv/config.h +++ b/media/mpv/config.h @@ -28,6 +28,7 @@ #define HAVE_WIN32 0 #define HAVE_WIN32_INTERNAL_PTHREADS 0 #define HAVE_PTHREADS 1 +#define HAVE_GNUC 1 #define HAVE_STDATOMIC 1 #define HAVE_ATOMIC_BUILTINS 0 #define HAVE_SYNC_BUILTINS 0 @@ -125,6 +126,7 @@ #define HAVE_ANDROID_GL 0 #define HAVE_ANY_GL 0 #define HAVE_PLAIN_GL 0 +#define HAVE_MALI_FBDEV 0 #define HAVE_GL 0 #define HAVE_EGL_HELPERS 0 #define HAVE_LIBAV 1 @@ -154,6 +156,7 @@ #define HAVE_VIDEOTOOLBOX_GL 0 #define HAVE_VDPAU_HWACCEL 0 #define HAVE_D3D_HWACCEL 0 +#define HAVE_CUDA_HWACCEL 0 #define HAVE_SSE4_INTRINSICS 0 #define HAVE_TV 0 #define HAVE_SYS_VIDEOIO_H 0 diff --git a/media/mpv/gen.rc b/media/mpv/gen.rc index 29be7262..0889d3b8 100644 --- a/media/mpv/gen.rc +++ b/media/mpv/gen.rc @@ -52,6 +52,7 @@ fn file2string { } file2string input/input_conf.h etc/input.conf +file2string player/builtin_conf.inc etc/builtin.conf file2string sub/osd_font.h sub/osd_font.otf for(f in assdraw defaults options osc ytdl_hook) file2string player/lua/$f.inc player/lua/$f.lua diff --git a/media/mpv/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch b/media/mpv/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch index 0165fc3c..11c39cfc 100644 --- a/media/mpv/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch +++ b/media/mpv/patch/0001-Include-poll.h-instead-of-sys-poll.h.patch @@ -1,4 +1,4 @@ -From fc515d93b4f4da13ac06248a59a2d6954953877c Mon Sep 17 00:00:00 2001 +From 38c6d6ee98b8a8eaafc71c6ca4e13f52152a40fa Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 2 Jul 2016 17:11:20 -0700 Subject: [PATCH] Include poll.h instead of sys/poll.h @@ -9,22 +9,23 @@ Subject: [PATCH] Include poll.h instead of sys/poll.h 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/video/out/drm_common.c b/video/out/drm_common.c -index a39db93..4ec2edc 100644 +index 44e017e..3a9b2a4 100644 --- a/video/out/drm_common.c +++ b/video/out/drm_common.c -@@ -16,9 +16,9 @@ +@@ -16,10 +16,10 @@ */ #include +#include + #include #include #include -#include + #include #include #include - diff --git a/video/out/vo_drm.c b/video/out/vo_drm.c -index f03f503..12426e4 100644 +index 7e642e3..726d820 100644 --- a/video/out/vo_drm.c +++ b/video/out/vo_drm.c @@ -18,9 +18,9 @@ @@ -39,5 +40,5 @@ index f03f503..12426e4 100644 #include -- -2.9.2 +2.10.1 diff --git a/media/mpv/patch/0003-Add-generated-man-page.patch b/media/mpv/patch/0003-Add-generated-man-page.patch index 0d60d0b4..ff4b62a8 100644 --- a/media/mpv/patch/0003-Add-generated-man-page.patch +++ b/media/mpv/patch/0003-Add-generated-man-page.patch @@ -1,4 +1,4 @@ -From cbe80107418bb7a76634b8f13d3cdafbb1564f53 Mon Sep 17 00:00:00 2001 +From 6f17a08a04b52c5fab494b72f77bba0d91042f65 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 2 Jul 2016 21:08:15 -0700 Subject: [PATCH] Add generated man page @@ -7,16 +7,16 @@ This requires python and rst2man to generate. $ rst2man.py DOCS/man/mpv.rst DOCS/man/mpv.1 --- - DOCS/man/mpv.1 | 13993 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 13993 insertions(+) + DOCS/man/mpv.1 | 14114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 14114 insertions(+) create mode 100644 DOCS/man/mpv.1 diff --git a/DOCS/man/mpv.1 b/DOCS/man/mpv.1 new file mode 100644 -index 0000000..fadcd48 +index 0000000..4ae65ee --- /dev/null +++ b/DOCS/man/mpv.1 -@@ -0,0 +1,13993 @@ +@@ -0,0 +1,14114 @@ +.\" Man page generated from reStructuredText. +. +.TH MPV 1 "" "" "multimedia" @@ -180,11 +180,11 @@ index 0000000..fadcd48 +.B u +Switch between applying no style overrides to SSA/ASS subtitles, and +overriding them almost completely with the normal subtitle style. See -+\fB\-\-ass\-style\-override\fP for more info. ++\fB\-\-sub\-ass\-style\-override\fP for more info. +.TP +.B V +Toggle subtitle VSFilter aspect compatibility mode. See -+\fB\-\-ass\-vsfilter\-aspect\-compat\fP for more info. ++\fB\-\-sub\-ass\-vsfilter\-aspect\-compat\fP for more info. +.TP +.B r and t +Move subtitles up/down. @@ -310,19 +310,20 @@ index 0000000..fadcd48 +The suboption parser can quote strings with \fB"\fP and \fB[...]\fP\&. +Additionally, there is a special form of quoting with \fB%n%\fP described below. +.sp -+For example, the \fBopengl\fP VO can take multiple options: ++For example, assume the hypothetical \fBfoo\fP filter can take multiple options: +.INDENT 0.0 +.INDENT 3.5 -+\fBmpv test.mkv \-\-vo=opengl:scale=lanczos:icc\-profile=file.icc,xv\fP ++\fBmpv test.mkv \-\-vf=foo:option1=value1:option2:option3=value3,bar\fP +.UNINDENT +.UNINDENT +.sp -+This passes \fBscale=lanczos\fP and \fBicc\-profile=file.icc\fP to \fBopengl\fP, -+and also specifies \fBxv\fP as fallback VO. If the icc\-profile path contains -+spaces or characters like \fB,\fP or \fB:\fP, you need to quote them: ++This passes \fBoption1\fP and \fBoption3\fP to the \fBfoo\fP filter, with \fBoption2\fP ++as flag (implicitly \fBoption2=yes\fP), and adds a \fBbar\fP filter after that. If ++an option contains spaces or characters like \fB,\fP or \fB:\fP, you need to quote ++them: +.INDENT 0.0 +.INDENT 3.5 -+\fBmpv \(aq\-\-vo=opengl:icc\-profile="file with spaces.icc",xv\(aq\fP ++\fBmpv \(aq\-\-vf=foo:option1="option value with spaces",bar\(aq\fP +.UNINDENT +.UNINDENT +.sp @@ -354,11 +355,11 @@ index 0000000..fadcd48 +.INDENT 3.5 +.IP "Examples" +.sp -+\fBmpv \-\-ao=pcm:file=%10%C:test.wav test.avi\fP ++\fBmpv \(aq\-\-vf=foo:option1=%11%quoted text\(aq test.avi\fP +.sp +Or in a script: +.sp -+\fBmpv \-\-ao=pcm:file=%\(gaexpr length "$NAME"\(ga%"$NAME" test.avi\fP ++\fBmpv \-\-vf=foo:option1=%\(gaexpr length "$NAME"\(ga%"$NAME" test.avi\fP +.UNINDENT +.UNINDENT +.sp @@ -368,8 +369,7 @@ index 0000000..fadcd48 +support passing values in a more structured way instead of flat strings, and +can avoid the suboption parsing mess. For example, \fB\-\-vf\fP supports +\fBMPV_FORMAT_NODE\fP, which lets you pass suboptions as a nested data structure -+of maps and arrays. (\fB\-\-vo\fP supports this in the same way, although this -+fact is undocumented.) ++of maps and arrays. +.SS Paths +.sp +Some care must be taken when passing arbitrary paths and filenames to mpv. For @@ -690,7 +690,8 @@ index 0000000..fadcd48 + +[slow] +profile\-desc="some profile name" -+vo=opengl:scale=ewa_lanczos:scale\-radius=16 ++# reference a builtin profile ++profile=opengl\-hq + +[fast] +vo=vdpau @@ -717,10 +718,6 @@ index 0000000..fadcd48 +.sp +.nf +.ft C -+[vo.vdpau] -+# Use hardware decoding -+hwdec=vdpau -+ +[protocol.dvd] +profile\-desc="profile for dvd:// streams" +alang=en @@ -728,9 +725,6 @@ index 0000000..fadcd48 +[extension.flv] +profile\-desc="profile for .flv files" +vf=flip -+ -+[ao.alsa] -+device=spdif +.ft P +.fi +.UNINDENT @@ -738,8 +732,7 @@ index 0000000..fadcd48 +.UNINDENT +.UNINDENT +.sp -+The profile name follows the schema \fBtype.name\fP, where type can be \fBvo\fP -+to match the value the \fB\-\-vo\fP option is set to, \fBao\fP for \fB\-\-ao\fP, ++The profile name follows the schema \fBtype.name\fP, where type can be +\fBprotocol\fP for the input/output protocol in use (see \fB\-\-list\-protocols\fP), +and \fBextension\fP for the extension of the path of the currently played file +(\fInot\fP the file format). @@ -871,7 +864,7 @@ index 0000000..fadcd48 +.B \fBmf://[filemask|@listfile]\fP \fB\-\-mf\-...\fP +Play a series of images as video. +.TP -+.B \fBcdda://track[\-endtrack][:speed][/device]\fP \fB\-\-cdrom\-device=PATH\fP \fB\-\-cdda\-...\fP ++.B \fBcdda://[device]\fP \fB\-\-cdrom\-device=PATH\fP \fB\-\-cdda\-...\fP +Play CD. +.TP +.B \fBlavf://...\fP @@ -928,31 +921,43 @@ index 0000000..fadcd48 +if started from explorer.exe on Windows (technically, if it was started on +Windows, and all of the stdout/stderr/stdin handles are unset) +.IP \(bu 2 -+manually adding \fB\-\-profile=pseudo\-gui\fP to the command line ++started out of the bundle on OSX ++.IP \(bu 2 ++if you manually use \fB\-\-player\-operation\-mode=pseudo\-gui\fP on the command line +.UNINDENT +.sp -+This mode implicitly adds \fB\-\-profile=pseudo\-gui\fP to the command line, with -+the \fBpseudo\-gui\fP profile being predefined with the following contents: ++This mode applies options from the builtin profile \fBbuiltin\-pseudo\-gui\fP, but ++only if these haven\(aqt been set in the user\(aqs config file or on the command line. ++Also, for compatibility with the old pseudo\-gui behavior, the options in the ++\fBpseudo\-gui\fP profile are applied unconditionally. In addition, the profile ++makes sure to enable the pseudo\-GUI mode, so that \fB\-\-profile=pseudo\-gui\fP ++works like in older mpv releases. The profiles are currently defined as follows: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C -+[pseudo\-gui] ++[builtin\-pseudo\-gui] +terminal=no +force\-window=yes +idle=once +screenshot\-directory=~~desktop/ ++[pseudo\-gui] ++player\-operation\-mode=pseudo\-gui +.ft P +.fi +.UNINDENT +.UNINDENT +.sp -+This follows the mpv config file format. To customize pseudo\-GUI mode, you can -+put your own \fBpseudo\-gui\fP profile into your \fBmpv.conf\fP\&. This profile will -+enhance the default profile, rather than overwrite it. -+.sp -+The profile always overrides other settings in \fBmpv.conf\fP\&. ++\fBWARNING:\fP ++.INDENT 0.0 ++.INDENT 3.5 ++Currently, you can extend the \fBpseudo\-gui\fP profile in the config file the ++normal way. This is deprecated. In future mpv releases, the behavior might ++change, and not apply your additional settings, and/or use a different ++profile name. ++.UNINDENT ++.UNINDENT +.SH OPTIONS +.SS Track Selection +.INDENT 0.0 @@ -1000,15 +1005,32 @@ index 0000000..fadcd48 +Select audio track. \fBauto\fP selects the default, \fBno\fP disables audio. +See also \fB\-\-alang\fP\&. mpv normally prints available audio tracks on the +terminal when starting playback of a file. ++.sp ++\fB\-\-audio\fP is an alias for \fB\-\-aid\fP\&. ++.sp ++\fB\-\-aid=no\fP or \fB\-\-audio=no\fP or \fB\-\-no\-audio\fP disables audio playback. ++(The latter variant does not work with the client API.) +.TP +.B \fB\-\-sid=\fP +Display the subtitle stream specified by \fB\fP\&. \fBauto\fP selects +the default, \fBno\fP disables subtitles. +.sp -+See also \fB\-\-slang\fP, \fB\-\-no\-sub\fP\&. ++\fB\-\-sub\fP is an alias for \fB\-\-sid\fP\&. ++.sp ++\fB\-\-sid=no\fP or \fB\-\-sub=no\fP or \fB\-\-no\-sub\fP disables subtitle decoding. ++(The latter variant does not work with the client API.) +.TP +.B \fB\-\-vid=\fP +Select video channel. \fBauto\fP selects the default, \fBno\fP disables video. ++.sp ++\fB\-\-video\fP is an alias for \fB\-\-vid\fP\&. ++.sp ++\fB\-\-vid=no\fP or \fB\-\-video=no\fP or \fB\-\-no\-video\fP disables video playback. ++(The latter variant does not work with the client API.) ++.sp ++If video is disabled, mpv will try to download the audio only if media is ++streamed with youtube\-dl, because it saves bandwidth. This is done by ++setting the ytdl_format to "bestaudio/best" in the ytdl_hook.lua script. +.TP +.B \fB\-\-ff\-aid=\fP, \fB\-\-ff\-sid=\fP, \fB\-\-ff\-vid=\fP +Select audio/subtitle/video streams by the FFmpeg stream index. The FFmpeg @@ -1115,16 +1137,18 @@ index 0000000..fadcd48 +.sp +See also: \fB\-\-start\fP\&. +.TP -+.B \fB\-\-playlist\-pos=\fP ++.B \fB\-\-playlist\-start=\fP +Set which file on the internal playlist to start playback with. The index -+is an integer, with 0 meaning the first file. The value \fBno\fP means that ++is an integer, with 0 meaning the first file. The value \fBauto\fP means that +the selection of the entry to play is left to the playback resume mechanism +(default). If an entry with the given index doesn\(aqt exist, the behavior is +unspecified and might change in future mpv versions. The same applies if +the playlist contains further playlists (don\(aqt expect any reasonable +behavior). Passing a playlist file to mpv should work with this option, -+though. E.g. \fBmpv playlist.m3u \-\-playlist\-pos=123\fP will work as expected, ++though. E.g. \fBmpv playlist.m3u \-\-playlist\-start=123\fP will work as expected, +as long as \fBplaylist.m3u\fP does not link to further playlists. ++.sp ++The value \fBno\fP is a deprecated alias for \fBauto\fP\&. +.TP +.B \fB\-\-playlist=\fP +Play files according to a playlist file (Supports some common formats. If @@ -1306,8 +1330,12 @@ index 0000000..fadcd48 +.SS Program Behavior +.INDENT 0.0 +.TP -+.B \fB\-\-help\fP ++.B \fB\-\-help\fP, \fB\-\-h\fP +Show short summary of options. ++.sp ++You can also pass a shell pattern to this option, which will list all ++matching top\-level options, e.g. \fB\-\-h=*scale*\fP for all options that ++contain the word "scale". +.TP +.B \fB\-v\fP +Increment verbosity level, one level for each \fB\-v\fP found on the command @@ -1364,6 +1392,18 @@ index 0000000..fadcd48 +.sp +This behavior is disabled by default, but is always available when quitting +the player with Shift+Q. ++.UNINDENT ++.sp ++\fB\-\-watch\-later\-directory=\fP ++.INDENT 0.0 ++.INDENT 3.5 ++The directory in which to store the "watch later" temporary files. ++.sp ++The default is a subdirectory named "watch_later" underneath the ++config directory (usually \fB~/.config/mpv/\fP). ++.UNINDENT ++.UNINDENT ++.INDENT 0.0 +.TP +.B \fB\-\-dump\-stats=\fP +Write certain statistics to the given file. The file is truncated on @@ -1507,15 +1547,19 @@ index 0000000..fadcd48 +\fB\-\-ytdl\-raw\-options=force\-ipv6=\fP +.UNINDENT +.UNINDENT ++.TP ++.B \fB\-\-player\-operation\-mode=\fP ++For enabling "pseudo GUI mode", which means that the defaults for some ++options are changed. This option should not normally be used directly, but ++only by mpv internally, or mpv\-provided scripts, config files, or .desktop ++files. +.UNINDENT +.SS Video +.INDENT 0.0 +.TP -+.B \fB\-\-vo=\fP -+Specify a priority list of video output drivers to be used. For -+interactive use, one would normally specify a single one to use, but in -+configuration files, specifying a list of fallbacks may make sense. See -+\fI\%VIDEO OUTPUT DRIVERS\fP for details and descriptions of available drivers. ++.B \fB\-\-vo=\fP ++Specify the video output backend to be used. See \fI\%VIDEO OUTPUT DRIVERS\fP for ++details and descriptions of available drivers. +.TP +.B \fB\-\-vd=<[+|\-]family1:(*|decoder1),[+|\-]family2:(*|decoder2),...[\-]>\fP +Specify a priority list of video decoders to be used, according to their @@ -1537,14 +1581,6 @@ index 0000000..fadcd48 +\fB\-\-vf\-clr\fP exist to modify a previously specified list, but you +should not need these for typical use. +.TP -+.B \fB\-\-no\-video\fP -+Do not play video. With some demuxers this may not work. In those cases -+you can try \fB\-\-vo=null\fP instead. -+.sp -+mpv will try to download the audio only if media is streamed with -+youtube\-dl, because it saves bandwidth. This is done by setting the ytdl_format -+to "bestaudio/best" in the ytdl_hook.lua script. -+.TP +.B \fB\-\-untimed\fP +Do not sleep when outputting video frames. Useful for benchmarks when used +with \fB\-\-no\-audio.\fP @@ -1612,10 +1648,13 @@ index 0000000..fadcd48 +always use software decoding (default) +.TP +.B auto -+see below ++enable best hw decoder (see below) ++.TP ++.B yes ++exactly the same as \fBauto\fP +.TP +.B auto\-copy -+see below ++enable best hw decoder with copy\-back (see below) +.TP +.B vdpau +requires \fB\-\-vo=vdpau\fP or \fB\-\-vo=opengl\fP (Linux only) @@ -1633,15 +1672,15 @@ index 0000000..fadcd48 +copies video back into system RAM (OS X 10.8 and up only) +.TP +.B dxva2 -+requires \fB\-\-vo=opengl:backend=angle\fP or -+.sp -+\fB\-\-vo=opengl:backend=dxinterop\fP (Windows only) ++requires \fB\-\-vo=opengl\fP with \fB\-\-opengl\-backend=angle\fP or ++\fB\-\-opengl\-backend=dxinterop\fP (Windows only) +.TP +.B dxva2\-copy +copies video back to system RAM (Windows only) +.TP +.B d3d11va -+requires \fB\-\-vo=opengl:backend=angle\fP (Windows only) ++requires \fB\-\-vo=opengl\fP with \fB\-\-opengl\-backend=angle\fP ++(Windows only) +.TP +.B d3d11va\-copy +copies video back to system RAM (Windows only) @@ -1650,7 +1689,19 @@ index 0000000..fadcd48 +copies video back to system RAM (Android only) +.TP +.B rpi -+requires \fB\-\-vo=rpi\fP (Raspberry Pi only \- default if available) ++requires \fB\-\-vo=opengl\fP (Raspberry Pi only \- default if available) ++.TP ++.B rpi\-copy ++copies video back to system RAM (Raspberry Pi only) ++.TP ++.B cuda ++requires \fB\-\-vo=opengl\fP (Any platform CUDA is available) ++.TP ++.B cuda\-copy ++copies video back to system RAM (Any platform CUDA is available) ++.TP ++.B crystalhd ++copies video back to system RAM (Any platform supported by hardware) +.UNINDENT +.sp +\fBauto\fP tries to automatically enable hardware decoding using the first @@ -1670,7 +1721,7 @@ index 0000000..fadcd48 +The \fBvaapi\fP mode, if used with \fB\-\-vo=opengl\fP, requires Mesa 11 and most +likely works with Intel GPUs only. It also requires the opengl EGL backend +(automatically used if available). You can also try the old GLX backend by -+forcing it with \fB\-\-vo=opengl:backend=x11\fP, but the vaapi/GLX interop is ++forcing it with \fB\-\-opengl\-backend=x11\fP, but the vaapi/GLX interop is +said to be slower than \fBvaapi\-copy\fP\&. +.sp +Most video filters will not work with hardware decoding as they are @@ -1727,9 +1778,31 @@ index 0000000..fadcd48 +affect this additionally. This can give incorrect results even with +completely ordinary video sources. +.sp ++\fBcuda\fP is usually safe. Interlaced content can be deinterlaced by ++the decoder, which is useful as there is no other deinterlacing ++mechanism in the opengl output path. To use this deinterlacing you ++must pass the option: \fBvd\-lavc\-o=deint=[weave|bob|adaptive]\fP\&. Pass ++\fBweave\fP to not attempt any deinterlacing. ++10bit HEVC is available if the hardware supports it but it will be ++rounded down to 8 bits. ++.sp ++\fBcuda\-copy\fP has the same behaviour as \fBcuda\fP \- including the ability ++to deinterlace inside the decoder. However, traditional deinterlacing ++filters can be used in this case. ++.sp ++\fBrpi\fP always uses the hardware overlay renderer, even with ++\fB\-\-vo=opengl\fP\&. ++.sp ++\fBcrystalhd\fP is not safe. It always converts to 4:2:2 YUV, which ++may be lossy, depending on how chroma sub\-sampling is done during ++conversion. It also discards the top left pixel of each frame for ++some reason. ++.sp +All other methods, in particular the copy\-back methods (like +\fBdxva2\-copy\fP etc.) are either fully safe, or not worse than software -+decoding. In particular, \fBauto\-copy\fP will only select safe modes ++decoding. ++.sp ++In particular, \fBauto\-copy\fP will only select safe modes +(although potentially slower than other methods). +.UNINDENT +.UNINDENT @@ -1766,16 +1839,19 @@ index 0000000..fadcd48 +.sp +This option has no effect if \fB\-\-video\-unscaled\fP option is used. +.TP -+.B \fB\-\-video\-aspect=\fP ++.B \fB\-\-video\-aspect=\fP +Override video aspect ratio, in case aspect information is incorrect or +missing in the file being played. See also \fB\-\-no\-video\-aspect\fP\&. +.sp -+Two values have special meaning: ++These values have special meaning: +.INDENT 7.0 +.TP +.B 0 +disable aspect ratio handling, pretend the video has square pixels +.TP ++.B no ++same as \fB0\fP ++.TP +.B \-1 +use the video stream or container aspect (default) +.UNINDENT @@ -1789,14 +1865,12 @@ index 0000000..fadcd48 +\fB\-\-video\-aspect=4:3\fP or \fB\-\-video\-aspect=1.3333\fP +.IP \(bu 2 +\fB\-\-video\-aspect=16:9\fP or \fB\-\-video\-aspect=1.7777\fP ++.IP \(bu 2 ++\fB\-\-no\-video\-aspect\fP or \fB\-\-video\-aspect=no\fP +.UNINDENT +.UNINDENT +.UNINDENT +.TP -+.B \fB\-\-no\-video\-aspect\fP -+Ignore aspect ratio information from video file and assume the video has -+square pixels. See also \fB\-\-video\-aspect\fP\&. -+.TP +.B \fB\-\-video\-aspect\-method=\fP +This sets the default video aspect determination method (if the aspect is +_not_ overridden by the user with \fB\-\-video\-aspect\fP or others). @@ -1924,8 +1998,7 @@ index 0000000..fadcd48 +disable deinterlacing just because the \fB\-\-deinterlace\fP was not set. +.TP +.B \fB\-\-field\-dominance=\fP -+Set first field for interlaced content. Useful for deinterlacers that -+double the framerate: \fB\-\-vf=yadif=field\fP and \fB\-\-vo=vdpau:deint\fP\&. ++Set first field for interlaced content. +.INDENT 7.0 +.TP +.B auto @@ -2111,21 +2184,48 @@ index 0000000..fadcd48 +.B \fB\-\-audio\-device=\fP +Use the given audio device. This consists of the audio output name, e.g. +\fBalsa\fP, followed by \fB/\fP, followed by the audio output specific device -+name. ++name. The default value for this option is \fBauto\fP, which tries every audio ++output in preference order with the default device. +.sp +You can list audio devices with \fB\-\-audio\-device=help\fP\&. This outputs the +device name in quotes, followed by a description. The device name is what -+you have to pass to the \fB\-\-audio\-device\fP option. ++you have to pass to the \fB\-\-audio\-device\fP option. The list of audio devices ++can be retrieved by API by using the \fBaudio\-device\-list\fP property. +.sp -+The default value for this option is \fBauto\fP, which tries every audio -+output in preference order with the default device. ++While the option normally takes one of the strings as indicated by the ++methods above, you can also force the device for most AOs by building it ++manually. For example \fBname/foobar\fP forces the AO \fBname\fP to use the ++device \fBfoobar\fP\&. ++.INDENT 7.0 ++.INDENT 3.5 ++.IP "Example for ALSA" ++.sp ++MPlayer and mplayer2 required you to replace any \(aq,\(aq with \(aq.\(aq and ++any \(aq:\(aq with \(aq=\(aq in the ALSA device name. For example, to use the ++device named \fBdmix:default\fP, you had to do: ++.INDENT 0.0 ++.INDENT 3.5 ++\fB\-ao alsa:device=dmix=default\fP ++.UNINDENT ++.UNINDENT +.sp -+Note that many AOs have a \fBdevice\fP sub\-option, which overrides the -+device selection of this option (but not the audio output selection). -+Likewise, forcing an AO with \fB\-\-ao\fP will override the audio output -+selection of \fB\-\-audio\-device\fP (but not the device selection). ++In mpv you could instead use: ++.INDENT 0.0 ++.INDENT 3.5 ++\fB\-\-audio\-device=alsa/dmix:default\fP ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.TP ++.B \fB\-\-audio\-exclusive=\fP ++Enable exclusive output mode. In this mode, the system is usually locked ++out, and only mpv will be able to output audio. +.sp -+Currently not implemented for most AOs. ++This only works for some audio outputs, such as \fBwasapi\fP and ++\fBcoreaudio\fP\&. Other audio outputs silently ignore this options. They either ++have no concept of exclusive mode, or the mpv side of the implementation is ++missing. +.TP +.B \fB\-\-audio\-fallback\-to\-null=\fP +If no audio device can be opened, behave as if \fB\-\-ao=null\fP was given. This @@ -2135,11 +2235,9 @@ index 0000000..fadcd48 +\fBcurrent\-ao\fP and \fBaudio\-device\-list\fP properties to make high\-level +decisions about how to continue. +.TP -+.B \fB\-\-ao=\fP -+Specify a priority list of audio output drivers to be used. For -+interactive use one would normally specify a single one to use, but in -+configuration files specifying a list of fallbacks may make sense. See -+\fI\%AUDIO OUTPUT DRIVERS\fP for details and descriptions of available drivers. ++.B \fB\-\-ao=\fP ++Specify the audio output drivers to be used. See \fI\%AUDIO OUTPUT DRIVERS\fP for ++details and descriptions of available drivers. +.TP +.B \fB\-\-af=\fP +Specify a list of audio filters to apply to the audio stream. See @@ -2218,7 +2316,10 @@ index 0000000..fadcd48 +Since mpv 0.18.1, this always controls the internal mixer (aka "softvol"). +.TP +.B \fB\-\-balance=\fP -+How much left/right channels contribute to the audio. ++How much left/right channels contribute to the audio. (The implementation ++of this feature is rather odd. It doesn\(aqt change the volumes of each ++channel, but instead sets up a pan matrix to mix the left and right ++channels.) +.sp +Deprecated. +.TP @@ -2226,12 +2327,10 @@ index 0000000..fadcd48 +Audio delay in seconds (positive or negative float value). Positive values +delay the audio, and negative values delay the video. +.TP -+.B \fB\-\-no\-audio\fP -+Do not play sound. -+.TP -+.B \fB\-\-mute=\fP -+Set startup audio mute status. \fBauto\fP (default) will not change the mute -+status. ++.B \fB\-\-mute=\fP ++Set startup audio mute status (default: no). ++.sp ++\fBauto\fP is a deprecated possible value that is equivalent to \fBno\fP\&. +.sp +See also: \fB\-\-volume\fP\&. +.TP @@ -2548,14 +2647,16 @@ index 0000000..fadcd48 +Changing styling and position does not work with all subtitles. Image\-based +subtitles (DVD, Bluray/PGS, DVB) cannot changed for fundamental reasons. +Subtitles in ASS format are normally not changed intentionally, but -+overriding them can be controlled with \fB\-\-ass\-style\-override\fP\&. ++overriding them can be controlled with \fB\-\-sub\-ass\-style\-override\fP\&. ++.sp ++Previously some options working on text subtitles were called ++\fB\-\-sub\-text\-*\fP, they are now named \fB\-\-sub\-*\fP, and those specifically ++for ASS have been renamed from \fB\-\-ass\-*\fP to \fB\-\-sub\-ass\-*\fP\&. ++They are now all in this section. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP -+.B \fB\-\-no\-sub\fP -+Do not select any subtitle when the file is loaded. -+.TP +.B \fB\-\-sub\-demuxer=<[+]name>\fP +Force subtitle demuxer type for \fB\-\-sub\-file\fP\&. Give the demuxer name as +printed by \fB\-\-sub\-demuxer=help\fP\&. @@ -2612,7 +2713,7 @@ index 0000000..fadcd48 +.INDENT 7.0 +.INDENT 3.5 +This affects ASS subtitles as well, and may lead to incorrect subtitle -+rendering. Use with care, or use \fB\-\-sub\-text\-font\-size\fP instead. ++rendering. Use with care, or use \fB\-\-sub\-font\-size\fP instead. +.UNINDENT +.UNINDENT +.TP @@ -2635,10 +2736,10 @@ index 0000000..fadcd48 +scales with the approximate window size, while the other option disables +this scaling. +.sp -+Affects plain text subtitles only (or ASS if \fB\-\-ass\-style\-override\fP is ++Affects plain text subtitles only (or ASS if \fB\-\-sub\-ass\-style\-override\fP is +set high enough). +.TP -+.B \fB\-\-ass\-scale\-with\-window=\fP ++.B \fB\-\-sub\-ass\-scale\-with\-window=\fP +Like \fB\-\-sub\-scale\-with\-window\fP, but affects subtitles in ASS format only. +Like \fB\-\-sub\-scale\fP, this can break ASS subtitles. +.sp @@ -2656,7 +2757,7 @@ index 0000000..fadcd48 +.INDENT 7.0 +.INDENT 3.5 +This affects ASS subtitles as well, and may lead to incorrect subtitle -+rendering. Use with care, or use \fB\-\-sub\-text\-margin\-y\fP instead. ++rendering. Use with care, or use \fB\-\-sub\-margin\-y\fP instead. +.UNINDENT +.UNINDENT +.TP @@ -2673,16 +2774,16 @@ index 0000000..fadcd48 +.UNINDENT +.UNINDENT +.TP -+.B \fB\-\-ass\-force\-style=<[Style.]Param=Value[,...]>\fP ++.B \fB\-\-sub\-ass\-force\-style=<[Style.]Param=Value[,...]>\fP +Override some style or script info parameters. +.INDENT 7.0 +.INDENT 3.5 +.IP "Examples" +.INDENT 0.0 +.IP \(bu 2 -+\fB\-\-ass\-force\-style=FontName=Arial,Default.Bold=1\fP ++\fB\-\-sub\-ass\-force\-style=FontName=Arial,Default.Bold=1\fP +.IP \(bu 2 -+\fB\-\-ass\-force\-style=PlayResY=768\fP ++\fB\-\-sub\-ass\-force\-style=PlayResY=768\fP +.UNINDENT +.UNINDENT +.UNINDENT @@ -2694,7 +2795,7 @@ index 0000000..fadcd48 +.UNINDENT +.UNINDENT +.TP -+.B \fB\-\-ass\-hinting=\fP ++.B \fB\-\-sub\-ass\-hinting=\fP +Set font hinting type. can be: +.INDENT 7.0 +.TP @@ -2721,10 +2822,10 @@ index 0000000..fadcd48 +.UNINDENT +.UNINDENT +.TP -+.B \fB\-\-ass\-line\-spacing=\fP ++.B \fB\-\-sub\-ass\-line\-spacing=\fP +Set line spacing value for SSA/ASS renderer. +.TP -+.B \fB\-\-ass\-shaper=\fP ++.B \fB\-\-sub\-ass\-shaper=\fP +Set the text layout engine used by libass. +.INDENT 7.0 +.TP @@ -2738,7 +2839,7 @@ index 0000000..fadcd48 +\fBcomplex\fP is the default. If libass hasn\(aqt been compiled against HarfBuzz, +libass silently reverts to \fBsimple\fP\&. +.TP -+.B \fB\-\-ass\-styles=\fP ++.B \fB\-\-sub\-ass\-styles=\fP +Load all SSA/ASS styles found in the specified file and use them for +rendering text subtitles. The syntax of the file is exactly like the \fB[V4 +Styles]\fP / \fB[V4+ Styles]\fP section of SSA/ASS. @@ -2750,12 +2851,12 @@ index 0000000..fadcd48 +.UNINDENT +.UNINDENT +.TP -+.B \fB\-\-ass\-style\-override=\fP ++.B \fB\-\-sub\-ass\-style\-override=\fP +Control whether user style overrides should be applied. +.INDENT 7.0 +.TP +.B yes -+Apply all the \fB\-\-ass\-*\fP style override options. Changing the default ++Apply all the \fB\-\-sub\-ass\-*\fP style override options. Changing the default +for any of these options can lead to incorrect subtitle rendering +(default). +.TP @@ -2766,7 +2867,7 @@ index 0000000..fadcd48 +Render subtitles as forced by subtitle scripts. +.TP +.B force -+Try to force the font style as defined by the \fB\-\-sub\-text\-*\fP ++Try to force the font style as defined by the \fB\-\-sub\-*\fP +options. Can break rendering easily. +.TP +.B strip @@ -2774,7 +2875,7 @@ index 0000000..fadcd48 +is equivalent to the old \fB\-\-no\-ass\fP / \fB\-\-no\-sub\-ass\fP options. +.UNINDENT +.TP -+.B \fB\-\-ass\-force\-margins\fP ++.B \fB\-\-sub\-ass\-force\-margins\fP +Enables placing toptitles and subtitles in black borders when they are +available, if the subtitles are in the ASS format. +.sp @@ -2783,14 +2884,14 @@ index 0000000..fadcd48 +.B \fB\-\-sub\-use\-margins\fP +Enables placing toptitles and subtitles in black borders when they are +available, if the subtitles are in a plain text format (or ASS if -+\fB\-\-ass\-style\-override\fP is set high enough). ++\fB\-\-sub\-ass\-style\-override\fP is set high enough). +.sp +Default: yes. +.sp -+Renamed from \fB\-\-ass\-use\-margins\fP\&. To place ASS subtitles in the borders -+too (like the old option did), also add \fB\-\-ass\-force\-margins\fP\&. ++Renamed from \fB\-\-sub\-ass\-use\-margins\fP\&. To place ASS subtitles in the borders ++too (like the old option did), also add \fB\-\-sub\-ass\-force\-margins\fP\&. +.TP -+.B \fB\-\-ass\-vsfilter\-aspect\-compat=\fP ++.B \fB\-\-sub\-ass\-vsfilter\-aspect\-compat=\fP +Stretch SSA/ASS subtitles when playing anamorphic videos for compatibility +with traditional VSFilter behavior. This switch has no effect when the +video is stored with square pixels. @@ -2807,7 +2908,7 @@ index 0000000..fadcd48 +.sp +Enabled by default. +.TP -+.B \fB\-\-ass\-vsfilter\-blur\-compat=\fP ++.B \fB\-\-sub\-ass\-vsfilter\-blur\-compat=\fP +Scale \fB\eblur\fP tags by video resolution instead of script resolution +(enabled by default). This is bug in VSFilter, which according to some, +can\(aqt be fixed anymore in the name of compatibility. @@ -2816,7 +2917,7 @@ index 0000000..fadcd48 +offset scale factor, not what the video filter chain or the video output +use. +.TP -+.B \fB\-\-ass\-vsfilter\-color\-compat=\fP ++.B \fB\-\-sub\-ass\-vsfilter\-color\-compat=\fP +Mangle colors like (xy\-)vsfilter do (default: basic). Historically, VSFilter +was not color space aware. This was no problem as long as the color space +used for SD video (BT.601) was used. But when everything switched to HD @@ -2847,7 +2948,7 @@ index 0000000..fadcd48 +.sp +Choosing anything other than \fBno\fP will make the subtitle color depend on +the video color space, and it\(aqs for example in theory not possible to reuse -+a subtitle script with another video file. The \fB\-\-ass\-style\-override\fP ++a subtitle script with another video file. The \fB\-\-sub\-ass\-style\-override\fP +option doesn\(aqt affect how this option is interpreted. +.TP +.B \fB\-\-stretch\-dvd\-subs=\fP @@ -2881,16 +2982,16 @@ index 0000000..fadcd48 +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 -+This has been deprecated by \fB\-\-ass\-style\-override=strip\fP\&. You also ++This has been deprecated by \fB\-\-sub\-ass\-style\-override=strip\fP\&. You also +may need \fB\-\-embeddedfonts=no\fP to get the same behavior. Also, -+using \fB\-\-ass\-style\-override=force\fP should give better results ++using \fB\-\-sub\-ass\-style\-override=force\fP should give better results +without breaking subtitles too much. +.UNINDENT +.UNINDENT +.sp +If \fB\-\-no\-sub\-ass\fP is specified, all tags and style declarations are +stripped and ignored on display. The subtitle renderer uses the font style -+as specified by the \fB\-\-sub\-text\-\fP options instead. ++as specified by the \fB\-\-sub\-\fP options instead. +.sp +\fBNOTE:\fP +.INDENT 7.0 @@ -3082,6 +3183,161 @@ index 0000000..fadcd48 +uses it for fast elimination of duplicates. This option disables caching +of subtitles across seeks, so after a seek libass can\(aqt eliminate subtitle +packets with the same ReadOrder as earlier packets. ++.TP ++.B \fB\-\-teletext\-page=<1\-999>\fP ++This works for \fBdvb_teletext\fP subtitle streams, and if FFmpeg has been ++compiled with support for it. ++.TP ++.B \fB\-\-sub\-font=\fP ++Specify font to use for subtitles that do not themselves ++specify a particular font. The default is \fBsans\-serif\fP\&. ++.INDENT 7.0 ++.INDENT 3.5 ++.IP "Examples" ++.INDENT 0.0 ++.IP \(bu 2 ++\fB\-\-sub\-font=\(aqBitstream Vera Sans\(aq\fP ++.IP \(bu 2 ++\fB\-\-sub\-font=\(aqMS Comic Sans\(aq\fP ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.sp ++\fBNOTE:\fP ++.INDENT 7.0 ++.INDENT 3.5 ++The \fB\-\-sub\-font\fP option (and many other style related \fB\-\-sub\-\fP ++options) are ignored when ASS\-subtitles are rendered, unless the ++\fB\-\-no\-sub\-ass\fP option is specified. ++.sp ++This used to support fontconfig patterns. Starting with libass 0.13.0, ++this stopped working. ++.UNINDENT ++.UNINDENT ++.TP ++.B \fB\-\-sub\-font\-size=\fP ++Specify the sub font size. The unit is the size in scaled pixels at a ++window height of 720. The actual pixel size is scaled with the window ++height: if the window height is larger or smaller than 720, the actual size ++of the text increases or decreases as well. ++.sp ++Default: 55. ++.TP ++.B \fB\-\-sub\-back\-color=\fP ++See \fB\-\-sub\-color\fP\&. Color used for sub text background. ++.TP ++.B \fB\-\-sub\-blur=<0..20.0>\fP ++Gaussian blur factor. 0 means no blur applied (default). ++.TP ++.B \fB\-\-sub\-bold=\fP ++Format text on bold. ++.TP ++.B \fB\-\-sub\-italic=\fP ++Format text on italic. ++.TP ++.B \fB\-\-sub\-border\-color=\fP ++See \fB\-\-sub\-color\fP\&. Color used for the sub font border. ++.sp ++\fBNOTE:\fP ++.INDENT 7.0 ++.INDENT 3.5 ++ignored when \fB\-\-sub\-back\-color\fP is ++specified (or more exactly: when that option is not set to completely ++transparent). ++.UNINDENT ++.UNINDENT ++.TP ++.B \fB\-\-sub\-border\-size=\fP ++Size of the sub font border in scaled pixels (see \fB\-\-sub\-font\-size\fP ++for details). A value of 0 disables borders. ++.sp ++Default: 3. ++.TP ++.B \fB\-\-sub\-color=\fP ++Specify the color used for unstyled text subtitles. ++.sp ++The color is specified in the form \fBr/g/b\fP, where each color component ++is specified as number in the range 0.0 to 1.0. It\(aqs also possible to ++specify the transparency by using \fBr/g/b/a\fP, where the alpha value 0 ++means fully transparent, and 1.0 means opaque. If the alpha component is ++not given, the color is 100% opaque. ++.sp ++Passing a single number to the option sets the sub to gray, and the form ++\fBgray/a\fP lets you specify alpha additionally. ++.INDENT 7.0 ++.INDENT 3.5 ++.IP "Examples" ++.INDENT 0.0 ++.IP \(bu 2 ++\fB\-\-sub\-color=1.0/0.0/0.0\fP set sub to opaque red ++.IP \(bu 2 ++\fB\-\-sub\-color=1.0/0.0/0.0/0.75\fP set sub to opaque red with 75% alpha ++.IP \(bu 2 ++\fB\-\-sub\-color=0.5/0.75\fP set sub to 50% gray with 75% alpha ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.sp ++Alternatively, the color can be specified as a RGB hex triplet in the form ++\fB#RRGGBB\fP, where each 2\-digit group expresses a color value in the ++range 0 (\fB00\fP) to 255 (\fBFF\fP). For example, \fB#FF0000\fP is red. ++This is similar to web colors. Alpha is given with \fB#AARRGGBB\fP\&. ++.INDENT 7.0 ++.INDENT 3.5 ++.IP "Examples" ++.INDENT 0.0 ++.IP \(bu 2 ++\fB\-\-sub\-color=\(aq#FF0000\(aq\fP set sub to opaque red ++.IP \(bu 2 ++\fB\-\-sub\-color=\(aq#C0808080\(aq\fP set sub to 50% gray with 75% alpha ++.UNINDENT ++.UNINDENT ++.UNINDENT ++.TP ++.B \fB\-\-sub\-margin\-x=\fP ++Left and right screen margin for the subs in scaled pixels (see ++\fB\-\-sub\-font\-size\fP for details). ++.sp ++This option specifies the distance of the sub to the left, as well as at ++which distance from the right border long sub text will be broken. ++.sp ++Default: 25. ++.TP ++.B \fB\-\-sub\-margin\-y=\fP ++Top and bottom screen margin for the subs in scaled pixels (see ++\fB\-\-sub\-font\-size\fP for details). ++.sp ++This option specifies the vertical margins of unstyled text subtitles. ++If you just want to raise the vertical subtitle position, use \fB\-\-sub\-pos\fP\&. ++.sp ++Default: 22. ++.TP ++.B \fB\-\-sub\-align\-x=\fP ++Control to which corner of the screen text subtitles should be ++aligned to (default: \fBcenter\fP). ++.sp ++Never applied to ASS subtitles, except in \fB\-\-no\-sub\-ass\fP mode. Likewise, ++this does not apply to image subtitles. ++.TP ++.B \fB\-\-sub\-align\-y=\fP ++Vertical position (default: \fBbottom\fP). ++Details see \fB\-\-sub\-align\-x\fP\&. ++.TP ++.B \fB\-\-sub\-shadow\-color=\fP ++See \fB\-\-sub\-color\fP\&. Color used for sub text shadow. ++.TP ++.B \fB\-\-sub\-shadow\-offset=\fP ++Displacement of the sub text shadow in scaled pixels (see ++\fB\-\-sub\-font\-size\fP for details). A value of 0 disables shadows. ++.sp ++Default: 0. ++.TP ++.B \fB\-\-sub\-spacing=\fP ++Horizontal sub font spacing in scaled pixels (see \fB\-\-sub\-font\-size\fP ++for details). This value is added to the normal letter spacing. Negative ++values are allowed. ++.sp ++Default: 0. +.UNINDENT +.SS Window +.INDENT 0.0 @@ -3640,10 +3896,6 @@ index 0000000..fadcd48 +.UNINDENT +.UNINDENT +.TP -+.B \fB\-\-bluray\-angle=\fP -+Some Blu\-ray discs contain scenes that can be viewed from multiple angles. -+This option tells mpv which angle to use (default: 1). -+.TP +.B \fB\-\-cdda\-...\fP +These options can be used to tune the CD Audio reading feature of mpv. +.TP @@ -4102,9 +4354,8 @@ index 0000000..fadcd48 +.B \fB\-\-osd\-duration=