v0.28.0
版本发布时间: 2017-12-25 07:23:44
mpv-player/mpv最新发布版本:v0.39.0(2024-09-24 01:38:39)
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
https://github.com/mpv-player/mpv/compare/v0.27.0...v0.28.0 or
https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.27.0..v0.28.0