Wed Nov 16 11:27:32 2022 UTC ()
mpv: Update to 0.35.0

Changes:
0.35.0
======
This release requires FFmpeg 4.0 or newer.

For packagers: Note that mpv's build system is only supported on Python 3.
If you use the `bootstrap.py` script it will take care of this, otherwise you
need to explicitly invoke the build system using `python3 waf`.

This release adds the Meson build system as an alternative to waf.
It is supposed to be feature-complete but please report any issues you encounter.

Features
--------
Added
~~~~~
- vo_gpu_next: add new libplacebo-based renderer
- build: add meson build support
- vo_gpu_next: forward Dolby Vision metadata to libplacebo
- ao_pipewire: add PipeWire audio backend
- ao_sndio: readd this audio output again
- vo_gpu_next: apply film grain if such metadata is present
- drm: context_drm_egl: add support for enabling VRR
- demux: add support for R128 replaygain tags
- x11: support X Present extension
- af_rubberband: add support for new engine in rubberband 3.0.0
- hwdec/drmprime: add drmprime hwdec-interop (commonly found on SoCs)
- various: support binding functions keys beyond F12
- audio: support hotplug events for multiple AOs
- sub: use Unicode linebreaking for non-ASS subs and OSD
- vo_gpu: hwdec: add Android hwdec utilizing AImageReader
- vo_dmabuf_wayland: add wayland VO displaying dmabuf buffers (vaapi or drm hwdec only)
- lua/console: add history deduplication

Changed
~~~~~~~
- filters: re-add vavpp hardware deinterlacing auto-filter (for --deinterlace)
- swresample: don't forcibly clip audio on every conversion
- ytdl_hook: always set HTTP headers to fix yt-dlp on certain sites

Removed
~~~~~~~
- libmpv: remove opengl_cb API and other deprecated symbols
- lua: remove deprecated mp.suspend(), resume() and resume_all()
- build: raise minimum libplacebo version requirement to v4.157.0

Options and Commands
--------------------
Added
~~~~~
- vo_gpu_next: add --target-colorspace-hint to facilitate HDR passthrough
- vo_gpu_next: new tone mapping options 'auto', 'spline', 'bt.2446a'
               and add --tone-mapping-crosstalk, --inverse-tone-mapping
- vo_gpu: add --gamut-mapping-mode and --tone-mapping-mode
- options: add 'always' choice to --stop-screensaver
- options: add --osd-playing-msg-duration
- player: add --cover-art-whitelist option
- x11: add --x11-present option

Changed
~~~~~~~
- ao_openal: enable --openal-direct-channels by default
- options: only apply --sub-visibility to primary subtitles
- options: make --cover-art-auto=exact the default
- vo_gpu/hwdec: rename and introduce legacy names for some interops

Deprecated
~~~~~~~~~~
- vo_gpu: deprecate --gamma-factor and --gamma-auto

Removed
~~~~~~~
- vo_gpu: remove --gamut-clipping, --gamut-warning, --tone-mapping-desaturate and
          --tone-mapping-desaturate-exponent (replacements available)
- vulkan: remove --vulkan-disable-events

