Here is an update to mpv 0.41.0.
Release 0.41.0
==============
We are excited to announce the release of mpv 0.41.0.
Key highlights:
* The libplacebo based `gpu-next` is now the default, over `gpu`
* Vulkan hardware decoding is preferred over other APIs
* New context_menu.lua script for right-click context menus
* AAudio backend for modern, HNI-free audio output on Android
* Improved default color management for gpu-next, and handling on Wayland
* Color representation protocol support for Wayland
* Tablet input support for Wayland
* Clipboard writing support for Wayland and a clipboard backend for X11
* Ambient light support on Linux (using sysfs ALS)
* Built-in helpers to register mpv as a media app on Windows
# Features
## New
- clipboard-wayland: support clipboard writing
- wayland: add support for wp-color-representation-v1
- wayland: tablet input support
- vo_gpu_next: add support for blend-subtitles=video
- meson: add mpv-register and mpv-unregister helpers on Windows
- context_menu.lua: add this script
- select.lua: add edit-config-file and edit-input-conf
- osc.lua: add indicator for buffering/loading
- osdep/linux-als: support 'ambient-light' property on Linux
- clipboard-x11: add x11 clipboard backend
- ao/aaudio: implement native AAudio backend for Android
## Changed
- vd_lavc: prefer Vulkan hwdec when available
- vd_lavc: prefer non-copy hwdec before falling back to -copy variant
- vo: move vo_mediacodec_embed to not be the default on Android
- sub/osd_libass: don't rerender OSD if not changed
- vo: prefer vo_gpu_next over vo_gpu by default
- vo_gpu_next: respect ICC profile color space over any metadata
- vo_gpu_next: linearize sRGB as a pure 2.2 power function
- meson: warn if building with SDL2 due to known problems
- osxbundle: make bundle category configurable and default to video
- ao_pipewire: avoid setting any media.role by default
# Options and Commands
## Added
- sub: add control for libass caching options (glyph-limit, bitmap-max-size)
- vo: add options to control background tile appearance (transparency)
- command: add default and forced flags to the track add commands
- vo_gpu_next: add options to control subtitle peak for HDR output
- video/out/d3d11: add d3d11 composition mode support
- vd_lavc: add --hwdec-threads
- stream_bluray: add --bluray-angle
- vo_gpu_next: add options to control output colorspace metadata more precisely
- sub: make --sub-fix-timing configurable
- vo_gpu_next: add --hdr-reference-white
- audio/out: add --audio-set-media-role
## Changed
- options: revert --prefetch-playlist default back to 'no'
- vo_gpu_next: change --target-colorspace-hint to 'auto' by default
- options: handle runtime --wid change
- options: reduce swapchain-depth to 2 by default
- screenshot: add osd and scaled flags to screenshot commands
# Fixes and Minor Enhancements
- vo_kitty: add auto-multiplexer-passthrough option
- vd_lavc: enable FFv1 hwaccel by default
- clipboard-wayland: prevent reading from hung up fd
- demux_mkv: fix compilation after deprecated definitions removal
- filters: handle flipping video if displaymatrix indicates so
- player/scripting: fix race condition when destroying clients
- {osd,msg}: use PU codepoints for escape codes instead of invalid UTF-8
- vo_dmabuf_wayland: only load needed hardware decoding drivers
- video/image_writer: tag accurate bit depth
- demux_lavf: fix unconstrained cache size with wrapped AVFrame packets
- libarchive: fix reading name of certain UTF-8 files
- sub/sd_lavc: fix decoding with libaribb24
- ao_avfoundation: fix memory leak
- osc.lua: fix volume icon not updating while paused
- context_wayland: implement target_csp for wayland
- vo_gpu: fix target colorspace for redrawn frames
- vo_dmabuf_wayland: don't set HDR metadata on SDR transfers
- vo_gpu_next: don't do partial updates on hint luminance
- sub/ass_mp: add missing padding for ass packer
- stream_dvb: allow to enforce DVB-S/T for old zap format channels.conf
- demux_libarchive: fix reading archives with '%' in stream URL path
- vo_gpu_next: allow UINT upload if no other format is supported
- ytdl_hook.lua: fix incorrect default format used with yt-dlp
- vo_gpu_next: allow unsetting LUTs
- stream_bluray: use bd_get_main_title() to get main title
- vo_gpu_next: when tone-mapping, set better maxCLL value
- stream_libarchive: seek source stream to 0 before probing
- path-unix: support ~~desktop path expansion
- ytdl_hook.lua: don't crash if playlist entries don't have an usable URL
- mac/vulkan: fix frame not displayed when paused
- mac/common: render first frame on init if possible
- video/out/w32_common: support --wid=0
- demux_mkv: map and expose hearing/visual impaired flags
- player/misc: show percentage progress for --stream-dump
- command: fix null dereference for invalid command in input-commands
- cplugin: fix missing init of pfn_mpv_get_time_ns
- vo_dmabuf_wayland: actually reuse OSD buffers
- mp_image: add support for AVAlphaMode
- vo_gpu_next: add --border-background=blur and --background-blur-radius
- demux/cue: fix crash when there are no tracks
- vf_format: add some basic HDR10 metadata
- vo/context_android: fix surface tearing on resize
- meson: remove redundant 'sdl2' option
- mac/common: fix window position on multi monitor setups
- vo_gpu_next: limit min_luma to 1000:1 contrast ratio in SDR mode
- ao_pipewire: fix some incorrect channel mappings
- wayland: correct geometry handling for rotated outputs
- demux: clear packet pool when upper memory limit is lowered
- mp_image: add ycgco-{re,ro} support
- wayland: convert luminance values to libplacebo space
- vo: trigger manual redraws at most at slightly over display fps
- osxbundle: add new macOS 26 compatible App icon
- wayland: support color-management-v1 version 2
Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/mpv/Makefile,v
retrieving revision 1.108
diff -u -p -u -p -r1.108 Makefile
--- Makefile 26 Mar 2025 22:17:11 -0000 1.108
+++ Makefile 21 Feb 2026 01:53:21 -0000
@@ -2,7 +2,7 @@ COMMENT = movie player based on MPlayer
GH_ACCOUNT = mpv-player
GH_PROJECT = mpv
-GH_TAGNAME = v0.40.0
+GH_TAGNAME = v0.41.0
USE_NOBTCFI = Yes
SHARED_LIBS += mpv 2.0
@@ -14,8 +14,8 @@ HOMEPAGE = https://mpv.io/
# GPLv2+
PERMIT_PACKAGE = Yes
-WANTLIB += ${MODLUA_WANTLIB} EGL SDL2 X11 X11-xcb Xext Xpresent Xrandr
-WANTLIB += Xss Xv archive ass avcodec avdevice avfilter avformat
+WANTLIB += ${MODLUA_WANTLIB} EGL X11 X11-xcb Xext Xfixes Xpresent
+WANTLIB += Xrandr Xss Xv archive ass avcodec avdevice avfilter avformat
WANTLIB += avutil bluray c cdio cdio_cdda cdio_paranoia display-info
WANTLIB += drm dvdnav iconv jpeg lcms2 m placebo pthread sndio
WANTLIB += swresample swscale va va-drm va-x11 vulkan xcb xcb-shm z
@@ -37,7 +37,6 @@ LIB_DEPENDS = archivers/libarchive \
audio/libcdio \
audio/libcdio-paranoia \
converters/libiconv \
- devel/sdl2 \
graphics/ffmpeg \
graphics/jpeg \
graphics/lcms2 \
@@ -55,8 +54,10 @@ RUN_DEPENDS = devel/desktop-file-utils
www/yt-dlp \
x11/gtk+4,-guic
-CONFIGURE_ARGS = -Dalsa=disabled \
+CONFIGURE_ARGS = -Daaudio=disabled \
+ -Dalsa=disabled \
-Dandroid-media-ndk=disabled \
+ -Daudiotrack=disabled \
-Daudiounit=disabled \
-Davfoundation=disabled \
-Dcaca=disabled \
@@ -98,8 +99,6 @@ CONFIGURE_ARGS = -Dalsa=disabled \
-Dpipewire=disabled \
-Dpulse=disabled \
-Drubberband=disabled \
- -Dsdl2-audio=disabled \
- -Dsdl2=enabled \
-Dshaderc=disabled \
-Dsixel=disabled \
-Dspirv-cross=disabled \
@@ -130,7 +129,6 @@ post-install:
${INSTALL_DATA} ${WRKDIST}/TOOLS/mpv_identify.sh \
${WRKDIST}/TOOLS/umpv ${PREFIX}/share/examples/mpv
${MODPY_BIN_ADJ} ${PREFIX}/share/examples/mpv/umpv
- mv -f ${WRKINST}${SYSCONFDIR}/mpv/* ${PREFIX}/share/examples/mpv
sed -Ei 's,(/dev/dvd|/dev/cdrom),/dev/rcd0c,g' ${PREFIX}/man/man1/mpv.1
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/multimedia/mpv/distinfo,v
retrieving revision 1.38
diff -u -p -u -p -r1.38 distinfo
--- distinfo 26 Mar 2025 22:17:11 -0000 1.38
+++ distinfo 21 Feb 2026 01:53:21 -0000
@@ -1,2 +1,2 @@
-SHA256 (mpv-0.40.0.tar.gz) = EKD0ZU9iFApt1NOA3PC729z25pdVaGPcSZwpYYLwgaM=
-SIZE (mpv-0.40.0.tar.gz) = 3561474
+SHA256 (mpv-0.41.0.tar.gz) = 7iEJKl7kJzUzkjYJKdxkZFxUR5rv21urxc+7X61iYgk=
+SIZE (mpv-0.41.0.tar.gz) = 7262018
Index: patches/patch-demux_demux_mkv_c
===================================================================
RCS file: patches/patch-demux_demux_mkv_c
diff -N patches/patch-demux_demux_mkv_c
--- patches/patch-demux_demux_mkv_c 21 Oct 2025 13:04:43 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-Index: demux/demux_mkv.c
---- demux/demux_mkv.c.orig
-+++ demux/demux_mkv.c
-@@ -2200,16 +2200,16 @@ static int demux_mkv_open_sub(demuxer_t *demuxer, mkv_
- // [0x30..0x37] are component tags utilized for
- // non-mobile captioning service ("profile A").
- if (component_tag >= 0x30 && component_tag <= 0x37)
-- lav->profile = FF_PROFILE_ARIB_PROFILE_A;
-+ lav->profile = AV_PROFILE_ARIB_PROFILE_A;
- break;
- case 0x0012:
- // component tag 0x87 signifies a mobile/partial reception
- // (1seg) captioning service ("profile C").
- if (component_tag == 0x87)
-- lav->profile = FF_PROFILE_ARIB_PROFILE_C;
-+ lav->profile = AV_PROFILE_ARIB_PROFILE_C;
- break;
- }
-- if (lav->profile == FF_PROFILE_UNKNOWN)
-+ if (lav->profile == AV_PROFILE_UNKNOWN)
- MP_WARN(demuxer, "ARIB caption profile %02x / %04x not supported.\n",
- component_tag, data_component_id);
- }
Index: patches/patch-meson_build
===================================================================
RCS file: /cvs/ports/multimedia/mpv/patches/patch-meson_build,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 patch-meson_build
--- patches/patch-meson_build 26 Mar 2025 22:17:15 -0000 1.12
+++ patches/patch-meson_build 21 Feb 2026 01:53:21 -0000
@@ -5,7 +5,7 @@ Support for xcb-shm
Index: meson.build
--- meson.build.orig
+++ meson.build
-@@ -358,7 +358,19 @@ if features['libdl']
+@@ -356,7 +356,19 @@ if features['libdl']
endif
# C11 atomics are mandatory but linking to the library is not always required.
@@ -26,7 +26,7 @@ Index: meson.build
cplugins = get_option('cplugins').require(
win32 or (features['libdl'] and cc.has_link_argument('-rdynamic')),
-@@ -1070,7 +1082,10 @@ x11 = {
+@@ -1089,7 +1101,10 @@ x11 = {
dependency('xscrnsaver', version: '>= 1.0.0', required: x11_opt),
dependency('xext', version: '>= 1.0.0', required: x11_opt),
dependency('xpresent', version: '>= 1.0.0', required: x11_opt),
No comments:
Post a Comment