mpv v0.33.0 Release Notes

Release Date: 2020-11-22 // over 3 years ago
  • ๐Ÿš€ This release requires FFmpeg 4.0 or newer.

    ๐Ÿ‘ท For packagers: Note that mpv's build system is only supported on Python 3. If you use the bootstrap.py script it will take care of this, otherwise you need to explicitly invoke the build system using python3 waf.

    ๐Ÿ”‹ Features

    โž• Added

    • scripting: load scripts from directories
    • ๐ŸŒฒ mac: activate logging when started from the bundle
    • ytdl_hook.lua: delay load subtitles
    • sub: add an option to filter subtitles by regex
    • scripting: add a way to run subprocesses as "scripts"
    • ๐Ÿ‘ command: implement asynchronous commands and support for named arguments
    • player: add optional separate video decoding thread
    • ๐Ÿ‘ vo_gpu: d3d11: add support for exclusive fullscreen
    • ๐Ÿ w32_common: Support HiDPI on Windows
    • ๐Ÿ‘ vo_x11: add 10 bit support
    • vo_gpu: add BT.2390 tone-mapping
    • client API: add software rendering API
    • audio: add scaletempo2 filter based on chromium
    • auto_profiles: add this script
    • stream: Implement slice:// for reading slices of streams
    • player: add automatic loading of external cover art files
    • vo_sixel: implement terminal video output using sixel

    ๐Ÿ”„ Changed

    • 0๏ธโƒฃ sws_utils: use zimg by default if available
    • ๐Ÿ— build: pick up Lua 5.2 by default (preferred over 5.1)
    • ๐Ÿ— build: disable RPI vendor blob auto-detection in favor of open-source stack
    • ๐Ÿ— build: make C11 atomics mandatory
    • ๐Ÿ— build: make libass non-optional
    • player: stricter filename matching for external subtitle auto-loading
    • ๐Ÿ‘ lua: support Unicode paths in script loading and IO library
    • vo_direct3d: rip out texture video rendering path and dumb down OSD rendering
    • audio: rewrite internal audio handling and AO API
    • ๐Ÿ— build: disable GLX by default

    โœ‚ Removed

    • ๐Ÿ‘ stream_libarchive: disable tar support due to bugs
    • โœ‚ Remove remains of Libav compatibility
    • ๐Ÿšš stream_smb: remove due to lack of thread safety and the abundance of alternatives, FFmpeg still includes SMB support
    • ๐Ÿšš command: remove legacy hook API (has been deprecated for a long time)
    • ๐Ÿšš client API: remove deprecated qthelper.hpp header
    • โœ‚ removed audio outputs: sndio, rsound, oss
    • ๐Ÿšš x11: remove xdg-screensaver invocations that supported dbus based idle inhibit
    • client API: deactivate the opengl_cb API
    • ๐Ÿ‘ท build system: drop Python 2 compatbility

    Options and Commands

    โž• Added

    • demux: add option to disable cache "sharing" between back and forward buffers
    • player: add ab-loop-count option/property
    • 0๏ธโƒฃ ytdl_hook: add a way to use ytdl's default formats
    • ytdl_hook: add all_formats option that loads all formats that were found
    • 0๏ธโƒฃ demux_mkv: document probe-start-time option and enable it by default
    • command: extend osd-overlay command with bounds reporting
    • player: a number of new playlist contol commands/properties
    • ipc: add --input-ipc-client option
    • ๐Ÿ”€ options: add option to control display-sync factor
    • ๐Ÿ‘ vo_gpu: add better gamut clipping option
    • vo_gpu: vulkan: add ability to disable events
    • x11: add option to make window appear on a specific workspace
    • wayland: expose wayland-app-id as a user option
    • player: add --subs-with-matching-audio option
    • command: add read-only focused property
    • screenshot: option to use software rendering for screenshots
    • command: add delete-watch-later-config
    • command: new property mouse-pos with current position and hover state

    ๐Ÿ”„ Changed

    • ๐Ÿšš options: remove deprecation warning for "-foo bar" syntax
    • ๐Ÿ‘€ player: make audio hr-seek default
    • 0๏ธโƒฃ ad_lavc: disable decoder downmix by default
    • ๐Ÿ‘ command: support save-position-on-quit for "stop" command too
    • command: extend subprocess command
    • options: do not accept ":" as separator anymore in key/value lists

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ demux: deprecate --cache-secs

    โœ‚ Removed

    • ๐Ÿšš wayland: remove wayland-frame-wait-offset option
    • ๐Ÿšš input: remove deprecated --input-file option
    • ๐Ÿšš vo_vdpau: remove deprecated/inactive --vo-vdpau-deint option

    ๐Ÿ›  Fixes and Minor Enhancements

    • ๐Ÿ—„ options: stop hiding deprecated options from --help output
    • lua, js: add mp.get_script_directory() function
    • ๐Ÿ”’ lua: fix security relevant loading order issue with scripts
    • player: make screenshot each-frame mode more accurate
    • bash completion: complete ao/af/vo/vf options
    • ๐Ÿ‘ zimg: add alpha support
    • ๐Ÿ‘ wayland: make resizing better
    • edl: add mechanism for delay loading streams
    • ๐ŸŽ stream_file: fix caching-related performance regression on CIFS
    • โšก๏ธ cocoa-cb: fix crashes and issues with UI updates
    • sub, demux: improve behavior with negative subtitle delay/muxed subs
    • ๐Ÿ‘€ demux: make seek ranges work for static images + audio
    • ๐Ÿ‘ cocoa-cb: support maximize/minimize on startup
    • umpv: change from legacy FIFO to socket
    • ๐Ÿšš stats: move input speed to cache page, make it a graph
    • ๐ŸŽ stats: add fourth page with performance graphs
    • ๐Ÿ–จ command: print edition title to OSD when cycling
    • ๐Ÿ‘ zimg: add support for big endian input and output
    • ๐Ÿ‘ demux_mkv: add png intra support
    • ๐Ÿ— build: detect VT_GETMODE on FreeBSD and DragonFly
    • ๐Ÿ win32: use windows 10 native virtual-terminal if available
    • vo_gpu: enable frame caching for still frames
    • command: add property to return text subtitles in ASS
    • vo_gpu: ra_pl: add timers support
    • ๐Ÿ— build: allow vo_wlshm on more Wayland platforms (e.g. FreeBSD)
    • 0๏ธโƒฃ zimg: add slice threading and use it by default
    • command: add a way to access properties of a current track
    • vo_gpu: EGL: fix transparency on X11/EGL/Mesa
    • 0๏ธโƒฃ vd_lavc: add AV1 to the default allowed hwdec codec list

    ๐Ÿ“„ This listing is not complete. Check DOCS/client-api-changes.rst for a history
    ๐Ÿ“„ of changes to the client API, and DOCS/interface-changes.rst for a history
    of changes to other user-visible interfaces.

    ๐Ÿ‘€ A complete changelog can be seen by running git log v0.32.0..v0.33.0
    in the git repository or by visiting either
    v0.32.0...v0.33.0 or
    ๐ŸŒฒ https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.32.0..v0.33.0


