Skip to content

Commit

Permalink
Merge branch 'master' into release/current
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Herkt committed Dec 11, 2015
2 parents a33a44c + 3d12312 commit 0607dce
Show file tree
Hide file tree
Showing 106 changed files with 3,308 additions and 4,045 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
/tags
/TAGS
/video/out/x11_icon.inc
/video/out/opengl/nnedi3_weights.inc
/demux/ebml_defs.c
/demux/ebml_types.h
/sub/osd_font.h
Expand Down
3 changes: 3 additions & 0 deletions Copyright
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ the code to LGPLv2.1+ at a later point without asking the contributor. (This
is a safeguard for making potential relicensing of the project to LGPLv2.1+
easier.) Using a more liberal license compatible to LGPLv2.1+ is also ok.

Some GPLv3 or LGPLv3 code in mpv can be enabled by building with --enable-gpl3,
and in this case, the resulting binaries must be distributed under GPLv3.

For information about authors and contributors, consult the git log, which
contains the complete SVN and CVS history as well.

Expand Down
3 changes: 1 addition & 2 deletions DOCS/client_api_examples/qt_opengl/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,5 @@ void MainWindow::pauseResume()

void MainWindow::setSliderRange(int duration)
{
const int time0 = m_mpv->getProperty("time-start").toInt();
m_slider->setRange(time0, time0+duration);
m_slider->setRange(0, duration);
}
2 changes: 1 addition & 1 deletion DOCS/client_api_examples/qt_opengl/mpvwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ void MpvWidget::initializeGL()

void MpvWidget::paintGL()
{
mpv_opengl_cb_draw(mpv_gl, QOpenGLContext::currentContext()->defaultFramebufferObject(), width(), -height());
mpv_opengl_cb_draw(mpv_gl, defaultFramebufferObject(), width(), -height());
}

void MpvWidget::swapped()
Expand Down
10 changes: 10 additions & 0 deletions DOCS/interface-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,16 @@ Interface changes

::

--- mpv 0.14.0 ---
- vo_opengl interpolation now requires --video-sync=display-... to be set
- change some vo_opengl defaults (including changing tscale)
- add "vsync-ratio", "estimated-display-fps" properties
- add --rebase-start-time option
This is a breaking change to start time handling. Instead of making start
time handling an aspect of different options and properties (like
"time-pos" vs. "playback-time"), make it dependent on the new option. For
compatibility, the "time-start" property now always returns 0, so code
which attempted to handle rebasing manually will not break.
--- mpv 0.13.0 ---
- remove VO opengl-cb frame queue suboptions (no replacement)
--- mpv 0.12.0 ---
Expand Down
58 changes: 49 additions & 9 deletions DOCS/man/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -329,9 +329,9 @@ List of Input Commands
This is similar to ``sub-step``, except that it seeks video and audio
instead of adjusting the subtitle delay.

Like with ``sub-step``, this works with external text subtitles only. For
embedded text subtitles (like with Matroska), this works only with subtitle
events that have already been displayed.
For embedded subtitles (like with Matroska), this works only with subtitle
events that have already been displayed, or are within a short prefetch
range.

``osd [<level>]``
Toggle OSD level. If ``<level>`` is specified, set the OSD mode
Expand Down Expand Up @@ -860,7 +860,11 @@ Property list
quantities: fps and possibly rounded timestamps.)

``path``
Full path of the currently played file.
Full path of the currently played file. Usually this is exactly the same
string you pass on the mpv command line or the ``loadfile`` command, even
if it's a relative path. If you expect an absolute path, you will have to
determine it yourself, for example by using the ``working-directory``
property.

``media-title``
If the currently played file has a ``title`` tag, use that.
Expand Down Expand Up @@ -921,6 +925,18 @@ Property list
(which can happen especially with bad source timestamps). For example,
using the ``display-desync`` mode should never change this value from 0.

``vsync-ratio``
For how many vsyncs a frame is displayed on average. This is available if
display-sync is active only. For 30 FPS video on a 60 Hz screen, this will
be 2. This is the moving average of what actually has been scheduled, so
24 FPS on 60 Hz will never remain exactly on 2.5, but jitter depending on
the last frame displayed.

``vo-delayed-frame-count``
Estimated number of frames delayed due to external circumstances in
display-sync mode. Note that in general, mpv has to guess that this is
happening, and the guess can be inaccurate.

``percent-pos`` (RW)
Position in current file (0-100). The advantage over using this instead of
calculating it out of other properties is that it properly falls back to
Expand All @@ -931,8 +947,9 @@ Property list
Position in current file in seconds.

``time-start``
Return the start time of the file. (Usually 0, but some kind of files,
especially transport streams, can have a different start time.)
Deprecated. Always returns 0. Before mpv 0.14, this used to return the start
time of the file (could affect e.g. transport streams). See
``--rebase-start-time`` option.

``time-remaining``
Remaining length of the file in seconds. Note that the file duration is not
Expand All @@ -942,9 +959,11 @@ Property list
``time-remaining`` scaled by the current ``speed``.

