Skip to content

v0.28.0

Compare
Choose a tag to compare
@mia-0 mia-0 released this 24 Dec 23:23
· 6745 commits to master since this release

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
  • 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

  • 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
    (https://git.io/vbiFJ)
  • 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
https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.27.0..v0.28.0