Fixes and Minor Enhancements
----------------------------
- context_drm_egl: use gbm_surface_create_with_modifiers
- context_drm_egl: add support for BGR surface formats
- vo_gpu: vulkan: open DRM render fd when using VK_KHR_display
- client API: use symbol visibility attributes
- vo_gpu: hwdec_vaapi: add dma-buf modifiers support
- wayland: fix various issues that could lead to jitter
- osc: fix cache displaying 60s in some cases
- player: make --keep-open=always work with --loop-playlist
- opengl: support driver debug message under OpenGL ES
- vo_gpu: opengl: fixes for OpenGL ES version and extension handling
- f_decoder_wrapper: support frame rotation metadata (used by JPEG)
- wscript: switch shaderc checks to pkgconfig
- vd_lavc: enable hwdec for prores by default
- vo_gpu: add HOOKED_gather for custom shaders
- wayland, x11: sanitize window title for valid UTF-8
- win32: apply geometry position to content instead of window
- filter_kernels: add cosine window
- vo_gpu: hwdec_vaapi: don't probe formats for irrelevant endpoints
- vo_gpu: hwdec: load hwdec interops on-demand by default
- stats.lua: graphs: fix bad rendering due to division by 0
- hwdec: warn on unsupported --hwdec option value
- x11: fix --screen-name option
- x11: avoid wasteful rendering when possible
- video/image_writer: add JPEG XL support
- stream_lavf: enable ipfs, ipns and rist protocol support
- osc.lua: fix crash when calling osc-tracklist while idle
- player: add jxl, tiff, tif to list of image extensions
- various: switch to new AVChannelLayout structure
- lua: command_native_async: always run callback asynchronously (edge case)
- context_x11egl: remove supposed transparency workaround
- vo_gpu: fix 3DLUT precision
- drm: avoid drmModeAtomicCommit races by blocking
- drm_common: skip cards that don't support KMS for autodetection
- hwdec/dmabuf_interop_gl: support basic multi-plane formats
- misc/random: switch to internal xoshiro rng implementation
- ytdl_hook: improve track detection
- ad_lavc: strip non-normalized floats
- mpv.metainfo.xml: add XDG appstream metadata manifest
- mac: avoid unnecessary unsafe conversions; fixes crash in debug builds
- af_scaletempo2: fix crash when the number of channels increases
- wayland: correctly handle non-CLOCK_MONOTONIC clocks
- x11: fix --on-all-workspaces option
- sd_ass: improve handling of subtitles with unknown duration
- hwdec/vaapi: improve probing of supported sw formats
- demux_mf: enable support for QOI, PHM and HDR images
- demux_mkv: add AVS2 and AVS3 to tag list
- TOOLS/lua/autoload: fix incorrect duplicate file loading behavior
- demux/codec_tags: support more WAVEFORMATEXTENSIBLE tags
- sd_ass: never mangle colours on RGB video


(leot)
diff -r1.142 -r1.143 pkgsrc/multimedia/mpv/Makefile
diff -r1.12 -r1.13 pkgsrc/multimedia/mpv/PLIST
diff -r1.75 -r1.76 pkgsrc/multimedia/mpv/distinfo
diff -r1.8 -r1.9 pkgsrc/multimedia/mpv/patches/patch-wscript
diff -r1.3 -r1.4 pkgsrc/multimedia/mpv/patches/patch-wscript__build.py

cvs diff -r1.142 -r1.143 pkgsrc/multimedia/mpv/Makefile (expand / switch to unified diff)

--- pkgsrc/multimedia/mpv/Makefile 2022/09/11 12:52:03 1.142
+++ pkgsrc/multimedia/mpv/Makefile 2022/11/16 11:27:32 1.143
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.142 2022/09/11 12:52:03 wiz Exp $ 1# $NetBSD: Makefile,v 1.143 2022/11/16 11:27:32 leot Exp $
2 2
3DISTNAME= mpv-0.34.1 3DISTNAME= mpv-0.35.0
4PKGREVISION= 10 
5CATEGORIES= multimedia 4CATEGORIES= multimedia
6MASTER_SITES= ${MASTER_SITE_GITHUB:=mpv-player/} 5MASTER_SITES= ${MASTER_SITE_GITHUB:=mpv-player/}
7GITHUB_TAG= v${PKGVERSION_NOREV} 6GITHUB_TAG= v${PKGVERSION_NOREV}
8 7
9MAINTAINER= leot@NetBSD.org 8MAINTAINER= leot@NetBSD.org
10HOMEPAGE= https://mpv.io/ 9HOMEPAGE= https://mpv.io/
11COMMENT= Video player based on MPlayer and mplayer2 10COMMENT= Video player based on MPlayer and mplayer2
12LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 11LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1
13 12
14# needs sem_timedwait(3) 13# needs sem_timedwait(3)
15NOT_FOR_PLATFORM= NetBSD-[1-6].*-* 14NOT_FOR_PLATFORM= NetBSD-[1-6].*-*
16 15
17TOOL_DEPENDS+= ${PYPKGPREFIX}-docutils>=0.12:../../textproc/py-docutils 16TOOL_DEPENDS+= ${PYPKGPREFIX}-docutils>=0.12:../../textproc/py-docutils

cvs diff -r1.12 -r1.13 pkgsrc/multimedia/mpv/PLIST (expand / switch to unified diff)

