logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 0bbe257a92854aa65dfc5fa1aaa321c9b42c8043
parent 559deaa755f18455fbcdaf3ce1474214811f8c8f
Author: Michael Forney <mforney@mforney.org>
Date:   Wed, 14 Aug 2024 20:37:12 -0700

mpv: Update to 0.38.0

Diffstat:

Mpkg/mpv/config.h258+++++++++++++++++++++++++++++++++++--------------------------------------------
Mpkg/mpv/gen.lua347+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
Dpkg/mpv/gensources.awk24------------------------
Mpkg/mpv/patch/0001-Add-generated-ebml-sources.patch88++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
Mpkg/mpv/patch/0002-Use-memset-to-initialize-large-structures.patch10+++++-----
Mpkg/mpv/patch/0003-video-out-gpu-Prevent-empty-array-when-no-compilers-.patch33++++++++++-----------------------
Mpkg/mpv/patch/0005-Support-lua-5.4.patch18+++++++++---------
Apkg/mpv/patch/0006-Revert-wayland-fix-missing-lround-in-cursor-surface.patch26++++++++++++++++++++++++++
Apkg/mpv/patch/0007-Revert-wayland-drop-buffer-scale-for-cursor-as-well.patch106+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/mpv/patch/0008-Revert-wayland-drop-buffer_scale-use-for-viewporter.patch173+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/mpv/patch/0009-Disable-vo_gpu.patch70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dpkg/mpv/sources.txt329-------------------------------------------------------------------------------
Mpkg/mpv/ver2+-
Mpkg/mpv/version.awk4++--
14 files changed, 840 insertions(+), 648 deletions(-)

