diff --git a/multimedia/Makefile b/multimedia/Makefile index 27e9c05c0cf9..580bdb4c2ed0 100644 --- a/multimedia/Makefile +++ b/multimedia/Makefile @@ -1,415 +1,416 @@ COMMENT = Multimedia software SUBDIR += Bento4 SUBDIR += QtAV SUBDIR += ab-av1 SUBDIR += ab25 SUBDIR += acidrip SUBDIR += aegisub SUBDIR += aom SUBDIR += aravis SUBDIR += arcan SUBDIR += aribb24 SUBDIR += assimp SUBDIR += atomicparsley SUBDIR += audacious SUBDIR += audacious-plugins SUBDIR += av1an SUBDIR += avidemux SUBDIR += avidemux-cli SUBDIR += avidemux-plugins SUBDIR += avidemux-qt5 SUBDIR += baka-mplayer SUBDIR += bcmatroska2 SUBDIR += bino SUBDIR += bitstream SUBDIR += blind SUBDIR += bsdbktr_tvtune SUBDIR += butt SUBDIR += camserv SUBDIR += celluloid SUBDIR += cheese SUBDIR += chilitags SUBDIR += cineencoder SUBDIR += clapper SUBDIR += clutter-gst SUBDIR += clutter-gst3 SUBDIR += cmrt SUBDIR += cmrtlib SUBDIR += cx88 SUBDIR += dav1d SUBDIR += deforaos-player SUBDIR += dirac SUBDIR += dragon SUBDIR += dtv-scan-tables SUBDIR += dumpmpeg SUBDIR += dv2sub SUBDIR += dvb-apps SUBDIR += dvbcut SUBDIR += dvbsnoop SUBDIR += dvd-slideshow SUBDIR += dvdauthor SUBDIR += dvdid SUBDIR += dvdread SUBDIR += dvdstyler SUBDIR += elementary-videos SUBDIR += emby-server SUBDIR += emby-server-devel SUBDIR += emovix SUBDIR += ffaudioconverter SUBDIR += ffdec SUBDIR += ffmpeg SUBDIR += ffmpeg4 SUBDIR += ffmpegthumbnailer SUBDIR += ffms2 SUBDIR += ffnvcodec-headers SUBDIR += filebot SUBDIR += flvmeta SUBDIR += flvstreamer SUBDIR += flvtool++ SUBDIR += fpc-dts SUBDIR += fpc-libvlc SUBDIR += fxtv SUBDIR += gaupol SUBDIR += gavl SUBDIR += gdialog SUBDIR += get_iplayer SUBDIR += gmerlin SUBDIR += gmmlib SUBDIR += gmp-api SUBDIR += gmtk SUBDIR += gnome-mplayer SUBDIR += gpac-libgpac SUBDIR += gpac-mp4box SUBDIR += gpodder SUBDIR += gst123 SUBDIR += gstreamer1 SUBDIR += gstreamer1-editing-services SUBDIR += gstreamer1-libav SUBDIR += gstreamer1-plugins SUBDIR += gstreamer1-plugins-all SUBDIR += gstreamer1-plugins-aom SUBDIR += gstreamer1-plugins-assrender SUBDIR += gstreamer1-plugins-bad SUBDIR += gstreamer1-plugins-core SUBDIR += gstreamer1-plugins-dash SUBDIR += gstreamer1-plugins-dts SUBDIR += gstreamer1-plugins-dv SUBDIR += gstreamer1-plugins-dvdread SUBDIR += gstreamer1-plugins-gnonlin SUBDIR += gstreamer1-plugins-good SUBDIR += gstreamer1-plugins-hls SUBDIR += gstreamer1-plugins-libde265 SUBDIR += gstreamer1-plugins-mpeg2dec SUBDIR += gstreamer1-plugins-mpeg2enc SUBDIR += gstreamer1-plugins-mplex SUBDIR += gstreamer1-plugins-msdk SUBDIR += gstreamer1-plugins-openh264 SUBDIR += gstreamer1-plugins-resindvd SUBDIR += gstreamer1-plugins-rtmp SUBDIR += gstreamer1-plugins-rust SUBDIR += gstreamer1-plugins-smoothstreaming SUBDIR += gstreamer1-plugins-svt-av1 SUBDIR += gstreamer1-plugins-svt-hevc SUBDIR += gstreamer1-plugins-svt-vp9 SUBDIR += gstreamer1-plugins-theora SUBDIR += gstreamer1-plugins-ttml SUBDIR += gstreamer1-plugins-ugly SUBDIR += gstreamer1-plugins-v4l2 SUBDIR += gstreamer1-plugins-vpx SUBDIR += gstreamer1-plugins-x264 SUBDIR += gstreamer1-plugins-x265 SUBDIR += gstreamer1-qt SUBDIR += gstreamer1-rtsp-server SUBDIR += gstreamer1-vaapi SUBDIR += gstreamer1-validate SUBDIR += gstreamermm SUBDIR += gtk-pipe-viewer SUBDIR += gtk-youtube-viewer SUBDIR += handbrake SUBDIR += haruna SUBDIR += harvid SUBDIR += helvum SUBDIR += hypnotix SUBDIR += intel-media-sdk SUBDIR += iso2mkv SUBDIR += jellyfin SUBDIR += jmref SUBDIR += kaffeine SUBDIR += kamoso SUBDIR += kasts SUBDIR += kdemultimedia SUBDIR += kdemultimedia-ffmpegthumbs SUBDIR += kdenlive SUBDIR += kf5-kmediaplayer SUBDIR += kmplayer SUBDIR += kodi SUBDIR += kodi-addon-inputstream.adaptive SUBDIR += kodi-addon-peripheral.joystick SUBDIR += kodi-addon-pvr.hts SUBDIR += kodi-addon-pvr.iptvsimple SUBDIR += kodi-addon-screensaver.biogenesis SUBDIR += kodi-addon-screensaver.matrixtrails SUBDIR += kodi-addon-screensaver.stars SUBDIR += kodi-addon-visualization.fishbmc SUBDIR += kodi-addon-visualization.shadertoy SUBDIR += kodi-addon-visualization.spectrum SUBDIR += kooha SUBDIR += kvazaar SUBDIR += l-smash SUBDIR += lebiniou SUBDIR += lebiniou-data SUBDIR += libaacs SUBDIR += libass SUBDIR += libbdplus SUBDIR += libbluray SUBDIR += libcec SUBDIR += libdc1394 SUBDIR += libdca SUBDIR += libdcadec SUBDIR += libde265 SUBDIR += libdv SUBDIR += libdvbcsa SUBDIR += libdvbpsi SUBDIR += libdvdcss SUBDIR += libdvdnav SUBDIR += libdvdread SUBDIR += libfame SUBDIR += libgav1 SUBDIR += libhdhomerun SUBDIR += libmatroska SUBDIR += libmediaart SUBDIR += libmediainfo SUBDIR += libmpeg2 SUBDIR += libmtp SUBDIR += libndi SUBDIR += libopenshot SUBDIR += librav1e SUBDIR += librespot SUBDIR += librist SUBDIR += librtmp SUBDIR += libtheora SUBDIR += libtuner SUBDIR += libuvc SUBDIR += libv4l SUBDIR += libva SUBDIR += libva-glx SUBDIR += libva-intel-driver SUBDIR += libva-intel-hybrid-driver SUBDIR += libva-intel-media-driver + SUBDIR += libva-nvidia-driver SUBDIR += libva-utils SUBDIR += libva-vdpau-driver SUBDIR += libvdpau SUBDIR += libvdpau-va-gl SUBDIR += libvlcpp SUBDIR += libvpx SUBDIR += libx264 SUBDIR += libxine SUBDIR += libxspf SUBDIR += libzen SUBDIR += linux-c7-libtheora SUBDIR += linux-c7-libv4l SUBDIR += linux-tsmuxer SUBDIR += linux_dvbwrapper-kmod SUBDIR += livego SUBDIR += lives SUBDIR += lms SUBDIR += lsdvd SUBDIR += m2vrequantiser SUBDIR += makemkv SUBDIR += mediainfo SUBDIR += mencoder SUBDIR += minisatip SUBDIR += minitube SUBDIR += mjpegtools SUBDIR += mjpg-streamer SUBDIR += mkclean SUBDIR += mkvalidator SUBDIR += mkvtoolnix SUBDIR += mlt7 SUBDIR += mlt7-glaxnimate SUBDIR += mlt7-qt SUBDIR += motion SUBDIR += mp3cd SUBDIR += mp4v2 SUBDIR += mpc-qt SUBDIR += mpeg_encode SUBDIR += mplayer SUBDIR += mplayer-skins SUBDIR += mplex SUBDIR += mpv SUBDIR += mpv-mpris SUBDIR += mpvpaper SUBDIR += msdl SUBDIR += msopenh264 SUBDIR += mswebrtc SUBDIR += musikcube SUBDIR += musique SUBDIR += mxflib SUBDIR += mythtv SUBDIR += naludump SUBDIR += navidrome SUBDIR += neolink SUBDIR += nostt SUBDIR += nymphcast SUBDIR += nymphcastlib SUBDIR += nymphrpc SUBDIR += obs-recursion-effect SUBDIR += obs-scrab SUBDIR += obs-streamfx SUBDIR += obs-studio SUBDIR += obs-text-pthread SUBDIR += obs-waveform SUBDIR += obuparse SUBDIR += oggvideotools SUBDIR += ogmrip SUBDIR += ogmtools SUBDIR += olive SUBDIR += omxplayer SUBDIR += onevpl SUBDIR += openh264 SUBDIR += openshot SUBDIR += opentimelineio SUBDIR += opentoonz SUBDIR += oscam SUBDIR += p5-Audio-M4P SUBDIR += p5-FFmpeg-Command SUBDIR += p5-FLV-Info SUBDIR += p5-File-Format-RIFF SUBDIR += p5-MP4-Info SUBDIR += p5-Net-UPnP SUBDIR += p5-Subtitles SUBDIR += peek SUBDIR += phonon SUBDIR += phonon-designerplugin SUBDIR += phonon-gstreamer SUBDIR += phonon-vlc SUBDIR += photofilmstrip SUBDIR += pipe-viewer SUBDIR += pipewire SUBDIR += pitivi SUBDIR += plasma5-plank-player SUBDIR += plasmatube SUBDIR += playerctl SUBDIR += plexmediaserver SUBDIR += plexmediaserver-plexpass SUBDIR += podcastdl SUBDIR += poe SUBDIR += ppm2fli SUBDIR += projectx SUBDIR += ptx-kmod SUBDIR += pwcbsd SUBDIR += pwcview SUBDIR += py-PySceneDetect SUBDIR += py-av SUBDIR += py-cec SUBDIR += py-enzyme SUBDIR += py-ffmpeg-python SUBDIR += py-gstreamer1 SUBDIR += py-guessit SUBDIR += py-librtmp SUBDIR += py-mat2 SUBDIR += py-metadata-cleaner SUBDIR += py-mido SUBDIR += py-moviepy SUBDIR += py-opentimelineio SUBDIR += py-periscope SUBDIR += py-pretty_midi SUBDIR += py-pymediainfo SUBDIR += py-pysubs2 SUBDIR += py-soco SUBDIR += py-subliminal SUBDIR += py-tartube SUBDIR += py-tvnamer SUBDIR += qmmp-plugin-pack-qt5 SUBDIR += qmmp-plugin-pack-qt6 SUBDIR += qmmp-qt5 SUBDIR += qmmp-qt6 SUBDIR += qpwgraph SUBDIR += qt5-multimedia SUBDIR += qt6-multimedia SUBDIR += quodlibet SUBDIR += qwinff SUBDIR += rage SUBDIR += rav1e SUBDIR += recmpeg SUBDIR += recordmydesktop SUBDIR += replex SUBDIR += ringrtc SUBDIR += rtmpdump SUBDIR += rubygem-av SUBDIR += rubygem-clutter-gstreamer SUBDIR += rubygem-flvtool2 SUBDIR += rubygem-gstreamer SUBDIR += rubygem-paperclip-av-transcoder SUBDIR += rubygem-paperclip-av-transcoder-rails50 SUBDIR += rubygem-streamio-ffmpeg SUBDIR += scte35dump SUBDIR += shotcut SUBDIR += simplescreenrecorder SUBDIR += smpeg SUBDIR += smpeg2 SUBDIR += smplayer SUBDIR += smplayer-skins SUBDIR += smplayer-themes SUBDIR += smtube SUBDIR += snapcast SUBDIR += spook SUBDIR += streamlink SUBDIR += subsync SUBDIR += subtitlecomposer SUBDIR += subtitleoffsetmodifier SUBDIR += subtools SUBDIR += svt-av1 SUBDIR += svt-hevc SUBDIR += svt-vp9 SUBDIR += syncplay SUBDIR += szap-s2 SUBDIR += tautulli SUBDIR += tcmplex-panteltje SUBDIR += termplay SUBDIR += tinyobjloader SUBDIR += tivodecode SUBDIR += totem SUBDIR += totem-pl-parser SUBDIR += tvheadend SUBDIR += ustreamer SUBDIR += uvg266 SUBDIR += uxplay SUBDIR += v4l-utils SUBDIR += v4l_compat SUBDIR += vamps SUBDIR += vapoursynth SUBDIR += vapoursynth-l-smash-works SUBDIR += vapoursynth-vmaf SUBDIR += vcdgear SUBDIR += vcdimager SUBDIR += vdpauinfo SUBDIR += vid.stab SUBDIR += video-trimmer SUBDIR += vlc SUBDIR += vmaf SUBDIR += vtkmpeg2encode SUBDIR += vvdec SUBDIR += vvenc SUBDIR += w_scan2 SUBDIR += webcamd SUBDIR += webcamoid SUBDIR += wf-recorder SUBDIR += winff SUBDIR += wl-screenrec SUBDIR += wlrobs SUBDIR += x264 SUBDIR += x265 SUBDIR += xanim SUBDIR += xawtv SUBDIR += xfce4-parole SUBDIR += xine SUBDIR += xporthdmv SUBDIR += xvid SUBDIR += yamdi SUBDIR += ytfzf SUBDIR += zart SUBDIR += zoneminder .include diff --git a/multimedia/libva-nvidia-driver/Makefile b/multimedia/libva-nvidia-driver/Makefile new file mode 100644 index 000000000000..ac605cbd58c3 --- /dev/null +++ b/multimedia/libva-nvidia-driver/Makefile @@ -0,0 +1,45 @@ +PORTNAME= libva-nvidia-driver +DISTVERSIONPREFIX= v +DISTVERSION= 0.0.10 +CATEGORIES= multimedia + +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES+= 8e8d49e11772.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220 +PATCHFILES+= 5dc46a5a2fab.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220 +PATCHFILES+= 22be7754bee5.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220 +PATCHFILES+= 119a5a3ac448.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220 +PATCHFILES+= 39c08a61a888.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220 +PATCHFILES+= fc1afd905f8c.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220 +PATCHFILES+= 97430842d11a.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220 + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= NVDEC-based backend for VAAPI +WWW= https://github.com/elFarto/nvidia-vaapi-driver + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/COPYING + +ONLY_FOR_ARCHS= amd64 +ONLY_FOR_ARCHS_REASON= Unusable without nvidia-drm-kmod and libc6-shim + +BUILD_DEPENDS= libdrm>=2.4.60,1:graphics/libdrm \ + ffnvcodec-headers>=11.1.5.1:multimedia/ffnvcodec-headers \ + libva>=2.8.0:multimedia/libva + +USES= compiler:c11 gl meson pkgconfig +USE_GITHUB= yes +USE_GL= egl +GH_ACCOUNT= elFarto +GH_PROJECT= nvidia-vaapi-driver +PLIST_FILES= lib/dri/nvidia-drm_drv_video.so + +OPTIONS_DEFINE= GSTREAMER +OPTIONS_DEFAULT=GSTREAMER + +GSTREAMER_USES= gstreamer:1 +GSTREAMER_USE= GSTREAMER=bad + +post-patch-GSTREAMER-off: + @${REINPLACE_CMD} 's/gstreamer-codecparsers-1\.0//' ${WRKSRC}/meson.build + +.include diff --git a/multimedia/libva-nvidia-driver/distinfo b/multimedia/libva-nvidia-driver/distinfo new file mode 100644 index 000000000000..ecd751f574e3 --- /dev/null +++ b/multimedia/libva-nvidia-driver/distinfo @@ -0,0 +1,17 @@ +TIMESTAMP = 1686388865 +SHA256 (elFarto-nvidia-vaapi-driver-v0.0.10_GH0.tar.gz) = df63b0832ccf9f74a90ff8b26d8e069606e0614d1748e35a857d2e53745ab95c +SIZE (elFarto-nvidia-vaapi-driver-v0.0.10_GH0.tar.gz) = 182313 +SHA256 (8e8d49e11772.patch) = 7bba9dc7e96961a4e9b7046c192cfe0bde7d76c9765dd3df4ad4c0368378a427 +SIZE (8e8d49e11772.patch) = 1258 +SHA256 (5dc46a5a2fab.patch) = 9d63405e05f60ac702a3842def28645907b5319dbcea124f97b965344f27cbd2 +SIZE (5dc46a5a2fab.patch) = 3602 +SHA256 (22be7754bee5.patch) = c41d0f88ed773c751d4f515d6e537232a679cbc5d38e985cb77f422259c107a9 +SIZE (22be7754bee5.patch) = 1248 +SHA256 (119a5a3ac448.patch) = d6d981539ea4c6c3143532ad0182aa68b6df72a5c58232e3692247f8afbeff6f +SIZE (119a5a3ac448.patch) = 2064 +SHA256 (39c08a61a888.patch) = c84fedb1e77f8465c44d48e4aefd9d78399b40c3f75ac3fa8b1ae730db285e4c +SIZE (39c08a61a888.patch) = 990 +SHA256 (fc1afd905f8c.patch) = 2afb9e9d0ad86d1b8bf286dbc9921f98c2c2efb0a0353e47d031a90dac515e3d +SIZE (fc1afd905f8c.patch) = 1229 +SHA256 (97430842d11a.patch) = 272c10f67ac344b83d87a8662eda6f18d6955157597e4171ba060455af0e5a6a +SIZE (97430842d11a.patch) = 1289 diff --git a/multimedia/libva-nvidia-driver/files/patch-meson.build b/multimedia/libva-nvidia-driver/files/patch-meson.build new file mode 100644 index 000000000000..e155c3c2f0ce --- /dev/null +++ b/multimedia/libva-nvidia-driver/files/patch-meson.build @@ -0,0 +1,21 @@ +- Avoid conflict with libva-vdpau-driver + +--- meson.build.orig 2023-06-10 09:21:05 UTC ++++ meson.build +@@ -71,7 +71,7 @@ shared_library( + nvidia_incdir = include_directories('nvidia-include') + + shared_library( +- 'nvidia_drv_video', ++ 'nvidia-drm_drv_video', + name_prefix: '', + sources: sources, + dependencies: deps, +@@ -83,6 +83,6 @@ meson.add_devenv(environment({ + + meson.add_devenv(environment({ + 'NVD_LOG': '1', +- 'LIBVA_DRIVER_NAME': 'nvidia', ++ 'LIBVA_DRIVER_NAME': 'nvidia-drm', + 'LIBVA_DRIVERS_PATH': meson.project_build_root(), + })) diff --git a/multimedia/libva-nvidia-driver/pkg-descr b/multimedia/libva-nvidia-driver/pkg-descr new file mode 100644 index 000000000000..01d24de66009 --- /dev/null +++ b/multimedia/libva-nvidia-driver/pkg-descr @@ -0,0 +1,9 @@ +This is an VA-API implementation that uses NVDEC as a backend. This +implementation is specifically designed to be used by Firefox for +accelerated decode of web content, and may not operate correctly in +other applications. + +System requirements: +- Non-legacy NVIDIA GPU +- nvidia-drm-kmod for DMA-BUF +- libc6-shim (nv-sglrun) for NVDEC