summary refs log tree commit diff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm125
1 files changed, 79 insertions, 46 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 4b1d2540e4..c8ec2645f9 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -50,6 +50,7 @@
 ;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
 ;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
 ;;; Copyright © 2021 David Wilson <david@daviwil.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -290,7 +291,7 @@ video and audio streams from a DVD.")
 (define-public svt-hevc
   (package
     (name "svt-hevc")
-    (version "1.5.0")
+    (version "1.5.1")
     (source
      (origin
        (method git-fetch)
@@ -300,7 +301,7 @@ video and audio streams from a DVD.")
          (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "038r3x3axil895vh2dq6223623ybrc45vn58vfmfb7cikz68sy23"))))
+        (base32 "0rac70p6rpvdx9v0bdd8nphgr7imdxb7nz0x77n3p7h3180zz9x0"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f)) ; Test script is stand-alone
@@ -1425,14 +1426,14 @@ operate properly.")
 (define-public ffmpeg
   (package
     (name "ffmpeg")
-    (version "4.3.2")
+    (version "4.4")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1nyd9jlcy0pqnwzi29a7sg50hq37vb0g3f9l16y3q8yh3m7ydr26"))))
+               "02fr8mvf2agwmyb9q2bmh9p09gpz3xxmpcbbbj8iydz57hc0mc86"))))
     (build-system gnu-build-system)
     (inputs
      `(("dav1d" ,dav1d)
@@ -1616,6 +1617,17 @@ convert and stream audio and video.  It includes the libavcodec
 audio/video codec library.")
     (license license:gpl2+)))
 
+(define-public ffmpeg-4.3
+  (package/inherit ffmpeg
+    (version "4.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "1nyd9jlcy0pqnwzi29a7sg50hq37vb0g3f9l16y3q8yh3m7ydr26"))))))
+
 (define-public ffmpeg-3.4
   (package
     (inherit ffmpeg)
@@ -1755,7 +1767,7 @@ videoformats depend on the configuration flags of ffmpeg.")
 (define-public vlc
   (package
     (name "vlc")
-    (version "3.0.12")
+    (version "3.0.14")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1764,7 +1776,7 @@ videoformats depend on the configuration flags of ffmpeg.")
                     "/vlc-" version ".tar.xz"))
               (sha256
                (base32
-                "0ygqihw2c5vvzv8950dlf7rdwz1cpz1668jgyja604ljibrmix7g"))))
+                "19imhm6wd85nm2r4xwa7g500rmya021aj93b1q33gany6ddkxfa9"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("flex" ,flex)
@@ -2140,7 +2152,7 @@ To load this plugin, specify the following option when starting mpv:
 (define-public libvpx
   (package
     (name "libvpx")
-    (version "1.9.0")
+    (version "1.10.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2149,7 +2161,7 @@ To load this plugin, specify the following option when starting mpv:
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "16xv6ambc82g14h1y0q1vyy57wp6j9fbp0nk0wd5csnrw407rhry"))
+                "1p4v6j1505n3gnvx3iksciyi818ymxpazj9fmdrchzbl9pfzg4qi"))
               (patches (search-patches "libvpx-CVE-2016-2818.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -2810,7 +2822,7 @@ capabilities.")
 (define-public vapoursynth
   (package
     (name "vapoursynth")
-    (version "52")
+    (version "53")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2819,19 +2831,31 @@ capabilities.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1krfdzc2x2vxv4nq9kiv1c09hgj525qn120ah91fw2ikq8ldvmx4"))))
+                "0qcsfkpkry0cmvi60khjwvfz4fqhy23nqmn4pb9qrwll26sn9dcr"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out    (assoc-ref outputs "out"))
+                    (site   (string-append out "/lib/python"
+                                           ,(version-major+minor
+                                             (package-version python))
+                                           "/site-packages")))
+               (wrap-program (string-append out "/bin/vspipe")
+                 `("PYTHONPATH" ":" = (,site)))))))))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("cython" ,python-cython)
        ("libtool" ,libtool)
        ("pkg-config" ,pkg-config)