diff --git a/pkg/mpv/config.h b/pkg/mpv/config.h @@ -1,163 +1,133 @@ -#ifndef W_CONFIG_H_WAF -#define W_CONFIG_H_WAF - -#define DEFAULT_DVD_DEVICE "/dev/sr0" +#define CONFIGURATION "" #define DEFAULT_CDROM_DEVICE "/dev/sr0" -#define HAVE_LGPL 1 -#define HAVE_GPL 1 -#define HAVE_CPLAYER 1 -#define HAVE_LIBMPV_SHARED 0 -#define HAVE_LIBMPV_STATIC 0 -#define HAVE_STATIC_BUILD 0 -#define HAVE_BUILD_DATE 1 -#define HAVE_OPTIMIZE 1 -#define HAVE_DEBUG_BUILD 0 -#define HAVE_TESTS 0 -#define HAVE_TA_LEAK_REPORT 0 -#define HAVE_MANPAGE_BUILD 0 -#define HAVE_HTML_BUILD 0 -#define HAVE_PDF_BUILD 0 -#define HAVE_LIBDL 1 -#define HAVE_CPLUGINS 0 -#define HAVE_ASM 1 -#define HAVE_VECTOR 1 -#define HAVE_CLANG_DATABASE 0 -#define HAVE_SWIFT_STATIC 0 -#define HAVE_NOEXECSTACK 0 -#define HAVE_LIBM 1 -#define HAVE_MINGW 0 -#define HAVE_POSIX 1 +#define DEFAULT_DVD_DEVICE "/dev/sr0" +#define FULLCONFIG "" +#define HAVE_ALSA 1 #define HAVE_ANDROID 0 #define HAVE_ANDROID_MEDIA_NDK 0 -#define HAVE_TVOS 0 -#define HAVE_EGL_ANDROID 0 -#define HAVE_POSIX_OR_MINGW 1 -#define HAVE_SWIFT 0 -#define HAVE_UWP 0 -#define HAVE_WIN32_DESKTOP 0 -#define HAVE_WIN32_INTERNAL_PTHREADS 0 -#define HAVE_PTHREADS 1 -#define HAVE_PTHREAD_DEBUG 0 -#define HAVE_STDATOMIC 1 -#define HAVE_LIBRT 1 -#define HAVE_ICONV 1 +#define HAVE_ASM 1 +#define HAVE_AUDIOUNIT 0 +#define HAVE_AVFOUNDATION 0 +#define HAVE_AVIF_MUXER 1 +#define HAVE_AV_CHANNEL_LAYOUT 1 +#define HAVE_BSD_FSTATFS 0 +#define HAVE_BSD_THREAD_NAME 0 +#define HAVE_BUILD_DATE 0 +#define HAVE_CACA 0 +#define HAVE_CDDA 0 +#define HAVE_COCOA 0 +#define HAVE_CONSIO_H 0 +#define HAVE_COREAUDIO 0 +#define HAVE_CPLUGINS 0 +#define HAVE_CUDA_HWACCEL 0 +#define HAVE_CUDA_INTEROP 0 +#define HAVE_D3D11 0 +#define HAVE_D3D9_HWACCEL 0 +#define HAVE_D3D_HWACCEL 0 +#define HAVE_DARWIN 0 +#define HAVE_DEBUG 0 +#define HAVE_DIRECT3D 0 +#define HAVE_DMABUF_INTEROP_GL 0 +#define HAVE_DMABUF_WAYLAND 0 #define HAVE_DOS_PATHS 0 +#define HAVE_DRM 1 +#define HAVE_DVBIN 0 +#define HAVE_DVDNAV 0 +#define HAVE_EGL 0 +#define HAVE_EGL_ANDROID 0 +#define HAVE_EGL_ANGLE 0 +#define HAVE_EGL_ANGLE_LIB 0 +#define HAVE_EGL_ANGLE_WIN32 0 +#define HAVE_EGL_DRM 0 +#define HAVE_EGL_WAYLAND 0 +#define HAVE_EGL_X11 0 +#define HAVE_FFMPEG 1 +#define HAVE_FFNVCODEC 0 +#define HAVE_GBM 0 +#define HAVE_GL 0 +#define HAVE_GLIBC_THREAD_NAME 1 +#define HAVE_GLOB 1 #define HAVE_GLOB_POSIX 1 #define HAVE_GLOB_WIN32 0 -#define HAVE_GLOB 1 -#define HAVE_VT_H 1 -#define HAVE_CONSIO_H 0 -#define HAVE_GBM_H 0 -#define HAVE_GLIBC_THREAD_NAME 1 -#define HAVE_OSX_THREAD_NAME 0 -#define HAVE_BSD_THREAD_NAME 0 -#define HAVE_BSD_FSTATFS 0 -#define HAVE_LINUX_FSTATFS 1 -#define HAVE_LINUX_INPUT_EVENT_CODES 1 -#define HAVE_LUA 1 +#define HAVE_GL_COCOA 0 +#define HAVE_GL_DXINTEROP 0 +#define HAVE_GL_DXINTEROP_D3D9 0 +#define HAVE_GL_WIN32 0 +#define HAVE_GL_X11 0 +#define HAVE_GPL 1 +#define HAVE_ICONV 1 +#define HAVE_IOS_GL 0 +#define HAVE_JACK 0 #define HAVE_JAVASCRIPT 0 -#define HAVE_LIBASS 1 -#define HAVE_ZLIB 1 -#define HAVE_LIBBLURAY 0 -#define HAVE_DVDNAV 0 -#define HAVE_CDDA 0 -#define HAVE_UCHARDET 0 -#define HAVE_RUBBERBAND 0 -#define HAVE_ZIMG 0 +#define HAVE_JPEG 0 +#define HAVE_JPEGXL 0 +#define HAVE_LAVU_UUID 1 #define HAVE_LCMS2 0 -#define HAVE_VAPOURSYNTH 0 #define HAVE_LIBARCHIVE 0 -#define HAVE_DVBIN 0 -#define HAVE_SDL2 0 -#define HAVE_SDL2_GAMEPAD 0 -#define HAVE_JPEGXL 0 -#define HAVE_RUBBERBAND_3 0 -#define HAVE_FFMPEG 1 -#define HAVE_AVCHANNEL_LAYOUT 1 +#define HAVE_LIBASS 1 #define HAVE_LIBAVDEVICE 1 -#define HAVE_SDL2_AUDIO 0 +#define HAVE_LIBBLURAY 0 +#define HAVE_LIBDL 0 +#define HAVE_LIBPLACEBO 0 +#define HAVE_LINUX_FSTATFS 1 +#define HAVE_LUA 1 +#define HAVE_MACOS_COCOA_CB 0 +#define HAVE_MACOS_MEDIA_PLAYER 0 +#define HAVE_MACOS_TOUCHBAR 0 +#define HAVE_MAC_THREAD_NAME 0 +#define HAVE_MEMFD_CREATE 1 +#define HAVE_OPENAL 0 +#define HAVE_OPENSLES 0 #define HAVE_OSS_AUDIO 0 #define HAVE_PIPEWIRE 0 -#define HAVE_SNDIO 0 +#define HAVE_POSIX 1 +#define HAVE_POSIX_SHM 1 +#define HAVE_PPOLL 1 +#define HAVE_PTHREAD_CONDATTR_SETCLOCK 1 +#define HAVE_PTHREAD_DEBUG 0 #define HAVE_PULSE 0 -#define HAVE_JACK 0 -#define HAVE_OPENAL 0 -#define HAVE_OPENSLES 0 -#define HAVE_ALSA 1 -#define HAVE_COREAUDIO 0 -#define HAVE_AUDIOUNIT 0 -#define HAVE_WASAPI 0 +#define HAVE_RUBBERBAND 0 +#define HAVE_RUBBERBAND_3 0 +#define HAVE_SDL2 0 +#define HAVE_SDL2_AUDIO 0 +#define HAVE_SDL2_GAMEPAD 0 #define HAVE_SDL2_VIDEO 0 -#define HAVE_COCOA 0 -#define HAVE_DRM 1 -#define HAVE_GBM 0 -#define HAVE_WAYLAND_SCANNER 1 -#define HAVE_WAYLAND_PROTOCOLS 1 -#define HAVE_WAYLAND_PROTOCOLS_1_24 1 -#define HAVE_WAYLAND 1 -#define HAVE_MEMFD_CREATE 1 -#define HAVE_X11 0 -#define HAVE_XV 0 -#define HAVE_GL_COCOA 0 -#define HAVE_GL_X11 0 -#define HAVE_RPI 0 -#define HAVE_EGL 0 -#define HAVE_EGL_X11 0 -#define HAVE_EGL_DRM 0 -#define HAVE_GL_WAYLAND 0 -#define HAVE_GL_WIN32 0 -#define HAVE_GL_DXINTEROP 0 -#define HAVE_EGL_ANGLE 0 -#define HAVE_EGL_ANGLE_LIB 0 -#define HAVE_EGL_ANGLE_WIN32 0 -#define HAVE_VDPAU 0 -#define HAVE_VDPAU_GL_X11 0 -#define HAVE_VAAPI 0 -#define HAVE_VAAPI_X11 0 -#define HAVE_VAAPI_WAYLAND 0 -#define HAVE_DMABUF_WAYLAND 0 -#define HAVE_VAAPI_DRM 0 -#define HAVE_VAAPI_X_EGL 0 -#define HAVE_VAAPI_EGL 0 -#define HAVE_CACA 0 -#define HAVE_JPEG 0 -#define HAVE_DIRECT3D 0 -#define HAVE_SHADERC_SHARED 0 -#define HAVE_SHADERC_STATIC 0 #define HAVE_SHADERC 0 -#define HAVE_SPIRV_CROSS_SHARED 0 -#define HAVE_SPIRV_CROSS_STATIC 0 -#define HAVE_SPIRV_CROSS 0 -#define HAVE_D3D11 0 -#define HAVE_IOS_GL 0 -#define HAVE_PLAIN_GL 0 -#define HAVE_GL 0 -#define HAVE_LIBPLACEBO 0 -#define HAVE_LIBPLACEBO_NEXT 0 -#define HAVE_VULKAN 0 -#define HAVE_VAAPI_LIBPLACEBO 0 -#define HAVE_EGL_HELPERS 0 #define HAVE_SIXEL 0 -#define HAVE_DMABUF_INTEROP_GL 0 -#define HAVE_DMABUF_INTEROP_PL 0 -#define HAVE_DRM_IS_KMS 1 -#define HAVE_VIDEOTOOLBOX_HWACCEL 0 +#define HAVE_SNDIO 0 +#define HAVE_SNDIO_1_9 0 +#define HAVE_SPIRV_CROSS 0 +#define HAVE_SWIFT 0 +#define HAVE_TA_LEAK_REPORT 0 +#define HAVE_UCHARDET 0 +#define HAVE_UWP 0 +#define HAVE_VAAPI 0 +#define HAVE_VAAPI_DRM 0 +#define HAVE_VAAPI_WAYLAND 0 +#define HAVE_VAAPI_WIN32 0 +#define HAVE_VAAPI_X11 0 +#define HAVE_VAPOURSYNTH 0 +#define HAVE_VDPAU 0 +#define HAVE_VDPAU_GL_X11 0 +#define HAVE_VECTOR 1 #define HAVE_VIDEOTOOLBOX_GL 0 -#define HAVE_D3D_HWACCEL 0 -#define HAVE_D3D9_HWACCEL 0 -#define HAVE_GL_DXINTEROP_D3D9 0 -#define HAVE_FFNVCODEC 0 -#define HAVE_CUDA_HWACCEL 0 -#define HAVE_CUDA_INTEROP 0 -#define HAVE_RPI_MMAL 0 +#define HAVE_VIDEOTOOLBOX_PL 0 +#define HAVE_VK_KHR_DISPLAY 0 +#define HAVE_VT_H 1 +#define HAVE_VULKAN 0 +#define HAVE_VULKAN_INTEROP 0 +#define HAVE_WASAPI 0 +#define HAVE_WAYLAND 1 +#define HAVE_WAYLAND_PROTOCOLS_1_27 1 +#define HAVE_WAYLAND_PROTOCOLS_1_31 1 +#define HAVE_WAYLAND_PROTOCOLS_1_32 0 +#define HAVE_WIN32 0 +#define HAVE_WIN32_DESKTOP 0 #define HAVE_WIN32_EXECUTABLE 0 -#define HAVE_MACOS_TOUCHBAR 0 -#define HAVE_MACOS_10_11_FEATURES 0 -#define HAVE_MACOS_10_12_2_FEATURES 0 -#define HAVE_MACOS_10_14_FEATURES 0 -#define HAVE_MACOS_MEDIA_PLAYER 0 -#define HAVE_MACOS_COCOA_CB 0 -#define CONFIGURATION "(missing)" +#define HAVE_WIN32_THREADS 0 +#define HAVE_X11 0 +#define HAVE_XV 0 +#define HAVE_ZIMG 0 +#define HAVE_ZLIB 1 #define MPV_CONFDIR "/etc/mpv" - -#endif /* W_CONFIG_H_WAF */ +#define PLATFORM "linux" diff --git a/pkg/mpv/gen.lua b/pkg/mpv/gen.lua @@ -1,4 +1,4 @@ -build('awk', '$outdir/generated/version.h', {'$srcdir/VERSION', '|', '$dir/version.awk'}, { +build('awk', '$outdir/version.h', {'$srcdir/VERSION', '|', '$dir/version.awk'}, { expr='-f $dir/version.awk', }) @@ -9,13 +9,13 @@ sub('tools.ninja', function() end) cflags{ - '-Wno-deprecated-declarations', '-D _GNU_SOURCE', '-I $dir', '-I $outdir', '-I $srcdir', '-isystem $basedir/pkg/ffmpeg/src', '-isystem $builddir/pkg/ffmpeg/include', + '-isystem $builddir/pkg/libplacebo/include', '-isystem $builddir/pkg/linux-headers/include', '-isystem $builddir/pkg/zlib/include', } @@ -27,26 +27,31 @@ local libs = { 'ffmpeg/libavutil.a', 'ffmpeg/libswresample.a.d', 'ffmpeg/libswscale.a.d', + 'libplacebo/libplacebo.a', 'zlib/libz.a', } pkg.deps = { - '$outdir/generated/version.h', + '$outdir/version.h', 'pkg/ffmpeg/headers', 'pkg/ffmpeg/fetch', + 'pkg/libplacebo/headers', 'pkg/linux-headers/headers', 'pkg/zlib/headers', } -build('copy', '$outdir/generated/wayland/idle-inhibit-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/idle-inhibit-unstable-v1-client-protocol.h') -build('copy', '$outdir/generated/wayland/linux-dmabuf-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/linux-dmabuf-unstable-v1-client-protocol.h') -build('copy', '$outdir/generated/wayland/presentation-time.h', '$builddir/pkg/wayland-protocols/include/presentation-time-client-protocol.h') -build('copy', '$outdir/generated/wayland/viewporter.h', '$builddir/pkg/wayland-protocols/include/viewporter-client-protocol.h') -build('copy', '$outdir/generated/wayland/xdg-decoration-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/xdg-decoration-unstable-v1-client-protocol.h') -build('copy', '$outdir/generated/wayland/xdg-shell.h', '$builddir/pkg/wayland-protocols/include/xdg-shell-client-protocol.h') +build('copy', '$outdir/content-type-v1.h', '$builddir/pkg/wayland-protocols/include/content-type-v1-client-protocol.h') +build('copy', '$outdir/fractional-scale-v1.h', '$builddir/pkg/wayland-protocols/include/fractional-scale-v1-client-protocol.h') +build('copy', '$outdir/idle-inhibit-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/idle-inhibit-unstable-v1-client-protocol.h') +build('copy', '$outdir/linux-dmabuf-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/linux-dmabuf-unstable-v1-client-protocol.h') +build('copy', '$outdir/presentation-time.h', '$builddir/pkg/wayland-protocols/include/presentation-time-client-protocol.h') +build('copy', '$outdir/single-pixel-buffer-v1.h', '$builddir/pkg/wayland-protocols/include/single-pixel-buffer-v1-client-protocol.h') +build('copy', '$outdir/viewporter.h', '$builddir/pkg/wayland-protocols/include/viewporter-client-protocol.h') +build('copy', '$outdir/xdg-decoration-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/xdg-decoration-unstable-v1-client-protocol.h') +build('copy', '$outdir/xdg-shell.h', '$builddir/pkg/wayland-protocols/include/xdg-shell-client-protocol.h') rule('file2string', '$outdir/file2string $in >$out') local function file2string(src) - local out = '$outdir/generated/'..src..'.inc' + local out = '$outdir/'..src..'.inc' build('file2string', out, {'$srcdir/'..src, '|', '$outdir/file2string'}) table.insert(pkg.deps, out) end @@ -56,8 +61,8 @@ file2string('etc/builtin.conf') file2string('sub/osd_font.otf') local lua = { 'defaults.lua', 'assdraw.lua', 'options.lua', 'osc.lua', - 'ytdl_hook.lua', 'stats.lua', 'console.lua', - 'auto_profiles.lua', + 'ytdl_hook.lua', 'stats.lua', 'console.lua', 'auto_profiles.lua', + 'input.lua', } for _, f in ipairs(lua) do file2string('player/lua/'..f) @@ -72,78 +77,235 @@ for line in iterlines('config.h', 1) do end table.insert(pkg.inputs.gen, '$dir/config.h') --- source inclusion parser -local eval -do - local ops = { - {tok='||', fn=function(a, b) return a or b end, binary=true}, - {tok='&&', fn=function(a, b) return a and b end, binary=true}, - {tok='!', fn=function(a) return not a end}, - } - local function check(x) - if not x then - error('invalid expression') - end - end - local function helper(s, i, j) - local result, var, val - if s:sub(i, i) == '(' then - i = s:find('[^%s]', i + 1) - check(i) - result, i = parse(s, i, 1) - check(i and s:sub(i, i) == ')') - return result, s:find('[^%s]', i + 1) - end - if j > #ops then - local k = select(2, s:find('^[%w_.-]+', i)) - check(k) - var = s:sub(i, k):upper():gsub('-', '_') - i = s:find('[^%s]', k + 1) - return options['HAVE_'..var] or false, i - end - local op = ops[j] - if op.binary then - result, i = helper(s, i, j + 1) - end - if i and s:sub(i, i + #op.tok - 1) == op.tok then - i = s:find('[^%s]', i + #op.tok) - check(i) - val, i = helper(s, i, j) - result = op.fn(val, result) - elseif not op.binary then - result, i = helper(s, i, j + 1) - end - return result, i - end - eval = function(s, i) - result, i = helper(s, i, 1) - check(not i) - return result - end -end +local srcs = { + -- src/meson.build:/^sources =/ + 'audio/aframe.c', + 'audio/chmap.c', + 'audio/chmap_sel.c', + 'audio/decode/ad_lavc.c', + 'audio/decode/ad_spdif.c', + 'audio/filter/af_drop.c', + 'audio/filter/af_format.c', + 'audio/filter/af_lavcac3enc.c', + 'audio/filter/af_scaletempo.c', + 'audio/filter/af_scaletempo2.c', + 'audio/filter/af_scaletempo2_internals.c', + 'audio/fmt-conversion.c', + 'audio/format.c', + 'audio/out/ao.c', + 'audio/out/ao_lavc.c', + 'audio/out/ao_null.c', + 'audio/out/ao_pcm.c', + 'audio/out/buffer.c', -local srcs = {} -for line in iterlines('sources.txt', 1) do - local i = line:find(' ', 1, true) - local add = true - if not i or eval(line, i + 1) then - srcs[line:sub(1, i and i - 1)] = true - end -end -srcs = table.keys(srcs) + 'common/av_common.c', + 'common/av_log.c', + 'common/codecs.c', + 'common/common.c', + 'common/encode_lavc.c', + 'common/msg.c', + 'common/playlist.c', + 'common/recorder.c', + 'common/stats.c', + 'common/tags.c', + 'common/version.c', + + 'demux/codec_tags.c', + 'demux/cue.c', + 'demux/cache.c', + 'demux/demux.c', + 'demux/demux_cue.c', + 'demux/demux_disc.c', + 'demux/demux_edl.c', + 'demux/demux_lavf.c', + 'demux/demux_mf.c', + 'demux/demux_mkv.c', + 'demux/demux_mkv_timeline.c', + 'demux/demux_null.c', + 'demux/demux_playlist.c', + 'demux/demux_raw.c', + 'demux/demux_timeline.c', + 'demux/ebml.c', + 'demux/packet.c', + 'demux/timeline.c', + + 'filters/f_async_queue.c', + 'filters/f_autoconvert.c', + 'filters/f_auto_filters.c', + 'filters/f_decoder_wrapper.c', + 'filters/f_demux_in.c', + 'filters/f_hwtransfer.c', + 'filters/f_lavfi.c', + 'filters/f_output_chain.c', + 'filters/f_swresample.c', + 'filters/f_swscale.c', + 'filters/f_utils.c', + 'filters/filter.c', + 'filters/frame.c', + 'filters/user_filters.c', + + 'input/cmd.c', + 'input/event.c', + 'input/input.c', + 'input/ipc.c', + 'input/keycodes.c', + + 'misc/bstr.c', + 'misc/charset_conv.c', + 'misc/dispatch.c', + 'misc/io_utils.c', + 'misc/json.c', + 'misc/language.c', + 'misc/natural_sort.c', + 'misc/node.c', + 'misc/path_utils.c', + 'misc/random.c', + 'misc/rendezvous.c', + 'misc/thread_pool.c', + 'misc/thread_tools.c', + + 'options/m_config_core.c', + 'options/m_config_frontend.c', + 'options/m_option.c', + 'options/m_property.c', + 'options/options.c', + 'options/parse_commandline.c', + 'options/parse_configfile.c', + 'options/path.c', + + 'player/audio.c', + 'player/client.c', + 'player/command.c', + 'player/configfiles.c', + 'player/external_files.c', + 'player/loadfile.c', + 'player/main.c', + 'player/misc.c', + 'player/osd.c', + 'player/playloop.c', + 'player/screenshot.c', + 'player/scripting.c', + 'player/sub.c', + 'player/video.c', + + 'stream/cookies.c', + 'stream/stream.c', + 'stream/stream_avdevice.c', + 'stream/stream_cb.c', + 'stream/stream_concat.c', + 'stream/stream_edl.c', + 'stream/stream_file.c', + 'stream/stream_lavf.c', + 'stream/stream_memory.c', + 'stream/stream_mf.c', + 'stream/stream_null.c', + 'stream/stream_slice.c', + + 'sub/ass_mp.c', + 'sub/dec_sub.c', + 'sub/draw_bmp.c', + 'sub/filter_sdh.c', + 'sub/img_convert.c', + 'sub/lavc_conv.c', + 'sub/osd.c', + 'sub/osd_libass.c', + 'sub/sd_ass.c', + 'sub/sd_lavc.c', + + 'video/csputils.c', + 'video/decode/vd_lavc.c', + 'video/filter/refqueue.c', + 'video/filter/vf_format.c', + 'video/filter/vf_sub.c', + 'video/fmt-conversion.c', + 'video/hwdec.c', + 'video/image_loader.c', + 'video/image_writer.c', + 'video/img_format.c', + 'video/mp_image.c', + 'video/mp_image_pool.c', + 'video/out/aspect.c', + 'video/out/bitmap_packer.c', + 'video/out/dither.c', + 'video/out/dr_helper.c', + 'video/out/filter_kernels.c', + --'video/out/gpu/context.c', + --'video/out/gpu/error_diffusion.c', + 'video/out/gpu/hwdec.c', + --'video/out/gpu/lcms.c', + --'video/out/gpu/libmpv_gpu.c', + --'video/out/gpu/osd.c', + 'video/out/gpu/ra.c', + --'video/out/gpu/shader_cache.c', + --'video/out/gpu/spirv.c', + --'video/out/gpu/user_shaders.c', + --'video/out/gpu/utils.c', + --'video/out/gpu/video.c', + --'video/out/gpu/video_shaders.c', + 'video/out/libmpv_sw.c', + 'video/out/vo.c', + --'video/out/vo_gpu.c', + 'video/out/vo_image.c', + 'video/out/vo_lavc.c', + 'video/out/vo_libmpv.c', + 'video/out/vo_null.c', + 'video/out/vo_tct.c', + 'video/out/vo_kitty.c', + 'video/out/win_state.c', + 'video/repack.c', + 'video/sws_utils.c', + + --'video/out/placebo/ra_pl.c', + --'video/out/placebo/utils.c', + --'video/out/vo_gpu_next.c', + --'video/out/gpu_next/context.c', + + 'osdep/io.c', + 'osdep/semaphore-mac.c', + 'osdep/subprocess.c', + 'osdep/timer.c', + + 'ta/ta.c', + 'ta/ta_talloc.c', + 'ta/ta_utils.c', + + 'osdep/language-posix.c', + 'osdep/subprocess-posix.c', + 'osdep/threads-posix.c', + 'osdep/path-unix.c', + 'osdep/terminal-unix.c', + 'osdep/timer-linux.c', + 'input/ipc-unix.c', + 'osdep/poll_wrapper.c', + 'sub/filter_regex.c', +} +if options.HAVE_AV_CHANNEL_LAYOUT then + table.insert(srcs, 'audio/chmap_avchannel.c') +end if options.HAVE_ALSA then cflags{'-isystem $builddir/pkg/alsa-lib/include'} + table.insert(srcs, 'audio/out/ao_alsa.c') table.insert(libs, 'alsa-lib/libasound.a') table.insert(pkg.deps, 'pkg/alsa-lib/headers') end if options.HAVE_SNDIO then cflags{'-isystem $builddir/pkg/sndio/include'} + table.insert(srcs, 'audio/out/ao_sndio.c') table.insert(libs, 'sndio/libsndio.a') table.insert(pkg.deps, 'pkg/sndio/headers') end if options.HAVE_DRM then cflags{'-isystem $builddir/pkg/libdrm/include'} + table.insert(srcs, { + 'video/drmprime.c', + 'video/out/drm_atomic.c', + 'video/out/drm_common.c', + 'video/out/drm_prime.c', + 'video/out/hwdec/hwdec_drmprime.c', + 'video/out/hwdec/hwdec_drmprime_overlay.c', + 'video/out/vo_drm.c', + }) table.insert(libs, 'libdrm/libdrm.a') table.insert(pkg.deps, 'pkg/libdrm/headers') end @@ -154,43 +316,52 @@ if options.HAVE_LIBASS then end if options.HAVE_LUA then cflags{'-isystem $builddir/pkg/lua/include'} + table.insert(srcs, 'player/lua.c') table.insert(libs, 'lua/liblua.a') table.insert(pkg.deps, 'pkg/lua/headers') end +if options.HAVE_WAYLAND or options.HAVE_DRM then + table.insert(srcs, 'video/out/present_sync.c') +end if options.HAVE_WAYLAND then cflags{ '-isystem $builddir/pkg/libxkbcommon/include', '-isystem $builddir/pkg/wayland/include', } + table.insert(srcs, { + 'video/out/vo_wlshm.c', + 'video/out/wayland_common.c', + '$builddir/pkg/wayland-protocols/content-type-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/fractional-scale-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/idle-inhibit-unstable-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/linux-dmabuf-unstable-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/single-pixel-buffer-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/presentation-time-protocol.c.o', + '$builddir/pkg/wayland-protocols/viewporter-protocol.c.o', + '$builddir/pkg/wayland-protocols/xdg-decoration-unstable-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/xdg-shell-protocol.c.o', + }) table.insert(libs, { 'wayland/libwayland-client.a.d', 'wayland/libwayland-cursor.a.d', 'libxkbcommon/libxkbcommon.a', }) table.insert(pkg.deps, { - '$outdir/generated/wayland/idle-inhibit-unstable-v1.h', - '$outdir/generated/wayland/linux-dmabuf-unstable-v1.h', - '$outdir/generated/wayland/presentation-time.h', - '$outdir/generated/wayland/viewporter.h', - '$outdir/generated/wayland/xdg-decoration-unstable-v1.h', - '$outdir/generated/wayland/xdg-shell.h', + '$outdir/content-type-v1.h', + '$outdir/fractional-scale-v1.h', + '$outdir/idle-inhibit-unstable-v1.h', + '$outdir/linux-dmabuf-unstable-v1.h', + '$outdir/single-pixel-buffer-v1.h', + '$outdir/presentation-time.h', + '$outdir/viewporter.h', + '$outdir/xdg-decoration-unstable-v1.h', + '$outdir/xdg-shell.h', 'pkg/libxkbcommon/headers', 'pkg/wayland/headers', }) end -exe('mpv', { - 'input/ipc-unix.c', - 'osdep/main-fn-unix.c', - 'osdep/subprocess-posix.c', - 'osdep/terminal-unix.c', - 'osdep/timer-linux.c', - 'ta/ta.c', - 'ta/ta_talloc.c', - 'ta/ta_utils.c', - srcs, - expand{'$builddir/pkg/', libs}, -}) +exe('mpv', {'osdep/main-fn-unix.c', srcs, expand{'$builddir/pkg/', libs}}) file('bin/mpv', '755', '$outdir/mpv') man{'$dir/mpv.1'} diff --git a/pkg/mpv/gensources.awk b/pkg/mpv/gensources.awk @@ -1,24 +0,0 @@ -# usage: awk -f gensources.awk src/wscript_build.py >sources.txt - -BEGIN { - FS = "\"" - external["generated/wayland/idle-inhibit-unstable-v1.c"] = "$builddir/pkg/wayland-protocols/idle-inhibit-unstable-v1-protocol.c.o" - external["generated/wayland/linux-dmabuf-unstable-v1.c"] = "$builddir/pkg/wayland-protocols/linux-dmabuf-unstable-v1-protocol.c.o" - external["generated/wayland/presentation-time.c"] = "$builddir/pkg/wayland-protocols/presentation-time-protocol.c.o" - external["generated/wayland/viewporter.c"] = "$builddir/pkg/wayland-protocols/viewporter-protocol.c.o" - external["generated/wayland/xdg-decoration-unstable-v1.c"] = "$builddir/pkg/wayland-protocols/xdg-decoration-unstable-v1-protocol.c.o" - external["generated/wayland/xdg-shell.c"] = "$builddir/pkg/wayland-protocols/xdg-shell-protocol.c.o" -} - -/sources = \[/ { insources = 1 } -insources && /\]/ { insources = 0 } - -insources && / +\(.*\),$/ { - src = $2 - if (src in external) - src = external[src] - if (NF == 3) - print src - else if (NF == 5) - print src, $4 -} diff --git a/pkg/mpv/patch/0001-Add-generated-ebml-sources.patch b/pkg/mpv/patch/0001-Add-generated-ebml-sources.patch @@ -1,25 +1,25 @@ -From d17ae31bdd9b5fb7f3a12cca8561e6b6d3947d5d Mon Sep 17 00:00:00 2001 +From 500b8f9510babd4e5d2d9cd35af689617946a1d9 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> -Date: Sat, 2 Jul 2016 17:32:27 -0700 +Date: Wed, 14 Aug 2024 20:07:19 -0700 Subject: [PATCH] Add generated ebml sources These require python to generate. -$ python TOOLS/matroska.py --generate-header > generated/ebml_types.h -$ python TOOLS/matroska.py --generate-definitions > generated/ebml_defs.inc +$ python TOOLS/matroska.py --generate-header ebml_types.h +$ python TOOLS/matroska.py --generate-definitions ebml_defs.inc --- - generated/ebml_defs.inc | 574 ++++++++++++++++++++++++++++++++++++ - generated/ebml_types.h | 637 ++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 1211 insertions(+) - create mode 100644 generated/ebml_defs.inc - create mode 100644 generated/ebml_types.h + ebml_defs.inc | 595 +++++++++++++++++++++++++++++++++++++++++++++ + ebml_types.h | 658 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 1253 insertions(+) + create mode 100644 ebml_defs.inc + create mode 100644 ebml_types.h -diff --git a/generated/ebml_defs.inc b/generated/ebml_defs.inc +diff --git a/ebml_defs.inc b/ebml_defs.inc new file mode 100644 -index 0000000000..db4eb9c2a7 +index 0000000000..da65194639 --- /dev/null -+++ b/generated/ebml_defs.inc -@@ -0,0 +1,574 @@ ++++ b/ebml_defs.inc +@@ -0,0 +1,595 @@ +// Generated by TOOLS/matroska.py, do not edit manually + + @@ -27,14 +27,17 @@ index 0000000000..db4eb9c2a7 + +E("TagString", tag_string, EBML_TYPE_STR) + ++E("TagLanguageBCP47", tag_language_bcp47, EBML_TYPE_STR) ++ +E("TagLanguage", tag_language, EBML_TYPE_STR) + +E("TagName", tag_name, EBML_TYPE_STR) + +#define N simple_tag -+E_S("SimpleTag", 4) ++E_S("SimpleTag", 5) +F(MATROSKA_ID_TAGNAME, tag_name, 0) +F(MATROSKA_ID_TAGLANGUAGE, tag_language, 0) ++F(MATROSKA_ID_TAGLANGUAGEBCP47, tag_language_bcp47, 0) +F(MATROSKA_ID_TAGSTRING, tag_string, 0) +F(MATROSKA_ID_TAGDEFAULT, tag_default, 0) +}}; @@ -78,14 +81,17 @@ index 0000000000..db4eb9c2a7 + +E("ChapCountry", chap_country, EBML_TYPE_STR) + ++E("ChapLanguageBCP47", chap_language_bcp47, EBML_TYPE_STR) ++ +E("ChapLanguage", chap_language, EBML_TYPE_STR) + +E("ChapString", chap_string, EBML_TYPE_STR) + +#define N chapter_display -+E_S("ChapterDisplay", 3) ++E_S("ChapterDisplay", 4) +F(MATROSKA_ID_CHAPSTRING, chap_string, 0) +F(MATROSKA_ID_CHAPLANGUAGE, chap_language, 1) ++F(MATROSKA_ID_CHAPLANGUAGEBCP47, chap_language_bcp47, 1) +F(MATROSKA_ID_CHAPCOUNTRY, chap_country, 1) +}}; +#undef N @@ -354,6 +360,14 @@ index 0000000000..db4eb9c2a7 + +E("FrameRate", frame_rate, EBML_TYPE_FLOAT) + ++E("PixelCropBottom", pixel_crop_bottom, EBML_TYPE_UINT) ++ ++E("PixelCropRight", pixel_crop_right, EBML_TYPE_UINT) ++ ++E("PixelCropLeft", pixel_crop_left, EBML_TYPE_UINT) ++ ++E("PixelCropTop", pixel_crop_top, EBML_TYPE_UINT) ++ +E("DisplayUnit", display_unit, EBML_TYPE_UINT) + +E("DisplayHeight", display_height, EBML_TYPE_UINT) @@ -367,13 +381,17 @@ index 0000000000..db4eb9c2a7 +E("FlagInterlaced", flag_interlaced, EBML_TYPE_UINT) + +#define N video -+E_S("Video", 11) ++E_S("Video", 15) +F(MATROSKA_ID_FLAGINTERLACED, flag_interlaced, 0) +F(MATROSKA_ID_PIXELWIDTH, pixel_width, 0) +F(MATROSKA_ID_PIXELHEIGHT, pixel_height, 0) +F(MATROSKA_ID_DISPLAYWIDTH, display_width, 0) +F(MATROSKA_ID_DISPLAYHEIGHT, display_height, 0) +F(MATROSKA_ID_DISPLAYUNIT, display_unit, 0) ++F(MATROSKA_ID_PIXELCROPTOP, pixel_crop_top, 0) ++F(MATROSKA_ID_PIXELCROPLEFT, pixel_crop_left, 0) ++F(MATROSKA_ID_PIXELCROPRIGHT, pixel_crop_right, 0) ++F(MATROSKA_ID_PIXELCROPBOTTOM, pixel_crop_bottom, 0) +F(MATROSKA_ID_FRAMERATE, frame_rate, 0) +F(MATROSKA_ID_COLOURSPACE, colour_space, 0) +F(MATROSKA_ID_STEREOMODE, stereo_mode, 0) @@ -394,6 +412,8 @@ index 0000000000..db4eb9c2a7 + +E("CodecID", codec_id, EBML_TYPE_STR) + ++E("LanguageBCP47", language_bcp47, EBML_TYPE_STR) ++ +E("Language", language, EBML_TYPE_STR) + +E("Name", name, EBML_TYPE_STR) @@ -423,7 +443,7 @@ index 0000000000..db4eb9c2a7 +E("TrackNumber", track_number, EBML_TYPE_UINT) + +#define N track_entry -+E_S("TrackEntry", 23) ++E_S("TrackEntry", 24) +F(MATROSKA_ID_TRACKNUMBER, track_number, 0) +F(MATROSKA_ID_TRACKUID, track_uid, 0) +F(MATROSKA_ID_TRACKTYPE, track_type, 0) @@ -438,6 +458,7 @@ index 0000000000..db4eb9c2a7 +F(MATROSKA_ID_MAXBLOCKADDITIONID, max_block_addition_id, 0) +F(MATROSKA_ID_NAME, name, 0) +F(MATROSKA_ID_LANGUAGE, language, 0) ++F(MATROSKA_ID_LANGUAGEBCP47, language_bcp47, 0) +F(MATROSKA_ID_CODECID, codec_id, 0) +F(MATROSKA_ID_CODECPRIVATE, codec_private, 0) +F(MATROSKA_ID_CODECNAME, codec_name, 0) @@ -594,12 +615,12 @@ index 0000000000..db4eb9c2a7 +F(EBML_ID_DOCTYPEREADVERSION, doc_type_read_version, 0) +}}; +#undef N -diff --git a/generated/ebml_types.h b/generated/ebml_types.h +diff --git a/ebml_types.h b/ebml_types.h new file mode 100644 -index 0000000000..d32af2d6c1 +index 0000000000..d544694d48 --- /dev/null -+++ b/generated/ebml_types.h -@@ -0,0 +1,637 @@ ++++ b/ebml_types.h +@@ -0,0 +1,658 @@ +// Generated by TOOLS/matroska.py, do not edit manually + +#define EBML_ID_EBML 0x1a45dfa3 @@ -655,6 +676,7 @@ index 0000000000..d32af2d6c1 +#define MATROSKA_ID_MAXBLOCKADDITIONID 0x55ee +#define MATROSKA_ID_NAME 0x536e +#define MATROSKA_ID_LANGUAGE 0x22b59c ++#define MATROSKA_ID_LANGUAGEBCP47 0x22b59d +#define MATROSKA_ID_CODECID 0x86 +#define MATROSKA_ID_CODECPRIVATE 0x63a2 +#define MATROSKA_ID_CODECNAME 0x258688 @@ -668,6 +690,10 @@ index 0000000000..d32af2d6c1 +#define MATROSKA_ID_DISPLAYWIDTH 0x54b0 +#define MATROSKA_ID_DISPLAYHEIGHT 0x54ba +#define MATROSKA_ID_DISPLAYUNIT 0x54b2 ++#define MATROSKA_ID_PIXELCROPTOP 0x54bb ++#define MATROSKA_ID_PIXELCROPLEFT 0x54cc ++#define MATROSKA_ID_PIXELCROPRIGHT 0x54dd ++#define MATROSKA_ID_PIXELCROPBOTTOM 0x54aa +#define MATROSKA_ID_FRAMERATE 0x2383e3 +#define MATROSKA_ID_COLOURSPACE 0x2eb524 +#define MATROSKA_ID_STEREOMODE 0x53b8 @@ -747,6 +773,7 @@ index 0000000000..d32af2d6c1 +#define MATROSKA_ID_CHAPTERDISPLAY 0x80 +#define MATROSKA_ID_CHAPSTRING 0x85 +#define MATROSKA_ID_CHAPLANGUAGE 0x437c ++#define MATROSKA_ID_CHAPLANGUAGEBCP47 0x437d +#define MATROSKA_ID_CHAPCOUNTRY 0x437e +#define MATROSKA_ID_TAGS 0x1254c367 +#define MATROSKA_ID_TAG 0x7373 @@ -760,6 +787,7 @@ index 0000000000..d32af2d6c1 +#define MATROSKA_ID_SIMPLETAG 0x67c8 +#define MATROSKA_ID_TAGNAME 0x45a3 +#define MATROSKA_ID_TAGLANGUAGE 0x447a ++#define MATROSKA_ID_TAGLANGUAGEBCP47 0x447b +#define MATROSKA_ID_TAGSTRING 0x4487 +#define MATROSKA_ID_TAGDEFAULT 0x4484 + @@ -767,11 +795,13 @@ index 0000000000..d32af2d6c1 +struct ebml_simple_tag { + char * tag_name; + char * tag_language; ++ char * tag_language_bcp47; + char * tag_string; + uint64_t tag_default; + + int n_tag_name; + int n_tag_language; ++ int n_tag_language_bcp47; + int n_tag_string; + int n_tag_default; +}; @@ -809,10 +839,12 @@ index 0000000000..d32af2d6c1 +struct ebml_chapter_display { + char * chap_string; + char * *chap_language; ++ char * *chap_language_bcp47; + char * *chap_country; + + int n_chap_string; + int n_chap_language; ++ int n_chap_language_bcp47; + int n_chap_country; +}; + @@ -1017,6 +1049,10 @@ index 0000000000..d32af2d6c1 + uint64_t display_width; + uint64_t display_height; + uint64_t display_unit; ++ uint64_t pixel_crop_top; ++ uint64_t pixel_crop_left; ++ uint64_t pixel_crop_right; ++ uint64_t pixel_crop_bottom; + double frame_rate; + bstr colour_space; + uint64_t stereo_mode; @@ -1029,6 +1065,10 @@ index 0000000000..d32af2d6c1 + int n_display_width; + int n_display_height; + int n_display_unit; ++ int n_pixel_crop_top; ++ int n_pixel_crop_left; ++ int n_pixel_crop_right; ++ int n_pixel_crop_bottom; + int n_frame_rate; + int n_colour_space; + int n_stereo_mode; @@ -1051,6 +1091,7 @@ index 0000000000..d32af2d6c1 + uint64_t max_block_addition_id; + char * name; + char * language; ++ char * language_bcp47; + char * codec_id; + bstr codec_private; + char * codec_name; @@ -1075,6 +1116,7 @@ index 0000000000..d32af2d6c1 + int n_max_block_addition_id; + int n_name; + int n_language; ++ int n_language_bcp47; + int n_codec_id; + int n_codec_private; + int n_codec_name; @@ -1236,7 +1278,7 @@ index 0000000000..d32af2d6c1 +extern const struct ebml_elem_desc ebml_targets_desc; +extern const struct ebml_elem_desc ebml_simple_tag_desc; + -+#define MAX_EBML_SUBELEMENTS 23 ++#define MAX_EBML_SUBELEMENTS 24 -- -2.37.3 +2.44.0 diff --git a/pkg/mpv/patch/0002-Use-memset-to-initialize-large-structures.patch b/pkg/mpv/patch/0002-Use-memset-to-initialize-large-structures.patch @@ -1,4 +1,4 @@ -From 9be8fd92d4deed49d3c90a6d94c67c14980528fc Mon Sep 17 00:00:00 2001 +From d7c460e5ccc89d30165decb7579486d5bcc26ba4 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Tue, 2 Jul 2019 17:41:43 -0700 Subject: [PATCH] Use memset to initialize large structures @@ -9,10 +9,10 @@ These are over 256 KiB in size. 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c -index 3b9e07963e..4ccbae16cb 100644 +index 1478ec4687..49101b3f0d 100644 --- a/video/out/gpu/video.c +++ b/video/out/gpu/video.c -@@ -3576,7 +3576,7 @@ static void frame_perf_data(struct pass_info pass[], struct mp_frame_perf *out) +@@ -3630,7 +3630,7 @@ static void frame_perf_data(struct pass_info pass[], struct mp_frame_perf *out) void gl_video_perfdata(struct gl_video *p, struct voctrl_performance_data *out) { @@ -21,7 +21,7 @@ index 3b9e07963e..4ccbae16cb 100644 frame_perf_data(p->pass_fresh, &out->fresh); frame_perf_data(p->pass_redraw, &out->redraw); } -@@ -4011,14 +4011,13 @@ struct gl_video *gl_video_init(struct ra *ra, struct mp_log *log, +@@ -4074,14 +4074,13 @@ struct gl_video *gl_video_init(struct ra *ra, struct mp_log *log, struct mpv_global *g) { struct gl_video *p = talloc_ptrtype(NULL, p); @@ -44,5 +44,5 @@ index 3b9e07963e..4ccbae16cb 100644 p->pass = p->pass_fresh; struct gl_video_opts *opts = p->opts_cache->opts; -- -2.37.3 +2.44.0 diff --git a/pkg/mpv/patch/0003-video-out-gpu-Prevent-empty-array-when-no-compilers-.patch b/pkg/mpv/patch/0003-video-out-gpu-Prevent-empty-array-when-no-compilers-.patch @@ -1,4 +1,4 @@ -From 153cf9738ea8b6e108ead1707a7a9193f57f3685 Mon Sep 17 00:00:00 2001 +From 13ced625d99b119bde0bb207a6b2ace7098f3880 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Wed, 3 Jul 2019 02:21:16 -0700 Subject: [PATCH] video/out/gpu: Prevent empty array when no compilers or @@ -6,14 +6,13 @@ Subject: [PATCH] video/out/gpu: Prevent empty array when no compilers or --- video/out/gpu/context.c | 11 ++++++----- - video/out/gpu/spirv.c | 1 + - 2 files changed, 7 insertions(+), 5 deletions(-) + 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/video/out/gpu/context.c b/video/out/gpu/context.c -index 2203b5cad9..2836d72513 100644 +index 88d4f4232d..5630c81f88 100644 --- a/video/out/gpu/context.c +++ b/video/out/gpu/context.c -@@ -117,6 +117,7 @@ static const struct ra_ctx_fns *contexts[] = { +@@ -115,6 +115,7 @@ static const struct ra_ctx_fns *contexts[] = { #if HAVE_DMABUF_WAYLAND &ra_ctx_wldmabuf, #endif @@ -21,7 +20,7 @@ index 2203b5cad9..2836d72513 100644 }; static int ra_ctx_api_help(struct mp_log *log, const struct m_option *opt, -@@ -124,7 +125,7 @@ static int ra_ctx_api_help(struct mp_log *log, const struct m_option *opt, +@@ -122,7 +123,7 @@ static int ra_ctx_api_help(struct mp_log *log, const struct m_option *opt, { mp_info(log, "GPU APIs (contexts):\n"); mp_info(log, " auto (autodetect)\n"); @@ -30,7 +29,7 @@ index 2203b5cad9..2836d72513 100644 if (!contexts[n]->hidden) mp_info(log, " %s (%s)\n", contexts[n]->type, contexts[n]->name); } -@@ -137,7 +138,7 @@ static int ra_ctx_validate_api(struct mp_log *log, const struct m_option *opt, +@@ -134,7 +135,7 @@ static inline OPT_STRING_VALIDATE_FUNC(ra_ctx_validate_api) struct bstr param = bstr0(*value); if (bstr_equals0(param, "auto")) return 1; @@ -39,7 +38,7 @@ index 2203b5cad9..2836d72513 100644 if (bstr_equals0(param, contexts[i]->type) && !contexts[i]->hidden) return 1; } -@@ -149,7 +150,7 @@ static int ra_ctx_context_help(struct mp_log *log, const struct m_option *opt, +@@ -146,7 +147,7 @@ static int ra_ctx_context_help(struct mp_log *log, const struct m_option *opt, { mp_info(log, "GPU contexts (APIs):\n"); mp_info(log, " auto (autodetect)\n"); @@ -48,7 +47,7 @@ index 2203b5cad9..2836d72513 100644 if (!contexts[n]->hidden) mp_info(log, " %s (%s)\n", contexts[n]->name, contexts[n]->type); } -@@ -162,7 +163,7 @@ static int ra_ctx_validate_context(struct mp_log *log, const struct m_option *op +@@ -158,7 +159,7 @@ static inline OPT_STRING_VALIDATE_FUNC(ra_ctx_validate_context) struct bstr param = bstr0(*value); if (bstr_equals0(param, "auto")) return 1; @@ -57,7 +56,7 @@ index 2203b5cad9..2836d72513 100644 if (bstr_equals0(param, contexts[i]->name) && !contexts[i]->hidden) return 1; } -@@ -186,7 +187,7 @@ struct ra_ctx *ra_ctx_create(struct vo *vo, struct ra_ctx_opts opts) +@@ -182,7 +183,7 @@ struct ra_ctx *ra_ctx_create(struct vo *vo, struct ra_ctx_opts opts) bool old_probing = vo->probing; vo->probing = opts.probing; @@ -66,18 +65,6 @@ index 2203b5cad9..2836d72513 100644 if (contexts[i]->hidden) continue; if (!opts.probing && strcmp(contexts[i]->name, opts.context_name) != 0) -diff --git a/video/out/gpu/spirv.c b/video/out/gpu/spirv.c -index 67088bc7df..69100497eb 100644 ---- a/video/out/gpu/spirv.c -+++ b/video/out/gpu/spirv.c -@@ -16,6 +16,7 @@ static const struct spirv_compiler_fns *compilers[] = { - #if HAVE_SHADERC - [SPIRV_SHADERC] = &spirv_shaderc, - #endif -+ NULL - }; - - static const struct m_opt_choice_alternatives compiler_choices[] = { -- -2.37.3 +2.44.0 diff --git a/pkg/mpv/patch/0005-Support-lua-5.4.patch b/pkg/mpv/patch/0005-Support-lua-5.4.patch @@ -1,4 +1,4 @@ -From 8ab50c2f6569389e574546a306bd73da142c060b Mon Sep 17 00:00:00 2001 +From ae44889fc30137f38b74cd0119fe7196c0a1b043 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 3 Dec 2023 11:57:01 -0800 Subject: [PATCH] Support lua 5.4 @@ -9,10 +9,10 @@ Subject: [PATCH] Support lua 5.4 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/player/lua.c b/player/lua.c -index b3a7167dce..0f2249bc96 100644 +index 63547694e2..0b8c632acd 100644 --- a/player/lua.c +++ b/player/lua.c -@@ -452,11 +452,6 @@ static int load_lua(struct mp_script_args *args) +@@ -455,11 +455,6 @@ static int load_lua(struct mp_script_args *args) stats_register_thread_cputime(ctx->stats, "cpu"); @@ -25,10 +25,10 @@ index b3a7167dce..0f2249bc96 100644 if (!L) { MP_FATAL(ctx, "Could not initialize Lua.\n"); diff --git a/player/lua/osc.lua b/player/lua/osc.lua -index a244280a35..799b6a16df 100644 +index 3ba1890a92..945af861f0 100644 --- a/player/lua/osc.lua +++ b/player/lua/osc.lua -@@ -170,7 +170,7 @@ local margins_opts = { +@@ -175,7 +175,7 @@ local margins_opts = { function get_virt_scale_factor() local w, h = mp.get_osd_size() if w <= 0 or h <= 0 then @@ -37,7 +37,7 @@ index a244280a35..799b6a16df 100644 end return osc_param.playresx / w, osc_param.playresy / h end -@@ -188,7 +188,7 @@ end +@@ -193,7 +193,7 @@ end function set_virt_mouse_area(x0, y0, x1, y1, name) local sx, sy = get_virt_scale_factor() @@ -46,7 +46,7 @@ index a244280a35..799b6a16df 100644 end function scale_value(x0, x1, y0, y1, val) -@@ -294,7 +294,7 @@ end +@@ -299,7 +299,7 @@ end -- multiplies two alpha values, formular can probably be improved function mult_alpha(alphaA, alphaB) @@ -55,7 +55,7 @@ index a244280a35..799b6a16df 100644 end function add_area(name, x1, y1, x2, y2) -@@ -313,7 +313,7 @@ function ass_append_alpha(ass, alpha, modifier) +@@ -318,7 +318,7 @@ function ass_append_alpha(ass, alpha, modifier) if state.animation then av = mult_alpha(av, state.animation) end @@ -65,5 +65,5 @@ index a244280a35..799b6a16df 100644 ass:append(string.format("{\\1a&H%X&\\2a&H%X&\\3a&H%X&\\4a&H%X&}", -- -2.42.0 +2.44.0 diff --git a/pkg/mpv/patch/0006-Revert-wayland-fix-missing-lround-in-cursor-surface.patch b/pkg/mpv/patch/0006-Revert-wayland-fix-missing-lround-in-cursor-surface.patch @@ -0,0 +1,26 @@ +From 2415a57a73ff5cdf9dab16a77a7917ca726ae109 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Wed, 14 Aug 2024 22:51:59 -0700 +Subject: [PATCH] Revert "wayland: fix missing lround in cursor surface" + +This reverts commit c1029aaa820de8193e2a466039d2acccca610fd6. +--- + video/out/wayland_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c +index 5c4cccf3ef..edcc922122 100644 +--- a/video/out/wayland_common.c ++++ b/video/out/wayland_common.c +@@ -2010,7 +2010,7 @@ static int set_cursor_visibility(struct vo_wayland_seat *s, bool on) + wl_pointer_set_cursor(s->pointer, s->pointer_enter_serial, wl->cursor_surface, + img->hotspot_x / scale, img->hotspot_y / scale); + wp_viewport_set_destination(wl->cursor_viewport, lround(img->width / scale), +- lround(img->height / scale)); ++ img->height / scale); + wl_surface_attach(wl->cursor_surface, buffer, 0, 0); + wl_surface_damage_buffer(wl->cursor_surface, 0, 0, img->width, img->height); + } +-- +2.44.0 + diff --git a/pkg/mpv/patch/0007-Revert-wayland-drop-buffer-scale-for-cursor-as-well.patch b/pkg/mpv/patch/0007-Revert-wayland-drop-buffer-scale-for-cursor-as-well.patch @@ -0,0 +1,106 @@ +From 59550f4615bbf0a4e8bca23df163abfe37c52636 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Wed, 14 Aug 2024 22:52:17 -0700 +Subject: [PATCH] Revert "wayland: drop buffer scale for cursor as well" + +This reverts commit f0a6578259f508a8863afcf9a1487872d7ae1878. +--- + video/out/wayland_common.c | 32 +++++++++++++++++++++++--------- + video/out/wayland_common.h | 1 - + 2 files changed, 23 insertions(+), 10 deletions(-) + +diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c +index edcc922122..4ccd4bda9c 100644 +--- a/video/out/wayland_common.c ++++ b/video/out/wayland_common.c +@@ -893,6 +893,7 @@ static void output_handle_done(void *data, struct wl_output *wl_output) + * geometry and scaling should be recalculated. */ + if (wl->current_output && wl->current_output->output == wl_output) { + set_surface_scaling(wl); ++ spawn_cursor(wl); + set_geometry(wl, false); + prepare_resize(wl); + } +@@ -957,6 +958,23 @@ static void surface_handle_enter(void *data, struct wl_surface *wl_surface, + if (outputs == 1) + update_output_geometry(wl, old_geometry, old_output_geometry); + ++ wl->current_output->has_surface = true; ++ bool force_resize = false; ++ ++ if (wl->scaling != wl->current_output->scale) { ++ set_surface_scaling(wl); ++ spawn_cursor(wl); ++ force_resize = true; ++ } ++ ++ if (!mp_rect_equals(&old_output_geometry, &wl->current_output->geometry)) { ++ set_geometry(wl, false); ++ force_resize = true; ++ } ++ ++ if (!mp_rect_equals(&old_geometry, &wl->geometry) || force_resize) ++ prepare_resize(wl); ++ + MP_VERBOSE(wl, "Surface entered output %s %s (0x%x), scale = %f, refresh rate = %f Hz\n", + wl->current_output->make, wl->current_output->model, + wl->current_output->id, wl->scaling, wl->current_output->refresh_rate); +@@ -1696,7 +1714,6 @@ static bool create_input(struct vo_wayland_state *wl) + static int create_viewports(struct vo_wayland_state *wl) + { + wl->viewport = wp_viewporter_get_viewport(wl->viewporter, wl->surface); +- wl->cursor_viewport = wp_viewporter_get_viewport(wl->viewporter, wl->cursor_surface); + wl->osd_viewport = wp_viewporter_get_viewport(wl->viewporter, wl->osd_surface); + wl->video_viewport = wp_viewporter_get_viewport(wl->viewporter, wl->video_surface); + +@@ -2009,8 +2026,7 @@ static int set_cursor_visibility(struct vo_wayland_seat *s, bool on) + int scale = MPMAX(wl->scaling, 1); + wl_pointer_set_cursor(s->pointer, s->pointer_enter_serial, wl->cursor_surface, + img->hotspot_x / scale, img->hotspot_y / scale); +- wp_viewport_set_destination(wl->cursor_viewport, lround(img->width / scale), +- img->height / scale); ++ wl_surface_set_buffer_scale(wl->cursor_surface, scale); + wl_surface_attach(wl->cursor_surface, buffer, 0, 0); + wl_surface_damage_buffer(wl->cursor_surface, 0, 0, img->width, img->height); + } +@@ -2145,11 +2161,12 @@ static bool single_output_spanned(struct vo_wayland_state *wl) + + static int spawn_cursor(struct vo_wayland_state *wl) + { +- if (wl->allocated_cursor_scale == wl->scaling) { ++ if (wl->cursor_shape_manager) ++ return 0; ++ if (wl->allocated_cursor_scale == wl->scaling) + return 0; +- } else if (wl->cursor_theme) { ++ else if (wl->cursor_theme) + wl_cursor_theme_destroy(wl->cursor_theme); +- } + + const char *xcursor_theme = getenv("XCURSOR_THEME"); + const char *size_str = getenv("XCURSOR_SIZE"); +@@ -2801,9 +2818,6 @@ void vo_wayland_uninit(struct vo *vo) + if (wl->viewport) + wp_viewport_destroy(wl->viewport); + +- if (wl->cursor_viewport) +- wp_viewport_destroy(wl->cursor_viewport); +- + if (wl->osd_viewport) + wp_viewport_destroy(wl->osd_viewport); + +diff --git a/video/out/wayland_common.h b/video/out/wayland_common.h +index 7a2f31918e..f5fcb80445 100644 +--- a/video/out/wayland_common.h ++++ b/video/out/wayland_common.h +@@ -139,7 +139,6 @@ struct vo_wayland_state { + /* viewporter */ + struct wp_viewporter *viewporter; + struct wp_viewport *viewport; +- struct wp_viewport *cursor_viewport; + struct wp_viewport *osd_viewport; + struct wp_viewport *video_viewport; + +-- +2.44.0 + diff --git a/pkg/mpv/patch/0008-Revert-wayland-drop-buffer_scale-use-for-viewporter.patch b/pkg/mpv/patch/0008-Revert-wayland-drop-buffer_scale-use-for-viewporter.patch @@ -0,0 +1,173 @@ +From 9c07bab33a0bd57fb74a0368a3d5483cc2820d77 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Wed, 14 Aug 2024 23:01:11 -0700 +Subject: [PATCH] Revert "wayland: drop buffer_scale use for viewporter" + +This reverts commit e32554cd570d984efb712a7214a40237233a3cea. +--- + video/out/opengl/context_wayland.c | 4 ++-- + video/out/vo_dmabuf_wayland.c | 6 ++++++ + video/out/vo_wlshm.c | 2 +- + video/out/vulkan/context_wayland.c | 2 +- + video/out/wayland_common.c | 34 ++++++++++++++---------------- + video/out/wayland_common.h | 2 +- + 6 files changed, 27 insertions(+), 23 deletions(-) + +diff --git a/video/out/opengl/context_wayland.c b/video/out/opengl/context_wayland.c +index 2c5611b2e6..26c52688d3 100644 +--- a/video/out/opengl/context_wayland.c ++++ b/video/out/opengl/context_wayland.c +@@ -47,14 +47,14 @@ static void resize(struct ra_ctx *ctx) + const int32_t width = mp_rect_w(wl->geometry); + const int32_t height = mp_rect_h(wl->geometry); + +- vo_wayland_handle_scale(wl); +- + vo_wayland_set_opaque_region(wl, ctx->opts.want_alpha); + if (p->egl_window) + wl_egl_window_resize(p->egl_window, width, height, 0, 0); + + wl->vo->dwidth = width; + wl->vo->dheight = height; ++ ++ vo_wayland_handle_fractional_scale(wl); + } + + static bool wayland_egl_check_visible(struct ra_ctx *ctx) +diff --git a/video/out/vo_dmabuf_wayland.c b/video/out/vo_dmabuf_wayland.c +index 35a4dac464..040c73e8a1 100644 +--- a/video/out/vo_dmabuf_wayland.c ++++ b/video/out/vo_dmabuf_wayland.c +@@ -781,6 +781,12 @@ static int preinit(struct vo *vo) + goto err; + } + ++ if (!vo->wl->viewport) { ++ MP_FATAL(vo->wl, "Compositor doesn't support the %s protocol!\n", ++ wp_viewporter_interface.name); ++ goto err; ++ } ++ + if (vo->wl->single_pixel_manager) { + #if HAVE_WAYLAND_PROTOCOLS_1_27 + p->solid_buffer = wp_single_pixel_buffer_manager_v1_create_u32_rgba_buffer( +diff --git a/video/out/vo_wlshm.c b/video/out/vo_wlshm.c +index 0b63426a23..0dd22ae940 100644 +--- a/video/out/vo_wlshm.c ++++ b/video/out/vo_wlshm.c +@@ -215,7 +215,7 @@ static int resize(struct vo *vo) + talloc_free(buf); + } + +- vo_wayland_handle_scale(wl); ++ vo_wayland_handle_fractional_scale(wl); + + return mp_sws_reinit(p->sws); + } +diff --git a/video/out/vulkan/context_wayland.c b/video/out/vulkan/context_wayland.c +index cdf1ba60b8..761ff5b12c 100644 +--- a/video/out/vulkan/context_wayland.c ++++ b/video/out/vulkan/context_wayland.c +@@ -118,7 +118,7 @@ static bool resize(struct ra_ctx *ctx) + const int32_t height = mp_rect_h(wl->geometry); + + vo_wayland_set_opaque_region(wl, ctx->opts.want_alpha); +- vo_wayland_handle_scale(wl); ++ vo_wayland_handle_fractional_scale(wl); + return ra_vk_ctx_resize(ctx, width, height); + } + +diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c +index 4ccd4bda9c..7da864b59f 100644 +--- a/video/out/wayland_common.c ++++ b/video/out/wayland_common.c +@@ -1185,13 +1185,13 @@ static void handle_toplevel_config(void *data, struct xdg_toplevel *toplevel, + apply_keepaspect(wl, &width, &height); + wl->window_size.x0 = 0; + wl->window_size.y0 = 0; +- wl->window_size.x1 = lround(width * wl->scaling); +- wl->window_size.y1 = lround(height * wl->scaling); ++ wl->window_size.x1 = round(width * wl->scaling); ++ wl->window_size.y1 = round(height * wl->scaling); + } + wl->geometry.x0 = 0; + wl->geometry.y0 = 0; +- wl->geometry.x1 = lround(width * wl->scaling); +- wl->geometry.y1 = lround(height * wl->scaling); ++ wl->geometry.x1 = round(width * wl->scaling); ++ wl->geometry.y1 = round(height * wl->scaling); + + if (mp_rect_equals(&old_geometry, &wl->geometry)) + return; +@@ -1713,11 +1713,13 @@ static bool create_input(struct vo_wayland_state *wl) + + static int create_viewports(struct vo_wayland_state *wl) + { +- wl->viewport = wp_viewporter_get_viewport(wl->viewporter, wl->surface); +- wl->osd_viewport = wp_viewporter_get_viewport(wl->viewporter, wl->osd_surface); +- wl->video_viewport = wp_viewporter_get_viewport(wl->viewporter, wl->video_surface); ++ if (wl->viewporter) { ++ wl->viewport = wp_viewporter_get_viewport(wl->viewporter, wl->surface); ++ wl->osd_viewport = wp_viewporter_get_viewport(wl->viewporter, wl->osd_surface); ++ wl->video_viewport = wp_viewporter_get_viewport(wl->viewporter, wl->video_surface); ++ } + +- if (!wl->viewport || !wl->osd_viewport || !wl->video_viewport) { ++ if (wl->viewporter && (!wl->viewport || !wl->osd_viewport || !wl->video_viewport)) { + MP_ERR(wl, "failed to create viewport interfaces!\n"); + return 1; + } +@@ -2125,6 +2127,7 @@ static void set_surface_scaling(struct vo_wayland_state *wl) + wl->scaling = wl->current_output->scale; + rescale_geometry(wl, old_scale); + wl->pending_vo_events |= VO_EVENT_DPI; ++ wl_surface_set_buffer_scale(wl->surface, wl->scaling); + } + + static void set_window_bounds(struct vo_wayland_state *wl) +@@ -2510,11 +2513,12 @@ int vo_wayland_control(struct vo *vo, int *events, int request, void *arg) + return VO_NOTIMPL; + } + +-void vo_wayland_handle_scale(struct vo_wayland_state *wl) ++void vo_wayland_handle_fractional_scale(struct vo_wayland_state *wl) + { +- wp_viewport_set_destination(wl->viewport, +- lround(mp_rect_w(wl->geometry) / wl->scaling), +- lround(mp_rect_h(wl->geometry) / wl->scaling)); ++ if (wl->fractional_scale_manager && wl->viewport) ++ wp_viewport_set_destination(wl->viewport, ++ round(mp_rect_w(wl->geometry) / wl->scaling), ++ round(mp_rect_h(wl->geometry) / wl->scaling)); + } + + bool vo_wayland_init(struct vo *vo) +@@ -2575,12 +2579,6 @@ bool vo_wayland_init(struct vo *vo) + goto err; + } + +- if (!wl->viewporter) { +- MP_FATAL(wl, "Compositor doesn't support the required %s protocol!\n", +- wp_viewporter_interface.name); +- goto err; +- } +- + /* Can't be initialized during registry due to multi-protocol dependence */ + if (create_viewports(wl)) + goto err; +diff --git a/video/out/wayland_common.h b/video/out/wayland_common.h +index f5fcb80445..c489c5db98 100644 +--- a/video/out/wayland_common.h ++++ b/video/out/wayland_common.h +@@ -170,7 +170,7 @@ bool vo_wayland_reconfig(struct vo *vo); + int vo_wayland_allocate_memfd(struct vo *vo, size_t size); + int vo_wayland_control(struct vo *vo, int *events, int request, void *arg); + +-void vo_wayland_handle_scale(struct vo_wayland_state *wl); ++void vo_wayland_handle_fractional_scale(struct vo_wayland_state *wl); + void vo_wayland_set_opaque_region(struct vo_wayland_state *wl, bool alpha); + void vo_wayland_sync_swap(struct vo_wayland_state *wl); + void vo_wayland_uninit(struct vo *vo); +-- +2.44.0 + diff --git a/pkg/mpv/patch/0009-Disable-vo_gpu.patch b/pkg/mpv/patch/0009-Disable-vo_gpu.patch @@ -0,0 +1,70 @@ +From c951d848007b2938b805a4faf32e8c3344d45a43 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Thu, 15 Aug 2024 00:28:33 -0700 +Subject: [PATCH] Disable vo_gpu + +--- + options/options.c | 2 ++ + video/out/vo.c | 4 ++++ + video/out/vo_libmpv.c | 2 ++ + 3 files changed, 8 insertions(+) + +diff --git a/options/options.c b/options/options.c +index 8640ecb27f..f0f85a5b2d 100644 +--- a/options/options.c ++++ b/options/options.c +@@ -877,10 +877,12 @@ static const m_option_t mp_opts[] = { + {"", OPT_SUBSTRUCT(demux_cache_opts, demux_cache_conf)}, + {"", OPT_SUBSTRUCT(stream_opts, stream_conf)}, + ++#if 0 + {"", OPT_SUBSTRUCT(ra_ctx_opts, ra_ctx_conf)}, + {"", OPT_SUBSTRUCT(gl_video_opts, gl_video_conf)}, + {"", OPT_SUBSTRUCT(gl_next_opts, gl_next_conf)}, + {"", OPT_SUBSTRUCT(spirv_opts, spirv_conf)}, ++#endif + + #if HAVE_GL + {"", OPT_SUBSTRUCT(opengl_opts, opengl_conf)}, +diff --git a/video/out/vo.c b/video/out/vo.c +index db29690950..3081f9878d 100644 +--- a/video/out/vo.c ++++ b/video/out/vo.c +@@ -72,8 +72,10 @@ static const struct vo_driver *const video_out_drivers[] = + #if HAVE_ANDROID + &video_out_mediacodec_embed, + #endif ++#if 0 + &video_out_gpu, + &video_out_gpu_next, ++#endif + #if HAVE_VDPAU + &video_out_vdpau, + #endif +@@ -304,7 +306,9 @@ static struct vo *vo_create(bool probing, struct mpv_global *global, + m_config_cache_set_dispatch_change_cb(vo->opts_cache, vo->in->dispatch, + update_opts, vo); + ++#if 0 + vo->gl_opts_cache = m_config_cache_alloc(NULL, global, &gl_video_conf); ++#endif + vo->eq_opts_cache = m_config_cache_alloc(NULL, global, &mp_csp_equalizer_conf); + + mp_input_set_mouse_transform(vo->input_ctx, NULL, NULL); +diff --git a/video/out/vo_libmpv.c b/video/out/vo_libmpv.c +index 7974eed3f7..cf8d7ff477 100644 +--- a/video/out/vo_libmpv.c ++++ b/video/out/vo_libmpv.c +@@ -112,7 +112,9 @@ struct mpv_render_context { + }; + + const struct render_backend_fns *render_backends[] = { ++#if 0 + &render_backend_gpu, ++#endif + &render_backend_sw, + NULL + }; +-- +2.44.0 + diff --git a/pkg/mpv/sources.txt b/pkg/mpv/sources.txt @@ -1,329 +0,0 @@ -audio/aframe.c -audio/chmap.c -audio/chmap_avchannel.c av-channel-layout -audio/chmap_sel.c -audio/decode/ad_lavc.c -audio/decode/ad_spdif.c -audio/filter/af_drop.c -audio/filter/af_format.c -audio/filter/af_lavcac3enc.c -audio/filter/af_rubberband.c rubberband -audio/filter/af_scaletempo.c -audio/filter/af_scaletempo2.c -audio/filter/af_scaletempo2_internals.c -audio/fmt-conversion.c -audio/format.c -audio/out/ao.c -audio/out/ao_alsa.c alsa -audio/out/ao_audiotrack.c android -audio/out/ao_audiounit.m audiounit -audio/out/ao_coreaudio.c coreaudio -audio/out/ao_coreaudio_chmap.c coreaudio || audiounit -audio/out/ao_coreaudio_exclusive.c coreaudio -audio/out/ao_coreaudio_properties.c coreaudio -audio/out/ao_coreaudio_utils.c coreaudio || audiounit -audio/out/ao_jack.c jack -audio/out/ao_lavc.c -audio/out/ao_null.c -audio/out/ao_openal.c openal -audio/out/ao_opensles.c opensles -audio/out/ao_oss.c oss-audio -audio/out/ao_pcm.c -audio/out/ao_pipewire.c pipewire -audio/out/ao_pulse.c pulse -audio/out/ao_sdl.c sdl2-audio -audio/out/ao_sndio.c sndio -audio/out/ao_wasapi.c wasapi -audio/out/ao_wasapi_changenotify.c wasapi -audio/out/ao_wasapi_utils.c wasapi -audio/out/buffer.c -common/av_common.c -common/av_log.c -common/codecs.c -common/common.c -common/encode_lavc.c -common/msg.c -common/playlist.c -common/recorder.c -common/stats.c -common/tags.c -common/version.c -demux/codec_tags.c -demux/cue.c -demux/cache.c -demux/demux.c -demux/demux_cue.c -demux/demux_disc.c -demux/demux_edl.c -demux/demux_lavf.c -demux/demux_libarchive.c libarchive -demux/demux_mf.c -demux/demux_mkv.c -demux/demux_mkv_timeline.c -demux/demux_null.c -demux/demux_playlist.c -demux/demux_raw.c -demux/demux_timeline.c -demux/ebml.c -demux/packet.c -demux/timeline.c -filters/f_async_queue.c -filters/f_autoconvert.c -filters/f_auto_filters.c -filters/f_decoder_wrapper.c -filters/f_demux_in.c -filters/f_hwtransfer.c -filters/f_lavfi.c -filters/f_output_chain.c -filters/f_swresample.c -filters/f_swscale.c -filters/f_utils.c -filters/filter.c -filters/frame.c -filters/user_filters.c -input/cmd.c -input/event.c -input/input.c -input/ipc.c -input/keycodes.c -input/sdl_gamepad.c sdl2-gamepad -misc/bstr.c -misc/charset_conv.c -misc/dispatch.c -misc/jni.c android -misc/json.c -misc/natural_sort.c -misc/node.c -misc/rendezvous.c -misc/random.c -misc/thread_pool.c -misc/thread_tools.c -options/m_config_core.c -options/m_config_frontend.c -options/m_option.c -options/m_property.c -options/options.c -options/parse_commandline.c -options/parse_configfile.c -options/path.c -player/audio.c -player/client.c -player/command.c -player/configfiles.c -player/external_files.c -player/javascript.c javascript -player/loadfile.c -player/lua.c lua -player/main.c -player/misc.c -player/osd.c -player/playloop.c -player/screenshot.c -player/scripting.c -player/sub.c -player/video.c -stream/cookies.c -stream/dvb_tune.c dvbin -stream/stream.c -stream/stream_avdevice.c -stream/stream_bluray.c libbluray -stream/stream_cb.c -stream/stream_cdda.c cdda -stream/stream_concat.c -stream/stream_slice.c -stream/stream_dvb.c dvbin -stream/stream_dvdnav.c dvdnav -stream/stream_edl.c -stream/stream_file.c -stream/stream_lavf.c -stream/stream_libarchive.c libarchive -stream/stream_memory.c -stream/stream_mf.c -stream/stream_null.c -sub/ass_mp.c -sub/dec_sub.c -sub/draw_bmp.c -sub/filter_regex.c posix -sub/filter_jsre.c javascript -sub/filter_sdh.c -sub/img_convert.c -sub/lavc_conv.c -sub/osd.c -sub/osd_libass.c -sub/sd_ass.c -sub/sd_lavc.c -test/chmap.c tests -test/gl_video.c tests -test/img_format.c tests -test/json.c tests -test/linked_list.c tests -test/paths.c tests -test/repack.c tests && zimg -test/scale_sws.c tests -test/scale_test.c tests -test/scale_zimg.c tests && zimg -test/tests.c tests -video/csputils.c -video/cuda.c cuda-hwaccel -video/d3d.c d3d-hwaccel -video/drmprime.c drm -video/decode/vd_lavc.c -video/filter/refqueue.c -video/filter/vf_d3d11vpp.c d3d-hwaccel -video/filter/vf_fingerprint.c zimg -video/filter/vf_format.c -video/filter/vf_gpu.c egl-helpers && gl && egl -video/filter/vf_sub.c -video/filter/vf_vapoursynth.c vapoursynth -video/filter/vf_vavpp.c vaapi -video/filter/vf_vdpaupp.c vdpau -video/fmt-conversion.c -video/hwdec.c -video/image_loader.c -video/image_writer.c -video/img_format.c -video/mp_image.c -video/mp_image_pool.c -video/out/android_common.c android -video/out/aspect.c -video/out/bitmap_packer.c -video/out/cocoa/events_view.m cocoa -video/out/cocoa/video_view.m cocoa -video/out/cocoa/window.m cocoa -video/out/cocoa_common.m cocoa -video/out/d3d11/context.c d3d11 -video/out/d3d11/hwdec_d3d11va.c d3d11 && d3d-hwaccel -video/out/d3d11/hwdec_dxva2dxgi.c d3d11 && d3d9-hwaccel -video/out/d3d11/ra_d3d11.c d3d11 -video/out/dither.c -video/out/dr_helper.c -video/out/drm_atomic.c drm -video/out/drm_common.c drm -video/out/drm_prime.c drm -video/out/filter_kernels.c -video/out/gpu/context.c -video/out/gpu/d3d11_helpers.c d3d11 || egl-angle-win32 -video/out/gpu/error_diffusion.c -video/out/gpu/hwdec.c -video/out/gpu/lcms.c -video/out/gpu/libmpv_gpu.c -video/out/gpu/osd.c -video/out/gpu/ra.c -video/out/gpu/shader_cache.c -video/out/gpu/spirv.c -video/out/gpu/spirv_shaderc.c shaderc -video/out/gpu/user_shaders.c -video/out/gpu/utils.c -video/out/gpu/video.c -video/out/gpu/video_shaders.c -video/out/gpu_next/context.c libplacebo-next -video/out/hwdec/hwdec_aimagereader.c android-media-ndk -video/out/hwdec/hwdec_cuda.c cuda-interop -video/out/hwdec/hwdec_cuda_gl.c cuda-interop && gl -video/out/hwdec/hwdec_cuda_vk.c cuda-interop && vulkan -video/out/hwdec/hwdec_drmprime.c drm -video/out/hwdec/hwdec_drmprime_overlay.c drm -video/out/hwdec/hwdec_vaapi.c vaapi-egl || vaapi-libplacebo -video/out/hwdec/dmabuf_interop_gl.c dmabuf-interop-gl -video/out/hwdec/dmabuf_interop_pl.c dmabuf-interop-pl -video/out/hwdec/dmabuf_interop_wl.c dmabuf-wayland -video/out/libmpv_sw.c -video/out/placebo/ra_pl.c libplacebo -video/out/placebo/utils.c libplacebo -video/out/opengl/angle_dynamic.c egl-angle -video/out/opengl/common.c gl -video/out/opengl/context.c gl -video/out/opengl/context_android.c egl-android -video/out/opengl/context_angle.c egl-angle-win32 -video/out/opengl/context_cocoa.c gl-cocoa -video/out/opengl/context_drm_egl.c egl-drm -video/out/opengl/context_dxinterop.c gl-dxinterop -video/out/opengl/context_glx.c gl-x11 -video/out/opengl/context_rpi.c rpi -video/out/opengl/context_wayland.c gl-wayland -video/out/opengl/context_win.c gl-win32 -video/out/opengl/context_x11egl.c egl-x11 -video/out/opengl/egl_helpers.c egl-helpers -video/out/opengl/formats.c gl -video/out/opengl/hwdec_d3d11egl.c d3d-hwaccel && egl-angle -video/out/opengl/hwdec_dxva2egl.c d3d9-hwaccel && egl-angle -video/out/opengl/hwdec_dxva2gldx.c gl-dxinterop-d3d9 -video/out/opengl/hwdec_ios.m ios-gl -video/out/opengl/hwdec_osx.c videotoolbox-gl -video/out/opengl/hwdec_rpi.c rpi-mmal -video/out/opengl/hwdec_vdpau.c vdpau-gl-x11 -video/out/opengl/libmpv_gl.c gl -video/out/opengl/ra_gl.c gl -video/out/opengl/utils.c gl -video/out/present_sync.c wayland || x11 -video/out/wldmabuf/context_wldmabuf.c dmabuf-wayland -video/out/wldmabuf/ra_wldmabuf.c dmabuf-wayland -video/out/wlbuf_pool.c dmabuf-wayland -video/out/vo.c -video/out/vo_caca.c caca -video/out/vo_direct3d.c direct3d -video/out/vo_drm.c drm -video/out/vo_gpu.c -video/out/vo_gpu_next.c libplacebo-next -video/out/vo_image.c -video/out/vo_lavc.c -video/out/vo_libmpv.c -video/out/vo_mediacodec_embed.c android -video/out/vo_null.c -video/out/vo_rpi.c rpi-mmal -video/out/vo_sdl.c sdl2-video -video/out/vo_sixel.c sixel -video/out/vo_tct.c -video/out/vo_vaapi.c vaapi-x11 && gpl -video/out/vo_dmabuf_wayland.c dmabuf-wayland -video/out/vo_vdpau.c vdpau -video/out/vo_wlshm.c wayland && memfd_create -video/out/vo_x11.c x11 -video/out/vo_xv.c xv -video/out/vulkan/context.c vulkan -video/out/vulkan/context_display.c vulkan -video/out/vulkan/context_android.c vulkan && android -video/out/vulkan/context_wayland.c vulkan && wayland -video/out/vulkan/context_win.c vulkan && win32-desktop -video/out/vulkan/context_xlib.c vulkan && x11 -video/out/vulkan/utils.c vulkan -video/out/w32_common.c win32-desktop -$builddir/pkg/wayland-protocols/idle-inhibit-unstable-v1-protocol.c.o wayland -$builddir/pkg/wayland-protocols/presentation-time-protocol.c.o wayland -$builddir/pkg/wayland-protocols/xdg-decoration-unstable-v1-protocol.c.o wayland -$builddir/pkg/wayland-protocols/xdg-shell-protocol.c.o wayland -$builddir/pkg/wayland-protocols/linux-dmabuf-unstable-v1-protocol.c.o wayland -$builddir/pkg/wayland-protocols/viewporter-protocol.c.o wayland -video/out/wayland_common.c wayland -video/out/win32/displayconfig.c win32-desktop -video/out/win32/droptarget.c win32-desktop -video/out/win_state.c -video/out/x11_common.c x11 -video/repack.c -video/sws_utils.c -video/zimg.c zimg -video/vaapi.c vaapi -video/vdpau.c vdpau -video/vdpau_mixer.c vdpau -osdep/io.c -osdep/threads.c -osdep/timer.c -osdep/polldev.c posix -osdep/android/strnlen.c android -osdep/glob-win.c glob-win32 -osdep/macosx_application.m cocoa -osdep/macosx_events.m cocoa -osdep/macosx_menubar.m cocoa -osdep/macosx_touchbar.m macos-touchbar -osdep/mpv.rc win32-executable -osdep/path-macosx.m cocoa -osdep/path-unix.c -osdep/path-uwp.c uwp -osdep/path-win.c win32-desktop -osdep/semaphore_osx.c -osdep/subprocess.c -osdep/w32_keyboard.c os-cygwin -osdep/w32_keyboard.c os-win32 -osdep/win32/pthread.c win32-internal-pthreads -osdep/windows_utils.c os-cygwin -osdep/windows_utils.c os-win32 diff --git a/pkg/mpv/ver b/pkg/mpv/ver @@ -1 +1 @@ -0.35.1 r1 +0.38.0 r0 diff --git a/pkg/mpv/version.awk b/pkg/mpv/version.awk @@ -4,6 +4,6 @@ END { printf("#define VERSION \"%s\"\n", version) - print("#define NO_BUILD_TIMESTAMPS") - print("#define MPVCOPYRIGHT \"Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects\"") + print("#define BUILDDATE \"UNKNOWN\"") + print("#define MPVCOPYRIGHT \"Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects\"") }