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)