--- pkgsrc/multimedia/mpv/PLIST 2022/05/03 07:04:27 1.12
+++ pkgsrc/multimedia/mpv/PLIST 2022/11/16 11:27:32 1.13
@@ -1,26 +1,26 @@ @@ -1,26 +1,26 @@
1@comment $NetBSD: PLIST,v 1.12 2022/05/03 07:04:27 nia Exp $ 1@comment $NetBSD: PLIST,v 1.13 2022/11/16 11:27:32 leot Exp $
2bin/mpv 2bin/mpv
3include/mpv/client.h 3include/mpv/client.h
4include/mpv/opengl_cb.h 
5include/mpv/render.h 4include/mpv/render.h
6include/mpv/render_gl.h 5include/mpv/render_gl.h
7include/mpv/stream_cb.h 6include/mpv/stream_cb.h
8lib/libmpv.so 7lib/libmpv.so
9lib/libmpv.so.1 8lib/libmpv.so.2
10lib/libmpv.so.1.109.0 9lib/libmpv.so.2.0.0
11lib/pkgconfig/mpv.pc 10lib/pkgconfig/mpv.pc
12man/man1/mpv.1 11man/man1/mpv.1
13share/applications/mpv.desktop 12share/applications/mpv.desktop
14share/bash-completion/completions/mpv 13share/bash-completion/completions/mpv
15share/doc/mpv/input.conf 14share/doc/mpv/input.conf
16share/doc/mpv/mplayer-input.conf 15share/doc/mpv/mplayer-input.conf
17share/doc/mpv/restore-old-bindings.conf 16share/doc/mpv/restore-old-bindings.conf
18share/examples/mpv/encoding-profiles.conf 17share/examples/mpv/encoding-profiles.conf
19share/examples/mpv/mpv.conf 18share/examples/mpv/mpv.conf
20share/icons/hicolor/128x128/apps/mpv.png 19share/icons/hicolor/128x128/apps/mpv.png
21share/icons/hicolor/16x16/apps/mpv.png 20share/icons/hicolor/16x16/apps/mpv.png
22share/icons/hicolor/32x32/apps/mpv.png 21share/icons/hicolor/32x32/apps/mpv.png
23share/icons/hicolor/64x64/apps/mpv.png 22share/icons/hicolor/64x64/apps/mpv.png
24share/icons/hicolor/scalable/apps/mpv.svg 23share/icons/hicolor/scalable/apps/mpv.svg
25share/icons/hicolor/symbolic/apps/mpv-symbolic.svg 24share/icons/hicolor/symbolic/apps/mpv-symbolic.svg
 25share/metainfo/mpv.metainfo.xml
26share/zsh/site-functions/_mpv 26share/zsh/site-functions/_mpv

cvs diff -r1.75 -r1.76 pkgsrc/multimedia/mpv/distinfo (expand / switch to unified diff)

