diff options
106 files changed, 3308 insertions, 4045 deletions
diff --git a/.gitignore b/.gitignore index 159e409d7d..c5ffe38485 100644 --- a/.gitignore +++ b/.gitignore @@ -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 @@ -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. diff --git a/DOCS/client_api_examples/qt_opengl/mainwindow.cpp b/DOCS/client_api_examples/qt_opengl/mainwindow.cpp index 2e3cf210ee..3ecd0a196d 100644 --- a/DOCS/client_api_examples/qt_opengl/mainwindow.cpp +++ b/DOCS/client_api_examples/qt_opengl/mainwindow.cpp @@ -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); } diff --git a/DOCS/client_api_examples/qt_opengl/mpvwidget.cpp b/DOCS/client_api_examples/qt_opengl/mpvwidget.cpp index 16b800995c..4d2cad6241 100644 --- a/DOCS/client_api_examples/qt_opengl/mpvwidget.cpp +++ b/DOCS/client_api_examples/qt_opengl/mpvwidget.cpp @@ -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() diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst index b81312f8e9..a7132797f3 100644 --- a/DOCS/interface-changes.rst +++ b/DOCS/interface-changes.rst @@ -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 --- diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst index 108c7a0de2..c3e69b3731 100644 --- a/DOCS/man/input.rst +++ b/DOCS/man/input.rst @@ -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 @@ -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. @@ -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 @@ -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 @@ -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. @@ -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. @@ -1459,6 +1491,14 @@ Property list available on all platforms. Note that any of the listed facts may change any time without a warning. |