--- Begin Message ---
Subject: |
[PATCH] gnu: Add libaom and activate AV1 support in ffmpeg. |
Date: |
Sat, 12 Jan 2019 01:24:58 +0100 |
User-agent: |
mu4e 1.0; emacs 26.1 |
* gnu/packages/video.scm (libaom): New variable.
* gnu/packages/video.scm (ffmpeg): Add libaom support.
[inputs] new input libaom.
[arguments] new configure-flag --enable-libaom.
---
gnu/packages/video.scm | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 52facebe4..97ae20b05 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -236,6 +236,40 @@ A/52 standard is used in a variety of applications,
including digital
television and DVD. It is also known as AC-3.")
(license license:gpl2+)))
+(define-public libaom
+ (package
+ (name "libaom")
+ (version "22b150bf040608028a56d8bf39e72f771383d836") ;; master
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://aomedia.googlesource.com/aom/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1pdd5h3n42607n6qmggz4yv8izhjr2kl6knb3kh7gh4v0vy47h1r"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("git" ,git)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python))) ; to detect the version
+ (arguments
+ `(#:tests? #f ;no check target
+ #:configure-flags
+ ;; build dynamic library
+ (list "-DBUILD_SHARED_LIBS=YES"
+ "-DENABLE_PIC=TRUE"
+ "-DAOM_TARGET_CPU=generic"
+ (string-append "-DCMAKE_INSTALL_PREFIX="
+ (assoc-ref %outputs "out")))))
+ (home-page "https://aomedia.googlesource.com/aom/")
+ (synopsis "AV1 Codec Library")
+ (description "libaom is the reference encoder of AV1.")
+ (license license:bsd-2)))
+
+
(define-public libmpeg2
(package
(name "libmpeg2")
@@ -700,6 +734,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and
VC-1/VMW3).")
("opus" ,opus)
("ladspa" ,ladspa)
("lame" ,lame)
+ ("libaom" ,libaom)
("libass" ,libass)
("libbluray" ,libbluray)
("libcaca" ,libcaca)
@@ -778,7 +813,8 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and
VC-1/VMW3).")
;; --enable-libzmq enable message passing via libzmq [no]
;; --enable-libzvbi enable teletext support via libzvbi [no]
;; --enable-opencl enable OpenCL code
- '("--enable-avresample"
+ '("--enable-libaom" ; for AV1
+ "--enable-avresample"
"--enable-gpl" ; enable optional gpl licensed parts
"--enable-shared"
"--enable-frei0r"
--
2.19.2
signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#34050] [PATCH] gnu: Add libaom and activate AV1 support in ffmpeg. updated |
Date: |
Tue, 5 Mar 2019 18:30:41 -0500 |
User-agent: |
Mutt/1.11.3 (2019-02-01) |
On Tue, Mar 05, 2019 at 03:12:07PM -0500, Leo Famulari wrote:
> On Sat, Jan 19, 2019 at 12:13:49AM +0100, Arne Babenhauserheide wrote:
> > +(define-public libaom
> > + (package
> > + (name "libaom")
> > + (version "22b150bf040608028a56d8bf39e72f771383d836") ;; master
>
> Typically we only package tagged releases. I think the latest libaom
> release is 'v1.0.0-errata1'. Can we use that or did it not work for you?
> If you didn't try it, I can do it here.
To answer my own question, 1.0.0-errata1 installs a broken pkg-config
.pc file [0].
This is fixed in a later commit [1] ... we might as well use the commit
you chose originally, which is later than the pkg-config fix commit.
This library's decoder is *very* expensive — it can't even decode
1280x720 in realtime on my Ivy Bridge i5-3230M. I'm sure it only gets
faster as they keep working on it.
I changed the libaom package to be more idiomatic about versioning from
Git [2] and edited the synopsis and description, and pushed as
84eb265eb8076876d2b569bcdff1e44b44b4b295
Thanks a lot!
[0]
https://bugs.chromium.org/p/aomedia/issues/detail?id=1988
[1]
https://aomedia.googlesource.com/aom/+/0ddc150516b7672101265eac032a11a9aae4cb53
[2]
https://www.gnu.org/software/guix/manual/en/html_node/Version-Numbers.html
signature.asc
Description: PGP signature
--- End Message ---