--- pkgsrc/multimedia/mpv/distinfo 2022/05/17 13:12:13 1.75
+++ pkgsrc/multimedia/mpv/distinfo 2022/11/16 11:27:32 1.76
@@ -1,12 +1,12 @@ @@ -1,12 +1,12 @@
1$NetBSD: distinfo,v 1.75 2022/05/17 13:12:13 ryoon Exp $ 1$NetBSD: distinfo,v 1.76 2022/11/16 11:27:32 leot Exp $
2 2
3BLAKE2s (mpv-0.34.1.tar.gz) = 8c12b91067c852b26e1b044afb0ff1e80f1950f2c5cc193cc10ffbef227eb4da 3BLAKE2s (mpv-0.35.0.tar.gz) = 63c605cf84af3d1a720f3786d5c8b7aaae42be43a9ff3bfa24e1aafef785f4d0
4SHA512 (mpv-0.34.1.tar.gz) = 77ea349d6999f8cce9b5cce4cebd3506a224fc18ab08d22dd16bd34c34d012bb170879b268ddd62db40d116b4cc0b2d9d651b8097f387ed9115c426834cac77e 4SHA512 (mpv-0.35.0.tar.gz) = d5c1f734057f6b6c27e7f59de43cf7c0e7f813d842b8c7fd2ae1073dbe649c8187b7686df4efe928db2952e9f1efc171245e6f8780c1d9f174f4d7abff1e073a
5Size (mpv-0.34.1.tar.gz) = 3288356 bytes 5Size (mpv-0.35.0.tar.gz) = 3365752 bytes
6SHA1 (patch-audio_out_ao__alsa.c) = c4661d0d22550d6e4eb2b7a42dd04dbcc58123b0 6SHA1 (patch-audio_out_ao__alsa.c) = c4661d0d22550d6e4eb2b7a42dd04dbcc58123b0
7SHA1 (patch-etc_mpv.conf) = 9e41b2f4bf59c3bfc5ad84af05538661981ed111 7SHA1 (patch-etc_mpv.conf) = 9e41b2f4bf59c3bfc5ad84af05538661981ed111
8SHA1 (patch-stream_stream__libarchive.c) = 2025f994b7f82cc868608ab7e8df0ae89b549922 8SHA1 (patch-stream_stream__libarchive.c) = 2025f994b7f82cc868608ab7e8df0ae89b549922
9SHA1 (patch-video_out_drm__common.c) = 70eb8884f63e9456c0ffe592289cfd81e208955b 9SHA1 (patch-video_out_drm__common.c) = 70eb8884f63e9456c0ffe592289cfd81e208955b
10SHA1 (patch-video_out_wayland__common.c) = abed416d258ebf0b595ea897daf3013dd81189e8 10SHA1 (patch-video_out_wayland__common.c) = abed416d258ebf0b595ea897daf3013dd81189e8
11SHA1 (patch-wscript) = c7bb9c506718c38aded9ca47e7aa0d76cf338bf2 11SHA1 (patch-wscript) = 16cd1c2ecd6b860d4dc0d826742d31952811c3f7
12SHA1 (patch-wscript__build.py) = fc77ebe56fba0b827541d052a767402965793ee1 12SHA1 (patch-wscript__build.py) = afd5e66032e5ec50c7f12988480340eca0b82bf9

cvs diff -r1.8 -r1.9 pkgsrc/multimedia/mpv/patches/patch-wscript (expand / switch to unified diff)