-       ("python" ,python)
        ("yasm" ,yasm)))
     (inputs
      `(("ffmpeg" ,ffmpeg)
        ("libass" ,libass)
+       ("python" ,python)
        ("tesseract-ocr" ,tesseract-ocr)
        ("zimg" ,zimg)))
     (home-page "http://www.vapoursynth.com/")
@@ -4474,7 +4498,9 @@ create smoother and stable videos.")
        ("unittest++" ,unittest-cpp)))
     (propagated-inputs                  ;all referenced in installed headers
      `(("cppzmq" ,cppzmq)
-       ("ffmpeg" ,ffmpeg)
+       ;; libopenshot doesn't yet build with ffmpeg 4.4 (see:
+       ;; https://github.com/OpenShot/libopenshot/issues/676).
+       ("ffmpeg" ,ffmpeg-4.3)
        ("imagemagick" ,imagemagick)
        ("jsoncpp" ,jsoncpp)
        ("libopenshot-audio" ,libopenshot-audio)
@@ -4527,7 +4553,7 @@ API.  It includes bindings for Python, Ruby, and other languages.")
     (build-system python-build-system)
     (inputs
      `(("ffmpeg" ,ffmpeg)
-       ("font-ubuntu" ,font-ubuntu)
+       ("font-dejavu" ,font-dejavu)
        ("libopenshot" ,libopenshot)
        ("python" ,python)
        ("python-pyqt" ,python-pyqt)
@@ -4548,10 +4574,11 @@ API.  It includes bindings for Python, Ruby, and other languages.")
                       (invoke "python" "src/tests/query_tests.py")))
                   (add-after 'unpack 'patch-font-location
                     (lambda* (#:key inputs #:allow-other-keys)
-                      (let ((font (assoc-ref inputs "font-ubuntu")))
+                      (let ((font (assoc-ref inputs "font-dejavu")))
                         (substitute* "src/classes/app.py"
                           (("info.IMAGES_PATH") (string-append "\"" font "\""))
-                          (("fonts") "share/fonts/truetype")))
+                          (("fonts") "share/fonts/truetype")
+                          (("[A-Za-z_-]+.ttf") "DejaVuSans.ttf")))
                       #t))
                   (add-before 'install 'set-tmp-home
                     (lambda _
@@ -4855,64 +4882,70 @@ result in several formats:
 (define-public rav1e
   (package
     (name "rav1e")
-    (version "0.3.5")
+    (version "0.4.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rav1e" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "0c40gq4qid2apmlgzx98f6826jmn2n61prk0rn7sjxaw7yimw854"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rav1e" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00rjil6qbrwfxhhlq9yvidxm0gp9qdbywhf5zvkj85lykbhyff09"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-aom-sys" ,rust-aom-sys-0.2)
-        ("rust-arbitrary" ,rust-arbitrary-0.2)
+        ("rust-arbitrary" ,rust-arbitrary-0.4)
         ("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3)
         ("rust-arrayvec" ,rust-arrayvec-0.5)
+        ("rust-av-metrics" ,rust-av-metrics-0.6)
         ("rust-backtrace" ,rust-backtrace-0.3)
-        ("rust-bitstream-io" ,rust-bitstream-io-0.8)
+        ("rust-bitstream-io" ,rust-bitstream-io-1)
         ("rust-byteorder" ,rust-byteorder-1)
-        ("rust-cc" ,rust-cc-1)
-        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-clap" ,rust-clap-2)
-        ("rust-console" ,rust-console-0.11)
+        ("rust-console" ,rust-console-0.14)
+        ("rust-crossbeam" ,rust-crossbeam-0.8)
         ("rust-dav1d-sys" ,rust-dav1d-sys-0.3)
         ("rust-fern" ,rust-fern-0.6)
         ("rust-image" ,rust-image-0.23)
         ("rust-interpolate-name" ,rust-interpolate-name-0.2)
-        ("rust-itertools" ,rust-itertools-0.9)
+        ("rust-itertools" ,rust-itertools-0.10)
         ("rust-ivf" ,rust-ivf-0.1)
         ("rust-libc" ,rust-libc-0.2)
+        ("rust-libfuzzer-sys" ,rust-libfuzzer-sys-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-nasm-rs" ,rust-nasm-rs-0.2)
-        ("rust-noop-proc-macro" ,rust-noop-proc-macro-0.2)
+        ("rust-noop-proc-macro" ,rust-noop-proc-macro-0.3)
         ("rust-num-derive" ,rust-num-derive-0.3)
         ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-paste" ,rust-paste-0.1)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
+        ("rust-paste" ,rust-paste-1)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
         ("rust-rayon" ,rust-rayon-1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-rust-hawktracer" ,rust-rust-hawktracer-0.7)
-        ("rust-rustc-version" ,rust-rustc-version-0.2)
+        ("rust-rustc-version" ,rust-rustc-version-0.3)
         ("rust-scan-fmt" ,rust-scan-fmt-0.2)
         ("rust-serde" ,rust-serde-1)
-        ("rust-signal-hook" ,rust-signal-hook-0.1)
+        ("rust-signal-hook" ,rust-signal-hook-0.3)
         ("rust-simd-helpers" ,rust-simd-helpers-0.1)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-toml" ,rust-toml-0.5)
+        ("rust-v-frame" ,rust-v-frame-0.2)
         ("rust-vergen" ,rust-vergen-3)
-        ("rust-y4m" ,rust-y4m-0.5))
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-y4m" ,rust-y4m-0.7))
        #:cargo-development-inputs
        (("rust-assert-cmd" ,rust-assert-cmd-1)
+        ("rust-cc" ,rust-cc-1)
         ("rust-criterion" ,rust-criterion-0.3)
         ("rust-interpolate-name" ,rust-interpolate-name-0.2)
         ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
-        ("rust-semver" ,rust-semver-0.9))
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
+        ("rust-semver" ,rust-semver-0.11))
        #:phases
        (modify-phases %standard-phases
          (replace 'build
@@ -4921,13 +4954,13 @@ result in several formats:
                (invoke "cargo" "cinstall" "--release"
                        (string-append "--prefix=" out))))))))
     (native-inputs
-     `(("cargo-c" ,rust-cargo-c)))
-    (inputs
-     `(("nasm" ,nasm)))
+     `(("cargo-c" ,rust-cargo-c)
+       ("nasm" ,nasm)))
     (home-page "https://github.com/xiph/rav1e/")
-    (synopsis "The fastest and safest AV1 encoder")
-    (description
-     "The fastest and safest AV1 encoder.")
+    (synopsis "Fast and safe AV1 encoder")
+    (description "@code{rav1e} is an AV1 video encoder.  It is designed to
+eventually cover all use cases, though in its current form it is most suitable
+for cases where libaom (the reference encoder) is too slow.")
     (license license:bsd-2)))
 
 (define-public peek