Changes:
0.31.0
======
Features
--------
Added
~~~~~
- vo_gpu/d3d11: allow configurable swapchain color space for native HDR output
- player: add mechanisms for better logging as preperation for console.lua
- audio: add ao_audiotrack for Android
- input: introduce a pseudo key name that grabs all text input
- wayland: add grab zone for resizing window with mouse
- osc: implement pseudo client side decorations via OSC
- vf_gpu: add video filter using vo_gpu's renderer
- added console.lua: interactive REPL for input commands
- osc: display Santa hat for idle logo in December
- vd_lavc: add option to autoselect known good hwdec implementations
- mac: replace old event tap for media key support with MediaPlayer
Changed
~~~~~~~
- input: disable gamepad code by default
- vo_gpu: allow vdpau usage under EGL
- stream, demux: redo origin policy
Removed
~~~~~~~
- mac: remove Apple Remote support
- client API: deprecate tick event
Options and Commands
--------------------
Added
~~~~~
- vo_gpu/d3d11: add --d3d11-output-csp for configuring swap chain color space
- command: add command-list property
- command, input: add input-bindings property
- command: add --window-maximized and make --window-minimized settable
- command: add property returning hidpi scale
- command, lua: add a way to share data between scripts
- client API, lua: add new API for setting OSD overlays
Changed
~~~~~~~
- add a builtin "sw-fast" profile, which restores performance settings
for software video conversion. These were switched to higher quality.
This affects video outputs like vo_x11 and vo_drm, and screenshots.
- options: make --show-profile without parameters list all profiles
- wayland: support for --hidpi-window-scale option
- stream_lavf: set --network-timeout to 60 seconds by default
- x11: scale window-scale by DPI
Deprecated
~~~~~~~~~~
- deprecate --input-file
- deprecate --video-sync=display-adrop
- deprecate all input section commands
- deprecate --display-fps, replaced by --override-display-fps
Removed
~~~~~~~
- remove deprecated --playlist-pos alias
Fixes and Minor Enhancements
----------------------------
- vo_drm, vo_x11: allow use of zimg
- vo_sdl: Support mouse wheel input, Improve mouse button input
- video: fix track switching work for external images
- vo_gpu: fix infinite scaler reinit spam
- f_output_chain: fix possible crash when changing filters
- vo_gpu: opengl: add hack for ancient Mesa/GLX
- demux_lavf: export demuxer_id for more formats which have it
- lua: make later key bindings always have higher priority
- drm_common: fix display FPS estimation for interlaced modes
- vo_drm: fix incorrect pixel format possibly being picked for 30-bit
- zsh completion: fix pcre usage to really be optional
- options: increase consistency between list options and document them
- osc: reduce unnecesary CPU usage by using property notifications
pkgsrc changes:
- Drop dependency to libdvdread, no longer supported in favour of libdvdnav
- Remove `v4l2' option, option was removed and no longer supported
- Remove patch-audio_out_ao__oss.c, applied upstream
Changes:
Release 0.30.0
==============
This release requires FFmpeg 4.0 or newer.
This release has replaced the internal Vulkan rendering abstraction
with libplacebo's more up-to-date implementation.
Features
--------
Added
~~~~~
- vo_gpu: vulkan: hwdec_cuda: Add support for Vulkan interop
- command: support for async commands
- input: support for named arguments
- cocoa-cb: add support for mac 10.14 Dark mode and run time switching
- vo_gpu: switch to Vulkan API implementation based on libplacebo
- context_drm_egl: Add support for presentation feedback
- vo_gpu: implement error diffusion for dithering
- vo/gpu: hwdec_vdpau: Support direct mode for 4:4:4 content
- vo_gpu: hwdec_vaapi: Add Vulkan interop
- video, TOOLS: add vf_fingerprint and a skip-logo script
- vo_gpu: d3d11: add support for presentation feedback
- vo_drm: 30bpp support
- cocoa-cb: add support for 10bit opengl rendering
- video: add pure gamma TRC curves for 2.0, 2.4 and 2.6
- vo_drm: Implement N-buffering and presentation feedback
- Reintroduce vo_wayland as vo_wlshm
- video: add zimg wrapper
- wayland: add presentation time
- input: add gamepad support through SDL2
Changed
~~~~~~~
- cocoa-cb: use libmpv's advanced rendering control and timing
- vo_gpu: improve tone mapping desaturation
- vo_gpu: redesign peak detection algorithm
- vo_gpu: allow boosting dark scenes when tone mapping
- osc: improve look of seekranges
- vo_gpu: x11: remove special vdpau probing, use EGL by default
- demux: sort filenames naturally when playing a directory / archive
- stream_dvb: rewrite channel switching, remove old stream control
- filters: extend vf_format so that it can convert color parameters
Removed
~~~~~~~
- demux, stream: rip out the classic stream cache
- vo_gpu: removed internal Vulkan implementation
- Remove libdvdread support in favor of libdvdnav
- demux, stream: remove much of the optical disc support
- Remove classic Linux analog TV support, and DVB runtime controls
- demux, stream: remove old rar support in favor of libarchive
- vo_gpu: remove mali-fbdev
- vo_gpu: remove vdpau/GLX backend
- vf_vapourynth: remove Lua backend
- vo_gpu: remove hwdec_d3d11eglrgb
Options and Commands
--------------------
Added
~~~~~
- command: add a subprocess command
- vo_gpu: added --tone-mapping-max-boost, --hdr-peak-decay-rate,
--hdr-scene-threshold-low/high
- player: add --demuxer-cache-wait option
- Implement backwards playback
- demux: add a on-disk cache
- demux, command: add another stream recording mechanism, `dump-cache` command
- ao_pulse: add --pulse-allow-suspended
- command: add video-add/video-remove/video-reload commands
- demux_cue: added --demuxer-cue-codepage to select CUE sheet charset
- input: add keybind command
- command: add sub-start & sub-end properties
- video/d3d11: added --d3d11-adapter to select a rendering adapter by name
- vo_gpu/d3d11: added --d3d11-output-format for configuring swap chain format
Changed
~~~~~~~
- vo_gpu: split --linear-scaling into --linear-upscaling and
--linear-downscaling
- vo_gpu: split --tone-mapping-desaturate into strength and exponent
- drm: rename --drm-osd-plane-id to --drm-draw-plane, --drm-video-plane-id to
--drm-drmprime-video-plane, --drm-osd-size to --drm-draw-surface-size
Deprecated
~~~~~~~~~~
- options: deprecate --video-aspect, replaced by --video-aspect-override
- options: deprecate --record-file, --spirv-compiler
Removed
~~~~~~~
- options: remove deprecated --chapter option
- demux: remove "program" property
- stream: remove "disc-titles", "disc-title", "disc-title-list", and "angle"
properties
- cocoa-cb: remove --macos-title-bar-style, replaced by
--macos-title-bar-material and --macos-title-bar-appearance
- spirv: remove support for --spirv-compiler=nvidia (shaderc is the only
remaining option)
Fixes and Minor Enhancements
----------------------------
- context_drm_egl: implement n-buffering
- cocoa-cb: add support for custom colored title bar
- vo_gpu: x11egl: support Mesa OML sync extension
- demux, demux_edl: add extension for tracks sourced from separate streams
- context_drm_egl: Use eglGetPlatformDisplayEXT if available
- vo_gpu: vulkan: add Android context
- wayland: use xdg-decoration if available
- vo_gpu: glx: use GLX_OML_sync_control for better vsync reporting
- demux: runtime option changing for cache and stream recording
- x11: fix ICC profiling for multiple monitors
- zsh completion: move generation to runtime and improve
According upstream pull request 6612
(<https://github.com/mpv-player/mpv/pull/6612/>) and as noticed
via PR pkg/54426 newer Xcode (10.2) dropped support for Swift 3
that is used in mpv-0.29.1.
Workaround that by disabling swift support.
This will probably not needed and should be removed in next stable
mpv version.
Originally, packages were changed to support pulseaudio because NetBSD
didn't have a native audio mixer. But that isn't true any more.
SDL2 supports lots of audio (and video) outputs that mpv doesn't natively.
With the previous version all files with >2 audio channels and an audio device
that supported them actually fall back inconditionally to stereo channel.
(Hopefully now the logic to gracefully handle audio channels should
work, sorry again for the noise!)
pkgsrc changes:
- py-docutils and waf are tool dependencies
Changes:
Release 0.29.1
==============
A bug fix release for the 0.29 release branch.
Fixes and Minor Enhancements
----------------------------
- af_rubberband: Fix for A-V drift on seeking.
- ao_alsa: Fixes to remove spam during pausing and end-of-file.
- ao_jack: Fix for mpv attempting to connect to non-standard devices such as
MIDI.
- ao_openal: Drop support for Apple's bundled OpenAL due to lack of features
to successfully build.
- ao_pulse: Fix for audio buffer length calculation.
- demux_lavf: Fix EDL playback of certain DASH streams.
- demux_lavf: Mark v4l streams as not seekable.
- demux_raw: Fix for gapless playback from raw audio input.
- drm_atomic: Fix to enable video output with devices without a video overlay
plane.
- encode: Fix for crashes in case of failure to write to output.
- encode: Fix for encoding when utilizing lavfi-complex.
- Fix to strip HDR peak metadata if attached to SDR video (#6111)
- macOS: Capability to fall back on SW rendering for testing purposes.
- macOS: Fix for issues with the main menu.
- macOS: Fix for side by side split view.
- macOS: Fixes for crashes, most notably those happening on 10.14
(#5908, #6097, #6041, #6062).
- macOS: No longer let older, unsupported versions of the Swift build tools
through configure.
- manpage: Misc fixups.
- stream_{smb,file}: Fix for partial writes to buffers.
- stream_libarchive: Fix hang when an out-of-bound seek happens.
- stream_smb: Fix for crashes due to libsmbclient and threading (#5936).
- vo_gpu: Fix for corruption when multiple compute shaders override each
others' block sizes (#6083).
- ytdl_hook: Always load "ytdl://" URLs with ytdl_hook first.
- ytdl_hook: Fix audio streams not being picked up for some sites.
Options and Commands
--------------------
Added
~~~~~
- `--cocoa-cb-sw-renderer` to control whether or not to fall back on software
rendering on macOS.
pkgsrc changes:
- Drop sdl option, SDL1 is no longer supported by mpv (was used only for
audio)
Changes:
0.29.0
======
This release requires FFmpeg 4.0 or newer.
Features
--------
Added
~~~~~
- ao/openal: Add better sample format and channel layout selection
- ao/openal: Add support for direct channels output
- cocoa-cb: initial implementation via opengl-cb API
- context_drm_egl: Introduce 30bpp support (requires Mesa 18.0.0_rc4 or later)
- osx: add some more menu bar items as suggested by Apples's HIG
- vo_gpu: make screenshots use the GL renderer (#5498, #5240)
- x11: support Shift+TAB as an input key bind (#5849)
- ytdl_hook: support native dash demuxer, if present
Changed
~~~~~~~
- ao_alsa, ao_pulse: reduce requested buffer size
- audio: change format negotiation, remove channel remix fudging
- client API: deprecate opengl-cb API and introduce a replacement API
- demux: lower demuxer cache default sizes from 400MB/400MB to 50MB/150MB
- osx: always deactivate the early opengl flush on macOS
- scripting: change when/how player waits for scripts being loaded
- vo_gpu: various improvements to HDR peak detection
- vo_gpu: various improvements to HDR tone mapping
- wayland_common: update to stable xdg-shell
- ytdl_hook: parse youtube playlist urls to set start index if `--ytdl-raw-option=yes-playlist=` is specified
Deprecated
~~~~~~~~~~
- af_lavrresample: deprecate this filter
Removed
~~~~~~~
- build: drop support for SDL1 (only applied to ao_sdl)
Options and Commands
--------------------
Added
~~~~~
- add a number of --audio-resample-* options, which should from now on be used instead of --af-defaults=lavrresample:
- ao/openal: --openal-direct-channels
- command: add --osd-on-seek option defaulting to bar
- command: add a change-list command (#5435)
- options: add --http-proxy
- options: add a builtin low-latency profile
- vaapi: add option to select a non-default device path with --vaapi-device (#4320)
- video: add option to reduce latency by 1 or 2 frames
- vo_gpu: introduce --target-peak (#5521)
Changed
~~~~~~~
- command: change cycle-value command behavior (#5772)
- config: replace config dir lua-settings/ with dir script-opts/
- options: --lavfi-complex now requires uniquely named filter pads.
- options: --ytdl is now always enabled, even for libmpv
- options: make --deinterlace=yes always deinterlace (#5219)
- options: slightly improve filter help output for lavfi bridge
- vo: rename --vo=opengl-cb to --vo=libmpv
Deprecated
~~~~~~~~~~
- encoding: deprecate a bunch of obscure options (--ovoffset, --oaoffset, --ovfirst, --oafirst)
- options: deprecate --vf-defaults and --af-defaults
- osx: --gpu-context=cocoa with --gpu-api=opengl is now deprecated in favour of --vo=libmpv
Removed
~~~~~~~
- command: remove an old compatibility hack that allowed CLI aliases to be set as property, deprecated in 0.26.0
- input: remove legacy command handling for MPlayer commands that were deprecated in 2013
- options: drop --opensles-sample-rate, as --audio-samplerate should be used if desired
- options: drop deprecated --videotoolbox-format, --ff-aid, --ff-vid, --ff-sid, --ad-spdif-dtshd, --softvol options
- options: remove --video-stereo-mode
- options: remove deprecated ao/vo auto profiles
- options: remove the following encoding options: --ocopyts (now the default, old timestamp handling is gone), --oneverdrop (now default), --oharddup (you need to use --vf=fps=VALUE), --ofps, --oautofps, --omaxfps
Fixes and Minor Enhancements
----------------------------
- HIDRemote: fix volume buttons on macOS 10.13 (#5721)
- TOOLS/autoload: Fix broken "disabled" option
- TOOLS/autoload: be more robust with slow directory listings (#5618)
- ao_sdl: fix default buffer size
- build: add static libraries to libmpv.pc
- build: bump waf to 2.0.9 (fixes Python 3.7 compatibility)
- build: manually add standard library search paths for linking (#5791)
- common: round all integer times to milliseconds
- demux, player: fix playback of sparse video streams (w/ still images)
- demux: support for some kinds of timed metadata (e.g. ICY)
- demux_mkv: add V_AV1 identifier for AV1
- demux_mkv: support Meridian Lossless Packing in Matroska (#5923)
- display additional metadata tags during video playback
- drm_atomic: Fix memory leaks in drm_atomic_create
- enable cache for FUSE filesystems on OpenBSD and FreeBSD
- gpu: prefer 16bit floating point FBO formats to 16bit integer ones
- hwdec_vaegl: Fix VAAPI EGL interop used with gpu-context=drm
- input.conf: use exact value for [ binding, which does the inverse of ]
- input: add a keybinding to toggle hardware decoding
- input: minor additions to default key bindings (#973)
- osc: fix accidentally skipping files when seeking with slider
- player: fix strange behavior on edition switching
- player: fix track autoselection of external files yet again
- terminal-unix: stop trying to read when terminal disappears (#5842)
- video: actually wait for last frame being rendered on EOF
- video: fix --video-rotate in some cases
- video: fix crash with vdpau when reinitializing rendering (#5447)
- vo_gpu: fix anamorphic screenshots (#5619)
- vo_vdpau: fix resizing and rotation problems
0.28.2
This release contains an additional fix for CVE-2018-6360.
Fixes and Minor Enhancements
ytdl_hook: whitelist subtitle URLs as well (#5456)
0.28.1
This release fixes CVE-2018-6360.
Fixes and Minor Enhancements
ytdl_hook: whitelist protocols from urls retrieved from youtube-dl (#5456)
0.28.0
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)
Changes:
0.27.2
======
This release contains an additional fix for CVE-2018-6360.
Fixes and Minor Enhancements
----------------------------
- ytdl_hook: whitelist subtitle URLs as well (#5456)
pkgsrc changes:
- Remove patches/patch-player_lua_ytdl__hook.lua, no longer needed because it
is present since 0.27.1 and 0.28.1 mpv releases
Changes:
0.27.1
======
This releaes fixes CVE-2018-6360.
Fixes and Minor Enhancements
----------------------------
- ytdl_hook: whitelist protocols from urls retrieved from youtube-dl (#5456)
This change:
- properly enables dvdnav and dvdread support by passing
--enable-dvd{nav,read} via WAF_CONFIGURE_ARGS; they had both remained
disabled so far in spite of the inclusion of their buildlink3.mk files.
- adds a dependency on lcms2 to allow loading ICC profiles;
- bumps PKGREVISION.
LGTM leot@
Sync player/lua/ytdl_hook.lua with upstream commit
2a0f9fc1588d8bda51a6340197c54285f3f62755 minus hunks that need `on_load_fail'
hook introduced after mpv-0.27.
Bump PKGREVISION.
With waf-2.0.2 update the mpv binary was tried to install apparently in:
${DESTDIR}${WRKSRC}/${PREFIX}/bin
while with previous waf versions it was correctly installed in
${DESTDIR}${PREFIX}/bin
Pass `--bindir' via WAF_CONFIGURE_ARGS to fix that problem.
pkgsrc changes:
- Delete 2nd hunk of patches/patch-audio_out_ao__oss.c, it was fixed uptsream
and it is no more needed for 0.27.0.
Changes:
0.27.0
======
Features
--------
Added
~~~~~
- Windows: handle media keys
- libmpv: options: add a thread-safe way to notify option updates
- vd_lavc/vo_opengl: support embedded ICC profiles
- vo: rendering API abstraction for future non-GL video outputs
- vo_opengl: add a gamut warning feature to highlight out-of-gamut colors (--gamut-warning)
- vo_opengl: add direct rendering support (--vd-lavc-dr)
- vo_opengl: implement (faster) compute shader based EWA kernel
- vo_opengl: implement HLG OOTF inverse
- vo_opengl: support HDR peak detection (--hdr-compute-peak)
- vo_opengl: support float input pixel formats
- vo_opengl: support loading custom user textures (#4586)
- vo_opengl: support user compute shaders
Removed
~~~~~~~
- Remove video equalizer handling from vo_direct3d, vo_sdl, vo_vaapi, and vo_xv (GPL, not worth the effort to support legacy VOs)
Options and Commands
--------------------
Added
~~~~~
- macOS: add --no-native-fs option to disable the native macOS fullscreen (#4014)
- player: add --track-auto-selection option
Changed
~~~~~~~
- input: use mnemonic names for mouse buttons, same as Qt: https://doc.qt.io/qt-5/qt.html#MouseButton-enum
- options: change --loop semantics
- player: make --lavfi-complex changeable at runtime
- vf_eq: remove this filter (GPL; uses libavfilter’s eq filter now, with changed semantics)
- video: change --deinterlace behavior
- vo_opengl: generalize HDR tone mapping to gamut mapping, --hdr-tone-mapping → --tone-mapping
Removed
~~~~~~~
- --field-dominance (GPL-only author, no chance of relicensing)
- input: drop deprecated "osd" command
- options: drop --video-aspect-method=hybrid (GPL-only)
Fixes and Minor Enhancements
----------------------------
- TOOLS/autocrop.lua: fix cropdetect black limit for 10-bit videos
- TOOLS/lua/autodeint: update to lavfi-bridge
- TOOLS/lua/status-line: improve and update
- af_lavrresample: don't call swr_set_compensation() unless necessary (#4716)
- ao_oss: fix period_size calculation (#4642)
- ao_rsound: allow setting the host
- audio: fix spdif mode
- filter_kernels: correct spline64 kernel
- macOS: fix media keys input when other Apps steal the priority (#4834)
- macOS: fix the support of multiple renderers (GPU switch) (#2371)
- macOS: remove the standard "Show Tab Bar" menu item
- options: fix --include (#4673)
- player: fix --end with large values (#4650)
- player: fix confusion in audio resync code (#4688)
- player: make refresh seeks slightly more robust (#4757)
- player: readd smi subtitle extension (#4626)
- vd_lavc: change auto-probe order to prefer cuda over vdpau-copy
- vd_lavc: fix device leak with copy-mode hwaccels (#4735)
- vd_lavc: fix hwdec compatibility with yuvj420p formats
- vd_lavc: fix mid-stream hwdec fallback
- vf_vapoursynth: fix inverted sign and restore 10 bit support (#4720)
- video: increase --monitorpixelaspect range
- vo_opengl: adjust the rules for linearization (#4631)
- vo_opengl: scale deband-grain to the signal range
- vo_opengl: tone map on the maximum signal component
- x11: fix that window could be resized when using embedding (#4784)
- ytdl_hook: resolve relative paths when joining segment urls (#4827)
- ytdl_hook: support fragments with relative paths, fixes segmented DASH
pkgsrc changes:
- Adjust SUBST `audio' class after recent ao_oss changes
- Backport a patch to fix issue #4642 (`ao_oss: fix a dumb calculation').
Changes:
Release 0.26.0
==============
VA-API/VDPAU hardware decoding now requires FFmpeg > 3.2.
DVB support is disabled by default since it does not work with some older kernels.
Built-in V4L TV support is disabled by default. av://v4l2 can be used instead.
Support for C plugins is now enabled by default (#4491).
Many more parts of the player are now licensed under LGPL, see Copyright file.
Thanks to all contributors who have agreed to relicensing of their changes!
See #2033 for details.
Features
--------
Added
~~~~~
- Universal Windows Plaform (UWP) support (libmpv only)
- csputils: implement sony s-gamut
- js: add javascript scripting support using MuJS
See DOCS/man/javascript.rst for more details
- vo_opengl: add new HDR tone mapping algorithm (mobius, now default)
- vo_opengl: hwdec_cuda: Support separate decode and display devices
- vo_opengl: implement sony s-log1 and s-log2 trc
- vo_opengl: implement support for OOTFs and non-display referred content
Removed
~~~~~~~
- vf_dlopen: remove this filter
Options and Commands
--------------------
Added
~~~~~
- vo_opengl: add --tone-mapping-desaturate
- vo_opengl: support tone-mapping-param for `clip`
- ytdl_hook: add option to exclude URLs from being parsed
Changed
~~~~~~~
- allow setting profile option with libmpv
- audio: move replaygain control to top-level options
- external_files: parse ~ in --{sub,audio}-paths
- options: change --sub-fix-timing default to no (#4484)
- options: expose string list actions for --sub-file option
- options: slight cleanup of --sub-ass-style-override
* signfs → scale
* --sub-ass-style-override → --sub-ass-override
- renamed the HDR TRCs `st2084` and `std-b67` to `pq` and `hlg` respectively
- replace vf_format's `peak` suboption by `sig-peak`, which is relative to the reference white level instead of in cd/m^2
- the following options change to append-by-default (and possibly separator):
* --script
- video: change --video-aspect-method default value to `container`
Deprecated
~~~~~~~~~~
- m_option: deprecate multiple items for -add etc.
- player: deprecate "osd" command
- --audio-file-paths => --audio-file-path
- --sub-paths => --sub-file-path
- --opengl-shaders => --opengl-shader
- --sub-paths => --sub-file-paths
- the following options are deprecated for setting via API:
* "script" (use "scripts")
* "sub-file" (use "sub-files")
* "audio-file" (use "audio-files")
* "external-file" (use "external-files")
(the compatibility hacks for this will be removed after this release)
Removed
~~~~~~~
- chmap: remove misleading "downmix" channel layout name (#4545)
- demux_lavf: remove --demuxer-lavf-cryptokey option (#4579)
- input.conf: drop TV/DVB bindings
- options: remove remaining deprecated audio device selection options
* --alsa-device
* --oss-device
* --coreaudio-exclusive
* --pulse-sink
* --rsound-host/--rsound-port
* --ao-sndio-device
* --ao-wasapi-exclusive
* --ao-wasapi-device
- remove option --target-brightness
- remove property "video-params/nom-peak"
Fixes and Minor Enhancements
----------------------------
- TOOLS/lua/autoload.lua: actually sort files case insensitive (#4398)
- TOOLS/lua/autoload.lua: ignores all files starting with "."
- ao_openal: kill off device listing (#4311)
- ao_pulse: reorder format choice to prefer float and S32 over S16 as fallback format
- ao_wasapi: try correct initial format (#4582)
- command: add missing change notification for playlist-shuffle (#4573)
- demux_disc: fix bluray subtitle language retrieval (#4611)
- demux_mkv: fix alpha with vp9 + libvpx
- demux_mkv: support FFmpeg A_MS/ACM extensions
- ipc-unix: don’t truncate the message on EAGAIN (#4452)
- ipc: raise json nesting limit (#4394)
- macOS: fix mpv-wrapper.sh when used with csh or tcsh shell
- macOS: properly unhide Dock when quitting during System fs animation
- mpv_identify: replace deprecated fps property (#4550)
- options/path: fallback to USERPROFILE if HOME isn't set
- player: close audio device on no audio track
- player: fix potential segfault when playing dvd:// with DVD disabled (#4393)
- player: prevent seek position to jump around adjacent keyframes, e.g. when dragging the OSC bar on short videos (#4183)
- vo_opengl: bump up SHADER_MAX_HOOKS and MAX_TEXTURE_HOOKS to 64
- vo_opengl: correct off-by-one in scale=oversample
- vo_opengl: do not use vaapi-over-GLX (#4555)
- vo_opengl: fall back to ordered dither instead of blowing up (#4519)
- vo_opengl: tone map in linear XYZ instead of RGB
- x11: add 128x128 sized icon support
- ytdl_hook: add a header to support geo-bypass
- ytdl_hook: don't override start time set by saved state
- ytdl_hook: don't override user-set start time
- ytdl_hook: treat single-entry playlists as a single video
Previously playing files with more audio channels available than the ones
provided by audio device resulted in muted audio. A possible workaround to that
was forcing the `--audio-channels=2' or similar.
Thanks to <mrg> for kindly provided a reliable test (file|case) for that!
While here also get rid of a trailing whitespace in options.mk (spotted by
pkglint!)
Bump PKGREVISION.
This release drops support for OS X 10.7 and earlier.
Support for some optical media functionality (DVD/CD) is now disabled by default.
More parts of the player are now licensed under LGPL. In particular:
OSD symbol font
ass_mp, sd_ass
common.h
demux/packet
demux_mkv (with minor exceptions), ebml, matroska.h
sd_lavc
sub/osd
Thanks to all contributors who have agreed to relicensing of their changes!
See #2033 for details.
Starting with this release, releases will be tagged on the master branch.
The release/current branch is thus abandoned.
Features
Added
TOOLS: add acompressor.lua script for runtime acompressor ffmpeg filter control
dvb: add support for DVB-T2
lavfi: support hwdec filters for --lavfi-complex
macOS: initial Touch Bar support
osc: add volume button (mouse wheel to change volume)
sub: add SDH subtitle filter
vo_opengl: add experimental vdpauglx backend
vo_opengl: implement videotoolbox hwdec on iOS
Removed
image_writer: remove useless formats (PPM, PGM, TGA)
af_drc: remove (use --af=acompressor instead; higher quality)
Options and Commands
Added
--demuxer-lavf-probe-info
--sub-filter-sdh, --sub-filter-sdh-harder
add automatic libavfilter bridges to option parsing
command: add better runtime filter toggling method
command: add demux-start-time property
command: add property notifications for hwdec properties (#4289)
input: add "async" flag
osc: add user_opts.boxmaxchars for box layout title limit
player: add --keep-open-pause=no option
va_vavpp: reversal-bug=no
vo_opengl: --opengl-es=force2
vo_opengl: add --opengl-shader-cache-dir option for caching shaders on disk (mostly for ANGLE)
vo_opengl: angle: add --angle-flip to set the ANGLE present model
Changed
command: update sub-fps etc. options on runtime changes
vo_opengl: prefer X11 backends over Wayland backends
options: change --audio-file-auto default to not to load any files
Deprecated
audio: deprecate most non-lavfi audio filters
(channels, equalizer, pan, volume)
video: deprecate almost all non-lavfi video filters
(buffer, crop, dlopen, dsize, eq, expand, flip, gradfun, mirror, noformat,
pullup, rotate, scale, stereo3d, sub, yadif)
options: deprecate --loop semantics (planned alias to --loop-file)
Fixes and Minor Enhancements
Windows: demux_cue: fix UTF-8 paths
Windows: fix mismatched free/talloc_free (#4315)
Windows: fix undefined behaviour when toggling fullscreen
ao_alsa: close lost audio devices (#4189)
ao_alsa: filter fewer devices
ao_alsa: fix an error check (#4188)
ao_jack: update latency on buffer_size/graph change
ao_wasapi: do not pass nonsense to drivers with double precision formats
ass_mp: reallocate cached subtitle image data on format changes (#4325)
build: decouple dvdnav check from dvdread (#4290)
build: encode_lavc: fix build failure after libavcodec major bump
build: fix build with HAVE_GL==0
build: replace android-gl check with a standard GLES3 check
build: update bundled waf to 1.9.8
build: vd_lavc: fix potential build failure with vaapi
demux_lavf: disable half-working mp4 edit list support in libavcodec
demux_lavf: skip avformat_find_stream_info() for some formats (hls, mp4, mkv by default)
etc/encoding_profiles.conf: update and remove deprecated stuff
etc/mpv.conf: remove deprecated options
external_files: actually try to autoload from fallback paths
external_files: enable autoloading with URLs (#3264)
image_writer: make it work with libavcodec's jpg encoder
macOS: add --ontop-level option for modifying ontop window level (#2376, #3974)
macOS: add key mappings for previous and next Media Keys (#4204)
macOS: add option to force dedicated GPU (#3242)
macOS: fix autofit options on HiDPI resolutions without HiDPI scaling (#4194)
macOS: fix black edges on live resize
macOS: fix cursor hiding in the Dock area and top of the screen
macOS: fix event propagation of menu bar item key shortcuts
macOS: fix first responder when borderless window is used
macOS: fix key input in certain circumstances
macOS: fix retrieval of non-fullscreen window size, also while animating (#4323)
macOS: fix scroll wheel input with Shift modifier (#3506)
macOS: improve bundle environment variable handling (#2061)
macOS: make window draggable on init
macOS: only move window into screen bounds when changing screens (#4178)
macOS: only report mouse movements when window is not being dragged (might have triggered OSC and other scripts)
macOS: properly restore shell state when quitting from the Dock's context menu
macOS: refactor mouse events and cursor visibility (#1817, #3856, #4147)
macOS: set background of the title bar from black to white
osc: bottom/topbar: add fullscreen button
osc: bottom/topbar: don't clip title vertically
osc: bottom/topbar: increase timecodes width a bit (#3952)
osc: fix PlayResX undefined warning when aspect is 0
osc: fix window dragging with showwindowed=no (#1819)
osc: make title configurable and use property expansion on it (#4221)
osc: refactor osc message scaling (#4081, #4083, #4102)
player: don't block playback stop when seeking
player: enable "buffering" pausing for DASH streams too
player: fix core-idle and eof-reached update notifcations
player: make screenshot commands honor the async flag (#4250)
player: reduce blocking on VO when switching pause (#4152)
sd_ass: disable --sub-fix-timing if sub style override is fully disabled
stream/stream_dvdnav: don't ignore setting title (#4283)
stream_dvd: fix subs/audio detection on DVDs containing multi-PGC titles
vf_vavpp: add advanced deint bug compatibility for Intel vaapi drivers
vf_vavpp: fix first-field mode
vo_opengl: fix crash with temporal dithering in dumb mode
vo_opengl: hwdec_d3d11egl: make it work with some ANGLE DLL versions
vo_x11: reduce flickering on playlist navigation
wayland: correctly map mouse buttons
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.24.0..v0.25.0
in the git repository or by visiting either
v0.24.0...v0.25.0 or
https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.24.0..v0.25.0
Bump PKGREVISION
(Please note that previosly vaapi|vdpau were available thanks to <maya> works
via `--hwdec=vaapi|vdpau' via a vaapi|vdpau-aware ffmpeg3. This change just
enable them as `--vo=vaapi|vdpau' too)
Changes:
Release 0.24.0
==============
Features
--------
Added
~~~~~
- Windows: allow snapping to screen edges (#2248)
- macOS: add border cycling (#2430)
- player: add experimental C plugin interface
- player: add experimental stream recording feature (--record-file)
- player: add prefetching of the next playlist entry (--prefetch-playlist;
does NOT work with URLs resolved by youtube-dl)
- stream_lavf: add support for data URIs (#4058)
- vaapi: add support for 10-bit video formats (requires patched Mesa and
capable hardware)
- x11: pseudo HiDPI scaling
Options and Commands
--------------------
Added
~~~~~
- sub: add --sub-justify and --sub-ass-justify options
- sub: add option to force using video resolution for image subtitles
(--image-subs-video-resolution)
Changed
~~~~~~~
- command: rename framedrop properties
- drop-frame-count → decoder-frame-drop-count
- vo-drop-frame-count → frame-drop-count
- input.conf: change "L" to change loop-file by default
Deprecated
~~~~~~~~~~
- --hwdec-preload (replaced with --opengl-hwdec-interop)
Removed
~~~~~~~
- options: drop deprecated --sub-codepage syntax
- options: drop deprecated --vd/--ad codecs selection features
- player: remove --stream-capture option/property
Fixes and Minor Enhancements
----------------------------
- Windows: update the fullscreen state on restoring
- ad_spdif: fix obscure cases of AC3 passthrough (e.g. 44100 Hz AC3)
- ao_oss: use --audio-device if --oss-device isn't set (#4122)
- build: fix --disable-gl if cuda is enabled
- build: rpi: rely on pkgconfig for compiler flags to ease cross compilation
- charset_conv: fallback to interpreting subs as latin1 if iconv fails
- charset_conv: fix "auto" fallback with uchardet not compiled (#3954)
- client API: fix freeze when destroying mpv_handle before mpv_initialize
- client API: fix mpv_set_property() return value before init (#3988)
- command: fix potential crash for script-binding with multi-commands
- command: nicer OSD formatting for loop-file
- command: shorten long playlists on OSD
- config: do not resolve default profile during "include" processing (#4024)
- cuda: fix 10 bit decoding
- cue: accept lower-case cue commands (#4057)
- demux_mkv: any reference makes a frame not a keyframe (fixes seeking in WebM
files with alpha channel)
- lavfi: slightly better disconnected output handling (#4118)
- lua: close directory after reading its entries (#4045)
- macOS: consistent normalization when searching for external files (#4016)
- macOS: don't change Space on quit in fullscreen (#3957)
- macOS: don't constrain window frame for fullscreen (#4044)
- macOS: don't init displaylink on reconfig (#4031)
- macOS: fix build on OS X 10.9 (#3946)
- macOS: fix color profile retrieval
- macOS: fix displaylink refresh rate retrieval
- macOS: fix dropping of files and URLs (#4036)
- macOS: fix handling of geometry option (#3867)
- macOS: fix unwanted behavior with window level other than the default
(#1757, #1884)
- macOS: fix window size in certain circumstances
- macOS: properly recover from toggleFullscreen fail (#4035)
- osc: allow playlist buttons when looping (#4092)
- osc: bottom/topbar: clip title instead of stretching
- osc: bottombar/topbar: make chapter markers slightly bigger
- osc: box: clip with ellipsis after too much stretching
- osc: fix crashes related to field eventresponder being nil (#3210)
- player: add .scc subtitle extension
- stream_bluray: use proper 0-based index
- sub: remove .txt as text subtitle extension
- tv: fix segfaults on TV input (#4096)
- vaapi: set libva > 0.39.4 message callbacks to prevent it from printing
messages to the terminal
- vd_lavc: improved fallback behavior for --hwdec=cuda (#3914)
- vdpau: reject decoding of non-4:2:0 (would decode to garbage)
- vf_lavfi: don't crash with VOs without hardware decoding support (#4064)
- vo_opengl, vo_opengl_cb: better hwdec interop backend selection
- vo_opengl: angle: rewrite with custom swap chain (fixes problems with
e.g. 24 fps video on 24 Hz monitors, avoids problems with DirectComposition,
enables "screenshot window" command on Windows 8 and newer)
- vo_opengl: partially fix rotation for 4:2:2 content
- vo_opengl: x11egl: fix alpha mode
- wayland: fix high CPU usage with mpv paused and visible
- ytdl_hook, edl: implement pseudo-DASH support
- ytdl_hook: add non-dash fallbacks to default formats
- ytdl_hook: fix opening hitbox.tv rtmp stream
- ytdl_hook: respect --no-audio, don't force-select track
- ytdl_hook: support livestream segmented DASH VODs
- ytdl_hook: support segmented dash
Changes:
Release 0.23.0
==============
Now requires at least FFmpeg 3.2.2.
Features
--------
- vo_rpi: partially undeprecate
Added
~~~~~
- vo_opengl: hwdec_cuda: Support P016 output surfaces
Removed
~~~~~~~
- charset_conv: drop enca and libguess support in favor of uchardet
- vf_vdpaurb: remove this filter in favor of --hwdec=vdpau-copy
Options and Commands
--------------------
Added
~~~~~
- TOOLS/autoload: allow disabling through script-opts
- demux, stream: add --access-references to prevent opening referenced files
Deprecated
~~~~~~~~~~
- options: deprecate codec family selection in --vd/--ad
Removed
~~~~~~~
- macOS: remove --fs-black-out-screens
- options: remove deprecated sub-option handling for --vo and --ao
Fixes and Minor Enhancements
----------------------------
- Windows: window styles improvements (allow minimizing borderless/fullscreen window) (#2229, #2451)
- ad_spdif: Fix crash when spdif muxer is not available
- audio: fix --audio-stream-silence with ao_alsa
- audio: fix --audio-stream-silence with ao_wasapi
- build: drop build-time dependency on Perl
- build: support linking ANGLE (previously loaded dynamically)
- d3d11va: unconditionally load D3D DLLs (#3348)
- demux_mkv: fix seeking in some broken files (#3920)
- hwdec_cuda: allow building without CUDA SDK (load CUDA dynamically)
- macOS: fix dropping of URLs containing query strings on the window
- macOS: fullscreen refactoring (#2857, #3272, #1352, #2062, #3864)
- macOS: support append file to paylist on drop (#2166)
- macOS: update the menu and remove conflicting “Quit & remember position” item (#3865)
- osc: don't hide playlist buttons, just disable
- osc: fix possible race condition in right timecode
- osc: topbar: use same styles as bottombar
- player: don't print format detection error when aborting loading
- vdpau: fix vaapi probing if libvdpau-va-gl1 is present
- video: use demuxer-signaled duration for last video frame (#3924)
Changes:
Release 0.22.0
==============
Features
--------
Added
~~~~~
- audio/out: add AudioUnit output driver for iOS
- demux_mkv: parse Matroska colorimetry metadata
- filter_kernels: add ability to taper kernels/windows, add tukey window
- osc: add seekbarstyle=knob (#2365)
- video/out: add tct as modern caca alternative for true-color and 256-color terminals
- video: add --hwdec=vdpau-copy mode
Deprecated
~~~~~~~~~~
- vf_vdpaurb: deprecated in favor of --hwdec=vdpau-copy
Options and Commands
--------------------
Added
~~~~~
- --opengl-early-flush=auto
- --scale-taper, --scale-wtaper
- --scale-wblur
- macOS: --hidpi-window-scale (#3716)
- osc: add script message handlers for chapter/track/playlists
Fixes and Minor Enhancements
----------------------------
- Apply --autofit-larger after --autofit-smaller (#3753)
- Set subtitle track title to indicate hearing/visual impaired tracks
- ao_alsa: disable chmap API use for mono/stereo (#2905, #3045)
- build: add required failure message for libavfilter check (#3692)
- build: fix compilation with mingw-w64/Clang (#3800)
- build: make VideoToolbox available on iOS
- command: fix reset-on-next-file=all and tv-freq option (#3708)
- command: if window-scale can't be set properly, set it as option (#3724)
- demux_mkv: don't recursively resolve timeline for opened reference files
- demux_mkv: fix ordered chapter sources with ordered editions
- opengl: compile against iOS OpenGLES implementation
- options: handle legacy no-* sub-options
- osc: add alpha animation to tooltip (fix lingering tooltip)
- osc: change default deadzonesize to 0.5
- osc: don't wrap the title
- osc: fix crash after reaching a certain position in limited lists (#3691)
- osc: fix crash with no chapters
- osc: fix crashes when dragging seekbar across file changes (#3210)
- osc: fix displaying only half of the entries when at the end of a list
- osc: fix missing chapter ticks with seekbarstyle=bar
- osc: slimbox: fix clipping with seekbarstyle=bar (#3737)
- osc: top/bottombar: also scale when min-width is reached to match box/slimbox behavior
- osc: top/bottombar: dynamically size timecodes according to timems
- osc: top/bottombar: rescale layout to same size with scale=1
- osc: top/bottombar: scale title if too large like box
- player: consistently initialize screensaver state with --force-window
- player: enable no-video subtitle display on coverart too
- player: make --start-time work with --rebase-start-time=no
- player: make sure non-video subtitle rendering is reset if video resumes (#3770)
- player: removing last playlist entry while looping should not stop (#3808)
- player: show subtitles on VO if --force-window is used (#3684)
- player: speed up audio/video re-sync when there is a huge delay
- vdpau: fix hwdec uninit (#3788)
- vo_opengl: blend against background color for --alpha=blend
- vo_opengl: context_rpi: fix stdatomic usage (#3699)
- vo_opengl: fix --blend-subtitles handling (#3773)
- vo_opengl: fix redrawing with hardware decoding (#3773)
- vo_opengl: partially re-enable glFlush() calls (#3670)
- ytdl_hook: sort chapters by time
dependencies. Given the existence of BUILDLINK_A[BP]I_DEPENDS and
PKGREVISION bumps our use in pkgsrc can be considered a legitimate
one.
Delete the print_libav_versions() check to reflect that.
Bump PKGREVISION.
Thanks to <wiz> for noticing that!
Changes:
Release 0.21.0
==============
Features
--------
Added
~~~~~
- config: allow profile forward-references in default profile
- demux_lavf: "support" mov edit lists and log errors if used (FFmpeg only)
- hwdec: Add support for CUDA and cuvid/NvDecode (mostly useful on Linux where VDPAU still lacks HEVC Main 10 support; keep using DXVA2 on Windows)
- osc: add right-click behavior to playlist and chapter buttons
- osc: add user-alterable margin for top/bottombar
- rpi: add --hwdec=rpi-copy (#3604)
- sd_lavc: enable teletext
- vaapi: support drm devices when running in vaapi-copy mode
- vd_lavc: Add hwdec wrapper for crystalhd
- vo_opengl: add hw overlay support and use it for RPI
- vo_opengl: basic mali fbdev support
- vo_opengl: rpi: merge vo_rpi features
Removed
~~~~~~~
- vo_opengl: remove pre/post/scale-shaders in favor of user-shaders
Deprecated
~~~~~~~~~~
- config: deprecate ao and vo auto-profiles
- vo_rpi: deprecate this VO
Options and Commands
--------------------
Added
~~~~~
- add --teletext-page option
- af_pan: add af-command support to change the matrix
- af_rubberband: add af-command and option to change the pitch
- command: add a load-script command
- command: add a video-dec-params property
- command: add an apply-profile command
- command: add audio-pts property to get the audio pts
- command: add options to property list
- command: add sub-text property for current subtitle text
- command: export profile list as a property (#977)
- options: add --hwdec=yes as alias for --hwdec=auto
- player: add --player-operation-mode=pseudo-gui
- player: add --video-osd=no option to disable video OSD (#3387)
- player: add --watch-later-directory option
- stream_bluray: select title by playlist (bd://mpls/[playlist])
- vo_opengl: disable glFlush() by default, and add an option to enable it for testing
Changed
~~~~~~~
- af_rubberband: default to channels=together
- command: allow absolute seeks relative to end of stream
- command: make bitrate properties observable
- command: make most options observable
- msg: make --log-file and --dump-stats accept config path expansion (#3591)
- options: deprecate --playlist-pos to --playlist-start
- options: make input options generally runtime-settable
- options: rename subtitle options (--sub-text- → --sub; --ass- → --sub-ass-)
- osc: change default layout to bottombar, seekbarstyle to bar, use larger scalewindowed and scalefullscreen
- player: make --terminal, --log-file, --dump-stats, --osc, --ytdl, --audio-*, --priority, --stop-screensaver (#3615) settable at runtime
- vo_drm: change CLI options
- Change connector selection to accept human readable names (such as eDP-1, HDMI-A-2) rather than arbitrary numbers.
- Change GPU selection to accept GPU number rather than device paths.
- Merge connector and GPU selection into one --drm-connector.
- Add support for --drm-connector=help.
- Add support for --drm-* in EGL backend.
- vo_opengl: rename 3dlut-size to icc-3dlut-size
Removed
~~~~~~~
- command: remove hwdec-active and hwdec-detected properties
- command: remove vo-cmdline
- options: drop unreferenced --bluray-angle option
- vo, ao: disable positional parameter suboptions
- vo_xv: replace no-colorkey with ck-method=none
Deprecated
~~~~~~~~~~
- all VOs and AOs: deprecate sub-options, add them as global options
- command: deprecate "cache" property, replace with "cache-percent"
- deprecate --vo-defaults
- deprecate --vo=opengl-hq alias in favor of opengl-hq profile
- options: deprecate --mute=auto
- vo_direct3d: deprecate direct3d_shaders alias, use shaders by default
- vo_opengl: deprecate 'drm-egl' backend and introduce 'drm' instead
Fixes and Minor Enhancements
----------------------------
- TOOLS/zsh.pl: die if we can't parse main options
- TOOLS/zsh.pl: don't filter files by extension (#2273)
- ao_alsa: try to fallback to "hdmi" before "iec958" for spdif
- ao_rsound: fix compilation (#3501)
- aspect: use nominal width instead of actual width for video-unscaled
- audio/out: prevent underruns with spdif under certain conditions
- audio: fix late audio start (#3610)
- audio: fix missed wakeup when changing audio output device
- audio: fix segfault when yanking USB DAC
- charset_conv: Use CP949 instead of EUC-KR
- command: don't log "ignore" command with -v verbosity
- command: try selecting the next track if track switching fails (#3446)
- demux_mkv: don't crash if --ordered-chapters-files fails
- displayconfig: treat a refresh rate of 1 as invalid
- ipc: log when listening to IPC socket (#3598)
- macOS: fix fullscreen regression on 10.11 and newer (#3364)
- mp_image: fix clearing to black with p010 format
- osc: Fix scaling issues when toggling fullscreen (#3429)
- osc: align text vertically in top/bottombar (#2093)
- osc: change seekbar background's alpha scaling
- osc: fix display of chapters and playlist scaling
- osc: move tooltip to inside seekbar for top/bottombar
- osc: show playlist/chapter list on prev/next instead of osd
- path: default ~~ paths to home directory (#3591)
- player: do not let pseudo-gui override user config settings
- player: enable reading from stdin after loading input.conf
- player: fix instant subtitle refresh on track switches
- player: make --force-window work with opengl-cb
- stream_file: don't use poll() on directories (would hang on macOS; #3530, #3649)
- stream_lavf: fix determining seekability (#1701)
- sub: actually apply text alignment options to non-ASS subtitles
- terminal-win: support modifier keys in console input (#3625)
- vo_drm: fix segfault when using invalid card
- vo_opengl: apply 90° rotation to chroma texture size (#3568)
- vo_opengl: fix incorrect video rendering after vdpau preemption recovery
- vo_opengl: partially fix dumb-mode cropping with rotation
- vo_opengl: rpi: use overlay for yuv420p too
- w32_common: initialize playback status as soon as possible (#3482)
- wayland: reject resize events with either dimension being 0 (#3679)
- x11: fix external fullscreen update (#3570)
- ytdl_hook: Add title to playlist items if available
- ytdl_hook: Set aspect ratio for anamorphic video
- ytdl_hook: Support playlist entries without subtitles
- ytdl_hook: add chapters by parsing video's description
- ytdl_hook: don't add subtitles with unknown duration
- ytdl_hook: temporarily force disable dash segments formats
Changes:
Release 0.20.0
==============
Options and Commands
--------------------
Added
~~~~~
- aspect: add --video-unscaled=downscale-big
- player: add --image-display-duration option to control duration of image display (#3425)
- vo_opengl: angle: new flag (dcomposition) to control DirectComposition
Fixes and Minor Enhancements
----------------------------
- af_lavrresample: fix error if resampler could not be recreated
- audio: avoid missed wakeups with ab-loops
- audio: do not apply --audio-channels if spdif passthrough is in use (#3445)
- cache: don't use a backbuffer if the cache is as large as the file
- command: prevent O(n^2) behaviour for playlist property
- demux: close underlying stream if it's fully read anyway (#3456)
- demux: fix undefined behavior with ogg metadata update (#3451)
- player: make looping slightly more seamless
- player: refresh very low framerate video on filter changes (#3435)
- stream_memory: disable stream cache
- vf_rotate: allow arbitrary rotation (#3434)
- vo: be more trusting to estimated display FPS (#3433)
- w32_common: use hooks to detect parent window resize
- x11: work around mutter fullscreen issue (#2072)
Release 0.19.0 Changelog:
Build System Changes
build: add --htmldir option
build: always require atomics
wscript: add proper unversioned SONAME for Android
Features
New
client API: add stream_cb API for user-defined stream implementations (bumps client API version to 1.22)
vf_d3d11vpp: add video processor selection
videotoolbox: add --hwdec=videotoolbox-copy for h/w accelerated decoding with video filters
vo_opengl: add a tscale=linear direct implementation
Removed
audio/filter: remove delay audio filter
Options and Commands
Added
command: add filename/no-ext sub-property that returns filename without extension (#3404)
command: add properties for HDR metadata
command: add replaygain information properties to track-list
options: add vp9 to --hwdec-codecs
player: add --audio-stream-silence
player: add --audio-wait-open
player: add --no-autoload-files
videotoolbox: add yuv420p to --videotoolbox-format
Changed
options: un-restrict --audio-delay
use - as command-name separator everywhere
vo_opengl: reduce default 3dlut-size to 64x64x64 (since accuracy is improved)
Deprecated
deprecate "balance" option/property (no replacement)
Fixes and Minor Enhancements
Windows: don't wait for GUI thread when polling for events (#3393)
af_lavcac3enc: error out properly if encoding fails
af_volume: don't let softvol overwrite af_volume volumedb sub-option
ao_pulse: fix some volume control rounding issues
ao_wasapi: in exclusive mode, do not output multichannel by default
audio: add heuristic to move auto-downmixing before other filters
audio: show an osd bar when changing ao-volume
demux: make ALBUM replaygain tags optional (#3405)
demux_raw: fix small typo to add s16be support
demux_timeline: restore mkv edition switching
libarchive: sanitize non-UTF8 archive entries
macOS/vo_opengl: fix crash when glctx is NULL during init (#3360)
player: disable display-sync with spdif transcoding
player: do not cut off terminal status line if it contains newlines (#3340)
player: fix display-sync timing if audio resumes slowly
player: improve instant track switching (#3392)
player: improve non-hr seeking with external audio tracks
player: offset demuxer on start/seek properly with audio/sub delay
player: sync audio as well when enabling it mid-stream
stream/stream_bluray: display list of available titles in verbose mode
sub: don't potentially discard too many subtitles on seek
video: respect --deinterlace=auto
vo_direct3d: add missing header (fixes Cygwin build)
vo_opengl: angle: try D3D9 when D3D11 fails eglInitialize
vo_opengl: angle: use WARP if there are no hw adapters (makes it work on Windows 7 without hardware-accelerated graphics)
vo_opengl: increase 3DLUT accuracy at smaller LUT sizes
vo_opengl: remove the 3dlut-size npot2 restriction
vo_wayland: fix high CPU usage due to busy polling
wayland_common: clip window size to the display output size
wayland_common: fix crashes when switching to fullscreen before the video output is fully initialized
wayland_common: fix fullscreen image switching bug
wayland_common: prevent black bars on most non-native aspect ratios
wayland_common: remove untested/unusable wayland dnd code
win32: mpv.rc: re-add version info
x11: skip ICC update on every window move
ytdl: Error out with http_dash_segments (unsupported for now)
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.
Changes:
Release 0.18.1
==============
Note: Running mpv with different versions of the FFmpeg/Libav libraries than
it was compiled with is no longer supported. Even supposedly ABI-compatible
versions have been a source of trouble, and it creates far too much
complexity with little to no benefit, coupled with absurd and unusable FFmpeg
API artifacts.
Instead, mpv will exit with an error when such a situation is detected.
This simply means that mpv needs to be rebuilt whenever FFmpeg libraries change.
Features
--------
New
~~~
- d3d: implement screenshots for --hwdec=d3d11va
- vo_opengl: add output_size uniform to custom shader
- vo_opengl: implement the Panasonic V-Log function (#3157)
- vo_opengl: implement ARIB STD-B68 (HLG) HDR TRC
Options and Commands
--------------------
Changed
~~~~~~~
- command: pack sub image data in overlay-add command
Deprecated
~~~~~~~~~~
- options: deprecate --heartbeat-cmd
- audio: deprecate --softvol
Removed
~~~~~~~
- audio: drop --softvol=no and --softvol=auto (#3322)
Fixes and Minor Enhancements
----------------------------
- video: fix deinterlace filter handling on pixel format changes
- x11: silence xdg-screensaver
- vo_opengl: angle: update the swapchain on resize (#3301)
- vo_opengl: error out gracefully when trying to use FBOs without FBO API
- vd_lavc: expose mastering display side data reference peak (improves results with HDR content)
- vo_opengl: generalize HDR tone mapping mechanism (#3293)
- vo_opengl: don't constantly resize the output FBO
- vo_opengl: use ringbuffer of PBOs
- Windows: make WM_NCHITTEST simpler and more accurate
- ao_oss: do not add an entry to audio-device-list if device file missing
- dec_audio: fix segment boudnary switching
- ao_lavc, vo_lavc: Migrate to new FFmpeg encoding API
- vo_opengl: explicitly use main framebuffer when reading window content (#3284)
- vo_xv: fix behavior with odd sizes
- audio: insert auto-inserted filters at end of chain
- x11: add missing FocusChangeMask (disables key repeat when losing focus while a key is down)
- ao_coreaudio: error out when selecting invalid device
- ad_lavc: work around misbehavior of some FFmpeg decoders like wmapro (#3297)
- player: cut off status line on terminal width
Changes:
Release 0.18.0
==============
Build System Changes
--------------------
- build: Do not link to libGL for egl-drm
- build: also use the iconv check on FreeBSD
- build: don't install tests, only build them
- build: re-enable encoding mode by default
- vo_opengl: hwdec: remove build-dependency on dxva2 (#3150)
- wscript: make at least 1 OpenGL output mandatory
Features
--------
New
~~~
- csputils: add SMPTE ST2084 support
- demux_mkv: support Matroska webvtt (#3247)
- demux_playlist: read directories recursively
- stream_memory: add hex:// protocol
- vf_crop: support opaque hardware decoding formats
- vf_d3d11vpp: add a D3D11 video processor filter
- vo_opengl: D3D11VA + ANGLE interop
- vo_opengl: add an angle-es2 backend
- vo_opengl: angle: dynamically load ANGLE
- vo_opengl: d3d11egl: native NV12 sampling support
- vo_opengl: enable color management on GLES
- vo_opengl: implement HDR (SMPTE ST2084)
- vo_opengl: implement tone mapping algorithms
- vo_opengl: make PBOs work on GLES 3.x
- vo_opengl: support external user hooks, enhancing the flexibility of user shaders
- vo_opengl: vdpau interop without RGB conversion
- wayland: implement HIDPI support
Removed
~~~~~~~
- vo_opengl: remove nnedi3 prescaler (replaced by user shaders)
- vo_opengl: remove prescaling framework with superxbr prescaler (replaced by user shaders)
Options and Commands
--------------------
Added
~~~~~
- Windows: make taskbar progress indication optional (#2535)
- af_lavcac3enc: make encoder configurable
- command: add playlist-pos-1 property (#2828)
- command: introduce hwdec-current and hwdec-interop properties.
- options: add --fit-border video option (currently Windows only)
- video: add --hwdec=auto-copy mode
- vo_opengl: always autoselect ANGLE as backend if available
- vo_opengl: expose performance timers as properties
- x11: add --x11-bypass-compositor=never
- x11: extend --x11-bypass-compositor with fs-only option (#2582)
Changed
~~~~~~~
- command: allow setting panscan etc. properties if no video is active
- command: don't seek immediately when setting a-b loop while paused
- command: if only ab-loop-b is set, loop from start of file
- options: --geometry: center window position after applying size (#2397)
- player: loop on end of file if ab-loop-b is unset
- sd_add: replace --sub-ass=no with --ass-style-override=strip
Removed
~~~~~~~
- vo_opengl: remove non-working rgb/rgba FBO formats
Fixes and Minor Enhancements
----------------------------
- TOOLS/zsh.pl: add .f4v extension in zsh completions
- TOOLS/zsh.pl: complete --audio-device
- Windows: center window on original window center on resize to fit screen
- Windows: fix size calculations for window resize (#2935)
- Windows: fix wrong behavior with window-scale when window size exceeds screen size
- Windows: make VOCTRL_SET_UNFS_WINDOW_SIZE resize the window around its center (#3164)
- af_lavcac3enc: fix custom bitrates
- ao_alsa: add more workarounds for hardware with broken drivers (e.g. ODROID-C2)
- ao_opensles: remove 32-bit audio formats (not supported by Android)
- cocoa: fix actual display refresh rate retrieval
- cocoa: use displaylink without manually tracking the display id (#2392)
- command: improve playlist* properties change notifications (#3267)
- command: slightly nicer OSD list formatting
- compatibility with recent FFmpeg APIs
- d3d: fix hardware decoding of most MPEG2 things
- d3dva: move Intel_H264_NoFGT_ClearVideo to lower priority (#3059)
- demux_mkv: better resync behavior for broken google-created webms
- demux_mkv: fix seeking with files that miss the first index entry
- demux_playlist: recognize m3u8 as playlist extension (#3154)
- input: fix parsing multiple input command prefixes
- lcms: don't warn/error on 3dlut cache misses
- lcms: improve black point handling (especially BT.1886)
- macOS: handle multiple dropped files on the window (#3076)
- player: always show the first frame in DS mode
- player: assume video forwards timestamps jumps only with some formats (#3027)
- player: do not update OSD all the time when paused
- player: eagerly redraw OSD when seeking with coverart
- player: fix use-after-free with --screenshot-directory (#3049)
- player: force VO reconfig when unselecting video track
- player: really start audio only once video is ready
- sd_lavc: work around bug in older FFmpeg releases (#3109)
- stream_cdda: enable cache by default
- sub: fix --sub-gauss
- vd_lavc: better hwdec wrapper decoder selection
- vo_opengl: EGL: fix hwdec probing
- vo_opengl: angle: avoid fullscreen FBO copy for flipping
- vo_opengl: angle: enable DirectComposition (lowers vsync jitter)
- vo_opengl: angle: prevent DXGI hooking Alt+Enter
- vo_opengl: avoid outputting ultra-wide-gamut by default
- vo_opengl: correctly disable interpolation if tscale can't be used
- vo_opengl: fix bicubic_fast in ES mode
- vo_opengl: fix d3d11 hardware decoding probing on Windows 7
- vo_opengl: improve scale=oversample performance
- vo_opengl: make the screen blue on shader errors
- vo_opengl: partially fix 0bgr format support
- vo_opengl: possibly update icc profile after changing options
- vo_opengl: request core profile on X11/EGL too
- vo_opengl: require at least ES 3.0 for float textures
- vo_opengl: vdpau: fix certain cases of preemption recovery failures
- vo_rpi: attempt to survive display mode changes
- vo_rpi: fix destroying overlays (#3100)
- vo_rpi: wait for vsync with a timeout
- vo_sdl: fix pixel formats.
- vo_xv: Handle incorrect size returned by Xv(Shm)CreateImage (#320)
- wayland: correctly report display refresh rate
- wayland: use the advertised size in fullscreen (#3021, #2657)
- x11: tell GNOME to use dark window decorations
- ytdl_hook: fix brightcove urls
- ytdl_hook: just check if protocol is rtmp (#3090)
- ytdl_hook: support multi-arc subtitles
Changes:
Release 0.17.0
==============
Note: The client API examples have moved to https://github.com/mpv-player/mpv-examples
Build System Changes
--------------------
- install symbolic SVG icon
- build: allow plain-gl build on OSX (#2980)
- build: disable encoding mode by default (uses deprecated FFmpeg APIs)
Features
--------
New
~~~
- csputils: add DCI-P3 colorspace
- d3d11va hwdec
- demux: add null demuxer
- ipc: add Windows implementation with named pipes
- mediacodec decoder hwdec wrapper
- vo_opengl: add dxva2 interop to angle backend
- vo_opengl: generate 3DLUT against source and use full BT.1886 (#2815)
Options and Commands
--------------------
Added
~~~~~
- command: add cache-speed property
- command: add keepaspect property
- command: add video-stereo-mode property (#2994)
- command: export canonical ffmpeg version identifier (ffmpeg-version)
- command: export lists of all codecs (decoder-list and encoder-list)
- osd: add italic font for osd (#3031)
Changed
~~~~~~~
- aspect: make video-zoom logarithmic (#3004)
- command: export more information under track-list
- ipc: rename --input-unix-socket to --input-ipc-server
- vo_opengl: decrease default superxbr-edge-strength
- vo_opengl: rename prescale to prescale-luma
Fixes and Minor Enhancements
----------------------------
- TOOLS/zsh.pl: don't complete URLs by default unless no files match (#2892)
- ad_lavc, vd_lavc: support new Libav decoding API
- cache: disable useless "Cache is not responding" warning (#3019)
- demux: delay bitrate calculation on packets with unknown timestamps (#2903)
- demux_timeline: set correct seekable flags (#2898)
- input: accept plain text for drag and drop (#2945)
- input: do not force double-click emulation for artificial commands (#2899)
- lavc_conv: fix Libav srt subtitles (#2888)
- player: add missing audio reconfig events (#2929, #2920)
- player: add wv to list of external audio file extensions
- player: fix --stream-dump exit code (#2848)
- player: fix breakage when combining 3D and rotate auto-filters
- playlist: improve shuffle algorithm (better uniformity)
- sub: interpret "text" subtitles as srt
- vo_opengl, osd: allow osc.lua to react faster on resizes
- vo_opengl: GLX: try to create 3.3 core profile context (#2938)
- vo_opengl: draw transparency checkerboard after upscaling
- vo_opengl: fix operation without GL_ARB_texture_rg
- vo_opengl: improve superxbr algorithm
- vo_opengl: only open one OpenGL/DX interop handle when using dxva2 (fixes interop with AMD drivers)
- wayland: don't set fs mode on every configure (#2817)
- x11: do not set _NET_WM_BYPASS_COMPOSITOR by default (#2997)
- ytdl_hook: handle optional format_note
Changes:
Release 0.16.0
==============
This release changes the license of some non-MPlayer source files to LGPL 2.1 or later.
Build System Changes
--------------------
- build: enable vaapi under drm-only as well (issue #2808)
- build: enable vo_opengl_cb if GL headers are present
- build: make libavfilter mandatory
- build: make posix_spawn optional
- wscript: don’t install the encoding profiles with encoding disabled
Features
--------
New
~~~
- Initial Android support
- ao: initial OpenSL ES support
- dxva2: support HEVC Main 10
- osc: add always-on mode and unify visibility mode (always/never/auto)
- player: add complex filter graph support
- rpi: add mpeg-4, vc-1 decoding support
- stream_dvb: support frontends with multiple delivery systems (e.g. DVB-C/DVB-T combo cards)
- vo_opengl: 10 bit support with ANGLE
- vo_opengl: add KMS/DRM VAAPI hardware decoding interop
- vo_opengl: dxinterop: add dxva2 passthrough
- vo_rpi: add geometry handling (--geometry, --autofit, fullscreen switching, etc.)
- vo_x11: add 16bpp support
Options and Commands
--------------------
Added
~~~~~
- --lavfi-complex option for complex filter graphs
- audio: change downmix behavior, add --audio-normalize-downmix
- command: add vf-command and af-command commands
- player: add --external-file option
- vo_opengl: add interpolation-threshold sub-option
Changed
~~~~~~~
- audio: change --audio-channels default back to stereo
- audio: remove default preference for libdcadec (decoder was merged with FFmpeg)
- command: always allow setting volume/mute properties
- command: show original aspect in video-aspect property too
- input: ignore --input-cursor for events injected by input commands (issue #2750)
- options: set fs=yes by default on RPI, and change RPI defaults handling
- sub: implement "sub-seek 0" (issue #2791)
- vo_opengl: default scaler-resizes-only sub-option to yes
Fixes and Minor Enhancements
----------------------------
- OS X/cocoa: fix charcode retrieving for accented characters
- TOOLS/lua/ao-null-reload.lua: send ao-reload on audio-device-list change (issue #2738)
- TOOLS/lua/autoload.lua: remove the extension prior to sort
- Windows: fix dropping URIs (issue #2782)
- af_lavrresample: prevent channels from being dropped, e.g. when going 7.1 -> 7.1(wide) and similar cases
- ao_coreaudio: fix 7.1(rear) channel mapping
- ao_openal: wipe out global context on init error (PR #2719)
- ao_wasapi: avoid under-run cascade in exclusive mode
- ao_wasapi: set buffer size to device period in exclusive mode
- audio: fix spdif PCM fallback
- build: add special openbsd case for iconv check (issue #2710)
- command: fix NULL pointer deref in "video-codec" property (issue #2729)
- command: fix track cycling logic (issue #2784)
- demux: disable stream cache if no tracks are selected (issue #2692)
- demux_mkv: add hack to fix opus gapless behavior
- demux_mkv: support channel layout in VfW muxed PCM (issue #2820)
- osc: fix runtime enable_osc(true/false)
- player: fix initial audio sync in certain cases (issue #2770)
- player: honor --force-window if video is selected, but inactive
- player: never show "DS: (unavailable)"
- player: restore old/correct --force-window behavior (issue #2825)
- player: rewrite timeline/ordered chapter support
- vaapi: fix compilation on older FFmpeg/Libav (issue #2737)
- vdpau: force driver to report preemption early
- video: don't wait for last video frame in the normal case (issue #2745)
- video: fix coverart switching
- video: slightly improve video stream switching
- vo_opengl: add precision qualifier to usampler2D on ANGLE (issue #2761)
- vo_opengl: default to rgba16f FBOs on ANGLE
- vo_opengl: don't use normalized coords for debanding rectangle textures (issue #2831)
- vo_opengl: dxinterop: fix compatibility issue with Vista
- vo_opengl: pass the correct target to deband functions with Apple hwdec interop
- vo_opengl: rename custom shader entrypoint from sample to sample_pixel (issue #2733)
- x11: get *current* XRandR screen configuration instead of polling for new screens, too
Changes:
Release 0.15.0
==============
Build System Changes
--------------------
- OS X bundle: remove git sha from the Info.plist version (issue #2677)
- add "lua51" ("51obsd") to list of possible lua names
- add option to customize config files system path (issue #2704)
Features
--------
New
~~~
- vo_opengl: implement support for transparent video display on OS X (alpha=yes suboption)
- vo_opengl: use a checkerboard pattern as background for transparent video by default
Options and Commands
--------------------
Added
~~~~~
- add --audio-file-paths (issue #2632)
- player, stream_dvb: implement dvb-channel-name property, add switch binding
Changed
~~~~~~~
- vf_stereo3d: add alternating modes
- vo_opengl: disable pbo by default for opengl-hq due to driver problems
- vf_yadif: change defaults (issue #2539)
- command: change heuristic for files with 1 chapter (issue #2550)
- demux_mkv: adjust subtitle preroll defaults
- exclude 360 from --video-rotate range (issue #2647)
- osd: make osd-width/height properties watchable
Fixes and Minor Enhancements
----------------------------
- ao_pulse: check for sample rate bounds, attempt fallback (issue #2654)
- ao_wasapi: remove volume "restore" on exit
- demux_cue: better error resilience
- mixer: fix volume initialization with --af=volume
- mpv.desktop: add audio/mp4 mime type
- player: detect audio PTS jumps, make video PTS heuristic less aggressive
- player: make watch later/resume work when "playing" directories
- player: reset playback abort when reloading a file (issue #2568)
- recognize frame sequenced 3D Matroska video
- stream_dvb: fix channel switching
- vaapi: add VP9 profile (requires VA-API 0.38.1 or newer)
- vo_opengl: dxinterop: prevent crash after lost device
- vo_opengl: enable brightness/contrast controls for RGB
- vo_opengl: fix operation on GLES 2.0
- vo_opengl: fix operation on GLSL versions earlier than 1.30
- vo_opengl: flip screenshot image if backend uses flipped rendering (issue #2635)
- vo_opengl: reset nnedi3 weights properly (issue #2661)
- vo_rpi: handle rotation
- vo_rpi: work around firmware oddness leading to incorrect video rect
- windows: fix fd://
- ytdl: Include Referer header as well
- TOOLS/zsh.pl: add .opus extension in zsh completions
Changes:
Release 0.14.0
==============
Build System Changes
--------------------
- build: install scalable svg icon as well
- vo_opengl: require --enable-gpl3 for nnedi
- win32: enable internal pthreads wrapper by default
Features
--------
New
~~~
- vo_opengl: add experimental dxinterop backend (renders with OpenGL, displays through Direct3D; broken with Intel drivers)
- vo_opengl: add initial ANGLE support
- windows: implement icc-profile-auto
- windows: support taskbar button progress indicator (issue #2399)
Removed
~~~~~~~
- Windows XP support
- demux: remove old subtitle parser (FFmpeg users are unaffected; Libav loses support for some minor formats)
- demux_libass: remove this demuxer (libavformat takes its place)
- stream: drop old Linux PVR support
Options and Commands
--------------------
Added
~~~~~
- command, vo: add estimated-display-fps property
- command: add vsync-ratio property
- command: export some per-video-frame information (issue #2444)
- vo_opengl: make LOOKUP_TEXTURE_SIZE configurable
- windows: add option to set VO MMCSS profile
Changed
~~~~~~~
- --sub-fix-timing now applies to ASS subtitles as well
- command: rename vo-missed-frame-count property to vo-delayed-frame-count
- input.conf: add default bindings for changing window scale (issue #2500)
- videotoolbox: make decoder format customizable
- vo_opengl: disable interpolation without display-sync
- vo_opengl: make tscale=mitchell:tscale-clamp the default
- vo_rpi: add an option to disable OSD
Fixes and Minor Enhancements
----------------------------
- af_lavrresample: clamp float output to range
- ao: disambiguate default device list entries
- ao_alsa: filter audio device list
- ao_alsa: list bidirectional devices too
- ao_openal: accommodate more sample formats (issue #2494)
- ao_openal: fix virtual speaker positioning
- ao_wasapi: only report per-app volume in shared mode
- ao_wasapi: work around DTS passthrough failure
- build: make vaapi-wayland depend on gl-wayland (issue #2476)
- demux: fix seeking in .ts
- demux_lavf: mark ASS tracks as always UTF-8
- demux_mkv: fix incremental indexing with single-keyframe files (issue #2498)
- drm: fix setting up connectors
- dxva2: reject 10 bit HEVC (issue #2516)
- player: replace mistimed-frame-count with vsync-ratio on status line
- sd_ass: fix secondary subtitle mode
- various display-sync improvements
- vo_opengl: enable NNEDI3 prescaler on OpenGL ES 3.0
- vo_opengl: enable colormatrix even for RGB input
- vo_opengl: fix backend autoprobing, attempt to improve GLX vs. EGL backend detection
- vo_opengl: fix backend=x11 on Intel
- vo_opengl: fix issues with some obscure pixel formats (e.g. rgb555)
- vo_opengl: fix precision loss of fruit dithering matrix
- vo_opengl: force dumb mode if RG textures are not available
- vo_opengl: improve boundary check for polar filters
- vo_opengl: various GLES compatibility improvements
- vo_opengl: win32: test for exclusive mode
- vo_opengl_cb: do not block on flipping when redrawing
- vo_rpi: set aspect ratio
- win32: fix console output with raw stdio functions
- windows: try to avoid detection as exclusive fullscreen window (issue #2177)
- x11: request bypassing compositor (issue #2502)
Changes:
NOTE: The previous release changed the default format for youtube-dl and
removed some workarounds related to MPEG DASH support. However, the required
changes to FFmpeg code (FFmpeg/FFmpeg@4ab5666)
are not in any FFmpeg release yet (as of 2015-11-10), so for now, playing DASH
streams requires using FFmpeg git master. You can work around this by using the
--ytdl-format=best option.
Features
--------
New
* SVG version of the icon (with symbolic counterpart)
* stream_libarchive: add multivolume support
* vo_opengl: add prescaling framework along with Super-xBR and NNEDI3
(currently very slow) prescalers (issue #2230)
Options and Commands
--------------------
Added
* command: add mistimed-frame-count property
* vo_opengl: add vsync-fences option
Changed
* command: make display-fps property writable
* options: enable mpeg2 hw decoding by default if hw decoding is requested
* vo_opengl: rename fancy-downscaling to correct-downscaling
* vo_opengl: correct-downscaling: enable also for anamorphic clips
* vo_opengl: rename "drm_egl" to "drm-egl"
* vo_opengl: disable drm-egl autopickup
* vo_opengl: never load vaapi GLX interop by default
Fixes and Minor Enhancements
----------------------------
* ao_alsa: fix 7.1 over HDMI
* audio: do not require full audio chain reinit for speed changes
* rpi: add support for codecs other than h264 (mpeg2 for now)
* vd_lavc: make hwdec fallback more tolerant
* video: fix playback of pal8
* video: multiple display-sync fixes
* vo: fix no-audio mode with interpolation enabled/display-sync disabled
* vo_direct3d: fix operation (issue #2434)
* vo_drm: handle possible errors from sigaction
* vo_drm: show osd in audio only mode
* vo_opengl: do not attempt to cache frames in FBO in dumb-mode (issue #2432)
* vo_opengl: win32: always request MMCSS for DWM
* vo_opengl: win32: try to enable DwmFlush by default
* vo_vdpau: check VDP_RGBA_FORMAT_A8 support
* win32: request MMCSS "Playback" profile
pkgsrc changes:
o mpv does not build on NetBSD<7 because it needs sem_timedwait(3),
add the various not supported versions to NOT_FOR_PLATFORM.
o Bump waf requried version to reflect upstream.
Changes:
Release 0.12.0
==============
NOTE: This release changes the default format for youtube-dl and removes some
workarounds related to MPEG DASH support. However, the required changes to
FFmpeg code are not in any FFmpeg release yet (as of 2015-10-29), so for now,
playing DASH streams requires using FFmpeg git master. You can work around
this by using the --ytdl-format=best option.
Features
--------
New
~~~
- vo_opengl: support new VAAPI EGL interop (requires Mesa 11)
- vo_opengl: vaapi: add Wayland support
- bring back the x11 video output
- vo_opengl: support all kinds of GBRP formats
Removed
~~~~~~~
- video: remove VDA support (VideoToolbox is preferred)
Behavior
--------
- vo_opengl: enable X11 EGL backend by default (disabled for NVIDIA due to
driver bugs)
- ytdl: don't override user-set format in no-video mode
- sub: adjust behavior on mismatching video/subtitle aspect ratio
Options and Commands
--------------------
Added
~~~~~
- audio: add option for falling back to ao_null
- options: add support for client certificate authentication
- input: add key name for U+3000 IDEOGRAPHIC SPACE
- player: add audio drop/duplicate mode to video-sync
Changed
~~~~~~~
- vo_opengl: remove sharpen scalers, add sharpen sub-option
- vo_opengl: make sw suboption work without explicit backend selection
- command: make time properties unavailable if timestamp is unknown
- command: do not return 0 for bitrate if unknown (make property unavailable
instead)
- vo_opengl: make the default debanding settings less excessive
- ytdl: disable --all-subs if "sub-lang" is in raw-options
Removed
~~~~~~~
- video: remove user-controllable PTS sorting (--pts-association-mode)
Fixes and Minor Enhancements
----------------------------
- player: fix another --force-window bug
- player: add wav to list of external audio file extensions
- ao_alsa: fix failure to find any sample format
- player: make stop command actually stop in all cases
- audio: various fixes related to audio device hotplugging
- vo_xv: fix crash with --wid
- ytdl: Remove DASH hacks, use DASH by default
- player: be slightly less prone to framedrop in display sync mode
- sd_lavc: extend subtitle resolution if images go outside video frame
- player: offset chapter display by start time
- command: make bitrate properties work correctly for external tracks
- w32_common: disable IME
- player: fix display-sync A/V calculation on high playback speeds
- player: fix display sync A/V difference estimation on drops
- player: raise display sync desync tolerance
Changes:
Features
========
New
---
* vo_opengl: implement debanding
Removed
-------
* audio/filter: remove center, extrastereo, karaoke, sinesuppress, sub,
surround, sweep, ladspa, hrtf, export and bs2b filters (these are either
considered useless or have replacements in lavfi)
* video/filter: remove lavfi wrappers for noise, hqdn3d, unsharp and delogo
(these filters remain usable through lavfi)
Behavior
--------
* vo_opengl: require FBOs by default (use dumb-mode suboption for old
hardware and broken drivers)
* vo_opengl: enable debanding by default for the opengl-hq preset
* audio/out: use new sample format determination code
* player: prefer logical current directory path (affects logic for resuming
playback)
* vf_vdpaurb: Pass through non-hardware-decoded content
* player: make force-window=immediate work in auto-profiles
Options and Commands
====================
Added
-----
* af_lavrresample: add normalize suboption
* vo_opengl: add deband, deband-iterations, deband-threshold, deband-range
and deband-grain suboptions
* af_lavfi: implement af-metadata property (like vf-metadata) (#2311)
Changed
-------
* command: make "add 0" not change the value
Removed
-------
* vo_opengl: remove source-shader suboption
Fixes and Minor Enhancements
============================
* options: fix --no-config
* cache: do not include backbuffer size in total stream cache size (#2305)
* audio/format: actually prefer float over double sample format for int->
float conversions
* audio/format: fix interlaved vs. non-interleaved conversions
* audio/format: revise format conversion scoring
* video: make --field-dominance set interlaced flag (#2289)
* vf: vf_stereo3d compilation depends on libavfilter
* vf_yadif: add hack for Libav compatibility (#2335)
* player: add opus to list of external audio file extensions (#2336)
* build: allow disabling vapoursynth completely
* libmpv/win32: allow multiple windows at the same time (#2319)
Changes:
Release 0.10.0
==============
Features
--------
New
~~~
- uchardet support
- Matroska: reading cue sheets embedded in tags
- Support for VideoToolbox hardware decoding
- Display sync mode (--display-sync)
- --force-window=immediate mode
- fd:// protocol
- libarchive wrapper for reading compressed archives
- TOOLS/lua: zones.lua
- Support for the "new" libavcodec VDPAU API
- vf_vdpaurb, Add a new filter for reading back VDPAU decoded frames
- DXVA2: HEVC support
- Enabled HEVC profiles with VA API
- HEVC added to whitelist of hwdec codecs
- vo_null: framerate emulation
- vo_opengl: support for custom shaders
- vo_opengl: temporal-dither-period option
- vo_opengl: tscale-clamp option
- vo_opengl: option to attach target-prim/target-csp to window screenshots
- vo_opengl_cb: "block" framedrop mode (now default)
- vo_opengl_cb: support for interpolation
- vo_vdpau: rotation support
- ytdl_hook: support for 'multi_video' results
Removed
~~~~~~~
- af_convert24 (af_lavrresample does this now)
- af_dummy
- audio: S8, U16, U24, U32 formats
- DVD and BD menu support
- TOOLS: youtube-starttime.lua
- VA API: compatibility crap (< 0.34.0) and vo_vaapi deinterlacer
- vo_x11
Deprecated
~~~~~~~~~~
- vf_dlopen
Behavior
--------
- audio: softvol scale is now cubic
- cache: readahead size is limited to half the cache size at the beginning
- charset_conv: "auto" encoding detection now prefers uchardet
- demux_playlist: skip hidden directories
- input.conf: O toggles between 2 states only
- input.conf: Ctrl+s key binding for window screenshots
- input.conf: mouse volume control (horizontal scrolling) inverted
- input.conf: L to toggle infinite looping
- input.conf: remap d/D keys (dropped framedrop cycle, replaced with deinterlacing toggle)
- player: disabled seeking on unseekable streams even if the cache is enabled
- player: parses and exposes m3u playlist titles
- player: --term-playing-msg is now in a separate log category
- player: removed automatic DVB channel advancement on no data
- player: now restores video-aspect on playback resume
- player: now uses exit code 0 by default for quit, 4 for signals, etc.
- player: warns against using HLS URLs with --playlist
- screenshots: changed the default directory in pseudo-gui mode to desktop
- screenshots: screenshot directory is now created automatically
- screenshots: default template is now prefixed with "mpv-"
- TOOLS/lua/autoload: adds all files on start
- vo: vo_wayland moved up in autoprobe list
- vo_opengl: enabled pbo by default with opengl-hq
- vo_opengl: cache dir for ICC profiles is now created automatically
- w32: shift drag and drop appends
- x11: shift drag and drop appends
Options and Commands
--------------------
Added
~~~~~
- af_volume: replaygain-fallback option
- ao_coreaudio: change-physical-format option
- ao_coreaudio: exclusive option
- ao_null: channel-layouts option for testing channel layout selection
- audio: --audio-spdif as new method for enabling passthrough
- cache: --cache-backbuffer to configure cache backbuffer size
- command: define-section command for defining input bindings
- command: audio-params and audio-out-params properties
- command: keypress, keydown, and keyup commands
- command: playlist_shuffle command
- command: option-info/N/set-locally property indicating per-file options
- command: protocol-list property
- command: track-list/N/audio-channels property
- demux: --demuxer-max-packets and --demuxer-max-bytes options to control maximum queue size
- input: relative percentage seek
- osc: time display configuration options
- player: --playlist-pos option
- screenshots: --screenshot-jpeg-source-chroma option to disable JPEG 4:4:4 output
- screenshots: --screenshot-high-bit-depth option to allow or disallow 16 bit output
- screenshots: --screenshot-directory option
- sub: --stretch-image-subs-to-screen option for stretching image subtitles to screen
- TOOLS/stats-conv: allow passing regex via command line
- video: --video-aspect-method option to configure container vs. bitstream aspect ratio
- vo_drm: mode suboption to set the mode ID to use
- vo_opengl_cb, vo_opengl: --hwdec-preload option for preloading hwdec context
- vo_rpi: background disabled by default
- vo_xv: buffers suboption to configure number of buffers
- win32: portable config mode
Changed
~~~~~~~
- audio: changed the range of the volume option/property (0 is still silence, and 100 now always means unchanged volume)
- command: allow changing deinterlace property any time
- command: allow changing track properties while no file is loaded
- command: always make video-aspect property accessible
- command: better choice when to allow playback-related commands
- command: change OSD symbol for absolute perc. seek
- command: change the default action for rescan_external_files
- command: change the hwdec properties
- command: define-section with empty contents removes a section
- command: export stereo 3D tags
- command: make auto-deinterlacing output at field rate
- command: make deinterlace property use interlaced-only yadif mode
- command: make property event mask matching more restrictive
- command: make the playback-time property writable
- input: allow - as separator between commands, instead of _
- options: --loop without argument means looping forever
- options: make keyvalue list parsing less strict
- player: extend --hls-bitrate option
- vf_yadif: expose interlaced frame mode
- video: --video-stereo-mode=no to disable automatic stereo conversion
- vo_opengl_cb, vo_opengl: --hwdec-preload for preloading hwdec context
- vo_opengl: replace icc-cache with icc-cache-dir
- vo_opengl: icc-profile overrides icc-profile-auto
Renamed
~~~~~~~
- command: rename audio-format property to audio-codec-name
- options: rename --media-title option to --force-media-title
- vo_opengl: rename use_full_range to use_normalized_range
Deprecated
~~~~~~~~~~
- --ad-spdif-dtshd (use --audio-spdif=dts-hd)
- audio-samplerate property
- length property
Removed
~~~~~~~
- get_property command
- --demuxer-readahead-packets and --demuxer-readahead-bytes
- image_writer: don't use jpeg baseline, and remove useless jpeg-optimize and jpeg-baseline options
- --leak-report
- --slave-broken
- vo_opengl: npot suboption
Fixes and Minor Enhancements
----------------------------
- ad_spdif: use DTS-HD passthrough only if the audio is really DTS-HD
- af: fix behavior with filter chains that require a large number of auto-inserted conversion filters
- af_lavcac3enc: fix A/V sync
- ao_alsa: accept 7.1 over HDMI
- ao_alsa: refuse to use spdif if AES flags can't be set
- ao_wasapi: fix crash on hotplug init error
- audio: avoid wasting CPU due to continuous wakeup
- audio: do not exit when loading small files in paused mode
- audio: fix channel map fallback selection
- audio: fix crash on uninit
- audio: fix --end handling
- audio: fix EOF state with --keep-open
- audio: fix restoring volume
- charset_conv: fix switched parameters
- charset_conv: use our own UTF-8 check with ENCA only
- cocoa: don't load hardcoded icon if running from bundle
- cocoa: hide cursor using a blank image instead of a system-wide API
- command: do not exit playback if the B point of A-B loop is past EOF
- command: fix audio-out-detected-device property
- command: fix track property when no file is loaded
- command: fix video-aspect property update notification
- command: let track properties return option value in idle mode
- demux: don't get stuck on some cases of timestamp resets
- demux: handle Matroska-style replaygain tags as well
- demux_lavf: do a better job at guessing the vobsub .sub filename
- demux_mkv: disable ordered chapters if ChapterTimeEnd is missing
- demux_mkv: discard broken index
- demux_mkv: fix mpeg2 mapping
- demux_mkv: ignore deprecated FrameRate, do not assume PAL
- demux_mkv: improve video duration detection heuristic
- demux_mkv: parse FLAC channel layouts
- demux_playlist: make mime type comparison case-insensitive
- dxva2: fix handling of cropped video
- idet.sh: Support larger files
- mp_image: fix vf_vdpaupp references
- options: fix conversion of flags to strings
- options: move program name to end of window title
- options: remove the period at the end of "No file."
- osc: completely disable if no VO window exists
- osc: exit tick immediately if disabled
- osc: reinit on playlist changes
- osx: add NULL check for input context in a missing case
- player: fix crashes when adding external tracks before loading main file
- player: increase tick event update frequency
- player: make decoding cover art more robust
- player: raise maximum idle time
- player: return better guess for playback time during seeks
- player: show larger cache sizes in MB on status line
- player: slim down A/V desync warning
- sd_ass: assume negative durations are unknown durations, and handle them
- terminal: disable terminal foreground state polling
- terminal-unix: set terminal mode on init
- timer: fix a corner case on clock changes
- TOOLS: make autodeint detect telecine in parallel
- TOOLS/zsh.pl: die loudly if mpv fails to run
- vaapi: prefer direct display over copy-back
- vaapi: fix some videos only showing up green
- vaapi: treat cropped decoder output slightly more correctly
- vda: add support for nv12 image formats
- vd_lavc: fix a hw decoding fallback case
- vf_stereo3d: drop internal implementation
- vf_vavpp: don't attempt to deinterlace progressive frames
- vf_vavpp: fix bob deinterlacing for bottom field first videos
- vf_vdpaupp: Don't crash when evaluating interlacing of NULL mpi
- video: always re-probe auto deint filter on filter reconfig
- video: better heuristic for timestamp resets
- video: fix panscan in vertical case
- video: fix VideoToolbox/VDA autodetection
- video: unbreak EOF with video-only files that have timestamp resets
- vo_direct3d: fix broken pseudo GUI drag and drop hint
- vo_drm: fix centering with regard to stride
- vo_drm: fix crashes with --profile=pseudo-gui
- vo_drm: fix resolution not restored after exiting
- vo_drm: fix stride problem for certain devices
- vo_drm: make VT switching non mandatory
- vo: free frames before killing VO
- vo_opengl: avoid broken shader if hwdec fails to provide textures
- vo_opengl_cb: drop frames eagerly if frames are not rendered
- vo_opengl: CMS no longer implies linear scaling
- vo_opengl: fix alpha video in one case
- vo_opengl: fix dangling pointers with vo_cmdline
- vo_opengl: fix framestepping/pausing + interpolation
- vo_opengl: fix "freezes" after seeking with interpolation on
- vo_opengl: fix scale=oversample's threshold calculations
- vo_opengl: framebuffers work under GLES 2
- vo_opengl: improve robustness against PBO failure
- vo_opengl: reimplement tscale=oversample
- vo_opengl: reject future images in different formats
- vo_opengl: X11: don't leak when GL init fails
- vo: restore frame-drop logic for high-fps clips
- vo_rpi: fix blackscreen before the first subtitle/OSD is rendered
- vo_rpi, vo_opengl: do not globally terminate EGL on VO uninit
- vo_sdl: fix glaring memory leak
- vo_vdpau: check maximum video size
- vo_vdpau: limit output surfaces to allowed maximum dimensions
- win32: fix window resize logic
- win32: fix crashes when changing system time
- x11: Handle external fullscreen toggles
- ytdl: catch bogus extractor info
- ytdl: do not use deprecated media-title option
- ytdl: don't print failure warning when youtube-dl was killed by us
- ytdl: get start_time
The Lua check now also checks for lua52.pc, as used by Arch Linux testing.
(X11) vo_opengl's icc-profile-auto now queries the current ICC profile relative to the center of the window.
ao_coreaudio, ao_alsa now support adding dummy padding channels for better compatibility with hardware decoders that only support specific channel counts (e.g. 5.1 now should work on a decoder that only accepts 7.1).
Channel fallback (in case the audio device doesn't natively support a given channel layout) has been improved.
vf_vapoursynth now rejects unaligned video instead of outputting corrupted video.
mpv now tries to autoload .sup subtitles as well.
pkgsrc changes:
* Add LUA_VERSION_INCOMPATIBLE= 53 to reflect upstream changelog. No
functional changes intended.
Changes:
Release 0.9.0
-------------
Changes that may break users' config files have been annotated with a
(!).
* Note: mpv is not compatible with Lua 5.3. Lua 5.1 or 5.2 is
required.
* The minimum required libass version is now 0.12.1 or newer.
* The minimum required FFmpeg version is now 2.4.0 (equiv. Libav 11)
or newer.
* The internal libmpg123 support was removed. This was already not
used by default in the previous release.
* (!) The LIRC support was removed. Configure LIRC remotes as input
devices instead.
* (!) The Linux Joystick support was removed.
* (!) vf_screenshot was removed, as they are now handled at a VO
level and is compatible with all VOs.
* (!) --ass-use-margins has been renamed to --sub-use-margins and
applies only to plain-text (non-ASS) subtitles (enabled by
default). The new --ass-force-margins option applies only to ASS
subtitles (disabled by default). To get the old behaviour back,
enable both at the same time.
* (!) The --sub-scale-with-window option now only applies to plain
text (non-ASS) subtitles (enabled by default). The new
--ass-scale-with-window option does the same but only with ASS
subtitles (disabled by default).
* (!) The range for the param1 for the gaussian vo_opengl scaler has
been redefined. Instead of being an arbitrary 1-100 range, have a
default value of 1.0, and anything higher is blurrier.
* (!) The seek, playlist_next, playlist_prev, loadfile and loadlist
parameters no longer accept numerical parameters where symbolic
parameter names exist.
* (!) vo_opengl changes:
+ (!) The smoothmotion suboption has been renamed to
interpolation. The old name is still supported for now.
+ (!) The bilinear_slow scaler has been renamed to triangle.
+ (!) scale-down has been renamed to dscale and now has its own
set of config options (e.g. dscale-radius).
+ (!) Scaler radius no longer defaults to 3 but to a preferred
value that may be different for each filter.
+ The scale-radius option may now go down as low as 0.5, which
is the value used by the nearest filter.
+ spline36 is the new cscale default for opengl-hq. This might
break setups that use fbo-format=rgb8. To work around it,
leave fbo-format as its default, or set to something higher
than 8, or set cscale=bilinear, the previous default.
* (!) vf_format no longer converts video to YUYV if there is no
parameter. Video is now passed unchanged unless a format is
specifically requested.
* (!) The --colormatrix, --colormatrix-input-range,
--colormatrix-output-range and --colormatrix-primaries options have
been converted into vf_format suboptions. See commit 27715b7 and
the manual for details.
* vf_mirror's implementation was replaced with calling into
libavfilter's vf_hflip filter, thus depending on libavfilter to
function.
* The device subption to ao_wasapi has been deprecated in favor of
--audio-device.
* --video-rotate now allows 360 as an argument instead of stopping at
359.
* Several improvements to af_scaletempo.
* Options that have multiple options and also include a "yes" option
now default to that if specified with no arguments.
* The default value of --cache-default is now 150000 (153.6 MB, ~146
MiB).
* JPEG screenshots now use the same subsampling as the source video.
The images are still RGB regardless of source format though.
Bug fixes
* mpv no longer saves position on files that can't be resumed (issue
#1701).
* (X11) Fix the player thinking the mouse has left the window in some
WMs / embeddings (issue #1672).
* mpv no longer freezes on wayland when the compositor stops asking
it to draw itself (e.g. when minimized) (issue #249).
* .ac3 files are no longer rejected by --audio-file-auto (issue
#1759).
* ao_wasapi now automatically enables exclusive when passthrough is
attempted (issue #1742).
* Attempt to fix flickering on Intel VAAPI drivers with --hwdec=vaapi
and --vo=opengl (issue #1765).
* youtube-dl will no longer download video streams when video
playback is disabled with --no-video.
* (Windows) mpv now prevents system sleep when playing a video-only
file. Previously, only files with an opened audio track would
prevent sleep.
New features
* vo_opengl features:
+ Added ewa_ginseng, ewa_hanning, robidoux, robidouxsharp,
oversample and haasnsoft scalers.
+ There are now ewa_lanczossoft and ewa_lanczossharp aliases to
ewa_lanczos that are tuned to be blurrier and sharper,
respectively.
+ Added gamma-auto option that uses ambient light sensors to
automatically adjust the video gamma. See commit c028d78 for
details.
+ Added blend-subtitles option to draw subtitles directly into
the video instead of rendered afterwards. Potentially
necessary for correct rendering with files that use ASS
subtitles for typesetting in combination with an icc-profile.
There is a default option for drawing after upscaling, and a
video option for drawing before upscaling. See details and
warning on the manual.
+ There is now a tscale option, used to choose the temporal
scaler used in the interpolation mode (previously
smoothmotion).
+ There is a new scale-blur parameter to adjust the amount of
blur that most of the filters produce. Deviating from the
default may introduce artifacts in EWA filters.
+ (Windows) There is now a dwmflush option that might help
improve rendering of high-fps video. Disabled by default. See
manual for options.
* New Linux-only vo_drm video output driver. Uses the direct
rendering / kernel modesetting drivers to draw directly to the
framebuffer, but with no hardware acceleration. See manual for
details.
* New pseudo-gui builtin profile, automatically used when launched
from mpv.desktop by opening mpv.exe on windows (mpv.com still works
as usual), or by opening the mpv.app bundle. The pseudo-gui tries
to make the player window behave closer to what a desktop player
would do, by not immediately closing and allowing the user to
drag&drop files for playback. See manual for details.
* mpv can now play directories by automatically playing their
contents instead. Works everywhere but on Windows, due to issues
with Windows' C runtime.
* Add support to pitch correct stretched audio with librubberband.
* Add support for the Raspberry Pi 2's hardware decoder when FFmpeg
(or Libav) is built with --enable-mmal. See commit 8fff125 for
details.
* The --cache option now accepts a "yes" option, that always enables
a --cache-default-sized cache on all cases a cache can be used,
unless --cache-default disables caching.
* ao_pulse, ao_coreaudio and ao_wasapi now support device
hotplugging.
* New --osd-align-x and --osd-align-y options can be used to align
the OSD independently from subtitles.
* New --osd-bold and --sub-text-bold options can be enabled to bold
all OSD or plain-text subtitle text, respectively.
* Added a default keybind to the u key that enables/disables ASS
style overriding. When enabled, is equivalent to
--ass-style-override=force.
* There is now a MOUSE_ENTER keybind, that is called when the mouse
cursor enters the VO from outside.
* The new --ytdl-params option can be set to arguments that are
always given to youtube-dl invocations. There is no sanity
checking, so invalid options can prevent mpv from working with http
URLs.
* There's a new --demuxer-mkv-fix-timestamps option, enabled by
default, that tries to guess more accurate video timestamps by
using FPS information, if available. See manual for details.
* The new --window-scale option can be used to scale the video window
by the specified multiplier, before other options such as --autofit
are applied.
* vo_direct3d_shaders now supports NV12 colorspace without using
stretchrect, but it seems no drivers actually support that.
* (Client API) Added a rescan_external_files command, as requested on
issue #1586.
* (Client API) If enabled, initializing the Client API will now also
load the user's mpv.conf.
* (Client API) There's a new mpv_opengl_cb_report_flip() call for API
users to call to inform mpv of when exactly a frame was displayed.
* (Client API) The mpv_opengl_cb_render() function was deprecated in
favor of the new, simpler mpv_opengl_cb_draw() function.
* (Client API) There is a new screenshot_raw command. See input.rst
for details.
* The --input-file argument may now also be a file descriptor in the
form "fd://N", where N is the FD number.
Update multimedia/mpv to 0.8.3.
Changes
* Documentation fixes and updates.
* (Client API) Clarify mpv_opengl_cb_render's viewport parameter
behavior.
Bug fixes
* (X11) Fix crash on vo_xv:no-colorkey with the Overlay adapter. (bug
#1629)
* Make the video equalizer work correctly on some VAAPI drivers. (bug
#1647)
* Prevent OSD from disappearing when clicking on mozplugger. (bug
#1672)
* The new DVB-S2 support code, using S2API, now builds on FreeBSD.
* Fix decoding of seekable matroska from unseekable network stream.
(bug #1656)
* (OSX) Fix crashing when closing a VO's window (usually at exit).
(bug #1657)
* (OSX) Unhide the mouse cursor when over the Dock or Launchpad. (bug
#513)
* (OSX) Fix mouse cursor autohiding when the player is fullscreen.
* vf_vavpp (VAAPI postprocessing) now deinterlaces video correctly.
* smb:// streams now use the stream cache (used to be inefficient).
* (Windows) Do not hide the mouse cursor when it is hovering the
window menu.
* Fix 8-channel output on ao_jack. (bug #1688)
* Fix --mf-fps parameter on JPEG files. (bug #1689)
* Fix anamorphic scaling being ignored if it was very minor.
Release 0.8.0
-------------
Diogo Franco Kovensky released this Feb 17, 2015 - 63 commits to master
since this release
Warning: for the first 4 hours of the release, the v0.8.0 tag pointed
to git master instead of the release. This was fixed later.
Changes
-------
Changes that may break users' config files have been annotated with a
(!).
* (!) vo_opengl_old has been removed. OpenGL rendering now requires
hardware that can do at least OpenGL 2.1, the oldest version
supported by vo_opengl.
* (!) vf_pp has been removed. A version of it can still be accessed
through lavfilter (e.g. --vf=lavfi=[pp...]), but it receives no QP
information. Also, vf_dlopen no longer passes QP information to its
loaded plugin either (it's always 0).
* (!) vf_softpulldown, vf_swapuv, vf_phase, vf_divtc and vf_ilpack
have all been removed. Ports or alternative versions of these
filters are available through libavfilter (vf_lavfi).
* vf_pullup and vf_noise now are simply wrappers to their libavfilter
equivalents. Both are only currently available on FFmpeg (not
Libav).
* (!) ao_portaudio has been removed. There is good support for the
native audio drivers of all major desktop platforms, as well as
ao_sdl and ao_openal as fallbacks.
* (!) vo_opengl's lscale suboption has been renamed to scale; lradius
is now scale-radius, lparam1 and lparam2 are now respectively
scale-param1 and scale-param2; lscale-down is now scale-down. The
cscale suboption remains as is.
* (!) Several of the vo_opengl radius-preset aliases supported by
scale have been removed; use scale-radius to set if needed. For
example, use --vo=opengl:scale=lanczos:scale-radius=2 instead of
scale=lanczos2. The default radius is recommended for most filters.
* (!) vo_opengl no longer supports the stereo suboption. The anaglyph
effect can be reproduced with the stereo3d filter. The quadbuffer
support, which requires expensive specialized hardware to begin
with, is removed.
* (!) The approx-gamma suboption to vo_opengl has been removed. The
BT.1886 specification says that it's actually how it's supposed to
be done so it is now the default when srgb or icc-profile are
enabled. This does not include BT.1886's gamma drop.
* (!) The no-scale-sep and indirect suboptions to vo_opengl have been
removed. These are now autodetected and enabled whenever they would
have benefit.
* (!) The --lua and --lua-opts parameters / options are now called
--script and --script-opts, respectively. The lua subdir of the mpv
config dir is also now expected to be called scripts instead.
* (!) The --fixed-vo option has been removed. It has been the default
for a long time anyway, and disabling fixed-vo is not useful.
* vo_opengl_hq has been updated to take into account new features.
fancy-downscaling and sigmoid-upscaling are enabled, "mitchell" is
now the default for scale-down.
* The sub-visibility OSD message is now clearer about whether
subtitles are hidden or just not available / selected.
* The device IDs given to --audio-device for use with ao_coreaudio
now use UIDs, so they don't change when devices are added/removed
or after reboots.
* --msg-level now also accepts ',' as separator.
* (Client API) The client API now refuses to initialize if the
LC_NUMERIC locale is not "C".
* (Client API) The native type of the msg-level parameter is now a
key-value list. Setting or reading it as a string still works.
* (Slave API) The get_property command is now deprecated.
* Documentation updates.
* PDF documentation is now disabled by default due to rst2pdf being
fickle, causing weird build errors.
* Print desync messages with negative A/V sync as well. While rare,
it could happen with some uses of --autosync.
Bug fixes
---------
* (Windows) Avoid resizing the video window when player is minimized,
might address bug #1547.
* (NetBSD) Fix build with v4l2.
* (Linux) Attempt to address conflicts with the pulseaudio mixer.
(bug #1578)
* Multiple cdda:// fixes. (bugs #1555, #1560)
* VP9 timestamps no longer cause "missing PTS" warnings with new
enough FFmpeg builds.
* Fix a crash when using H.264 hardware decoding on new enough
libavcodecs. (bug #1587)
New features
------------
* vo_opengl now supports frame blending to eliminate stuttering when
the video framerate does not nicely match the display framerate
through the smoothmotion suboption. This is not meant to
artificially increase the video's FPS, so there is no "soap opera
effect" or difficulties with some video types (e.g. anime).
* vo_opengl now supports sigmoidal upscaling (e.g. for fullscreen),
which reduces ringing induced by upscaling, enabled through the
sigmoid-upscaling suboption.
* vo_opengl now supports ewa_lanczos (Jinc) scaling, which provides
higher quality with less aliasing. It supports an experimental
scale-antiringing parameter, which tries to further reduce video
ringing.
* vo_opengl now has a linear-scaling suboption, that makes the
scalers work in linear light. Implied by the srgb, icc-profile or
the new sigmoid-upscaling suboption.
* vo_opengl has improved downscaling for higher downscale ratios when
fancy-downscaling is enabled.
* Add --keep-open=always to make --keep-open apply to all files
instead of only the last.
* mpv now filters the tags that are printed on the console to try to
hide useless metadata. The filter works as a whitelist, and can be
configured with the --display-tags option.
* Add a --sub-scale-by-window option that, when set to 'no', prevents
subtitles from changing their pixel size when the window changes
sizes.
* vo_opengl now technically has GLES 2 and 3 support (but not GLES
1). GLES 3 support is only tested on Mesa's software emulation.
GLES 2 has been tested on nvidia drivers. Both GLES modes are
feature deficient and inefficient due to GLES limitations, so they
should not be preferred over the standard OpenGL mode.
* (X11) vo_opengl now supports the icc-profile-auto option on X11
hosts.
* The 'A' key now by default cycles through a list of preset aspect
ratios. Meant to be used to work around broken files.
* There is now a "force" mode for --loop. Works like "inf", but tries
to open files/streams even if there was an error on the previous
attempt.
* There is now a --log-file option to write mpv's log messages to a
specifed file.
* There is now a --audio-file-auto option to automatically load an
external audio file with certain constraints. Will only load
external audio if the playing file has a video stream. Set to
"exact" by default. (bug #967)
* There is now a --network-timeout option to specify a timeout in
seconds for network access. If 0 (default), uses the libavformat
default. If a protocol that doesn't support timeouts is used, this
option is ignored.
* (X11) The XF86 special keys are now all mappable in input.conf. All
keys documented in XF86keysym.h are available, but only as their
numeric codes.
* (Linux) The DVB implementation now supports DVB-S2 through S2API.
* (Linux) The VDR format for channels.conf is now supported and
preferred. See
http://linuxtv.org/vdrwiki/index.php/Syntax_of_channels.conf for
the syntax. Tuning to DVB-S2 channels requires the VDR-format
channels.conf.
* (Linux) There is now a --dvbin-full-transponder option for handling
special broadcast cases where PIDs switch, or just to work around
incomplete PID data.
* (Client API) There is now an opengl_cb VO, which receives the
OpenGL context from the libmpv client. This allows a client to
render libmpv video directly to a provided OpenGL context without
having to use --wid embedding.
* (Client API) The aforementioned --wid parameter can now be set at
any time, but has no effect if a file is already loaded.
* (Client API) The list of DVD titles can now be queried.
* (Client API) There is now a filtered-metadata property, containing
only the tags allowed by --display-tags.
* (Client API) There is now support for XEmbed --wid targets, such as
a GtkSocket's gtk_socket_get_id().
* (Client API) There is now a file-format property with a symbolic
name for the file format. In some cases this might be a comma
separated list of various different extensions due to libavformat
idiosyncrasies.
* (Client API) There is now a mouse command for generating mouse
events over the video window.
* (Client API) There is now a partially-seekable property that
indicates whether a file is only considered seekable because of the
stream cache, but would not be seekable otherwise (e.g. realtime
stream, or HTTP with no resume support). Small relative seeks may
be fine, but larger seeks will likely fail.
* (Client API) There is now an MPV_EVENT_QUEUE_OVERFLOW event that is
posted whenever events have to be dropped because the queue is
full. No further events are posted until the
MPV_EVENT_QUEUE_OVERFLOW is consumed to avoid duplicated posting.
* (Client API) There is now a helper mpv_wait_async_requests()
function that blocks until all known async requests have completed.
(bug #1542)
* (Client API) There is now a detected-hwdec property that returns
the detected hardware decoder when one is successfully opened. This
probably only returns a valid value after playback has started.
* (Client API) There are now audio_add, audio_remove and audio_reload
counterparts to the equivalent sub_ commands for handling external
audio files.
Changes
-------
- Several documentation updates and typo fixes.
- Don't show "0%" position when the stream is infinite / has unknown length.
- Fixes the config file loading order so that lower priority `mpv.conf` files
don't override higher priority `config` files.
- (OSX) Remove coreaudio_exclusive from the "auto" codec list.
- Failing to create a GL3 context is now a warning instead of error, to reduce
user confusion.
- The subtitle decoder now gets reset when cycling subtitles. This makes the
currently shown subtitle event disappear even if cycling back to the current
subtitle track.
- `--shuffle` and `--merge-files` now affects the contents of playlist files,
instead of just the list of files given as arguments to mpv.
- `./waf install` avoids installing a few additional data/config files if only
libmpv was built.
- Improved channel mapping when the file's channel map doesn't match the AO's
available channel maps.
- (OSX) VDA now gracefully refuses to run on non-OpenGL3-capable systems instead
of trying and failing to build its shaders.
- Add workaround for vf_vapoursynth filters that expect an FPS.
- The default value for `--screenshot-template` now shows up in
`--list-options`.
- `ao_pulse`'s `latency-hacks` suboption is now off by default, as it causes
issues with newer pulseaudio releases. If A/V Sync issues happen, either
add the `latency-hacks=on` pulse suboption in mpv.conf, or update the
pulseaudio daemon (bug #1430).
- (Linux) `ao_alsa` now deals better with audio device disconnection.
- Client API: timestamp properties that have no value return "no" instead of
magic number.
Bug fixes
---------
- (Windows, OSX) Many `ao_wasapi` and `ao_coreaudio` fixes.
- (OSX) Make the window title update correctly on OS X Yosemite.
- Fixes for handling mono audio on various AOs.
- (Linux) Fixes resuming from suspend on ao_alsa.
- Fixes for playlist file parsing.
- Overly long options in the --list-options output now break the column layout
instead of getting truncated; fixes shell completion scripts.
- Fix rendering resolution of certain DVB subtitles (bug #1425).
- Fix EDL or --merge-files breaking timestamps with .avi files.
- Workaround for libavcodec bug with the VP9 codec parser (bug #1448),
fixes possible crash.
- Improve robustness of the matroska parser with broken files (bugs #1457,
#1461).
- Improve 10bit video compatibility with older GPUs (specially Intel) (bug
#1383).
- Fixes flashing the VO window when playing a list of files that includes
non-media files (bug #1459).
- Workaround for window embedding in OpenBox (bug #1235)
- Fixes for several crashes and lockups (bugs #838, #1389, #1408, #1463, #1473,
#1474).
- Fixes for the zsh completion script (bugs #997)
New features
------------
- mpv now prints the contents of its config.h when running in verbose mode, to
aid with debugging.
- The `include=` option now accepts `~` to refer to the HOME dir (bug #1406).
- `af_volume` now prints ReplayGain values in verbose mode.
- m3u playlists that don't have the `#EXTM3U` header are now accepted if they
"look like" ASCII or UTF-8 text and have the .m3u extension.
- Chapter marks in the seek bar now update when switching files.
- Supports embedded cover art in MKV files (bug #1374).
- (Windows) Video window can now be resized even with --no-border.
- (Windows) Client API: the "run" command now works on Windows too.
- (Linux) vo_wayland now supports key modifiers (Meta, Alt, Control, Shift)
- Client API: "display-names" property is now observable.
Release 0.7.2
=============
Changes
-------
- Give precedence to the DVD menu navigation keyboard bindings so that user
defined LEFT/RIGHT/... bindings don't break DVD menu navigation.
- Try to fallback to the "default" device if the selected device is busy in the
alsa AO.
- Don't create Dock icon for audio only files on OS X.
- Save screenshots to desktop when using the app bundle on OS X.
- Restore ab-loop settings with playback resume.
- Bump required youtube-dl version to 2014.11.26 and enable the ytdl_hook Lua
script by default (now playing videos from YouTube and the like will work
out of the box without any configuration change needed).
Bug fixes
---------
- Don't signal an error if --stream-dump is used.
- Fix removing key bindings from Lua scripts.
- Reject channel descriptions with too many channels in the coreaudio AO.
- Don't async redraw when waiting for VO redraw on OS X (this fixes the very
annoying glitch where the black bars disappear for a single frame when going
fullscreen).
- Fix mono playback with the also AO.
- Don't crash if framebuffers are not available in the opengl VO.
New features
------------
- Try to handle multi-arc videos in the ytdl_hook Lua script.
Release 0.7.1
=============
Changes
-------
- Don't show the volume neutral marker on the OSD if softvol is disabled.
- Don't select a subtitle track when executing the sub_add input command in
"auto" mode.
Bug fixes
---------
- Fix busy loop when seeking while paused (this fixes a problem with pulseaudio
that caused mpv and the pulseaudio daemon to use 100% CPU).
- Fix Lua function utils.subprocess() in Windows versions older than Vista.
- Avoid creating a window bigger than the screen on Windows.
- Don't ignore the last line in m3u playlists.
- Don't crash if a codec could not be opened.
- Dynamically allocate audio channel map entries (this should fix a crash in
the alsa and coreaudio AOs with audio devices that support more than 20
channel maps).
- Ignore the "srgb" option in the opengl VO if hardware decoding is enabled.
- Linearize non-RGB sRGB files correctly (eg. JPEG).
- Fix opening reference URLs (.file/id=) on OS X.
Release 0.7.0
=============
Changes
-------
- Buffer partial log messages in the client API (the client API will now only
pass full log messages to clients).
- Remove ncurses/terminfo/termcap support (it was disabled by default and
replaced by new code since v0.6.0).
- Enable cdda:// support by default again (it was disabled since v0.6.0).
- Cascade-load input.conf (if there are several input.confs in the set of valid
config paths, load them all).
- Draw the OSD twice in 3D mode (this fixes subtitles display in 3D mode).
- Make wasapi the default AO on Windows again since many of its problems have
been solved.
- Use "site-functions" subdir to install the zsh completion script instead of
the Debian-specific "vendor-completions" (also provide the --zshdir waf
configure option for changing this value).
- Improve synchronization between the Cocoa GUI and the player (this fixes some
long standing deadlock issues on Mac OS X).
- Remove --fs-missioncontrol option (only relevant to Mac OS X).
New features
------------
- Enable pitch correction by default when playing at higher speeds (this can be
controlled with the --audio-pitch-correction option).
- Open stream and demuxer asynchronously (this should avoid having the player
get blocked on network streams).
- Add cache-buffering-state property for querying the cache fill status until
the player unpauses.
- Add support for listing and selecting the audio device (note that it is not
implemented for all AOs, see the --audio-device option for more information).
- Add support for a JSON-based IPC mechanism (note that this is not currently
supported on Windows, see the JSON IPC section in the manpage for more
information).
- Add Lua utility function for starting processes (see utils.subprocess() in the
manpage).
- Add Lua utility function for parsing JSON (see utils.parse_json() in the
manpage).
- Add field-dominance property (see --field-dominance option).
- Add video-rotate property (see --video-rotate option).
- Add playback-abort property for querying whether playback is stopped or is to
be stopped.
- Add cursor-autohide property (see --cursor-autohide option).
- Add vo-configured property for querying whether a window is created.
- Add support for dxva2 hardware acceleration on Windows.
- Drop libquvi support (this has been replaced by a built-in Lua script that
invokes the youtube-dl tool, which needs to be installed, see the --ytdl
option).
- Add support for loading chapters from an external file (see the
--chapters-file option).
- Add window-minimized property for querying whether the window is minimized
(works for X11 only).
- Make it possible to configure the OSC seekbar style (see the "seekbarstyle"
OSC option).
- Add support for libmpv on Mac OS X (it used to be broken, now it's fully
functional and also provides support for embedding the mpv window inside a
Cocoa/Qt application).
- Try to use the audio channel map reported by ALSA in the alsa AO.
- Add option to disable text OSD rendering completely (useful for working around
certain fontconfig issues, see the --use-text-osd option).
===================
pkgsrc changes:
---------------
- Add quvi option to support youtube-like sites directly from mpv.
Disabled by default.
upstream changes:
-----------------
Release 0.6.1
Changes
Don't show message on "osd" command by default (this essentially
reverts a change introduced in the last release).
Add an alternative input configuration that reverts the key binding
changes introduced by previous releases
(see etc/restore-old-bindings.conf in the sources).
Automatically install example input configuration files.
Bug fixes
Fix stream languages with Bluray
Don't try to create surfaces of size 0 in the VDPAU vo.
Don't print audio/video init failure message twice.
Fix playback on the root window on X11 (i.e. when using --wid=0).
Fix the autodetection of the input format in the vf_stereo3d filter when
mpv is built against libav (this makes --video-stereo-mode work with
libav as well).
Fix compilation with PulseAudio 1.0.
Fix compilation with clang.
Try harder to decode cover art picture only once.
Fix cursor autohide (--cursor-autohide) with audio-only files on file
change (e.g. when skipping to the next playlist file).