Skip to content

Commit

Permalink
Release 0.38.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sfan5 committed Apr 17, 2024
1 parent 7a8a92b commit 02254b9
Show file tree
Hide file tree
Showing 11 changed files with 131 additions and 176 deletions.
9 changes: 5 additions & 4 deletions DOCS/client-api-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,11 @@ API changes

::
--- mpv 0.38.0 ---
2.3 - partially revert the changes from API version 1.27, remove libmpv as the default VO and
move it to the bottom of the auto-probing order. this restores the behaviour prior API
version 1.27 on all platforms other than macOS, but still auto selects libmpv/cocoa-cb
on macOS if it was built with support for cocoa-cb.
2.3 - partially revert the changes from API version 1.27, remove libmpv as
the default VO and move it to the bottom of the auto-probing order.
This restores the prior behavior on all platforms other than macOS,
but still auto selects libmpv/cocoa-cb on macOS if it was built with
support for cocoa-cb.
--- mpv 0.37.0 ---
2.2 - add mpv_time_ns()
--- mpv 0.36.0 ---
Expand Down
8 changes: 8 additions & 0 deletions DOCS/interface-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,14 @@ Interface changes
::

--- mpv 0.38.0 ---
- add `term-size` property
- add the `escape-ass` command
- add `>` for fixed precision floating-point property expansion
- add `--input-comands` option
- change `--pulse-latency-hacks` default to `yes`
- add `context-menu` command
- add `menu-data` property
- add `--vo-tct-buffering` option
- add `begin-vo-dragging` command
- add `--deinterlace-field-parity` option
- add `--volume-gain`, `--volume-gain-min`, and `--volume-gain-max` options
Expand Down
1 change: 0 additions & 1 deletion DOCS/interface-changes/add-input-commands.txt

This file was deleted.

2 changes: 0 additions & 2 deletions DOCS/interface-changes/add-win32-context-menu.txt

This file was deleted.

1 change: 0 additions & 1 deletion DOCS/interface-changes/escape-ass.txt

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion DOCS/interface-changes/pa-defaults.txt

This file was deleted.

1 change: 0 additions & 1 deletion DOCS/interface-changes/term-size.txt

This file was deleted.

1 change: 0 additions & 1 deletion DOCS/interface-changes/vo-tct-buffering.txt

This file was deleted.

280 changes: 117 additions & 163 deletions RELEASE_NOTES
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
Release 0.37.0
Release 0.38.0
==============

This release requires FFmpeg 4.4 or newer and libplacebo 6.338.0 or newer.
This release requires FFmpeg 4.4 or newer and libplacebo 6.338.2 or newer.

This is the first release to unconditionally require libplacebo, but note that
the new improved renderer (vo_gpu_next) is not yet the default.
The new improved renderer (vo_gpu_next) is being worked on and not the default yet.


Features
Expand All @@ -13,31 +12,30 @@ Features
New
~~~

- ao_oss: add SPDIF passthrough support
- hwtransfer: implement support for HW->HW format conversions
- stream/dvbin: add support for delivery system ISDB-T
- audio/chmap: support up to 64 channels (including 22.2 layout)
- libmpv: add mpv_time_ns()
- vo_gpu, vo_gpu_next: add Vulkan support for macOS
- meson: make libplacebo a required dependency
- hwdec: support videotoolbox hwdec with libplacebo
- scripting: add mp.input()
- player: add an option to automatically turn on deinterlacing
- mac: add more Now Playing information and functionality
- osxbundle: automatically include MoltenVK to enable Vulkan support
- input.conf: bind Ctrl+WHEEL_UP/DOWN to video-zoom
- ao_avfoundation: initial support for AVFoundation audio driver (macOS)
- vo: add context menu support on win32


Changed
~~~~~~~

- msg: print warning and error messages to stderr
- options: restore old default subtitle selection behavior
- input.conf: swap wheel up/down with wheel left/right
- osc: allow disabling special mouse wheel behavior
- mac: add support for dynamic change of geometry, autofit
- x11_common: allow DPI scale in unit of 0.5 and prefer the value from Xft.dpi
- vo_gpu_next: save cache to separate files
- mac: large amounts of refactoring, internal improvements and cleanups
- builtin.conf: remove debanding from the high-quality profile


Removed
~~~~~~~

- waf: remove waf as a build system
- osc.lua: remove toggle for forced only subpictures (appeared as [F])
- mac: remove runtime checks and compatibility for macOS older than 10.15
- cocoa: remove deprecated OpenGL cocoa backend
- player: remove legacy, non-standard Raspberry Pi-specific support code


