1
- Release 0.37 .0
1
+ Release 0.38 .0
2
2
==============
3
3
4
- This release requires FFmpeg 4.4 or newer and libplacebo 6.338.0 or newer.
4
+ This release requires FFmpeg 4.4 or newer and libplacebo 6.338.2 or newer.
5
5
6
- This is the first release to unconditionally require libplacebo, but note that
7
- the new improved renderer (vo_gpu_next) is not yet the default.
6
+ The new improved renderer (vo_gpu_next) is being worked on and not the default yet.
8
7
9
8
10
9
Features
@@ -13,31 +12,30 @@ Features
13
12
New
14
13
~~~
15
14
16
- - ao_oss: add SPDIF passthrough support
17
- - hwtransfer: implement support for HW->HW format conversions
18
- - stream/dvbin: add support for delivery system ISDB-T
19
- - audio/chmap: support up to 64 channels (including 22.2 layout)
20
- - libmpv: add mpv_time_ns()
21
- - vo_gpu, vo_gpu_next: add Vulkan support for macOS
22
- - meson: make libplacebo a required dependency
23
- - hwdec: support videotoolbox hwdec with libplacebo
15
+ - scripting: add mp.input()
16
+ - player: add an option to automatically turn on deinterlacing
17
+ - mac: add more Now Playing information and functionality
18
+ - osxbundle: automatically include MoltenVK to enable Vulkan support
19
+ - input.conf: bind Ctrl+WHEEL_UP/DOWN to video-zoom
20
+ - ao_avfoundation: initial support for AVFoundation audio driver (macOS)
21
+ - vo: add context menu support on win32
24
22
25
23
26
24
Changed
27
25
~~~~~~~
28
26
29
- - msg: print warning and error messages to stderr
30
- - options: restore old default subtitle selection behavior
31
- - input.conf: swap wheel up/down with wheel left/right
27
+ - osc: allow disabling special mouse wheel behavior
28
+ - mac: add support for dynamic change of geometry, autofit
29
+ - x11_common: allow DPI scale in unit of 0.5 and prefer the value from Xft.dpi
30
+ - vo_gpu_next: save cache to separate files
31
+ - mac: large amounts of refactoring, internal improvements and cleanups
32
+ - builtin.conf: remove debanding from the high-quality profile
32
33
33
34
34
35
Removed
35
36
~~~~~~~
36
37
37
- - waf: remove waf as a build system
38
- - osc.lua: remove toggle for forced only subpictures (appeared as [F])
39
- - mac: remove runtime checks and compatibility for macOS older than 10.15
40
- - cocoa: remove deprecated OpenGL cocoa backend
38
+ - player: remove legacy, non-standard Raspberry Pi-specific support code
41
39
42
40
43
41
Options and Commands
@@ -46,169 +44,125 @@ Options and Commands
46
44
Added
47
45
~~~~~
48
46
49
- - vo_gpu_next: add --hdr-peak-percentile
50
- - player: add --term-remaining-playtime option
51
- - x11: add --x11-wid-title option
52
- - vo_gpu_next: add --libplacebo-opts
53
- - player: add --subs-match-os-language option (replaces 'auto' option)
54
- - vo: add --video-crop
55
- - win32: add --window-corners, --window-affinity, --title-bar, --backdrop-type
56
- - sub: add --sub-stretch-durations option
47
+ - options: add secondary-sub-delay
48
+ - options: add --osd-bar-border-size
49
+ - filter_sdh: add --sub-filter-sdh-enclosures option
50
+ - options: add --secondary-sub-ass-override
51
+ - audio: add --volume-gain option to control volume in decibels
52
+ - command: export current-gpu-context property
53
+ - sub: add --sub-lavc-o option
54
+ - command: add load-config-file and load-input-conf
55
+ - input: add --input-preprocess-wheel option
56
+ - player: add loadfile/loadlist insert-next commands
57
+ - input: rework window dragging to be command controllable
58
+ - options: add --deinterlace-field-parity option
59
+ - vo: add video-target-params property
60
+ - options: add --input-commands that runs commands at startup
57
61
58
62
59
63
Changed
60
64
~~~~~~~
61
65
62
- - builtin.conf: add --hdr-peak-percentile=99.995 to gpu-hq profile
63
- - player: add 'always' option to --subs-fallback-forced
64
- - demux_playlist: default to --directory-mode=lazy
65
- - builtin.conf: add --allow-delayed-peak-detect=no to gpu-hq profile
66
- - vo_gpu, vo_gpu_next: support --icc-3dlut-size=auto
67
- - demux: prepend some cache options with --demuxer-
68
- - builtin.conf: modernize internal profiles for higher quality rendering by default,
69
- rename 'gpu-hq' profile to 'high-quality', add 'fast' profile
70
- - vo_gpu, vo_gpu_next: default to dscale=hermite
71
- - builtin.conf: remove deprecated 'opengl-hq' profile
72
- - options: remove a bunch of old option fallbacks/deprecated ones
73
- - vo_gpu: allow --deband-iterations to be 0
74
- - stream_cdda: deprecate --cdda-toc-bias and always check for offsets
75
- - options: disable --allow-delayed-peak-detect by default
76
- - options: adjust default of --watch-later-options
77
-
78
-
79
- Deprecated
80
- ~~~~~~~~~~
81
-
82
- - command: deprecate shared-script-properties
83
- - demux_cue: deprecate --demuxer-cue-codepage for --metadata-codepage
66
+ - player/command: add ability to scale overlay
67
+ - mac: add support for window-id property and --drag-and-drop
68
+ - command: support passing scale to `keypress`
69
+ - mac: add support for --auto-window-resize, --input-cursor-passthrough options
70
+ - win32: add support for --input-cursor-passthrough option
71
+ - x11_common: support --title-bar
72
+ - sub: allow setting special page numbers via --teletext_page
73
+ - player: set --hidpi-window-scale to no by default
74
+ - osd_libass: update the OSD bar's dent and border size
75
+ - player: remove --alpha and rename --background to --background-color
76
+ - options: remove --focus-on-open and add --focus-on
84
77
85
78
86
79
Removed
87
80
~~~~~~~
88
81
89
- - player: remove special 'auto' option from alang/slang/vlang (previous default)
90
- - vo_gpu: remove --tone-mapping-mode
91
- - vo_gpu: remove --scale-wblur, --scale-cutoff etc.
92
- - vo_gpu: remove --scaler-lut-size
93
- - m_option: drop support for -del for list options
82
+ - player: remove --term-remaining-playtime option
94
83
95
84
96
85
Fixes and Minor Enhancements
97
86
----------------------------
98
87
99
- - build: remove unneeded libdl requirement for vaapi
100
- - zimg: fix abort on subsampled input with odd heights
101
- - video_writer: fix gamma for YUV screenshots
102
- - player/video: fix possible crash when changing lavfi-complex
103
- - ad_spdif: fix segfault due to early deallocation
104
- - ao_pipewire: fix race conditon with setting the media role
105
- - draw_bmp: fix overflowing coordinates in mark_rcs
106
- - ao_sndio: use sio_flush() to improve controls responsiveness
107
- - vo_vdpau: fix hwdec for this vo
108
- - vo_gpu, vo_gpu_next: fix setting an empty dscale
109
- - vd_lavc: repeatedly attempt to fallback if hwdec fails in reinit
110
- - options: fix relative time parsing on negative input
111
- - win32: signal DPI changes correctly
112
- - mp_image: properly infer color levels for some pixfmts
113
- - vo_gpu_next: add ability to use named hook params
114
- - vo_gpu_next: take into account PAR when taking screenshots
115
- - ao_audiotrack: support more channel layouts
116
- - osc.lua: support speed-independent time-remaining display
117
- - sub: fix switching tracks while paused
118
- - audio: fix clipping with gapless audio enabled
119
- - player/video: avoid spamming logs with EOF
120
- - player/command: detect aspect ratio name and show it in stats.lua
121
- - wayland: keyboard input fixes
122
- - demux_playlist: remove len restriction on headerless m3u
123
- - win32: fix display resolution calculation on mulitple monitors
124
- - vo_gpu_next: multiple adjustments and fixes to interpolation
125
- - loadfile: avoid infinite playlist loading loops
126
- - context_drm_egl: don't free EGL properties if they are null
127
- - x11: require xrandr 1.4, remove xinerama support
128
- - drm_common: skip cards that don't have connected outputs
129
- - win32_common: fixes minimized window being focused on launch
130
- - ao/jack: set device_buffer to JACK buffer size
131
- - meson: rename all features with underscores
132
- - input: add new keys: Back, Tools, ZoomIn, ZoomOut
133
- - win32: don't ignore --screen and --fs-screen
134
- - input: add missing keypad key defines and Windows multimedia keys
135
- - player: use audio pts corresponding to playing audio on EOF
136
- - command: add sub-ass-extradata property
137
- - vo_dmabuf_wayland: unmap osd surface when not needed
138
- - player: always write redirect entries for resuming playback
139
- - stats.lua: reorganize how video params are displayed
140
- - stats.lua: display HDR metadata
141
- - osc.lua: add scrolling to the seekbar
142
- - demux_lavf: prefer track durations over container durations to determine total
143
- - vo: vulkan: allow picking devices by UUID
144
- - video: allow overriding container crop if it is present
145
- - vo_gpu, vo_gpu_next, screenshot: support applying crop for screenshots
146
- - sd_lavc: account for floating point inaccuracy, fix sub PTS
147
- - stream: accept dav:// and davs:// urls
148
- - filter_kernels: refine some constants
149
- - filter_kernels: add ewa_lanczos4sharpest
150
- - osc.lua: add scrolling to audio/sub buttons
151
- - demux_mkv: support cropping and rotation
152
- - vo_dmabuf_wayland: support 90 degree rotations
153
- - filter_kernels: add hermite filter
154
- - vo: avoid unnecessary redraws when the OSD shows
155
- - scripting: support DLL cplugins
156
- - af_scaletempo2: various bug fixes
157
- - sdl_gamepad: fix button detection on modern controllers
158
- - vo_dmabuf_wayland: support osd rendering when there's no video
159
- - demux_playlist: add --directory-mode=auto
160
- - vo_gpu_next: use proper color for subtitles
161
- - win32: add an option to change window affinity and control title bar state
162
- - win32: reduce top border thickness to imitate DWM invisible borders
163
- - wayland: remove gnome-specific idle-inhibit warning
164
- - win32: pass window handle to the window-id property
165
- - osc.lua: fix calculation for slider's min-max average
166
- - recorder: fix a couple of memory leaks
167
- - af_scaletempo2: raise max playback rate to 8.0
168
- - osc.lua: move the idle logo behind other overlays
169
- - hwdec_drmprime: add nv16 support
170
- - various: change internal timing code to work in nanoseconds instead of microseconds
171
- - vo: increase display refresh rate estimation limit from 99 Hz to 400 Hz
172
- - external_files: base cover-art-whitelist on cover-art-auto-exts
173
- - path: don't override cache and state paths with --config-dir
174
- - codec_tags: map some more image mimetypes
175
- - af/vf-command: add ability to target a specific lavfi filter
176
- - win32: prevent white window flash on startup
177
- - demux_playlist: use --metacode-codepage when parsing playlist files
178
- - video: revert racey change that led to stutter and deadlocking
179
- - console.lua: various improvements
180
- - command: add playlist-next-playlist and playlist-prev-playlist
181
- - ytdl_hook.lua: set metadata with single tracks
182
- - defaults.lua: add a disabled parameter to timer constructors
183
- - terminal-unix: race condition fixes
184
- - af_scaletempo2: better defaults
185
- - hwtransfer: handle hwcontexts that don't implement frame constraints
186
- - stream_cdda: remove fallback for ancient libcdio versions
187
- - osdep: drop support for C11 without atomics
188
- - dvbin: do a big cleanup on code style and functions
189
- - ytdl_hook.lua: parse the separate cookies field
190
- - sub: update subtitles if current track is an image
191
- - javascript: use --js-memory-report option instead of MPV_LEAK_REPORT
192
- - ao_coreaudio: signal buffer underruns
193
- - ytdl_hook.lua: support thumbnails
194
- - demux: make hysteresis-secs respect cache-secs
195
- - mp_image: pass rotation correctly to/from AVFrame correctly
196
- - various: add new internal mp_thread abstraction and use it
197
- - drm: use present_sync mechanism for presentation feedback
198
- - vo_gpu: apply ICC profile and dithering only to window screenshots
199
- - audio: introduce ao_read_data_nonblocking() and use it in relevant backends
200
- - wayland: obey initial size hints set by the compositor
201
- - command: export storage aspect ratio (sar) properties
202
- - vo: delay vsync samples by at least 10 refreshes to improve convergence time
203
- - vo_sdl: fix broken mouse wheel multiplier
204
- - vo_gpu_next: simplify cache code and don't re-save when unmodified
88
+ - vaapi: add support for vaapi-win32
89
+ - ao/coreaudio_exclusive: fix segfault when changing formats
90
+ - mac: fix libmpv usage without embedding
91
+ - build: only directly link shaderc and spirv-cross on windows
92
+ - build: enable dvbin by default again
93
+ - playloop: use a 16:9 ratio with --force-window
94
+ - mac: report modifier keys on precise scrolling
95
+ - input: fix double click handling
96
+ - input: add missing forward media key ('GO_FORWARD')
97
+ - sub: don't busy loop if the player is paused for cache
98
+ - playlist: correctly populate playlist-path with the --playlist option
99
+ - win32: opt in to the windows segment heap
100
+ - demux_lavf: remove fix_editlists hack for mp4
101
+ - wayland: fix key modifier handling again
102
+ - win32: re-enable IME
103
+ - wayland_common: guard against negative configure sizes
104
+ - demux_lavf: detect ico as images
105
+ - bash-completion: parse the mpv options lazily
106
+ - f_auto_filters: use bwdif_cuda for deinterlacing with cuda hwdec
107
+ - command: do a normal seek instead of a refresh seek when switching vo
108
+ - ad_spdif: fix DTS 44.1khz passthrough playback
109
+ - vo_dmabuf_wayland: scale smarter in hidpi situations
110
+ - hwdec_drmprime: add P010 and P210 support
111
+ - wayland: look for "default" cursor as well as "left_ptr"
112
+ - wayland_common: properly handle high resolution scrolling
113
+ - vo_vdpau: fix timing for nanoseconds
114
+ - demux_mkv: add tags for A_MPEG/L1 (mp1) audio and FFV1 video
115
+ - osdep: fix infinite loop when cancelling subprocess
116
+ - dec_sub: expand sub packet caching
117
+ - player/sub: avoid wasteful subtitle redraws
118
+ - ao_pipewire: add support for SPDIF formats
119
+ - wayland_common: implement multi-seat support
120
+ - vo: make libmpv last in the auto-probing order for cocoa-cb only
121
+ - player/loadfile: rewrite sub autoselection logic
122
+ - meson: add custom target for macOS App bundling
123
+ - image_writer: cleanup leftover files if image writing fails
124
+ - sub: fix LRC lines with multiple timestamps
125
+ - ao: don't clip floating point formats at non-unity gain
126
+ - wayland: remove old sway/wlroots hack
127
+ - hwdec/dmabuf_interop_gl: migrate to EXT_EGL_image_storage on desktop GL
128
+ - sd_ass: don't wrongly recognize \pos as \p
129
+ - ao_audiotrack: fix missing check for passthrough support
130
+ - wayland_common: log if Drag-and-Drop fails
131
+ - vo_gpu_next: render subtitles at video colorspace
132
+ - swresample: stop using deprecated {in,out}_channel_layout options
133
+ - path: don't load any files if --no-config is passed (incl. cache and state)
134
+ - vo_gpu/vo_gpu_next: fix transparency with GLX
135
+ - wayland_common: require WAYLAND_DISPLAY to be set for initialization
136
+ - vo_drm: add support for BGR formats and YUYV
137
+ - stream: enable caching for sockets, pipes and FIFOs
138
+ - ao_coreaudio: stop audio unit after idle timeout
139
+ - vo_gpu_next: add support for --dither-depth=auto
140
+ - vo_gpu_next: don't render ASS subtitles at HDR colorspace
141
+ - video/image_writer: attach MDVC metadata and CLLI metadata
142
+ - win32: resolve dropped shell links (Windows shortcuts)
143
+ - af_lavcac3enc: fix memory leak on 2ch audio
144
+ - win32: increase hires timer resolution
145
+ - input: raise maximum key down limit to 16
146
+ - input: remove max active section limit
147
+ - video/egl_helpers: fix fallback logic for EGL_KHR_create_context
148
+ - ao_pulse: reenable latency hacks by default
149
+ - hwdec/vulkan: enable the stable AV1 extension
150
+ - af_scaletempo2: fix false reporting of frame availability
151
+ - win32: fix native key repeat support
152
+ - ao_pipewire: fix some buffer size / timing calculations
153
+ - audio: pause handling improvements for pull-based AOs
154
+ - ad_spdif: specify missing media type and sample rate
155
+ - mac/vulkan: add support for frame timing via presentation feedback
156
+ - demux_mkv: corrected direction of ProjectionPoseRoll rotation
157
+ - demux_mkv: add support for BCP 47 language tags
158
+ - player: avoid busy looping during subtitle track switches
205
159
206
160
207
161
This listing is not complete. Check DOCS/client-api-changes.rst for a history
208
162
of changes to the client API, and DOCS/interface-changes.rst for a history
209
163
of changes to other user-visible interfaces.
210
164
211
- A complete changelog can be seen by running `git log v0.36 .0..v0.37 .0`
165
+ A complete changelog can be seen by running `git log v0.37 .0..v0.38 .0`
212
166
in the git repository or by visiting either
213
- https://github.com/mpv-player/mpv/compare/v0.36 .0...v0.37 .0 or
214
- https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.36 .0..v0.37 .0
167
+ https://github.com/mpv-player/mpv/compare/v0.37 .0...v0.38 .0 or
168
+ https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.37 .0..v0.38 .0
0 commit comments