* [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg
@ 2020-07-13 2:17 ericonr
2020-07-13 5:42 ` [PR PATCH] [Updated] " ahesford
` (22 more replies)
0 siblings, 23 replies; 24+ messages in thread
From: ericonr @ 2020-07-13 2:17 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2401 bytes --]
There is a new pull request by ericonr against master on the void-packages repository
https://github.com/ericonr/void-packages ffmpeg
https://github.com/void-linux/void-packages/pull/23542
[RFC][NOMERGE] Update libaom and enable it for ffmpeg
Fixes #23538
I currently get segfaults when trying to use this with ffmpeg.
```
$ ffmpeg -i example.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental av1_test.mkv
```
gets me this backtrace:
```
#0 0x00007f98d9dde6c0 in lowbd_inv_txfm2d_add_no_identity_avx2 () from /lib/libaom.so.2
#1 0x00007f98d9b6b449 in av1_inverse_transform_block () from /lib/libaom.so.2
#2 0x00007f98d9d04eb1 in search_tx_type.constprop () from /lib/libaom.so.2
#3 0x00007f98d9d08cf6 in block_rd_txfm () from /lib/libaom.so.2
#4 0x00007f98d9c53f1f in av1_foreach_transformed_block_in_plane () from /lib/libaom.so.2
#5 0x00007f98d9d0de79 in av1_txfm_rd_in_plane () from /lib/libaom.so.2
#6 0x00007f98d9d0e006 in av1_uniform_txfm_yrd () from /lib/libaom.so.2
#7 0x00007f98d9d0e5ee in choose_tx_size_type_from_rd () from /lib/libaom.so.2
#8 0x00007f98d9d0e996 in av1_pick_uniform_tx_size_type_yrd () from /lib/libaom.so.2
#9 0x00007f98d9d1aaaa in av1_rd_pick_intra_sby_mode () from /lib/libaom.so.2
#10 0x00007f98d9ce402a in av1_rd_pick_intra_mode_sb () from /lib/libaom.so.2
#11 0x00007f98d9c361f1 in pick_sb_modes () from /lib/libaom.so.2
#12 0x00007f98d9c3b64e in rd_use_partition () from /lib/libaom.so.2
#13 0x00007f98d9c3af86 in rd_use_partition () from /lib/libaom.so.2
#14 0x00007f98d9c3b174 in rd_use_partition () from /lib/libaom.so.2
#15 0x00007f98d9c49eba in encode_rd_sb () from /lib/libaom.so.2
#16 0x00007f98d9c4e4a9 in av1_encode_sb_row () from /lib/libaom.so.2
#17 0x00007f98d9c7e002 in enc_row_mt_worker_hook () from /lib/libaom.so.2
#18 0x00007f98d9b2986b in thread_loop () from /lib/libaom.so.2
#19 0x00007f98dd1fa305 in start (p=0x7f98aec3a7a8) at src/thread/pthread_create.c:192
#20 0x00007f98dd207a6b in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
quit
```
I'm not sure we can enable it when it's like this. I can try using FFMPEG 4.3 to see if it works better then. I am on musl, so that might be an issue.
I also don't know how to test for gstreamer AV1 support.
A patch file from https://github.com/void-linux/void-packages/pull/23542.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg-23542.patch --]
[-- Type: text/x-diff, Size: 6569 bytes --]
From f1cc51e465d0cf28165703592acfffd2471b507b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:36:53 -0300
Subject: [PATCH 1/3] libaom: update to 2.0.0.
---
common/shlibs | 2 +-
srcpkgs/libaom/patches/version.patch | 14 --------------
srcpkgs/libaom/template | 24 ++++++++++++++++++++----
srcpkgs/libaom/update | 2 +-
4 files changed, 22 insertions(+), 20 deletions(-)
delete mode 100644 srcpkgs/libaom/patches/version.patch
diff --git a/common/shlibs b/common/shlibs
index 00a0af53fcb..7b7b182bf11 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3508,7 +3508,7 @@ libticalcs2.so.12 libticalcs2-1.1.9_1
libhtmlcxx.so.3 htmlcxx-0.86_1
libcss_parser_pp.so.0 htmlcxx-0.86_1
libcss_parser.so.0 htmlcxx-0.86_1
-libaom.so.0 libaom-1.0.0_1
+libaom.so.2 libaom-2.0.0_1
libre.so re-0.5.8_1
libspandsp.so.2 spandsp-0.0.6_1
libspa-alsa.so libspa-alsa-0.3.6_1
diff --git a/srcpkgs/libaom/patches/version.patch b/srcpkgs/libaom/patches/version.patch
deleted file mode 100644
index 97372192897..00000000000
--- a/srcpkgs/libaom/patches/version.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-add entry for 1.0.0 release to fix version in pkg-config file
-
---- CHANGELOG
-+++ CHANGELOG
-@@ -3,6 +3,9 @@
- The AV1 encoder's default keyframe interval changed to 128 from 9999.
- Support for armv6 was removed.
-
-+2019-03-16 v1.0.0 "AOMedia Codec 1"
-+ Current release
-+
- 2016-04-07 v0.1.0 "AOMedia Codec 1"
- This release is the first Alliance for Open Media codec.
- 2015-11-09 v1.5.0 "Javan Whistling Duck"
diff --git a/srcpkgs/libaom/template b/srcpkgs/libaom/template
index 7cb2fcf07db..6737599010a 100644
--- a/srcpkgs/libaom/template
+++ b/srcpkgs/libaom/template
@@ -1,18 +1,34 @@
# Template file for 'libaom'
pkgname=libaom
-version=1.0.0.1
+version=2.0.0
revision=2
create_wrksrc=yes
build_style=cmake
-configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF"
+make_check_target=runtests
+make_check_args="-j${makejobs}"
+configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON"
hostmakedepends="yasm doxygen perl python"
short_desc="AV1 Codec library implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
homepage="https://aomedia.org/"
changelog="https://aomedia.googlesource.com/aom/+/master/CHANGELOG"
-distfiles="https://aomedia.googlesource.com/aom/+archive/v${version%.*}-errata${version##*.}.tar.gz"
-checksum=@0f1e812ca6d3b3809bf3f7a12a85b549c96d20bfa72fa606a682541bbc3eaeab
+distfiles="https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz"
+checksum=@4e8a74ed7e05d5534ab0b72735fa670ce1a1e757bc4a777f07fdabf8629fced1
+
+if [ -z "$XBPS_CHECK_PKGS" ]; then
+ configure_args+=" -DENABLE_TESTS=OFF"
+fi
+
+pre_check() {
+ mkdir -p /host/libaom-test-data
+ export LIBAOM_TEST_DATA_PATH=/host/libaom-test-data
+}
+
+post_check() {
+ make testdata {$makejobs}
+ ./test/examples.sh --bin-path examples
+}
post_install() {
vlicense LICENSE
diff --git a/srcpkgs/libaom/update b/srcpkgs/libaom/update
index fd5a23fd8eb..866cfaf6c8c 100644
--- a/srcpkgs/libaom/update
+++ b/srcpkgs/libaom/update
@@ -1,3 +1,3 @@
site=https://aomedia.googlesource.com/aom/
pkgname=
-pattern="aom/\+/v\K[\d\.]+"
+pattern="v\K[\d\.][\d.]+"
From c10e8522fb15a1e7cafd184d33a1ec8f43258f0f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:38:21 -0300
Subject: [PATCH 2/3] gst-plugins-bad1: revbump for libaom.
---
srcpkgs/gst-plugins-bad1/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gst-plugins-bad1/template b/srcpkgs/gst-plugins-bad1/template
index df1d5053c5f..a1012b0a492 100644
--- a/srcpkgs/gst-plugins-bad1/template
+++ b/srcpkgs/gst-plugins-bad1/template
@@ -1,7 +1,7 @@
# Template file for 'gst-plugins-bad1'
pkgname=gst-plugins-bad1
version=1.16.2
-revision=9
+revision=10
wrksrc="${pkgname/1/}-${version}"
build_helper="gir"
build_style=meson
From b4870ce3fd8f1be3a3624b6a247e4e751d210913 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 20:25:32 -0300
Subject: [PATCH 3/3] ffmpeg: enable aom build option.
Reorganize the lines to get closer to the 80 column limit. Put all
dependencies related to build options after the normal dependencies.
---
srcpkgs/ffmpeg/template | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index ad986a72790..ee7bd6ee48a 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,7 +2,7 @@
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
pkgname=ffmpeg
version=4.2.3
-revision=5
+revision=6
short_desc="Decoding, encoding and streaming software"
maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="GPL-3.0-or-later"
@@ -16,16 +16,17 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
libXext-devel libXvMC-devel libxcb-devel faad2-devel lame-devel libtheora-devel
gnutls-devel libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
- speex-devel celt-devel harfbuzz-devel libass-devel opus-devel $(vopt_if pulseaudio pulseaudio-devel)
- ocl-icd-devel $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel)
- $(vopt_if vdpau libvdpau-devel) $(vopt_if v4l2 v4l-utils-devel) libbs2b-devel
- libvidstab-devel $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if v4l2 v4l-utils-devel) $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
$(vopt_if vpx libvpx-devel) $(vopt_if aom libaom-devel)
$(vopt_if nvenc nv-codec-headers) $(vopt_if sndio sndio-devel)
$(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)"
-build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio dav1d zimg"
-build_options_default="x265 v4l2 vpx sndio pulseaudio dav1d"
+build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) build_options_default+=" vaapi vdpau nvenc";;
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR PATCH] [Updated] [RFC][NOMERGE] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
@ 2020-07-13 5:42 ` ahesford
2020-07-13 5:48 ` ericonr
` (21 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2020-07-13 5:42 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2407 bytes --]
There is an updated pull request by ahesford against master on the void-packages repository
https://github.com/ericonr/void-packages ffmpeg
https://github.com/void-linux/void-packages/pull/23542
[RFC][NOMERGE] Update libaom and enable it for ffmpeg
Fixes #23538
I currently get segfaults when trying to use this with ffmpeg.
```
$ ffmpeg -i example.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental av1_test.mkv
```
gets me this backtrace:
```
#0 0x00007f98d9dde6c0 in lowbd_inv_txfm2d_add_no_identity_avx2 () from /lib/libaom.so.2
#1 0x00007f98d9b6b449 in av1_inverse_transform_block () from /lib/libaom.so.2
#2 0x00007f98d9d04eb1 in search_tx_type.constprop () from /lib/libaom.so.2
#3 0x00007f98d9d08cf6 in block_rd_txfm () from /lib/libaom.so.2
#4 0x00007f98d9c53f1f in av1_foreach_transformed_block_in_plane () from /lib/libaom.so.2
#5 0x00007f98d9d0de79 in av1_txfm_rd_in_plane () from /lib/libaom.so.2
#6 0x00007f98d9d0e006 in av1_uniform_txfm_yrd () from /lib/libaom.so.2
#7 0x00007f98d9d0e5ee in choose_tx_size_type_from_rd () from /lib/libaom.so.2
#8 0x00007f98d9d0e996 in av1_pick_uniform_tx_size_type_yrd () from /lib/libaom.so.2
#9 0x00007f98d9d1aaaa in av1_rd_pick_intra_sby_mode () from /lib/libaom.so.2
#10 0x00007f98d9ce402a in av1_rd_pick_intra_mode_sb () from /lib/libaom.so.2
#11 0x00007f98d9c361f1 in pick_sb_modes () from /lib/libaom.so.2
#12 0x00007f98d9c3b64e in rd_use_partition () from /lib/libaom.so.2
#13 0x00007f98d9c3af86 in rd_use_partition () from /lib/libaom.so.2
#14 0x00007f98d9c3b174 in rd_use_partition () from /lib/libaom.so.2
#15 0x00007f98d9c49eba in encode_rd_sb () from /lib/libaom.so.2
#16 0x00007f98d9c4e4a9 in av1_encode_sb_row () from /lib/libaom.so.2
#17 0x00007f98d9c7e002 in enc_row_mt_worker_hook () from /lib/libaom.so.2
#18 0x00007f98d9b2986b in thread_loop () from /lib/libaom.so.2
#19 0x00007f98dd1fa305 in start (p=0x7f98aec3a7a8) at src/thread/pthread_create.c:192
#20 0x00007f98dd207a6b in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
quit
```
I'm not sure we can enable it when it's like this. I can try using FFMPEG 4.3 to see if it works better then. I am on musl, so that might be an issue.
I also don't know how to test for gstreamer AV1 support.
A patch file from https://github.com/void-linux/void-packages/pull/23542.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg-23542.patch --]
[-- Type: text/x-diff, Size: 6681 bytes --]
From b088527c91ed55fe7f70126f68c75da3145a8975 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:36:53 -0300
Subject: [PATCH 1/3] libaom: update to 2.0.0.
---
common/shlibs | 2 +-
srcpkgs/libaom/patches/version.patch | 14 -------------
srcpkgs/libaom/template | 31 +++++++++++++++++++++++-----
srcpkgs/libaom/update | 2 +-
4 files changed, 28 insertions(+), 21 deletions(-)
delete mode 100644 srcpkgs/libaom/patches/version.patch
diff --git a/common/shlibs b/common/shlibs
index 00a0af53fcb..7b7b182bf11 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3508,7 +3508,7 @@ libticalcs2.so.12 libticalcs2-1.1.9_1
libhtmlcxx.so.3 htmlcxx-0.86_1
libcss_parser_pp.so.0 htmlcxx-0.86_1
libcss_parser.so.0 htmlcxx-0.86_1
-libaom.so.0 libaom-1.0.0_1
+libaom.so.2 libaom-2.0.0_1
libre.so re-0.5.8_1
libspandsp.so.2 spandsp-0.0.6_1
libspa-alsa.so libspa-alsa-0.3.6_1
diff --git a/srcpkgs/libaom/patches/version.patch b/srcpkgs/libaom/patches/version.patch
deleted file mode 100644
index 97372192897..00000000000
--- a/srcpkgs/libaom/patches/version.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-add entry for 1.0.0 release to fix version in pkg-config file
-
---- CHANGELOG
-+++ CHANGELOG
-@@ -3,6 +3,9 @@
- The AV1 encoder's default keyframe interval changed to 128 from 9999.
- Support for armv6 was removed.
-
-+2019-03-16 v1.0.0 "AOMedia Codec 1"
-+ Current release
-+
- 2016-04-07 v0.1.0 "AOMedia Codec 1"
- This release is the first Alliance for Open Media codec.
- 2015-11-09 v1.5.0 "Javan Whistling Duck"
diff --git a/srcpkgs/libaom/template b/srcpkgs/libaom/template
index 7cb2fcf07db..e344720b355 100644
--- a/srcpkgs/libaom/template
+++ b/srcpkgs/libaom/template
@@ -1,18 +1,39 @@
# Template file for 'libaom'
pkgname=libaom
-version=1.0.0.1
-revision=2
+version=2.0.0
+revision=1
create_wrksrc=yes
build_style=cmake
-configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF"
+make_check_target=runtests
+make_check_args="-j${makejobs}"
+configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON"
hostmakedepends="yasm doxygen perl python"
short_desc="AV1 Codec library implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
homepage="https://aomedia.org/"
changelog="https://aomedia.googlesource.com/aom/+/master/CHANGELOG"
-distfiles="https://aomedia.googlesource.com/aom/+archive/v${version%.*}-errata${version##*.}.tar.gz"
-checksum=@0f1e812ca6d3b3809bf3f7a12a85b549c96d20bfa72fa606a682541bbc3eaeab
+distfiles="https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz"
+checksum=@4e8a74ed7e05d5534ab0b72735fa670ce1a1e757bc4a777f07fdabf8629fced1
+
+case "$XBPS_TARGET_MACHINE" in
+ armv[67]l*) configure_args+=" -DENABLE_NEON=0"
+ ;;
+esac
+
+if [ -z "$XBPS_CHECK_PKGS" ]; then
+ configure_args+=" -DENABLE_TESTS=OFF"
+fi
+
+pre_check() {
+ mkdir -p /host/libaom-test-data
+ export LIBAOM_TEST_DATA_PATH=/host/libaom-test-data
+}
+
+post_check() {
+ make testdata {$makejobs}
+ ./test/examples.sh --bin-path examples
+}
post_install() {
vlicense LICENSE
diff --git a/srcpkgs/libaom/update b/srcpkgs/libaom/update
index fd5a23fd8eb..866cfaf6c8c 100644
--- a/srcpkgs/libaom/update
+++ b/srcpkgs/libaom/update
@@ -1,3 +1,3 @@
site=https://aomedia.googlesource.com/aom/
pkgname=
-pattern="aom/\+/v\K[\d\.]+"
+pattern="v\K[\d\.][\d.]+"
From 0cae6cd06bd5661154c902fc404bba45b9904a5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:38:21 -0300
Subject: [PATCH 2/3] gst-plugins-bad1: revbump for libaom.
---
srcpkgs/gst-plugins-bad1/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gst-plugins-bad1/template b/srcpkgs/gst-plugins-bad1/template
index df1d5053c5f..a1012b0a492 100644
--- a/srcpkgs/gst-plugins-bad1/template
+++ b/srcpkgs/gst-plugins-bad1/template
@@ -1,7 +1,7 @@
# Template file for 'gst-plugins-bad1'
pkgname=gst-plugins-bad1
version=1.16.2
-revision=9
+revision=10
wrksrc="${pkgname/1/}-${version}"
build_helper="gir"
build_style=meson
From d96cc0eb606b8a51ac0a09f66908dd7da9a61ec2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 20:25:32 -0300
Subject: [PATCH 3/3] ffmpeg: enable aom build option.
Reorganize the lines to get closer to the 80 column limit. Put all
dependencies related to build options after the normal dependencies.
---
srcpkgs/ffmpeg/template | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index ad986a72790..ee7bd6ee48a 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,7 +2,7 @@
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
pkgname=ffmpeg
version=4.2.3
-revision=5
+revision=6
short_desc="Decoding, encoding and streaming software"
maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="GPL-3.0-or-later"
@@ -16,16 +16,17 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
libXext-devel libXvMC-devel libxcb-devel faad2-devel lame-devel libtheora-devel
gnutls-devel libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
- speex-devel celt-devel harfbuzz-devel libass-devel opus-devel $(vopt_if pulseaudio pulseaudio-devel)
- ocl-icd-devel $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel)
- $(vopt_if vdpau libvdpau-devel) $(vopt_if v4l2 v4l-utils-devel) libbs2b-devel
- libvidstab-devel $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if v4l2 v4l-utils-devel) $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
$(vopt_if vpx libvpx-devel) $(vopt_if aom libaom-devel)
$(vopt_if nvenc nv-codec-headers) $(vopt_if sndio sndio-devel)
$(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)"
-build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio dav1d zimg"
-build_options_default="x265 v4l2 vpx sndio pulseaudio dav1d"
+build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) build_options_default+=" vaapi vdpau nvenc";;
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC][NOMERGE] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
2020-07-13 5:42 ` [PR PATCH] [Updated] " ahesford
@ 2020-07-13 5:48 ` ericonr
2020-07-13 13:32 ` [PR PATCH] [Updated] " ericonr
` (20 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-13 5:48 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 210 bytes --]
New comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#issuecomment-657372455
Comment:
@q66 would you mind taking a look at the platform stuff for ppc here?
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR PATCH] [Updated] [RFC][NOMERGE] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
2020-07-13 5:42 ` [PR PATCH] [Updated] " ahesford
2020-07-13 5:48 ` ericonr
@ 2020-07-13 13:32 ` ericonr
2020-07-13 17:17 ` richfelker
` (19 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-13 13:32 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2406 bytes --]
There is an updated pull request by ericonr against master on the void-packages repository
https://github.com/ericonr/void-packages ffmpeg
https://github.com/void-linux/void-packages/pull/23542
[RFC][NOMERGE] Update libaom and enable it for ffmpeg
Fixes #23538
I currently get segfaults when trying to use this with ffmpeg.
```
$ ffmpeg -i example.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental av1_test.mkv
```
gets me this backtrace:
```
#0 0x00007f98d9dde6c0 in lowbd_inv_txfm2d_add_no_identity_avx2 () from /lib/libaom.so.2
#1 0x00007f98d9b6b449 in av1_inverse_transform_block () from /lib/libaom.so.2
#2 0x00007f98d9d04eb1 in search_tx_type.constprop () from /lib/libaom.so.2
#3 0x00007f98d9d08cf6 in block_rd_txfm () from /lib/libaom.so.2
#4 0x00007f98d9c53f1f in av1_foreach_transformed_block_in_plane () from /lib/libaom.so.2
#5 0x00007f98d9d0de79 in av1_txfm_rd_in_plane () from /lib/libaom.so.2
#6 0x00007f98d9d0e006 in av1_uniform_txfm_yrd () from /lib/libaom.so.2
#7 0x00007f98d9d0e5ee in choose_tx_size_type_from_rd () from /lib/libaom.so.2
#8 0x00007f98d9d0e996 in av1_pick_uniform_tx_size_type_yrd () from /lib/libaom.so.2
#9 0x00007f98d9d1aaaa in av1_rd_pick_intra_sby_mode () from /lib/libaom.so.2
#10 0x00007f98d9ce402a in av1_rd_pick_intra_mode_sb () from /lib/libaom.so.2
#11 0x00007f98d9c361f1 in pick_sb_modes () from /lib/libaom.so.2
#12 0x00007f98d9c3b64e in rd_use_partition () from /lib/libaom.so.2
#13 0x00007f98d9c3af86 in rd_use_partition () from /lib/libaom.so.2
#14 0x00007f98d9c3b174 in rd_use_partition () from /lib/libaom.so.2
#15 0x00007f98d9c49eba in encode_rd_sb () from /lib/libaom.so.2
#16 0x00007f98d9c4e4a9 in av1_encode_sb_row () from /lib/libaom.so.2
#17 0x00007f98d9c7e002 in enc_row_mt_worker_hook () from /lib/libaom.so.2
#18 0x00007f98d9b2986b in thread_loop () from /lib/libaom.so.2
#19 0x00007f98dd1fa305 in start (p=0x7f98aec3a7a8) at src/thread/pthread_create.c:192
#20 0x00007f98dd207a6b in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
quit
```
I'm not sure we can enable it when it's like this. I can try using FFMPEG 4.3 to see if it works better then. I am on musl, so that might be an issue.
I also don't know how to test for gstreamer AV1 support.
A patch file from https://github.com/void-linux/void-packages/pull/23542.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg-23542.patch --]
[-- Type: text/x-diff, Size: 6676 bytes --]
From c5bd4f43680ebe6531b3c793df18b3f38a3a3aa0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:36:53 -0300
Subject: [PATCH 1/3] libaom: update to 2.0.0.
---
common/shlibs | 2 +-
srcpkgs/libaom/patches/version.patch | 14 -------------
srcpkgs/libaom/template | 30 +++++++++++++++++++++++-----
srcpkgs/libaom/update | 2 +-
4 files changed, 27 insertions(+), 21 deletions(-)
delete mode 100644 srcpkgs/libaom/patches/version.patch
diff --git a/common/shlibs b/common/shlibs
index 00a0af53fcb..7b7b182bf11 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3508,7 +3508,7 @@ libticalcs2.so.12 libticalcs2-1.1.9_1
libhtmlcxx.so.3 htmlcxx-0.86_1
libcss_parser_pp.so.0 htmlcxx-0.86_1
libcss_parser.so.0 htmlcxx-0.86_1
-libaom.so.0 libaom-1.0.0_1
+libaom.so.2 libaom-2.0.0_1
libre.so re-0.5.8_1
libspandsp.so.2 spandsp-0.0.6_1
libspa-alsa.so libspa-alsa-0.3.6_1
diff --git a/srcpkgs/libaom/patches/version.patch b/srcpkgs/libaom/patches/version.patch
deleted file mode 100644
index 97372192897..00000000000
--- a/srcpkgs/libaom/patches/version.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-add entry for 1.0.0 release to fix version in pkg-config file
-
---- CHANGELOG
-+++ CHANGELOG
-@@ -3,6 +3,9 @@
- The AV1 encoder's default keyframe interval changed to 128 from 9999.
- Support for armv6 was removed.
-
-+2019-03-16 v1.0.0 "AOMedia Codec 1"
-+ Current release
-+
- 2016-04-07 v0.1.0 "AOMedia Codec 1"
- This release is the first Alliance for Open Media codec.
- 2015-11-09 v1.5.0 "Javan Whistling Duck"
diff --git a/srcpkgs/libaom/template b/srcpkgs/libaom/template
index 7cb2fcf07db..903a4164472 100644
--- a/srcpkgs/libaom/template
+++ b/srcpkgs/libaom/template
@@ -1,18 +1,38 @@
# Template file for 'libaom'
pkgname=libaom
-version=1.0.0.1
-revision=2
+version=2.0.0
+revision=1
create_wrksrc=yes
build_style=cmake
-configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF"
+make_check_target=runtests
+make_check_args="-j${makejobs}"
+configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON"
hostmakedepends="yasm doxygen perl python"
short_desc="AV1 Codec library implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
homepage="https://aomedia.org/"
changelog="https://aomedia.googlesource.com/aom/+/master/CHANGELOG"
-distfiles="https://aomedia.googlesource.com/aom/+archive/v${version%.*}-errata${version##*.}.tar.gz"
-checksum=@0f1e812ca6d3b3809bf3f7a12a85b549c96d20bfa72fa606a682541bbc3eaeab
+distfiles="https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz"
+checksum=@4e8a74ed7e05d5534ab0b72735fa670ce1a1e757bc4a777f07fdabf8629fced1
+
+case "$XBPS_TARGET_MACHINE" in
+ armv[67]l*) configure_args+=" -DENABLE_NEON=0" ;;
+esac
+
+if [ -z "$XBPS_CHECK_PKGS" ]; then
+ configure_args+=" -DENABLE_TESTS=OFF"
+fi
+
+pre_check() {
+ mkdir -p /host/libaom-test-data
+ export LIBAOM_TEST_DATA_PATH=/host/libaom-test-data
+}
+
+post_check() {
+ make testdata {$makejobs}
+ ./test/examples.sh --bin-path examples
+}
post_install() {
vlicense LICENSE
diff --git a/srcpkgs/libaom/update b/srcpkgs/libaom/update
index fd5a23fd8eb..866cfaf6c8c 100644
--- a/srcpkgs/libaom/update
+++ b/srcpkgs/libaom/update
@@ -1,3 +1,3 @@
site=https://aomedia.googlesource.com/aom/
pkgname=
-pattern="aom/\+/v\K[\d\.]+"
+pattern="v\K[\d\.][\d.]+"
From 5e414af070919f2172c3db54ad6a0239cf7fd1bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:38:21 -0300
Subject: [PATCH 2/3] gst-plugins-bad1: revbump for libaom.
---
srcpkgs/gst-plugins-bad1/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gst-plugins-bad1/template b/srcpkgs/gst-plugins-bad1/template
index df1d5053c5f..a1012b0a492 100644
--- a/srcpkgs/gst-plugins-bad1/template
+++ b/srcpkgs/gst-plugins-bad1/template
@@ -1,7 +1,7 @@
# Template file for 'gst-plugins-bad1'
pkgname=gst-plugins-bad1
version=1.16.2
-revision=9
+revision=10
wrksrc="${pkgname/1/}-${version}"
build_helper="gir"
build_style=meson
From 9fde96643f0af4a2adc5bce8db8c545c3b985bd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 20:25:32 -0300
Subject: [PATCH 3/3] ffmpeg: enable aom build option.
Reorganize the lines to get closer to the 80 column limit. Put all
dependencies related to build options after the normal dependencies.
---
srcpkgs/ffmpeg/template | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index ad986a72790..ee7bd6ee48a 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,7 +2,7 @@
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
pkgname=ffmpeg
version=4.2.3
-revision=5
+revision=6
short_desc="Decoding, encoding and streaming software"
maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="GPL-3.0-or-later"
@@ -16,16 +16,17 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
libXext-devel libXvMC-devel libxcb-devel faad2-devel lame-devel libtheora-devel
gnutls-devel libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
- speex-devel celt-devel harfbuzz-devel libass-devel opus-devel $(vopt_if pulseaudio pulseaudio-devel)
- ocl-icd-devel $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel)
- $(vopt_if vdpau libvdpau-devel) $(vopt_if v4l2 v4l-utils-devel) libbs2b-devel
- libvidstab-devel $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if v4l2 v4l-utils-devel) $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
$(vopt_if vpx libvpx-devel) $(vopt_if aom libaom-devel)
$(vopt_if nvenc nv-codec-headers) $(vopt_if sndio sndio-devel)
$(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)"
-build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio dav1d zimg"
-build_options_default="x265 v4l2 vpx sndio pulseaudio dav1d"
+build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) build_options_default+=" vaapi vdpau nvenc";;
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC][NOMERGE] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (2 preceding siblings ...)
2020-07-13 13:32 ` [PR PATCH] [Updated] " ericonr
@ 2020-07-13 17:17 ` richfelker
2020-07-13 17:36 ` ericonr
` (18 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: richfelker @ 2020-07-13 17:17 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 212 bytes --]
New comment by richfelker on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#issuecomment-657685184
Comment:
Can you add disassembly and register dump from the point of crash?
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC][NOMERGE] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (3 preceding siblings ...)
2020-07-13 17:17 ` richfelker
@ 2020-07-13 17:36 ` ericonr
2020-07-13 18:26 ` [PR PATCH] [Updated] " ericonr
` (17 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-13 17:36 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 217 bytes --]
New comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#issuecomment-657694300
Comment:
@richfelker https://gist.github.com/ericonr/d267780996c9d94ec9c139c619bfd45d
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR PATCH] [Updated] [RFC][NOMERGE] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (4 preceding siblings ...)
2020-07-13 17:36 ` ericonr
@ 2020-07-13 18:26 ` ericonr
2020-07-13 18:46 ` richfelker
` (16 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-13 18:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2406 bytes --]
There is an updated pull request by ericonr against master on the void-packages repository
https://github.com/ericonr/void-packages ffmpeg
https://github.com/void-linux/void-packages/pull/23542
[RFC][NOMERGE] Update libaom and enable it for ffmpeg
Fixes #23538
I currently get segfaults when trying to use this with ffmpeg.
```
$ ffmpeg -i example.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental av1_test.mkv
```
gets me this backtrace:
```
#0 0x00007f98d9dde6c0 in lowbd_inv_txfm2d_add_no_identity_avx2 () from /lib/libaom.so.2
#1 0x00007f98d9b6b449 in av1_inverse_transform_block () from /lib/libaom.so.2
#2 0x00007f98d9d04eb1 in search_tx_type.constprop () from /lib/libaom.so.2
#3 0x00007f98d9d08cf6 in block_rd_txfm () from /lib/libaom.so.2
#4 0x00007f98d9c53f1f in av1_foreach_transformed_block_in_plane () from /lib/libaom.so.2
#5 0x00007f98d9d0de79 in av1_txfm_rd_in_plane () from /lib/libaom.so.2
#6 0x00007f98d9d0e006 in av1_uniform_txfm_yrd () from /lib/libaom.so.2
#7 0x00007f98d9d0e5ee in choose_tx_size_type_from_rd () from /lib/libaom.so.2
#8 0x00007f98d9d0e996 in av1_pick_uniform_tx_size_type_yrd () from /lib/libaom.so.2
#9 0x00007f98d9d1aaaa in av1_rd_pick_intra_sby_mode () from /lib/libaom.so.2
#10 0x00007f98d9ce402a in av1_rd_pick_intra_mode_sb () from /lib/libaom.so.2
#11 0x00007f98d9c361f1 in pick_sb_modes () from /lib/libaom.so.2
#12 0x00007f98d9c3b64e in rd_use_partition () from /lib/libaom.so.2
#13 0x00007f98d9c3af86 in rd_use_partition () from /lib/libaom.so.2
#14 0x00007f98d9c3b174 in rd_use_partition () from /lib/libaom.so.2
#15 0x00007f98d9c49eba in encode_rd_sb () from /lib/libaom.so.2
#16 0x00007f98d9c4e4a9 in av1_encode_sb_row () from /lib/libaom.so.2
#17 0x00007f98d9c7e002 in enc_row_mt_worker_hook () from /lib/libaom.so.2
#18 0x00007f98d9b2986b in thread_loop () from /lib/libaom.so.2
#19 0x00007f98dd1fa305 in start (p=0x7f98aec3a7a8) at src/thread/pthread_create.c:192
#20 0x00007f98dd207a6b in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
quit
```
I'm not sure we can enable it when it's like this. I can try using FFMPEG 4.3 to see if it works better then. I am on musl, so that might be an issue.
I also don't know how to test for gstreamer AV1 support.
A patch file from https://github.com/void-linux/void-packages/pull/23542.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg-23542.patch --]
[-- Type: text/x-diff, Size: 6760 bytes --]
From cb735544c76a3438a9e0615217532a2a0dd2764f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:36:53 -0300
Subject: [PATCH 1/3] libaom: update to 2.0.0.
---
common/shlibs | 2 +-
srcpkgs/libaom/patches/version.patch | 14 ------------
srcpkgs/libaom/template | 33 +++++++++++++++++++++++-----
srcpkgs/libaom/update | 2 +-
4 files changed, 30 insertions(+), 21 deletions(-)
delete mode 100644 srcpkgs/libaom/patches/version.patch
diff --git a/common/shlibs b/common/shlibs
index 00a0af53fcb..7b7b182bf11 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3508,7 +3508,7 @@ libticalcs2.so.12 libticalcs2-1.1.9_1
libhtmlcxx.so.3 htmlcxx-0.86_1
libcss_parser_pp.so.0 htmlcxx-0.86_1
libcss_parser.so.0 htmlcxx-0.86_1
-libaom.so.0 libaom-1.0.0_1
+libaom.so.2 libaom-2.0.0_1
libre.so re-0.5.8_1
libspandsp.so.2 spandsp-0.0.6_1
libspa-alsa.so libspa-alsa-0.3.6_1
diff --git a/srcpkgs/libaom/patches/version.patch b/srcpkgs/libaom/patches/version.patch
deleted file mode 100644
index 97372192897..00000000000
--- a/srcpkgs/libaom/patches/version.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-add entry for 1.0.0 release to fix version in pkg-config file
-
---- CHANGELOG
-+++ CHANGELOG
-@@ -3,6 +3,9 @@
- The AV1 encoder's default keyframe interval changed to 128 from 9999.
- Support for armv6 was removed.
-
-+2019-03-16 v1.0.0 "AOMedia Codec 1"
-+ Current release
-+
- 2016-04-07 v0.1.0 "AOMedia Codec 1"
- This release is the first Alliance for Open Media codec.
- 2015-11-09 v1.5.0 "Javan Whistling Duck"
diff --git a/srcpkgs/libaom/template b/srcpkgs/libaom/template
index 7cb2fcf07db..3d62063df0c 100644
--- a/srcpkgs/libaom/template
+++ b/srcpkgs/libaom/template
@@ -1,18 +1,41 @@
# Template file for 'libaom'
pkgname=libaom
-version=1.0.0.1
-revision=2
+version=2.0.0
+revision=1
create_wrksrc=yes
build_style=cmake
-configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF"
+make_check_target=runtests
+make_check_args="-j${makejobs}"
+configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON"
hostmakedepends="yasm doxygen perl python"
short_desc="AV1 Codec library implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
homepage="https://aomedia.org/"
changelog="https://aomedia.googlesource.com/aom/+/master/CHANGELOG"
-distfiles="https://aomedia.googlesource.com/aom/+archive/v${version%.*}-errata${version##*.}.tar.gz"
-checksum=@0f1e812ca6d3b3809bf3f7a12a85b549c96d20bfa72fa606a682541bbc3eaeab
+distfiles="https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz"
+checksum=@4e8a74ed7e05d5534ab0b72735fa670ce1a1e757bc4a777f07fdabf8629fced1
+
+# aom segfaults with default musl stack size
+LDFLAGS="-Wl,-z,stack-size=2097152"
+
+case "$XBPS_TARGET_MACHINE" in
+ armv[67]l*) configure_args+=" -DENABLE_NEON=0" ;;
+esac
+
+if [ -z "$XBPS_CHECK_PKGS" ]; then
+ configure_args+=" -DENABLE_TESTS=OFF"
+fi
+
+pre_check() {
+ mkdir -p /host/libaom-test-data
+ export LIBAOM_TEST_DATA_PATH=/host/libaom-test-data
+}
+
+post_check() {
+ make testdata {$makejobs}
+ ./test/examples.sh --bin-path examples
+}
post_install() {
vlicense LICENSE
diff --git a/srcpkgs/libaom/update b/srcpkgs/libaom/update
index fd5a23fd8eb..866cfaf6c8c 100644
--- a/srcpkgs/libaom/update
+++ b/srcpkgs/libaom/update
@@ -1,3 +1,3 @@
site=https://aomedia.googlesource.com/aom/
pkgname=
-pattern="aom/\+/v\K[\d\.]+"
+pattern="v\K[\d\.][\d.]+"
From 0e25b5caff91d7034b1a99fd625d71521e19a653 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:38:21 -0300
Subject: [PATCH 2/3] gst-plugins-bad1: revbump for libaom.
---
srcpkgs/gst-plugins-bad1/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gst-plugins-bad1/template b/srcpkgs/gst-plugins-bad1/template
index df1d5053c5f..a1012b0a492 100644
--- a/srcpkgs/gst-plugins-bad1/template
+++ b/srcpkgs/gst-plugins-bad1/template
@@ -1,7 +1,7 @@
# Template file for 'gst-plugins-bad1'
pkgname=gst-plugins-bad1
version=1.16.2
-revision=9
+revision=10
wrksrc="${pkgname/1/}-${version}"
build_helper="gir"
build_style=meson
From f93ff9934c74b83f7d3a787fb6527cda2982d423 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 20:25:32 -0300
Subject: [PATCH 3/3] ffmpeg: enable aom build option.
Reorganize the lines to get closer to the 80 column limit. Put all
dependencies related to build options after the normal dependencies.
---
srcpkgs/ffmpeg/template | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index ad986a72790..ee7bd6ee48a 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,7 +2,7 @@
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
pkgname=ffmpeg
version=4.2.3
-revision=5
+revision=6
short_desc="Decoding, encoding and streaming software"
maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="GPL-3.0-or-later"
@@ -16,16 +16,17 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
libXext-devel libXvMC-devel libxcb-devel faad2-devel lame-devel libtheora-devel
gnutls-devel libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
- speex-devel celt-devel harfbuzz-devel libass-devel opus-devel $(vopt_if pulseaudio pulseaudio-devel)
- ocl-icd-devel $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel)
- $(vopt_if vdpau libvdpau-devel) $(vopt_if v4l2 v4l-utils-devel) libbs2b-devel
- libvidstab-devel $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if v4l2 v4l-utils-devel) $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
$(vopt_if vpx libvpx-devel) $(vopt_if aom libaom-devel)
$(vopt_if nvenc nv-codec-headers) $(vopt_if sndio sndio-devel)
$(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)"
-build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio dav1d zimg"
-build_options_default="x265 v4l2 vpx sndio pulseaudio dav1d"
+build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) build_options_default+=" vaapi vdpau nvenc";;
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC][NOMERGE] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (5 preceding siblings ...)
2020-07-13 18:26 ` [PR PATCH] [Updated] " ericonr
@ 2020-07-13 18:46 ` richfelker
2020-07-20 14:15 ` [PR PATCH] [Updated] " ericonr
` (15 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: richfelker @ 2020-07-13 18:46 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 215 bytes --]
New comment by richfelker on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#issuecomment-657728472
Comment:
OK, it's just stack overflow from something using way too much stack.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR PATCH] [Updated] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (6 preceding siblings ...)
2020-07-13 18:46 ` richfelker
@ 2020-07-20 14:15 ` ericonr
2020-07-20 14:16 ` ericonr
` (14 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-20 14:15 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2391 bytes --]
There is an updated pull request by ericonr against master on the void-packages repository
https://github.com/ericonr/void-packages ffmpeg
https://github.com/void-linux/void-packages/pull/23542
Update libaom and enable it for ffmpeg
Fixes #23538
I currently get segfaults when trying to use this with ffmpeg.
```
$ ffmpeg -i example.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental av1_test.mkv
```
gets me this backtrace:
```
#0 0x00007f98d9dde6c0 in lowbd_inv_txfm2d_add_no_identity_avx2 () from /lib/libaom.so.2
#1 0x00007f98d9b6b449 in av1_inverse_transform_block () from /lib/libaom.so.2
#2 0x00007f98d9d04eb1 in search_tx_type.constprop () from /lib/libaom.so.2
#3 0x00007f98d9d08cf6 in block_rd_txfm () from /lib/libaom.so.2
#4 0x00007f98d9c53f1f in av1_foreach_transformed_block_in_plane () from /lib/libaom.so.2
#5 0x00007f98d9d0de79 in av1_txfm_rd_in_plane () from /lib/libaom.so.2
#6 0x00007f98d9d0e006 in av1_uniform_txfm_yrd () from /lib/libaom.so.2
#7 0x00007f98d9d0e5ee in choose_tx_size_type_from_rd () from /lib/libaom.so.2
#8 0x00007f98d9d0e996 in av1_pick_uniform_tx_size_type_yrd () from /lib/libaom.so.2
#9 0x00007f98d9d1aaaa in av1_rd_pick_intra_sby_mode () from /lib/libaom.so.2
#10 0x00007f98d9ce402a in av1_rd_pick_intra_mode_sb () from /lib/libaom.so.2
#11 0x00007f98d9c361f1 in pick_sb_modes () from /lib/libaom.so.2
#12 0x00007f98d9c3b64e in rd_use_partition () from /lib/libaom.so.2
#13 0x00007f98d9c3af86 in rd_use_partition () from /lib/libaom.so.2
#14 0x00007f98d9c3b174 in rd_use_partition () from /lib/libaom.so.2
#15 0x00007f98d9c49eba in encode_rd_sb () from /lib/libaom.so.2
#16 0x00007f98d9c4e4a9 in av1_encode_sb_row () from /lib/libaom.so.2
#17 0x00007f98d9c7e002 in enc_row_mt_worker_hook () from /lib/libaom.so.2
#18 0x00007f98d9b2986b in thread_loop () from /lib/libaom.so.2
#19 0x00007f98dd1fa305 in start (p=0x7f98aec3a7a8) at src/thread/pthread_create.c:192
#20 0x00007f98dd207a6b in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
quit
```
I'm not sure we can enable it when it's like this. I can try using FFMPEG 4.3 to see if it works better then. I am on musl, so that might be an issue.
I also don't know how to test for gstreamer AV1 support.
A patch file from https://github.com/void-linux/void-packages/pull/23542.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg-23542.patch --]
[-- Type: text/x-diff, Size: 6856 bytes --]
From f0331056279792e1f728259304746fbde9ab093b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:36:53 -0300
Subject: [PATCH 1/3] libaom: update to 2.0.0.
---
common/shlibs | 2 +-
srcpkgs/libaom/patches/version.patch | 14 ------------
srcpkgs/libaom/template | 33 +++++++++++++++++++++++-----
srcpkgs/libaom/update | 2 +-
4 files changed, 30 insertions(+), 21 deletions(-)
delete mode 100644 srcpkgs/libaom/patches/version.patch
diff --git a/common/shlibs b/common/shlibs
index 42bb0996d24..bd561f7c446 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3506,7 +3506,7 @@ libticalcs2.so.12 libticalcs2-1.1.9_1
libhtmlcxx.so.3 htmlcxx-0.86_1
libcss_parser_pp.so.0 htmlcxx-0.86_1
libcss_parser.so.0 htmlcxx-0.86_1
-libaom.so.0 libaom-1.0.0_1
+libaom.so.2 libaom-2.0.0_1
libre.so re-0.5.8_1
libspandsp.so.2 spandsp-0.0.6_1
libspa-alsa.so libspa-alsa-0.3.6_1
diff --git a/srcpkgs/libaom/patches/version.patch b/srcpkgs/libaom/patches/version.patch
deleted file mode 100644
index 97372192897..00000000000
--- a/srcpkgs/libaom/patches/version.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-add entry for 1.0.0 release to fix version in pkg-config file
-
---- CHANGELOG
-+++ CHANGELOG
-@@ -3,6 +3,9 @@
- The AV1 encoder's default keyframe interval changed to 128 from 9999.
- Support for armv6 was removed.
-
-+2019-03-16 v1.0.0 "AOMedia Codec 1"
-+ Current release
-+
- 2016-04-07 v0.1.0 "AOMedia Codec 1"
- This release is the first Alliance for Open Media codec.
- 2015-11-09 v1.5.0 "Javan Whistling Duck"
diff --git a/srcpkgs/libaom/template b/srcpkgs/libaom/template
index 7cb2fcf07db..ef0dce5f918 100644
--- a/srcpkgs/libaom/template
+++ b/srcpkgs/libaom/template
@@ -1,18 +1,40 @@
# Template file for 'libaom'
pkgname=libaom
-version=1.0.0.1
-revision=2
+version=2.0.0
+revision=1
create_wrksrc=yes
build_style=cmake
-configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF"
+configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON"
hostmakedepends="yasm doxygen perl python"
short_desc="AV1 Codec library implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
homepage="https://aomedia.org/"
changelog="https://aomedia.googlesource.com/aom/+/master/CHANGELOG"
-distfiles="https://aomedia.googlesource.com/aom/+archive/v${version%.*}-errata${version##*.}.tar.gz"
-checksum=@0f1e812ca6d3b3809bf3f7a12a85b549c96d20bfa72fa606a682541bbc3eaeab
+distfiles="https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz"
+checksum=@4e8a74ed7e05d5534ab0b72735fa670ce1a1e757bc4a777f07fdabf8629fced1
+
+# aom segfaults with default musl stack size
+LDFLAGS="-Wl,-z,stack-size=2097152"
+
+case "$XBPS_TARGET_MACHINE" in
+ armv[67]l*) configure_args+=" -DENABLE_NEON=0" ;;
+esac
+
+if [ -z "$XBPS_CHECK_PKGS" ]; then
+ configure_args+=" -DENABLE_TESTS=OFF"
+fi
+
+pre_check() {
+ mkdir -p /host/libaom-test-data
+ export LIBAOM_TEST_DATA_PATH=/host/libaom-test-data
+}
+
+do_check() {
+ cd build
+ make runtests ${makejobs}
+ ../test/examples.sh --bin-path examples
+}
post_install() {
vlicense LICENSE
@@ -25,6 +47,7 @@ libaom-devel_package() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.so"
+ vmove "usr/lib/*.a"
}
}
diff --git a/srcpkgs/libaom/update b/srcpkgs/libaom/update
index fd5a23fd8eb..866cfaf6c8c 100644
--- a/srcpkgs/libaom/update
+++ b/srcpkgs/libaom/update
@@ -1,3 +1,3 @@
site=https://aomedia.googlesource.com/aom/
pkgname=
-pattern="aom/\+/v\K[\d\.]+"
+pattern="v\K[\d\.][\d.]+"
From 0de1bfdd6d91a0fe619e95a7f28e68f844a03ff1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:38:21 -0300
Subject: [PATCH 2/3] gst-plugins-bad1: revbump for libaom.
---
srcpkgs/gst-plugins-bad1/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gst-plugins-bad1/template b/srcpkgs/gst-plugins-bad1/template
index df1d5053c5f..a1012b0a492 100644
--- a/srcpkgs/gst-plugins-bad1/template
+++ b/srcpkgs/gst-plugins-bad1/template
@@ -1,7 +1,7 @@
# Template file for 'gst-plugins-bad1'
pkgname=gst-plugins-bad1
version=1.16.2
-revision=9
+revision=10
wrksrc="${pkgname/1/}-${version}"
build_helper="gir"
build_style=meson
From f162947745eeaa0aac8700ea2d56be52f9fee2b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 20:25:32 -0300
Subject: [PATCH 3/3] ffmpeg: enable aom build option.
Reorganize the lines to get closer to the 80 column limit. Put all
dependencies related to build options after the normal dependencies.
---
srcpkgs/ffmpeg/template | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index ad986a72790..ee7bd6ee48a 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,7 +2,7 @@
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
pkgname=ffmpeg
version=4.2.3
-revision=5
+revision=6
short_desc="Decoding, encoding and streaming software"
maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="GPL-3.0-or-later"
@@ -16,16 +16,17 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
libXext-devel libXvMC-devel libxcb-devel faad2-devel lame-devel libtheora-devel
gnutls-devel libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
- speex-devel celt-devel harfbuzz-devel libass-devel opus-devel $(vopt_if pulseaudio pulseaudio-devel)
- ocl-icd-devel $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel)
- $(vopt_if vdpau libvdpau-devel) $(vopt_if v4l2 v4l-utils-devel) libbs2b-devel
- libvidstab-devel $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if v4l2 v4l-utils-devel) $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
$(vopt_if vpx libvpx-devel) $(vopt_if aom libaom-devel)
$(vopt_if nvenc nv-codec-headers) $(vopt_if sndio sndio-devel)
$(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)"
-build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio dav1d zimg"
-build_options_default="x265 v4l2 vpx sndio pulseaudio dav1d"
+build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) build_options_default+=" vaapi vdpau nvenc";;
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (7 preceding siblings ...)
2020-07-20 14:15 ` [PR PATCH] [Updated] " ericonr
@ 2020-07-20 14:16 ` ericonr
2020-07-20 14:36 ` ericonr
` (13 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-20 14:16 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 275 bytes --]
New comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#issuecomment-661067371
Comment:
Hooray, passsed all tests for libaom. `gst-plugins-bad1` ones didn't: https://gist.github.com/ericonr/3ccaac3790de3fecd1a652b7498d96d3
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (8 preceding siblings ...)
2020-07-20 14:16 ` ericonr
@ 2020-07-20 14:36 ` ericonr
2020-07-21 23:26 ` [PR REVIEW] " ericonr
` (12 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-20 14:36 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 223 bytes --]
New comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#issuecomment-661079514
Comment:
The same errors happened without the libaom upgrade, so it shouldn't be a blocker.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR REVIEW] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (9 preceding siblings ...)
2020-07-20 14:36 ` ericonr
@ 2020-07-21 23:26 ` ericonr
2020-07-22 0:48 ` q66
` (11 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-21 23:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 186 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#discussion_r458445806
Comment:
@pullmoll should I include `arm5` here?
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR REVIEW] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (10 preceding siblings ...)
2020-07-21 23:26 ` [PR REVIEW] " ericonr
@ 2020-07-22 0:48 ` q66
2020-07-22 0:49 ` ericonr
` (10 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: q66 @ 2020-07-22 0:48 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 313 bytes --]
New review comment by q66 on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#discussion_r458469695
Comment:
you could just use `arm*` but i'd first check if it's necessary at all, it could be doing runtime checking (in which case we'd only disable it for armv5 and 6, and not 7)
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR REVIEW] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (11 preceding siblings ...)
2020-07-22 0:48 ` q66
@ 2020-07-22 0:49 ` ericonr
2020-07-22 0:56 ` ericonr
` (9 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-22 0:49 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 209 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#discussion_r458470100
Comment:
It broke the build for `armv7l` iirc, but I can test it again.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR REVIEW] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (12 preceding siblings ...)
2020-07-22 0:49 ` ericonr
@ 2020-07-22 0:56 ` ericonr
2020-07-22 0:56 ` ericonr
` (8 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-22 0:56 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2801 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#discussion_r458471944
Comment:
Lots of similar errors:
```
[ 18%] Building C object CMakeFiles/aom_scale.dir/aom_scale/generic/yv12config.c.o
In file included from ../av1/common/arm/av1_txfm_neon.c:12:
../av1/common/arm/av1_txfm_neon.c: In function 'av1_round_shift_array_neon':
/usr/lib/gcc/armv7l-linux-musleabihf/9.3.0/include/arm_neon.h:6733:1: error: inlining failed in call to always_inline 'vdupq_n_s32': target specific option mismatch
6733 | vdupq_n_s32 (int32_t __a)
| ^~~~~~~~~~~
../av1/common/arm/av1_txfm_neon.c:23:37: note: called from here
23 | const int32x4_t dup_bits_n_32x4 = vdupq_n_s32((int32_t)(-bit));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../av1/common/arm/av1_txfm_neon.c:12:
/usr/lib/gcc/armv7l-linux-musleabihf/9.3.0/include/arm_neon.h:10947:1: error: inlining failed in call to always_inline 'vst1q_s32': target specific option mismatch
10947 | vst1q_s32 (int32_t * __a, int32x4_t __b)
| ^~~~~~~~~
../av1/common/arm/av1_txfm_neon.c:27:5: note: called from here
27 | vst1q_s32(arr, tmp_q_s32);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../av1/common/arm/av1_txfm_neon.c:12:
/usr/lib/gcc/armv7l-linux-musleabihf/9.3.0/include/arm_neon.h:4035:1: error: inlining failed in call to always_inline 'vrshlq_s32': target specific option mismatch
4035 | vrshlq_s32 (int32x4_t __a, int32x4_t __b)
| ^~~~~~~~~~
../av1/common/arm/av1_txfm_neon.c:26:17: note: called from here
26 | tmp_q_s32 = vrshlq_s32(tmp_q_s32, dup_bits_n_32x4);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../av1/common/arm/av1_txfm_neon.c:12:
/usr/lib/gcc/armv7l-linux-musleabihf/9.3.0/include/arm_neon.h:10369:1: error: inlining failed in call to always_inline 'vld1q_s32': target specific option mismatch
10369 | vld1q_s32 (const int32_t * __a)
| ^~~~~~~~~
../av1/common/arm/av1_txfm_neon.c:25:27: note: called from here
25 | int32x4_t tmp_q_s32 = vld1q_s32(arr);
| ^~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/aom_av1_common_neon_intrinsics.dir/build.make:83: CMakeFiles/aom_av1_common_neon_intrinsics.dir/av1/common/arm/av1_txfm_neon.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:393: CMakeFiles/aom_av1_common_neon_intrinsics.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 18%] Built target aom_decoder_app_util
```
Their armv7l toolchain has this, which implies lack of runtime detection.
```
set(AOM_NEON_INTRIN_FLAG "-mfpu=neon")
# No runtime cpu detect for armv7-linux-gcc.
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE STRING "")
```
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR REVIEW] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (13 preceding siblings ...)
2020-07-22 0:56 ` ericonr
@ 2020-07-22 0:56 ` ericonr
2020-07-22 0:58 ` [PR PATCH] [Updated] " ericonr
` (7 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-22 0:56 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2805 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#discussion_r458471944
Comment:
Lots of similar errors:
```
[ 18%] Building C object CMakeFiles/aom_scale.dir/aom_scale/generic/yv12config.c.o
In file included from ../av1/common/arm/av1_txfm_neon.c:12:
../av1/common/arm/av1_txfm_neon.c: In function 'av1_round_shift_array_neon':
/usr/lib/gcc/armv7l-linux-musleabihf/9.3.0/include/arm_neon.h:6733:1: error: inlining failed in call to always_inline 'vdupq_n_s32': target specific option mismatch
6733 | vdupq_n_s32 (int32_t __a)
| ^~~~~~~~~~~
../av1/common/arm/av1_txfm_neon.c:23:37: note: called from here
23 | const int32x4_t dup_bits_n_32x4 = vdupq_n_s32((int32_t)(-bit));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../av1/common/arm/av1_txfm_neon.c:12:
/usr/lib/gcc/armv7l-linux-musleabihf/9.3.0/include/arm_neon.h:10947:1: error: inlining failed in call to always_inline 'vst1q_s32': target specific option mismatch
10947 | vst1q_s32 (int32_t * __a, int32x4_t __b)
| ^~~~~~~~~
../av1/common/arm/av1_txfm_neon.c:27:5: note: called from here
27 | vst1q_s32(arr, tmp_q_s32);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../av1/common/arm/av1_txfm_neon.c:12:
/usr/lib/gcc/armv7l-linux-musleabihf/9.3.0/include/arm_neon.h:4035:1: error: inlining failed in call to always_inline 'vrshlq_s32': target specific option mismatch
4035 | vrshlq_s32 (int32x4_t __a, int32x4_t __b)
| ^~~~~~~~~~
../av1/common/arm/av1_txfm_neon.c:26:17: note: called from here
26 | tmp_q_s32 = vrshlq_s32(tmp_q_s32, dup_bits_n_32x4);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../av1/common/arm/av1_txfm_neon.c:12:
/usr/lib/gcc/armv7l-linux-musleabihf/9.3.0/include/arm_neon.h:10369:1: error: inlining failed in call to always_inline 'vld1q_s32': target specific option mismatch
10369 | vld1q_s32 (const int32_t * __a)
| ^~~~~~~~~
../av1/common/arm/av1_txfm_neon.c:25:27: note: called from here
25 | int32x4_t tmp_q_s32 = vld1q_s32(arr);
| ^~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/aom_av1_common_neon_intrinsics.dir/build.make:83: CMakeFiles/aom_av1_common_neon_intrinsics.dir/av1/common/arm/av1_txfm_neon.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:393: CMakeFiles/aom_av1_common_neon_intrinsics.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 18%] Built target aom_decoder_app_util
```
Their armv7l toolchain has this, which specifies a lack of runtime detection:
```
set(AOM_NEON_INTRIN_FLAG "-mfpu=neon")
# No runtime cpu detect for armv7-linux-gcc.
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE STRING "")
```
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR PATCH] [Updated] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (14 preceding siblings ...)
2020-07-22 0:56 ` ericonr
@ 2020-07-22 0:58 ` ericonr
2020-07-22 0:59 ` [PR REVIEW] " q66
` (6 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-22 0:58 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2391 bytes --]
There is an updated pull request by ericonr against master on the void-packages repository
https://github.com/ericonr/void-packages ffmpeg
https://github.com/void-linux/void-packages/pull/23542
Update libaom and enable it for ffmpeg
Fixes #23538
I currently get segfaults when trying to use this with ffmpeg.
```
$ ffmpeg -i example.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental av1_test.mkv
```
gets me this backtrace:
```
#0 0x00007f98d9dde6c0 in lowbd_inv_txfm2d_add_no_identity_avx2 () from /lib/libaom.so.2
#1 0x00007f98d9b6b449 in av1_inverse_transform_block () from /lib/libaom.so.2
#2 0x00007f98d9d04eb1 in search_tx_type.constprop () from /lib/libaom.so.2
#3 0x00007f98d9d08cf6 in block_rd_txfm () from /lib/libaom.so.2
#4 0x00007f98d9c53f1f in av1_foreach_transformed_block_in_plane () from /lib/libaom.so.2
#5 0x00007f98d9d0de79 in av1_txfm_rd_in_plane () from /lib/libaom.so.2
#6 0x00007f98d9d0e006 in av1_uniform_txfm_yrd () from /lib/libaom.so.2
#7 0x00007f98d9d0e5ee in choose_tx_size_type_from_rd () from /lib/libaom.so.2
#8 0x00007f98d9d0e996 in av1_pick_uniform_tx_size_type_yrd () from /lib/libaom.so.2
#9 0x00007f98d9d1aaaa in av1_rd_pick_intra_sby_mode () from /lib/libaom.so.2
#10 0x00007f98d9ce402a in av1_rd_pick_intra_mode_sb () from /lib/libaom.so.2
#11 0x00007f98d9c361f1 in pick_sb_modes () from /lib/libaom.so.2
#12 0x00007f98d9c3b64e in rd_use_partition () from /lib/libaom.so.2
#13 0x00007f98d9c3af86 in rd_use_partition () from /lib/libaom.so.2
#14 0x00007f98d9c3b174 in rd_use_partition () from /lib/libaom.so.2
#15 0x00007f98d9c49eba in encode_rd_sb () from /lib/libaom.so.2
#16 0x00007f98d9c4e4a9 in av1_encode_sb_row () from /lib/libaom.so.2
#17 0x00007f98d9c7e002 in enc_row_mt_worker_hook () from /lib/libaom.so.2
#18 0x00007f98d9b2986b in thread_loop () from /lib/libaom.so.2
#19 0x00007f98dd1fa305 in start (p=0x7f98aec3a7a8) at src/thread/pthread_create.c:192
#20 0x00007f98dd207a6b in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
quit
```
I'm not sure we can enable it when it's like this. I can try using FFMPEG 4.3 to see if it works better then. I am on musl, so that might be an issue.
I also don't know how to test for gstreamer AV1 support.
A patch file from https://github.com/void-linux/void-packages/pull/23542.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg-23542.patch --]
[-- Type: text/x-diff, Size: 6875 bytes --]
From 49b3f5b55c86c8d42c4bb0b0be890e903d692fb9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:36:53 -0300
Subject: [PATCH 1/3] libaom: update to 2.0.0.
---
common/shlibs | 2 +-
srcpkgs/libaom/patches/version.patch | 14 ------------
srcpkgs/libaom/template | 34 ++++++++++++++++++++++++----
srcpkgs/libaom/update | 2 +-
4 files changed, 31 insertions(+), 21 deletions(-)
delete mode 100644 srcpkgs/libaom/patches/version.patch
diff --git a/common/shlibs b/common/shlibs
index e0994cf183d..57c78c6078b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3501,7 +3501,7 @@ libticalcs2.so.12 libticalcs2-1.1.9_1
libhtmlcxx.so.3 htmlcxx-0.86_1
libcss_parser_pp.so.0 htmlcxx-0.86_1
libcss_parser.so.0 htmlcxx-0.86_1
-libaom.so.0 libaom-1.0.0_1
+libaom.so.2 libaom-2.0.0_1
libre.so re-0.5.8_1
libspandsp.so.2 spandsp-0.0.6_1
libspa-alsa.so libspa-alsa-0.3.6_1
diff --git a/srcpkgs/libaom/patches/version.patch b/srcpkgs/libaom/patches/version.patch
deleted file mode 100644
index 97372192897..00000000000
--- a/srcpkgs/libaom/patches/version.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-add entry for 1.0.0 release to fix version in pkg-config file
-
---- CHANGELOG
-+++ CHANGELOG
-@@ -3,6 +3,9 @@
- The AV1 encoder's default keyframe interval changed to 128 from 9999.
- Support for armv6 was removed.
-
-+2019-03-16 v1.0.0 "AOMedia Codec 1"
-+ Current release
-+
- 2016-04-07 v0.1.0 "AOMedia Codec 1"
- This release is the first Alliance for Open Media codec.
- 2015-11-09 v1.5.0 "Javan Whistling Duck"
diff --git a/srcpkgs/libaom/template b/srcpkgs/libaom/template
index 7cb2fcf07db..c02832e30ec 100644
--- a/srcpkgs/libaom/template
+++ b/srcpkgs/libaom/template
@@ -1,18 +1,41 @@
# Template file for 'libaom'
pkgname=libaom
-version=1.0.0.1
-revision=2
+version=2.0.0
+revision=1
create_wrksrc=yes
build_style=cmake
-configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF"
+configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON"
hostmakedepends="yasm doxygen perl python"
short_desc="AV1 Codec library implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
homepage="https://aomedia.org/"
changelog="https://aomedia.googlesource.com/aom/+/master/CHANGELOG"
-distfiles="https://aomedia.googlesource.com/aom/+archive/v${version%.*}-errata${version##*.}.tar.gz"
-checksum=@0f1e812ca6d3b3809bf3f7a12a85b549c96d20bfa72fa606a682541bbc3eaeab
+distfiles="https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz"
+checksum=@4e8a74ed7e05d5534ab0b72735fa670ce1a1e757bc4a777f07fdabf8629fced1
+
+# aom segfaults with default musl stack size
+LDFLAGS="-Wl,-z,stack-size=2097152"
+
+case "$XBPS_TARGET_MACHINE" in
+ # no runtime detection
+ arm*) configure_args+=" -DENABLE_NEON=0" ;;
+esac
+
+if [ -z "$XBPS_CHECK_PKGS" ]; then
+ configure_args+=" -DENABLE_TESTS=OFF"
+fi
+
+pre_check() {
+ mkdir -p /host/libaom-test-data
+ export LIBAOM_TEST_DATA_PATH=/host/libaom-test-data
+}
+
+do_check() {
+ cd build
+ make runtests ${makejobs}
+ ../test/examples.sh --bin-path examples
+}
post_install() {
vlicense LICENSE
@@ -25,6 +48,7 @@ libaom-devel_package() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.so"
+ vmove "usr/lib/*.a"
}
}
diff --git a/srcpkgs/libaom/update b/srcpkgs/libaom/update
index fd5a23fd8eb..866cfaf6c8c 100644
--- a/srcpkgs/libaom/update
+++ b/srcpkgs/libaom/update
@@ -1,3 +1,3 @@
site=https://aomedia.googlesource.com/aom/
pkgname=
-pattern="aom/\+/v\K[\d\.]+"
+pattern="v\K[\d\.][\d.]+"
From 76673fad94cc27121b95ff1f93df537f55fdb7d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:38:21 -0300
Subject: [PATCH 2/3] gst-plugins-bad1: revbump for libaom.
---
srcpkgs/gst-plugins-bad1/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gst-plugins-bad1/template b/srcpkgs/gst-plugins-bad1/template
index df1d5053c5f..a1012b0a492 100644
--- a/srcpkgs/gst-plugins-bad1/template
+++ b/srcpkgs/gst-plugins-bad1/template
@@ -1,7 +1,7 @@
# Template file for 'gst-plugins-bad1'
pkgname=gst-plugins-bad1
version=1.16.2
-revision=9
+revision=10
wrksrc="${pkgname/1/}-${version}"
build_helper="gir"
build_style=meson
From ef57b88385cc2b7f7490f1908fd56c11db64a408 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 20:25:32 -0300
Subject: [PATCH 3/3] ffmpeg: enable aom build option.
Reorganize the lines to get closer to the 80 column limit. Put all
dependencies related to build options after the normal dependencies.
---
srcpkgs/ffmpeg/template | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index ad986a72790..ee7bd6ee48a 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,7 +2,7 @@
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
pkgname=ffmpeg
version=4.2.3
-revision=5
+revision=6
short_desc="Decoding, encoding and streaming software"
maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="GPL-3.0-or-later"
@@ -16,16 +16,17 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
libXext-devel libXvMC-devel libxcb-devel faad2-devel lame-devel libtheora-devel
gnutls-devel libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
- speex-devel celt-devel harfbuzz-devel libass-devel opus-devel $(vopt_if pulseaudio pulseaudio-devel)
- ocl-icd-devel $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel)
- $(vopt_if vdpau libvdpau-devel) $(vopt_if v4l2 v4l-utils-devel) libbs2b-devel
- libvidstab-devel $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if v4l2 v4l-utils-devel) $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
$(vopt_if vpx libvpx-devel) $(vopt_if aom libaom-devel)
$(vopt_if nvenc nv-codec-headers) $(vopt_if sndio sndio-devel)
$(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)"
-build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio dav1d zimg"
-build_options_default="x265 v4l2 vpx sndio pulseaudio dav1d"
+build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) build_options_default+=" vaapi vdpau nvenc";;
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR REVIEW] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (15 preceding siblings ...)
2020-07-22 0:58 ` [PR PATCH] [Updated] " ericonr
@ 2020-07-22 0:59 ` q66
2020-07-22 1:06 ` ericonr
` (5 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: q66 @ 2020-07-22 0:59 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 164 bytes --]
New review comment by q66 on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#discussion_r458472720
Comment:
ok then, `arm*` it is
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR REVIEW] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (16 preceding siblings ...)
2020-07-22 0:59 ` [PR REVIEW] " q66
@ 2020-07-22 1:06 ` ericonr
2020-07-22 1:09 ` ericonr
` (4 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-22 1:06 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 197 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#discussion_r458474646
Comment:
Do I need anything for ppc? Or is it fine already?
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR REVIEW] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (17 preceding siblings ...)
2020-07-22 1:06 ` ericonr
@ 2020-07-22 1:09 ` ericonr
2020-07-22 1:59 ` q66
` (3 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-22 1:09 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 289 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#discussion_r458475436
Comment:
It adds the same thing for ppc:
```
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE STRING "")
```
So I guess we might need to disable simd (?).
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR REVIEW] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (18 preceding siblings ...)
2020-07-22 1:09 ` ericonr
@ 2020-07-22 1:59 ` q66
2020-07-22 2:07 ` [PR PATCH] [Updated] " ericonr
` (2 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: q66 @ 2020-07-22 1:59 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 247 bytes --]
New review comment by q66 on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#discussion_r458488906
Comment:
you can add `-DENABLE_VSX=0` for all `ppc*` except for `ppc64le*`, though chances are it's not necessary
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR PATCH] [Updated] Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (19 preceding siblings ...)
2020-07-22 1:59 ` q66
@ 2020-07-22 2:07 ` ericonr
2020-07-24 19:04 ` [PR PATCH] [Closed]: " jnbr
2020-07-24 19:04 ` jnbr
22 siblings, 0 replies; 24+ messages in thread
From: ericonr @ 2020-07-22 2:07 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2391 bytes --]
There is an updated pull request by ericonr against master on the void-packages repository
https://github.com/ericonr/void-packages ffmpeg
https://github.com/void-linux/void-packages/pull/23542
Update libaom and enable it for ffmpeg
Fixes #23538
I currently get segfaults when trying to use this with ffmpeg.
```
$ ffmpeg -i example.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental av1_test.mkv
```
gets me this backtrace:
```
#0 0x00007f98d9dde6c0 in lowbd_inv_txfm2d_add_no_identity_avx2 () from /lib/libaom.so.2
#1 0x00007f98d9b6b449 in av1_inverse_transform_block () from /lib/libaom.so.2
#2 0x00007f98d9d04eb1 in search_tx_type.constprop () from /lib/libaom.so.2
#3 0x00007f98d9d08cf6 in block_rd_txfm () from /lib/libaom.so.2
#4 0x00007f98d9c53f1f in av1_foreach_transformed_block_in_plane () from /lib/libaom.so.2
#5 0x00007f98d9d0de79 in av1_txfm_rd_in_plane () from /lib/libaom.so.2
#6 0x00007f98d9d0e006 in av1_uniform_txfm_yrd () from /lib/libaom.so.2
#7 0x00007f98d9d0e5ee in choose_tx_size_type_from_rd () from /lib/libaom.so.2
#8 0x00007f98d9d0e996 in av1_pick_uniform_tx_size_type_yrd () from /lib/libaom.so.2
#9 0x00007f98d9d1aaaa in av1_rd_pick_intra_sby_mode () from /lib/libaom.so.2
#10 0x00007f98d9ce402a in av1_rd_pick_intra_mode_sb () from /lib/libaom.so.2
#11 0x00007f98d9c361f1 in pick_sb_modes () from /lib/libaom.so.2
#12 0x00007f98d9c3b64e in rd_use_partition () from /lib/libaom.so.2
#13 0x00007f98d9c3af86 in rd_use_partition () from /lib/libaom.so.2
#14 0x00007f98d9c3b174 in rd_use_partition () from /lib/libaom.so.2
#15 0x00007f98d9c49eba in encode_rd_sb () from /lib/libaom.so.2
#16 0x00007f98d9c4e4a9 in av1_encode_sb_row () from /lib/libaom.so.2
#17 0x00007f98d9c7e002 in enc_row_mt_worker_hook () from /lib/libaom.so.2
#18 0x00007f98d9b2986b in thread_loop () from /lib/libaom.so.2
#19 0x00007f98dd1fa305 in start (p=0x7f98aec3a7a8) at src/thread/pthread_create.c:192
#20 0x00007f98dd207a6b in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
quit
```
I'm not sure we can enable it when it's like this. I can try using FFMPEG 4.3 to see if it works better then. I am on musl, so that might be an issue.
I also don't know how to test for gstreamer AV1 support.
A patch file from https://github.com/void-linux/void-packages/pull/23542.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg-23542.patch --]
[-- Type: text/x-diff, Size: 6875 bytes --]
From 49b3f5b55c86c8d42c4bb0b0be890e903d692fb9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:36:53 -0300
Subject: [PATCH 1/3] libaom: update to 2.0.0.
---
common/shlibs | 2 +-
srcpkgs/libaom/patches/version.patch | 14 ------------
srcpkgs/libaom/template | 34 ++++++++++++++++++++++++----
srcpkgs/libaom/update | 2 +-
4 files changed, 31 insertions(+), 21 deletions(-)
delete mode 100644 srcpkgs/libaom/patches/version.patch
diff --git a/common/shlibs b/common/shlibs
index e0994cf183d..57c78c6078b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3501,7 +3501,7 @@ libticalcs2.so.12 libticalcs2-1.1.9_1
libhtmlcxx.so.3 htmlcxx-0.86_1
libcss_parser_pp.so.0 htmlcxx-0.86_1
libcss_parser.so.0 htmlcxx-0.86_1
-libaom.so.0 libaom-1.0.0_1
+libaom.so.2 libaom-2.0.0_1
libre.so re-0.5.8_1
libspandsp.so.2 spandsp-0.0.6_1
libspa-alsa.so libspa-alsa-0.3.6_1
diff --git a/srcpkgs/libaom/patches/version.patch b/srcpkgs/libaom/patches/version.patch
deleted file mode 100644
index 97372192897..00000000000
--- a/srcpkgs/libaom/patches/version.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-add entry for 1.0.0 release to fix version in pkg-config file
-
---- CHANGELOG
-+++ CHANGELOG
-@@ -3,6 +3,9 @@
- The AV1 encoder's default keyframe interval changed to 128 from 9999.
- Support for armv6 was removed.
-
-+2019-03-16 v1.0.0 "AOMedia Codec 1"
-+ Current release
-+
- 2016-04-07 v0.1.0 "AOMedia Codec 1"
- This release is the first Alliance for Open Media codec.
- 2015-11-09 v1.5.0 "Javan Whistling Duck"
diff --git a/srcpkgs/libaom/template b/srcpkgs/libaom/template
index 7cb2fcf07db..c02832e30ec 100644
--- a/srcpkgs/libaom/template
+++ b/srcpkgs/libaom/template
@@ -1,18 +1,41 @@
# Template file for 'libaom'
pkgname=libaom
-version=1.0.0.1
-revision=2
+version=2.0.0
+revision=1
create_wrksrc=yes
build_style=cmake
-configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF"
+configure_args="-DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON"
hostmakedepends="yasm doxygen perl python"
short_desc="AV1 Codec library implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
homepage="https://aomedia.org/"
changelog="https://aomedia.googlesource.com/aom/+/master/CHANGELOG"
-distfiles="https://aomedia.googlesource.com/aom/+archive/v${version%.*}-errata${version##*.}.tar.gz"
-checksum=@0f1e812ca6d3b3809bf3f7a12a85b549c96d20bfa72fa606a682541bbc3eaeab
+distfiles="https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz"
+checksum=@4e8a74ed7e05d5534ab0b72735fa670ce1a1e757bc4a777f07fdabf8629fced1
+
+# aom segfaults with default musl stack size
+LDFLAGS="-Wl,-z,stack-size=2097152"
+
+case "$XBPS_TARGET_MACHINE" in
+ # no runtime detection
+ arm*) configure_args+=" -DENABLE_NEON=0" ;;
+esac
+
+if [ -z "$XBPS_CHECK_PKGS" ]; then
+ configure_args+=" -DENABLE_TESTS=OFF"
+fi
+
+pre_check() {
+ mkdir -p /host/libaom-test-data
+ export LIBAOM_TEST_DATA_PATH=/host/libaom-test-data
+}
+
+do_check() {
+ cd build
+ make runtests ${makejobs}
+ ../test/examples.sh --bin-path examples
+}
post_install() {
vlicense LICENSE
@@ -25,6 +48,7 @@ libaom-devel_package() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.so"
+ vmove "usr/lib/*.a"
}
}
diff --git a/srcpkgs/libaom/update b/srcpkgs/libaom/update
index fd5a23fd8eb..866cfaf6c8c 100644
--- a/srcpkgs/libaom/update
+++ b/srcpkgs/libaom/update
@@ -1,3 +1,3 @@
site=https://aomedia.googlesource.com/aom/
pkgname=
-pattern="aom/\+/v\K[\d\.]+"
+pattern="v\K[\d\.][\d.]+"
From 76673fad94cc27121b95ff1f93df537f55fdb7d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 22:38:21 -0300
Subject: [PATCH 2/3] gst-plugins-bad1: revbump for libaom.
---
srcpkgs/gst-plugins-bad1/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gst-plugins-bad1/template b/srcpkgs/gst-plugins-bad1/template
index df1d5053c5f..a1012b0a492 100644
--- a/srcpkgs/gst-plugins-bad1/template
+++ b/srcpkgs/gst-plugins-bad1/template
@@ -1,7 +1,7 @@
# Template file for 'gst-plugins-bad1'
pkgname=gst-plugins-bad1
version=1.16.2
-revision=9
+revision=10
wrksrc="${pkgname/1/}-${version}"
build_helper="gir"
build_style=meson
From ef57b88385cc2b7f7490f1908fd56c11db64a408 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
Date: Sun, 12 Jul 2020 20:25:32 -0300
Subject: [PATCH 3/3] ffmpeg: enable aom build option.
Reorganize the lines to get closer to the 80 column limit. Put all
dependencies related to build options after the normal dependencies.
---
srcpkgs/ffmpeg/template | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index ad986a72790..ee7bd6ee48a 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,7 +2,7 @@
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
pkgname=ffmpeg
version=4.2.3
-revision=5
+revision=6
short_desc="Decoding, encoding and streaming software"
maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="GPL-3.0-or-later"
@@ -16,16 +16,17 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
libXext-devel libXvMC-devel libxcb-devel faad2-devel lame-devel libtheora-devel
gnutls-devel libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
- speex-devel celt-devel harfbuzz-devel libass-devel opus-devel $(vopt_if pulseaudio pulseaudio-devel)
- ocl-icd-devel $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel)
- $(vopt_if vdpau libvdpau-devel) $(vopt_if v4l2 v4l-utils-devel) libbs2b-devel
- libvidstab-devel $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if v4l2 v4l-utils-devel) $(vopt_if faac faac-devel) $(vopt_if fdk_aac fdk-aac-devel)
$(vopt_if vpx libvpx-devel) $(vopt_if aom libaom-devel)
$(vopt_if nvenc nv-codec-headers) $(vopt_if sndio sndio-devel)
$(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)"
-build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio dav1d zimg"
-build_options_default="x265 v4l2 vpx sndio pulseaudio dav1d"
+build_options="x265 v4l2 vaapi vdpau vpx faac fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) build_options_default+=" vaapi vdpau nvenc";;
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (21 preceding siblings ...)
2020-07-24 19:04 ` [PR PATCH] [Closed]: " jnbr
@ 2020-07-24 19:04 ` jnbr
22 siblings, 0 replies; 24+ messages in thread
From: jnbr @ 2020-07-24 19:04 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 144 bytes --]
New comment by jnbr on void-packages repository
https://github.com/void-linux/void-packages/pull/23542#issuecomment-663687864
Comment:
merged
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PR PATCH] [Closed]: Update libaom and enable it for ffmpeg
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
` (20 preceding siblings ...)
2020-07-22 2:07 ` [PR PATCH] [Updated] " ericonr
@ 2020-07-24 19:04 ` jnbr
2020-07-24 19:04 ` jnbr
22 siblings, 0 replies; 24+ messages in thread
From: jnbr @ 2020-07-24 19:04 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2236 bytes --]
There's a closed pull request on the void-packages repository
Update libaom and enable it for ffmpeg
https://github.com/void-linux/void-packages/pull/23542
Description:
Fixes #23538
I currently get segfaults when trying to use this with ffmpeg.
```
$ ffmpeg -i example.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental av1_test.mkv
```
gets me this backtrace:
```
#0 0x00007f98d9dde6c0 in lowbd_inv_txfm2d_add_no_identity_avx2 () from /lib/libaom.so.2
#1 0x00007f98d9b6b449 in av1_inverse_transform_block () from /lib/libaom.so.2
#2 0x00007f98d9d04eb1 in search_tx_type.constprop () from /lib/libaom.so.2
#3 0x00007f98d9d08cf6 in block_rd_txfm () from /lib/libaom.so.2
#4 0x00007f98d9c53f1f in av1_foreach_transformed_block_in_plane () from /lib/libaom.so.2
#5 0x00007f98d9d0de79 in av1_txfm_rd_in_plane () from /lib/libaom.so.2
#6 0x00007f98d9d0e006 in av1_uniform_txfm_yrd () from /lib/libaom.so.2
#7 0x00007f98d9d0e5ee in choose_tx_size_type_from_rd () from /lib/libaom.so.2
#8 0x00007f98d9d0e996 in av1_pick_uniform_tx_size_type_yrd () from /lib/libaom.so.2
#9 0x00007f98d9d1aaaa in av1_rd_pick_intra_sby_mode () from /lib/libaom.so.2
#10 0x00007f98d9ce402a in av1_rd_pick_intra_mode_sb () from /lib/libaom.so.2
#11 0x00007f98d9c361f1 in pick_sb_modes () from /lib/libaom.so.2
#12 0x00007f98d9c3b64e in rd_use_partition () from /lib/libaom.so.2
#13 0x00007f98d9c3af86 in rd_use_partition () from /lib/libaom.so.2
#14 0x00007f98d9c3b174 in rd_use_partition () from /lib/libaom.so.2
#15 0x00007f98d9c49eba in encode_rd_sb () from /lib/libaom.so.2
#16 0x00007f98d9c4e4a9 in av1_encode_sb_row () from /lib/libaom.so.2
#17 0x00007f98d9c7e002 in enc_row_mt_worker_hook () from /lib/libaom.so.2
#18 0x00007f98d9b2986b in thread_loop () from /lib/libaom.so.2
#19 0x00007f98dd1fa305 in start (p=0x7f98aec3a7a8) at src/thread/pthread_create.c:192
#20 0x00007f98dd207a6b in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
quit
```
I'm not sure we can enable it when it's like this. I can try using FFMPEG 4.3 to see if it works better then. I am on musl, so that might be an issue.
I also don't know how to test for gstreamer AV1 support.
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2020-07-24 19:04 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-13 2:17 [PR PATCH] [RFC][NOMERGE] Update libaom and enable it for ffmpeg ericonr
2020-07-13 5:42 ` [PR PATCH] [Updated] " ahesford
2020-07-13 5:48 ` ericonr
2020-07-13 13:32 ` [PR PATCH] [Updated] " ericonr
2020-07-13 17:17 ` richfelker
2020-07-13 17:36 ` ericonr
2020-07-13 18:26 ` [PR PATCH] [Updated] " ericonr
2020-07-13 18:46 ` richfelker
2020-07-20 14:15 ` [PR PATCH] [Updated] " ericonr
2020-07-20 14:16 ` ericonr
2020-07-20 14:36 ` ericonr
2020-07-21 23:26 ` [PR REVIEW] " ericonr
2020-07-22 0:48 ` q66
2020-07-22 0:49 ` ericonr
2020-07-22 0:56 ` ericonr
2020-07-22 0:56 ` ericonr
2020-07-22 0:58 ` [PR PATCH] [Updated] " ericonr
2020-07-22 0:59 ` [PR REVIEW] " q66
2020-07-22 1:06 ` ericonr
2020-07-22 1:09 ` ericonr
2020-07-22 1:59 ` q66
2020-07-22 2:07 ` [PR PATCH] [Updated] " ericonr
2020-07-24 19:04 ` [PR PATCH] [Closed]: " jnbr
2020-07-24 19:04 ` jnbr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).