--- pkgsrc/multimedia/mpv/patches/patch-wscript 2022/05/03 07:04:27 1.8
+++ pkgsrc/multimedia/mpv/patches/patch-wscript 2022/11/16 11:27:32 1.9
@@ -1,38 +1,38 @@ @@ -1,38 +1,38 @@
1$NetBSD: patch-wscript,v 1.8 2022/05/03 07:04:27 nia Exp $ 1$NetBSD: patch-wscript,v 1.9 2022/11/16 11:27:32 leot Exp $
2 2
3- Enable support for DRM on NetBSD. 3- Enable support for DRM on NetBSD.
4- Check for OSSv4 features that could not be on some platforms 4- Check for OSSv4 features that could not be on some platforms
5 (e.g. NetBSD) 5 (e.g. NetBSD)
6 6
7--- wscript.orig 2022-01-03 19:45:08.000000000 +0000 7--- wscript.orig 2022-11-12 13:52:40.000000000 +0000
8+++ wscript 8+++ wscript
9@@ -272,6 +272,11 @@ iconv support use --disable-iconv.", 9@@ -278,6 +278,11 @@ iconv support use --disable-iconv.",
10 'func': check_statement(['sys/consio.h', 'sys/ioctl.h'], 10 'func': check_statement(['sys/consio.h', 'sys/ioctl.h'],
11 'int m; ioctl(0, VT_GETMODE, &m)'), 11 'int m; ioctl(0, VT_GETMODE, &m)'),
12 }, { 12 }, {
13+ 'name': 'wsdisplay_usl_io.h', 13+ 'name': 'wsdisplay_usl_io.h',
14+ 'desc': 'wsdisplay_usl_io.h', 14+ 'desc': 'wsdisplay_usl_io.h',
15+ 'func': check_statement(['sys/types.h', 'dev/wscons/wsdisplay_usl_io.h', 'sys/ioctl.h'], 15+ 'func': check_statement(['sys/types.h', 'dev/wscons/wsdisplay_usl_io.h', 'sys/ioctl.h'],
16+ 'int m; ioctl(0, VT_GETMODE, &m)'), 16+ 'int m; ioctl(0, VT_GETMODE, &m)'),
17+ }, { 17+ }, {
18 'name': 'gbm.h', 18 'name': 'gbm.h',
19 'desc': 'gbm.h', 19 'desc': 'gbm.h',
20 'func': check_cc(header_name=['stdio.h', 'gbm.h']), 20 'func': check_cc(header_name=['stdio.h', 'gbm.h']),
21@@ -432,7 +437,7 @@ audio_output_features = [ 21@@ -441,7 +446,7 @@ audio_output_features = [
22 }, { 22 }, {
23 'name': '--oss-audio', 23 'name': '--oss-audio',
24 'desc': 'OSSv4 audio output', 24 'desc': 'OSSv4 audio output',
25- 'func': check_statement(['sys/soundcard.h'], 'int x = SNDCTL_DSP_SETPLAYVOL'), 25- 'func': check_statement(['sys/soundcard.h'], 'int x = SNDCTL_DSP_SETPLAYVOL'),
26+ 'func': check_statement(['sys/soundcard.h'], 'int x = SNDCTL_DSP_SETPLAYVOL; int y = SNDCTL_DSP_HALT;'), 26+ 'func': check_statement(['sys/soundcard.h'], 'int x = SNDCTL_DSP_SETPLAYVOL; int y = SNDCTL_DSP_HALT;'),
27 'deps': 'posix && gpl', 27 'deps': 'posix && gpl',
28 }, { 28 }, {
29 'name': '--pulse', 29 'name': '--pipewire',
30@@ -490,7 +495,7 @@ video_output_features = [ 30@@ -508,7 +513,7 @@ video_output_features = [
31 }, { 31 }, {
32 'name': '--drm', 32 'name': '--drm',
33 'desc': 'DRM', 33 'desc': 'DRM',
34- 'deps': 'vt.h || consio.h', 34- 'deps': 'vt.h || consio.h',
35+ 'deps': 'vt.h || consio.h || wsdisplay_usl_io.h', 35+ 'deps': 'vt.h || consio.h || wsdisplay_usl_io.h',
36 'func': check_pkg_config('libdrm', '>= 2.4.75'), 36 'func': check_pkg_config('libdrm', '>= 2.4.75'),
37 }, { 37 }, {
38 'name': '--gbm', 38 'name': '--gbm',

cvs diff -r1.3 -r1.4 pkgsrc/multimedia/mpv/patches/patch-wscript__build.py (expand / switch to unified diff)

--- pkgsrc/multimedia/mpv/patches/patch-wscript__build.py 2022/05/03 07:04:27 1.3
+++ pkgsrc/multimedia/mpv/patches/patch-wscript__build.py 2022/11/16 11:27:32 1.4
@@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
1$NetBSD: patch-wscript__build.py,v 1.3 2022/05/03 07:04:27 nia Exp $ 1$NetBSD: patch-wscript__build.py,v 1.4 2022/11/16 11:27:32 leot Exp $
2 2
3Install configuration files to examples, per pkgsrc conventions. 3Install configuration files to examples, per pkgsrc conventions.
4 4
5--- wscript_build.py.orig 2022-01-03 19:45:08.000000000 +0000 5--- wscript_build.py.orig 2022-11-12 13:52:40.000000000 +0000
6+++ wscript_build.py 6+++ wscript_build.py
7@@ -737,7 +737,7 @@ def build(ctx): 7@@ -769,7 +769,7 @@ def build(ctx):
8 ctx.env.DATADIR + '/applications', 8 ctx.env.DATADIR + '/metainfo',
9 ['etc/mpv.desktop'] ) 9 ['etc/mpv.metainfo.xml'] )
10  10
11- ctx.install_files(ctx.env.CONFDIR, ['etc/encoding-profiles.conf'] ) 11- ctx.install_files(ctx.env.CONFDIR, ['etc/encoding-profiles.conf'] )
12+ ctx.install_files(ctx.env.DATADIR + '/examples/mpv', ['etc/encoding-profiles.conf'] ) 12+ ctx.install_files(ctx.env.DATADIR + '/examples/mpv', ['etc/encoding-profiles.conf'] )
13  13
14 for size in '16x16 32x32 64x64 128x128'.split(): 14 for size in '16x16 32x32 64x64 128x128'.split():
15 ctx.install_as( 15 ctx.install_as(