mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
27.84k stars 2.87k forks source link

can't HW native decode when use `vo=gpu gpu-context=macvk` #12675

Closed eko5624 closed 9 months ago

eko5624 commented 11 months ago

Important Information

Provide following Information: macbook pro 2017

Expected behavior

HW videotoolbox works

Actual behavior

only HW videotoolbox-copy works

Log file

mpv.log

m154k1 commented 11 months ago

It's not implemented yet. You can use this patch for now: https://github.com/m154k1/mpv-build-macOS/blob/master/patches/mpv/0001-vo-gpu-next-videotoolbox.patch

eko5624 commented 11 months ago

can't compile.

building mpv - version master
=======================
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 23402  100 23402    0     0   230k      0 --:--:-- --:--:-- --:--:--  233k
Cloning into 'mpv'...
patching file meson.build
patching file 'video/out/gpu/hwdec.c'
patching file 'video/out/opengl/hwdec_ios.m'
patching file 'video/out/opengl/hwdec_osx.c'
patching file 'video/out/hwdec/hwdec_vt.c'
patching file 'video/out/hwdec/hwdec_vt.h'
patching file 'video/out/hwdec/hwdec_vt_pl.m'
/Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/lib/python3.11/site-packages/mesonbuild/dependencies/cmake.py:589: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
  cmake_txt = importlib.resources.read_text('mesonbuild.dependencies.data', cmake_file, encoding = 'utf-8')
/Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/lib/python3.11/importlib/resources/_legacy.py:80: DeprecationWarning: open_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
  with open_text(package, resource, encoding, errors) as fp:
/Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/lib/python3.11/site-packages/mesonbuild/dependencies/cmake.py:589: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
  cmake_txt = importlib.resources.read_text('mesonbuild.dependencies.data', cmake_file, encoding = 'utf-8')
/Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/lib/python3.11/importlib/resources/_legacy.py:80: DeprecationWarning: open_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
  with open_text(package, resource, encoding, errors) as fp:
/Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/lib/python3.11/site-packages/mesonbuild/dependencies/cmake.py:589: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
  cmake_txt = importlib.resources.read_text('mesonbuild.dependencies.data', cmake_file, encoding = 'utf-8')
/Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/lib/python3.11/importlib/resources/_legacy.py:80: DeprecationWarning: open_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
  with open_text(package, resource, encoding, errors) as fp:
/Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/lib/python3.11/site-packages/mesonbuild/dependencies/cmake.py:589: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
  cmake_txt = importlib.resources.read_text('mesonbuild.dependencies.data', cmake_file, encoding = 'utf-8')
/Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/lib/python3.11/importlib/resources/_legacy.py:80: DeprecationWarning: open_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
  with open_text(package, resource, encoding, errors) as fp:
The Meson build system
Version: 1.2.2
Source dir: /Users/runner/work/mpv-macos-intel/mpv-macos-intel/packages/mpv
Build dir: /Users/runner/work/mpv-macos-intel/mpv-macos-intel/packages/mpv/build
Build type: native build
Project name: mpv
Project version: 0.36.0-UNKNOWN
C compiler for the host machine: clang (clang 14.0.0 "Apple clang version 14.0.0 (clang-1400.0.29.202)")
C linker for the host machine: clang ld64 820.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python3 found: YES (/Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/bin/python3)
Found pkg-config: /Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/bin/pkg-config (0.29.2)
Run-time dependency libavcodec found: YES 60.30.102
Run-time dependency libavfilter found: YES 9.11.100
Run-time dependency libavformat found: YES 60.15.100
Run-time dependency libavutil found: YES 58.27.100
Run-time dependency libswresample found: YES 4.11.100
Run-time dependency libswscale found: YES 7.4.100
Run-time dependency libass found: YES 0.17.1
Compiler for C supports arguments -Werror=implicit-function-declaration: YES 
Compiler for C supports arguments -Wno-error=deprecated-declarations: YES 
Compiler for C supports arguments -Wno-error=unused-function: YES 
Compiler for C supports arguments -Wempty-body: YES 
Compiler for C supports arguments -Wdisabled-optimization: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES 
Compiler for C supports arguments -Wno-format-zero-length: YES 
Compiler for C supports arguments -Wno-redundant-decls: YES 
Compiler for C supports arguments -Wvla: YES 
Compiler for C supports arguments -Wno-format-truncation: NO 
Compiler for C supports arguments -Wimplicit-fallthrough: YES 
Compiler for C supports arguments -fno-math-errno: YES 
Compiler for C supports arguments -Wformat -Werror=format-security: YES 
Compiler for C supports link arguments -Wl,-z,noexecstack: NO 
Compiler for C supports link arguments -Wl,--nxcompat,--no-seh,--dynamicbase: NO 
Run-time dependency dl found: YES
Compiler for C supports link arguments -rdynamic: YES 
Run-time dependency threads found: YES
Run-time dependency appleframeworks found: YES (Cocoa, IOKit, QuartzCore)
Checking for function "ppoll" : NO 
Library windowsapp skipped: feature uwp disabled
Checking for function "glob" : YES 
Header "sys/vt.h" has symbol "VT_GETMODE" : NO 
Header "sys/consio.h" has symbol "VT_GETMODE" : NO 
Checking for function "fstatfs" : YES 
Checking for function "fstatfs" : NO 
Checking if "vector check" compiles: YES 
Program /Users/runner/work/mpv-macos-intel/mpv-macos-intel/packages/mpv/TOOLS/docutils-wrapper.py found: YES (/Users/runner/work/mpv-macos-intel/mpv-macos-intel/packages/mpv/TOOLS/docutils-wrapper.py)
Program /Users/runner/work/mpv-macos-intel/mpv-macos-intel/packages/mpv/TOOLS/file2string.py found: YES (/Users/runner/work/mpv-macos-intel/mpv-macos-intel/packages/mpv/TOOLS/file2string.py)
Program /Users/runner/work/mpv-macos-intel/mpv-macos-intel/packages/mpv/TOOLS/matroska.py found: YES (/Users/runner/work/mpv-macos-intel/mpv-macos-intel/packages/mpv/TOOLS/matroska.py)
Dependency libcdio_paranoia skipped: feature cdda disabled
Dependency dvdnav skipped: feature dvdnav disabled
Dependency dvdread skipped: feature dvdnav disabled
Dependency iconv skipped: feature iconv disabled
Run-time dependency mujs found: YES 1.3.3
Run-time dependency lcms2 found: YES 2.16
Found CMake: /Users/runner/work/mpv-macos-intel/mpv-macos-intel/workspace/bin/cmake (3.27.7)
Run-time dependency libarchive found: NO (tried pkgconfig, framework and cmake)
Run-time dependency libavdevice found: YES 60.2.101
Run-time dependency libbluray found: YES 1.3.4
Library m found: YES
Library rt found: NO
Run-time dependency lua found: NO (tried pkgconfig, framework and cmake)
Run-time dependency lua52 found: NO (tried pkgconfig, framework and cmake)
Run-time dependency lua5.2 found: NO (tried pkgconfig, framework and cmake)
Run-time dependency lua-5.2 found: NO (tried pkgconfig, framework and cmake)
Run-time dependency luajit found: YES 2.1.1696562864
Run-time dependency rubberband found: YES 3.3.0
Dependency sdl2 skipped: feature sdl2 disabled
Library atomic found: NO
Header "stdatomic.h" has symbol "atomic_int" with dependency -latomic: YES 
Dependency uchardet skipped: feature uchardet disabled
Run-time dependency vapoursynth found: NO (tried pkgconfig, framework and cmake)
Run-time dependency vapoursynth-script found: NO (tried pkgconfig, framework and cmake)
Run-time dependency zimg found: YES 3.0.5
Run-time dependency zlib found: YES 1.3
Run-time dependency alsa found: NO (tried pkgconfig, framework and cmake)
Run-time dependency appleframeworks found: YES (Foundation, AudioToolbox)
Header "AudioToolbox/AudioToolbox.h" has symbol "kAudioUnitSubType_RemoteIO" : NO 
Run-time dependency appleframeworks found: YES (CoreFoundation, CoreAudio, AudioUnit, AudioToolbox)
Run-time dependency jack found: NO (tried pkgconfig, framework and cmake)
Dependency openal skipped: feature openal disabled
Library OpenSLES found: NO
Header "sys/soundcard.h" has symbol "SNDCTL_DSP_HALT" : NO 
Run-time dependency libpipewire-0.3 found: NO (tried pkgconfig, framework and cmake)
Run-time dependency libpulse found: NO (tried pkgconfig, framework and cmake)
Run-time dependency sndio found: NO (tried pkgconfig, framework and cmake)
Header "audioclient.h" has symbol "IAudioClient" : NO 
Run-time dependency caca found: YES 0.99.beta20
Has header "d3d9.h" skipped: feature direct3d disabled
Run-time dependency libdrm found: NO (tried pkgconfig, framework and cmake)
Run-time dependency gbm found: NO (tried pkgconfig, framework and cmake)
Run-time dependency libjpeg found: YES 3.0.1
Run-time dependency libplacebo found: YES 7.339.0
Run-time dependency shaderc found: YES 2023.8.0
Run-time dependency libsixel found: NO (tried pkgconfig, framework and cmake)
Checking for function "shm_open" : YES 
Run-time dependency spirv-cross-c-shared found: NO (tried pkgconfig, framework and cmake)
Run-time dependency wayland-client found: NO (tried pkgconfig, framework and cmake)
Run-time dependency wayland-cursor found: NO (tried pkgconfig, framework and cmake)
Run-time dependency wayland-protocols found: NO (tried pkgconfig, framework and cmake)
Run-time dependency xkbcommon found: NO (tried pkgconfig, framework and cmake)
Run-time dependency wayland-client found: NO (tried pkgconfig, framework and cmake)
Has header "linux/input-event-codes.h" with dependency wayland-client: NO 
Program wayland-scanner found: NO
Dependency x11 found: NO unknown version, but need: ['>= 1.0.0']
Run-time dependency x11 found: NO (tried pkgconfig, framework and cmake)
Run-time dependency xscrnsaver found: NO (tried pkgconfig, framework and cmake)
Run-time dependency xext found: NO (tried pkgconfig, framework and cmake)
Run-time dependency xpresent found: NO (tried pkgconfig, framework and cmake)
Run-time dependency xrandr found: NO (tried pkgconfig, framework and cmake)
Dependency xv skipped: feature xv disabled
Run-time dependency appleframeworks found: YES (OpenGL)
Library EGL found: NO
Run-time dependency egl found: NO (tried pkgconfig, framework and cmake)
Library EGL skipped: feature egl-android disabled
Run-time dependency wayland-egl found: NO (tried pkgconfig, framework and cmake)
Dependency /opt/vc/lib/pkgconfig/brcmegl.pc skipped: feature rpi disabled
Run-time dependency vulkan found: YES 1.3.268
Checking for function "vkCreateDisplayPlaneSurfaceKHR" with dependency vulkan: NO 
Run-time dependency ffnvcodec found: NO (tried pkgconfig, framework and cmake)
Header "OpenGLES/ES3/glext.h" has symbol "GL_RGB32F" : NO 
Dependency /opt/vc/lib/pkgconfig/mmal.pc skipped: feature rpi-mmal disabled
Run-time dependency libva found: NO (tried pkgconfig, framework and cmake)
Dependency libva-drm skipped: feature vaapi-drm disabled
Dependency libva-wayland skipped: feature vaapi-wayland disabled
Dependency libva-x11 skipped: feature vaapi-x11 disabled
Dependency vdpau skipped: feature vdpau disabled

meson.build:1[484](https://github.com/eko5624/mpv-macos-intel/actions/runs/6572828342/job/17854688050#step:6:485):15: ERROR: File video/out/hwdec/hwdec_mac_gl.c does not exist.

A full log can be found at /Users/runner/work/mpv-macos-intel/mpv-macos-intel/packages/mpv/build/meson-logs/meson-log.txt
Error: Process completed with exit code 1.
m154k1 commented 11 months ago

Looks like you're using patch. Can you try git apply instead?

eko5624 commented 11 months ago

Looks like you're using patch. Can you try git apply instead?

Thanks, your patch works like a charm, HW videotoolbox works now.