Previous changes from v0.32.0

  • ๐Ÿš€ This release requires FFmpeg 4.0 or newer.

    ๐Ÿ”‹ Features

    โž• Added

    • ๐Ÿ‘ stream_libarchive: enable RAR5 support
    • bash completion: add initial implementation
    • ๐Ÿ‘ cocoa-cb: add support for forcing the dedicated GPU for rendering
    • cocoa-cb: add pinch to resize window gesture
    • ๐Ÿ‘ w32_common: support minimizing/maximizing using osc window controls

    ๐Ÿ”„ Changed

    • โš  wayland: print warning on GNOME due to serious issues with their compositor
    • ๐Ÿ‘€ player: write watch-later config even for unseekable streams

    โœ‚ Removed

    • vo_gpu: hwdec_vdpau: remove direct_mode
    • vo_gpu: hwdec_vaegl: remove support for old-style interop

    Options and Commands

    โž• Added

    • command: add a playlist-unshuffle command
    • command: add osd-dimensions property
    • ๐Ÿ” input: new PLAYONLY and PAUSEONLY keycodes

    ๐Ÿ”„ Changed

    • ๐Ÿ“œ options: change option parsing when using a single dash
      โš  This adds a warning for -o file.mkv and disallows the use of
      --o file.mkv (use --o=file.mkv instead).

    ๐Ÿ›  Fixes and Minor Enhancements

    • lua: fix mp.file_info for large files
    • vo_gpu: fix crash if dither texture fails to allocate
    • wayland: unscrew up cursors, fix various issues
    • osc: usability improvements for osc window controls

    ๐Ÿ“„ This listing is not complete. Check DOCS/client-api-changes.rst for a history
    ๐Ÿ“„ of changes to the client API, and DOCS/interface-changes.rst for a history
    of changes to other user-visible interfaces.

    ๐Ÿ‘€ A complete changelog can be seen by running git log v0.31.0..v0.32.0
    in the git repository or by visiting either
    v0.31.0...v0.32.0 or
    ๐ŸŒฒ https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.31.0..v0.32.0