summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/crosscompile-mingw.txt6
-rw-r--r--DOCS/man/en/changes.rst1
-rw-r--r--DOCS/man/en/input.rst7
-rw-r--r--DOCS/man/en/mpv.rst134
-rw-r--r--DOCS/man/en/options.rst6
-rw-r--r--Makefile13
-rwxr-xr-xTOOLS/svg2ico.sh64
-rwxr-xr-xTOOLS/umpv91
-rwxr-xr-xTOOLS/vdpau_functions.pl74
-rw-r--r--audio/filter/af_scaletempo.c4
-rw-r--r--audio/out/ao.c19
-rw-r--r--audio/out/ao.h4
-rw-r--r--audio/out/ao_coreaudio.c65
-rw-r--r--audio/out/ao_coreaudio_properties.c6
-rw-r--r--audio/out/ao_coreaudio_properties.h2
-rw-r--r--audio/out/ao_coreaudio_utils.c110
-rw-r--r--audio/out/ao_coreaudio_utils.h31
-rw-r--r--audio/out/ao_wasapi.c12
-rwxr-xr-xconfigure25
-rw-r--r--core/command.c215
-rw-r--r--core/input/input.c42
-rw-r--r--core/input/input.h10
-rw-r--r--core/m_config.c362
-rw-r--r--core/m_config.h92
-rw-r--r--core/m_option.c274
-rw-r--r--core/m_option.h16
-rw-r--r--core/m_property.c1
-rw-r--r--core/m_struct.c91
-rw-r--r--core/m_struct.h112
-rw-r--r--core/mp_core.h15
-rw-r--r--core/mp_msg.c251
-rw-r--r--core/mp_msg.h35
-rw-r--r--core/mplayer.c343
-rw-r--r--core/mpv_global.h12
-rw-r--r--core/options.c37
-rw-r--r--core/options.h5
-rw-r--r--core/parser-cfg.c9
-rw-r--r--core/parser-cfg.h3
-rw-r--r--core/parser-mpcmd.c12
-rw-r--r--core/screenshot.c8
-rw-r--r--core/timeline/tl_cue.c6
-rw-r--r--core/timeline/tl_edl.c4
-rw-r--r--core/timeline/tl_matroska.c12
-rw-r--r--demux/demux_lavf.c22
-rw-r--r--demux/stheader.h3
-rw-r--r--etc/encoding-example-profiles.conf2
-rw-r--r--etc/mplayer.icobin5694 -> 0 bytes
-rw-r--r--etc/mpv-icon.icobin0 -> 180007 bytes
-rw-r--r--osdep/mpv.rc2
-rw-r--r--stream/dvbin.h4
-rw-r--r--stream/stream.c181
-rw-r--r--stream/stream.h17
-rw-r--r--stream/stream_avdevice.c2
-rw-r--r--stream/stream_bluray.c46
-rw-r--r--stream/stream_cdda.c60
-rw-r--r--stream/stream_dvb.c89
-rw-r--r--stream/stream_dvd.c84
-rw-r--r--stream/stream_dvd.h3
-rw-r--r--stream/stream_file.c47
-rw-r--r--stream/stream_lavf.c9
-rw-r--r--stream/stream_memory.c2
-rw-r--r--stream/stream_mf.c4
-rw-r--r--stream/stream_null.c4
-rw-r--r--stream/stream_pvr.c4
-rw-r--r--stream/stream_radio.c33
-rw-r--r--stream/stream_smb.c27
-rw-r--r--stream/stream_tv.c32
-rw-r--r--stream/stream_vcd.c59
-rw-r--r--video/decode/dec_video.h6
-rw-r--r--video/decode/lavc.h19
-rw-r--r--video/decode/lavc_dr1.c45
-rw-r--r--video/decode/vd_lavc.c141
-rw-r--r--video/decode/vdpau.c228
-rw-r--r--video/decode/vdpau_old.c267
-rw-r--r--video/filter/vf.c5
-rw-r--r--video/filter/vf.h6
-rw-r--r--video/filter/vf_vo.c4
-rw-r--r--video/fmt-conversion.c6
-rw-r--r--video/img_format.c1
-rw-r--r--video/img_format.h5
-rw-r--r--video/mp_image.c38
-rw-r--r--video/mp_image_pool.c102
-rw-r--r--video/mp_image_pool.h8
-rw-r--r--video/out/cocoa_common.m85
-rw-r--r--video/out/gl_common.c4
-rw-r--r--video/out/gl_common.h4
-rw-r--r--video/out/gl_video.c106
-rw-r--r--video/out/gl_video.h2
-rw-r--r--video/out/gl_wayland.c7
-rw-r--r--video/out/vo.c47
-rw-r--r--video/out/vo.h14
-rw-r--r--video/out/vo_corevideo.c (renamed from video/out/vo_corevideo.m)44
-rw-r--r--video/out/vo_corevideo.h28
-rw-r--r--video/out/vo_opengl.c20
-rw-r--r--video/out/vo_vdpau.c374
-rw-r--r--video/out/wayland_common.c23
-rw-r--r--video/out/wayland_common.h1
-rw-r--r--video/vdpau.c73
-rw-r--r--video/vdpau.h55
-rw-r--r--video/vdpau_functions.inc41
100 files changed, 2906 insertions, 2280 deletions
diff --git a/DOCS/crosscompile-mingw.txt b/DOCS/crosscompile-mingw.txt
index 0a739a945e..968da6a435 100644
--- a/DOCS/crosscompile-mingw.txt
+++ b/DOCS/crosscompile-mingw.txt
@@ -11,7 +11,7 @@ Currently, using an experimental branch of MXE is required:
Warning: the original MinGW (http://www.mingw.org) is unsupported.
-Note that MingGW environments included in Linux distributions are often broken,
+Note that MinGW environments included in Linux distributions are often broken,
outdated and useless, and usually don't use MinGW-w64.
Example with MXE
@@ -25,7 +25,7 @@ cd /opt
git clone https://github.com/tonytheodore/mxe.git mingw
cd mingw
-# Edit the MXE target, so that MingGW-w64 for 32 bit targets is built.
+# Edit the MXE target, so that MinGW-w64 for 32 bit targets is built.
echo "MXE_TARGETS := i686-w64-mingw32" > settings.mk
@@ -38,7 +38,7 @@ make libass
make jpeg
make pthreads
-# MXE and MingGW-w64 don't provide up-to-date OpenGL headers (to my knowledge).
+# Older MXE and MinGW-w64 snapshots don't provide up-to-date OpenGL headers.
wget http://www.opengl.org/registry/api/glext.h
mv glext.h usr/i686-w64-mingw32/include/GL/
diff --git a/DOCS/man/en/changes.rst b/DOCS/man/en/changes.rst
index 5ff532ddc9..6705846fd5 100644
--- a/DOCS/man/en/changes.rst
+++ b/DOCS/man/en/changes.rst
@@ -65,6 +65,7 @@ General Changes for mplayer2 to mpv
``mpv input.mkv -o output.y4m --no-audio --oautofps --oneverdrop``.
* Image subtitles (DVDs etc.) are rendered in color and use more correct
positioning (color can be disabled with ``--sub-gray``)
+* Wayland support
* General code cleanups
* Many more changes
diff --git a/DOCS/man/en/input.rst b/DOCS/man/en/input.rst
index 9a7c9fc4a1..ae887a2080 100644
--- a/DOCS/man/en/input.rst
+++ b/DOCS/man/en/input.rst
@@ -289,6 +289,11 @@ Input Commands that are Possibly Subject to Change
refer to filters by name in all of the filter chain modification commands.
For ``add``, using an already used label will replace the existing filter.
+ The ``vf`` command shows the list of requested filters on the OSD after
+ changing the filter chain. This is roughly equivalent to
+ ``show_text ${vf}``. Note that auto-inserted filters for format conversion
+ are not shown on the list, only what was requested by the user.
+
.. admonition:: Example for input.conf
- ``a vf set flip`` turn video upside-down on the ``a`` key
@@ -469,6 +474,8 @@ Name W Comment
``track-list`` list of audio/video/sub tracks, cur. entr. marked
``chapter-list`` list of chapters, current entry marked
``quvi-format`` x see ``--quvi-format``
+``af`` x see ``--af``
+``vf`` x see ``--vf``
``options/name`` read-only access to value of option ``--name``
=============================== = ==================================================
diff --git a/DOCS/man/en/mpv.rst b/DOCS/man/en/mpv.rst
index 781687df0d..af905539f0 100644
--- a/DOCS/man/en/mpv.rst
+++ b/DOCS/man/en/mpv.rst
@@ -27,7 +27,7 @@ SYNOPSIS
| **mpv** [options] {group of files and options}
| **mpv** [bd]://[title][/device] [options]
| **mpv** dvd://[title|[start\_title]-end\_title][/device] [options]
-| **mpv** \vcd://track[/device]
+| **mpv** \vcd://[/device]
| **mpv** \tv://[channel][/input_id] [options]
| **mpv** radio://[channel|frequency][/capture] [options]
| **mpv** \pvr:// [options]
@@ -424,23 +424,6 @@ profile name ``default`` to continue with normal options.
device=spdif
-OPTIONS
-=======
-
-.. include:: options.rst
-
-.. include:: ao.rst
-
-.. include:: vo.rst
-
-.. include:: af.rst
-
-.. include:: vf.rst
-
-.. include:: encode.rst
-
-.. include:: input.rst
-
TAKING SCREENSHOTS
==================
@@ -459,6 +442,23 @@ taking screenshots is handled by the VOs, and adding the screenshot filter will
break hardware decoding. (The filter may still be useful for taking screenshots
at a certain point within the video chain when using multiple video filters.)
+OPTIONS
+=======
+
+.. include:: options.rst
+
+.. include:: ao.rst
+
+.. include:: vo.rst
+
+.. include:: af.rst
+
+.. include:: vf.rst
+
+.. include:: encode.rst
+
+.. include:: input.rst
+
.. include:: changes.rst
ENVIRONMENT VARIABLES
@@ -467,8 +467,15 @@ ENVIRONMENT VARIABLES
There are a number of environment variables that can be used to control the
behavior of mpv.
+``HOME``
+ Used to determine mpv config directory: ``$HOME/.mpv``
+
+``TERM``
+ Used to determine terminal type.
+
``MPV_HOME``
- Directory where mpv looks for user settings.
+ Directory where mpv looks for user settings. Overrides ``HOME``, and mpv
+ will try to load the config file as ``$MPV_HOME/config``.
``MPV_LOCALEDIR``
Directory where mpv looks for gettext translation files (if enabled).
@@ -478,12 +485,30 @@ behavior of mpv.
The resulting verbosity corresponds to that of ``--msglevel=5`` plus the
value of ``MPV_VERBOSE``.
-libaf:
- ``LADSPA_PATH``
- Specifies the search path for LADSPA plugins. If it is unset, fully
- qualified path names must be used.
+``MPV_LEAK_REPORT``
+ If set to ``1``, enable internal talloc leak reporting. Note that this can
+ cause trouble with multithreading, so only developers should use this.
+
+``LADSPA_PATH``
+ Specifies the search path for LADSPA plugins. If it is unset, fully
+ qualified path names must be used.
- FIXME: This is also mentioned in the ladspa section.
+``DISPLAY``
+ Standard X11 display name to use.
+
+FFmpeg/Libav:
+ This library accesses various environment variables. However, they are not
+ centrally documented, and documenting them is not our job. Therefore, the
+ list is incomplete.
+
+ Notable environment variables:
+
+ ``http_proxy``
+ URL to proxy for ``http://`` and ``https://`` URLs.
+
+ ``no_proxy``
+ List of domain patterns for which no proxy should be used.
+ List entries are separated by ``,``. Patterns can include ``*``.
libdvdcss:
``DVDCSS_CACHE``
@@ -540,60 +565,31 @@ libdvdcss:
``HOME``
FIXME: Document this.
-osdep:
- ``TERM``
- FIXME: Document this.
-libvo:
- ``DISPLAY``
- FIXME: Document this.
+EXIT CODES
+==========
- ``HOME``
- FIXME: Document this.
-
-libmpdemux:
-
- ``HOME``
- FIXME: Document this.
-
- ``HOMEPATH``
- FIXME: Document this.
-
- ``http_proxy``
- FIXME: Document this.
+Normally **mpv** returns 0 as exit code after finishing playback successfully.
+If errors happen, the following exit codes can be returned:
- ``LOGNAME``
- FIXME: Document this.
-
- ``USERPROFILE``
- FIXME: Document this.
-
-libavformat:
-
- ``AUDIO_FLIP_LEFT``
- FIXME: Document this.
-
- ``BKTR_DEV``
- FIXME: Document this.
-
- ``BKTR_FORMAT``
- FIXME: Document this.
-
- ``BKTR_FREQUENCY``
- FIXME: Document this.
-
- ``http_proxy``
- FIXME: Document this.
-
- ``no_proxy``
- FIXME: Document this.
+ :1: Error initializing mpv. This is also returned if unknown options are
+ passed to mpv.
+ :2: The file passed to mpv couldn't be played. This is somewhat fuzzy:
+ currently, playback of a file is considered to be successful if
+ initialization was mostly successful, even if playback fails
+ immediately after initialization.