aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm123
1 files changed, 88 insertions, 35 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 7f98e2ca5b..ef69c1dcc8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -34,7 +34,7 @@
;;; Copyright © 2019 Timo Eisenmann <eisenmann@fn.de>
;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
;;; Copyright © 2019 Riku Viitanen <riku.viitanen@protonmail.com>
-;;; Copyright © 2020, 2021, 2023 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020, 2021, 2023, 2024 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
@@ -154,6 +154,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages iso-codes)
+ #:use-module (gnu packages libcanberra)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
@@ -1564,13 +1565,10 @@ libebml is a C++ library to read and write EBML files.")
"/share/vulkan/registry/vk.xml"))))
(native-inputs
(list glad python python-mako pkg-config))
- (inputs
- (list lcms
- libepoxy
- mesa
- shaderc
- vulkan-headers
- vulkan-loader))
+ (inputs (list libepoxy mesa vulkan-headers))
+ ;; These are propagated as they are listed in 'Requires.private' of
+ ;; libplacebo.pc.
+ (propagated-inputs (list lcms shaderc vulkan-loader))
(home-page "https://code.videolan.org/videolan/libplacebo")
(synopsis "GPU-accelerated image/video processing library")
(description "libplacebo is, in a nutshell, the core rendering algorithms
@@ -2642,31 +2640,43 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
"-Ddvdnav=enabled"
"-Dbuild-date=false")))
(native-inputs
- (list perl ; for zsh completion file
- pkg-config python-docutils python-wrapper))
+ (list perl ;for zsh completion file
+ pkg-config
+ python-docutils
+ python-wrapper))
;; Missing features: libguess, V4L2.
(inputs
+ (list enca
+ ladspa
+ lcms
+ libbs2b
+ mpg123
+ rsound
+ vulkan-headers
+ vulkan-loader
+ yt-dlp))
+ ;; XXX: These are propagated for the mpv pkg-config package, as they are
+ ;; listed in Requires.private and would break 'pkg-config --exists mpv' if
+ ;; unavailable.
+ (propagated-inputs
(list alsa-lib
- enca
ffmpeg
jack-1
- ladspa
- lcms
libass
libbluray
libcaca
- libbs2b
libcdio-paranoia
- libdvdread
+ libdrm
libdvdnav
+ libdvdread
libjpeg-turbo
libplacebo
libva
libvdpau
libx11
libxext
- libxkbcommon
libxinerama
+ libxkbcommon
libxpresent
libxrandr
libxscrnsaver
@@ -2674,15 +2684,10 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
;; XXX: lua > 5.2 is not currently supported; see meson.build
lua-5.2
mesa
- mpg123
pulseaudio
- rsound
shaderc
- vulkan-headers
- vulkan-loader
wayland
wayland-protocols
- yt-dlp
zimg
zlib))
(home-page "https://mpv.io/")
@@ -2781,18 +2786,35 @@ images and image hosting sites.")
(file-name (git-file-name name version))
(sha256
(base32 "1384y8n3l0xk8hbad1nsj9ljzb1h02g3ln3jysd8bd6shbl0x4mx"))))
- (build-system copy-build-system)
+ (build-system gnu-build-system)
(arguments
- '(#:install-plan
- '(("mpris.so" "lib/"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'install 'build
- (lambda _
- (setenv "CC" (which "gcc"))
- (invoke "make"))))))
+ (list
+ #:make-flags
+ #~(list (string-append "SCRIPTS_DIR=" #$output "/lib")
+ (string-append "CC=" #$(cc-for-target)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'check
+ (lambda* (#:key inputs native-inputs tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ (setenv
+ "MPV_MPRIS_TEST_PLAY"
+ (search-input-file
+ (or native-inputs inputs)
+ "share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga"))
+ (invoke "make" "test"))
+ (format #t "test suite not run~%")))))))
(native-inputs
- (list pkg-config))
+ (list dbus
+ jq
+ pkg-config
+ playerctl
+ socat
+ sound-theme-freedesktop
+ xorg-server-for-tests
+ xvfb-run))
(inputs
(list ffmpeg glib mpv))
(home-page "https://github.com/hoyon/mpv-mpris")
@@ -3332,10 +3354,8 @@ MPEG-2 stream containing VOB packets.")
(base32
"0cv7j8irsv1n2dadlnhr6i1b8pann2ah6xpxic41f04my6ba6rp5"))))
(build-system gnu-build-system)
- (native-inputs
- (list pkg-config))
- (inputs
- (list libdvdread))
+ (native-inputs (list pkg-config))
+ (propagated-inputs (list libdvdread)) ;in 'Requires.private' of dvdnav.pc
(home-page "http://dvdnav.mplayerhq.hu/")
(synopsis "Library for video DVD navigation features")
(description
@@ -4543,6 +4563,39 @@ of modern, widely supported codecs.")
;; Combination under GPLv2. See LICENSE.
(license license:gpl2)))
+(define-public h264bitstream
+ ;; Used as submodule in https://github.com/moonlight-stream/moonlight-qt
+ (let ((commit "ae72f7395f328876199a7e928d3b4a6dc6a7ce14")
+ (revision "1"))
+ (package
+ (name "h264bitstream")
+ (version (git-version "0.2.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aizvorski/h264bitstream")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pqzfzkgqk5zjh5ywc7l7mffs2vh6wlzssvq2jxildygvqxs3pjp"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ;no test suite
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'install 'fix-include-bs-h
+ (lambda _
+ (symlink (string-append #$output
+ "/include/h264bitstream/bs.h")
+ (string-append #$output "/include/bs.h")))))))
+ (native-inputs (list autoconf automake libtool pkg-config))
+ (inputs (list ffmpeg))
+ (synopsis "Library to read and write H.264 video bitstreams")
+ (description
+ "This package provides the GameStream code shared between Moonlight clients.")
+ (home-page "https://github.com/aizvorski/h264bitstream")
+ (license license:lgpl2.1+))))
+
(define-public intel-vaapi-driver
(package
(name "intel-vaapi-driver")