[PATCH] gnu: ffmpeg: add svt-av1 support

  • Done
  • quality assurance status badge
Details
7 participants
  • Andy Tai
  • Andy Tai
  • Jack Hill
  • Andy Tai
  • Christopher Baines
  • Maxim Cournoyer
  • Vagrant Cascadian
Owner
unassigned
Submitted by
Andy Tai
Severity
normal
Merged with
A
A
Andy Tai wrote on 26 Apr 2023 20:11
(address . guix-patches@gnu.org)
CAJsg1E8-+v16XYK-YkNFovT5hn+g0jW0uJvNd=asrMgiR3BnWw@mail.gmail.com

From 853b4367b37b5f27372d35ab3ae575f06c81cb8a Mon Sep 17 00:00:00 2001
From: Andy Tai <ltai@roku.com>
Date: Wed, 26 Apr 2023 11:04:47 -0700
Subject: [PATCH] gnu: ffmpeg: add svt-av1 support

* gnu/packages/video.scm (ffmpeg): Add support for svt-av1
[inputs]: Add svt-av1
[arguments] (configure-flags): Add "--enable-libsvtav1"
---
gnu/packages/video.scm | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

Toggle diff (42 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 838dfe7aab..bc668eb04e 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1631,6 +1631,7 @@ (define-public ffmpeg
soxr
speex
srt
+ svt-av1
twolame
vidstab
x265
@@ -1714,6 +1715,7 @@ (define-public ffmpeg
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
+ "--enable-libsvtav1"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"
@@ -2204,7 +2206,7 @@ (define-public mpv
(add-after 'unpack 'patch-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "player/lua/ytdl_hook.lua"
- (("\"yt-dlp\",")
+ (("\"yt-dlp\",")
(string-append
"\"" (search-input-file inputs "bin/yt-dlp") "\",")))))
(add-before 'configure 'build-reproducibly
@@ -5626,7 +5628,7 @@ (define-public video-contact-sheet
(source (origin
(method url-fetch)
(uri (string-append "http://p.outlyer.net/vcs/files/vcs-" version
- ".tar.gz"))
+ ".tar.gz"))
(sha256
(base32
"0jsl93r0rnybjcipqbww5hwsr9ln6kz1qnf32qfxdvhfw52n27fw"))))

base-commit: e86851ccb3df1e87efca7138ee8d055a30832a4e
--
2.40.1
J
J
Jack Hill wrote on 12 Sep 2023 16:36
Re: bug#63105: [PATCH v2] gnu: svt-av1: Update to 1.7.0.
(name . Christopher Baines)(address . mail@cbaines.net)
b8458909-5681-88e6-8ca4-9fec5e67fe01@jackhill.us
On Tue, 12 Sep 2023, Christopher Baines wrote:

Toggle quote (7 lines)
> I've gone ahead and pushed this* to master as
> 3acd355455a74a6e08bdcecc72e314c27e7c56b3.
>
> Thanks both,
>
> Chris


Very cool, thank you. Maybe now's a good time to review Andy's other patch
adding svt-av1 support to ffmpeg? https://issues.guix.gnu.org/63095

I've tested it and it works for me (and a nice speed boost for machines
with avx2). The only nits I have are some extranious indentation changes.

Best,
Jack
A
A
Andy Tai wrote on 4 Oct 2023 08:02
[PATCH v2] gnu: ffmpeg: add svt-av1 support
(name . Andy Tai)(address . atai@atai.org)
4ea84dc185164a495b7ef3765162b0ce46f0fd04.1696399298.git.atai@atai.org
* gnu/packages/video.scm (ffmpeg): Add support for svt-av1
[inputs]: Add svt-av1
[arguments] (configure-flags): Add "--enable-libsvtav1"
---
gnu/packages/video.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index bb6cf75821..a97d6b2593 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1624,6 +1624,7 @@ (define-public ffmpeg
soxr
speex
srt
+ svt-av1
twolame
vidstab
x265
@@ -1712,6 +1713,7 @@ (define-public ffmpeg
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
+ "--enable-libsvtav1"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"

base-commit: abf7a1e986f93f8fade230ae6f95b04cc998041b
--
2.41.0
A
A
Andy Tai wrote on 4 Oct 2023 08:14
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
CAJsg1E-fXAw4YTdUjt73-keks6GWUVuPSUbVMumns=EW5YV=6g@mail.gmail.com
merge 66331 63095
A
A
Andy Tai wrote on 8 Oct 2023 20:24
(address . 63095@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
9f2c5341a49f82e1a654e396d1493246c5082ce6.1696789426.git.atai@atai.org
* gnu/packages/video.scm (ffmpeg): Add support for svt-av1
[inputs]: Add svt-av1
[arguments] (configure-flags): Add "--enable-libsvtav1"
---
gnu/packages/video.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index bb6ce0cbf1..a2d9fe054c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1624,6 +1624,7 @@ (define-public ffmpeg
soxr
speex
srt
+ svt-av1
twolame
vidstab
x265
@@ -1712,6 +1713,7 @@ (define-public ffmpeg
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
+ "--enable-libsvtav1"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"

base-commit: 00a28bc435606dc98925fbae1ebe314881f35c90
--
2.41.0
A
A
Andy Tai wrote on 10 Oct 2023 17:32
[PATCH v4] gnu: ffmpeg: add svt-av1 support
(address . 63095@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
2ef619bbc4bb9610115ea6f46b9421e51508e25b.1696951913.git.atai@atai.org
* gnu/packages/video.scm (ffmpeg): Add support for svt-av1
[inputs]: Add svt-av1
[arguments] (configure-flags): Add "--enable-libsvtav1"
---
gnu/packages/video.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index bb6ce0cbf1..a2d9fe054c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1624,6 +1624,7 @@ (define-public ffmpeg
soxr
speex
srt
+ svt-av1
twolame
vidstab
x265
@@ -1712,6 +1713,7 @@ (define-public ffmpeg
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
+ "--enable-libsvtav1"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"

base-commit: f4e8baf3806e79d7111d2943859865ae4ee0b59d
--
2.41.0
A
A
Andy Tai wrote on 10 Oct 2023 18:00
Fwd: Guix QA "Unable to apply patches"
(address . 63095@debbugs.gnu.org)
CAJsg1E_W9WRH-yhOOtQ4-KL=pUvcyC5+9jjWKgfv4UjwD9eQ8w@mail.gmail.com
---------- Forwarded message ---------
From: Andy Tai <atai@atai.org>
Date: Fri, Oct 6, 2023 at 12:15?PM
Subject: Guix QA "Unable to apply patches"
To: <guix-devel@gnu.org>


Hi, for one of my package patches, Guix QA shows

"Unable to apply patches"


even though I double checked the patch applies cleanly on the current
head of the master branch.

Guix QA shows no hint as what the failure is (no log, etc.) Curious
how to investigate the problem?
C
C
Christopher Baines wrote on 10 Oct 2023 19:02
Re: Guix QA "Unable to apply patches"
(name . Andy Tai)(address . atai@atai.org)
87il7eflsj.fsf@cbaines.net
Andy Tai <atai@atai.org> writes:

Toggle quote (12 lines)
> Hi, for one of my package patches, Guix QA shows
>
> "Unable to apply patches"
>
> in https://qa.guix.gnu.org/issue/63095
>
> even though I double checked the patch applies cleanly on the current
> head of the master branch.
>
> Guix QA shows no hint as what the failure is (no log, etc.) Curious
> how to investigate the problem?

That message was appearing incorrectly, which I've now fixed. The
qa-frontpage hadn't attempted to apply the patch, which is why the log
showed #f.

The reason why QA hasn't looked at this issue is that it's too old. To
avoid resource problems, QA only currently looks at a fixed number of
recent issues. The limiting factor is currently data service storage
space.

Unfortunately none of that is very helpful in getting this patch looked
at though.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmUlhOxfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xe4HRAAiLt2lOFQ1xPhxcoAQ896Gj0Z3sOMv37V
ul6J+3HKt/QFx/LVINLSRZQCdeWcalkJXa1krZta0jhZC1ZrtsiRlnR5Ibir/6fX
mH3Agmymhj6/l/+3VypXCSMRORngTRChx88lv5qnL7CymdMidoNrGzilqOQuPSIi
1Ag66h3Ap6l9LIGjq6Bkn6hBEI1HjKuNiEo3Qr+zgPjegrhmndEE7zhHzSdIrVYO
Nz/HSGxSzEVXTHcfXsoPB5aMOUAWv62vpzqehv75UFo3nB/ewS3YmcXoHIjEd7Ca
/BFYAUB1sNHtZli3LBH+B+en+9hYpNzF59Yi+RySoEFo81sWAVuloSNN9YWs8sjf
OXlDMhHqk5q9qExrWZk0cHkZaf83ZwS9cvR0RtWC48rLqo5vK3OWkgL9r0a3cskU
8FawninmQ6q5FS9W2amKLQEcIwWHe6Oq9puj39Bbg/rQxD5t+jp8LFfjbOi6ymvt
Sh69Mpz/SOrrCsX1dgK1v0vLHB97rnEy+qzECIXiL6G4C381d7eoAYpP76C6Dtzn
wdEHugAfabmCMiE/7UUAaGdYX7lQjSTyjKC4nsmK6eQ4Xg0814hCBt1nK8a4UjRu
oluI1+Zpl9KOJo0S6KUWAkaJUXbJ17HHQIvBcF4qeRDfRKzk/3o+9gCksfPkCsWh
7zv6vOiXrZo=
=wKTD
-----END PGP SIGNATURE-----

A
A
Andy Tai wrote on 11 Oct 2023 08:19
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
CAJsg1E-WpLndxyMVy+=xaT1MDihz4k_S6HZajR2FvVpj9D=QDA@mail.gmail.com
merge 63095 66460
A
A
Andy Tai wrote on 11 Oct 2023 17:23
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
CAJsg1E_zKEgafY=mZ9ud7WKM52kpeJqcchKrxCYEiVGwy5WjRg@mail.gmail.com
unmerge 63095
unmerge 61990
M
M
Maxim Cournoyer wrote on 11 Oct 2023 17:26
(name . Bruno Victal)(address . mirai@makinata.eu)
87lec9ch9q.fsf@gmail.com
Hi,

Bruno Victal <mirai@makinata.eu> writes:

Toggle quote (5 lines)
> Hi Andy,
>
> Does svt-av1 imply the use of AVX2?
> Maxim has observed some breakage in [1] with the use of svt-hevc.

It seems not an issue, reading
If there's no AVX2 support, SSE2 will be used, which will be slower but
backward compatible with all x86_64 CPUs made after the year 2000 :-).

--
Thanks,
Maxim
A
A
Andy Tai wrote on 11 Oct 2023 17:25
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
CAJsg1E8Mj5zRyd6UtpRp24DmQgMhFNqokO8+Xb9YnVKziZL7bw@mail.gmail.com
merge 66459 61990
merge 66460 63095 66331
A
A
Andy Tai wrote on 21 Oct 2023 07:55
(address . 63095@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
9c2cf12741d28c6c4a3b3ab5f5effdeff5f0e3e0.1697867723.git.atai@atai.org
* gnu/packages/video.scm (ffmpeg): Add support for svt-av1
[inputs]: Add svt-av1
[arguments] (configure-flags): Add "--enable-libsvtav1"
---
gnu/packages/video.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index bb6ce0cbf1..a2d9fe054c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1624,6 +1624,7 @@ (define-public ffmpeg
soxr
speex
srt
+ svt-av1
twolame
vidstab
x265
@@ -1712,6 +1713,7 @@ (define-public ffmpeg
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
+ "--enable-libsvtav1"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"

base-commit: 68fe73cf39cb9347ecb4c87f466ddf1fd044269c
--
2.41.0
A
A
Andy Tai wrote on 20 Nov 2023 09:20
[PATCH core-updates v7] gnu: ffmpeg: add svt-av1 support
(address . 63095@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
f7fc73236a5173bfd1c9a004eda7b8b7132741cf.1700468400.git.atai@atai.org
* gnu/packages/video.scm (ffmpeg): Add support for svt-av1
[inputs]: Add svt-av1
[arguments] (configure-flags): Add "--enable-libsvtav1"
---
gnu/packages/video.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 561268aabd..ac47a33633 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1625,6 +1625,7 @@ (define-public ffmpeg
soxr
speex
srt
+ svt-av1
twolame
vidstab
x265
@@ -1713,6 +1714,7 @@ (define-public ffmpeg
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
+ "--enable-libsvtav1"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"

base-commit: 71b92466430acb8c91841522dc0eb7d766af4388
--
2.41.0
A
A
Andy Tai wrote on 7 Jan 02:42 +0100
[PATCH core-updates v8] gnu: ffmpeg: add svt-av1 support
(address . 63095@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
d3957545fc8c6f30f99d247e581668c338f37ee5.1704591690.git.atai@atai.org
* gnu/packages/video.scm (ffmpeg): Add support for svt-av1
[inputs]: Add svt-av1
[arguments] (configure-flags): Add "--enable-libsvtav1"
---
gnu/packages/video.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e70aa5352e..21f8a9f7be 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1701,6 +1701,7 @@ (define-public ffmpeg
soxr
speex
srt
+ svt-av1
twolame
vidstab
x265
@@ -1789,6 +1790,7 @@ (define-public ffmpeg
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
+ "--enable-libsvtav1"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"

base-commit: 157ad70182ade608203e9c0a42fb45b022039698
--
2.41.0
A
A
Andy Tai wrote on 15 Jan 19:19 +0100
Re: [PATCH core-updates v7] gnu: ffmpeg: add svt-av1 support
CAJsg1E9S33zDadXOoF0YeRsB7AihBRRB5XGs8ek66iGsGd6APw@mail.gmail.com
Maxim, you updated ffmpeg in the core-updates branch of Guix. Can the
patch in issue 63095


be also pushed into the core-updates branch if it looks good to you?
else ffmpeg updates will cause rebuild of more than 1000 packages and
this just cnnnot be passed on Guix QA as Guix Qa cannot rebuild that
many packages now for building check of packages. Nor it makes sense
to have a feature branch just for this change. Thanks

On Mon, Nov 20, 2023 at 12:20?AM Andy Tai <atai@atai.org> wrote:
Toggle quote (33 lines)
>
> * gnu/packages/video.scm (ffmpeg): Add support for svt-av1
> [inputs]: Add svt-av1
> [arguments] (configure-flags): Add "--enable-libsvtav1"
> ---
> gnu/packages/video.scm | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 561268aabd..ac47a33633 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -1625,6 +1625,7 @@ (define-public ffmpeg
> soxr
> speex
> srt
> + svt-av1
> twolame
> vidstab
> x265
> @@ -1713,6 +1714,7 @@ (define-public ffmpeg
> "--enable-libsoxr"
> "--enable-libspeex"
> "--enable-libsrt"
> + "--enable-libsvtav1"
> "--enable-libtheora"
> "--enable-libtwolame"
> "--enable-libvidstab"
>
> base-commit: 71b92466430acb8c91841522dc0eb7d766af4388
> --
> 2.41.0
>
A
A
Andy Tai wrote on 13 Feb 08:17 +0100
[PATCH core-updates v9] gnu: ffmpeg: add svt-av1 support
(address . 63095@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
f3aab09c3ad67f8f9fb0f551bf4fce339926ca87.1707808557.git.atai@atai.org
* gnu/packages/video.scm (ffmpeg): Add support for svt-av1
[inputs]: Add svt-av1
[arguments] (configure-flags): Add "--enable-libsvtav1"
---
gnu/packages/video.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 1123fd0a44..2abffd52ef 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1710,6 +1710,7 @@ (define-public ffmpeg
soxr
speex
srt
+ svt-av1
twolame
vidstab
x265
@@ -1798,6 +1799,7 @@ (define-public ffmpeg
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
+ "--enable-libsvtav1"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"

base-commit: 5f86eebd240958001ab4f178005f355d24d9b7f1
--
2.34.1
A
A
Andy Tai wrote on 16 Feb 08:41 +0100
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
CAJsg1E_LZjbgfU9=__S9sy3PLgf7ZGMZWioaGPqJtNdPsNBG7A@mail.gmail.com
close 63095

thanks

already applied
V
V
Vagrant Cascadian wrote on 21 Mar 19:59 +0100
(address . control@debbugs.gnu.org)
87jzlvv2am.fsf@wireframe
unarchive 63095
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCZfyDoQAKCRDcUY/If5cW
qnlIAQD8l8q3q5TJezCKji03YJ3vzGI3OVU3p9DNlDA7jLg6nQD+J5L1BVmAruXq
zFPE0E9ayag1w5JzqTDaLZD2akjLQwA=
=VkpE
-----END PGP SIGNATURE-----

V
V
Vagrant Cascadian wrote on 21 Mar 19:21 +0100
Re: Inconsistency between resolved issues/patches and source files.
(address . 63095@debbugs.gnu.org)
87msqrv42a.fsf@wireframe
On 2024-03-21, William wrote:
Toggle quote (12 lines)
> A few days ago I tried reencoding several video files I have laying
> around to save storage, using libsvtav1 through ffmpeg, and then to my
> surprise (and frustration) I realized that ffmpeg distributed by
> GNU/Guix does not include such encoding library.
>
> I checked the issue tracker and found out issues that indeed commented
> on this library missing, strangely enough, an issue with a patch was
> marked as solved on 16 February 2024[0], over a month ago, however when
> I check the source files I notice that the patch that includes a flag to
> enable this library is still not present on the latest build of ffmpeg
> yet[1].

It appears to be applied in core-updates as
9400188b2b57cea2f3efc998a2f3b24769db04b7, but not yet merged into the
master branch. This is probably because it would trigger too many
rebuilds...


Toggle quote (4 lines)
> Why? How does the merging process work on Guix? Why are issues marked
> as solved/done yet patches are still one month due, to submit upstream?
> Am I missing something or this is a mistake on the mantainers side?

When closing an issue, ideally such information (commit hash and branch
if not on master) should be included in the closing message to avoid
having to look it up. :)


live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCZfx6rQAKCRDcUY/If5cW
qsfTAQCo9FwLGEx+8kboFzInFQ6WFmLKHYqzJTM0JTcbPOeUfQEAs4U2x9kSABI0
sa4+jghmrP4SbTurQdlbiH5t22xsjwM=
=88Xa
-----END PGP SIGNATURE-----

?