``playback-time`` (RW)
The playback time, which is the time relative to playback start. (This can
be different from the ``time-pos`` property if the file does not start at
position ``0``, in which case ``time-pos`` is the source timestamp.)
Position in current file in seconds. Unlike ``time-pos``, the time is
clamped to the range of the file. (Inaccurate file durations etc. could
make it go out of range. Also helpful when the user attempts to seek
outside of the file, as the seek target time is considered the current
position during seeking.)

``chapter`` (RW)
Current chapter number. The number of the first chapter is 0.
Expand Down Expand Up @@ -1426,6 +1445,19 @@ Property list

Has the same sub-properties as ``video-params``.

``video-frame-info``
Approximate information of the current frame. Note that if any of these
are used on OSD, the information might be off by a few frames due to OSD
redrawing and frame display being somewhat disconnected, and you might
have to pause and force a redraw.

Sub-properties:

``video-frame-info/picture-type``
``video-frame-info/interlaced``
``video-frame-info/tff``
``video-frame-info/repeat``

``fps``
Container FPS. This can easily contain bogus values. For videos that use
modern container formats or video codecs, this will often be incorrect.
Expand Down Expand Up @@ -1459,6 +1491,14 @@ Property list
available on all platforms. Note that any of the listed facts may change
any time without a warning.

``estimated-display-fps``
Only available if display-sync mode (as selected by ``--video-sync``) is
active. Returns the actual rate at which display refreshes seem to occur,
measured by system time.

``vsync-jitter``
Estimated deviation factor of the vsync duration.

``video-aspect`` (RW)
Video aspect, see ``--video-aspect``.

Expand Down
34 changes: 15 additions & 19 deletions DOCS/man/mpv.rst
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ x and z
Adjust subtitle delay by +/- 0.1 seconds.

l
Set/clear A-B loop points. See ``ab_loop`` command for details.
Set/clear A-B loop points. See ``ab-loop`` command for details.

L
Toggle infinite looping.
Expand Down Expand Up @@ -192,23 +192,19 @@ corresponding adjustment, or the software equalizer (``--vf=eq``).)
7 and 8
Adjust saturation.

(The following keys are valid only on OS X.)

command + 0
Alt+0 (and command+0 on OSX)
Resize video window to half its original size.
(On other platforms, you can bind keys to change the ``window-scale``
property.)

command + 1
Alt+1 (and command+1 on OSX)
Resize video window to its original size.

command + 2
Alt+2 (and command+2 on OSX)
Resize video window to double its original size.

command + f
command + f (OSX only)
Toggle fullscreen (see also ``--fs``).

command + [ and command + ]
command + [ and command + ] (OSX only)
Set video window alpha.

(The following keys are valid if you have a keyboard with multimedia keys.)
Expand Down Expand Up @@ -262,7 +258,7 @@ parser puts several options into a single string, and passes them to a
component at once, instead of using multiple options on the level of the
command line.

The suboption parser can quote strings with ``"``, ``'``, and ``[...]``.
The suboption parser can quote strings with ``"`` and ``[...]``.
Additionally, there is a special form of quoting with ``%n%`` described below.

For example, the ``opengl`` VO can take multiple options:
Expand Down Expand Up @@ -414,7 +410,7 @@ Escaping spaces and special characters

This is done like with command line options. The shell is not involved here,
but option values still need to be quoted as a whole if it contains certain
characters like spaces. A config entry can be quoted with ``"`` and ``'``,
characters like spaces. A config entry can be quoted with ``"``,
as well as with the fixed-length syntax (``%n%``) mentioned before. This is like
passing the exact contents of the quoted string as command line option. C-style
escapes are currently _not_ interpreted on this level, although some options do
Expand Down Expand Up @@ -566,13 +562,13 @@ listed.
this will indicate a problem. (``total-avsync-change`` property.)
- Encoding state in ``{...}``, only shown in encoding mode.
- Display sync state. If display sync is active (``display-sync-active``
property), this shows ``DS: +0.02598%``, where the number is the speed change
factor applied to audio to achieve sync to display, expressed in percent
deviation from 1.0 (``audio-speed-correction`` property). In sync modes which
don't resample, this will always be ``+0.00000%``.
- Missed frames, e.g. ``Missed: 4``. (``vo-missed-frame-count`` property.) Shows
up in display sync mode only. This is incremented each time a frame took
longer to display than intended.
property), this shows ``DS: 2.500/13``, where the first number is average
number of vsyncs per video frame (e.g. 2.5 when playing 24Hz videos on 60Hz
screens), which might jitter if the ratio doesn't round off, or there are
mistimed frames (``vsync-ratio``), and the second number of estimated number
of vsyncs which took too long (``vo-delayed-frame-count`` property). The
latter is a heuristic, as it's generally not possible to determine this with
certainty.
- Dropped frames, e.g. ``Dropped: 4``. Shows up only if the count is not 0. Can
grow if the video framerate is higher than that of the display, or if video
rendering is too slow. Also can be incremented on "hiccups" and when the video
Expand Down
Loading

0 comments on commit 0607dce

Please sign in to comment.