Options and Commands
Expand All @@ -46,169 +44,125 @@ Options and Commands
Added
~~~~~

- vo_gpu_next: add --hdr-peak-percentile
- player: add --term-remaining-playtime option
- x11: add --x11-wid-title option
- vo_gpu_next: add --libplacebo-opts
- player: add --subs-match-os-language option (replaces 'auto' option)
- vo: add --video-crop
- win32: add --window-corners, --window-affinity, --title-bar, --backdrop-type
- sub: add --sub-stretch-durations option
- options: add secondary-sub-delay
- options: add --osd-bar-border-size
- filter_sdh: add --sub-filter-sdh-enclosures option
- options: add --secondary-sub-ass-override
- audio: add --volume-gain option to control volume in decibels
- command: export current-gpu-context property
- sub: add --sub-lavc-o option
- command: add load-config-file and load-input-conf
- input: add --input-preprocess-wheel option
- player: add loadfile/loadlist insert-next commands
- input: rework window dragging to be command controllable
- options: add --deinterlace-field-parity option
- vo: add video-target-params property
- options: add --input-commands that runs commands at startup


Changed
~~~~~~~

- builtin.conf: add --hdr-peak-percentile=99.995 to gpu-hq profile
- player: add 'always' option to --subs-fallback-forced
- demux_playlist: default to --directory-mode=lazy
- builtin.conf: add --allow-delayed-peak-detect=no to gpu-hq profile
- vo_gpu, vo_gpu_next: support --icc-3dlut-size=auto
- demux: prepend some cache options with --demuxer-
- builtin.conf: modernize internal profiles for higher quality rendering by default,
rename 'gpu-hq' profile to 'high-quality', add 'fast' profile
- vo_gpu, vo_gpu_next: default to dscale=hermite
- builtin.conf: remove deprecated 'opengl-hq' profile
- options: remove a bunch of old option fallbacks/deprecated ones
- vo_gpu: allow --deband-iterations to be 0
- stream_cdda: deprecate --cdda-toc-bias and always check for offsets
- options: disable --allow-delayed-peak-detect by default
- options: adjust default of --watch-later-options


Deprecated
~~~~~~~~~~

- command: deprecate shared-script-properties
- demux_cue: deprecate --demuxer-cue-codepage for --metadata-codepage
- player/command: add ability to scale overlay
- mac: add support for window-id property and --drag-and-drop
- command: support passing scale to `keypress`
- mac: add support for --auto-window-resize, --input-cursor-passthrough options
- win32: add support for --input-cursor-passthrough option
- x11_common: support --title-bar
- sub: allow setting special page numbers via --teletext_page
- player: set --hidpi-window-scale to no by default
- osd_libass: update the OSD bar's dent and border size
- player: remove --alpha and rename --background to --background-color
- options: remove --focus-on-open and add --focus-on


Removed
~~~~~~~

- player: remove special 'auto' option from alang/slang/vlang (previous default)
- vo_gpu: remove --tone-mapping-mode
- vo_gpu: remove --scale-wblur, --scale-cutoff etc.
- vo_gpu: remove --scaler-lut-size
- m_option: drop support for -del for list options
- player: remove --term-remaining-playtime option


Fixes and Minor Enhancements
----------------------------

