[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
08/10: gnu: Support rav1e in FFmpeg.
From: |
guix-commits |
Subject: |
08/10: gnu: Support rav1e in FFmpeg. |
Date: |
Mon, 6 Apr 2020 04:25:40 -0400 (EDT) |
efraim pushed a commit to branch wip-rav1e
in repository guix.
commit 68269a21985a946111237bd6c71149a8f95addc8
Author: Leo Famulari <address@hidden>
AuthorDate: Thu Feb 20 13:34:20 2020 -0500
gnu: Support rav1e in FFmpeg.
* gnu/packages/video.scm (ffmpeg): Update to dev version.
[source]: Remove obsolete patch.
[inputs]: Add rust-rav1e-0.3.
[arguments]: Pass --enable-librav1e to #:configure-flags.
(ffmpeg-3.4): Remove rav1e from the inputs and #:configure-flags.
* gnu/packages/patches/ffmpeg-prefer-dav1d.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
gnu/local.mk | 1 -
gnu/packages/patches/ffmpeg-prefer-dav1d.patch | 43 --------------------------
gnu/packages/video.scm | 32 ++++++++++++-------
3 files changed, 20 insertions(+), 56 deletions(-)
diff --git a/gnu/local.mk b/gnu/local.mk
index 9020c3e..086e584 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -876,7 +876,6 @@ dist_patch_DATA =
\
%D%/packages/patches/fasthenry-spSolve.patch \
%D%/packages/patches/fasthenry-spFactor.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \
- %D%/packages/patches/ffmpeg-prefer-dav1d.patch \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
%D%/packages/patches/file-CVE-2018-10360.patch \
diff --git a/gnu/packages/patches/ffmpeg-prefer-dav1d.patch
b/gnu/packages/patches/ffmpeg-prefer-dav1d.patch
deleted file mode 100644
index 95e3712..0000000
--- a/gnu/packages/patches/ffmpeg-prefer-dav1d.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-When decoding AV1 files, prefer dav1d over libaom for performance
-reasons.
-
-Patch copied from upstream source repository:
-
-<https://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=commitdiff;h=dc0806dd25882f41f6085c8356712f95fded56c7>
-
-From dc0806dd25882f41f6085c8356712f95fded56c7 Mon Sep 17 00:00:00 2001
-From: James Almer <address@hidden>
-Date: Sun, 15 Sep 2019 11:29:56 -0300
-Subject: [PATCH] avcodec/allcodecs: make libdav1d the preferred AV1 decoder
-
-It's considerably faster than libaom in most systems.
-
-Reviewed-by: BBB
-Signed-off-by: James Almer <address@hidden>
----
- libavcodec/allcodecs.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
-index 5130fca026..d5dfba1877 100644
---- a/libavcodec/allcodecs.c
-+++ b/libavcodec/allcodecs.c
-@@ -680,7 +680,6 @@ extern AVCodec ff_pcm_mulaw_at_encoder;
- extern AVCodec ff_pcm_mulaw_at_decoder;
- extern AVCodec ff_qdmc_at_decoder;
- extern AVCodec ff_qdm2_at_decoder;
--extern AVCodec ff_libaom_av1_decoder;
- extern AVCodec ff_libaom_av1_encoder;
- extern AVCodec ff_libaribb24_decoder;
- extern AVCodec ff_libcelt_decoder;
-@@ -738,6 +737,7 @@ extern AVCodec ff_idf_decoder;
- /* external libraries, that shouldn't be used by default if one of the
- * above is available */
- extern AVCodec ff_h263_v4l2m2m_encoder;
-+extern AVCodec ff_libaom_av1_decoder;
- extern AVCodec ff_libopenh264_encoder;
- extern AVCodec ff_libopenh264_decoder;
- extern AVCodec ff_h264_amf_encoder;
---
-2.20.1
-
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c62e651..162f8bd 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -136,6 +136,7 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages rav1e)
#:use-module (gnu packages rdesktop)
#:use-module (gnu packages ruby)
#:use-module (gnu packages samba)
@@ -917,21 +918,24 @@ operate properly.")
(license license:expat)))
(define-public ffmpeg
+ (let ((commit "bb01baae269cd2d7a0e61dc9bf327168edd43b04")
+ (revision "0"))
(package
(name "ffmpeg")
- (version "4.2.2")
+ (version (git-version "4.2.2" revision commit))
(source (origin
- (method url-fetch)
- (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
- version ".tar.xz"))
- ;; See <https://issues.guix.gnu.org/issue/39719>
- (patches (search-patches "ffmpeg-prefer-dav1d.patch"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FFmpeg/FFmpeg.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "176jn1lcdf0gk7sa5l2mv0faqp5dsqdhx1gqcrgymqhfmdal4xfb"))))
+ "18rywv54bjr4xqzwc1fgc9hh1zwrfcgxfks6r58j92dkblbgyjjp"))))
(build-system gnu-build-system)
(inputs
`(("dav1d" ,dav1d)
+ ("rav1e" ,rust-rav1e-0.3)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("frei0r-plugins" ,frei0r-plugins)
@@ -1049,6 +1053,7 @@ operate properly.")
"--enable-openal"
"--enable-opengl"
"--enable-libdrm"
+ "--enable-librav1e"
"--enable-runtime-cpudetect"
@@ -1098,7 +1103,7 @@ operate properly.")
(description "FFmpeg is a complete, cross-platform solution to record,
convert and stream audio and video. It includes the libavcodec
audio/video codec library.")
- (license license:gpl2+)))
+ (license license:gpl2+))))
(define-public ffmpeg-3.4
(package
@@ -1114,10 +1119,13 @@ audio/video codec library.")
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags flags)
- `(delete "--enable-libdav1d" (delete "--enable-libaom"
- ,flags)))))
- (inputs (alist-delete "dav1d" (alist-delete "libaom"
- (package-inputs ffmpeg))))))
+ `(delete "--enable-librav1e"
+ (delete "--enable-libdav1d"
+ (delete "--enable-libaom" ,flags))))))
+ (inputs (alist-delete "rav1e"
+ (alist-delete "dav1d"
+ (alist-delete "libaom"
+ (package-inputs
ffmpeg)))))))
(define-public ffmpeg-for-stepmania
(hidden-package
- branch wip-rav1e created (now 37270ae), guix-commits, 2020/04/06
- 06/10: guix: self: Adds guile-semver as a depenedency., guix-commits, 2020/04/06
- 05/10: import: crate: Parametrized importing of dev dependencies., guix-commits, 2020/04/06
- 04/10: import: utils: Trim patch version from names., guix-commits, 2020/04/06
- 03/10: import: crate: Memorize crate->guix-package., guix-commits, 2020/04/06
- 08/10: gnu: Support rav1e in FFmpeg.,
guix-commits <=
- 01/10: import: utils: 'recursive-import' accepts an optional version parameter., guix-commits, 2020/04/06
- 02/10: import: crate: Use guile-semver to resolve module versions., guix-commits, 2020/04/06
- 07/10: gnu: Add rav1e., guix-commits, 2020/04/06
- 09/10: WIP: Move packages into the correct modules., guix-commits, 2020/04/06
- 10/10: WIP: Sort crates alphabetically and deduplicate., guix-commits, 2020/04/06