mpv v0.28.0 Release Notes

Release Date: 2017-12-24 // over 3 years ago
  • ๐Ÿš€ This release needs recent FFmpeg (newer than 3.4) due to major refactoring.
    Required library versions:

    • libavutil >= 56.6.100
    • libavcodec >= 58.7.100
    • libavformat >= 58.0.102
    • libswscale >= 5.0.101
    • libavfilter >= 7.0.101
    • libswresample >= 3.0.100

    The LGPL 2.1+ relicensing process is now mostly complete. The remaining GPL-only
    ๐Ÿ— code (see Copyright file) can be disabled at build time by using --enable-lgpl.

    ๐Ÿ”‹ Features

    โž• Added

    • โž• Add DRM_PRIME Format Handling and Display for RockChip MPP decoders
    • ๐Ÿ‘ csputils: Add support for Display P3 primaries
    • ๐Ÿ‘€ demux: support multiple seekable cached ranges, display cache ranges on OSC
    • ๐Ÿ‘ demux_playlist: support .url files (#5107)
    • ๐Ÿ‘ dvb: Add multiple frontends support (up to 8)
    • ๐Ÿ’… dvb: implement parsing of modulation for VDR-style channels config
    • hwdec: add mediacodec hardware decoder for IMGFMT_MEDIACODEC frames,
      ๐Ÿ“‡ rename mediacodec to mediacodec-copy
    • 0๏ธโƒฃ lua: integrate stats.lua script (bound to i/I by default)
    • ๐Ÿ‘ vd_lavc: add support for nvdec hwaccel
    • vo_gpu: add android opengl backend
    • ๐Ÿ‘ vo_gpu: initial d3d11 support
    • ๐Ÿ‘ vo_gpu: vulkan support

    โœ‚ Removed

    • ๐Ÿšš af: remove deprecated audio filters (channels, equalizer, pan, volume;
      replacements in lavfi)
    • ๐Ÿšš vf: remove most GPL video filters (crop, dsize, expand, flip, gradfun, mirror,
      noformat, pullup, rotate, scale, stereo3d, yadif; replacements in lavfi)
    • ๐Ÿšš vf_buffer: remove this filter
    • ๐Ÿšš video: remove automatic stereo3d filter insertion
    • ๐Ÿšš vo_gpu: remove hwdec_vaglx interop
    • โ™ป๏ธ vo_opengl: refactor into vo_gpu
    • ๐Ÿšš vo_wayland: remove

    Options and Commands

    โž• Added

    • demux: add option to create CC tracks eagerly (--sub-create-cc-track)
    • options: add --start=none to reset previously set start time
    • options: add --vlang switch

    ๐Ÿ”„ Changed

    • 0๏ธโƒฃ cache: lower default size to 2*10MB
    • demux: bump the demuxer cache readahead duration to 10 hours
    • ๐Ÿ‘€ demux: use seekable cache for network by default, bump prefetch limit
    • ๐ŸŒฒ msg: make --msg-level affect --log-file too
    • player/misc.c: allow both --length and --end to control play endpoint
    • player: match subtitles with language tags with --sub-auto=exact
    • ๐Ÿ“‡ rename --opengl-hwdec-interop to --gpu-hwdec-interop (now mostly useless)
    • ๐Ÿ‘ vd_lavc: prefer nvdec over vdpau with --hwdec=auto (better codec and surface
      ๐Ÿ‘ format support)
    • vd_lavc: rename --hwdec=rpi to --hwdec=mmal

    โœ‚ Removed

    • ๐Ÿšš options: remove --heartbeat-cmd and --heartbeat-interval
      ๐Ÿ›  (incidentally fixes #4888)

    ๐Ÿ›  Fixes and Minor Enhancements

    • TOOLS/autoload.lua: add ogm, ogg and opus extensions
    • ๐Ÿ‘‰ Use /dev/tty instead of stdin for terminal input (#4190)
    • audio: add audio softvol processing to AO (replaces previously GPLโ€™d code)
    • audio: fix channel conversion with NA channels (e.g. with ALSA)
    • โšก๏ธ audio: fix missing volume update on init and reinit
    • csputils: Fix DCI P3 primaries white point
    • demux: don't allow subtitles to mess up buffered time display
    • demux: fix .cue files with audio files that contain attached pictures
    • ๐Ÿ‘€ demux: fix accounting for seekable ranges on track switches (fixes missing
      ๐Ÿ”€ audio when cycling through audio tracks with e.g. EDL, --merge-files, ordered
      chapters and youtube-dl pseudo DASH)
    • demux: fix crash with cue/ordered chapter files (#5027)
    • ๐Ÿ‘€ demux: speed up cache seeking with a coarse index
    • demux_lavf: always give libavformat the filename when probing
      (helps with mp3 files)
    • demux_mkv: add V_SNOW tag to mkv_video_tags
    • dvb: Fix long channel switching: next/prev channel
    • ๐Ÿ›  dvb: fixes for ATSC tuning
    • lavc_conv: clamp timestamps to positive (#5047)
    • ๐ŸŽ macOS: fix bundle on macOS High Sierra (10.13) (#4926, #4866)
    • mp_image: always copy color attributes on hw download (#4804)
    • mp_image: select an explicit fallback for chroma location (#4804)
    • ๐ŸŒฒ msg: bump log level of --log-file to -v -v
    • msg: reinterpret a bunch of message levels
    • osc: fix rare stack overflow when changing visibility mode
    • osdep/io: add android-related bullshit to fix files >2 GiB
    • player/playloop.c: respect playback start time when using --loop-file
    • ๐Ÿ‘€ player: allow seeking in cached parts of unseekable streams
    • player: make track language matching case insensitive (#5272)
    • player: use start timestamp for ab-looping if --ab-loop-a is absent
    • player: when loading external file, always add all track types (#5132)
    • ๐ŸŽ restore-old-bindings.conf: add old macOS/Wayland AXIS bindings
    • screenshot: create directories from template
    • scripting: report dlerror() output
    • sd_ass: accept RFC8081 font media types
    • sd_ass: accept otc as fallback OpenType collection file extension
    • โ†ช stream_libarchive: work around various types of locale braindeath
    • subprocess-win: don't change the mouse cursor when creating processes
    • video: add a hack to avoid missing subtitles with vf_sub (#5194)
    • video: fix alpha handling (#4983)
    • video: fix memory leaks (roughly 1 KB per decoded frame) with hwdec copy modes
    • video: fix rotation and deinterlace auto filters
    • video: properly pass through ICC data
    • ๐Ÿ‘ vo: add support for externally driven renderloop and make wayland use it
      ๐Ÿ”€ (partially fixes display-sync under wayland; disables rendering when window
      is invisible)
    • vo_gpu: change --tone-mapping-desaturate algorithm
    • vo_gpu: enable 3DLUTs in dumb mode
    • vo_gpu: fix gamma scale
    • vo_gpu: fix mobius tone mapping compatibility to GLSL 120 (#5069)
    • vo_gpu: fix video sometimes not being rerendered on equalizer change
    • vo_gpu: kill off FBOTEX_FUZZY (#1814)
    • vo_gpu: opengl: fix possible screenshot window crash (#4905)
    • vo_gpu: opengl: use GLX_MESA_swap_control where available
    • vo_gpu: reduce the --alpha=blend-tiles checkerboard intensity
    • ๐Ÿšš vo_gpu: win: remove exclusive-fullscreen detection hack
    • ๐Ÿšš vo_lavc: remove messy delayed subtitle rendering logic (#4689)
    • ๐Ÿ›  wayland_common: implement output tracking, many cleanups and bugfixes
    • ๐Ÿ Windows: skip window snapping if Windows handled it
    • ๐Ÿ Windows: add more-POSIXy versions of open() and fstat() (#4711)
    • ytdl_hook: don't prepend ytdl:// to non-youtube links in playlists (#5003)

    ๐Ÿ“„ 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.27.0..v0.28.0
    in the git repository or by visiting either
    v0.27.0...v0.28.0 or