- build: remove unneeded libdl requirement for vaapi
- zimg: fix abort on subsampled input with odd heights
- video_writer: fix gamma for YUV screenshots
- player/video: fix possible crash when changing lavfi-complex
- ad_spdif: fix segfault due to early deallocation
- ao_pipewire: fix race conditon with setting the media role
- draw_bmp: fix overflowing coordinates in mark_rcs
- ao_sndio: use sio_flush() to improve controls responsiveness
- vo_vdpau: fix hwdec for this vo
- vo_gpu, vo_gpu_next: fix setting an empty dscale
- vd_lavc: repeatedly attempt to fallback if hwdec fails in reinit
- options: fix relative time parsing on negative input
- win32: signal DPI changes correctly
- mp_image: properly infer color levels for some pixfmts
- vo_gpu_next: add ability to use named hook params
- vo_gpu_next: take into account PAR when taking screenshots
- ao_audiotrack: support more channel layouts
- osc.lua: support speed-independent time-remaining display
- sub: fix switching tracks while paused
- audio: fix clipping with gapless audio enabled
- player/video: avoid spamming logs with EOF
- player/command: detect aspect ratio name and show it in stats.lua
- wayland: keyboard input fixes
- demux_playlist: remove len restriction on headerless m3u
- win32: fix display resolution calculation on mulitple monitors
- vo_gpu_next: multiple adjustments and fixes to interpolation
- loadfile: avoid infinite playlist loading loops
- context_drm_egl: don't free EGL properties if they are null
- x11: require xrandr 1.4, remove xinerama support
- drm_common: skip cards that don't have connected outputs
- win32_common: fixes minimized window being focused on launch
- ao/jack: set device_buffer to JACK buffer size
- meson: rename all features with underscores
- input: add new keys: Back, Tools, ZoomIn, ZoomOut
- win32: don't ignore --screen and --fs-screen
- input: add missing keypad key defines and Windows multimedia keys
- player: use audio pts corresponding to playing audio on EOF
- command: add sub-ass-extradata property
- vo_dmabuf_wayland: unmap osd surface when not needed
- player: always write redirect entries for resuming playback
- stats.lua: reorganize how video params are displayed
- stats.lua: display HDR metadata
- osc.lua: add scrolling to the seekbar
- demux_lavf: prefer track durations over container durations to determine total
- vo: vulkan: allow picking devices by UUID
- video: allow overriding container crop if it is present
- vo_gpu, vo_gpu_next, screenshot: support applying crop for screenshots
- sd_lavc: account for floating point inaccuracy, fix sub PTS
- stream: accept dav:// and davs:// urls
- filter_kernels: refine some constants
- filter_kernels: add ewa_lanczos4sharpest
- osc.lua: add scrolling to audio/sub buttons
- demux_mkv: support cropping and rotation
- vo_dmabuf_wayland: support 90 degree rotations
- filter_kernels: add hermite filter
- vo: avoid unnecessary redraws when the OSD shows
- scripting: support DLL cplugins
- af_scaletempo2: various bug fixes
- sdl_gamepad: fix button detection on modern controllers
- vo_dmabuf_wayland: support osd rendering when there's no video
- demux_playlist: add --directory-mode=auto
- vo_gpu_next: use proper color for subtitles
- win32: add an option to change window affinity and control title bar state
- win32: reduce top border thickness to imitate DWM invisible borders
- wayland: remove gnome-specific idle-inhibit warning
- win32: pass window handle to the window-id property
- osc.lua: fix calculation for slider's min-max average
- recorder: fix a couple of memory leaks
- af_scaletempo2: raise max playback rate to 8.0
- osc.lua: move the idle logo behind other overlays
- hwdec_drmprime: add nv16 support
- various: change internal timing code to work in nanoseconds instead of microseconds
- vo: increase display refresh rate estimation limit from 99 Hz to 400 Hz
- external_files: base cover-art-whitelist on cover-art-auto-exts
- path: don't override cache and state paths with --config-dir
- codec_tags: map some more image mimetypes
- af/vf-command: add ability to target a specific lavfi filter
- win32: prevent white window flash on startup
- demux_playlist: use --metacode-codepage when parsing playlist files
- video: revert racey change that led to stutter and deadlocking
- console.lua: various improvements
- command: add playlist-next-playlist and playlist-prev-playlist
- ytdl_hook.lua: set metadata with single tracks
- defaults.lua: add a disabled parameter to timer constructors
- terminal-unix: race condition fixes
- af_scaletempo2: better defaults
- hwtransfer: handle hwcontexts that don't implement frame constraints
- stream_cdda: remove fallback for ancient libcdio versions
- osdep: drop support for C11 without atomics
- dvbin: do a big cleanup on code style and functions
- ytdl_hook.lua: parse the separate cookies field
- sub: update subtitles if current track is an image
- javascript: use --js-memory-report option instead of MPV_LEAK_REPORT
- ao_coreaudio: signal buffer underruns
- ytdl_hook.lua: support thumbnails
- demux: make hysteresis-secs respect cache-secs
- mp_image: pass rotation correctly to/from AVFrame correctly
- various: add new internal mp_thread abstraction and use it
- drm: use present_sync mechanism for presentation feedback
- vo_gpu: apply ICC profile and dithering only to window screenshots
- audio: introduce ao_read_data_nonblocking() and use it in relevant backends
- wayland: obey initial size hints set by the compositor
- command: export storage aspect ratio (sar) properties
- vo: delay vsync samples by at least 10 refreshes to improve convergence time
- vo_sdl: fix broken mouse wheel multiplier
- vo_gpu_next: simplify cache code and don't re-save when unmodified
- vaapi: add support for vaapi-win32
- ao/coreaudio_exclusive: fix segfault when changing formats
- mac: fix libmpv usage without embedding
- build: only directly link shaderc and spirv-cross on windows
- build: enable dvbin by default again
- playloop: use a 16:9 ratio with --force-window
- mac: report modifier keys on precise scrolling
- input: fix double click handling
- input: add missing forward media key ('GO_FORWARD')
- sub: don't busy loop if the player is paused for cache
- playlist: correctly populate playlist-path with the --playlist option
- win32: opt in to the windows segment heap
- demux_lavf: remove fix_editlists hack for mp4
- wayland: fix key modifier handling again
- win32: re-enable IME
- wayland_common: guard against negative configure sizes
- demux_lavf: detect ico as images
- bash-completion: parse the mpv options lazily
- f_auto_filters: use bwdif_cuda for deinterlacing with cuda hwdec
- command: do a normal seek instead of a refresh seek when switching vo
- ad_spdif: fix DTS 44.1khz passthrough playback
- vo_dmabuf_wayland: scale smarter in hidpi situations
- hwdec_drmprime: add P010 and P210 support
- wayland: look for "default" cursor as well as "left_ptr"
- wayland_common: properly handle high resolution scrolling
- vo_vdpau: fix timing for nanoseconds
- demux_mkv: add tags for A_MPEG/L1 (mp1) audio and FFV1 video
- osdep: fix infinite loop when cancelling subprocess
- dec_sub: expand sub packet caching
- player/sub: avoid wasteful subtitle redraws
- ao_pipewire: add support for SPDIF formats
- wayland_common: implement multi-seat support
- vo: make libmpv last in the auto-probing order for cocoa-cb only
- player/loadfile: rewrite sub autoselection logic
- meson: add custom target for macOS App bundling
- image_writer: cleanup leftover files if image writing fails
- sub: fix LRC lines with multiple timestamps
- ao: don't clip floating point formats at non-unity gain
- wayland: remove old sway/wlroots hack
- hwdec/dmabuf_interop_gl: migrate to EXT_EGL_image_storage on desktop GL
- sd_ass: don't wrongly recognize \pos as \p
- ao_audiotrack: fix missing check for passthrough support
- wayland_common: log if Drag-and-Drop fails
- vo_gpu_next: render subtitles at video colorspace
- swresample: stop using deprecated {in,out}_channel_layout options
- path: don't load any files if --no-config is passed (incl. cache and state)
- vo_gpu/vo_gpu_next: fix transparency with GLX
- wayland_common: require WAYLAND_DISPLAY to be set for initialization
- vo_drm: add support for BGR formats and YUYV
- stream: enable caching for sockets, pipes and FIFOs
- ao_coreaudio: stop audio unit after idle timeout
- vo_gpu_next: add support for --dither-depth=auto
- vo_gpu_next: don't render ASS subtitles at HDR colorspace
- video/image_writer: attach MDVC metadata and CLLI metadata
- win32: resolve dropped shell links (Windows shortcuts)
- af_lavcac3enc: fix memory leak on 2ch audio
- win32: increase hires timer resolution
- input: raise maximum key down limit to 16
- input: remove max active section limit
- video/egl_helpers: fix fallback logic for EGL_KHR_create_context
- ao_pulse: reenable latency hacks by default
- hwdec/vulkan: enable the stable AV1 extension
- af_scaletempo2: fix false reporting of frame availability
- win32: fix native key repeat support
- ao_pipewire: fix some buffer size / timing calculations
- audio: pause handling improvements for pull-based AOs
- ad_spdif: specify missing media type and sample rate
- mac/vulkan: add support for frame timing via presentation feedback
- demux_mkv: corrected direction of ProjectionPoseRoll rotation
- demux_mkv: add support for BCP 47 language tags
- player: avoid busy looping during subtitle track switches


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.36.0..v0.37.0`
A complete changelog can be seen by running `git log v0.37.0..v0.38.0`
in the git repository or by visiting either
https://github.com/mpv-player/mpv/compare/v0.36.0...v0.37.0 or
https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.36.0..v0.37.0
https://github.com/mpv-player/mpv/compare/v0.37.0...v0.38.0 or
https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.37.0..v0.38.0
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.37.0-UNKNOWN
0.38.0

0 comments on commit 02254b9

Please sign in to comment.