From: Rafael Sadowski Subject: Enable VA-API in multimedia/mpv To: ports Date: Sat, 20 Jul 2024 11:40:24 +0200 Tested by many, OK to enable VA-API support in mpv? diff --git a/multimedia/mpv/Makefile b/multimedia/mpv/Makefile index 4840a6a7199..f7d0845ef7d 100644 --- a/multimedia/mpv/Makefile +++ b/multimedia/mpv/Makefile @@ -4,6 +4,7 @@ GH_ACCOUNT = mpv-player GH_PROJECT = mpv GH_TAGNAME = v0.38.0 USE_NOBTCFI = Yes +REVISION = 0 SHARED_LIBS += mpv 2.0 @@ -14,11 +15,11 @@ HOMEPAGE = https://mpv.io/ # GPLv2+ PERMIT_PACKAGE = Yes -WANTLIB += ${MODLUA_WANTLIB} -WANTLIB += EGL SDL2 X11 Xext Xpresent Xrandr Xss Xv archive -WANTLIB += ass avcodec avdevice avfilter avformat avutil bluray -WANTLIB += c cdio cdio_cdda cdio_paranoia dvdnav iconv jpeg lcms2 -WANTLIB += m placebo pthread sndio swresample swscale vulkan z zimg +WANTLIB += ${MODLUA_WANTLIB} EGL SDL2 X11 Xext Xpresent Xrandr +WANTLIB += Xss Xv archive ass avcodec avdevice avfilter avformat +WANTLIB += avutil bluray c cdio cdio_cdda cdio_paranoia drm dvdnav +WANTLIB += iconv jpeg lcms2 m placebo pthread sndio swresample +WANTLIB += swscale va va-drm va-x11 vulkan z zimg MODULES = devel/meson \ lang/lua \ @@ -37,7 +38,7 @@ LIB_DEPENDS = archivers/libarchive \ audio/libcdio-paranoia \ converters/libiconv \ devel/sdl2 \ - graphics/ffmpeg \ + graphics/ffmpeg>=4.4.4p5 \ graphics/jpeg \ graphics/lcms2 \ graphics/libplacebo \ @@ -74,7 +75,8 @@ CONFIGURE_ARGS = -Dlua=lua${MODLUA_DEP_VERSION} \ -Dd3d-hwaccel=disabled \ -Ddirect3d=disabled \ -Ddmabuf-wayland=disabled \ - -Ddrm=disabled \ + -Ddrm=enabled \ + -Degl=enabled \ -Ddvbin=disabled \ -Degl-android=disabled \ -Degl-angle=disabled \ @@ -82,6 +84,7 @@ CONFIGURE_ARGS = -Dlua=lua${MODLUA_DEP_VERSION} \ -Degl-angle-win32=disabled \ -Degl-drm=disabled \ -Degl-wayland=disabled \ + -Dgl-x11=disabled \ -Dgbm=disabled \ -Dgl-cocoa=disabled \ -Dgl-dxinterop=disabled \ @@ -106,9 +109,9 @@ CONFIGURE_ARGS = -Dlua=lua${MODLUA_DEP_VERSION} \ -Dswift-build=disabled \ -Dswift-flags=disabled \ -Duchardet=disabled \ - -Dvaapi=disabled \ - -Dvaapi-drm=disabled \ - -Dvaapi-x11=disabled \ + -Dvaapi=enabled \ + -Dvaapi-drm=enabled \ + -Dvaapi-x11=enabled \ -Dvaapi-wayland=disabled \ -Dvaapi-win32=disabled \ -Dvapoursynth=disabled \ @@ -121,11 +124,11 @@ CONFIGURE_ARGS = -Dlua=lua${MODLUA_DEP_VERSION} \ -Dwin32-threads=disabled \ -Dwasapi=disabled -CFLAGS += -I${LOCALBASE}/include -LDFLAGS += -L${LOCALBASE}/lib +CFLAGS += -I${LOCALBASE}/include -I${X11BASE}/include +LDFLAGS += -L${LOCALBASE}/lib -L${X11BASE}/lib MODMESON_CONFIGURE_ENV += CFLAGS="${CFLAGS}" \ - LDFLAGS="${LDFLAGS}" + LDFLAGS="${LDFLAGS}" NO_TEST = Yes diff --git a/multimedia/mpv/patches/patch-meson_build b/multimedia/mpv/patches/patch-meson_build index ab1a5804ec2..f359b5f9b79 100644 --- a/multimedia/mpv/patches/patch-meson_build +++ b/multimedia/mpv/patches/patch-meson_build @@ -25,3 +25,12 @@ Index: meson.build cplugins = get_option('cplugins').require( win32 or (features['libdl'] and cc.has_link_argument('-rdynamic')), +@@ -525,7 +537,7 @@ features += {'glob': features['glob-posix'] or feature + + features += {'vt.h': cc.has_header_symbol('sys/vt.h', 'VT_GETMODE')} + +-features += {'consio.h': not features['vt.h'] and cc.has_header_symbol('sys/consio.h', 'VT_GETMODE')} ++features += {'consio.h': not features['vt.h'] and cc.has_header_symbol('dev/wscons/wsdisplay_usl_io.h', 'VT_GETMODE', prefix: '#include ')} + + # macOS's pthread_setname_np is a special snowflake and differs from literally every other platform. + features += {'mac-thread-name': darwin} diff --git a/multimedia/mpv/patches/patch-video_out_drm_common_c b/multimedia/mpv/patches/patch-video_out_drm_common_c new file mode 100644 index 00000000000..99cc7b9adee --- /dev/null +++ b/multimedia/mpv/patches/patch-video_out_drm_common_c @@ -0,0 +1,12 @@ +Index: video/out/drm_common.c +--- video/out/drm_common.c.orig ++++ video/out/drm_common.c +@@ -30,7 +30,7 @@ + #include "config.h" + + #if HAVE_CONSIO_H +-#include ++#include + #else + #include + #endif